/*
Theme Name: Cai Cuneo Child
Description: Tema child di Enfold per il sito CAI Cuneo.
Version: 1.0
Author: Luca Scaglione
Template: enfold
Text Domain: cai-enfold-child
*/

/* =========================================================
   CAI CUNEO - CSS PERSONALIZZATO
   Header / Menu / Logo + Hero + Home
========================================================= */


/* =========================================================
   1. VARIABILI BASE
========================================================= */

:root {
  --cai-blue: #003B73;
  --cai-blue-light: #0050A4;
  --cai-text-dark: #1F3448;
  --cai-white: #ffffff;
  --cai-gold: #d3a11f;
}


/* =========================================================
   2. GENERALE
========================================================= */

body {
  font-family: 'source-sans-3', Arial, sans-serif;
  font-size: 18px;
  line-height: 1.6;
}

h1,
h2,
h3,
.main_menu,
.avia-button {
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-weight: 700;
}

h1 {
  font-size: clamp(42px, 5vw, 68px);
  line-height: 1.05;
}

h2 {
  font-size: clamp(32px, 4vw, 46px);
  line-height: 1.15;
}

.main_menu {
  font-weight: 600;
  letter-spacing: 0.01em;
}


/* =========================================================
   3. BARRE OBLIQUE HERO LAYERSLIDER
========================================================= */

.cai-strip {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  text-decoration: none !important;
  color: #ffffff;
  isolation: isolate;

  clip-path: polygon(18% 0, 100% 0, 82% 100%, 0 100%);
  -webkit-clip-path: polygon(18% 0, 100% 0, 82% 100%, 0 100%);

  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.22);

  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    filter 0.35s ease;
}

.cai-strip::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;

  background-image: var(--strip-bg);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;

  clip-path: polygon(20% 0, 98.5% 0, 80.5% 100%, 1.5% 100%);
  -webkit-clip-path: polygon(20% 0, 98.5% 0, 80.5% 100%, 1.5% 100%);
}

.cai-strip__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;

  clip-path: polygon(20% 0, 98.5% 0, 80.5% 100%, 1.5% 100%);
  -webkit-clip-path: polygon(20% 0, 98.5% 0, 80.5% 100%, 1.5% 100%);

  background:
    linear-gradient(
      180deg,
      rgba(0, 31, 61, 0.05) 0%,
      rgba(0, 31, 61, 0.18) 42%,
      rgba(0, 31, 61, 0.80) 100%
    );
}

.cai-strip:hover {
  transform: translateY(-6px);
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.30);
  filter: saturate(1.06);
  text-decoration: none !important;
}

.cai-strip__inner {
  position: absolute;
  left: 32px;
  right: 26px;
  bottom: 34px;
  z-index: 3;
  display: flex;
  align-items: flex-end;
  gap: 13px;
}

.cai-strip__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  font-size: 30px;
  line-height: 1;
  color: rgba(255, 255, 255, 0.95);
  flex: 0 0 36px;
}

.cai-strip__text {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  line-height: 1.1;
}

.cai-strip__text strong {
  display: block;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 34px;
  line-height: 0.95;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #ffffff;
}

.cai-strip__text em {
  display: block;
  margin-top: 6px;
  font-style: normal;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 15px;
  line-height: 1.25;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.88);
}

/* Immagini barre hero */

.cai-strip--rifugi {
  --strip-bg: url("/wp-content/uploads/2026/08/home-hero-rifugi-v4.jpg");
}

.cai-strip--scuola {
  --strip-bg: url("/wp-content/uploads/2026/08/home-hero-iscriviti-v4.jpg");
}

.cai-strip--attivita {
  --strip-bg: url("/wp-content/uploads/2026/08/home-hero-attivita-v4.jpg");
}


/* =========================================================
   4. HEADER TRASPARENTE GLOBALE
   Valido per home e pagine interne con header transparency attivo
========================================================= */

#top #header.av_header_transparency,
#top #header.av_header_transparency #header_main,
#top #header.av_header_transparency .header_bg {
  background: rgba(0, 59, 115, 0.18) !important;
  border: none !important;
  box-shadow: none !important;
}

#top #header.av_header_transparency .header_bg {
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

#top #header.av_header_transparency #header_main {
  border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
}


/* =========================================================
   5. STRUTTURA HEADER
========================================================= */

#top #header,
#top #header #header_main {
  height: 92px !important;
  line-height: normal !important;
}

#top #header #header_main .container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 92px !important;
  line-height: normal !important;
}

#top #header .inner-container {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
}


/* =========================================================
   6. LOGO + TESTO COME BLOCCO UNICO
========================================================= */

#top #header .logo {
  position: relative !important;
  display: block !important;
  height: 92px !important;
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  overflow: visible !important;
}

#top #header .logo a {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  height: 92px !important;
  width: auto !important;
  max-width: none !important;
  text-decoration: none !important;
  overflow: visible !important;
}

#top #header .logo img {
  display: block !important;
  width: auto !important;
  max-height: 62px !important;
  flex: 0 0 auto !important;
}

#top #header .cai-logo-text {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  margin-left: 18px !important;
  margin-right: 0 !important;
  padding: 0 !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}

#top #header .cai-logo-title {
  display: block !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 24px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  color: var(--cai-blue) !important;
  text-transform: uppercase !important;
}

#top #header .cai-logo-subtitle {
  display: block !important;
  margin-top: 4px !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  color: var(--cai-text-dark) !important;
  text-transform: uppercase !important;
}

#top.home #header.av_header_transparency .cai-logo-title {
  color: #ffffff !important;
}

#top.home #header.av_header_transparency .cai-logo-subtitle {
  color: rgba(255, 255, 255, 0.82) !important;
}


/* =========================================================
   7. MENU PRINCIPALE DESKTOP
========================================================= */

#top #header .main_menu {
  position: relative !important;
  right: auto !important;
  top: auto !important;
  height: 92px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin-left: auto !important;
}

#top #header .av-main-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  height: 92px !important;
}

#top #header .av-main-nav > li {
  float: none !important;
  display: flex !important;
  align-items: center !important;
  height: 92px !important;
}

#top #header .av-main-nav > li > a {
  display: flex !important;
  align-items: center !important;
  height: 92px !important;
  line-height: 1 !important;
  padding: 0 8px !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

#top #header .av-main-nav > li > a .avia-menu-text {
  color: var(--cai-text-dark) !important;
}

#top.home #header.av_header_transparency .av-main-nav > li > a .avia-menu-text {
  color: #ffffff !important;
}

#top #header .av-main-nav > li > a:hover .avia-menu-text,
#top #header .av-main-nav > li.current-menu-item > a .avia-menu-text,
#top #header .av-main-nav > li.current_page_item > a .avia-menu-text {
  color: var(--cai-blue-light) !important;
}

#top.home #header.av_header_transparency .av-main-nav > li > a:hover .avia-menu-text,
#top.home #header.av_header_transparency .av-main-nav > li.current-menu-item > a .avia-menu-text,
#top.home #header.av_header_transparency .av-main-nav > li.current_page_item > a .avia-menu-text {
  color: #ffffff !important;
}
/* Burger nascosto su desktop */
#top #header .av-main-nav > li.av-burger-menu-main {
  display: none !important;
}


/* =========================================================
   8. PULSANTE MENU "DIVENTA SOCIO"
========================================================= */

#top #header .av-main-nav > li.menu-diventa-socio {
  display: flex !important;
  align-items: center !important;
}

#top #header .av-main-nav > li.menu-diventa-socio > a {
  height: 40px !important;
  line-height: 40px !important;
  padding: 0 16px !important;
  margin-left: 8px !important;
  border-radius: 4px !important;
  background: var(--cai-blue-light) !important;
}

#top #header .av-main-nav > li.menu-diventa-socio > a .avia-menu-text {
  color: #ffffff !important;
}

#top #header .av-main-nav > li.menu-diventa-socio > a:hover {
  background: var(--cai-blue) !important;
}

#top.home #header.av_header_transparency .av-main-nav > li.menu-diventa-socio > a {
  background: rgba(255, 255, 255, 0.16) !important;
  border: 1px solid rgba(255, 255, 255, 0.55) !important;
}

#top.home #header.av_header_transparency .av-main-nav > li.menu-diventa-socio > a:hover {
  background: #ffffff !important;
}

#top.home #header.av_header_transparency .av-main-nav > li.menu-diventa-socio > a:hover .avia-menu-text {
  color: var(--cai-blue) !important;
}


/* =========================================================
   9. HOME - RIFUGI / SCUOLA - SEZIONE GRAFICA
========================================================= */

.cai-home-stage-wrap {
  padding: 0 !important;
  margin: 0 !important;
  background: #f4f6f8;
}

.cai-home-stage-wrap .container,
.cai-home-stage-wrap .template-page,
.cai-home-stage-wrap .post-entry,
.cai-home-stage-wrap .entry-content-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#cai-home-stage {
  position: relative;
  width: 100%;
  height: 470px;
  overflow: hidden;
  background: #f4f6f8;
}


/* Foto di base */

#cai-home-stage .cai-home-stage__photo {
  position: absolute;
  top: 0;
  bottom: 0;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 1;
}

#cai-home-stage .cai-home-stage__photo--rifugi {
  left: 0;
  width: 34.5%;
  background-image: url("/wp-content/uploads/2026/05/ChatGPT-Image-5-mag-2026-20_57_47-5.png");
  background-position: center center;
}

#cai-home-stage .cai-home-stage__photo--scuola {
  right: 0;
  width: 25%;
  background-image: url("/wp-content/uploads/2026/05/ChatGPT-Image-5-mag-2026-20_57_47-6.png");
  background-position: center center;
}


/* Pannelli centrali */

#cai-home-stage .cai-home-stage__panel {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 3;
}

#cai-home-stage .cai-home-stage__panel--rifugi {
  left: 30%;
  width: 23.5%;
}

#cai-home-stage .cai-home-stage__panel--scuola {
  left: 50.7%;
  width: 30.5%;
  z-index: 4;
}


/* Watermark rifugio tecnico */

#cai-home-stage .cai-home-stage__panel--rifugi .cai-home-stage__content::after {
  content: "";
  position: absolute;
  right: 18px;
  bottom: 12px;
  width: 210px;
  height: 150px;
  background-image: url("/wp-content/uploads/2026/05/disegno-tecnico.png");
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;
  opacity: 0.10;
  pointer-events: none;
  z-index: 1;
}


/* Sagome diagonali */

#cai-home-stage .cai-home-stage__panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  clip-path: polygon(9% 0, 100% 0, 91% 100%, 0 100%);
  -webkit-clip-path: polygon(9% 0, 100% 0, 91% 100%, 0 100%);
}

#cai-home-stage .cai-home-stage__panel--rifugi::before {
  background:
    linear-gradient(
      180deg,
      #003B73 0%,
      #002E5C 100%
    );
}

#cai-home-stage .cai-home-stage__panel--scuola::before {
  background: #f7f5f1;
}


/* Dettaglio verticale nel pannello rifugi */

#cai-home-stage .cai-home-stage__panel--rifugi::after {
  content: "";
  position: absolute;
  left: 11%;
  top: 26px;
  bottom: 26px;
  width: 2px;
  background: rgba(255,255,255,0.22);
  z-index: 2;
  transform: skewX(-8deg);
}


/* Watermark cartina scuola */

#cai-home-stage .cai-home-stage__panel--scuola .cai-home-stage__content::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 18px;
  bottom: 18px;
  width: 180px;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: no-repeat;
  background-position: center right;
  background-size: contain;
  opacity: 0.11;
  pointer-events: none;
  z-index: 1;
}


/* Contenuto */

#cai-home-stage .cai-home-stage__content {
  position: relative;
  z-index: 3;
  height: 100%;
  box-sizing: border-box;
  font-family: 'source-sans-3', Arial, sans-serif;
}

#cai-home-stage .cai-home-stage__content > * {
  position: relative;
  z-index: 3;
}

#cai-home-stage .cai-home-stage__panel--rifugi .cai-home-stage__content {
  padding: 54px 44px 44px 72px;
  color: #ffffff;
}

#cai-home-stage .cai-home-stage__panel--scuola .cai-home-stage__content {
  padding: 54px 56px 44px 78px;
  color: #455566;
}


/* Titoli */

#cai-home-stage h2 {
  margin: 0;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
}

#cai-home-stage .cai-home-stage__panel--rifugi h2 {
  margin-bottom: 26px;
  font-size: clamp(34px, 2.65vw, 48px);
  line-height: 0.95;
  letter-spacing: 0.01em;
  color: #ffffff;
}

#cai-home-stage .cai-home-stage__heading-row {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 24px;
}

#cai-home-stage .cai-home-stage__panel--scuola h2 {
  font-size: clamp(31px, 2.25vw, 42px);
  line-height: 0.98;
  letter-spacing: 0.01em;
  color: var(--cai-blue);
}

#cai-home-stage .cai-home-stage__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-top: 2px;
  border: 3px solid var(--cai-gold);
  color: var(--cai-gold);
  transform: rotate(45deg);
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}

#cai-home-stage .cai-home-stage__badge span {
  display: block;
  transform: rotate(-45deg);
}


/* Testi */

#cai-home-stage p {
  margin: 0 0 24px 0;
  font-size: clamp(15px, 0.92vw, 18px);
  line-height: 1.42;
}

#cai-home-stage .cai-home-stage__panel--rifugi p {
  color: rgba(255,255,255,0.92);
}

#cai-home-stage .cai-home-stage__panel--scuola p {
  max-width: 390px;
  color: #4b5a67;
}


/* Lista scuola */

#cai-home-stage ul {
  margin: 0 0 26px 0;
  padding: 0;
  list-style: none;
}

#cai-home-stage li {
  position: relative;
  margin-bottom: 11px;
  padding-left: 28px;
  font-size: clamp(14px, 0.86vw, 16px);
  line-height: 1.35;
  color: #455566;
}

#cai-home-stage li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.7em;
  width: 10px;
  height: 2px;
  background: var(--cai-blue);
}


/* Bottoni */

#cai-home-stage .cai-home-stage__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 42px;
  padding: 0 20px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: all 0.25s ease;
}

#cai-home-stage .cai-home-stage__button--outline {
  color: #ffffff !important;
  border: 2px solid rgba(255,255,255,0.45);
  background: transparent;
}

#cai-home-stage .cai-home-stage__button--outline:hover {
  background: rgba(255,255,255,0.10);
  border-color: rgba(255,255,255,0.72);
}

#cai-home-stage .cai-home-stage__button--gold {
  color: #ffffff !important;
  background: var(--cai-gold);
  border: 2px solid var(--cai-gold);
}

#cai-home-stage .cai-home-stage__button--gold:hover {
  background: #b98915;
  border-color: #b98915;
}


/* =========================================================
   10. HEADER / MENU - BREAKPOINT MOBILE FINO A 1199px
========================================================= */

@media only screen and (max-width: 1199px) {
  #top #header,
  #top #header #header_main,
  #top #header #header_main .container,
  #top #header .inner-container,
  #top #header .logo,
  #top #header .logo a,
  #top #header .main_menu,
  #top #header .av-main-nav {
    height: 80px !important;
  }

  #top #header .cai-logo-text {
    margin-left: 18px !important;
    margin-right: 0 !important;
  }

  #top #header .cai-logo-title {
    font-size: 20px !important;
  }

  #top #header .cai-logo-subtitle {
    display: none !important;
  }

  #top #header .av-main-nav > li.menu-item:not(.av-burger-menu-main) {
    display: none !important;
  }

  #top #header .av-main-nav > li.av-burger-menu-main {
    display: flex !important;
    align-items: center !important;
    height: 80px !important;
  }

  #top #header .av-main-nav > li.av-burger-menu-main > a {
    display: flex !important;
    align-items: center !important;
    height: 80px !important;
    line-height: 80px !important;
  }

  #top #header .av-burger-menu-main .av-hamburger {
    display: inline-block !important;
  }
}


/* =========================================================
   10B. HOME HERO - BANDE OBLIQUE RESPONSIVE
========================================================= */

/* Regole comuni fino a 1430px */
@media only screen and (max-width: 1430px) {
  .cai-strip__inner {
    left: 24px;
    right: 20px;
    bottom: 24px;
    gap: 10px;
  }

  .cai-strip__icon {
    width: 28px;
    height: 28px;
    font-size: 22px;
    flex: 0 0 28px;
  }

  .cai-strip__text strong {
    font-size: 28px;
  }

  .cai-strip__text em {
    font-size: 13px;
  }
}

/* Adattamento per larghezze intermedie */
@media only screen and (min-width: 768px) and (max-width: 1430px) {
  .cai-strip__inner {
    left: 18px !important;
    right: 10px !important;
    bottom: 24px !important;
    gap: 8px !important;
    box-sizing: border-box !important;
  }

  .cai-strip__icon {
    width: 24px !important;
    height: 24px !important;
    flex: 0 0 24px !important;
    font-size: 20px !important;
  }

  .cai-strip__text {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .cai-strip__text strong {
    font-size: clamp(22px, 1.8vw, 26px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .cai-strip__text em {
    margin-top: 5px !important;
    font-size: clamp(11px, 0.85vw, 12px) !important;
    line-height: 1.2 !important;
    white-space: normal !important;
  }
}


/* =========================================================
   11. RESPONSIVE HOME STAGE
========================================================= */

@media only screen and (max-width: 1280px) {
  #cai-home-stage {
    height: 450px;
  }

  #cai-home-stage .cai-home-stage__panel--rifugi .cai-home-stage__content {
    padding: 48px 34px 36px 62px;
  }

  #cai-home-stage .cai-home-stage__panel--scuola .cai-home-stage__content {
    padding: 48px 42px 40px 68px;
  }

  #cai-home-stage .cai-home-stage__panel--rifugi {
    width: 24.5%;
  }

  #cai-home-stage .cai-home-stage__panel--scuola {
    left: 51.5%;
    width: 31%;
  }
}

@media only screen and (max-width: 989px) {
  #cai-home-stage {
    height: auto;
    display: flex;
    flex-wrap: wrap;
  }

  #cai-home-stage .cai-home-stage__photo,
  #cai-home-stage .cai-home-stage__panel {
    position: relative;
    top: auto;
    bottom: auto;
    left: auto !important;
    right: auto !important;
    width: 50% !important;
    height: 340px;
  }

  #cai-home-stage .cai-home-stage__panel::before {
    clip-path: none;
    -webkit-clip-path: none;
  }

  #cai-home-stage .cai-home-stage__panel--rifugi::after,
  #cai-home-stage .cai-home-stage__panel--rifugi .cai-home-stage__content::after,
  #cai-home-stage .cai-home-stage__panel--scuola .cai-home-stage__content::after {
    display: none;
  }

  #cai-home-stage .cai-home-stage__panel--rifugi .cai-home-stage__content,
  #cai-home-stage .cai-home-stage__panel--scuola .cai-home-stage__content {
    padding: 36px 32px;
  }
}


/* =========================================================
   12. MOBILE STRETTO
========================================================= */

@media only screen and (max-width: 767px) {
  #top #header .cai-logo-title {
    font-size: 18px !important;
  }

  .cai-strip {
    clip-path: polygon(12% 0, 100% 0, 88% 100%, 0 100%);
    -webkit-clip-path: polygon(12% 0, 100% 0, 88% 100%, 0 100%);
  }

  .cai-strip::before,
  .cai-strip__overlay {
    clip-path: polygon(14% 0, 98.5% 0, 86.5% 100%, 1.5% 100%);
    -webkit-clip-path: polygon(14% 0, 98.5% 0, 86.5% 100%, 1.5% 100%);
  }

  .cai-strip__inner {
    left: 20px;
    right: 16px;
    bottom: 18px;
  }

  .cai-strip__text strong {
    font-size: 22px;
  }

  .cai-strip__text em {
    font-size: 12px;
  }

  #cai-home-stage .cai-home-stage__photo,
  #cai-home-stage .cai-home-stage__panel {
    width: 100% !important;
    height: auto;
    min-height: 300px;
  }

  #cai-home-stage .cai-home-stage__panel--rifugi .cai-home-stage__content,
  #cai-home-stage .cai-home-stage__panel--scuola .cai-home-stage__content {
    padding: 32px 24px;
  }

  #cai-home-stage .cai-home-stage__panel--rifugi h2,
  #cai-home-stage .cai-home-stage__panel--scuola h2 {
    font-size: 30px;
  }

  #cai-home-stage .cai-home-stage__heading-row {
    gap: 12px;
  }

  #cai-home-stage .cai-home-stage__badge {
    width: 30px;
    height: 30px;
    font-size: 15px;
  }
}

/* =========================================================
   HOME STAGE - WATERMARK RIFUGI / SCUOLA
========================================================= */

/* Il contenitore deve poter ospitare il watermark */
#cai-home-stage .cai-home-stage__content {
  position: relative !important;
  overflow: hidden !important;
  z-index: 3 !important;
}

/* Tutti gli elementi testuali stanno sopra al watermark */
#cai-home-stage .cai-home-stage__content > * {
  position: relative !important;
  z-index: 5 !important;
}

/* Watermark disegno tecnico rifugio */
#cai-home-stage .cai-home-stage__panel--rifugi .cai-home-stage__content::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  right: 14px !important;
  bottom: 10px !important;
  width: 280px !important;
  height: 190px !important;
  background-image: url("/wp-content/uploads/2026/05/disegno-tecnico.png") !important;
  background-repeat: no-repeat !important;
  background-position: right bottom !important;
  background-size: contain !important;
  opacity: 0.28 !important;
  pointer-events: none !important;
  z-index: 4 !important;
}

/* Watermark cartina scuola */
#cai-home-stage .cai-home-stage__panel--scuola .cai-home-stage__content::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  right: 10px !important;
  top: 14px !important;
  bottom: 14px !important;
  width: 260px !important;
  background-image: url("/wp-content/uploads/2026/09/catina.webp") !important;
  background-repeat: no-repeat !important;
  background-position: center right !important;
  background-size: contain !important;
  opacity: 0.20 !important;
  pointer-events: none !important;
  z-index: 4 !important;
}

/* Non nascondere i watermark su tablet */
@media only screen and (max-width: 989px) {
  #cai-home-stage .cai-home-stage__panel--rifugi .cai-home-stage__content::after,
  #cai-home-stage .cai-home-stage__panel--scuola .cai-home-stage__content::after {
    display: block !important;
  }
}

/* =========================================================
   HOME - SEGRETERIA CAI CUNEO
========================================================= */

.cai-home-segreteria {
  padding: 0 !important;
  margin: 0 !important;
  background: #f7f5f1;
}

.cai-home-segreteria .container,
.cai-home-segreteria .template-page,
.cai-home-segreteria .post-entry,
.cai-home-segreteria .entry-content-wrapper {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.cai-office-section {
  position: relative;
  display: grid;
  grid-template-columns: 32% 68%;
  gap: 48px;
  align-items: center;
  max-width: 1320px;
  margin: 0 auto;
  padding: 76px 56px;
  overflow: hidden;
}

.cai-office-section::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.08;
  pointer-events: none;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 520px auto;
}

.cai-office-intro,
.cai-office-cards {
  position: relative;
  z-index: 2;
}

.cai-office-kicker {
  display: block;
  margin-bottom: 10px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--cai-blue-light);
}

.cai-office-intro h2 {
  margin: 0 0 22px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: clamp(38px, 4vw, 56px);
  line-height: 0.98;
  font-weight: 700;
  color: var(--cai-blue);
}

.cai-office-intro h3 {
  margin: 0 0 18px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 22px;
  line-height: 1.1;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--cai-gold);
}

.cai-office-intro p {
  max-width: 430px;
  margin: 0;
  font-size: 18px;
  line-height: 1.55;
  color: #4b5a67;
}

.cai-office-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

.cai-office-card {
  position: relative;
  min-height: 230px;
  padding: 34px 30px 30px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.cai-office-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 26px 60px rgba(0, 0, 0, 0.13);
}

.cai-office-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 30px;
  width: 42px;
  height: 4px;
  background: var(--cai-gold);
}

.cai-office-icon {
  width: 44px;
  height: 44px;
  margin-bottom: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 59, 115, 0.08);
  color: var(--cai-blue);
  font-size: 24px;
  line-height: 1;
}

.cai-office-card h4 {
  margin: 0 0 16px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 21px;
  line-height: 1.15;
  font-weight: 700;
  color: var(--cai-blue);
}

.cai-office-card p {
  margin: 0 0 10px;
  font-size: 17px;
  line-height: 1.45;
  color: #455566;
}

.cai-office-card .cai-office-main {
  font-weight: 700;
  color: var(--cai-text-dark);
}

.cai-office-card a {
  display: inline-block;
  margin-top: 4px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: var(--cai-blue-light) !important;
  text-decoration: none !important;
}

.cai-office-card a:hover {
  color: var(--cai-blue) !important;
}

/* Responsive */
@media only screen and (max-width: 989px) {
  .cai-office-section {
    grid-template-columns: 1fr;
    gap: 34px;
    padding: 58px 34px;
  }

  .cai-office-cards {
    grid-template-columns: 1fr;
  }

  .cai-office-card {
    min-height: auto;
  }
}

@media only screen and (max-width: 767px) {
  .cai-office-section {
    padding: 44px 24px;
  }

  .cai-office-intro h2 {
    font-size: 38px;
  }

  .cai-office-intro p {
    font-size: 16px;
  }
}

/* =========================================================
   HOME - PROSSIMI CORSI E ATTIVITÀ
========================================================= */

.cai-home-events {
  position: relative;
  overflow: hidden;
  padding: 0 !important;
  margin: 0 !important;
  background: var(--cai-blue);
}

.cai-home-events::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.09;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.cai-home-events .container,
.cai-home-events .template-page,
.cai-home-events .post-entry,
.cai-home-events .entry-content-wrapper {
  position: relative;
  z-index: 1;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cai-events-section {
  position: relative;
  z-index: 1;
  max-width: 1320px;
  margin: 0 auto;
  padding: 72px 56px 78px;
  color: #ffffff;
}

.cai-events-section::before {
  display: none;
  content: none;
}

.cai-events-head,
.cai-events-grid {
  position: relative;
  z-index: 2;
}

.cai-events-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
  margin-bottom: 36px;
}

.cai-events-kicker {
  display: block;
  margin-bottom: 10px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

.cai-events-head h2 {
  margin: 0 0 14px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: clamp(36px, 4vw, 54px);
  line-height: 1;
  font-weight: 700;
  color: #ffffff;
}

.cai-events-head p {
  max-width: 680px;
  margin: 0;
  font-size: 18px;
  line-height: 1.5;
  color: rgba(255,255,255,0.82);
}

.cai-events-all {
  flex: 0 0 auto;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: #ffffff !important;
  text-decoration: none !important;
  border-bottom: 2px solid var(--cai-gold);
  padding-bottom: 6px;
}

.cai-events-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.cai-event-card {
  display: grid;
  grid-template-columns: 78px 1fr;
  gap: 20px;
  min-height: 168px;
  padding: 26px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.16);
  box-shadow: 0 18px 45px rgba(0,0,0,0.18);
  transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

.cai-event-card:hover {
  transform: translateY(-6px);
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.28);
}

.cai-event-date {
  width: 70px;
  height: 76px;
  background: #ffffff;
  color: var(--cai-blue);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}

.cai-event-date strong {
  font-size: 32px;
  line-height: 1;
  font-weight: 700;
}

.cai-event-date span {
  margin-top: 4px;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  color: var(--cai-gold);
}

.cai-event-cat {
  display: block;
  margin-bottom: 8px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

.cai-event-content h3 {
  margin: 0 0 12px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 22px;
  line-height: 1.12;
  font-weight: 700;
  color: #ffffff;
}

.cai-event-content p {
  margin: 0;
  font-size: 15px;
  line-height: 1.4;
  color: rgba(255,255,255,0.78);
}

@media only screen and (max-width: 989px) {
  .cai-events-section {
    padding: 58px 34px 64px;
  }

  .cai-events-head {
    display: block;
  }

  .cai-events-all {
    display: inline-block;
    margin-top: 22px;
  }

  .cai-events-grid {
    grid-template-columns: 1fr;
  }
}

@media only screen and (max-width: 767px) {
  .cai-events-section {
    padding: 46px 24px 52px;
  }

  .cai-event-card {
    grid-template-columns: 64px 1fr;
    padding: 22px;
  }

  .cai-event-date {
    width: 60px;
    height: 66px;
  }

  .cai-event-date strong {
    font-size: 26px;
  }
}

.cai-event-card {
  text-decoration: none !important;
  color: inherit !important;
}

.cai-event-card:hover {
  text-decoration: none !important;
}

.cai-events-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 28px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.16);
  color: rgba(255,255,255,0.82);
  font-size: 18px;
}

/* =========================================================
   HOME - NEWS E AVVISI
========================================================= */

.cai-home-news {
  padding: 0 !important;
  margin: 0 !important;
  background: #f7f5f1;
}

.cai-home-news .container,
.cai-home-news .template-page,
.cai-home-news .post-entry,
.cai-home-news .entry-content-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cai-news-section {
  position: relative;
  max-width: 1320px;
  margin: 0 auto;
  padding: 64px 56px 72px;
}

.cai-news-section::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 520px;
  height: 320px;
  opacity: 0.07;
  pointer-events: none;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;
}

.cai-news-head,
.cai-news-grid {
  position: relative;
  z-index: 2;
}

.cai-news-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 28px;
}

.cai-news-head h2 {
  margin: 0;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1;
  font-weight: 700;
  color: var(--cai-blue);
  text-transform: uppercase;
}

.cai-news-all {
  flex: 0 0 auto;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: var(--cai-blue-light) !important;
  text-decoration: none !important;
  border-bottom: 2px solid var(--cai-gold);
  padding-bottom: 6px;
}

.cai-news-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.cai-news-card {
  display: grid;
  grid-template-columns: 42% 58%;
  min-height: 170px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.08);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.cai-news-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.13);
}

.cai-news-thumb {
  display: block;
  height: 100%;
  min-height: 170px;
  overflow: hidden;
}

.cai-news-thumb-img {
  display: block;
  width: 100%;
  height: 100% !important;
  min-height: 170px;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.cai-news-card:hover .cai-news-thumb-img {
  transform: scale(1.05);
}

.cai-news-content {
  padding: 20px 20px 18px;
}

.cai-news-content h3 {
  margin: 0 0 6px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 17px;
  line-height: 1.16;
  font-weight: 700;
  color: var(--cai-blue);
}

.cai-news-content h3 a {
  color: var(--cai-blue) !important;
  text-decoration: none !important;
}

.cai-news-content time {
  display: block;
  margin-bottom: 10px;
  font-size: 13px;
  line-height: 1.2;
  color: var(--cai-gold);
  font-weight: 700;
}

.cai-news-content p {
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 1.38;
  color: #4b5a67;
}

.cai-news-read {
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--cai-blue-light) !important;
  text-decoration: none !important;
}

.cai-news-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 28px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.08);
  color: #4b5a67;
  font-size: 18px;
}

/* Responsive */
@media only screen and (max-width: 1180px) {
  .cai-news-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media only screen and (max-width: 767px) {
  .cai-news-section {
    padding: 46px 24px 52px;
  }

  .cai-news-head {
    display: block;
  }

  .cai-news-all {
    display: inline-block;
    margin-top: 18px;
  }

  .cai-news-grid {
    grid-template-columns: 1fr;
  }

  .cai-news-card {
    grid-template-columns: 1fr;
  }

  .cai-news-thumb,
  .cai-news-thumb-img {
    min-height: 210px;
  }
}

/* =========================================================
   HOME - CTA DIVENTA SOCIO
========================================================= */

.cai-home-join {
  position: relative;
  overflow: hidden;
  padding: 0 !important;
  margin: 0 !important;
  background: var(--cai-blue);
}

.cai-home-join::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 1;
  background:
    linear-gradient(
      90deg,
      rgba(0, 31, 61, 0.95) 0%,
      rgba(0, 59, 115, 0.75) 45%,
      rgba(0, 59, 115, 0.35) 100%
    ),
    url("/wp-content/uploads/2026/05/montagna-sfondo-iscrizione.png");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.cai-home-join .container,
.cai-home-join .template-page,
.cai-home-join .post-entry,
.cai-home-join .entry-content-wrapper {
  position: relative;
  z-index: 1;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cai-join-section {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 120px 1fr auto;
  align-items: center;
  gap: 34px;
  max-width: 1320px;
  margin: 0 auto;
  padding: 44px 56px;
  color: #ffffff;
  overflow: hidden;
}

/* sfondo montagna / texture */
.cai-join-section::before {
  display: none;
  content: none;
}

/* nastro CAI laterale */


.cai-join-icon,
.cai-join-text,
.cai-join-actions {
  position: relative;
  z-index: 2;
}

.cai-join-icon {
  width: 96px;
  height: 96px;
  border: 2px solid rgba(255,255,255,0.28);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: rgba(255,255,255,0.88);
  font-family: 'ibm-plex-sans', Arial, sans-serif;
}

.cai-join-mountain {
  font-size: 36px;
  line-height: 1;
}

.cai-join-people {
  font-size: 18px;
  line-height: 1;
  letter-spacing: -2px;
}

.cai-join-text span {
  display: block;
  margin-bottom: 8px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

.cai-join-text h2 {
  margin: 0 0 10px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: clamp(30px, 3vw, 42px);
  line-height: 0.98;
  font-weight: 700;
  text-transform: uppercase;
  color: #ffffff;
}

.cai-join-text p {
  max-width: 560px;
  margin: 0;
  font-size: 16px;
  line-height: 1.45;
  color: rgba(255,255,255,0.82);
}

.cai-join-actions {
  display: flex;
  align-items: center;
  gap: 18px;
}

.cai-join-btn {
  min-width: 190px;
  min-height: 48px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none !important;
  letter-spacing: 0.02em;
  transition: all 0.25s ease;
}

.cai-join-btn-primary {
  background: #ffffff;
  color: var(--cai-blue) !important;
  border: 2px solid #ffffff;
}

.cai-join-btn-primary:hover {
  background: var(--cai-gold);
  border-color: var(--cai-gold);
  color: #ffffff !important;
  transform: translateY(-2px);
}

.cai-join-btn-outline {
  color: #ffffff !important;
  border: 2px solid rgba(255,255,255,0.55);
  background: transparent;
}

.cai-join-btn-outline:hover {
  background: rgba(255,255,255,0.10);
  border-color: #ffffff;
  transform: translateY(-2px);
}

/* Responsive */
@media only screen and (max-width: 989px) {
  .cai-join-section {
    grid-template-columns: 90px 1fr;
    gap: 24px;
    padding: 42px 34px;
  }

  .cai-join-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
    margin-top: 8px;
  }

  .cai-join-icon {
    width: 78px;
    height: 78px;
  }


}

@media only screen and (max-width: 767px) {
  .cai-join-section {
    grid-template-columns: 1fr;
    padding: 38px 24px;
  }

  .cai-join-icon {
    width: 72px;
    height: 72px;
  }

  .cai-join-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .cai-join-btn {
    width: 100%;
  }


}

/* =========================================================
   FOOTER CAI CUNEO - VERSIONE COMPATTA MOCKUP
========================================================= */

.cai-site-footer {
  padding: 0 !important;
  margin: 0 !important;
  background: #002b55;
}

.cai-site-footer .container,
.cai-site-footer .template-page,
.cai-site-footer .post-entry,
.cai-site-footer .entry-content-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cai-footer {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(
      90deg,
      rgba(0, 31, 61, 0.98) 0%,
      rgba(0, 59, 115, 0.94) 48%,
      rgba(0, 31, 61, 0.98) 100%
    );
  color: #ffffff;
}

/* texture su tutto il footer */
.cai-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.08;
  pointer-events: none;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-position: center center;
  background-size: 520px auto;
}

.cai-footer-grid {
  position: relative;
  z-index: 2;
  max-width: 1320px;
  margin: 0 auto;
  padding: 30px 56px 28px;
  display: grid;
  grid-template-columns: 1.45fr 0.9fr 0.9fr 1.05fr 1.25fr;
  column-gap: 28px;
  row-gap: 0;
  align-items: start;
}

/* Prima colonna */

.cai-footer-logo-row {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}

.cai-footer-logo-row img {
  width: 56px;
  height: auto;
  display: block;
}

.cai-footer-logo-row strong {
  display: block;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 20px;
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
  color: #ffffff;
}

.cai-footer-logo-row span {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.2;
  color: rgba(255,255,255,0.78);
}

.cai-footer-contacts {
  margin: 0 0 12px;
  padding: 0;
  list-style: none;
}

.cai-footer-contacts li {
  margin: 0 0 7px;
  padding: 0 !important;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  list-style: none !important;
  font-size: 13px;
  line-height: 1.25;
  color: rgba(255,255,255,0.78);
}

/* Niente pallini automatici: restano solo le icone presenti nell'HTML */
.cai-footer .cai-footer-contacts li::before,
.cai-footer .cai-footer-contacts li::after {
  content: none !important;
  display: none !important;
}

.cai-footer-contact-icon {
  flex: 0 0 16px;
  width: 16px;
  min-width: 16px;
  text-align: center;
  line-height: 1.25;
}

.cai-footer a {
  color: rgba(255,255,255,0.80) !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

.cai-footer a:hover {
  color: #ffffff !important;
}

/* Social */

.cai-footer-social {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}

.cai-footer-social a {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,0.22);
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #ffffff !important;
}

.cai-footer-social a:hover {
  background: rgba(255,255,255,0.10);
}

/* Colonne link */

.cai-footer-col h4,
.cai-footer-claim-title span {
  margin: 0 0 9px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 12px;
  line-height: 1.0;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ffffff;
}

.cai-footer-col ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cai-footer-col li {
  margin-bottom: 4px;
  font-size: 13px;
  line-height: 0.8;
}

.cai-footer-col a {
  color: rgba(255,255,255,0.74) !important;
}

/* Quarta colonna: Club Alpino Italiano */

.cai-footer-claim {
  text-align: center;
  min-width: 0;
}

.cai-footer-claim-title span {
  display: block;
  margin-bottom: 4px;
}

.cai-footer-claim-title strong {
  display: block;
  margin-bottom: 12px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  line-height: 1.2;
  color: #ffffff;
}

.cai-footer-claim img {
  width: 56px;
  height: auto;
  display: inline-block;
  margin: 0;
}

/* Link istituzionali / risorse CAI */

.cai-footer-external {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  margin-top: 12px;
}

.cai-footer-external a {
  font-family: 'source-sans-3', Arial, sans-serif;
  font-size: 12px;
  line-height: 1.3;
  font-weight: 400;
  color: rgba(255,255,255,0.72) !important;
  text-decoration: none !important;
}

.cai-footer-external a:hover {
  color: #ffffff !important;
}


/* Tablet */

@media only screen and (max-width: 1100px) {

  .cai-footer-external {
    align-items: flex-start;
  }
}


/* Mobile */

@media only screen and (max-width: 767px) {

  .cai-footer-external {
    align-items: flex-start;
    margin-top: 10px;
  }
}

/* Quinta colonna: motto */

.cai-footer-motto {
  display: flex;
  align-items: center;
  min-width: 0;
}

.cai-footer-motto p {
  margin: 0;
  font-family: 'source-sans-3', Arial, sans-serif;
  font-size: 14px;
  line-height: 1.55;
  font-weight: 400;
  color: rgba(255,255,255,0.76);
}

/* Responsive */

@media only screen and (max-width: 1100px) {
  .cai-footer-grid {
    grid-template-columns: 1.5fr 1fr 1fr;
    gap: 34px;
    padding: 36px 34px;
  }

  .cai-footer-claim {
    text-align: left;
  }

  .cai-footer-motto {
    align-items: flex-start;
  }
}

@media only screen and (max-width: 767px) {
  .cai-footer-grid {
    grid-template-columns: 1fr;
    padding: 34px 24px;
    gap: 28px;
  }

  .cai-footer-claim {
    text-align: left;
  }

  .cai-footer-motto {
    display: block;
  }

  .cai-footer-motto p {
    font-size: 13px;
  }
}

/* =========================================================
   LAYERSLIDER - HERO RIFUGI E BIVACCHI
========================================================= */

.cai-rifugi-hero-panel {
  position: relative;
  width: 100%;
  height: 100%;
  background:
    linear-gradient(
      180deg,
      rgba(0, 59, 115, 0.96) 0%,
      rgba(0, 43, 85, 0.94) 100%
    );
  clip-path: polygon(0 0, 82% 0, 100% 100%, 0 100%);
  -webkit-clip-path: polygon(0 0, 82% 0, 100% 100%, 0 100%);
  overflow: hidden;
}

/* texture cartina dentro il pannello blu */
.cai-rifugi-hero-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: no-repeat;
  background-position: center right;
  background-size: cover;
  opacity: 0.08;
  pointer-events: none;
}

/* linea bianca diagonale di chiusura */
.cai-rifugi-hero-panel::before {
  content: "";
  position: absolute;
  top: -5%;
  left: 82%;
  width: 4px;
  height: 115%;
  z-index: 2;
  background: rgba(255, 255, 255, 0.78);
  transform: rotate(-6.6deg);
  transform-origin: top center;
  pointer-events: none;
  box-shadow: 0 0 14px rgba(255, 255, 255, 0.22);
}

/* =========================================================
   HEADER TRASPARENTE - OVERRIDE FINALE ENFOLD
   Ripete le proprietà base per prevalere sugli stili del tema
========================================================= */

#top #header.av_header_transparency,
#top #header.av_header_transparency #header_main,
#top #header.av_header_transparency .header_bg {
  background: rgba(0, 59, 115, 0.18) !important;
  border: none !important;
  box-shadow: none !important;
}

#top #header.av_header_transparency .header_bg {
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

#top #header.av_header_transparency #header_main {
  border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
}

#top #header.av_header_transparency .cai-logo-title {
  color: #ffffff !important;
}

#top #header.av_header_transparency .cai-logo-subtitle {
  color: rgba(255,255,255,0.82) !important;
}

#top #header.av_header_transparency .av-main-nav > li > a .avia-menu-text {
  color: #ffffff !important;
}

#top #header.av_header_transparency .av-main-nav > li > a:hover .avia-menu-text,
#top #header.av_header_transparency .av-main-nav > li.current-menu-item > a .avia-menu-text,
#top #header.av_header_transparency .av-main-nav > li.current_page_item > a .avia-menu-text {
  color: #ffffff !important;
}

#top #header.av_header_transparency .av-main-nav > li.menu-diventa-socio > a {
  background: rgba(255,255,255,0.16) !important;
  border: 1px solid rgba(255,255,255,0.55) !important;
}

#top #header.av_header_transparency .av-main-nav > li.menu-diventa-socio > a:hover {
  background: #ffffff !important;
}

#top #header.av_header_transparency .av-main-nav > li.menu-diventa-socio > a:hover .avia-menu-text {
  color: var(--cai-blue) !important;
}

/* =========================================================
   PAGINA RIFUGI E BIVACCHI - SEZIONE STRUTTURE
========================================================= */

.cai-rifugi-network {
  padding: 0 !important;
  margin: 0 !important;
  background: #f7f5f1;
}

.cai-rifugi-network .container,
.cai-rifugi-network .template-page,
.cai-rifugi-network .post-entry,
.cai-rifugi-network .entry-content-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cai-rifugi-section {
  position: relative;
  max-width: 1320px;
  margin: 0 auto;
  padding: 64px 56px 76px;
  overflow: hidden;
}

.cai-rifugi-section::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.075;
  pointer-events: none;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-position: center center;
  background-size: 520px auto;
}

.cai-rifugi-intro,
.cai-rifugi-list-head,
.cai-rifugi-grid {
  position: relative;
  z-index: 2;
}


/* =========================================================
   INTRO / NUMERI
========================================================= */

.cai-rifugi-intro {
 display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr) minmax(0, 1.25fr);
  gap: 36px;
  align-items: center;
  padding-bottom: 24px;
  margin-bottom: 0;
}
.cai-rifugi-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(78px, 1fr));
  border-left: 1px solid rgba(0, 59, 115, 0.12);
}

.cai-rifugi-stat {
  text-align: center;
  padding: 8px 14px;
  border-right: 1px solid rgba(0, 59, 115, 0.12);
}
.cai-rifugi-intro-title span {
  display: block;
  margin-bottom: 10px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

.cai-rifugi-intro-title h2 {
  margin: 0;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: clamp(36px, 3.4vw, 52px);
  line-height: 0.98;
  font-weight: 700;
  color: var(--cai-blue);
}

.cai-rifugi-intro-text {
  border-left: 1px solid rgba(0, 59, 115, 0.18);
  padding-left: 34px;
}

.cai-rifugi-intro-text p {
  max-width: 520px;
  margin: 0;
  font-size: 17px;
  line-height: 1.55;
  color: #4b5a67;
}

.cai-rifugi-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-left: 1px solid rgba(0, 59, 115, 0.12);
}

.cai-rifugi-stat {
  text-align: center;
  padding: 8px 20px;
  border-right: 1px solid rgba(0, 59, 115, 0.12);
}

.cai-rifugi-stat-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 42px;
  height: 42px;
  margin: 0 auto 10px;
  color: var(--cai-gold);
}

.cai-rifugi-stat-icon svg {
  width: 38px;
  height: 38px;
  display: block;
}

.cai-rifugi-stat-icon svg path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cai-rifugi-stat strong {
  display: block;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 34px;
  line-height: 1;
  font-weight: 700;
  color: var(--cai-blue);
}

.cai-rifugi-stat small {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.2;
  color: #4b5a67;
}


/* =========================================================
   TITOLO "LE NOSTRE STRUTTURE"
========================================================= */

.cai-rifugi-list-head {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0 0 22px 0;
  padding-top: 14px;
  border-top: 1px solid rgba(0, 59, 115, 0.16);
}

.cai-rifugi-list-head h3 {
  margin: 0;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 25px;
  line-height: 1;
  font-weight: 700;
  color: var(--cai-blue);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}


/* =========================================================
   CARD STRUTTURE
========================================================= */

.cai-rifugi-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.cai-rifugio-card {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  display: block !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 59, 115, 0.10) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08) !important;
  overflow: hidden !important;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease !important;
}

.cai-rifugio-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 24px 54px rgba(0, 0, 0, 0.13) !important;
  border-color: rgba(0, 80, 164, 0.22) !important;
}

.cai-rifugio-card-wide {
  grid-column: span 2;
}


/* Immagine card: usa il tag img generato dallo shortcode */

.cai-rifugio-image {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 175px !important;
  min-height: 175px !important;
  text-decoration: none !important;
  overflow: hidden !important;
  background: #dfe6ee !important;
}

.cai-rifugio-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transition: transform 0.35s ease !important;
}

.cai-rifugio-card:hover .cai-rifugio-img {
  transform: scale(1.05) !important;
}

.cai-rifugio-card-wide .cai-rifugio-image {
  height: 185px !important;
  min-height: 185px !important;
}

.cai-rifugio-image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(
      180deg,
      rgba(0, 31, 61, 0.04) 0%,
      rgba(0, 31, 61, 0.20) 100%
    );
  pointer-events: none;
}


/* Badge tipologia */

.cai-rifugio-badge {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 23px !important;
  padding: 5px 9px !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  border-radius: 3px !important;
}

.cai-rifugio-badge-blue {
  background: var(--cai-blue-light) !important;
}

.cai-rifugio-badge-gold {
  background: var(--cai-gold) !important;
}

.cai-rifugio-badge-purple {
  background: #6b4bb3 !important;
}


/* Corpo card */

.cai-rifugio-body {
  display: block !important;
  width: 100% !important;
  padding: 18px 18px 16px !important;
  box-sizing: border-box !important;
}

.cai-rifugio-body h4 {
  margin: 0 0 7px !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  color: var(--cai-blue) !important;
  text-transform: uppercase !important;
}

.cai-rifugio-body h4 a {
  color: var(--cai-blue) !important;
  text-decoration: none !important;
}

.cai-rifugio-body h4 a:hover {
  color: var(--cai-blue-light) !important;
}


/* Dati card */

.cai-rifugio-place,
.cai-rifugio-meta {
  display: flex !important;
  align-items: flex-start !important;
  gap: 7px !important;
  margin: 0 0 4px 0 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  color: #4b5a67 !important;
}

.cai-rifugio-place {
  font-weight: 700 !important;
}


/* Icone SVG piccole */

.cai-rifugio-mini-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 15px !important;
  min-width: 15px !important;
  height: 15px !important;
  margin-top: 2px !important;
  color: var(--cai-blue-light) !important;
}

.cai-rifugio-mini-icon svg {
  width: 15px !important;
  height: 15px !important;
  display: block !important;
}

.cai-rifugio-mini-icon svg path,
.cai-rifugio-mini-icon svg circle {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}


/* Parte bassa card */

.cai-rifugio-bottom {
  display: grid !important;
  grid-template-columns: 1fr auto auto !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 16px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(0, 59, 115, 0.10) !important;
}

.cai-rifugio-open {
  position: relative !important;
  display: block !important;
  padding-left: 14px !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  color: #4b5a67 !important;
}

.cai-rifugio-open::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #3b9b55;
}

.cai-rifugio-card-wide .cai-rifugio-open::before {
  background: #6b4bb3;
}


/* Telefono */

.cai-rifugio-phone {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  color: var(--cai-blue-light) !important;
  font-size: 13px !important;
  opacity: 0.85 !important;
  text-decoration: none !important;
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
}

.cai-rifugio-phone svg {
  width: 15px !important;
  height: 15px !important;
  display: block !important;
}

.cai-rifugio-phone svg path {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.cai-rifugio-phone:hover {
  opacity: 1 !important;
  color: var(--cai-blue) !important;
  background: transparent !important;
}


/* Bottone */

.cai-rifugio-more {
  flex: 0 0 auto !important;
  min-height: 30px !important;
  padding: 0 11px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--cai-blue-light) !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  border: 1px solid rgba(0, 80, 164, 0.28) !important;
  transition: all 0.25s ease !important;
  white-space: nowrap !important;
}

.cai-rifugio-more:hover {
  background: var(--cai-blue-light) !important;
  color: #ffffff !important;
  border-color: var(--cai-blue-light) !important;
}


/* Messaggio vuoto */

.cai-rifugi-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 28px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  color: #4b5a67;
  font-size: 18px;
}


/* =========================================================
   RESPONSIVE RIFUGI E BIVACCHI
========================================================= */

@media only screen and (max-width: 1180px) {
  .cai-rifugi-intro {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .cai-rifugi-intro-text {
    border-left: none;
    padding-left: 0;
  }

  .cai-rifugi-stats {
    border-left: none;
  }

  .cai-rifugi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .cai-rifugio-card-wide {
    grid-column: span 1;
  }
}

@media only screen and (max-width: 767px) {
  .cai-rifugi-section {
    padding: 46px 24px 56px;
  }

  .cai-rifugi-stats {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px 0;
  }

  .cai-rifugi-list-head {
    margin-bottom: 20px;
    padding-top: 14px;
  }

  .cai-rifugi-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    margin-top: 0 !important;
  }

  .cai-rifugio-image,
  .cai-rifugio-card-wide .cai-rifugio-image {
    height: 210px !important;
    min-height: 210px !important;
  }

  .cai-rifugio-bottom {
    grid-template-columns: 1fr auto !important;
  }

  .cai-rifugio-more {
    grid-column: 1 / -1;
    width: 100% !important;
    margin-top: 6px !important;
  }
}

/* =========================================================
   PAGINA RIFUGI E BIVACCHI - CTA + INFORMAZIONI SERVIZI
========================================================= */

.cai-rifugi-info-cta {
  padding: 0 !important;
  margin: 0 !important;
  background: #f7f5f1;
}

.cai-rifugi-info-cta .container,
.cai-rifugi-info-cta .template-page,
.cai-rifugi-info-cta .post-entry,
.cai-rifugi-info-cta .entry-content-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cai-rifugi-info-section {
  width: 100%;
  margin: 0;
  padding: 0;
}

/* Fascia blu */

.cai-rifugi-cta-band {
  position: relative;
  overflow: hidden;
  min-height: 245px;
  padding: 58px 56px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 42px;
  color: #ffffff;
  background:
    linear-gradient(
      90deg,
      rgba(0, 31, 61, 0.98) 0%,
      rgba(0, 59, 115, 0.92) 48%,
      rgba(0, 31, 61, 0.70) 100%
    ),
    url("/wp-content/uploads/2026/05/montagna-sfondo-iscrizione.png");
  background-size: cover;
  background-position: center center;
}

.cai-rifugi-cta-band::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.10;
  pointer-events: none;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-position: center center;
  background-size: 520px auto;
}

.cai-rifugi-cta-content,
.cai-rifugi-cta-actions {
  position: relative;
  z-index: 2;
}

.cai-rifugi-cta-content {
  max-width: 820px;
}

.cai-rifugi-cta-content span {
  display: block;
  margin-bottom: 10px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--cai-gold);
  text-transform: uppercase;
}

.cai-rifugi-cta-content h2 {
  margin: 0 0 20px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: clamp(42px, 5vw, 72px);
  line-height: 0.95;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #ffffff;
}

.cai-rifugi-cta-content p {
  max-width: 780px;
  margin: 0;
  font-size: clamp(20px, 2vw, 30px);
  line-height: 1.35;
  color: rgba(255,255,255,0.88);
}

.cai-rifugi-cta-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 22px;
  flex-wrap: nowrap;
}

.cai-rifugi-cta-btn {
  min-width: 230px;
  min-height: 58px;
  padding: 0 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 16px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: all 0.25s ease;
}

.cai-rifugi-cta-btn span {
  font-size: 28px;
  line-height: 1;
}

.cai-rifugi-cta-btn-gold {
  background: var(--cai-gold);
  border: 2px solid var(--cai-gold);
  color: #ffffff !important;
  box-shadow: 0 18px 40px rgba(0,0,0,0.20);
}

.cai-rifugi-cta-btn-gold:hover {
  background: #b98915;
  border-color: #b98915;
  color: #ffffff !important;
  transform: translateY(-3px);
}

.cai-rifugi-cta-btn-outline {
  background: transparent;
  border: 2px solid rgba(255,255,255,0.72);
  color: #ffffff !important;
}

.cai-rifugi-cta-btn-outline:hover {
  background: rgba(255,255,255,0.12);
  border-color: #ffffff;
  color: #ffffff !important;
  transform: translateY(-3px);
}

/* Informazioni e servizi */

.cai-rifugi-services {
  position: relative;
  max-width: 1320px;
  margin: 0 auto;
  padding: 44px 56px 70px;
}

.cai-rifugi-services::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.055;
  pointer-events: none;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-position: center center;
  background-size: 520px auto;
}

.cai-rifugi-services-head,
.cai-rifugi-services-grid {
  position: relative;
  z-index: 2;
}

.cai-rifugi-services-head {
  margin-bottom: 24px;
}

.cai-rifugi-services-head h3 {
  margin: 0;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 28px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--cai-blue);
}

.cai-rifugi-services-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 22px;
}

.cai-rifugi-service-card {
  min-height: 230px;
  padding: 34px 26px 30px;
  background: rgba(255,255,255,0.88);
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 16px 38px rgba(0,0,0,0.07);
  text-align: center;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.cai-rifugi-service-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 26px 58px rgba(0,0,0,0.13);
  border-color: rgba(0,80,164,0.22);
}

.cai-rifugi-service-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 78px;
  height: 78px;
  margin: 0 auto 22px;
  color: var(--cai-blue);
}

.cai-rifugi-service-icon svg {
  width: 72px;
  height: 72px;
  display: block;
}

.cai-rifugi-service-icon svg path,
.cai-rifugi-service-icon svg circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cai-rifugi-service-card h4 {
  margin: 0 0 14px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 19px;
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--cai-blue);
}

.cai-rifugi-service-card p {
  margin: 0;
  font-size: 16px;
  line-height: 1.45;
  color: #4b5a67;
}

/* Responsive */

@media only screen and (max-width: 1180px) {
  .cai-rifugi-cta-band {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .cai-rifugi-cta-actions {
    justify-content: flex-start;
  }

  .cai-rifugi-services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media only screen and (max-width: 767px) {
  .cai-rifugi-cta-band {
    padding: 46px 24px;
  }

  .cai-rifugi-cta-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    width: 100%;
  }

  .cai-rifugi-cta-btn {
    width: 100%;
    min-width: 0;
  }

  .cai-rifugi-services {
    padding: 42px 24px 54px;
  }

  .cai-rifugi-services-grid {
    grid-template-columns: 1fr;
  }

  .cai-rifugi-service-card {
    min-height: auto;
  }
}

/* =========================================================
   RIFUGI - REFINEMENT CTA + SERVIZI
========================================================= */

/* Fascia blu più compatta e più elegante */
.cai-rifugi-cta-band {
  min-height: 220px !important;
  padding: 48px 56px !important;
  background:
    linear-gradient(
      90deg,
      rgba(0, 31, 61, 0.98) 0%,
      rgba(0, 59, 115, 0.94) 52%,
      rgba(0, 31, 61, 0.78) 100%
    ),
    url("/wp-content/uploads/2026/05/montagna-sfondo-iscrizione.png") !important;
  background-size: cover !important;
  background-position: center center !important;
}

/* Texture meno invasiva */
.cai-rifugi-cta-band::before {
  opacity: 0.065 !important;
}

/* Titolo meno gigante */
.cai-rifugi-cta-content h2 {
  font-size: clamp(42px, 4.2vw, 62px) !important;
  line-height: 0.96 !important;
  letter-spacing: 0.025em !important;
  max-width: 780px;
}

/* Testo più controllato */
.cai-rifugi-cta-content p {
  font-size: clamp(20px, 1.55vw, 25px) !important;
  line-height: 1.35 !important;
  max-width: 760px !important;
}

/* Bottoni leggermente più bassi e compatti */
.cai-rifugi-cta-btn {
  min-width: 220px !important;
  min-height: 54px !important;
  font-size: 15px !important;
}

/* Sezione servizi più compatta */
.cai-rifugi-services {
  padding: 38px 56px 58px !important;
}

/* Titolo più vicino alle card */
.cai-rifugi-services-head {
  margin-bottom: 22px !important;
}

/* Card un po' meno alte e più raffinate */
.cai-rifugi-service-card {
  min-height: 205px !important;
  padding: 30px 24px 26px !important;
  background: rgba(255,255,255,0.94) !important;
}

/* Icone meno grandi */
.cai-rifugi-service-icon {
  width: 64px !important;
  height: 64px !important;
  margin-bottom: 18px !important;
}

.cai-rifugi-service-icon svg {
  width: 58px !important;
  height: 58px !important;
}

/* Titoli card più equilibrati */
.cai-rifugi-service-card h4 {
  font-size: 17px !important;
  line-height: 1.15 !important;
  margin-bottom: 12px !important;
}

/* Testi card leggermente più piccoli */
.cai-rifugi-service-card p {
  font-size: 15px !important;
  line-height: 1.42 !important;
}

/* Responsive */
@media only screen and (max-width: 1180px) {
  .cai-rifugi-cta-band {
    padding: 44px 34px !important;
  }

  .cai-rifugi-services {
    padding: 38px 34px 56px !important;
  }
}

@media only screen and (max-width: 767px) {
  .cai-rifugi-cta-band {
    min-height: auto !important;
    padding: 42px 24px !important;
  }

  .cai-rifugi-cta-content h2 {
    font-size: 38px !important;
  }

  .cai-rifugi-cta-content p {
    font-size: 18px !important;
  }

  .cai-rifugi-services {
    padding: 36px 24px 48px !important;
  }
}

/* =========================================================
   LAYERSLIDER - HERO SINGOLO RIFUGIO - BANDA BLU
========================================================= */

.cai-single-refuge-hero-panel {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background:
    linear-gradient(
      180deg,
      rgba(0, 59, 115, 0.98) 0%,
      rgba(0, 43, 85, 0.96) 100%
    );
  clip-path: polygon(0 0, 82% 0, 72% 100%, 0 100%);
  -webkit-clip-path: polygon(0 0, 82% 0, 72% 100%, 0 100%);
}

.cai-single-refuge-hero-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: no-repeat;
  background-position: center right;
  background-size: cover;
  opacity: 0.10;
}

.cai-single-refuge-hero-panel::before {
  content: "";
  position: absolute;
  top: -5%;
  left: 82.4%;
  width: 4px;
  height: 115%;
  z-index: 2;
  background: rgba(255, 255, 255, 0.78);
  transform: rotate(6deg);
  transform-origin: top center;
  pointer-events: none;
  box-shadow: 0 0 14px rgba(255, 255, 255, 0.22);
}

.cai-single-refuge-hero-panel > * {
  position: relative;
  z-index: 3;
}


/* =========================================================
   SINGOLA STRUTTURA - SEZIONE DATI DINAMICI
========================================================= */

.cai-single-structure-section {
  position: relative;
  max-width: 1320px;
  margin: 0 auto;
  padding: 64px 56px 70px;
  color: var(--cai-text-dark);
}

.cai-single-structure-section::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.055;
  pointer-events: none;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-position: center center;
  background-size: 520px auto;
}

.cai-single-structure-main,
.cai-single-services,
.cai-single-gallery,
.cai-single-access {
  position: relative;
  z-index: 2;
}


/* =========================================================
   SINGOLA STRUTTURA - INTRO + BOX INFORMAZIONI
========================================================= */

.cai-single-structure-main {
  display: grid;
  grid-template-columns: minmax(0, 1.38fr) minmax(420px, 500px);
  gap: 52px;
  align-items: start;
}

.cai-single-structure-text {
  min-width: 0;
}

.cai-single-section-title {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
}

.cai-single-section-title h2 {
  margin: 0;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 28px;
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--cai-blue);
}

.cai-single-section-icon {
  display: inline-flex;
  width: 38px;
  height: 38px;
  color: var(--cai-gold);
}

.cai-single-section-icon svg {
  width: 38px;
  height: 38px;
}

.cai-single-section-icon svg path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cai-single-description {
  max-width: 760px;
}

.cai-single-description p {
  margin: 0 0 18px;
  font-size: 17px;
  line-height: 1.62;
  color: #4b5a67;
}

.cai-single-highlights {
  display: grid;
  gap: 0;
  margin-top: 34px;
}

/* Numero dinamico di evidenze */
.cai-single-highlights--1 {
  grid-template-columns: 1fr;
}

.cai-single-highlights--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cai-single-highlights--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cai-single-highlight {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-right: 24px;
  margin-right: 24px;
  border-right: 1px solid rgba(0,59,115,0.14);
}

.cai-single-highlight:last-child {
  border-right: none;
}

.cai-single-highlight span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  min-width: 42px;
  height: 42px;
  color: var(--cai-gold);
}

.cai-single-highlight span svg {
  display: block;
  width: 34px;
  height: 34px;
}

.cai-single-highlight span svg path,
.cai-single-highlight span svg circle,
.cai-single-highlight span svg line,
.cai-single-highlight span svg polyline,
.cai-single-highlight span svg rect {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cai-single-highlight p {
  margin: 0;
  font-size: 15px;
  line-height: 1.3;
  color: #4b5a67;
}


/* Box informazioni utili */

.cai-single-info-box {
  width: 100%;
  max-width: 500px;
  margin-left: auto;
  padding: 26px 28px 24px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.08);
  box-sizing: border-box;
  align-self: start;
}

.cai-single-info-box h3 {
  position: relative;
  margin: 0 0 20px;
  padding-top: 10px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 18px;
  line-height: 1.1;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--cai-blue);
}

.cai-single-info-box h3::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 110px;
  height: 3px;
  background: #7ea33a;
}

.cai-single-info-box dl {
  margin: 0;
}

.cai-single-info-box dl > div {
  display: grid;
  grid-template-columns: 155px 1fr;
  gap: 18px;
  align-items: start;
  padding: 11px 0;
  border-top: 1px solid rgba(0, 59, 115, 0.10);
}

.cai-single-info-box dl > div:first-child {
  border-top: none;
  padding-top: 0;
}

.cai-single-info-box dl > div:last-child {
  padding-bottom: 0;
}

.cai-single-info-box dt {
  margin: 0;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 700;
  color: var(--cai-blue);
}

.cai-single-info-box dd {
  margin: 0;
  font-size: 15px;
  line-height: 1.45;
  color: #4b5a67;
}

.cai-single-info-box dd a {
  color: var(--cai-blue-light) !important;
  text-decoration: none !important;
  word-break: break-word;
}

.cai-single-info-box dd a:hover {
  color: var(--cai-blue) !important;
}


/* =========================================================
   CAPANNA BARBERO - VIDEO SOTTO "INFORMAZIONI UTILI"
========================================================= */

.cai-single-side-column {
  width: 100%;
  min-width: 0;
  justify-self: end;
}

.cai-single-videos {
  width: 100%;
  max-width: 500px;
  margin: 26px 0 0 auto;
}

.cai-single-videos > h3 {
  position: relative;
  margin: 0 0 18px;
  padding-top: 10px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 18px;
  line-height: 1.1;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--cai-blue);
}

.cai-single-videos > h3::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 110px;
  height: 3px;
  background: #7ea33a;
}

.cai-single-videos-list {
  display: grid;
  gap: 18px;
}

.cai-single-video-item {
  margin: 0;
  padding: 16px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08);
  box-sizing: border-box;
}

.cai-single-video-item h4 {
  margin: 0 0 10px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 15px;
  line-height: 1.25;
  font-weight: 700;
  color: var(--cai-blue);
}

.cai-single-video-player {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  background: #000000;
}

@media only screen and (max-width: 1180px) {
  .cai-single-videos {
    max-width: 460px;
  }
}

@media only screen and (max-width: 989px) {
  .cai-single-side-column {
    justify-self: stretch;
  }

  .cai-single-videos {
    max-width: none;
    margin-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  .cai-single-video-item {
    padding: 12px;
  }
}


/* =========================================================
   SINGOLA STRUTTURA - SERVIZI E INFORMAZIONI
========================================================= */

.cai-single-services {
  margin-top: 46px;
}

.cai-single-services h3,
.cai-single-gallery-head h3,
.cai-single-access-map h3,
.cai-single-access-data h3 {
  margin: 0 0 18px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 22px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--cai-blue);
}

.cai-single-services-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.cai-single-service-card {
  display: grid;
  grid-template-columns: 46px 1fr;
  grid-template-rows: auto auto;
  column-gap: 16px;
  row-gap: 12px;
  align-items: start;
  min-height: 190px;
  padding: 24px 24px 26px;
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(0,59,115,0.10);
  box-shadow: 0 14px 34px rgba(0,0,0,0.07);
  box-sizing: border-box;
}

.cai-single-service-card > div {
  display: contents;
}

.cai-single-service-icon {
  grid-column: 1;
  grid-row: 1;
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  width: 46px;
  min-width: 46px;
  height: 46px;
  color: var(--cai-gold);
  font-size: 34px;
  line-height: 1;
}

.cai-single-service-icon svg {
  width: 42px;
  height: 42px;
  display: block;
}

.cai-single-service-icon svg path,
.cai-single-service-icon svg circle,
.cai-single-service-icon svg line {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cai-single-service-card h4 {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 16px;
  line-height: 1.08;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--cai-blue);
}

.cai-single-service-card p {
  grid-column: 1 / -1;
  grid-row: 2;
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
  color: #4b5a67;
}


/* =========================================================
   SINGOLA STRUTTURA - GALLERIA
========================================================= */

.cai-single-gallery {
  margin-top: 48px;
}

.cai-single-gallery-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}

.cai-single-gallery-head h3 {
  margin-bottom: 0;
}

.cai-single-gallery-arrows {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cai-single-gallery-arrow {
  width: 42px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(0, 59, 115, 0.22);
  background: #ffffff;
  color: var(--cai-blue);
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 20px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.25s ease;
}

.cai-single-gallery-arrow:hover {
  background: var(--cai-blue-light);
  border-color: var(--cai-blue-light);
  color: #ffffff;
}

.cai-single-gallery-track {
  display: flex;
  gap: 22px;
  overflow-x: auto;
  scroll-behavior: smooth;
  padding-bottom: 8px;
  scrollbar-width: thin;
}

.cai-single-gallery-track::-webkit-scrollbar {
  height: 8px;
}

.cai-single-gallery-track::-webkit-scrollbar-thumb {
  background: rgba(0, 59, 115, 0.25);
}

.cai-single-gallery-item {
  position: relative;
  flex: 0 0 calc(25% - 17px);
  height: 185px;
  overflow: hidden;
  display: block;
  background: #dfe6ee;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 14px 34px rgba(0,0,0,0.07);
  text-decoration: none !important;
}

.cai-single-gallery-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.cai-single-gallery-item::after {
  content: "＋";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 31, 61, 0.34);
  color: #ffffff;
  font-size: 34px;
  opacity: 0;
  transition: opacity 0.25s ease;
}

.cai-single-gallery-item:hover img {
  transform: scale(1.06);
}

.cai-single-gallery-item:hover::after {
  opacity: 1;
}


/* =========================================================
   SINGOLA STRUTTURA - COME RAGGIUNGERCI / ITINERARIO
========================================================= */

.cai-single-access {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.95fr);
  gap: 42px;
  margin-top: 48px;
}

.cai-single-access-map h3,
.cai-single-access-data h3 {
  margin: 0 0 18px !important;
}

.cai-single-access-map-image {
  position: relative;
  min-height: 245px;
  background-color: #f7f5f1;
  background-image:
    linear-gradient(
      0deg,
      rgba(247,245,241,0.52),
      rgba(247,245,241,0.52)
    ),
    url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  border: 1px solid rgba(0, 59, 115, 0.12);
  box-shadow: 0 14px 34px rgba(0,0,0,0.06);
  overflow: hidden;
}

.cai-single-access-pin {
  position: absolute;
  left: 62%;
  top: 42%;
  z-index: 2;
  width: 28px;
  height: 28px;
  background: var(--cai-blue-light);
  border: 3px solid #ffffff;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  box-shadow: 0 12px 28px rgba(0,0,0,0.28);
}

.cai-single-access-pin::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 7px;
  height: 7px;
  background: #ffffff;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.cai-single-access-map-embed {
  position: relative;
  width: 100%;
  height: 245px;
  min-height: 245px;
  background: #f7f5f1;
  border: 1px solid rgba(0, 59, 115, 0.12);
  box-shadow: 0 14px 34px rgba(0,0,0,0.06);
  overflow: hidden;
}

.cai-single-access-map-embed iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
}

.cai-single-access-map-fallback-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 245px;
  padding: 30px;
  background: #f7f5f1;
  border: 1px solid rgba(0, 59, 115, 0.12);
  box-shadow: 0 14px 34px rgba(0,0,0,0.06);
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--cai-blue-light) !important;
  text-decoration: none !important;
}

.cai-single-access-map-fallback-link:hover {
  color: var(--cai-blue) !important;
}

.cai-single-access-route {
  margin: 0 0 20px !important;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(0,59,115,0.12);
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
  color: var(--cai-blue) !important;
}

.cai-single-access-values {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(0,59,115,0.12);
  border-left: 1px solid rgba(0,59,115,0.12);
}

.cai-single-access-values div {
  padding: 16px 16px 15px;
  border-right: 1px solid rgba(0,59,115,0.12);
  border-bottom: 1px solid rgba(0,59,115,0.12);
}

.cai-single-access-values span {
  display: block;
  margin-bottom: 7px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 12px;
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

.cai-single-access-values strong {
  display: block;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 700;
  color: var(--cai-blue);
}

.cai-single-access-description {
  margin: 22px 0 0 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  color: #4b5a67 !important;
}

.cai-single-access-link {
  display: inline-block;
  margin-top: 18px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: var(--cai-blue-light) !important;
  text-decoration: none !important;
  border-bottom: 2px solid var(--cai-gold);
  padding-bottom: 5px;
}


/* =========================================================
   SINGOLA STRUTTURA - CTA FINALE IN COLOR SECTION
========================================================= */

.cai-single-final-cta-section {
  padding: 0 !important;
  margin: 0 !important;
  background:
    linear-gradient(
      90deg,
      rgba(0, 31, 61, 0.98) 0%,
      rgba(0, 59, 115, 0.92) 55%,
      rgba(0, 31, 61, 0.70) 100%
    ),
    url("/wp-content/uploads/2026/05/montagna-sfondo-iscrizione.png") !important;
  background-size: cover !important;
  background-position: center center !important;
  border-bottom: 2px solid rgba(255,255,255,0.75) !important;
}

.cai-single-final-cta-section .container,
.cai-single-final-cta-section .template-page,
.cai-single-final-cta-section .post-entry,
.cai-single-final-cta-section .entry-content-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cai-single-final-cta {
  position: relative;
  max-width: 1320px;
  margin: 0 auto;
  padding: 34px 56px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 34px;
  overflow: hidden;
  color: #ffffff;
  background: transparent !important;
}

.cai-single-final-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.08;
  pointer-events: none;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-position: center center;
  background-size: 520px auto;
}

.cai-single-final-cta__content,
.cai-single-final-cta__actions {
  position: relative;
  z-index: 2;
}

.cai-single-final-cta h3 {
  margin: 0 0 8px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: clamp(26px, 2.6vw, 40px);
  line-height: 0.96;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.035em;
  color: #ffffff;
}

.cai-single-final-cta p {
  max-width: 620px;
  margin: 0;
  font-size: 16px;
  line-height: 1.45;
  color: rgba(255,255,255,0.84);
}

.cai-single-final-cta__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
  flex-wrap: wrap;
}

.cai-single-final-cta__btn {
  min-width: 220px;
  min-height: 48px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: all 0.25s ease;
}

.cai-single-final-cta__btn span {
  font-size: 20px;
  line-height: 1;
}

.cai-single-final-cta__btn--gold {
  background: var(--cai-gold);
  border: 2px solid var(--cai-gold);
  color: #ffffff !important;
}

.cai-single-final-cta__btn--gold:hover {
  background: #b98915;
  border-color: #b98915;
  color: #ffffff !important;
}

.cai-single-final-cta__btn--outline {
  background: transparent;
  border: 2px solid rgba(255,255,255,0.62);
  color: #ffffff !important;
}

.cai-single-final-cta__btn--outline:hover {
  background: rgba(255,255,255,0.10);
  border-color: #ffffff;
  color: #ffffff !important;
}


/* =========================================================
   RESPONSIVE - SINGOLA STRUTTURA
========================================================= */

@media only screen and (max-width: 1180px) {
  .cai-single-structure-main {
    grid-template-columns: minmax(0, 1fr) minmax(380px, 460px);
    gap: 42px;
  }

  .cai-single-info-box {
    max-width: 460px;
  }

  .cai-single-services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cai-single-gallery-item {
    flex-basis: calc(33.333% - 15px);
  }
}

@media only screen and (max-width: 989px) {
  .cai-single-structure-section {
    padding: 52px 34px 58px;
  }

  .cai-single-structure-main {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .cai-single-info-box {
    max-width: none;
    margin-left: 0;
  }

  .cai-single-highlights {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .cai-single-highlight {
    border-right: none;
    margin-right: 0;
    padding-right: 0;
  }

  .cai-single-services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cai-single-gallery-item {
    flex-basis: calc(50% - 12px);
    height: 210px;
  }

  .cai-single-access {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .cai-single-final-cta {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 32px 34px;
  }

  .cai-single-final-cta__actions {
    justify-content: flex-start;
  }
}

@media only screen and (max-width: 767px) {
  .cai-single-structure-section {
    padding: 42px 24px 50px;
  }

  .cai-single-info-box {
    padding: 22px 20px 18px;
  }

  .cai-single-info-box dl > div {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 10px 0;
  }

  .cai-single-info-box dt,
  .cai-single-info-box dd {
    font-size: 14px;
  }

  .cai-single-services-grid {
    grid-template-columns: 1fr;
  }

  .cai-single-service-card {
    min-height: auto;
  }

  .cai-single-gallery-head {
    align-items: flex-start;
  }

  .cai-single-gallery-item {
    flex-basis: 85%;
    height: 220px;
  }

  .cai-single-access-values {
    grid-template-columns: 1fr 1fr;
  }

  .cai-single-access-map-image,
  .cai-single-access-map-embed,
  .cai-single-access-map-fallback-link {
    height: 240px;
    min-height: 240px;
  }

  .cai-single-final-cta {
    padding: 30px 24px;
  }

  .cai-single-final-cta__actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .cai-single-final-cta__btn {
    width: 100%;
    min-width: 0;
  }
}

/* =========================================================
   PAGINA CHI SIAMO - INTRO SOTTO SLIDER
========================================================= */

.cai-about-intro-wrap {
  padding: 0 !important;
  margin: 0 !important;
  background: #ffffff;
}

.cai-about-intro-wrap .container,
.cai-about-intro-wrap .template-page,
.cai-about-intro-wrap .post-entry,
.cai-about-intro-wrap .entry-content-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cai-about-intro {
  position: relative;
  overflow: hidden;
  background: #ffffff;
  color: var(--cai-text-dark);
}

.cai-about-intro::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.045;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-position: center center;
  background-size: 620px auto;
}

.cai-about-intro__main,
.cai-about-values {
  position: relative;
  z-index: 2;
  max-width: 1320px;
  margin: 0 auto;
}

.cai-about-intro__main {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(380px, 520px);
  gap: 76px;
  align-items: center;
  padding: 78px 56px 64px;
}

.cai-about-intro__content {
  min-width: 0;
}

.cai-about-intro__kicker {
  display: block;
  margin-bottom: 16px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 15px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

.cai-about-intro h2 {
  margin: 0;
  max-width: 760px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: clamp(48px, 5vw, 78px);
  line-height: 0.98;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: var(--cai-blue);
}

.cai-about-intro__mark {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 24px 0 32px;
  color: var(--cai-gold);
}

.cai-about-intro__mark span {
  display: block;
  width: 56px;
  height: 2px;
  background: var(--cai-gold);
}

.cai-about-intro__mark svg {
  width: 42px;
  height: 24px;
  display: block;
}

.cai-about-intro__mark svg path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cai-about-intro__content p {
  max-width: 720px;
  margin: 0;
  font-size: clamp(20px, 1.6vw, 27px);
  line-height: 1.48;
  color: #263d54;
}

.cai-about-intro__actions {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 42px;
  flex-wrap: wrap;
}

.cai-about-intro__btn {
  min-width: 190px;
  min-height: 58px;
  padding: 0 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 15px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: all 0.25s ease;
}

.cai-about-intro__btn--primary {
  background: var(--cai-blue);
  border: 2px solid var(--cai-blue);
  color: #ffffff !important;
  box-shadow: 0 16px 36px rgba(0, 59, 115, 0.20);
}

.cai-about-intro__btn--primary span {
  color: var(--cai-gold);
  font-size: 26px;
  line-height: 1;
}

.cai-about-intro__btn--primary:hover {
  background: var(--cai-blue-light);
  border-color: var(--cai-blue-light);
  color: #ffffff !important;
  transform: translateY(-2px);
}

.cai-about-intro__btn--outline {
  background: #ffffff;
  border: 2px solid var(--cai-blue);
  color: var(--cai-blue) !important;
}

.cai-about-intro__btn--outline:hover {
  background: rgba(0, 59, 115, 0.06);
  color: var(--cai-blue) !important;
  transform: translateY(-2px);
}

.cai-about-intro__btn--outline svg {
  width: 24px;
  height: 24px;
  display: block;
}

.cai-about-intro__btn--outline svg path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Card informazioni */

.cai-about-intro__info {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}

.cai-about-info-card {
  display: grid;
  grid-template-columns: 118px 1fr;
  align-items: center;
  min-height: 138px;
  padding: 28px 34px 28px 28px;
  background: rgba(255,255,255,0.94);
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 16px 42px rgba(0,0,0,0.08);
}

.cai-about-info-card__icon {
  width: 82px;
  height: 82px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f2f4f6;
  color: var(--cai-blue);
  border-radius: 50%;
}

.cai-about-info-card__icon svg {
  width: 48px;
  height: 48px;
  display: block;
}

.cai-about-info-card__icon svg path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cai-about-info-card__text {
  position: relative;
  padding-left: 34px;
}

.cai-about-info-card__text::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 2px;
  background: rgba(211, 161, 31, 0.76);
}

.cai-about-info-card h3 {
  margin: 0 0 12px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 22px;
  line-height: 1.05;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--cai-blue);
}

.cai-about-info-card p {
  margin: 0 0 4px;
  font-size: 19px;
  line-height: 1.35;
  color: #263d54;
}

.cai-about-info-card strong {
  display: block;
  margin-top: 4px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 700;
  color: var(--cai-blue);
}

/* Valori */

.cai-about-values {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid rgba(0, 59, 115, 0.10);
  padding: 34px 56px 42px;
}

.cai-about-value {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 22px;
  align-items: center;
  padding: 0 32px;
  border-left: 1px solid rgba(211, 161, 31, 0.55);
}

.cai-about-value:first-child {
  border-left: none;
  padding-left: 0;
}

.cai-about-value:last-child {
  padding-right: 0;
}

.cai-about-value__icon {
  width: 66px;
  height: 66px;
  color: var(--cai-blue);
  display: flex;
  align-items: center;
  justify-content: center;
}

.cai-about-value__icon svg {
  width: 62px;
  height: 62px;
  display: block;
}

.cai-about-value__icon svg path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cai-about-value:nth-child(2) .cai-about-value__icon svg path:nth-child(2) {
  stroke: var(--cai-gold);
}

.cai-about-value h3 {
  margin: 0 0 8px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 20px;
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--cai-blue);
}

.cai-about-value p {
  margin: 0;
  font-size: 15px;
  line-height: 1.35;
  color: #536272;
}

/* Responsive */

@media only screen and (max-width: 1180px) {
  .cai-about-intro__main {
    grid-template-columns: 1fr;
    gap: 42px;
    padding: 66px 34px 54px;
  }

  .cai-about-intro__info {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cai-about-info-card {
    grid-template-columns: 1fr;
    align-items: start;
    min-height: auto;
    padding: 26px;
  }

  .cai-about-info-card__icon {
    width: 68px;
    height: 68px;
    margin-bottom: 20px;
  }

  .cai-about-info-card__text {
    padding-left: 0;
    padding-top: 18px;
  }

  .cai-about-info-card__text::before {
    left: 0;
    right: auto;
    top: 0;
    bottom: auto;
    width: 54px;
    height: 2px;
  }

  .cai-about-values {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 0;
    padding: 34px;
  }

  .cai-about-value:nth-child(3) {
    border-left: none;
    padding-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  .cai-about-intro__main {
    padding: 48px 24px 44px;
  }

  .cai-about-intro__kicker {
    font-size: 12px;
    line-height: 1.35;
  }

  .cai-about-intro h2 {
    font-size: 42px;
  }

  .cai-about-intro__content p {
    font-size: 18px;
  }

  .cai-about-intro__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 32px;
  }

  .cai-about-intro__btn {
    width: 100%;
  }

  .cai-about-intro__info {
    grid-template-columns: 1fr;
  }

  .cai-about-info-card h3 {
    font-size: 19px;
  }

  .cai-about-info-card p,
  .cai-about-info-card strong {
    font-size: 17px;
  }

  .cai-about-values {
    grid-template-columns: 1fr;
    padding: 30px 24px 34px;
  }

  .cai-about-value,
  .cai-about-value:nth-child(3) {
    border-left: none;
    padding: 0;
  }

  .cai-about-value {
    grid-template-columns: 62px 1fr;
    gap: 18px;
  }

  .cai-about-value__icon {
    width: 54px;
    height: 54px;
  }

  .cai-about-value__icon svg {
    width: 52px;
    height: 52px;
  }
}

/* Variante pagina Chi siamo: 2 card informative */
.cai-about-intro__info {
  align-self: center;
}

.cai-about-intro__content p + p {
  margin-top: 18px;
}

/* =========================================================
   PAGINA CHI SIAMO - CONSIGLIO DIRETTIVO
========================================================= */

.cai-about-board {
  position: relative;
  z-index: 2;
  max-width: 1320px;
  margin: 0 auto;
  padding: 30px 56px 28px;
  box-sizing: border-box;
  border-top: 1px solid rgba(0, 59, 115, 0.14);
}

.cai-about-board__heading {
  display: flex;
  align-items: baseline;
  gap: 18px;
  margin-bottom: 22px;
}

.cai-about-board__heading span {
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

.cai-about-board__heading h3 {
  margin: 0;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 24px;
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--cai-blue);
}

.cai-about-board__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  column-gap: 28px;
  row-gap: 22px;
}

.cai-about-board__member {
  position: relative;
  min-width: 0;
  padding-left: 14px;
}

.cai-about-board__member::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 2px;
  height: 34px;
  background: rgba(211, 161, 31, 0.72);
}

.cai-about-board__member strong {
  display: block;
  margin: 0 0 4px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 700;
  color: var(--cai-blue);
}

.cai-about-board__member span {
  display: block;
  font-size: 14px;
  line-height: 1.3;
  color: #536272;
}

.cai-about-board__member a {
  display: block;
  margin-top: 3px;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 600;
  color: var(--cai-blue-light) !important;
  text-decoration: none !important;
  overflow-wrap: anywhere;
}

.cai-about-board__member a:hover {
  color: var(--cai-blue) !important;
  text-decoration: underline !important;
}


/* Pulsanti sotto il Consiglio */

.cai-about-actions-row {
  position: relative;
  z-index: 2;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 56px 38px;
  box-sizing: border-box;
}

.cai-about-actions-row .cai-about-intro__actions {
  margin-top: 0;
}


/* Responsive */

@media only screen and (max-width: 1180px) {

  .cai-about-board {
    padding: 28px 34px;
  }

  .cai-about-board__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cai-about-actions-row {
    padding: 0 34px 34px;
  }
}

@media only screen and (max-width: 767px) {

  .cai-about-board {
    padding: 26px 24px;
  }

  .cai-about-board__heading {
    display: block;
  }

  .cai-about-board__heading span {
    display: block;
    margin-bottom: 8px;
  }

  .cai-about-board__heading h3 {
    font-size: 22px;
  }

  .cai-about-board__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 18px;
  }

  .cai-about-actions-row {
    padding: 0 24px 30px;
  }
}

@media only screen and (max-width: 480px) {

  .cai-about-board__grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   PAGINA CHI SIAMO - SEZIONE SOTTOSEZIONI E GRUPPI
========================================================= */

.cai-about-groups-wrap {
  padding: 0 !important;
  margin: 0 !important;
  background: #ffffff;
}

.cai-about-groups-wrap .container,
.cai-about-groups-wrap .template-page,
.cai-about-groups-wrap .post-entry,
.cai-about-groups-wrap .entry-content-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cai-about-groups {
  position: relative;
  overflow: hidden;
  background: #ffffff;
  color: var(--cai-text-dark);
  border-top: 1px solid rgba(0, 59, 115, 0.08);
}

.cai-about-groups::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.035;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-position: center center;
  background-size: 620px auto;
}

.cai-about-groups__inner {
  position: relative;
  z-index: 2;
  max-width: 1320px;
  margin: 0 auto;
  padding: 54px 56px 68px;
}

/* Titolo sezione */

.cai-section-head {
  margin-bottom: 34px;
}

.cai-section-head--center {
  text-align: center;
}

.cai-section-head h2 {
  margin: 0;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: clamp(28px, 2.6vw, 38px);
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.035em;
  color: var(--cai-blue);
}

.cai-section-head span {
  display: block;
  width: 70px;
  height: 3px;
  margin: 16px auto 0;
  background: var(--cai-gold);
}

/* Griglia loghi */

.cai-about-groups__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 22px;
}

.cai-about-group-card {
  position: relative;
  min-height: 190px;
  padding: 26px 18px 22px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.065);
  text-decoration: none !important;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.cai-about-group-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 54px rgba(0, 0, 0, 0.11);
  border-color: rgba(0, 80, 164, 0.24);
  text-decoration: none !important;
}

.cai-about-group-card::before {
  content: "";
  position: absolute;
  left: 22px;
  right: 22px;
  top: 0;
  height: 3px;
  background: transparent;
  transition: background 0.25s ease;
}

.cai-about-group-card:hover::before {
  background: var(--cai-gold);
}

/* Area logo normalizzata */

.cai-about-group-card__logo {
  width: 100%;
  height: 104px;
  margin-bottom: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cai-about-group-card__logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 118px;
  max-height: 96px;
  object-fit: contain;
}

/* Alcuni loghi verticali possono stare leggermente più alti */
.cai-about-group-card:nth-child(7) .cai-about-group-card__logo img {
  max-height: 104px;
}

.cai-about-group-card h3 {
  margin: auto 0 0;
  min-height: 34px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  line-height: 1.18;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-align: center;
  text-transform: uppercase;
  color: var(--cai-blue);
}

.cai-about-group-card:hover h3 {
  color: var(--cai-blue-light);
}

/* Responsive */

@media only screen and (max-width: 1180px) {
  .cai-about-groups__inner {
    padding: 50px 34px 62px;
  }

  .cai-about-groups__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media only screen and (max-width: 767px) {
  .cai-about-groups__inner {
    padding: 42px 24px 52px;
  }

  .cai-about-groups__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .cai-about-group-card {
    min-height: 170px;
    padding: 22px 14px 18px;
  }

  .cai-about-group-card__logo {
    height: 90px;
    margin-bottom: 18px;
  }

  .cai-about-group-card__logo img {
    max-width: 96px;
    max-height: 84px;
  }

  .cai-about-group-card h3 {
    font-size: 11px;
  }
}

@media only screen and (max-width: 430px) {
  .cai-about-groups__grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   PAGINA CHI SIAMO - LA NOSTRA STORIA
========================================================= */

.cai-about-history-wrap {
  padding: 0 !important;
  margin: 0 !important;
  background: #ffffff;
}

.cai-about-history-wrap .container,
.cai-about-history-wrap .template-page,
.cai-about-history-wrap .post-entry,
.cai-about-history-wrap .entry-content-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cai-about-history {
  position: relative;
  overflow: hidden;
  background: #ffffff;
  color: var(--cai-text-dark);
  border-top: 1px solid rgba(0, 59, 115, 0.08);
}

.cai-about-history::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.032;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-position: center center;
  background-size: 620px auto;
}

.cai-about-history__inner {
  position: relative;
  z-index: 2;
  max-width: 1320px;
  margin: 0 auto;
  padding: 54px 56px 62px;
}

.cai-about-history .cai-section-head {
  margin-bottom: 34px;
}

.cai-about-history .cai-section-head p {
  max-width: 760px;
  margin: 12px auto 0;
  font-size: 16px;
  line-height: 1.45;
  color: #536272;
}

/* Timeline */

.cai-history-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 22px;
  padding-top: 10px;
}

.cai-history-timeline::before {
  display: none;
}

.cai-history-card {
  position: relative;
  min-height: 265px;
  padding: 28px 22px 24px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.055);
  text-align: center;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.cai-history-card::before {
  display: none;
}

.cai-history-card:hover {
  transform: translateY(-5px);
  border-color: rgba(0, 80, 164, 0.24);
  box-shadow: 0 24px 54px rgba(0, 0, 0, 0.105);
}

.cai-history-card__icon {
  width: 44px;
  height: 44px;
  margin: 0 auto 14px;
  color: var(--cai-blue);
  display: flex;
  align-items: center;
  justify-content: center;
}

.cai-history-card__icon svg {
  width: 42px;
  height: 42px;
  display: block;
}

.cai-history-card__icon svg path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cai-history-card h3 {
  margin: 0 0 14px;
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 15px;
  line-height: 1.15;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--cai-blue);
}

.cai-history-card p {
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
  color: #536272;
}

.cai-history-card em {
  font-style: italic;
}

.cai-about-history__more {
  margin-top: 28px;
  text-align: center;
}

.cai-about-history__more a {
  display: inline-block;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: var(--cai-blue-light) !important;
  text-decoration: none !important;
  border-bottom: 2px solid var(--cai-gold);
  padding-bottom: 6px;
}

.cai-about-history__more a:hover {
  color: var(--cai-blue) !important;
}

/* Responsive */

@media only screen and (max-width: 1180px) {
  .cai-about-history__inner {
    padding: 50px 34px 60px;
  }

  .cai-history-timeline {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    padding-top: 0;
  }

  .cai-history-timeline::before {
    display: none;
  }

  .cai-history-card::before {
    display: none;
  }

  .cai-history-card {
    min-height: 240px;
    padding: 24px 18px 22px;
  }

  .cai-history-card h3 {
    font-size: 14px;
  }

  .cai-history-card p {
    font-size: 14px;
  }
}

@media only screen and (max-width: 767px) {
  .cai-about-history__inner {
    padding: 42px 24px 52px;
  }

  .cai-history-timeline {
    grid-template-columns: 1fr;
  }

  .cai-history-card {
    min-height: auto;
    text-align: left;
    display: grid;
    grid-template-columns: 54px 1fr;
    column-gap: 18px;
    padding: 22px 20px;
  }

  .cai-history-card__icon {
    grid-column: 1;
    grid-row: 1 / span 2;
    margin: 0;
  }

  .cai-history-card h3 {
    grid-column: 2;
    justify-content: flex-start;
    min-height: 0;
    margin-bottom: 8px;
    font-size: 15px;
  }

  .cai-history-card p {
    grid-column: 2;
    font-size: 14px;
  }
}

/* =========================================================
   PAGINA CHI SIAMO - ARCHIVIO PRESIDENTI
========================================================= */

.cai-history-presidents {
  margin-top: 58px;
  padding-top: 42px;
  border-top: 1px solid rgba(0, 59, 115, 0.14);
}

.cai-history-presidents__head {
  display: grid;
  grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr);
  gap: 56px;
  align-items: end;
  margin-bottom: 30px;
}

.cai-history-presidents__kicker {
  display: block;
  margin-bottom: 9px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

.cai-history-presidents__head h3 {
  margin: 0;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: clamp(27px, 2.4vw, 36px);
  line-height: 1.05;
  font-weight: 700;
  color: var(--cai-blue);
}

.cai-history-presidents__head p {
  max-width: 620px;
  margin: 0;
  font-size: 17px;
  line-height: 1.5;
  color: #536272;
}


/* Elenco */

.cai-history-presidents__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(0, 59, 115, 0.11);
}

.cai-history-president {
  position: relative;
  min-height: 82px;
  padding: 18px 24px 17px 20px;
  border-bottom: 1px solid rgba(0, 59, 115, 0.11);
}

.cai-history-president:nth-child(3n+2),
.cai-history-president:nth-child(3n+3) {
  border-left: 1px solid rgba(0, 59, 115, 0.08);
}

.cai-history-president::before {
  content: "";
  position: absolute;
  left: 0;
  top: 20px;
  width: 2px;
  height: 34px;
  background: rgba(211, 161, 31, 0.72);
}

.cai-history-president span {
  display: block;
  margin-bottom: 6px;
  font-size: 12px;
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: #6a7886;
}

.cai-history-president strong {
  display: block;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 16px;
  line-height: 1.25;
  font-weight: 700;
  color: var(--cai-blue);
}

.cai-history-president--current {
  background: rgba(0, 59, 115, 0.035);
}

.cai-history-president--current::before {
  width: 3px;
  background: var(--cai-gold);
}


/* Presidente onorario + nota */

.cai-history-presidents__footer {
  display: grid;
  grid-template-columns: minmax(260px, 0.75fr) minmax(0, 1.25fr);
  gap: 44px;
  align-items: center;
  margin-top: 30px;
  padding: 24px 28px;
  background: rgba(0, 59, 115, 0.035);
  border: 1px solid rgba(0, 59, 115, 0.08);
}

.cai-history-honorary {
  position: relative;
  padding-left: 18px;
}

.cai-history-honorary::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  bottom: 2px;
  width: 3px;
  background: var(--cai-gold);
}

.cai-history-honorary span {
  display: block;
  margin-bottom: 4px;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

.cai-history-honorary strong {
  display: block;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 700;
  color: var(--cai-blue);
}

.cai-history-honorary small {
  display: block;
  margin-top: 4px;
  font-size: 13px;
  line-height: 1.3;
  color: #63717f;
}

.cai-history-presidents__note {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: #536272;
}

.cai-history-presidents__note strong {
  color: var(--cai-blue);
}


/* Responsive */

@media only screen and (max-width: 1180px) {

  .cai-history-presidents__head {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .cai-history-presidents__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cai-history-president:nth-child(3n+2),
  .cai-history-president:nth-child(3n+3) {
    border-left: none;
  }

  .cai-history-president:nth-child(even) {
    border-left: 1px solid rgba(0, 59, 115, 0.08);
  }
}

@media only screen and (max-width: 767px) {

  .cai-history-presidents {
    margin-top: 44px;
    padding-top: 34px;
  }

  .cai-history-presidents__head {
    margin-bottom: 24px;
  }

  .cai-history-presidents__head h3 {
    font-size: 28px;
  }

  .cai-history-presidents__head p {
    font-size: 16px;
  }

  .cai-history-presidents__grid {
    grid-template-columns: 1fr;
  }

  .cai-history-president,
  .cai-history-president:nth-child(even) {
    border-left: none;
  }

  .cai-history-president {
    min-height: 0;
    padding: 15px 18px 15px 16px;
  }

  .cai-history-president::before {
    top: 16px;
    height: 30px;
  }

  .cai-history-presidents__footer {
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 22px 20px;
  }
}

/* =========================================================
   PAGINA CHI SIAMO - RISORSE E COLLEGAMENTI
========================================================= */

.cai-history-resources {
  margin-top: 46px;
  padding-top: 34px;
  border-top: 1px solid rgba(0, 59, 115, 0.12);
}

.cai-history-resources__head {
  max-width: 760px;
  margin-bottom: 26px;
}

.cai-history-resources__kicker {
  display: block;
  margin-bottom: 8px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

.cai-history-resources__head h3 {
  margin: 0 0 10px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 27px;
  line-height: 1.1;
  font-weight: 700;
  color: var(--cai-blue);
}

.cai-history-resources__head p {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  color: #536272;
}


/* I tre collegamenti */

.cai-history-resources__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid rgba(0, 59, 115, 0.12);
  border-bottom: 1px solid rgba(0, 59, 115, 0.12);
}

.cai-history-resource {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 155px;
  padding: 24px 28px 22px;
  color: inherit !important;
  text-decoration: none !important;
  transition:
    background 0.25s ease,
    transform 0.25s ease;
}

.cai-history-resource + .cai-history-resource {
  border-left: 1px solid rgba(0, 59, 115, 0.10);
}

.cai-history-resource::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 28px;
  width: 42px;
  height: 3px;
  background: var(--cai-gold);
}

.cai-history-resource:hover {
  background: rgba(0, 59, 115, 0.035);
}

.cai-history-resource > span {
  display: block;
  margin-bottom: 7px;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

.cai-history-resource strong {
  display: block;
  margin-bottom: 5px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 19px;
  line-height: 1.2;
  font-weight: 700;
  color: var(--cai-blue);
}

.cai-history-resource small {
  display: block;
  margin-bottom: 18px;
  font-size: 14px;
  line-height: 1.35;
  color: #63717f;
}

.cai-history-resource em {
  display: block;
  margin-top: auto;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  line-height: 1.2;
  font-style: normal;
  font-weight: 700;
  color: var(--cai-blue-light);
  transition: transform 0.2s ease;
}

.cai-history-resource:hover em {
  transform: translateX(4px);
}


/* Tablet */

@media only screen and (max-width: 989px) {

  .cai-history-resources__grid {
    grid-template-columns: 1fr;
  }

  .cai-history-resource + .cai-history-resource {
    border-left: none;
    border-top: 1px solid rgba(0, 59, 115, 0.10);
  }

  .cai-history-resource {
    min-height: 0;
  }
}


/* Mobile */

@media only screen and (max-width: 767px) {

  .cai-history-resources {
    margin-top: 38px;
    padding-top: 30px;
  }

  .cai-history-resources__head h3 {
    font-size: 25px;
  }

  .cai-history-resource {
    padding: 22px 20px 20px;
  }

  .cai-history-resource::before {
    left: 20px;
  }
}

/* =========================================================
   PAGINA CHI SIAMO - LA SEZIONE OGGI
========================================================= */

.cai-about-today-wrap {
  padding: 0 !important;
  margin: 0 !important;
  background: #ffffff;
}

.cai-about-today-wrap .container,
.cai-about-today-wrap .template-page,
.cai-about-today-wrap .post-entry,
.cai-about-today-wrap .entry-content-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cai-about-today {
  position: relative;
  overflow: hidden;
  background: #ffffff;
  color: var(--cai-text-dark);
  border-top: 1px solid rgba(0, 59, 115, 0.08);
}

.cai-about-today::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.032;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-position: center center;
  background-size: 620px auto;
}

.cai-about-today__inner {
  position: relative;
  z-index: 2;
  max-width: 1320px;
  margin: 0 auto;
  padding: 42px 56px 58px;
}

.cai-about-today .cai-section-head {
  margin-bottom: 28px;
}

.cai-about-today__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 22px;
}

.cai-about-today-card {
  min-height: 152px;
  padding: 24px 18px 22px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.055);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.cai-about-today-card:hover {
  transform: translateY(-5px);
  border-color: rgba(0, 80, 164, 0.24);
  box-shadow: 0 24px 54px rgba(0, 0, 0, 0.105);
}

.cai-about-today-card__icon {
  width: 42px;
  height: 42px;
  margin-bottom: 12px;
  color: var(--cai-blue-light);
  display: flex;
  align-items: center;
  justify-content: center;
}

.cai-about-today-card__icon svg {
  width: 40px;
  height: 40px;
  display: block;
}

.cai-about-today-card__icon svg path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cai-about-today-card strong {
  display: block;
  margin: 0 0 8px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 34px;
  line-height: 1;
  font-weight: 700;
  color: var(--cai-blue);
}

.cai-about-today-card span {
  display: block;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--cai-blue);
}

.cai-about-today-card--text {
  padding-left: 20px;
  padding-right: 20px;
}

.cai-about-today-card--text p {
  margin: 0;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 700;
  color: var(--cai-blue);
}

/* Responsive */

@media only screen and (max-width: 1180px) {
  .cai-about-today__inner {
    padding: 40px 34px 54px;
  }

  .cai-about-today__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media only screen and (max-width: 767px) {
  .cai-about-today__inner {
    padding: 36px 24px 48px;
  }

  .cai-about-today__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .cai-about-today-card {
    min-height: 142px;
    padding: 22px 14px 20px;
  }

  .cai-about-today-card strong {
    font-size: 30px;
  }

  .cai-about-today-card span {
    font-size: 11px;
  }
}

@media only screen and (max-width: 430px) {
  .cai-about-today__grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   PAGINE SOTTOSEZIONI CAI - TEMPLATE DINAMICO ACF
   Shortcode: [sottosezione_cai]
========================================================= */

.cai-subsection-wrap {
  padding: 0 !important;
  margin: 0 !important;
  background: #ffffff;
}

.cai-subsection-wrap .container,
.cai-subsection-wrap .template-page,
.cai-subsection-wrap .post-entry,
.cai-subsection-wrap .entry-content-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cai-subsection-page {
  position: relative;
  overflow: hidden;
  background: #ffffff;
  color: var(--cai-text-dark);
}

/* =========================================================
   HERO SOTTOSEZIONE
========================================================= */

.cai-subsection-hero {
  position: relative;
  overflow: hidden;
  background: var(--cai-blue);
  color: #ffffff;
}

.cai-subsection-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.08;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-position: center center;
  background-size: 560px auto;
}

.cai-subsection-hero__inner {
  position: relative;
  z-index: 2;
  max-width: 1320px;
  min-height: 430px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(420px, 0.85fr);
  align-items: stretch;
  overflow: hidden;
}

.cai-subsection-hero__content {
  position: relative;
  z-index: 3;
  padding: 86px 56px 72px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.cai-subsection-hero__logo {
  width: 112px;
  height: 112px;
  margin-bottom: 26px;
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border: 1px solid rgba(255,255,255,0.36);
  box-shadow: 0 18px 42px rgba(0,0,0,0.18);
}

.cai-subsection-hero__logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 88px;
  max-height: 88px;
  object-fit: contain;
}

.cai-subsection-hero__kicker {
  display: block;
  margin-bottom: 14px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

.cai-subsection-hero h1 {
  margin: 0;
  max-width: 720px;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: clamp(42px, 4.4vw, 68px);
  line-height: 0.98;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: #ffffff;
}

.cai-subsection-hero p {
  max-width: 680px;
  margin: 24px 0 0;
  font-size: clamp(18px, 1.45vw, 24px);
  line-height: 1.42;
  color: rgba(255,255,255,0.84);
}

.cai-subsection-hero__image {
  position: relative;
  min-height: 430px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%);
  -webkit-clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%);
}

.cai-subsection-hero__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(0, 43, 85, 0.40) 0%,
      rgba(0, 43, 85, 0.08) 42%,
      rgba(0, 43, 85, 0.18) 100%
    );
  pointer-events: none;
}

/* =========================================================
   DATI RAPIDI
========================================================= */

.cai-subsection-fast {
  position: relative;
  background: #f7f5f1;
  border-bottom: 1px solid rgba(0, 59, 115, 0.08);
}

.cai-subsection-fast::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.04;
  pointer-events: none;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-position: center center;
  background-size: 620px auto;
}

.cai-subsection-fast__inner {
  position: relative;
  z-index: 2;
  max-width: 1320px;
  margin: 0 auto;
  padding: 34px 56px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.cai-subsection-fast-card {
  min-height: 150px;
  padding: 28px 28px 26px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 14px 34px rgba(0,0,0,0.065);
}

.cai-subsection-fast-card__icon {
  width: 44px;
  height: 44px;
  margin-bottom: 18px;
  color: var(--cai-gold);
}

.cai-subsection-fast-card__icon svg {
  width: 44px;
  height: 44px;
  display: block;
}

.cai-subsection-fast-card__icon svg path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cai-subsection-fast-card h2 {
  margin: 0 0 12px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 19px;
  line-height: 1.1;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--cai-blue);
}

.cai-subsection-fast-card p {
  margin: 0 0 5px;
  font-size: 16px;
  line-height: 1.42;
  color: #4b5a67;
}

.cai-subsection-fast-card p:last-child {
  margin-bottom: 0;
}

.cai-subsection-fast-card strong {
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-weight: 700;
  color: var(--cai-blue);
}

.cai-subsection-fast-card a {
  color: var(--cai-blue-light) !important;
  text-decoration: none !important;
  font-weight: 700;
}

/* =========================================================
   CORPO PRINCIPALE
========================================================= */

.cai-subsection-main {
  position: relative;
  overflow: hidden;
  background: #ffffff;
}

.cai-subsection-main::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.032;
  pointer-events: none;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-position: center center;
  background-size: 620px auto;
}

.cai-subsection-main__inner {
  position: relative;
  z-index: 2;
  max-width: 1320px;
  margin: 0 auto;
  padding: 66px 56px 72px;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(420px, 0.88fr);
  gap: 58px;
  align-items: start;
}

.cai-subsection-main__kicker {
  display: block;
  margin-bottom: 12px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

.cai-subsection-main__text h2,
.cai-subsection-feature h2 {
  margin: 0 0 28px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: clamp(32px, 3vw, 46px);
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--cai-blue);
}

.cai-subsection-main__body {
  max-width: 760px;
}

.cai-subsection-main__body p {
  margin: 0 0 18px;
  font-size: 18px;
  line-height: 1.62;
  color: #4b5a67;
}

.cai-subsection-main__body p:last-child {
  margin-bottom: 0;
}

.cai-subsection-main__body em {
  font-style: italic;
}

/* Social */

.cai-subsection-social {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 30px;
  flex-wrap: wrap;
}

.cai-subsection-social a {
  min-height: 42px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--cai-blue-light) !important;
  border: 1px solid rgba(0, 80, 164, 0.26);
  text-transform: uppercase;
  text-decoration: none !important;
}

.cai-subsection-social a:hover {
  background: var(--cai-blue-light);
  border-color: var(--cai-blue-light);
  color: #ffffff !important;
}

/* =========================================================
   IN PRIMO PIANO
========================================================= */

.cai-subsection-feature {
  position: relative;
}

.cai-subsection-feature__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

.cai-subsection-feature-card {
  position: relative;
  padding: 26px 26px 24px 92px;
  min-height: 150px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 14px 34px rgba(0,0,0,0.065);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.cai-subsection-feature-card:hover {
  transform: translateY(-4px);
  border-color: rgba(0, 80, 164, 0.24);
  box-shadow: 0 22px 50px rgba(0,0,0,0.11);
}

.cai-subsection-feature-card__icon {
  position: absolute;
  left: 26px;
  top: 28px;
  width: 42px;
  height: 42px;
  color: var(--cai-gold);
}

.cai-subsection-feature-card__icon svg {
  width: 42px;
  height: 42px;
  display: block;
}

.cai-subsection-feature-card__icon svg path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cai-subsection-feature-card span {
  display: block;
  margin-bottom: 7px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

.cai-subsection-feature-card h3 {
  margin: 0 0 10px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 21px;
  line-height: 1.1;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--cai-blue);
}

.cai-subsection-feature-card p {
  margin: 0 0 14px;
  font-size: 15px;
  line-height: 1.45;
  color: #536272;
}

.cai-subsection-feature-card a {
  display: inline-block;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--cai-blue-light) !important;
  text-decoration: none !important;
  border-bottom: 2px solid var(--cai-gold);
  padding-bottom: 5px;
}

.cai-subsection-feature-card a:hover {
  color: var(--cai-blue) !important;
}

/* =========================================================
   CTA FINALE SOTTOSEZIONE
========================================================= */

.cai-subsection-cta {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(
      90deg,
      rgba(0, 31, 61, 0.98) 0%,
      rgba(0, 59, 115, 0.92) 55%,
      rgba(0, 31, 61, 0.70) 100%
    ),
    url("/wp-content/uploads/2026/05/montagna-sfondo-iscrizione.png");
  background-size: cover;
  background-position: center center;
  color: #ffffff;
}

.cai-subsection-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.08;
  pointer-events: none;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-position: center center;
  background-size: 520px auto;
}

.cai-subsection-cta__inner {
  position: relative;
  z-index: 2;
  max-width: 1320px;
  margin: 0 auto;
  padding: 46px 56px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 34px;
  align-items: center;
}

.cai-subsection-cta h2 {
  margin: 0 0 10px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
  color: #ffffff;
}

.cai-subsection-cta p {
  max-width: 720px;
  margin: 0;
  font-size: 17px;
  line-height: 1.45;
  color: rgba(255,255,255,0.84);
}

.cai-subsection-cta a {
  min-width: 220px;
  min-height: 52px;
  padding: 0 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #ffffff !important;
  background: var(--cai-gold);
  border: 2px solid var(--cai-gold);
  text-transform: uppercase;
  text-decoration: none !important;
  transition: all 0.25s ease;
}

.cai-subsection-cta a:hover {
  background: #b98915;
  border-color: #b98915;
  color: #ffffff !important;
  transform: translateY(-2px);
}

/* =========================================================
   RESPONSIVE SOTTOSEZIONI
========================================================= */

@media only screen and (max-width: 1180px) {
  .cai-subsection-hero__inner {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .cai-subsection-hero__content {
    padding: 74px 34px 56px;
  }

  .cai-subsection-hero__image {
    min-height: 320px;
    clip-path: none;
    -webkit-clip-path: none;
  }

  .cai-subsection-fast__inner {
    padding: 30px 34px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cai-subsection-main__inner {
    padding: 58px 34px 64px;
    grid-template-columns: 1fr;
    gap: 46px;
  }

  .cai-subsection-feature__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cai-subsection-cta__inner {
    padding: 42px 34px;
    grid-template-columns: 1fr;
  }
}

@media only screen and (max-width: 767px) {
  .cai-subsection-hero__content {
    padding: 58px 24px 44px;
  }

  .cai-subsection-hero__logo {
    width: 92px;
    height: 92px;
    margin-bottom: 22px;
  }

  .cai-subsection-hero__logo img {
    max-width: 72px;
    max-height: 72px;
  }

  .cai-subsection-hero h1 {
    font-size: 38px;
  }

  .cai-subsection-hero p {
    font-size: 17px;
  }

  .cai-subsection-hero__image {
    min-height: 240px;
  }

  .cai-subsection-fast__inner {
    padding: 24px;
    grid-template-columns: 1fr;
  }

  .cai-subsection-fast-card {
    min-height: auto;
    padding: 24px 22px;
  }

  .cai-subsection-main__inner {
    padding: 46px 24px 54px;
  }

  .cai-subsection-main__text h2,
  .cai-subsection-feature h2 {
    font-size: 32px;
  }

  .cai-subsection-main__body p {
    font-size: 16px;
  }

  .cai-subsection-feature__grid {
    grid-template-columns: 1fr;
  }

  .cai-subsection-feature-card {
    padding: 24px 22px 22px 78px;
  }

  .cai-subsection-feature-card__icon {
    left: 22px;
    top: 25px;
    width: 36px;
    height: 36px;
  }

  .cai-subsection-feature-card__icon svg {
    width: 36px;
    height: 36px;
  }

  .cai-subsection-feature-card h3 {
    font-size: 19px;
  }

  .cai-subsection-cta__inner {
    padding: 38px 24px;
  }

  .cai-subsection-cta a {
    width: 100%;
  }
}

/* =========================================================
   MENU DESKTOP CAI - VOCI + DROPDOWN "LA SEZIONE"
========================================================= */

@media only screen and (min-width: 1200px) {

  /* Voci principali menu */
  #top #header .av-main-nav > li > a {
    position: relative !important;
    padding: 0 13px !important;
    font-family: 'source-sans-3', Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    color: var(--cai-text-dark) !important;
  }

  #top #header .av-main-nav > li > a .avia-menu-text {
    color: var(--cai-text-dark) !important;
  }

  /* Hover e voce attiva */
  #top #header .av-main-nav > li > a:hover .avia-menu-text,
  #top #header .av-main-nav > li.current-menu-item > a .avia-menu-text,
  #top #header .av-main-nav > li.current-menu-ancestor > a .avia-menu-text,
  #top #header .av-main-nav > li.current_page_item > a .avia-menu-text {
    color: var(--cai-blue) !important;
  }

  /* Linea oro sotto la voce attiva/hover */
  #top #header .av-main-nav > li > a::after {
    content: "" !important;
    position: absolute !important;
    left: 12px !important;
    right: 12px !important;
    bottom: 26px !important;
    height: 2px !important;
    background: var(--cai-gold) !important;
    opacity: 0 !important;
    transform: scaleX(0.4) !important;
    transition: opacity 0.22s ease, transform 0.22s ease !important;
    display: block !important;
  }

  #top #header .av-main-nav > li:hover > a::after,
  #top #header .av-main-nav > li.current-menu-item > a::after,
  #top #header .av-main-nav > li.current-menu-ancestor > a::after,
  #top #header .av-main-nav > li.current_page_item > a::after {
    opacity: 1 !important;
    transform: scaleX(1) !important;
  }

  /* Freccia piccola accanto alle voci principali con sottomenu */
  #top #header .av-main-nav > li.menu-item-has-children > a .avia-menu-text::after {
    content: "⌄";
    display: inline-block;
    margin-left: 8px;
    font-size: 16px;
    line-height: 1;
    color: var(--cai-gold);
    transform: translateY(-1px);
  }

  /* =========================================================
     DROPDOWN "LA SEZIONE"
  ========================================================= */

  #top #header .av-main-nav > li.menu-la-sezione {
    position: relative !important;
  }

  #top #header .av-main-nav > li.menu-la-sezione > ul.sub-menu {
    top: 92px !important;
    left: 50% !important;
    width: 470px !important;
    min-width: 470px !important;
    padding: 18px 32px !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;

    background: rgba(255, 255, 255, 0.98) !important;
    border: 1px solid rgba(0, 59, 115, 0.10) !important;
    border-top: 4px solid var(--cai-gold) !important;
    border-radius: 10px !important;

    box-shadow: 0 26px 70px rgba(0, 0, 0, 0.16) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);

    overflow: hidden !important;
    z-index: 9999 !important;
  }

  /* Reset stili Enfold sul dropdown */
  #top #header .av-main-nav > li.menu-la-sezione > ul.sub-menu,
  #top #header .av-main-nav > li.menu-la-sezione > ul.sub-menu li,
  #top #header .av-main-nav > li.menu-la-sezione > ul.sub-menu li a {
    box-sizing: border-box !important;
  }

  #top #header .av-main-nav > li.menu-la-sezione > ul.sub-menu > li {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    border: none !important;
    background: transparent !important;
  }

  #top #header .av-main-nav > li.menu-la-sezione > ul.sub-menu > li + li {
    border-top: 1px solid rgba(0, 59, 115, 0.09) !important;
  }

  #top #header .av-main-nav > li.menu-la-sezione > ul.sub-menu > li > a {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: 74px !important;
    padding: 0 40px 0 74px !important;

    font-family: 'source-sans-3', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    color: var(--cai-text-dark) !important;
    background: transparent !important;
    text-decoration: none !important;
  }

  #top #header .av-main-nav > li.menu-la-sezione > ul.sub-menu > li > a .avia-menu-text {
    color: var(--cai-text-dark) !important;
  }

  /* Icone vere SVG sul LI del sottomenu */
  #top #header .av-main-nav > li.menu-la-sezione > ul.sub-menu > li::before {
    content: "" !important;
    position: absolute !important;
    left: 18px !important;
    top: 50% !important;
    width: 30px !important;
    height: 30px !important;
    transform: translateY(-50%) !important;
    display: block !important;
    z-index: 5 !important;
    pointer-events: none !important;

    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: contain !important;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23d3a11f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 38 18 17l8 13 6-10 10 18H6Z'/%3E%3Cpath d='m18 17 4 6'/%3E%3Cpath d='m32 20 4 6'/%3E%3C/svg%3E") !important;
  }

  /* Prima voce: Chi siamo = icona utenti */
  #top #header .av-main-nav > li.menu-la-sezione > ul.sub-menu > li:first-child::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23d3a11f' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='16' r='5'/%3E%3Cpath d='M14 35c1.5-6 5.5-10 10-10s8.5 4 10 10'/%3E%3Ccircle cx='12' cy='18' r='4'/%3E%3Ccircle cx='36' cy='18' r='4'/%3E%3Cpath d='M6 34c1-4.5 3.8-7.5 7-8.5'/%3E%3Cpath d='M42 34c-1-4.5-3.8-7.5-7-8.5'/%3E%3C/svg%3E") !important;
  }

  /* Freccia a destra */
  #top #header .av-main-nav > li.menu-la-sezione > ul.sub-menu > li > a::after {
    content: "›" !important;
    position: absolute !important;
    right: 18px !important;
    top: 50% !important;
    transform: translateY(-52%) !important;
    font-size: 32px !important;
    line-height: 1 !important;
    font-weight: 300 !important;
    color: rgba(31, 52, 72, 0.55) !important;
    transition: color 0.22s ease, transform 0.22s ease !important;
  }

  /* Hover sottomenu */
  #top #header .av-main-nav > li.menu-la-sezione > ul.sub-menu > li > a:hover {
    background: rgba(0, 80, 164, 0.045) !important;
    color: var(--cai-blue) !important;
  }

  #top #header .av-main-nav > li.menu-la-sezione > ul.sub-menu > li > a:hover .avia-menu-text {
    color: var(--cai-blue) !important;
  }

  #top #header .av-main-nav > li.menu-la-sezione > ul.sub-menu > li > a:hover::after {
    color: var(--cai-gold) !important;
    transform: translate(4px, -52%) !important;
  }

  /* Sottomenu sopra tutto */
  #top #header,
  #top #header .main_menu,
  #top #header .av-main-nav,
  #top #header .av-main-nav > li {
    overflow: visible !important;
  }
}

/* =========================================================
   MENU DESKTOP CAI - DROPDOWN "RIFUGI E BIVACCHI"
   Stesso stile di "La sezione", con icone dedicate
========================================================= */

@media only screen and (min-width: 1200px) {

  #top #header .av-main-nav > li.menu-rifugi-bivacchi {
    position: relative !important;
  }

  #top #header .av-main-nav > li.menu-rifugi-bivacchi > ul.sub-menu {
    top: 92px !important;
    left: 50% !important;
    width: 470px !important;
    min-width: 470px !important;
    padding: 18px 32px !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;

    background: rgba(255, 255, 255, 0.98) !important;
    border: 1px solid rgba(0, 59, 115, 0.10) !important;
    border-top: 4px solid var(--cai-gold) !important;
    border-radius: 10px !important;

    box-shadow: 0 26px 70px rgba(0, 0, 0, 0.16) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);

    overflow: hidden !important;
    z-index: 9999 !important;
  }

  #top #header .av-main-nav > li.menu-rifugi-bivacchi > ul.sub-menu,
  #top #header .av-main-nav > li.menu-rifugi-bivacchi > ul.sub-menu li,
  #top #header .av-main-nav > li.menu-rifugi-bivacchi > ul.sub-menu li a {
    box-sizing: border-box !important;
  }

  #top #header .av-main-nav > li.menu-rifugi-bivacchi > ul.sub-menu > li {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    border: none !important;
    background: transparent !important;
  }

  #top #header .av-main-nav > li.menu-rifugi-bivacchi > ul.sub-menu > li + li {
    border-top: 1px solid rgba(0, 59, 115, 0.09) !important;
  }

  #top #header .av-main-nav > li.menu-rifugi-bivacchi > ul.sub-menu > li > a {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: 74px !important;
    padding: 0 40px 0 74px !important;

    font-family: 'source-sans-3', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    color: var(--cai-text-dark) !important;
    background: transparent !important;
    text-decoration: none !important;
  }

  #top #header .av-main-nav > li.menu-rifugi-bivacchi > ul.sub-menu > li > a .avia-menu-text {
    color: var(--cai-text-dark) !important;
  }

  /* Icona default: rifugio / casetta alpina */
  #top #header .av-main-nav > li.menu-rifugi-bivacchi > ul.sub-menu > li::before {
    content: "" !important;
    position: absolute !important;
    left: 18px !important;
    top: 50% !important;
    width: 31px !important;
    height: 31px !important;
    transform: translateY(-50%) !important;
    display: block !important;
    z-index: 5 !important;
    pointer-events: none !important;

    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: contain !important;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23d3a11f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 25 24 10l17 15'/%3E%3Cpath d='M12 23v18h24V23'/%3E%3Cpath d='M20 41V30h8v11'/%3E%3Cpath d='M17 20h14'/%3E%3C/svg%3E") !important;
  }

  /* Prima voce: panoramica strutture */
  #top #header .av-main-nav > li.menu-rifugi-bivacchi > ul.sub-menu > li:first-child::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23d3a11f' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 38 18 17l8 13 6-10 10 18H6Z'/%3E%3Cpath d='M18 17l4 6'/%3E%3Cpath d='M32 20l4 6'/%3E%3Cpath d='M9 38h30'/%3E%3C/svg%3E") !important;
  }

  /* Seconda voce: rifugio */
  #top #header .av-main-nav > li.menu-rifugi-bivacchi > ul.sub-menu > li:nth-child(2)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23d3a11f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 24 24 10l16 14'/%3E%3Cpath d='M13 22v19h22V22'/%3E%3Cpath d='M20 41V30h8v11'/%3E%3Cpath d='M18 25h4'/%3E%3Cpath d='M26 25h4'/%3E%3C/svg%3E") !important;
  }

  /* Terza voce: altro rifugio / struttura */
  #top #header .av-main-nav > li.menu-rifugi-bivacchi > ul.sub-menu > li:nth-child(3)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23d3a11f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 39 16 20l7 11 5-8 15 16H5Z'/%3E%3Cpath d='M17 39V29h12v10'/%3E%3Cpath d='M20 29h6'/%3E%3C/svg%3E") !important;
  }

  /* Quarta voce: bivacchi */
  #top #header .av-main-nav > li.menu-rifugi-bivacchi > ul.sub-menu > li:nth-child(4)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23d3a11f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 39 24 10l16 29H8Z'/%3E%3Cpath d='M24 10v29'/%3E%3Cpath d='M16 39l8-13 8 13'/%3E%3C/svg%3E") !important;
  }

  /* Quinta voce: capanne sociali */
  #top #header .av-main-nav > li.menu-rifugi-bivacchi > ul.sub-menu > li:nth-child(5)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23d3a11f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 24 24 12l15 12'/%3E%3Cpath d='M13 23v18h22V23'/%3E%3Cpath d='M18 41V29h12v12'/%3E%3Cpath d='M16 18h16'/%3E%3Cpath d='M20 12V7h8v5'/%3E%3C/svg%3E") !important;
  }

  /* Freccia a destra */
  #top #header .av-main-nav > li.menu-rifugi-bivacchi > ul.sub-menu > li > a::after {
    content: "›" !important;
    position: absolute !important;
    right: 18px !important;
    top: 50% !important;
    transform: translateY(-52%) !important;
    font-size: 32px !important;
    line-height: 1 !important;
    font-weight: 300 !important;
    color: rgba(31, 52, 72, 0.55) !important;
    transition: color 0.22s ease, transform 0.22s ease !important;
  }

  /* Hover */
  #top #header .av-main-nav > li.menu-rifugi-bivacchi > ul.sub-menu > li > a:hover {
    background: rgba(0, 80, 164, 0.045) !important;
    color: var(--cai-blue) !important;
  }

  #top #header .av-main-nav > li.menu-rifugi-bivacchi > ul.sub-menu > li > a:hover .avia-menu-text {
    color: var(--cai-blue) !important;
  }

  #top #header .av-main-nav > li.menu-rifugi-bivacchi > ul.sub-menu > li > a:hover::after {
    color: var(--cai-gold) !important;
    transform: translate(4px, -52%) !important;
  }

  #top #header,
  #top #header .main_menu,
  #top #header .av-main-nav,
  #top #header .av-main-nav > li {
    overflow: visible !important;
  }
}

/* =========================================================
   RIFUGI E BIVACCHI - INTRO / NUMERI - LAYOUT FINALE
========================================================= */

.cai-rifugi-section {
  overflow: visible !important;
}

.cai-rifugi-intro {
  display: grid !important;

  /* Più spazio al titolo, meno spazio vuoto tra le colonne */
  grid-template-columns:
    minmax(350px, 1.05fr)
    minmax(300px, 0.95fr)
    minmax(360px, 1.30fr) !important;

  gap: 24px !important;
  column-gap: 24px !important;

  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

.cai-rifugi-intro-text {
  padding-left: 34px !important;
  border-left: 1px solid rgba(0, 59, 115, 0.16) !important;
}

.cai-rifugi-intro-text p {
  max-width: 560px !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
}

.cai-rifugi-stats {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(70px, 1fr)) !important;
  border-left: 1px solid rgba(0, 59, 115, 0.12) !important;
  overflow: visible !important;
}

.cai-rifugi-stat {
  min-width: 0 !important;
  padding: 8px 10px !important;
  text-align: center !important;
  border-right: 1px solid rgba(0, 59, 115, 0.12) !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

.cai-rifugi-stat strong {
  display: block !important;
  font-size: 34px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

.cai-rifugi-stat small {
  display: block !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  white-space: normal !important;
}

/* =========================================================
   CHI SIAMO - SEZIONE, SOTTOSEZIONI E GRUPPI
   Versione card testuali senza loghi
========================================================= */

.cai-about-groups--cards {
  background: #ffffff;
}

.cai-about-groups--cards .cai-about-groups__inner {
  max-width: 1320px;
  padding: 58px 56px 72px;
}

.cai-about-groups--cards .cai-section-head {
  margin-bottom: 42px;
}

.cai-about-groups__grid--textcards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.cai-about-groups__grid--textcards .cai-about-group-card {
  position: relative;
  min-height: 210px;
  padding: 42px 42px 34px;
  display: block;
  overflow: hidden;
  background: rgba(255,255,255,0.96);
  border: 1px solid rgba(0, 59, 115, 0.09);
  box-shadow: 0 14px 34px rgba(0,0,0,0.055);
  text-decoration: none !important;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease,
    background 0.25s ease;
}

.cai-about-groups__grid--textcards .cai-about-group-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.06;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 360px auto;
}

.cai-about-groups__grid--textcards .cai-about-group-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 54px rgba(0,0,0,0.105);
  border-color: rgba(0, 80, 164, 0.22);
}

/* Triangolo angolare */
.cai-about-group-card__corner {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
  width: 72px;
  height: 72px;
  background: var(--cai-gold);
  clip-path: polygon(0 0, 100% 0, 0 100%);
  -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
  transition: background 0.25s ease;
}

.cai-about-groups__grid--textcards .cai-about-group-card:hover .cai-about-group-card__corner {
  background: var(--cai-blue);
}

/* Icona nel triangolo */
.cai-about-group-card__icon {
  position: absolute;
  left: 13px;
  top: 12px;
  z-index: 4;
  width: 28px;
  height: 28px;
  color: #ffffff;
  pointer-events: none;
}

.cai-about-group-card__icon svg {
  width: 28px;
  height: 28px;
  display: block;
}

.cai-about-group-card__icon svg path,
.cai-about-group-card__icon svg circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Testi */
.cai-about-group-card__text {
  position: relative;
  z-index: 5;
  max-width: 64%;
  padding-left: 26px;
}

.cai-about-groups__grid--textcards .cai-about-group-card h3 {
  margin: 0;
  min-height: 0;
  display: block;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 24px;
  line-height: 1.08;
  font-weight: 700;
  letter-spacing: 0.025em;
  text-align: left;
  text-transform: uppercase;
  color: var(--cai-blue);
}

.cai-about-group-card__text span {
  display: block;
  width: 44px;
  height: 2px;
  margin: 17px 0 20px;
  background: var(--cai-gold);
}

.cai-about-group-card__text p {
  margin: 0;
  font-size: 16px;
  line-height: 1.45;
  color: #536272;
}

/* =========================================================
   DISEGNI DI SFONDO CARD - VERSIONE PIÙ VICINA AL MOCKUP
========================================================= */

.cai-about-groups__grid--textcards .cai-about-group-card::after {
  content: "";
  position: absolute;
  right: -6px;
  bottom: -4px;
  width: 280px;
  height: 165px;
  z-index: 1;
  pointer-events: none;
  opacity: 0.19;
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;
}

/* Sede: edificio + montagne leggere */
.cai-about-group-card--sede::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 170' fill='none' stroke='%238998a8' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 145c35-28 70-36 105-24 29 10 58 4 86-20 24-21 52-28 91-14' opacity='.45'/%3E%3Cpath d='M24 145 81 93l32 28 35-45 57 69' opacity='.32'/%3E%3Cpath d='M160 145V76h82v69'/%3E%3Cpath d='M146 76h110l-55-34-55 34Z'/%3E%3Cpath d='M201 42V26h25'/%3E%3Cpath d='M179 145v-36h20v36'/%3E%3Cpath d='M215 91h13M172 91h13M215 114h13M172 114h13'/%3E%3C/svg%3E");
}

/* Borgo San Dalmazzo: montagne nette */
.cai-about-group-card--borgo::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 170' fill='none' stroke='%238998a8' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 150 72 82l34 39 35-58 55 68 32-34 64 53H8Z' opacity='.42'/%3E%3Cpath d='M72 82l16 25 18 14M141 63l21 35 34 33M228 97l15 24' opacity='.35'/%3E%3Cpath d='M22 150c38-20 73-24 109-12 43 14 86 7 143-28' opacity='.22'/%3E%3C/svg%3E");
}

/* Busca: curve altimetriche come nel mockup */
.cai-about-group-card--busca::after {
  width: 300px;
  height: 180px;
  opacity: 0.23;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 190' fill='none' stroke='%23d3a11f' stroke-width='1.15' stroke-linecap='round'%3E%3Cpath d='M22 156c36-31 64-32 98-1 32 29 61 28 96 0 31-25 58-24 88 1' opacity='.42'/%3E%3Cpath d='M22 137c36-31 64-32 98-1 32 29 61 28 96 0 31-25 58-24 88 1' opacity='.34'/%3E%3Cpath d='M22 118c36-31 64-32 98-1 32 29 61 28 96 0 31-25 58-24 88 1' opacity='.28'/%3E%3Cpath d='M22 99c36-31 64-32 98-1 32 29 61 28 96 0 31-25 58-24 88 1' opacity='.20'/%3E%3Cpath d='M22 80c36-31 64-32 98-1 32 29 61 28 96 0 31-25 58-24 88 1' opacity='.14'/%3E%3C/svg%3E");
}

/* Dronero: montagne più presenti */
.cai-about-group-card--dronero::after {
  width: 310px;
  height: 180px;
  opacity: 0.20;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 190' fill='none' stroke='%238998a8' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 164 54 121l27 20 42-74 39 60 35-46 113 83H8Z' opacity='.42'/%3E%3Cpath d='M123 67l18 31 21 29M197 81l19 28 25 18M54 121l18 20' opacity='.35'/%3E%3Cpath d='M12 164c48-24 91-29 132-14 56 20 103 5 160-30' opacity='.20'/%3E%3C/svg%3E");
}

/* Scuola: sci + picozza + corda */
.cai-about-group-card--school::after {
  display: none;
}

.cai-about-group-card__drawing--school {
  position: absolute;
  right: 18px;
  bottom: 4px;
  z-index: 2;
  width: 235px;
  height: 170px;
  color: #8998a8;
  opacity: 0.26;
  pointer-events: none;
}

.cai-about-group-card__drawing--school svg {
  width: 100%;
  height: 100%;
  display: block;
}

.cai-about-group-card__drawing--school svg path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Speleo: grotta/parete rocciosa più vicina al mockup */
.cai-about-group-card--speleo::after {
  width: 300px;
  height: 175px;
  opacity: 0.22;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 185' fill='none' stroke='%238998a8' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M62 162c4-52 35-100 89-133 50 28 84 75 91 133' opacity='.36'/%3E%3Cpath d='M91 162c5-31 25-58 62-78 35 20 55 47 61 78' opacity='.30'/%3E%3Cpath d='M120 162c9-17 20-25 34-25s25 8 35 25' opacity='.25'/%3E%3Cpath d='M21 162h278' opacity='.32'/%3E%3Cpath d='M45 150c22-18 50-18 82-6M197 143c33-16 61-15 88 3' opacity='.22'/%3E%3C/svg%3E");
}

/* Corale: pentagramma e note più ampio */
.cai-about-group-card--corale::after {
  width: 315px;
  height: 175px;
  opacity: 0.22;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 185' fill='none' stroke='%238998a8' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 130c68-36 151-43 293-92' opacity='.22'/%3E%3Cpath d='M23 144c68-36 151-43 293-92' opacity='.22'/%3E%3Cpath d='M26 158c68-36 151-43 293-92' opacity='.22'/%3E%3Cpath d='M74 104v46'/%3E%3Cpath d='M74 104l56-13v46'/%3E%3Cpath d='M74 150c-7-6-24-4-29 6-5 13 20 15 29 1'/%3E%3Cpath d='M130 137c-7-6-24-4-29 6-5 13 20 15 29 1'/%3E%3Cpath d='M190 83v46'/%3E%3Cpath d='M190 83l50-12v46'/%3E%3Cpath d='M190 129c-7-6-23-4-28 6-5 12 20 15 28 1'/%3E%3C/svg%3E");
}

/* MTB: bici grande a destra */
.cai-about-group-card--mtb::after {
  width: 330px;
  height: 180px;
  opacity: 0.24;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 340 185' fill='none' stroke='%238998a8' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='95' cy='122' r='33' opacity='.38'/%3E%3Ccircle cx='236' cy='122' r='33' opacity='.38'/%3E%3Cpath d='M95 122l52-67h45l44 67M147 55l35 67M147 55h-38M192 55l32-31h38' opacity='.48'/%3E%3Cpath d='M36 158c54-26 105-28 154-10 47 17 88 8 126-14' opacity='.24'/%3E%3C/svg%3E");
}

/* Soccorso: montagna + croce, come nel mockup */
.cai-about-group-card--soccorso::after {
  width: 310px;
  height: 180px;
  opacity: 0.23;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 185' fill='none' stroke='%238998a8' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 160 80 88l38 36 38-58 56 73 32-37 66 58H10Z' opacity='.36'/%3E%3Cpath d='M80 88l18 24 20 12M156 66l22 38 34 35M244 102l17 24' opacity='.30'/%3E%3Ccircle cx='257' cy='129' r='25' opacity='.48'/%3E%3Cpath d='M257 115v28M243 129h28' opacity='.65'/%3E%3C/svg%3E");
}

/* Hover testi */
.cai-about-groups__grid--textcards .cai-about-group-card:hover h3 {
  color: var(--cai-blue-light);
}

/* Responsive */
@media only screen and (max-width: 1180px) {
  .cai-about-groups--cards .cai-about-groups__inner {
    padding: 52px 34px 64px;
  }

  .cai-about-groups__grid--textcards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cai-about-group-card__text {
    max-width: 68%;
  }
}

@media only screen and (max-width: 767px) {
  .cai-about-groups--cards .cai-about-groups__inner {
    padding: 42px 24px 52px;
  }

  .cai-about-groups__grid--textcards {
    grid-template-columns: 1fr;
  }

  .cai-about-groups__grid--textcards .cai-about-group-card {
    min-height: 190px;
    padding: 36px 30px 30px;
  }

  .cai-about-group-card__text {
    max-width: 72%;
    padding-left: 18px;
  }

  .cai-about-groups__grid--textcards .cai-about-group-card h3 {
    font-size: 21px;
  }

  .cai-about-group-card__text p {
    font-size: 15px;
  }
}

/* =========================================================
   CHI SIAMO - DISEGNI SVG CARICATI IN MEDIA
========================================================= */

/* Base comune per i disegni di sfondo */
.cai-about-groups__grid--textcards .cai-about-group-card::after {
  content: "" !important;
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 285px !important;
  height: 155px !important;
  z-index: 1 !important;
  pointer-events: none !important;
  opacity: 0.95 !important;
  background-repeat: no-repeat !important;
  background-position: right bottom !important;
  background-size: contain !important;
}

/* Sede e segreteria */
.cai-about-group-card--sede::after {
  background-image: url("/wp-content/uploads/2026/05/01-sede-segreteria.svg") !important;
}

/* Borgo San Dalmazzo */
.cai-about-group-card--borgo::after {
  background-image: url("/wp-content/uploads/2026/05/03-sottosezione-borgo-san-dalmazzo.svg") !important;
}

/* Busca */
.cai-about-group-card--busca::after {
  background-image: url("/wp-content/uploads/2026/05/04-sottosezione-busca.svg") !important;
}

/* Dronero */
.cai-about-group-card--dronero::after {
  background-image: url("/wp-content/uploads/2026/05/05-sottosezione-dronero.svg") !important;
}

/* Scuola Gianni Ellena */
.cai-about-group-card--scuola::after {
  background-image: url("/wp-content/uploads/2026/05/06-scuola-gianni-ellena.svg") !important;
}

/* Gruppo Speleologico Alpi Marittime */
.cai-about-group-card--speleo::after {
  background-image: url("/wp-content/uploads/2026/05/07-gruppo-speleologico-alpi-marittime.svg") !important;
}

/* Corale La Baita */
.cai-about-group-card--corale::after {
  background-image: url("/wp-content/uploads/2026/05/08-corale-la-baita.svg") !important;
}

/* MTB CAI Cuneo */
.cai-about-group-card--mtb::after {
  background-image: url("/wp-content/uploads/2026/05/09-mtb-cai-cuneo.svg") !important;
}

/* Soccorso Alpino */
.cai-about-group-card--soccorso::after {
  background-image: url("/wp-content/uploads/2026/05/02-soccorso-alpino.svg") !important;
}

/* Nasconde eventuale SVG inline della scuola, se ancora presente nell'HTML */
.cai-about-group-card__drawing--school {
  display: none !important;
}

/* =========================================================
   CHI SIAMO - CARD CON PNG DI SFONDO
========================================================= */

.cai-about-groups__grid--textcards .cai-about-group-card::after {
  display: none !important;
  content: none !important;
  background-image: none !important;
}

.cai-about-group-card__bg {
  position: absolute !important;
  right: -18px !important;
  bottom: -10px !important;
  width: 52% !important;
  height: auto !important;
  max-height: 88% !important;
  object-fit: contain !important;
  object-position: right bottom !important;
  z-index: 1 !important;
  opacity: 0.78 !important;
  pointer-events: none !important;
  user-select: none !important;
}

.cai-about-group-card--sede .cai-about-group-card__bg {
  width: 58% !important;
}

.cai-about-group-card--scuola .cai-about-group-card__bg,
.cai-about-group-card--mtb .cai-about-group-card__bg,
.cai-about-group-card--speleo .cai-about-group-card__bg {
  width: 60% !important;
}

.cai-about-group-card--busca .cai-about-group-card__bg {
  width: 62% !important;
  opacity: 0.72 !important;
}

.cai-about-group-card__text {
  position: relative !important;
  z-index: 5 !important;
}

.cai-about-group-card__corner,
.cai-about-group-card__icon {
  z-index: 6 !important;
}

@media only screen and (max-width: 767px) {
  .cai-about-group-card__bg {
    width: 62% !important;
    opacity: 0.68 !important;
  }
}

.cai-about-group-card--sede .cai-about-group-card__bg {
  right: -12px !important;
  bottom: -8px !important;
  width: 50% !important;
}

.cai-about-group-card--borgo .cai-about-group-card__bg,
.cai-about-group-card--busca .cai-about-group-card__bg,
.cai-about-group-card--dronero .cai-about-group-card__bg,
.cai-about-group-card--soccorso .cai-about-group-card__bg {
  right: -22px !important;
  bottom: -10px !important;
  width: 54% !important;
}

.cai-about-group-card--scuola .cai-about-group-card__bg {
  right: -14px !important;
  bottom: -12px !important;
  width: 48% !important;
}

.cai-about-group-card--speleo .cai-about-group-card__bg {
  right: -16px !important;
  bottom: -12px !important;
  width: 50% !important;
}

.cai-about-group-card--corale .cai-about-group-card__bg {
  right: -20px !important;
  bottom: -8px !important;
  width: 54% !important;
}

.cai-about-group-card--mtb .cai-about-group-card__bg {
  right: -16px !important;
  bottom: -10px !important;
  width: 52% !important;
}

/* =========================================================
   HOME NEWS - AMBITO CAI
========================================================= */

.cai-news-ambito {
  display: block;
  margin: -4px 0 8px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

/* Badge ambito news sopra immagine */
.cai-news-thumb {
  position: relative !important;
}

.cai-news-badge {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  z-index: 4 !important;

  display: inline-flex !important;
  align-items: center !important;

  max-width: calc(100% - 20px) !important;
  padding: 5px 8px !important;

  background: var(--cai-blue) !important;
  color: #ffffff !important;

  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;

  border-radius: 2px !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18) !important;
  pointer-events: none !important;
}

.cai-news-excerpt {
  margin: 0 0 14px !important;
}

.cai-news-excerpt {
  margin: 0 0 14px;
}
/* =========================================================
   PAGINA NEWS E CALENDARIO - VERSIONE RIPULITA
   Coerente con Chi siamo / Rifugi / Home news
========================================================= */

.cai-agenda-page {
  padding: 0 !important;
  margin: 0 !important;
  background: #f7f5f1 !important;
  color: var(--cai-text-dark) !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
}

.cai-agenda-page .container,
.cai-agenda-page .template-page,
.cai-agenda-page .post-entry,
.cai-agenda-page .entry-content-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cai-agenda-page__inner {
  position: relative !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 58px 56px 70px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.cai-agenda-page__inner::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  opacity: 0.045 !important;
  pointer-events: none !important;
  background-image: url("/wp-content/uploads/2026/09/catina.webp") !important;
  background-repeat: repeat !important;
  background-position: center center !important;
  background-size: 620px auto !important;
}

.cai-agenda-intro,
.cai-agenda-block,
.cai-agenda-events-grid,
.cai-agenda-page .cai-news-grid {
  position: relative !important;
  z-index: 2 !important;
}


/* =========================================================
   INTRO PAGINA - PIÙ SOBRIA
========================================================= */

.cai-agenda-intro {
  max-width: 760px !important;
  margin: 0 0 44px !important;
  text-align: left !important;
}

.cai-agenda-intro span {
  display: block !important;
  margin: 0 0 12px !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--cai-gold) !important;
  word-spacing: normal !important;
}

.cai-agenda-intro h1 {
  margin: 0 0 18px !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: clamp(36px, 3.6vw, 52px) !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  color: var(--cai-blue) !important;
  text-align: left !important;
  word-spacing: normal !important;
}

.cai-agenda-intro p {
  max-width: 720px !important;
  margin: 0 !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  word-spacing: normal !important;
  text-align: left !important;
  color: #4b5a67 !important;
}


/* =========================================================
   TITOLI SEZIONI INTERNE
========================================================= */

.cai-agenda-block {
  margin-top: 0 !important;
}

.cai-agenda-block + .cai-agenda-block {
  margin-top: 56px !important;
  padding-top: 44px !important;
  border-top: 1px solid rgba(0, 59, 115, 0.14) !important;
}

.cai-agenda-head {
  margin: 0 0 28px !important;
  text-align: left !important;
}

.cai-agenda-head span {
  display: block !important;
  margin: 0 0 10px !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--cai-gold) !important;
  word-spacing: normal !important;
}

.cai-agenda-head h2 {
  margin: 0 0 12px !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: clamp(28px, 2.6vw, 38px) !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0.035em !important;
  text-transform: uppercase !important;
  color: var(--cai-blue) !important;
  text-align: left !important;
  word-spacing: normal !important;
}

.cai-agenda-head p {
  max-width: 680px !important;
  margin: 0 !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 17px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  word-spacing: normal !important;
  text-align: left !important;
  color: #4b5a67 !important;
}


/* =========================================================
   EVENTI / ATTIVITÀ
========================================================= */

.cai-agenda-events-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

.cai-agenda-event-card {
  display: grid !important;
  grid-template-columns: 78px 1fr !important;
  gap: 20px !important;
  min-height: 168px !important;
  padding: 26px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 59, 115, 0.10) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08) !important;
  color: inherit !important;
  text-decoration: none !important;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease !important;
}

.cai-agenda-event-card:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(0, 80, 164, 0.22) !important;
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.13) !important;
  text-decoration: none !important;
}

.cai-agenda-event-date {
  width: 70px !important;
  height: 76px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--cai-blue) !important;
  color: #ffffff !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.14) !important;
}

.cai-agenda-event-date strong {
  display: block !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 32px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  color: #ffffff !important;
}

.cai-agenda-event-date span {
  display: block !important;
  margin-top: 4px !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: var(--cai-gold) !important;
}

.cai-agenda-event-date small {
  display: block !important;
  margin-top: 3px !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.82) !important;
}

.cai-agenda-event-content {
  min-width: 0 !important;
}

.cai-agenda-event-cat {
  display: block !important;
  margin-bottom: 8px !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--cai-gold) !important;
}

.cai-agenda-event-content h3 {
  margin: 0 0 10px !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 21px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--cai-blue) !important;
}

.cai-agenda-event-content p {
  margin: 0 !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  font-weight: 400 !important;
  color: #4b5a67 !important;
}

.cai-agenda-event-range {
  margin-top: 8px !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  color: var(--cai-blue) !important;
}

.cai-agenda-event-more {
  display: inline-block !important;
  margin-top: 14px !important;
  padding-bottom: 5px !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  color: var(--cai-blue-light) !important;
  border-bottom: 2px solid var(--cai-gold) !important;
}

.cai-agenda-event-card:hover .cai-agenda-event-more {
  color: var(--cai-blue) !important;
}


/* =========================================================
   NEWS E AVVISI - STESSA LOGICA HOME NEWS
========================================================= */

.cai-agenda-page .cai-news-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

.cai-agenda-page .cai-news-card {
  display: grid !important;
  grid-template-columns: 42% 58% !important;
  min-height: 170px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 59, 115, 0.08) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08) !important;
  overflow: hidden !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.cai-agenda-page .cai-news-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.13) !important;
}

.cai-agenda-page .cai-news-thumb {
  position: relative !important;
  display: block !important;
  height: 100% !important;
  min-height: 170px !important;
  overflow: hidden !important;
}

.cai-agenda-page .cai-news-thumb-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 170px !important;
  object-fit: cover !important;
  transition: transform 0.35s ease !important;
}

.cai-agenda-page .cai-news-content {
  padding: 20px 20px 18px !important;
}

.cai-agenda-page .cai-news-content h3 {
  margin: 0 0 6px !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 17px !important;
  line-height: 1.16 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--cai-blue) !important;
}

.cai-agenda-page .cai-news-content h3 a {
  color: var(--cai-blue) !important;
  text-decoration: none !important;
}

.cai-agenda-page .cai-news-content time {
  display: block !important;
  margin-bottom: 10px !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  color: var(--cai-gold) !important;
}

.cai-agenda-page .cai-news-content p {
  margin: 0 0 12px !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.38 !important;
  font-weight: 400 !important;
  color: #4b5a67 !important;
}

.cai-agenda-page .cai-news-read {
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  color: var(--cai-blue-light) !important;
  text-decoration: none !important;
}


/* =========================================================
   FORZATURA CONTRO ENFOLD / TESTI GIUSTIFICATI
========================================================= */

#top .cai-agenda-page h1,
#top .cai-agenda-page h2,
#top .cai-agenda-page h3,
#top .cai-agenda-page p,
#top .cai-agenda-page span,
#top .cai-agenda-page a,
#top .cai-agenda-page time {
  text-align: left !important;
  word-spacing: normal !important;
}

#top .cai-agenda-page h1,
#top .cai-agenda-page h2,
#top .cai-agenda-page h3 {
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
}

#top .cai-agenda-page p {
  font-family: 'source-sans-3', Arial, sans-serif !important;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media only screen and (max-width: 1180px) {
  .cai-agenda-page__inner {
    padding: 54px 34px 64px !important;
  }

  .cai-agenda-events-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .cai-agenda-page .cai-news-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media only screen and (max-width: 767px) {
  .cai-agenda-page__inner {
    padding: 42px 24px 52px !important;
  }

  .cai-agenda-intro {
    margin-bottom: 36px !important;
  }

  .cai-agenda-intro h1 {
    font-size: 36px !important;
  }

  .cai-agenda-intro p {
    font-size: 16px !important;
  }

  .cai-agenda-head h2 {
    font-size: 28px !important;
  }

  .cai-agenda-head p {
    font-size: 16px !important;
  }

  .cai-agenda-block + .cai-agenda-block {
    margin-top: 42px !important;
    padding-top: 36px !important;
  }

  .cai-agenda-events-grid,
  .cai-agenda-page .cai-news-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .cai-agenda-event-card {
    grid-template-columns: 64px 1fr !important;
    gap: 18px !important;
    padding: 22px !important;
  }

  .cai-agenda-event-date {
    width: 60px !important;
    height: 66px !important;
  }

  .cai-agenda-event-date strong {
    font-size: 26px !important;
  }

  .cai-agenda-event-date span {
    font-size: 12px !important;
  }

  .cai-agenda-event-content h3 {
    font-size: 20px !important;
  }

  .cai-agenda-page .cai-news-card {
    grid-template-columns: 1fr !important;
  }

  .cai-agenda-page .cai-news-thumb,
  .cai-agenda-page .cai-news-thumb-img {
    min-height: 210px !important;
  }
}

/* =========================================================
   TIPOGRAFIA CAI - OVERRIDE ENFOLD
   Titoli principali: IBM Plex Serif
   Testi e UI: Source Sans 3
========================================================= */

:root {
  --cai-font-title: 'ibm-plex-serif', Georgia, serif;
  --cai-font-body: 'source-sans-3', Arial, sans-serif;
}

/* Corpo e testi */
#top,
#wrap_all,
body,
p,
li,
dd,
dt,
small,
time {
  font-family: var(--cai-font-body) !important;
}

/* Titoli principali coerenti con il sito */
#top #wrap_all h1,
#top #wrap_all h2,
#top #wrap_all .all_colors h1,
#top #wrap_all .all_colors h2,
#top #wrap_all .cai-agenda-intro h1,
#top #wrap_all .cai-agenda-head h2,
#top #wrap_all .cai-about-intro h2,
#top #wrap_all .cai-section-head h2,
#top #wrap_all .cai-events-head h2,
#top #wrap_all .cai-news-head h2,
#top #wrap_all .cai-rifugi-intro-title h2,
#top #wrap_all .cai-subsection-hero h1 {
  font-family: var(--cai-font-title) !important;
  font-weight: 700 !important;
  color: var(--cai-blue) !important;
}

/* Titoli su fondo blu */
#top #wrap_all .cai-events-head h2,
#top #wrap_all .cai-subsection-hero h1,
#top #wrap_all .cai-rifugi-cta-content h2,
#top #wrap_all .cai-single-final-cta h3,
#top #wrap_all .cai-subsection-cta h2 {
  color: #ffffff !important;
}

/* H3, h4 e titoli card: Source Sans 3, più puliti e leggibili */
#top #wrap_all h3,
#top #wrap_all h4,
#top #wrap_all .cai-event-content h3,
#top #wrap_all .cai-agenda-event-content h3,
#top #wrap_all .cai-news-content h3,
#top #wrap_all .cai-office-card h4,
#top #wrap_all .cai-rifugio-body h4,
#top #wrap_all .cai-rifugi-service-card h4,
#top #wrap_all .cai-about-info-card h3,
#top #wrap_all .cai-about-value h3,
#top #wrap_all .cai-about-group-card h3,
#top #wrap_all .cai-history-card h3,
#top #wrap_all .cai-subsection-feature-card h3,
#top #wrap_all .cai-subsection-fast-card h2 {
  font-family: var(--cai-font-body) !important;
  font-weight: 700 !important;
}

/* Menu e bottoni */
#top #header .av-main-nav > li > a,
#top #header .av-main-nav > li > a .avia-menu-text,
#top #wrap_all .avia-button,
#top #wrap_all .cai-join-btn,
#top #wrap_all .cai-rifugio-more,
#top #wrap_all .cai-events-all,
#top #wrap_all .cai-news-all,
#top #wrap_all .cai-agenda-event-more,
#top #wrap_all .cai-news-read,
#top #wrap_all .cai-subsection-social a,
#top #wrap_all .cai-subsection-cta a {
  font-family: var(--cai-font-body) !important;
  font-weight: 700 !important;
}

/* Etichette oro / kicker */
#top #wrap_all .cai-office-kicker,
#top #wrap_all .cai-events-kicker,
#top #wrap_all .cai-agenda-intro span,
#top #wrap_all .cai-agenda-head span,
#top #wrap_all .cai-event-cat,
#top #wrap_all .cai-agenda-event-cat,
#top #wrap_all .cai-news-ambito,
#top #wrap_all .cai-news-badge,
#top #wrap_all .cai-rifugio-badge,
#top #wrap_all .cai-subsection-hero__kicker,
#top #wrap_all .cai-subsection-main__kicker,
#top #wrap_all .cai-subsection-feature-card span,
#top #wrap_all .cai-rifugi-cta-content span,
#top #wrap_all .cai-join-text span {
  font-family: var(--cai-font-body) !important;
  font-weight: 700 !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
}

/* =========================================================
   SINGOLA ATTIVITÀ - PAGINA EVENTO THE EVENTS CALENDAR
   Versione corretta e coerente CAI Cuneo
========================================================= */

#top.single-tribe_events #main {
  padding-top: 0 !important;
}

#top.single-tribe_events .title_container,
#top.single-tribe_events .tribe-events-single-event-title,
#top.single-tribe_events .tribe-events-schedule {
  display: none !important;
}

#top.single-tribe_events .container_wrap_first {
  border-top: none !important;
}


/* =========================================================
   HERO SINGOLA ATTIVITÀ
========================================================= */

#top.single-tribe_events .cai-single-event-page {
  background: #f7f5f1 !important;
  color: var(--cai-text-dark) !important;
}

#top.single-tribe_events .cai-single-event-hero {
  position: relative !important;
  overflow: hidden !important;
  background: var(--cai-blue) !important;
  color: #ffffff !important;
}

#top.single-tribe_events .cai-single-event-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: 0.09 !important;
  background-image: url("/wp-content/uploads/2026/09/catina.webp") !important;
  background-repeat: repeat !important;
  background-position: center center !important;
  background-size: 560px auto !important;
}

#top.single-tribe_events .cai-single-event-hero__inner {
  position: relative !important;
  z-index: 2 !important;
  max-width: 1320px !important;
  min-height: 430px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 0.95fr) minmax(440px, 0.88fr) !important;
  align-items: stretch !important;
}


/* Testo hero */

#top.single-tribe_events .cai-single-event-hero__content {
  position: relative !important;
  z-index: 3 !important;
  padding: 78px 56px 70px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

#top.single-tribe_events .cai-single-event-kicker,
#top.single-tribe_events .cai-single-event-hero__kicker {
  display: block !important;
  margin-bottom: 16px !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--cai-gold) !important;
}

#top.single-tribe_events .cai-single-event-hero h1 {
  display: block !important;
  max-width: 720px !important;
  margin: 0 0 24px !important;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: clamp(46px, 5vw, 72px) !important;
  line-height: 1.02 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #ffffff !important;
}

#top.single-tribe_events .cai-single-event-hero__meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 6px !important;
}

#top.single-tribe_events .cai-single-event-hero__meta span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 32px !important;
  padding: 0 12px !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  background: rgba(255,255,255,0.12) !important;
  border: 1px solid rgba(255,255,255,0.22) !important;
}

#top.single-tribe_events .cai-single-event-hero__meta span:first-child {
  background: var(--cai-gold) !important;
  border-color: var(--cai-gold) !important;
}


/* Immagine hero */

#top.single-tribe_events .cai-single-event-hero__image {
  position: relative !important;
  min-height: 430px !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%) !important;
  -webkit-clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%) !important;
}

#top.single-tribe_events .cai-single-event-hero__image::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(
      90deg,
      rgba(0, 43, 85, 0.38) 0%,
      rgba(0, 43, 85, 0.08) 48%,
      rgba(0, 43, 85, 0.18) 100%
    ) !important;
  pointer-events: none !important;
}


/* Badge data sopra immagine */

#top.single-tribe_events .cai-single-event-datebox {
  position: absolute !important;
  left: 42px !important;
  bottom: 42px !important;
  z-index: 4 !important;
  width: 86px !important;
  height: 94px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ffffff !important;
  color: var(--cai-blue) !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  box-shadow: 0 18px 42px rgba(0,0,0,0.22) !important;
}

#top.single-tribe_events .cai-single-event-datebox strong {
  display: block !important;
  font-size: 36px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  color: var(--cai-blue) !important;
}

#top.single-tribe_events .cai-single-event-datebox span {
  display: block !important;
  margin-top: 5px !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: var(--cai-gold) !important;
}

#top.single-tribe_events .cai-single-event-datebox small {
  display: block !important;
  margin-top: 5px !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  color: #4b5a67 !important;
}


/* =========================================================
   CORPO PAGINA SINGOLA ATTIVITÀ
========================================================= */

#top.single-tribe_events .cai-single-event-body {
  position: relative !important;
  overflow: hidden !important;
  background: #f7f5f1 !important;
}

#top.single-tribe_events .cai-single-event-body::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  opacity: 0.045 !important;
  pointer-events: none !important;
  background-image: url("/wp-content/uploads/2026/09/catina.webp") !important;
  background-repeat: repeat !important;
  background-position: center center !important;
  background-size: 620px auto !important;
}

#top.single-tribe_events .cai-single-event-body__inner {
  position: relative !important;
  z-index: 2 !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 64px 56px 76px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 420px) !important;
  gap: 56px !important;
  align-items: start !important;
}


/* Colonna testo */

#top.single-tribe_events .cai-single-event-content {
  min-width: 0 !important;
}

#top.single-tribe_events .cai-single-event-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-bottom: 22px !important;
}

#top.single-tribe_events .cai-single-event-badge {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 26px !important;
  padding: 0 10px !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  background: var(--cai-blue) !important;
}

#top.single-tribe_events .cai-single-event-badge--gold {
  background: var(--cai-gold) !important;
}

#top.single-tribe_events .cai-single-event-section-title {
  margin-bottom: 22px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid rgba(0, 59, 115, 0.14) !important;
}

#top.single-tribe_events .cai-single-event-section-title h2 {
  margin: 0 !important;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: clamp(34px, 3vw, 46px) !important;
  line-height: 1.05 !important;
  font-weight: 700 !important;
  color: var(--cai-blue) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

#top.single-tribe_events .cai-single-event-content p,
#top.single-tribe_events .cai-single-event-content li {
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.62 !important;
  color: #4b5a67 !important;
}

#top.single-tribe_events .cai-single-event-content p {
  margin: 0 0 18px !important;
}


/* Bottone ritorno */

#top.single-tribe_events .cai-single-event-back {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  margin-top: 26px !important;
  padding: 0 22px !important;
  background: var(--cai-blue) !important;
  color: #ffffff !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
}

#top.single-tribe_events .cai-single-event-back:hover {
  background: var(--cai-blue-light) !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
}


/* Box informazioni */

#top.single-tribe_events .cai-single-event-info {
  background: #ffffff !important;
  border: 1px solid rgba(0, 59, 115, 0.10) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,0.08) !important;
  padding: 30px 30px 28px !important;
}

#top.single-tribe_events .cai-single-event-info h2 {
  position: relative !important;
  margin: 0 0 22px !important;
  padding-top: 12px !important;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: 28px !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
  color: var(--cai-blue) !important;
  text-transform: none !important;
}

#top.single-tribe_events .cai-single-event-info h2::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 82px !important;
  height: 3px !important;
  background: var(--cai-gold) !important;
}

#top.single-tribe_events .cai-single-event-info dl {
  margin: 0 !important;
}

#top.single-tribe_events .cai-single-event-info dl > div {
  display: grid !important;
  grid-template-columns: 110px 1fr !important;
  gap: 18px !important;
  padding: 14px 0 !important;
  border-top: 1px solid rgba(0, 59, 115, 0.10) !important;
}

#top.single-tribe_events .cai-single-event-info dl > div:first-child {
  border-top: none !important;
  padding-top: 0 !important;
}

#top.single-tribe_events .cai-single-event-info dt {
  margin: 0 !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: var(--cai-blue) !important;
}

#top.single-tribe_events .cai-single-event-info dd {
  margin: 0 !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  color: #4b5a67 !important;
}


/* =========================================================
   RESPONSIVE SINGOLA ATTIVITÀ
========================================================= */

@media only screen and (max-width: 989px) {
  #top.single-tribe_events .cai-single-event-hero__inner {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
  }

  #top.single-tribe_events .cai-single-event-hero__content {
    padding: 68px 34px 54px !important;
  }

  #top.single-tribe_events .cai-single-event-hero__image {
    min-height: 320px !important;
    clip-path: none !important;
    -webkit-clip-path: none !important;
  }

  #top.single-tribe_events .cai-single-event-body__inner {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
    padding: 54px 34px 64px !important;
  }
}

@media only screen and (max-width: 767px) {
  #top.single-tribe_events .cai-single-event-hero__content {
    padding: 54px 24px 44px !important;
  }

  #top.single-tribe_events .cai-single-event-hero h1 {
    font-size: 38px !important;
  }

  #top.single-tribe_events .cai-single-event-hero__image {
    min-height: 240px !important;
  }

  #top.single-tribe_events .cai-single-event-datebox {
    left: 24px !important;
    bottom: 24px !important;
    width: 72px !important;
    height: 82px !important;
  }

  #top.single-tribe_events .cai-single-event-datebox strong {
    font-size: 30px !important;
  }

  #top.single-tribe_events .cai-single-event-body__inner {
    padding: 44px 24px 54px !important;
  }

  #top.single-tribe_events .cai-single-event-section-title h2 {
    font-size: 32px !important;
  }

  #top.single-tribe_events .cai-single-event-info {
    padding: 26px 22px 24px !important;
  }

  #top.single-tribe_events .cai-single-event-info dl > div {
    grid-template-columns: 1fr !important;
    gap: 5px !important;
  }
}


/* =========================================================
   SINGOLA ATTIVITÀ - TITOLO HERO BIANCO DEFINITIVO
========================================================= */

body.single-tribe_events h1,
body.single-tribe_events h1 *,
body.tribe_events-template-default h1,
body.tribe_events-template-default h1 * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: none !important;
}

/* =========================================================
   PAGINA LA SCUOLA - GIANNI ELLENA
   Layout coerente con mockup approvato
   Sezione colore Enfold: cai-scuola-wrap
========================================================= */

#top .cai-scuola-wrap {
  padding: 0 !important;
  margin: 0 !important;
  background: #f7f5f1 !important;
  color: var(--cai-text-dark) !important;
}

#top .cai-scuola-wrap .container,
#top .cai-scuola-wrap .template-page,
#top .cai-scuola-wrap .post-entry,
#top .cai-scuola-wrap .entry-content-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#top .cai-scuola-page {
  position: relative !important;
  overflow: hidden !important;
  background: #f7f5f1 !important;
  color: var(--cai-text-dark) !important;
}

#top .cai-scuola-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.045;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-position: center center;
  background-size: 620px auto;
}

#top .cai-scuola-inner {
  position: relative !important;
  z-index: 2 !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 64px 56px 78px !important;
  box-sizing: border-box !important;
}


/* =========================================================
   BLOCCO 1 - INTRO SINISTRA + 3 CARD DESTRA
========================================================= */

#top .cai-scuola-intro {
  display: grid !important;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.55fr) !important;
  gap: 54px !important;
  align-items: start !important;
  padding-bottom: 52px !important;
  border-bottom: 1px solid rgba(0, 59, 115, 0.14) !important;
}

#top .cai-scuola-intro-text {
  min-width: 0 !important;
}

#top .cai-scuola-kicker,
#top .cai-scuola-section-head > span {
  display: block !important;
  margin: 0 0 14px !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--cai-gold) !important;
}

#top .cai-scuola-intro h2,
#top .cai-scuola-info h2,
#top .cai-scuola-section-head h2 {
  margin: 0 !important;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
  text-transform: none !important;
  color: var(--cai-blue) !important;
}

#top .cai-scuola-intro h2 {
  max-width: 560px !important;
  margin-bottom: 24px !important;
  font-size: clamp(40px, 4vw, 58px) !important;
  line-height: 1.04 !important;
}

#top .cai-scuola-intro-text p {
  max-width: 560px !important;
  margin: 0 !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.56 !important;
  font-weight: 400 !important;
  color: #4b5a67 !important;
}


/* Card valori */

#top .cai-scuola-values {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 26px !important;
  min-width: 0 !important;
}

#top .cai-scuola-value-card,
#top .cai-scuola-area-card {
  position: relative !important;
  display: block !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 59, 115, 0.08) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.065) !important;
  text-align: center !important;
  overflow: hidden !important;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease !important;
}

#top .cai-scuola-value-card:hover,
#top .cai-scuola-area-card:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(0, 80, 164, 0.22) !important;
  box-shadow: 0 24px 54px rgba(0, 0, 0, 0.11) !important;
}

#top .cai-scuola-value-card {
  min-height: 318px !important;
  padding: 42px 28px 34px !important;
}

#top .cai-scuola-icon {
  width: 92px !important;
  height: 92px !important;
  margin: 0 auto 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#top .cai-scuola-icon img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 86px !important;
  max-height: 86px !important;
  object-fit: contain !important;
}

#top .cai-scuola-value-card h3,
#top .cai-scuola-area-card h3,
#top .cai-scuola-contact-card h3 {
  margin: 0 !important;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-weight: 700 !important;
  text-transform: none !important;
  color: var(--cai-blue) !important;
}

#top .cai-scuola-value-card h3 {
  font-size: 27px !important;
  line-height: 1.1 !important;
}

#top .cai-scuola-value-card > span,
#top .cai-scuola-area-card > span {
  display: block !important;
  width: 44px !important;
  height: 3px !important;
  margin: 18px auto 20px !important;
  background: var(--cai-gold) !important;
}

#top .cai-scuola-value-card p,
#top .cai-scuola-area-card p {
  margin: 0 auto !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-weight: 400 !important;
  color: #536272 !important;
}

#top .cai-scuola-value-card p {
  max-width: 230px !important;
  font-size: 15.5px !important;
  line-height: 1.48 !important;
}


/* =========================================================
   BLOCCO 2 - AREE DELLA SCUOLA
========================================================= */

#top .cai-scuola-aree {
  padding-top: 46px !important;
}

#top .cai-scuola-section-head {
  margin: 0 0 30px !important;
}

#top .cai-scuola-section-head h2 {
  font-size: clamp(34px, 3vw, 48px) !important;
  line-height: 1.04 !important;
}

#top .cai-scuola-aree-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

#top .cai-scuola-area-card {
  min-height: 286px !important;
  padding: 32px 22px 28px !important;
}

#top .cai-scuola-area-icon {
  width: 86px !important;
  height: 86px !important;
  margin: 0 auto 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#top .cai-scuola-area-icon img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 80px !important;
  max-height: 80px !important;
  object-fit: contain !important;
}

#top .cai-scuola-area-card h3 {
  font-size: 23px !important;
  line-height: 1.1 !important;
}

#top .cai-scuola-area-card p {
  max-width: 220px !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
}


/* =========================================================
   BLOCCO 3 - CHI SIAMO E CONTATTI
========================================================= */

#top .cai-scuola-info {
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(360px, 0.75fr) !important;
  gap: 54px !important;
  align-items: start !important;
  margin-top: 58px !important;
  padding-top: 48px !important;
  border-top: 1px solid rgba(0, 59, 115, 0.14) !important;
}

#top .cai-scuola-info-text {
  min-width: 0 !important;
}

#top .cai-scuola-info h2 {
  max-width: 720px !important;
  margin-bottom: 24px !important;
  font-size: clamp(34px, 3.4vw, 52px) !important;
  line-height: 1.04 !important;
}

#top .cai-scuola-info-text p {
  max-width: 760px !important;
  margin: 0 0 18px !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
  color: #4b5a67 !important;
}

#top .cai-scuola-info-text p:last-child {
  margin-bottom: 0 !important;
}

#top .cai-scuola-contact-card {
  position: relative !important;
  padding: 34px 34px 32px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 59, 115, 0.10) !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.08) !important;
}

#top .cai-scuola-contact-card::before {
  content: "";
  position: absolute;
  left: 34px;
  top: 0;
  width: 72px;
  height: 4px;
  background: var(--cai-gold);
}

#top .cai-scuola-contact-card h3 {
  margin-bottom: 24px !important;
  font-size: 30px !important;
  line-height: 1 !important;
}

#top .cai-scuola-contact-row {
  display: grid !important;
  grid-template-columns: 90px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
  padding: 14px 0 !important;
  border-top: 1px solid rgba(0, 59, 115, 0.10) !important;
}

#top .cai-scuola-contact-row strong {
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--cai-blue) !important;
}

#top .cai-scuola-contact-row a {
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  color: var(--cai-blue-light) !important;
  text-decoration: none !important;
  word-break: break-word !important;
}

#top .cai-scuola-contact-row a:hover {
  color: var(--cai-blue) !important;
}

#top .cai-scuola-contact-note {
  margin-top: 22px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(0, 59, 115, 0.10) !important;
}

#top .cai-scuola-contact-note p {
  margin: 0 !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 15.5px !important;
  line-height: 1.48 !important;
  color: #536272 !important;
}


/* =========================================================
   FORZATURE CONTRO ENFOLD
========================================================= */

#top .cai-scuola-page h1,
#top .cai-scuola-page h2,
#top .cai-scuola-page h3,
#top .cai-scuola-page h4 {
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-weight: 700 !important;
}

#top .cai-scuola-page p,
#top .cai-scuola-page li,
#top .cai-scuola-page a,
#top .cai-scuola-page strong,
#top .cai-scuola-page span {
  font-family: 'source-sans-3', Arial, sans-serif !important;
}

#top .cai-scuola-page .cai-scuola-intro h2,
#top .cai-scuola-page .cai-scuola-section-head h2,
#top .cai-scuola-page .cai-scuola-info h2,
#top .cai-scuola-page .cai-scuola-value-card h3,
#top .cai-scuola-page .cai-scuola-area-card h3,
#top .cai-scuola-page .cai-scuola-contact-card h3 {
  font-family: 'ibm-plex-serif', Georgia, serif !important;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media only screen and (max-width: 1180px) {
  #top .cai-scuola-inner {
    padding: 58px 34px 68px !important;
  }

  #top .cai-scuola-intro {
    grid-template-columns: 1fr !important;
    gap: 38px !important;
  }

  #top .cai-scuola-values {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #top .cai-scuola-aree-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #top .cai-scuola-info {
    grid-template-columns: 1fr !important;
    gap: 38px !important;
  }
}

@media only screen and (max-width: 900px) {
  #top .cai-scuola-values {
    grid-template-columns: 1fr !important;
  }

  #top .cai-scuola-value-card {
    min-height: auto !important;
  }
}

@media only screen and (max-width: 767px) {
  #top .cai-scuola-inner {
    padding: 44px 24px 54px !important;
  }

  #top .cai-scuola-intro {
    padding-bottom: 40px !important;
  }

  #top .cai-scuola-intro h2 {
    font-size: 38px !important;
  }

  #top .cai-scuola-intro-text p {
    font-size: 17px !important;
  }

  #top .cai-scuola-values {
    gap: 18px !important;
  }

  #top .cai-scuola-value-card {
    padding: 34px 24px 30px !important;
  }

  #top .cai-scuola-value-card h3 {
    font-size: 25px !important;
  }

  #top .cai-scuola-aree {
    padding-top: 40px !important;
  }

  #top .cai-scuola-section-head h2 {
    font-size: 34px !important;
  }

  #top .cai-scuola-aree-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  #top .cai-scuola-area-card {
    min-height: auto !important;
    padding: 34px 24px 30px !important;
  }

  #top .cai-scuola-area-card h3 {
    font-size: 24px !important;
  }

  #top .cai-scuola-info {
    margin-top: 44px !important;
    padding-top: 38px !important;
  }

  #top .cai-scuola-info h2 {
    font-size: 34px !important;
  }

  #top .cai-scuola-info-text p {
    font-size: 16.5px !important;
  }

  #top .cai-scuola-contact-card {
    padding: 30px 24px 26px !important;
  }

  #top .cai-scuola-contact-card::before {
    left: 24px;
  }

  #top .cai-scuola-contact-row {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
}

/* =========================================================
   PAGINA LA SCUOLA - EVENTI / CORSI
========================================================= */

#top .cai-scuola-eventi {
  margin-top: 58px !important;
  padding-top: 48px !important;
  border-top: 1px solid rgba(0, 59, 115, 0.14) !important;
}

#top .cai-scuola-eventi .cai-scuola-section-head {
  margin-bottom: 30px !important;
}

#top .cai-scuola-eventi .cai-scuola-section-head p {
  max-width: 680px !important;
  margin: 14px 0 0 !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
  color: #4b5a67 !important;
}

#top .cai-scuola-events-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

#top .cai-scuola-event-card {
  display: grid !important;
  grid-template-columns: 78px 1fr !important;
  gap: 20px !important;
  min-height: 184px !important;
  padding: 26px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 59, 115, 0.10) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08) !important;
  text-decoration: none !important;
  color: inherit !important;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease !important;
}

#top .cai-scuola-event-card:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(0, 80, 164, 0.22) !important;
  box-shadow: 0 24px 54px rgba(0, 0, 0, 0.13) !important;
  text-decoration: none !important;
}

#top .cai-scuola-event-date {
  width: 70px !important;
  height: 76px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--cai-blue) !important;
  color: #ffffff !important;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.14) !important;
}

#top .cai-scuola-event-date strong {
  display: block !important;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: 32px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  color: #ffffff !important;
}

#top .cai-scuola-event-date span {
  display: block !important;
  margin-top: 4px !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  color: var(--cai-gold) !important;
  text-transform: uppercase !important;
}

#top .cai-scuola-event-content {
  min-width: 0 !important;
}

#top .cai-scuola-event-cat {
  display: block !important;
  margin-bottom: 8px !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--cai-gold) !important;
}

#top .cai-scuola-event-content h3 {
  margin: 0 0 10px !important;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: 24px !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  color: var(--cai-blue) !important;
  text-transform: none !important;
}

#top .cai-scuola-event-content p {
  margin: 0 0 10px !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  color: #4b5a67 !important;
}

#top .cai-scuola-event-range {
  font-weight: 700 !important;
  color: var(--cai-blue) !important;
}

#top .cai-scuola-event-more {
  display: inline-block !important;
  margin-top: 6px !important;
  padding-bottom: 5px !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  color: var(--cai-blue-light) !important;
  border-bottom: 2px solid var(--cai-gold) !important;
}

#top .cai-scuola-event-card:hover .cai-scuola-event-more {
  color: var(--cai-blue) !important;
}

#top .cai-scuola-events-empty {
  margin: 0 !important;
  padding: 28px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 59, 115, 0.10) !important;
  color: #4b5a67 !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.45 !important;
}


/* Responsive eventi scuola */

@media only screen and (max-width: 1180px) {
  #top .cai-scuola-events-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media only screen and (max-width: 767px) {
  #top .cai-scuola-eventi {
    margin-top: 44px !important;
    padding-top: 38px !important;
  }

  #top .cai-scuola-events-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  #top .cai-scuola-event-card {
    grid-template-columns: 64px 1fr !important;
    gap: 18px !important;
    padding: 22px !important;
  }

  #top .cai-scuola-event-date {
    width: 60px !important;
    height: 66px !important;
  }

  #top .cai-scuola-event-date strong {
    font-size: 26px !important;
  }

  #top .cai-scuola-event-date span {
    font-size: 12px !important;
  }

  #top .cai-scuola-event-content h3 {
    font-size: 22px !important;
  }

  #top .cai-scuola-eventi .cai-scuola-section-head p {
    font-size: 16px !important;
  }
}

/* =========================================================
   PAGINA LA SCUOLA - GIANNI ELLENA
   Wrapper sezione colore Enfold: cai-scuola-wrap
========================================================= */

#top .cai-scuola-wrap {
  padding: 0 !important;
  margin: 0 !important;
  background: #f7f5f1 !important;
  color: var(--cai-text-dark) !important;
}

#top .cai-scuola-wrap .container,
#top .cai-scuola-wrap .template-page,
#top .cai-scuola-wrap .post-entry,
#top .cai-scuola-wrap .entry-content-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Contenitore generale */

#top .cai-scuola-page {
  position: relative;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 70px 56px 72px !important;
  box-sizing: border-box !important;
  overflow: hidden;
}

#top .cai-scuola-page--seconda {
  padding-top: 0 !important;
}

#top .cai-scuola-page::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.045;
  pointer-events: none;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-position: center center;
  background-size: 620px auto;
}

#top .cai-scuola-page > section {
  position: relative;
  z-index: 2;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

/* Tipografia comune */

#top .cai-scuola-wrap .cai-scuola-kicker {
  display: block;
  margin-bottom: 12px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cai-gold) !important;
}

#top .cai-scuola-wrap h2 {
  margin: 0;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-weight: 700 !important;
  color: var(--cai-blue) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

#top .cai-scuola-wrap h3 {
  margin: 0;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-weight: 700 !important;
  color: var(--cai-blue) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

#top .cai-scuola-wrap p {
  margin: 0;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 18px;
  line-height: 1.55;
  color: #4b5a67 !important;
}

/* =========================================================
   BLOCCO 1 - INTRO + VALORI
========================================================= */

#top .cai-scuola-intro {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(620px, 1.15fr);
  gap: 70px;
  align-items: center;
  padding-bottom: 64px;
  border-bottom: 1px solid rgba(0, 59, 115, 0.14);
}

#top .cai-scuola-intro__text {
  max-width: 560px;
}

#top .cai-scuola-intro__text h2 {
  margin-bottom: 26px;
  font-size: clamp(42px, 4vw, 62px);
  line-height: 1.05;
}

#top .cai-scuola-intro__text p {
  font-size: 20px;
  line-height: 1.52;
}

#top .cai-scuola-intro__text p + p {
  margin-top: 14px;
}

#top .cai-scuola-values {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

#top .cai-scuola-value-card,
#top .cai-scuola-area-card {
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.07);
  text-align: center;
  box-sizing: border-box;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

#top .cai-scuola-value-card:hover,
#top .cai-scuola-area-card:hover {
  transform: translateY(-5px);
  border-color: rgba(0, 80, 164, 0.22);
  box-shadow: 0 24px 54px rgba(0, 0, 0, 0.115);
}

#top .cai-scuola-value-card {
  min-height: 280px;
  padding: 42px 30px 34px;
}

#top .cai-scuola-value-card img {
  display: block;
  width: 78px;
  height: 78px;
  object-fit: contain;
  margin: 0 auto 24px;
}

#top .cai-scuola-value-card h3 {
  font-size: 27px;
  line-height: 1.08;
}

#top .cai-scuola-value-card span,
#top .cai-scuola-area-card span {
  display: block;
  width: 44px;
  height: 2px;
  margin: 18px auto 22px;
  background: var(--cai-gold);
}

#top .cai-scuola-value-card p {
  font-size: 16px;
  line-height: 1.45;
}

/* =========================================================
   BLOCCO 1 - AREE DELLA SCUOLA
========================================================= */

#top .cai-scuola-aree {
  padding-top: 54px;
}

#top .cai-scuola-section-head {
  margin-bottom: 28px;
}

#top .cai-scuola-section-head h2 {
  font-size: clamp(34px, 3.2vw, 48px);
  line-height: 1.05;
}

#top .cai-scuola-section-head p {
  max-width: 820px;
  margin-top: 12px;
  font-size: 18px;
}

#top .cai-scuola-aree-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
}

#top .cai-scuola-area-card {
  min-height: 260px;
  padding: 34px 24px 30px;
}

#top .cai-scuola-area-card img {
  display: block;
  width: 72px;
  height: 72px;
  object-fit: contain;
  margin: 0 auto 22px;
}

#top .cai-scuola-area-card h3 {
  font-size: 22px;
  line-height: 1.1;
}

#top .cai-scuola-area-card p {
  font-size: 15px;
  line-height: 1.42;
}

/* =========================================================
   BLOCCO 2 - PROSSIMI CORSI
========================================================= */

#top .cai-scuola-corsi {
  padding-top: 0;
  margin-bottom: 66px;
}

#top .cai-scuola-corsi .cai-scuola-section-head {
  margin-bottom: 30px;
}

/* Shortcode eventi dentro pagina scuola */

#top .cai-scuola-wrap .cai-scuola-corsi-list {
  width: 100%;
}

#top .cai-scuola-wrap .cai-agenda-events-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 26px !important;
  width: 100% !important;
}

#top .cai-scuola-wrap .cai-agenda-event-card {
  min-height: 190px !important;
  padding: 28px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 59, 115, 0.10) !important;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.07) !important;
}

#top .cai-scuola-wrap .cai-agenda-event-content h3 {
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 22px !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  color: var(--cai-blue) !important;
}

/* =========================================================
   BLOCCO 2 - FORMAZIONE
========================================================= */

#top .cai-scuola-formazione {
  padding-top: 52px;
  border-top: 1px solid rgba(0, 59, 115, 0.14);
}

#top .cai-scuola-formazione-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(520px, 1fr);
  gap: 78px;
  align-items: center;
}

#top .cai-scuola-formazione-text {
  max-width: 540px;
}

#top .cai-scuola-formazione-text h2 {
  margin-bottom: 20px;
  font-size: clamp(34px, 3.4vw, 50px);
  line-height: 1.05;
}

#top .cai-scuola-formazione-text p {
  font-size: 18px;
  line-height: 1.52;
}

#top .cai-scuola-formazione-text p + p {
  margin-top: 14px;
}

#top .cai-scuola-quote {
  position: relative;
  min-height: 250px;
  padding: 46px 60px 44px 92px;
  box-sizing: border-box;
  background:
    linear-gradient(
      90deg,
      rgba(0, 43, 85, 0.98) 0%,
      rgba(0, 59, 115, 0.94) 100%
    );
  color: #ffffff;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.12);
  overflow: hidden;
}

#top .cai-scuola-quote::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.10;
  pointer-events: none;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-position: center center;
  background-size: 520px auto;
}

#top .cai-scuola-quote::after {
  content: "“";
  position: absolute;
  left: 34px;
  top: 32px;
  z-index: 2;
  font-family: Georgia, serif;
  font-size: 96px;
  line-height: 1;
  color: var(--cai-gold);
}

#top .cai-scuola-quote blockquote {
  position: relative;
  z-index: 3;
  margin: 0;
  padding: 0;
  border: none;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: clamp(28px, 2.6vw, 40px);
  line-height: 1.18;
  font-weight: 700;
  color: #ffffff;
}

#top .cai-scuola-quote cite {
  position: relative;
  z-index: 3;
  display: block;
  margin-top: 20px;
  font-family: 'source-sans-3', Arial, sans-serif;
  font-size: 20px;
  line-height: 1.3;
  font-style: normal;
  font-weight: 700;
  color: var(--cai-gold);
}

/* =========================================================
   BLOCCO 2 - CONTATTI
========================================================= */

#top .cai-scuola-contatti {
  margin-top: 58px;
  padding-top: 48px;
  border-top: 1px solid rgba(0, 59, 115, 0.14);
}

#top .cai-scuola-contatti-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(540px, 1fr);
  gap: 78px;
  align-items: start;
}

#top .cai-scuola-contatti-title h2 {
  font-size: clamp(34px, 3.4vw, 50px);
  line-height: 1.05;
}

#top .cai-scuola-contatti-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}

#top .cai-scuola-contact-card {
  position: relative;
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 22px;
  align-items: center;
  min-height: 126px;
  padding: 30px 34px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.07);
  box-sizing: border-box;
}

#top .cai-scuola-contact-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 34px;
  width: 72px;
  height: 4px;
  background: var(--cai-gold);
}

#top .cai-scuola-contact-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 30px;
  line-height: 1;
  color: var(--cai-blue);
}

#top .cai-scuola-contact-card span {
  display: block;
  margin-bottom: 4px;
  font-family: 'source-sans-3', Arial, sans-serif;
  font-size: 14px;
  line-height: 1.2;
  color: #536272;
}

#top .cai-scuola-contact-card a {
  display: inline-block;
  font-family: 'source-sans-3', Arial, sans-serif;
  font-size: 19px;
  line-height: 1.25;
  font-weight: 700;
  color: var(--cai-blue-light) !important;
  text-decoration: none !important;
  overflow-wrap: anywhere;
}

#top .cai-scuola-contact-card a:hover {
  color: var(--cai-blue) !important;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media only screen and (max-width: 1180px) {
  #top .cai-scuola-page {
    padding: 58px 34px 66px !important;
  }

  #top .cai-scuola-intro {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  #top .cai-scuola-intro__text {
    max-width: 780px;
  }

  #top .cai-scuola-values {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #top .cai-scuola-aree-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #top .cai-scuola-wrap .cai-agenda-events-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #top .cai-scuola-formazione-grid,
  #top .cai-scuola-contatti-grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  #top .cai-scuola-formazione-text {
    max-width: 780px;
  }

  #top .cai-scuola-contatti-cards {
    max-width: 780px;
  }
}

@media only screen and (max-width: 767px) {
  #top .cai-scuola-page {
    padding: 46px 24px 56px !important;
  }

  #top .cai-scuola-page--seconda {
    padding-top: 0 !important;
  }

  #top .cai-scuola-intro {
    padding-bottom: 46px;
  }

  #top .cai-scuola-intro__text h2 {
    font-size: 38px;
  }

  #top .cai-scuola-intro__text p {
    font-size: 17px;
  }

  #top .cai-scuola-values,
  #top .cai-scuola-aree-grid,
  #top .cai-scuola-wrap .cai-agenda-events-grid,
  #top .cai-scuola-contatti-cards {
    grid-template-columns: 1fr !important;
  }

  #top .cai-scuola-value-card,
  #top .cai-scuola-area-card {
    min-height: auto;
  }

  #top .cai-scuola-corsi {
    margin-bottom: 46px;
  }

  #top .cai-scuola-formazione {
    padding-top: 40px;
  }

  #top .cai-scuola-quote {
    min-height: auto;
    padding: 38px 30px 34px 64px;
  }

  #top .cai-scuola-quote::after {
    left: 22px;
    top: 28px;
    font-size: 70px;
  }

  #top .cai-scuola-quote blockquote {
    font-size: 27px;
  }

  #top .cai-scuola-contatti {
    margin-top: 44px;
    padding-top: 38px;
  }

  #top .cai-scuola-contact-card {
    grid-template-columns: 46px 1fr;
    min-height: auto;
    padding: 26px 24px;
  }

  #top .cai-scuola-contact-card a {
    font-size: 17px;
  }
}

/* =========================================================
   PAGINA BIBLIOTECA ALBERTO BORSI
   Classe sezione colore Enfold: cai-biblioteca-wrap
========================================================= */

#top .cai-biblioteca-wrap {
  padding: 0 !important;
  margin: 0 !important;
  background: #f7f5f1 !important;
}

#top .cai-biblioteca-wrap .container,
#top .cai-biblioteca-wrap .template-page,
#top .cai-biblioteca-wrap .post-entry,
#top .cai-biblioteca-wrap .entry-content-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#top .cai-biblioteca-page {
  position: relative;
  overflow: hidden;
  background: #f7f5f1;
  color: var(--cai-text-dark);
}

#top .cai-biblioteca-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.04;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-position: center center;
  background-size: 620px auto;
}

#top .cai-biblioteca-section {
  position: relative;
  z-index: 2;
  max-width: 1320px;
  margin: 0 auto;
  padding-left: 56px;
  padding-right: 56px;
  box-sizing: border-box;
}


/* =========================================================
   TIPOGRAFIA COMUNE
========================================================= */

#top .cai-biblioteca-kicker {
  display: block;
  margin-bottom: 13px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--cai-gold) !important;
}

#top .cai-biblioteca-page h2,
#top .cai-biblioteca-page h3 {
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-weight: 700 !important;
  color: var(--cai-blue) !important;
  text-transform: none !important;
}

#top .cai-biblioteca-page p {
  font-family: 'source-sans-3', Arial, sans-serif !important;
  color: #4b5a67;
}

#top .cai-biblioteca-page a {
  color: var(--cai-blue-light) !important;
  text-decoration: none !important;
}

#top .cai-biblioteca-page a:hover {
  color: var(--cai-blue) !important;
}


/* =========================================================
   BLOCCO 1 - INTRO + VALORI
========================================================= */

#top .cai-biblioteca-intro-section {
  padding-top: 72px;
  padding-bottom: 62px;
}

#top .cai-biblioteca-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(520px, 1.05fr);
  gap: 76px;
  align-items: center;
}

#top .cai-biblioteca-intro-text {
  min-width: 0;
}

#top .cai-biblioteca-intro-text h2 {
  margin: 0 0 28px;
  font-size: clamp(42px, 4.4vw, 64px);
  line-height: 1.02;
  letter-spacing: -0.01em;
}

#top .cai-biblioteca-intro-text p {
  max-width: 700px;
  margin: 0 0 18px;
  font-size: 19px;
  line-height: 1.58;
}

#top .cai-biblioteca-intro-text p:last-child {
  margin-bottom: 0;
}


/* =========================================================
   CARD COMUNI - VALORI + CONTENUTI
========================================================= */

#top .cai-biblioteca-value-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

#top .cai-biblioteca-contents-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 22px;
}

#top .cai-biblioteca-value-card,
#top .cai-biblioteca-content-card {
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.075);
  text-align: center;
  box-sizing: border-box;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

#top .cai-biblioteca-value-card:hover,
#top .cai-biblioteca-content-card:hover {
  transform: translateY(-5px);
  border-color: rgba(0, 80, 164, 0.22);
  box-shadow: 0 24px 54px rgba(0, 0, 0, 0.12);
}

#top .cai-biblioteca-value-card {
  min-height: 280px;
  padding: 36px 26px 32px;
}

#top .cai-biblioteca-content-card {
  min-height: 286px;
  padding: 34px 24px 30px;
}

#top .cai-biblioteca-icon {
  width: 78px;
  height: 78px;
  margin: 0 auto 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--cai-blue);
}

#top .cai-biblioteca-icon img {
  display: block;
  width: 78px;
  height: 78px;
  object-fit: contain;
}

#top .cai-biblioteca-content-card .cai-biblioteca-icon,
#top .cai-biblioteca-content-card .cai-biblioteca-icon img {
  width: 74px;
  height: 74px;
}

#top .cai-biblioteca-content-card .cai-biblioteca-icon {
  margin-bottom: 20px;
}

#top .cai-biblioteca-value-card h3 {
  margin: 0;
  font-size: 27px;
  line-height: 1.12;
}

#top .cai-biblioteca-content-card h3 {
  margin: 0;
  font-size: 24px;
  line-height: 1.12;
}

#top .cai-biblioteca-value-card > span,
#top .cai-biblioteca-content-card > span {
  display: block;
  width: 48px;
  height: 3px;
  margin: 17px auto 20px;
  background: var(--cai-gold);
}

#top .cai-biblioteca-value-card p {
  margin: 0;
  font-size: 16px;
  line-height: 1.45;
}

#top .cai-biblioteca-content-card p {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.45;
}


/* =========================================================
   BLOCCO 2 - COSA TROVI IN BIBLIOTECA
========================================================= */

#top .cai-biblioteca-contents-section {
  padding-top: 52px;
  padding-bottom: 68px;
  border-top: 1px solid rgba(0, 59, 115, 0.13);
}

#top .cai-biblioteca-head {
  margin-bottom: 28px;
}

#top .cai-biblioteca-head h2 {
  margin: 0;
  font-size: clamp(34px, 3.4vw, 50px);
  line-height: 1.05;
}


/* =========================================================
   BLOCCO 3 - FASCIA CULTURALE / CITAZIONE
========================================================= */

#top .cai-biblioteca-culture-section {
  padding-top: 52px;
  padding-bottom: 62px;
  border-top: 1px solid rgba(0, 59, 115, 0.13);
}

#top .cai-biblioteca-culture-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(460px, 1fr);
  gap: 72px;
  align-items: center;
}

#top .cai-biblioteca-culture-text h2 {
  max-width: 620px;
  margin: 0 0 20px;
  font-size: clamp(34px, 3.2vw, 48px);
  line-height: 1.05;
}

#top .cai-biblioteca-culture-text p {
  max-width: 620px;
  margin: 0;
  font-size: 18px;
  line-height: 1.55;
}

#top .cai-biblioteca-quote {
  position: relative;
  overflow: hidden;
  min-height: 230px;
  padding: 44px 48px 40px;
  background: var(--cai-blue);
  color: #ffffff;
  box-shadow: 0 22px 54px rgba(0, 0, 0, 0.16);
  box-sizing: border-box;
}

#top .cai-biblioteca-quote::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.13;
  pointer-events: none;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-position: center center;
  background-size: 520px auto;
}

#top .cai-biblioteca-quote-mark,
#top .cai-biblioteca-quote p,
#top .cai-biblioteca-quote span {
  position: relative;
  z-index: 2;
}

#top .cai-biblioteca-quote-mark {
  margin-bottom: -8px;
  font-family: 'ibm-plex-serif', Georgia, serif;
  font-size: 78px;
  line-height: 0.75;
  color: var(--cai-gold);
}

#top .cai-biblioteca-quote p {
  max-width: 650px;
  margin: 0 0 22px;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: clamp(27px, 2.6vw, 40px);
  line-height: 1.14;
  font-weight: 700;
  color: #ffffff;
}

#top .cai-biblioteca-quote span {
  display: block;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 18px;
  line-height: 1.3;
  font-weight: 700;
  color: var(--cai-gold);
}


/* =========================================================
   BLOCCO 4 - CONSULTAZIONE E CONTATTI
========================================================= */

#top .cai-biblioteca-contact-section {
  padding-top: 56px;
  padding-bottom: 82px;
  border-top: 1px solid rgba(0, 59, 115, 0.13);
}

#top .cai-biblioteca-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(760px, 1.22fr);
  gap: 72px;
  align-items: center;
}

#top .cai-biblioteca-contact-text {
  min-width: 0;
}

#top .cai-biblioteca-contact-text h2 {
  max-width: 560px;
  margin: 0 0 22px;
  font-size: clamp(38px, 3.6vw, 54px);
  line-height: 1.02;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

#top .cai-biblioteca-contact-text p {
  max-width: 600px;
  margin: 0;
  font-size: 18px;
  line-height: 1.55;
}

#top .cai-biblioteca-contact-cards {
  display: grid;
  grid-template-columns: minmax(250px, 1.15fr) minmax(190px, 0.85fr) minmax(260px, 1.15fr);
  gap: 24px;
  width: 100%;
}

#top .cai-biblioteca-contact-card {
  position: relative;
  min-height: 166px;
  padding: 34px 28px 28px;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.075);
  box-sizing: border-box;
  overflow: visible;
}

#top .cai-biblioteca-contact-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 34px;
  width: 76px;
  height: 4px;
  background: var(--cai-gold);
}

/* Supporta sia il vecchio HTML con .cai-biblioteca-small-icon
   sia il nuovo HTML con .cai-biblioteca-contact-icon */

#top .cai-biblioteca-small-icon,
#top .cai-biblioteca-contact-icon {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--cai-blue);
}

#top .cai-biblioteca-small-icon svg,
#top .cai-biblioteca-contact-icon img {
  display: block;
  width: 42px;
  height: 42px;
  object-fit: contain;
}

#top .cai-biblioteca-small-icon svg path,
#top .cai-biblioteca-small-icon svg circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#top .cai-biblioteca-contact-card > div:last-child,
#top .cai-biblioteca-contact-card-text {
  min-width: 0;
  width: 100%;
}

#top .cai-biblioteca-contact-card span,
#top .cai-biblioteca-contact-card-text span {
  display: block;
  margin: 0 0 7px;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  color: #536272;
  text-transform: none;
  letter-spacing: 0;
}

#top .cai-biblioteca-contact-card strong,
#top .cai-biblioteca-contact-card-text strong {
  display: block;
  margin: 0;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 18px;
  line-height: 1.25;
  font-weight: 700;
  color: var(--cai-blue);
  word-break: normal;
  overflow-wrap: normal;
  white-space: normal;
}

#top .cai-biblioteca-contact-card p,
#top .cai-biblioteca-contact-card-text p {
  margin: 4px 0 0;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 16px;
  line-height: 1.35;
  color: #4b5a67;
}

#top .cai-biblioteca-contact-card a,
#top .cai-biblioteca-contact-card-text a {
  color: var(--cai-blue) !important;
  text-decoration: none !important;
  font-weight: 700;
  white-space: nowrap;
}

#top .cai-biblioteca-contact-card a:hover,
#top .cai-biblioteca-contact-card-text a:hover {
  color: var(--cai-blue-light) !important;
}

#top .cai-biblioteca-contact-card strong a[href^="mailto"] {
  white-space: nowrap;
  font-size: 17px;
}


/* =========================================================
   RESPONSIVE BIBLIOTECA
========================================================= */

@media only screen and (max-width: 1180px) {

  #top .cai-biblioteca-section {
    padding-left: 34px;
    padding-right: 34px;
  }

  #top .cai-biblioteca-intro-grid,
  #top .cai-biblioteca-culture-grid,
  #top .cai-biblioteca-contact-grid {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  #top .cai-biblioteca-value-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #top .cai-biblioteca-contents-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #top .cai-biblioteca-contact-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

}

@media only screen and (max-width: 900px) {

  #top .cai-biblioteca-contact-cards {
    grid-template-columns: 1fr;
  }

  #top .cai-biblioteca-contact-card {
    min-height: auto;
  }

}

@media only screen and (max-width: 767px) {

  #top .cai-biblioteca-section {
    padding-left: 24px;
    padding-right: 24px;
  }

  #top .cai-biblioteca-intro-section {
    padding-top: 48px;
    padding-bottom: 46px;
  }

  #top .cai-biblioteca-contents-section,
  #top .cai-biblioteca-culture-section,
  #top .cai-biblioteca-contact-section {
    padding-top: 42px;
  }

  #top .cai-biblioteca-contact-section {
    padding-bottom: 56px;
  }

  #top .cai-biblioteca-intro-text h2 {
    font-size: 40px;
  }

  #top .cai-biblioteca-head h2,
  #top .cai-biblioteca-culture-text h2,
  #top .cai-biblioteca-contact-text h2 {
    font-size: 34px;
  }

  #top .cai-biblioteca-intro-text p,
  #top .cai-biblioteca-culture-text p,
  #top .cai-biblioteca-contact-text p {
    font-size: 16px;
  }

  #top .cai-biblioteca-value-grid,
  #top .cai-biblioteca-contents-grid,
  #top .cai-biblioteca-contact-cards {
    grid-template-columns: 1fr;
  }

  #top .cai-biblioteca-value-card,
  #top .cai-biblioteca-content-card {
    min-height: auto;
  }

  #top .cai-biblioteca-quote {
    padding: 36px 30px 34px;
    min-height: auto;
  }

  #top .cai-biblioteca-quote p {
    font-size: 28px;
  }

  #top .cai-biblioteca-contact-card {
    padding: 30px 24px 26px;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 16px;
  }

  #top .cai-biblioteca-small-icon,
  #top .cai-biblioteca-small-icon svg,
  #top .cai-biblioteca-contact-icon,
  #top .cai-biblioteca-contact-icon img {
    width: 40px;
    height: 40px;
  }

}
/* =========================================================
   BLOCCO 4 - CONSULTAZIONE E CONTATTI
   Biblioteca Alberto Borsi
========================================================= */

#top .cai-biblioteca-contact-section {
  padding-top: 56px;
  padding-bottom: 82px;
  border-top: 1px solid rgba(0, 59, 115, 0.13);
}

#top .cai-biblioteca-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(560px, 1fr);
  gap: 72px;
  align-items: center;
}

#top .cai-biblioteca-contact-text {
  min-width: 0;
}

#top .cai-biblioteca-contact-text h2 {
  max-width: 560px;
  margin: 0 0 22px;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: clamp(38px, 3.6vw, 54px);
  line-height: 1.02;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--cai-blue) !important;
}

#top .cai-biblioteca-contact-text p {
  max-width: 600px;
  margin: 0;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 18px;
  line-height: 1.55;
  color: #4b5a67;
}

/* Sede larga sopra, telefono/email sotto */
#top .cai-biblioteca-contact-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  width: 100%;
}

#top .cai-biblioteca-contact-card {
  position: relative;
  min-height: 136px;
  padding: 34px 32px 28px;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 20px;
  align-items: center;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.075);
  box-sizing: border-box;
  overflow: hidden;
}

#top .cai-biblioteca-contact-card:first-child {
  grid-column: 1 / -1;
}

/* Linea oro: ora è al posto giusto, come bordo superiore della card */
#top .cai-biblioteca-contact-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: var(--cai-gold);
}

/* Icone corrette: sede / telefono / email */
#top .cai-biblioteca-contact-icon {
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--cai-blue);
}

#top .cai-biblioteca-contact-icon svg {
  display: block;
  width: 46px;
  height: 46px;
}

#top .cai-biblioteca-contact-icon svg path,
#top .cai-biblioteca-contact-icon svg circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.15;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Testi */
#top .cai-biblioteca-contact-card-text {
  min-width: 0;
  width: 100%;
}

#top .cai-biblioteca-contact-card-text span {
  display: block;
  margin: 0 0 6px;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  color: #536272;
  text-transform: none;
  letter-spacing: 0;
}

#top .cai-biblioteca-contact-card-text strong {
  display: block;
  margin: 0;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 19px;
  line-height: 1.25;
  font-weight: 700;
  color: var(--cai-blue);
}

#top .cai-biblioteca-contact-card-text p {
  margin: 4px 0 0;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 16px;
  line-height: 1.35;
  color: #4b5a67;
}

#top .cai-biblioteca-contact-card-text a {
  color: var(--cai-blue) !important;
  text-decoration: none !important;
  font-weight: 700;
  white-space: nowrap;
}

#top .cai-biblioteca-contact-card-text a:hover {
  color: var(--cai-blue-light) !important;
}

#top .cai-biblioteca-contact-card-text a[href^="mailto"] {
  font-size: 18px;
  white-space: nowrap;
}

/* Responsive */
@media only screen and (max-width: 1180px) {
  #top .cai-biblioteca-contact-grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  #top .cai-biblioteca-contact-cards {
    max-width: 760px;
  }
}

@media only screen and (max-width: 767px) {
  #top .cai-biblioteca-contact-section {
    padding-top: 42px;
    padding-bottom: 56px;
  }

  #top .cai-biblioteca-contact-text h2 {
    font-size: 34px;
  }

  #top .cai-biblioteca-contact-text p {
    font-size: 16px;
  }

  #top .cai-biblioteca-contact-cards {
    grid-template-columns: 1fr;
    max-width: none;
  }

  #top .cai-biblioteca-contact-card:first-child {
    grid-column: auto;
  }

  #top .cai-biblioteca-contact-card {
    min-height: auto;
    padding: 30px 24px 26px;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 16px;
  }

  #top .cai-biblioteca-contact-icon,
  #top .cai-biblioteca-contact-icon svg {
    width: 40px;
    height: 40px;
  }

  #top .cai-biblioteca-contact-card-text strong,
  #top .cai-biblioteca-contact-card-text a[href^="mailto"] {
    font-size: 17px;
  }
}

/* =========================================================
   PAGINA LA SCUOLA - AREE DELLA SCUOLA
   Gianni Ellena + Speleologia
========================================================= */

#top .cai-scuola-aree {
  padding-top: 54px;
}

#top .cai-scuola-section-head {
  margin-bottom: 34px;
}

#top .cai-scuola-section-head h2 {
  margin: 0;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: clamp(42px, 4.2vw, 64px);
  line-height: 1.02;
  font-weight: 700;
  color: var(--cai-blue) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

#top .cai-scuola-section-head p {
  max-width: 820px;
  margin-top: 12px;
  font-size: 18px;
}

/* Layout generale: box Gianni Ellena + card Speleologia */
#top .cai-scuola-aree-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 34px;
  align-items: stretch;
}

/* Box grande Scuola Gianni Ellena */
#top .cai-scuola-ellena-box {
  position: relative;
  padding: 34px 34px 36px;
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,0.92) 0%,
      rgba(239,246,255,0.82) 100%
    );
  border: 1px solid rgba(0, 80, 164, 0.55);
  box-shadow: 0 18px 46px rgba(0, 59, 115, 0.10);
  box-sizing: border-box;
  overflow: hidden;
}

#top .cai-scuola-ellena-box::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.045;
  pointer-events: none;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-position: center center;
  background-size: 520px auto;
}

#top .cai-scuola-ellena-head,
#top .cai-scuola-ellena-grid {
  position: relative;
  z-index: 2;
}

/* Testata Gianni Ellena */
#top .cai-scuola-ellena-head {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 26px;
  align-items: center;
  margin-bottom: 34px;
}

#top .cai-scuola-ellena-logo {
  width: 96px;
  height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#top .cai-scuola-ellena-logo img {
  display: block;
  width: 92px;
  height: auto;
  object-fit: contain;
}

#top .cai-scuola-ellena-title h3 {
  margin: 0 0 10px;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: clamp(34px, 3vw, 46px);
  line-height: 1.05;
  font-weight: 700;
  color: var(--cai-blue) !important;
  text-transform: none !important;
}

#top .cai-scuola-ellena-title p {
  max-width: 820px;
  margin: 0;
  font-size: 18px;
  line-height: 1.45;
  color: #4b5a67 !important;
}

/* Griglia 4 card interne */
#top .cai-scuola-ellena-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

/* Card aree Gianni Ellena */
#top .cai-scuola-area-card {
  min-height: 270px;
  padding: 34px 24px 30px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.075);
  text-align: center;
  box-sizing: border-box;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

#top .cai-scuola-area-card:hover {
  transform: translateY(-5px);
  border-color: rgba(0, 80, 164, 0.22);
  box-shadow: 0 24px 54px rgba(0, 0, 0, 0.12);
}

#top .cai-scuola-area-card img {
  display: block;
  width: 72px;
  height: 72px;
  object-fit: contain;
  margin: 0 auto 22px;
}

#top .cai-scuola-area-card h3 {
  margin: 0;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: 24px;
  line-height: 1.08;
  font-weight: 700;
  color: var(--cai-blue) !important;
  text-transform: none !important;
}

#top .cai-scuola-area-card span {
  display: block;
  width: 44px;
  height: 2px;
  margin: 18px auto 22px;
  background: var(--cai-gold);
}

#top .cai-scuola-area-card p {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.45;
  color: #4b5a67 !important;
}

/* Speleologia separata */
#top .cai-scuola-speleo-card {
  position: relative;
  min-height: 100%;
  padding: 48px 34px 42px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.09);
  text-align: center;
  box-sizing: border-box;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

#top .cai-scuola-speleo-card:hover {
  transform: translateY(-5px);
  border-color: rgba(0, 80, 164, 0.22);
  box-shadow: 0 26px 58px rgba(0, 0, 0, 0.13);
}

#top .cai-scuola-speleo-icon {
  width: 132px;
  height: 132px;
  margin: 0 auto 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 80, 164, 0.07);
  border-radius: 50%;
}

#top .cai-scuola-speleo-icon img {
  display: block;
  width: 84px;
  height: 84px;
  object-fit: contain;
}

#top .cai-scuola-speleo-card h3 {
  margin: 0;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: 36px;
  line-height: 1.08;
  font-weight: 700;
  color: var(--cai-blue) !important;
  text-transform: none !important;
}

#top .cai-scuola-speleo-card span {
  display: block;
  width: 48px;
  height: 3px;
  margin: 22px auto 28px;
  background: var(--cai-gold);
}

#top .cai-scuola-speleo-card p {
  max-width: 240px;
  margin: 0 auto;
  font-size: 18px;
  line-height: 1.48;
  color: #4b5a67 !important;
}


/* =========================================================
   RESPONSIVE - AREE DELLA SCUOLA
========================================================= */

@media only screen and (max-width: 1180px) {
  #top .cai-scuola-aree-layout {
    grid-template-columns: 1fr;
  }

  #top .cai-scuola-ellena-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #top .cai-scuola-speleo-card {
    min-height: auto;
  }

  #top .cai-scuola-speleo-card p {
    max-width: 520px;
  }
}

@media only screen and (max-width: 767px) {
  #top .cai-scuola-aree {
    padding-top: 44px;
  }

  #top .cai-scuola-section-head h2 {
    font-size: 38px;
  }

  #top .cai-scuola-ellena-box {
    padding: 28px 22px 26px;
  }

  #top .cai-scuola-ellena-head {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-bottom: 28px;
  }

  #top .cai-scuola-ellena-logo {
    width: 78px;
    height: 78px;
  }

  #top .cai-scuola-ellena-logo img {
    width: 74px;
  }

  #top .cai-scuola-ellena-title h3 {
    font-size: 31px;
  }

  #top .cai-scuola-ellena-title p {
    font-size: 16px;
  }

  #top .cai-scuola-ellena-grid {
    grid-template-columns: 1fr;
  }

  #top .cai-scuola-area-card {
    min-height: auto;
  }

  #top .cai-scuola-speleo-card {
    padding: 38px 26px 34px;
  }

  #top .cai-scuola-speleo-icon {
    width: 108px;
    height: 108px;
  }

  #top .cai-scuola-speleo-icon img {
    width: 72px;
    height: 72px;
  }

  #top .cai-scuola-speleo-card h3 {
    font-size: 31px;
  }

  #top .cai-scuola-speleo-card p {
    font-size: 16px;
  }
}

/* =========================================================
   PAGINA LA SCUOLA - HOVER CARD SENZA PALLINO/FRECCIA
========================================================= */

/* Elimina eventuali frecce/pallini generati dal tema sui link-card */
#top .cai-scuola-area-link::before,
#top .cai-scuola-area-link::after,
#top .cai-scuola-speleo-link::before,
#top .cai-scuola-speleo-link::after {
  display: none !important;
  content: none !important;
}

/* Card cliccabili: stato normale */
#top .cai-scuola-area-link,
#top .cai-scuola-speleo-link {
  position: relative !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  background: #ffffff !important;
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease !important;
}

/* Hover card Gianni Ellena */
#top .cai-scuola-area-link:hover,
#top .cai-scuola-area-link:focus {
  background: var(--cai-blue) !important;
  border-color: var(--cai-blue) !important;
  box-shadow: 0 26px 58px rgba(0, 59, 115, 0.24) !important;
  transform: translateY(-5px) !important;
}

/* Hover card Speleologia */
#top .cai-scuola-speleo-link:hover,
#top .cai-scuola-speleo-link:focus {
  background: var(--cai-blue) !important;
  border-color: var(--cai-blue) !important;
  box-shadow: 0 26px 58px rgba(0, 59, 115, 0.24) !important;
  transform: translateY(-5px) !important;
}

/* Testi bianchi su hover */
#top .cai-scuola-area-link:hover h3,
#top .cai-scuola-area-link:hover p,
#top .cai-scuola-area-link:focus h3,
#top .cai-scuola-area-link:focus p,
#top .cai-scuola-speleo-link:hover h3,
#top .cai-scuola-speleo-link:hover p,
#top .cai-scuola-speleo-link:focus h3,
#top .cai-scuola-speleo-link:focus p {
  color: #ffffff !important;
}

/* Linea oro resta oro */
#top .cai-scuola-area-link:hover > span,
#top .cai-scuola-area-link:focus > span,
#top .cai-scuola-speleo-link:hover > span,
#top .cai-scuola-speleo-link:focus > span {
  background: var(--cai-gold) !important;
}

/* Icone bianche su hover */
#top .cai-scuola-area-link:hover img,
#top .cai-scuola-area-link:focus img,
#top .cai-scuola-speleo-link:hover img,
#top .cai-scuola-speleo-link:focus img {
  filter: brightness(0) invert(1) !important;
  transform: scale(1.05) !important;
}

/* Speleologia: cerchio icona coerente sul blu */
#top .cai-scuola-speleo-link:hover .cai-scuola-speleo-icon,
#top .cai-scuola-speleo-link:focus .cai-scuola-speleo-icon {
  background: rgba(255, 255, 255, 0.14) !important;
}

/* Evita underline o decorazioni strane del tema */
#top .cai-scuola-area-link *,
#top .cai-scuola-speleo-link * {
  text-decoration: none !important;
}
#top .cai-scuola-area-link .avia_button_icon,
#top .cai-scuola-area-link .avia_iconbox_icon,
#top .cai-scuola-speleo-link .avia_button_icon,
#top .cai-scuola-speleo-link .avia_iconbox_icon {
  display: none !important;
}
/* =========================================================
   PAGINA LA SCUOLA - HOVER CARD CORRETTO SENZA OVERLAY ENFOLD
========================================================= */

/* Togli overlay/freccia automatica di Enfold sui link con immagini */
#top .cai-scuola-area-link .image-overlay,
#top .cai-scuola-area-link .image-overlay-inside,
#top .cai-scuola-speleo-link .image-overlay,
#top .cai-scuola-speleo-link .image-overlay-inside {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Togli eventuali pseudo-elementi generati dal tema */
#top .cai-scuola-area-link::before,
#top .cai-scuola-area-link::after,
#top .cai-scuola-speleo-link::before,
#top .cai-scuola-speleo-link::after {
  display: none !important;
  content: none !important;
}

/* Stato normale link-card */
#top .cai-scuola-area-link,
#top .cai-scuola-speleo-link {
  position: relative !important;
  display: block !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  background: #ffffff !important;
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease !important;
}

/* Hover: card blu */
#top .cai-scuola-area-link:hover,
#top .cai-scuola-area-link:focus,
#top .cai-scuola-speleo-link:hover,
#top .cai-scuola-speleo-link:focus {
  background: var(--cai-blue) !important;
  border-color: var(--cai-blue) !important;
  box-shadow: 0 26px 58px rgba(0, 59, 115, 0.24) !important;
  transform: translateY(-5px) !important;
}

/* Testi bianchi */
#top .cai-scuola-area-link:hover h3,
#top .cai-scuola-area-link:hover p,
#top .cai-scuola-area-link:focus h3,
#top .cai-scuola-area-link:focus p,
#top .cai-scuola-speleo-link:hover h3,
#top .cai-scuola-speleo-link:hover p,
#top .cai-scuola-speleo-link:focus h3,
#top .cai-scuola-speleo-link:focus p {
  color: #ffffff !important;
}

/* Linea oro resta oro */
#top .cai-scuola-area-link:hover > span,
#top .cai-scuola-area-link:focus > span,
#top .cai-scuola-speleo-link:hover > span,
#top .cai-scuola-speleo-link:focus > span {
  background: var(--cai-gold) !important;
}

/* IMPORTANTE: le icone NON devono diventare bianche */
#top .cai-scuola-area-link:hover img,
#top .cai-scuola-area-link:focus img,
#top .cai-scuola-speleo-link:hover img,
#top .cai-scuola-speleo-link:focus img {
  filter: none !important;
  transform: scale(1.05) !important;
}

/* Mantieni il riquadro bianco dietro alle icone su hover */
#top .cai-scuola-area-link:hover img,
#top .cai-scuola-area-link:focus img {
  background: #ffffff !important;
}

/* Speleologia: cerchio icona resta chiaro */
#top .cai-scuola-speleo-link:hover .cai-scuola-speleo-icon,
#top .cai-scuola-speleo-link:focus .cai-scuola-speleo-icon {
  background: rgba(255, 255, 255, 0.92) !important;
}

/* Nessuna sottolineatura interna */
#top .cai-scuola-area-link *,
#top .cai-scuola-speleo-link * {
  text-decoration: none !important;
}

/* =========================================================
   PAGINA SOCI E TESSERAMENTO
   Sezione colore Enfold: cai-soci-wrap
========================================================= */

#top .cai-soci-wrap {
  padding: 0 !important;
  margin: 0 !important;
  background: #f7f5f1 !important;
  color: var(--cai-text-dark) !important;
}

#top .cai-soci-wrap .container,
#top .cai-soci-wrap .template-page,
#top .cai-soci-wrap .post-entry,
#top .cai-soci-wrap .entry-content-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#top .cai-soci-page {
  position: relative;
  overflow: hidden;
  background: #f7f5f1;
  color: var(--cai-text-dark);
}

#top .cai-soci-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0.04;
  pointer-events: none;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-position: center center;
  background-size: 620px auto;
}

#top .cai-soci-section,
#top .cai-soci-final-cta {
  position: relative;
  z-index: 2;
  max-width: 1320px;
  margin: 0 auto;
  padding-left: 56px;
  padding-right: 56px;
  box-sizing: border-box;
}

/* Tipografia */

#top .cai-soci-kicker,
#top .cai-soci-final-text span {
  display: block;
  margin-bottom: 12px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cai-gold) !important;
}

#top .cai-soci-page h2,
#top .cai-soci-page h3 {
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-weight: 700 !important;
  color: var(--cai-blue) !important;
  text-transform: none !important;
}

#top .cai-soci-page p,
#top .cai-soci-page li {
  font-family: 'source-sans-3', Arial, sans-serif !important;
  color: #4b5a67;
}

#top .cai-soci-head {
  margin-bottom: 34px;
}

#top .cai-soci-head--center {
  text-align: center;
}

#top .cai-soci-head h2 {
  margin: 0;
  font-size: clamp(34px, 3.4vw, 52px);
  line-height: 1.05;
}

#top .cai-soci-head p {
  max-width: 760px;
  margin: 14px auto 0;
  font-size: 18px;
  line-height: 1.5;
}

/* Bottoni */

#top .cai-soci-btn {
  min-height: 46px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: all 0.25s ease;
}

#top .cai-soci-btn-primary {
  background: var(--cai-blue);
  border: 2px solid var(--cai-blue);
  color: #ffffff !important;
}

#top .cai-soci-btn-primary:hover {
  background: var(--cai-blue-light);
  border-color: var(--cai-blue-light);
  color: #ffffff !important;
  transform: translateY(-2px);
}

#top .cai-soci-btn-outline {
  background: transparent;
  border: 2px solid var(--cai-blue);
  color: var(--cai-blue) !important;
}

#top .cai-soci-btn-outline:hover {
  background: var(--cai-blue);
  color: #ffffff !important;
  transform: translateY(-2px);
}

/* =========================================================
   VANTAGGI
========================================================= */

#top .cai-soci-benefits {
  padding-top: 72px;
  padding-bottom: 64px;
}

#top .cai-soci-benefits-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
}

#top .cai-soci-benefit-card {
  min-height: 282px;
  padding: 36px 24px 30px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 16px 40px rgba(0,0,0,0.075);
  text-align: center;
  box-sizing: border-box;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

#top .cai-soci-benefit-card:hover {
  transform: translateY(-5px);
  border-color: rgba(0, 80, 164, 0.22);
  box-shadow: 0 24px 54px rgba(0,0,0,0.12);
}

#top .cai-soci-icon {
  width: 72px;
  height: 72px;
  margin: 0 auto 22px;
  color: var(--cai-blue);
}

#top .cai-soci-icon svg,
#top .cai-soci-step-icon svg,
#top .cai-soci-tessera-icon svg,
#top .cai-soci-contact-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

#top .cai-soci-icon svg path,
#top .cai-soci-icon svg circle,
#top .cai-soci-step-icon svg path,
#top .cai-soci-step-icon svg circle,
#top .cai-soci-step-icon svg rect,
#top .cai-soci-tessera-icon svg path,
#top .cai-soci-tessera-icon svg circle,
#top .cai-soci-contact-icon svg path,
#top .cai-soci-contact-icon svg circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#top .cai-soci-benefit-card h3 {
  margin: 0;
  font-size: 21px;
  line-height: 1.15;
}

#top .cai-soci-benefit-card span {
  display: block;
  width: 44px;
  height: 2px;
  margin: 17px auto 20px;
  background: var(--cai-gold);
}

#top .cai-soci-benefit-card p {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.45;
}

/* =========================================================
   COME TESSERARSI
========================================================= */

#top .cai-soci-steps {
  padding-top: 56px;
  padding-bottom: 66px;
  border-top: 1px solid rgba(0, 59, 115, 0.13);
}

#top .cai-soci-steps-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
}

#top .cai-soci-step-card {
  position: relative;
  min-height: 250px;
  padding: 40px 28px 32px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 16px 40px rgba(0,0,0,0.075);
  text-align: center;
  box-sizing: border-box;
}

#top .cai-soci-step-number {
  position: absolute;
  left: -10px;
  top: -10px;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--cai-blue);
  color: #ffffff;
  border-radius: 50%;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  box-shadow: 0 10px 22px rgba(0,0,0,0.16);
}

#top .cai-soci-step-icon {
  width: 70px;
  height: 70px;
  margin: 0 auto 22px;
  color: var(--cai-blue);
}

#top .cai-soci-step-card h3 {
  margin: 0 0 14px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 18px;
  line-height: 1.18;
  font-weight: 700;
}

#top .cai-soci-step-card p {
  margin: 0;
  font-size: 15px;
  line-height: 1.45;
}

#top .cai-soci-center-action {
  margin-top: 30px;
  text-align: center;
}

/* =========================================================
   TIPOLOGIE TESSERA
========================================================= */

#top .cai-soci-tessere {
  padding-top: 56px;
  padding-bottom: 66px;
  border-top: 1px solid rgba(0, 59, 115, 0.13);
}

#top .cai-soci-tessere-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 26px;
}

#top .cai-soci-tessera-card {
  min-height: 300px;
  padding: 38px 28px 30px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 16px 40px rgba(0,0,0,0.075);
  text-align: center;
  box-sizing: border-box;
}

#top .cai-soci-tessera-card--featured {
  background: var(--cai-blue);
  color: #ffffff;
}

#top .cai-soci-tessera-icon {
  width: 72px;
  height: 72px;
  margin: 0 auto 22px;
  color: var(--cai-blue);
}

#top .cai-soci-tessera-card--featured .cai-soci-tessera-icon,
#top .cai-soci-tessera-card--featured h3,
#top .cai-soci-tessera-card--featured p,
#top .cai-soci-tessera-card--featured strong {
  color: #ffffff !important;
}

#top .cai-soci-tessera-card h3 {
  margin: 0 0 12px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 20px;
  line-height: 1.15;
  font-weight: 700;
}

#top .cai-soci-tessera-card p {
  margin: 0 0 22px;
  font-size: 15px;
  line-height: 1.45;
}

#top .cai-soci-tessera-card strong {
  display: block;
  margin-bottom: 20px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 700;
  color: var(--cai-blue);
}

#top .cai-soci-tessera-link {
  min-height: 36px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(0, 80, 164, 0.36);
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--cai-blue-light) !important;
  text-decoration: none !important;
}

#top .cai-soci-tessera-link:hover {
  background: var(--cai-blue-light);
  color: #ffffff !important;
}

#top .cai-soci-tessera-card--featured .cai-soci-tessera-link {
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.65);
}

#top .cai-soci-tessera-card--featured .cai-soci-tessera-link:hover {
  background: #ffffff;
  color: var(--cai-blue) !important;
}

#top .cai-soci-note {
  margin: 28px 0 0;
  text-align: center;
  font-size: 15px;
  line-height: 1.45;
  color: #536272;
}

/* =========================================================
   VOLONTARIATO
========================================================= */

#top .cai-soci-volontariato {
  padding-top: 58px;
  padding-bottom: 66px;
  border-top: 1px solid rgba(0, 59, 115, 0.13);
}

#top .cai-soci-volontariato-grid {
  display: grid;
  grid-template-columns: minmax(420px, 0.95fr) minmax(0, 1.05fr);
  align-items: stretch;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 18px 46px rgba(0,0,0,0.085);
}

#top .cai-soci-volontariato-image {
  min-height: 420px;
  overflow: hidden;
}

#top .cai-soci-volontariato-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
}

#top .cai-soci-volontariato-text {
  padding: 54px 58px;
  box-sizing: border-box;
}

#top .cai-soci-volontariato-text h2 {
  max-width: 620px;
  margin: 0 0 22px;
  font-size: clamp(36px, 3.5vw, 54px);
  line-height: 1.03;
}

#top .cai-soci-volontariato-text p {
  margin: 0 0 22px;
  font-size: 17px;
  line-height: 1.55;
}

#top .cai-soci-volontariato-text ul {
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
}

#top .cai-soci-volontariato-text li {
  position: relative;
  margin-bottom: 11px;
  padding-left: 30px;
  font-size: 16px;
  line-height: 1.4;
}

#top .cai-soci-volontariato-text li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.05em;
  width: 18px;
  height: 18px;
  border: 1px solid var(--cai-blue);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--cai-blue);
  font-size: 11px;
  font-weight: 700;
}

/* =========================================================
   CONTATTI
========================================================= */

#top .cai-soci-contatti {
  padding-top: 56px;
  padding-bottom: 58px;
  border-top: 1px solid rgba(0, 59, 115, 0.13);
}

#top .cai-soci-contatti-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(620px, 1.2fr);
  gap: 64px;
  align-items: center;
}

#top .cai-soci-contatti-text h2 {
  margin: 0 0 18px;
  font-size: clamp(34px, 3vw, 48px);
  line-height: 1.05;
}

#top .cai-soci-contatti-text p {
  max-width: 560px;
  margin: 0;
  font-size: 17px;
  line-height: 1.5;
}

#top .cai-soci-contatti-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

#top .cai-soci-contact-card {
  position: relative;
  min-height: 138px;
  padding: 32px 24px 26px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 16px 40px rgba(0,0,0,0.075);
  box-sizing: border-box;
}

#top .cai-soci-contact-card::before {
  content: "";
  position: absolute;
  left: 28px;
  top: 0;
  width: 70px;
  height: 4px;
  background: var(--cai-gold);
}

#top .cai-soci-contact-icon {
  width: 40px;
  height: 40px;
  color: var(--cai-blue);
}

#top .cai-soci-contact-card span {
  display: block;
  margin-bottom: 5px;
  font-family: 'source-sans-3', Arial, sans-serif;
  font-size: 14px;
  line-height: 1.2;
  color: #536272;
  font-weight: 700;
}

#top .cai-soci-contact-card strong,
#top .cai-soci-contact-card a {
  font-family: 'source-sans-3', Arial, sans-serif;
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: var(--cai-blue) !important;
  text-decoration: none !important;
}

#top .cai-soci-contact-card a:hover {
  color: var(--cai-blue-light) !important;
}



/* =========================================================
   RESPONSIVE
========================================================= */

@media only screen and (max-width: 1180px) {

  #top .cai-soci-section,
  #top .cai-soci-final-cta {
    padding-left: 34px;
    padding-right: 34px;
  }

  #top .cai-soci-benefits-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #top .cai-soci-steps-grid,
  #top .cai-soci-tessere-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #top .cai-soci-volontariato-grid,
  #top .cai-soci-contatti-grid {
    grid-template-columns: 1fr;
  }

  #top .cai-soci-volontariato-image,
  #top .cai-soci-volontariato-image img {
    min-height: 340px;
  }

  #top .cai-soci-contatti-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #top .cai-soci-final-cta-inner {
    grid-template-columns: 1fr;
  }

  #top .cai-soci-final-actions {
    justify-content: flex-start;
  }

}

@media only screen and (max-width: 767px) {

  #top .cai-soci-section,
  #top .cai-soci-final-cta {
    padding-left: 24px;
    padding-right: 24px;
  }

  #top .cai-soci-benefits {
    padding-top: 48px;
    padding-bottom: 46px;
  }

  #top .cai-soci-steps,
  #top .cai-soci-tessere,
  #top .cai-soci-volontariato,
  #top .cai-soci-contatti {
    padding-top: 42px;
    padding-bottom: 48px;
  }

  #top .cai-soci-head h2,
  #top .cai-soci-volontariato-text h2,
  #top .cai-soci-contatti-text h2,
  #top .cai-soci-final-text h2 {
    font-size: 34px;
  }

  #top .cai-soci-benefits-grid,
  #top .cai-soci-steps-grid,
  #top .cai-soci-tessere-grid,
  #top .cai-soci-contatti-cards {
    grid-template-columns: 1fr;
  }

  #top .cai-soci-benefit-card,
  #top .cai-soci-step-card,
  #top .cai-soci-tessera-card {
    min-height: auto;
  }

  #top .cai-soci-volontariato-text {
    padding: 36px 26px;
  }

  #top .cai-soci-volontariato-image,
  #top .cai-soci-volontariato-image img {
    min-height: 260px;
  }

  #top .cai-soci-contact-card {
    min-height: auto;
  }

  #top .cai-soci-final-cta {
    padding-bottom: 52px;
  }

  #top .cai-soci-final-cta-inner {
    padding: 36px 26px;
  }

  #top .cai-soci-final-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  #top .cai-soci-final-btn {
    width: 100%;
    min-width: 0;
  }

}

/* =========================================================
   INFORMAZIONI TESSERAMENTO
========================================================= */

#top .cai-soci-info-tesseramento {
  padding-top: 56px;
  padding-bottom: 66px;
  border-top: 1px solid rgba(0, 59, 115, 0.13);
}

#top .cai-soci-info-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

#top .cai-soci-info-box {
  position: relative;
  min-height: 560px;
  padding: 38px 32px 34px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 16px 40px rgba(0,0,0,0.075);
  box-sizing: border-box;
}

#top .cai-soci-info-box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 32px;
  width: 76px;
  height: 4px;
  background: var(--cai-gold);
}

#top .cai-soci-info-icon {
  width: 68px;
  height: 68px;
  margin-bottom: 24px;
  color: var(--cai-blue);
}

#top .cai-soci-info-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

#top .cai-soci-info-icon svg path,
#top .cai-soci-info-icon svg circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#top .cai-soci-info-box h3 {
  margin: 0;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: 28px;
  line-height: 1.08;
  font-weight: 700;
  color: var(--cai-blue) !important;
  text-transform: none !important;
}

#top .cai-soci-info-box > span {
  display: block;
  width: 46px;
  height: 3px;
  margin: 18px 0 20px;
  background: var(--cai-gold);
}

#top .cai-soci-info-box p {
  margin: 0 0 18px;
  font-size: 16px;
  line-height: 1.5;
  color: #4b5a67;
}

#top .cai-soci-info-box ul {
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}

#top .cai-soci-info-box li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 24px;
  font-size: 15.5px;
  line-height: 1.42;
  color: #4b5a67;
}

#top .cai-soci-info-box li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 700;
  color: var(--cai-blue);
}

#top .cai-soci-bank-box {
  margin: 22px 0 24px;
  padding: 18px 20px;
  background: rgba(0, 80, 164, 0.06);
  border-left: 4px solid var(--cai-blue);
}

#top .cai-soci-bank-box strong {
  display: block;
  margin-bottom: 5px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  text-transform: uppercase;
  color: var(--cai-blue);
}

#top .cai-soci-bank-box p {
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 700;
  color: var(--cai-blue);
}

#top .cai-soci-bank-box small {
  font-size: 14px;
  color: #536272;
}

#top .cai-soci-alert {
  padding: 16px 18px;
  background: rgba(211, 161, 31, 0.12);
  border-left: 4px solid var(--cai-gold);
  font-weight: 700;
  color: var(--cai-blue) !important;
}

#top .cai-soci-info-link {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 18px;
  border: 2px solid var(--cai-blue);
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--cai-blue) !important;
  text-decoration: none !important;
  transition: all 0.25s ease;
}

#top .cai-soci-info-link:hover {
  background: var(--cai-blue);
  color: #ffffff !important;
  transform: translateY(-2px);
}

/* Sottosezioni */

#top .cai-soci-subsections-box {
  margin-top: 34px;
  padding: 34px;
  background: rgba(255,255,255,0.82);
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 14px 34px rgba(0,0,0,0.055);
}

#top .cai-soci-subsections-title h3 {
  margin: 0 0 12px;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: 32px;
  line-height: 1.08;
  color: var(--cai-blue) !important;
}

#top .cai-soci-subsections-title p {
  max-width: 760px;
  margin: 0 0 28px;
  font-size: 17px;
  line-height: 1.5;
}

#top .cai-soci-subsections-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

#top .cai-soci-subsections-grid article {
  padding: 24px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.08);
}

#top .cai-soci-subsections-grid strong {
  display: block;
  margin-bottom: 10px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 18px;
  color: var(--cai-blue);
}

#top .cai-soci-subsections-grid p {
  margin: 0 0 8px;
  font-size: 16px;
  line-height: 1.4;
}

#top .cai-soci-subsections-grid small {
  display: block;
  font-size: 14px;
  line-height: 1.35;
  color: #536272;
}

/* =========================================================
   QUOTE ASSOCIATIVE
========================================================= */

#top .cai-soci-quotes-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 26px;
}

#top .cai-soci-quote-card {
  min-height: 290px;
  padding: 34px 28px 30px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 16px 40px rgba(0,0,0,0.075);
  box-sizing: border-box;
}

#top .cai-soci-quote-card--featured {
  background: var(--cai-blue);
  color: #ffffff;
}

#top .cai-soci-quote-card--wide {
  grid-column: span 2;
}

#top .cai-soci-quote-card h3 {
  margin: 0 0 12px;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: 25px;
  line-height: 1.1;
  color: var(--cai-blue) !important;
}

#top .cai-soci-quote-card--featured h3,
#top .cai-soci-quote-card--featured p,
#top .cai-soci-quote-card--featured span,
#top .cai-soci-quote-card--featured strong {
  color: #ffffff !important;
}

#top .cai-soci-quote-card p {
  margin: 0 0 24px;
  font-size: 15.5px;
  line-height: 1.45;
}

#top .cai-soci-price-row {
  padding: 13px 0;
  border-top: 1px solid rgba(0, 59, 115, 0.12);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

#top .cai-soci-quote-card--featured .cai-soci-price-row {
  border-top-color: rgba(255,255,255,0.22);
}

#top .cai-soci-price-row span {
  font-family: 'source-sans-3', Arial, sans-serif;
  font-size: 14px;
  color: #536272;
}

#top .cai-soci-price-row strong {
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 20px;
  color: var(--cai-blue);
}

#top .cai-soci-extra-quotes {
  margin-top: 30px;
  padding: 30px 34px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 34px;
  align-items: center;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 14px 34px rgba(0,0,0,0.055);
}

#top .cai-soci-extra-quotes h3 {
  margin: 0 0 10px;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: 28px;
  color: var(--cai-blue) !important;
}

#top .cai-soci-extra-quotes p {
  margin: 0;
  max-width: 740px;
  font-size: 16px;
  line-height: 1.5;
}

#top .cai-soci-extra-quotes ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

#top .cai-soci-extra-quotes li {
  margin-bottom: 8px;
  font-size: 16px;
  color: #4b5a67;
}

@media only screen and (max-width: 1180px) {
  #top .cai-soci-info-grid,
  #top .cai-soci-subsections-grid,
  #top .cai-soci-quotes-grid {
    grid-template-columns: 1fr;
  }

  #top .cai-soci-info-box,
  #top .cai-soci-quote-card {
    min-height: auto;
  }

  #top .cai-soci-quote-card--wide {
    grid-column: auto;
  }

  #top .cai-soci-extra-quotes {
    grid-template-columns: 1fr;
  }
}

@media only screen and (max-width: 767px) {
  #top .cai-soci-info-tesseramento {
    padding-top: 42px;
    padding-bottom: 48px;
  }

  #top .cai-soci-info-box,
  #top .cai-soci-subsections-box,
  #top .cai-soci-quote-card,
  #top .cai-soci-extra-quotes {
    padding: 28px 24px;
  }

  #top .cai-soci-info-box h3,
  #top .cai-soci-subsections-title h3,
  #top .cai-soci-extra-quotes h3 {
    font-size: 25px;
  }
}

/* =========================================================
   SOCI E TESSERAMENTO - CONTATTI
   Stile coerente con le schede finali pagina "La scuola"
========================================================= */

#top .cai-soci-contatti {
  padding-top: 58px !important;
  padding-bottom: 82px !important;
  border-top: 1px solid rgba(0, 59, 115, 0.14) !important;
}

#top .cai-soci-contatti-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 0.82fr) minmax(560px, 1fr) !important;
  gap: 78px !important;
  align-items: start !important;
}

#top .cai-soci-contatti-title {
  min-width: 0 !important;
}

#top .cai-soci-contatti-title h2 {
  margin: 0 0 18px !important;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: clamp(34px, 3.4vw, 50px) !important;
  line-height: 1.05 !important;
  font-weight: 700 !important;
  color: var(--cai-blue) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

#top .cai-soci-contatti-title p {
  max-width: 560px !important;
  margin: 0 !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  color: #4b5a67 !important;
}

/* Layout card:
   Sede larga sopra, telefono/email sotto.
   Così le card restano leggibili e coerenti con "La scuola".
*/

#top .cai-soci-contatti-cards {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 26px !important;
  width: 100% !important;
}

#top .cai-soci-contact-card:first-child {
  grid-column: 1 / -1 !important;
}

#top .cai-soci-contact-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  gap: 22px !important;
  align-items: center !important;

  min-height: 126px !important;
  padding: 30px 34px !important;

  background: #ffffff !important;
  border: 1px solid rgba(0, 59, 115, 0.10) !important;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.07) !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

#top .cai-soci-contact-card::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 34px !important;
  width: 72px !important;
  height: 4px !important;
  background: var(--cai-gold) !important;
}

/* Icone blu, come nelle schede finali della pagina Scuola */

#top .cai-soci-contact-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 44px !important;
  height: 44px !important;
  color: var(--cai-blue) !important;
}

#top .cai-soci-contact-icon svg {
  display: block !important;
  width: 38px !important;
  height: 38px !important;
}

#top .cai-soci-contact-icon svg path,
#top .cai-soci-contact-icon svg circle {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.1 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* Testi card */

#top .cai-soci-contact-text {
  min-width: 0 !important;
}

#top .cai-soci-contact-text span {
  display: block !important;
  margin: 0 0 5px !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  color: #536272 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

#top .cai-soci-contact-text strong {
  display: block !important;
  margin: 0 !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.28 !important;
  font-weight: 700 !important;
  color: var(--cai-blue) !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

#top .cai-soci-contact-text a {
  color: var(--cai-blue) !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

#top .cai-soci-contact-text a:hover {
  color: var(--cai-blue-light) !important;
}

/* Evita che l'email venga spezzata */
#top .cai-soci-contact-text a[href^="mailto"] {
  white-space: nowrap !important;
  font-size: 18px !important;
}

/* =========================================================
   RESPONSIVE CONTATTI SOCI
========================================================= */

@media only screen and (max-width: 1180px) {
  #top .cai-soci-contatti-grid {
    grid-template-columns: 1fr !important;
    gap: 38px !important;
  }

  #top .cai-soci-contatti-title p {
    max-width: 760px !important;
  }

  #top .cai-soci-contatti-cards {
    max-width: 760px !important;
  }
}

@media only screen and (max-width: 900px) {
  #top .cai-soci-contatti-cards {
    grid-template-columns: 1fr !important;
    max-width: none !important;
  }

  #top .cai-soci-contact-card:first-child {
    grid-column: auto !important;
  }

  #top .cai-soci-contact-card {
    min-height: auto !important;
  }
}

@media only screen and (max-width: 767px) {
  #top .cai-soci-contatti {
    padding-top: 44px !important;
    padding-bottom: 58px !important;
  }

  #top .cai-soci-contatti-title h2 {
    font-size: 34px !important;
  }

  #top .cai-soci-contatti-title p {
    font-size: 16px !important;
  }

  #top .cai-soci-contact-card {
    grid-template-columns: 46px minmax(0, 1fr) !important;
    gap: 16px !important;
    padding: 26px 24px !important;
  }

  #top .cai-soci-contact-icon,
  #top .cai-soci-contact-icon svg {
    width: 40px !important;
    height: 40px !important;
  }

  #top .cai-soci-contact-text strong,
  #top .cai-soci-contact-text a[href^="mailto"] {
    font-size: 17px !important;
  }
}

/* =========================================================
   PAGINE DETTAGLIO SOCI / TESSERAMENTO
   Classe sezione colore Enfold: cai-soci-detail-wrap
========================================================= */

#top .cai-soci-detail-wrap {
  padding: 0 !important;
  margin: 0 !important;
  background: #f7f5f1 !important;
  color: var(--cai-text-dark) !important;
}

#top .cai-soci-detail-wrap .container,
#top .cai-soci-detail-wrap .template-page,
#top .cai-soci-detail-wrap .post-entry,
#top .cai-soci-detail-wrap .entry-content-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#top .cai-soci-detail-page {
  position: relative;
  overflow: hidden;
  background: #f7f5f1;
  color: var(--cai-text-dark);
}

#top .cai-soci-detail-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0.04;
  pointer-events: none;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-position: center center;
  background-size: 620px auto;
}

#top .cai-soci-detail-minihero,
#top .cai-soci-detail-section,
#top .cai-soci-detail-warning,
#top .cai-soci-detail-cta {
  position: relative;
  z-index: 2;
  max-width: 1320px;
  margin: 0 auto;
  padding-left: 56px;
  padding-right: 56px;
  box-sizing: border-box;
}

/* Tipografia */

#top .cai-soci-detail-kicker {
  display: block;
  margin-bottom: 13px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--cai-gold) !important;
}

#top .cai-soci-detail-page h1,
#top .cai-soci-detail-page h2,
#top .cai-soci-detail-page h3 {
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-weight: 700 !important;
  color: var(--cai-blue) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

#top .cai-soci-detail-page p,
#top .cai-soci-detail-page li,
#top .cai-soci-detail-page small,
#top .cai-soci-detail-page td,
#top .cai-soci-detail-page th {
  font-family: 'source-sans-3', Arial, sans-serif !important;
}

#top .cai-soci-detail-page p,
#top .cai-soci-detail-page li {
  color: #4b5a67;
}

#top .cai-soci-detail-page a {
  color: var(--cai-blue-light) !important;
  text-decoration: none !important;
}

#top .cai-soci-detail-page a:hover {
  color: var(--cai-blue) !important;
}

/* =========================================================
   MINI HERO INTERNA
========================================================= */

#top .cai-soci-detail-minihero {
  padding-top: 72px;
  padding-bottom: 64px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 430px);
  gap: 72px;
  align-items: center;
}

#top .cai-soci-detail-minihero::after {
  content: "";
  position: absolute;
  left: 56px;
  right: 56px;
  bottom: 0;
  height: 1px;
  background: rgba(0, 59, 115, 0.13);
}

#top .cai-soci-detail-minihero__text {
  min-width: 0;
}

#top .cai-soci-detail-minihero__text h1 {
  max-width: 780px;
  margin: 0 0 24px;
  font-size: clamp(48px, 5vw, 74px);
  line-height: 1.01;
}

#top .cai-soci-detail-minihero__text p {
  max-width: 780px;
  margin: 0;
  font-size: 20px;
  line-height: 1.55;
  color: #4b5a67;
}

#top .cai-soci-detail-minihero__card {
  position: relative;
  padding: 34px 34px 30px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.075);
  box-sizing: border-box;
}

#top .cai-soci-detail-minihero__card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 34px;
  width: 76px;
  height: 4px;
  background: var(--cai-gold);
}

#top .cai-soci-detail-minihero__card > span {
  display: block;
  margin: 0 0 18px;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: 27px;
  line-height: 1.1;
  font-weight: 700;
  color: var(--cai-blue);
}

#top .cai-soci-detail-minihero__card ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

#top .cai-soci-detail-minihero__card li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 24px;
  font-size: 16px;
  line-height: 1.42;
  color: #4b5a67;
}

#top .cai-soci-detail-minihero__card li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--cai-blue);
  font-weight: 700;
}

#top .cai-soci-detail-minihero__card p {
  margin: 0;
  font-size: 17px;
  line-height: 1.5;
  color: #4b5a67;
}

#top .cai-soci-detail-minihero__card--alert p {
  padding: 18px 20px;
  background: rgba(211, 161, 31, 0.12);
  border-left: 4px solid var(--cai-gold);
  color: var(--cai-blue) !important;
  font-weight: 700;
}

/* =========================================================
   SEZIONI
========================================================= */

#top .cai-soci-detail-section {
  padding-top: 56px;
  padding-bottom: 66px;
  border-top: 1px solid rgba(0, 59, 115, 0.13);
}

#top .cai-soci-detail-head {
  margin-bottom: 32px;
}

#top .cai-soci-detail-head h2 {
  margin: 0;
  font-size: clamp(34px, 3.4vw, 52px);
  line-height: 1.05;
}

#top .cai-soci-detail-head p {
  max-width: 800px;
  margin: 14px 0 0;
  font-size: 18px;
  line-height: 1.5;
}

/* =========================================================
   STEP
========================================================= */

#top .cai-soci-detail-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 26px;
}

#top .cai-soci-detail-steps article {
  position: relative;
  min-height: 220px;
  padding: 38px 28px 30px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 16px 40px rgba(0,0,0,0.075);
  box-sizing: border-box;
}

#top .cai-soci-detail-steps article > span {
  position: absolute;
  left: -10px;
  top: -10px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--cai-blue);
  color: #ffffff;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

#top .cai-soci-detail-steps h3 {
  margin: 0 0 14px;
  font-size: 24px;
  line-height: 1.1;
}

#top .cai-soci-detail-steps p {
  margin: 0;
  font-size: 16px;
  line-height: 1.45;
}

/* =========================================================
   GRID, BOX, CARD
========================================================= */

#top .cai-soci-detail-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
}

#top .cai-soci-detail-box,
#top .cai-soci-detail-cards article {
  position: relative;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 16px 40px rgba(0,0,0,0.075);
  box-sizing: border-box;
}

#top .cai-soci-detail-box {
  padding: 38px 34px 34px;
}

#top .cai-soci-detail-cards article {
  padding: 34px 30px 30px;
}

#top .cai-soci-detail-box::before,
#top .cai-soci-detail-cards article::before {
  content: "";
  position: absolute;
  top: 0;
  left: 34px;
  width: 76px;
  height: 4px;
  background: var(--cai-gold);
}

#top .cai-soci-detail-cards article::before {
  left: 30px;
  width: 70px;
}

#top .cai-soci-detail-box h2,
#top .cai-soci-detail-box h3 {
  margin: 0 0 18px;
  font-size: 30px;
  line-height: 1.08;
}

#top .cai-soci-detail-cards h3 {
  margin: 0 0 14px;
  font-size: 25px;
  line-height: 1.1;
}

#top .cai-soci-detail-box p,
#top .cai-soci-detail-cards p {
  margin: 0 0 16px;
  font-size: 16px;
  line-height: 1.5;
}

#top .cai-soci-detail-box p:last-child,
#top .cai-soci-detail-cards p:last-child {
  margin-bottom: 0;
}

#top .cai-soci-detail-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

#top .cai-soci-detail-cards--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#top .cai-soci-detail-cards--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

#top .cai-soci-detail-cards small {
  display: block;
  margin-top: 8px;
  color: #536272;
  font-size: 14px;
  line-height: 1.35;
}

/* =========================================================
   IBAN
========================================================= */

#top .cai-soci-bank-detail {
  margin: 0 0 22px;
  padding: 20px 22px;
  background: rgba(0, 80, 164, 0.06);
  border-left: 4px solid var(--cai-blue);
}

#top .cai-soci-bank-detail strong {
  display: block;
  margin-bottom: 6px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  text-transform: uppercase;
  color: var(--cai-blue);
}

#top .cai-soci-bank-detail p {
  margin: 0 0 5px;
  font-size: 18px;
  line-height: 1.3;
  font-weight: 700;
  color: var(--cai-blue);
}

#top .cai-soci-bank-detail small {
  color: #536272;
  font-size: 14px;
}

/* =========================================================
   TABELLE
========================================================= */

#top .cai-soci-detail-table-wrap {
  overflow-x: auto;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 16px 40px rgba(0,0,0,0.075);
}

#top .cai-soci-detail-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}

#top .cai-soci-detail-table th,
#top .cai-soci-detail-table td {
  padding: 18px 22px;
  text-align: left;
  border-bottom: 1px solid rgba(0, 59, 115, 0.10);
  font-size: 16px;
  line-height: 1.35;
}

#top .cai-soci-detail-table th {
  background: var(--cai-blue);
  color: #ffffff;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-weight: 700;
}

#top .cai-soci-detail-table td:nth-child(2) {
  font-weight: 700;
  color: var(--cai-blue);
  white-space: nowrap;
}

#top .cai-soci-detail-table tr:last-child td {
  border-bottom: none;
}

/* =========================================================
   NOTE, LISTE, PREZZI
========================================================= */

#top .cai-soci-detail-note {
  margin: 24px 0 0;
  padding: 18px 22px;
  background: rgba(211, 161, 31, 0.12);
  border-left: 4px solid var(--cai-gold);
  color: var(--cai-blue) !important;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 700;
}

#top .cai-soci-detail-list {
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

#top .cai-soci-detail-list li {
  margin-bottom: 8px;
  font-size: 16px;
  line-height: 1.4;
}

#top .cai-soci-detail-price {
  margin-top: 20px;
  padding: 18px 20px;
  background: rgba(0, 80, 164, 0.06);
  border-left: 4px solid var(--cai-blue);
}

#top .cai-soci-detail-price span {
  display: block;
  margin-bottom: 5px;
  font-family: 'source-sans-3', Arial, sans-serif;
  font-size: 14px;
  color: #536272;
}

#top .cai-soci-detail-price strong {
  display: block;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 26px;
  color: var(--cai-blue);
}

/* =========================================================
   WARNING
========================================================= */

#top .cai-soci-detail-warning {
  padding-top: 50px;
  padding-bottom: 58px;
  border-top: 1px solid rgba(0, 59, 115, 0.13);
}

#top .cai-soci-detail-warning h2 {
  margin: 0 0 18px;
  font-size: clamp(32px, 3vw, 46px);
  line-height: 1.05;
}

#top .cai-soci-detail-warning p {
  max-width: 900px;
  margin: 0;
  font-size: 18px;
  line-height: 1.55;
}

/* =========================================================
   CTA
========================================================= */

#top .cai-soci-detail-cta {
  padding-top: 52px;
  padding-bottom: 76px;
  border-top: 1px solid rgba(0, 59, 115, 0.13);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 42px;
  align-items: center;
}

#top .cai-soci-detail-cta h2 {
  margin: 0 0 14px;
  font-size: clamp(32px, 3vw, 46px);
  line-height: 1.05;
}

#top .cai-soci-detail-cta p {
  max-width: 720px;
  margin: 0;
  font-size: 17px;
  line-height: 1.5;
}

#top .cai-soci-detail-cta__actions {
  display: flex;
  gap: 16px;
  align-items: center;
}

#top .cai-soci-detail-btn {
  min-height: 48px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: all 0.25s ease;
  white-space: nowrap;
}

#top .cai-soci-detail-page a.cai-soci-detail-btn-primary,
#top .cai-soci-detail-page a.cai-soci-detail-btn-primary:link,
#top .cai-soci-detail-page a.cai-soci-detail-btn-primary:visited {
  background: var(--cai-blue);
  border: 2px solid var(--cai-blue);
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

#top .cai-soci-detail-page a.cai-soci-detail-btn-primary:hover,
#top .cai-soci-detail-page a.cai-soci-detail-btn-primary:focus,
#top .cai-soci-detail-page a.cai-soci-detail-btn-primary:active {
  background: var(--cai-blue-light);
  border-color: var(--cai-blue-light);
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  transform: translateY(-2px);
}
}

#top .cai-soci-detail-btn-outline {
  background: transparent;
  border: 2px solid var(--cai-blue);
  color: var(--cai-blue) !important;
}

#top .cai-soci-detail-page .cai-soci-detail-btn-outline:hover,
#top .cai-soci-detail-page .cai-soci-detail-btn-outline:focus,
#top .cai-soci-detail-page .cai-soci-detail-btn-outline:active {
  background: var(--cai-blue);
  color: #ffffff !important;
  transform: translateY(-2px);
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media only screen and (max-width: 1180px) {

  #top .cai-soci-detail-minihero,
  #top .cai-soci-detail-section,
  #top .cai-soci-detail-warning,
  #top .cai-soci-detail-cta {
    padding-left: 34px;
    padding-right: 34px;
  }

  #top .cai-soci-detail-minihero {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  #top .cai-soci-detail-minihero::after {
    left: 34px;
    right: 34px;
  }

  #top .cai-soci-detail-cta {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  #top .cai-soci-detail-steps,
  #top .cai-soci-detail-cards,
  #top .cai-soci-detail-cards--two,
  #top .cai-soci-detail-cards--three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #top .cai-soci-detail-grid-2 {
    grid-template-columns: 1fr;
  }

  #top .cai-soci-detail-cta__actions {
    justify-content: flex-start;
  }
}

@media only screen and (max-width: 767px) {

  #top .cai-soci-detail-minihero,
  #top .cai-soci-detail-section,
  #top .cai-soci-detail-warning,
  #top .cai-soci-detail-cta {
    padding-left: 24px;
    padding-right: 24px;
  }

  #top .cai-soci-detail-minihero {
    padding-top: 48px;
    padding-bottom: 46px;
  }

  #top .cai-soci-detail-minihero::after {
    left: 24px;
    right: 24px;
  }

  #top .cai-soci-detail-section {
    padding-top: 42px;
    padding-bottom: 48px;
  }

  #top .cai-soci-detail-minihero__text h1 {
    font-size: 42px;
  }

  #top .cai-soci-detail-minihero__text p {
    font-size: 17px;
  }

  #top .cai-soci-detail-minihero__card {
    padding: 30px 24px 26px;
  }

  #top .cai-soci-detail-head h2,
  #top .cai-soci-detail-cta h2,
  #top .cai-soci-detail-warning h2 {
    font-size: 34px;
  }

  #top .cai-soci-detail-steps,
  #top .cai-soci-detail-cards,
  #top .cai-soci-detail-cards--two,
  #top .cai-soci-detail-cards--three {
    grid-template-columns: 1fr;
  }

  #top .cai-soci-detail-steps article,
  #top .cai-soci-detail-box,
  #top .cai-soci-detail-cards article {
    padding: 30px 24px 26px;
  }

  #top .cai-soci-detail-table th,
  #top .cai-soci-detail-table td {
    padding: 15px 16px;
    font-size: 15px;
  }

  #top .cai-soci-detail-cta__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  #top .cai-soci-detail-btn {
    width: 100%;
    white-space: normal;
    text-align: center;
  }
}
/* =========================================================
   PAGINE DETTAGLIO SCUOLA
   Classe sezione colore Enfold: cai-scuola-detail-wrap
========================================================= */

#top .cai-scuola-detail-wrap {
  padding: 0 !important;
  margin: 0 !important;
  background: #f7f5f1 !important;
  color: var(--cai-text-dark) !important;
}

#top .cai-scuola-detail-wrap .container,
#top .cai-scuola-detail-wrap .template-page,
#top .cai-scuola-detail-wrap .post-entry,
#top .cai-scuola-detail-wrap .entry-content-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#top .cai-scuola-detail-page {
  position: relative;
  overflow: hidden;
  background: #f7f5f1;
  color: var(--cai-text-dark);
}

#top .cai-scuola-detail-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0.045;
  pointer-events: none;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-position: center center;
  background-size: 620px auto;
}

#top .cai-scuola-detail-section,
#top .cai-scuola-detail-cta {
  position: relative;
  z-index: 2;
  max-width: 1320px;
  margin: 0 auto;
  padding-left: 56px;
  padding-right: 56px;
  box-sizing: border-box;
}

/* Tipografia */

#top .cai-scuola-detail-kicker {
  display: block;
  margin-bottom: 13px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--cai-gold) !important;
}

#top .cai-scuola-detail-page h2,
#top .cai-scuola-detail-page h3 {
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-weight: 700 !important;
  color: var(--cai-blue) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

#top .cai-scuola-detail-page p,
#top .cai-scuola-detail-page li,
#top .cai-scuola-detail-page small {
  font-family: 'source-sans-3', Arial, sans-serif !important;
  color: #4b5a67;
}

#top .cai-scuola-detail-page a {
  color: var(--cai-blue-light) !important;
  text-decoration: none !important;
}

#top .cai-scuola-detail-page a:hover {
  color: var(--cai-blue) !important;
}


/* =========================================================
   INTRO
========================================================= */

#top .cai-scuola-detail-intro {
  padding-top: 72px;
  padding-bottom: 64px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 520px);
  gap: 72px;
  align-items: center;
}

#top .cai-scuola-detail-intro::after {
  content: "";
  position: absolute;
  left: 56px;
  right: 56px;
  bottom: 0;
  height: 1px;
  background: rgba(0, 59, 115, 0.13);
}

#top .cai-scuola-detail-intro__text h2 {
  max-width: 820px;
  margin: 0 0 24px;
  font-size: clamp(42px, 4.6vw, 66px);
  line-height: 1.02;
}

#top .cai-scuola-detail-intro__text p {
  max-width: 780px;
  margin: 0;
  font-size: 20px;
  line-height: 1.55;
}

/* Card contatti */

#top .cai-scuola-detail-contact-card {
  position: relative;
  padding: 32px 34px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.085);
  box-sizing: border-box;
}

#top .cai-scuola-detail-contact-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 34px;
  width: 76px;
  height: 4px;
  background: var(--cai-gold);
}

#top .cai-scuola-detail-contact-row {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 20px;
  align-items: center;
  padding: 18px 0;
  border-top: 1px solid rgba(0, 59, 115, 0.10);
}

#top .cai-scuola-detail-contact-row:first-child {
  border-top: none;
  padding-top: 0;
}

#top .cai-scuola-detail-contact-row:last-child {
  padding-bottom: 0;
}

#top .cai-scuola-detail-contact-icon {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--cai-blue);
}

#top .cai-scuola-detail-contact-icon svg {
  width: 38px;
  height: 38px;
}

#top .cai-scuola-detail-contact-icon svg path,
#top .cai-scuola-detail-contact-icon svg circle,
#top .cai-scuola-detail-contact-icon svg rect {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#top .cai-scuola-detail-contact-row span {
  display: block;
  margin-bottom: 5px;
  font-family: 'source-sans-3', Arial, sans-serif;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  color: #536272;
}

#top .cai-scuola-detail-contact-row strong,
#top .cai-scuola-detail-contact-row a {
  font-family: 'source-sans-3', Arial, sans-serif;
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: var(--cai-blue) !important;
  text-decoration: none !important;
  overflow-wrap: anywhere;
}


/* =========================================================
   SEZIONI BASE
========================================================= */

#top .cai-scuola-detail-about,
#top .cai-scuola-detail-corsi,
#top .cai-scuola-detail-news,
#top .cai-scuola-detail-social {
  padding-top: 56px;
  padding-bottom: 66px;
  border-top: 1px solid rgba(0, 59, 115, 0.13);
}

#top .cai-scuola-detail-grid-2 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.82fr);
  gap: 68px;
  align-items: center;
}

#top .cai-scuola-detail-text-block h2,
#top .cai-scuola-detail-head h2,
#top .cai-scuola-detail-social h2,
#top .cai-scuola-detail-news-head h2,
#top .cai-scuola-detail-cta h2 {
  margin: 0 0 22px;
  font-size: clamp(34px, 3.4vw, 52px);
  line-height: 1.05;
}

#top .cai-scuola-detail-text-block p,
#top .cai-scuola-detail-head p,
#top .cai-scuola-detail-social p,
#top .cai-scuola-detail-cta p {
  margin: 0 0 16px;
  font-size: 18px;
  line-height: 1.55;
}

#top .cai-scuola-detail-text-block p:last-child,
#top .cai-scuola-detail-head p:last-child {
  margin-bottom: 0;
}

#top .cai-scuola-detail-quote {
  margin-top: 24px !important;
  padding: 18px 22px;
  background: rgba(211, 161, 31, 0.12);
  border-left: 4px solid var(--cai-gold);
  font-weight: 700;
  color: var(--cai-blue) !important;
}

/* Box blu */

#top .cai-scuola-detail-blue-box {
  position: relative;
  overflow: hidden;
  padding: 42px 44px;
  background:
    linear-gradient(
      90deg,
      rgba(0, 43, 85, 0.98) 0%,
      rgba(0, 59, 115, 0.94) 100%
    );
  box-shadow: 0 22px 54px rgba(0, 0, 0, 0.14);
}

#top .cai-scuola-detail-blue-box::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.10;
  pointer-events: none;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-size: 520px auto;
}

#top .cai-scuola-detail-blue-box > * {
  position: relative;
  z-index: 2;
}

#top .cai-scuola-detail-blue-box span {
  display: block;
  margin-bottom: 14px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

#top .cai-scuola-detail-blue-box h3 {
  margin: 0 0 18px;
  font-size: 34px;
  line-height: 1.08;
  color: #ffffff !important;
}

#top .cai-scuola-detail-blue-box p {
  margin: 0;
  font-size: 18px;
  line-height: 1.55;
  color: rgba(255,255,255,0.86);
}


/* =========================================================
   CORSI
========================================================= */

#top .cai-scuola-detail-head {
  margin-bottom: 34px;
}

#top .cai-scuola-detail-corsi-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

#top .cai-scuola-detail-course-card {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  min-height: 230px;
  padding: 32px 30px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 16px 40px rgba(0,0,0,0.075);
  box-sizing: border-box;
}

#top .cai-scuola-detail-course-icon img {
  display: block;
  width: 76px;
  height: 76px;
  object-fit: contain;
}

#top .cai-scuola-detail-course-card h3 {
  margin: 0 0 12px;
  font-size: 25px;
  line-height: 1.1;
}

#top .cai-scuola-detail-course-card p {
  margin: 0 0 18px;
  font-size: 16px;
  line-height: 1.45;
}

#top .cai-scuola-detail-course-meta {
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 14px;
  border: 1px solid rgba(0, 59, 115, 0.14);
  background: rgba(0, 80, 164, 0.04);
}

#top .cai-scuola-detail-course-meta span {
  font-family: 'source-sans-3', Arial, sans-serif;
  font-size: 13px;
  color: #536272;
}

#top .cai-scuola-detail-course-meta strong {
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 14px;
  color: var(--cai-blue);
}


/* =========================================================
   NEWS
========================================================= */

#top .cai-scuola-detail-news-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 30px;
  align-items: end;
  margin-bottom: 34px;
}

#top .cai-scuola-detail-news-link {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 18px;
  border: 2px solid var(--cai-blue);
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--cai-blue) !important;
}

#top .cai-scuola-detail-news-link:hover {
  background: var(--cai-blue);
  color: #ffffff !important;
}

#top .cai-scuola-detail-news-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

#top .cai-scuola-detail-news-card {
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 16px 40px rgba(0,0,0,0.075);
  overflow: hidden;
}

#top .cai-scuola-detail-news-thumb {
  height: 170px;
  background: rgba(0, 80, 164, 0.05);
  display: flex;
  align-items: center;
  justify-content: center;
}

#top .cai-scuola-detail-news-thumb img {
  max-width: 86px;
  max-height: 86px;
  object-fit: contain;
}

#top .cai-scuola-detail-news-content {
  padding: 24px 24px 26px;
}

#top .cai-scuola-detail-news-content span {
  display: block;
  margin-bottom: 9px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

#top .cai-scuola-detail-news-content h3 {
  margin: 0 0 12px;
  font-size: 22px;
  line-height: 1.12;
}

#top .cai-scuola-detail-news-content p {
  margin: 0 0 16px;
  font-size: 15.5px;
  line-height: 1.45;
}

#top .cai-scuola-detail-news-content a {
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
}


/* =========================================================
   SOCIAL
========================================================= */

#top .cai-scuola-detail-social-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.6fr) minmax(0, 1fr) auto;
  gap: 42px;
  align-items: center;
}

#top .cai-scuola-detail-social p {
  margin: 0;
  font-size: 17px;
  line-height: 1.5;
}

#top .cai-scuola-detail-social-links {
  display: flex;
  gap: 16px;
  align-items: center;
}

#top .cai-scuola-detail-social-links a {
  min-height: 44px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  border: 2px solid rgba(0, 59, 115, 0.22);
  background: #ffffff;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
}

#top .cai-scuola-detail-social-links a:hover {
  background: var(--cai-blue);
  border-color: var(--cai-blue);
  color: #ffffff !important;
}


/* =========================================================
   CTA FINALE
========================================================= */

#top .cai-scuola-detail-cta {
  padding-top: 52px;
  padding-bottom: 76px;
  border-top: 1px solid rgba(0, 59, 115, 0.13);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 42px;
  align-items: center;
}

#top .cai-scuola-detail-cta-actions {
  display: flex;
  gap: 16px;
  align-items: center;
}

#top .cai-scuola-detail-btn {
  min-height: 48px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: all 0.25s ease;
  white-space: nowrap;
}

#top .cai-scuola-detail-btn-primary {
  background: var(--cai-blue);
  border: 2px solid var(--cai-blue);
  color: #ffffff !important;
}

#top .cai-scuola-detail-btn-primary:hover {
  background: var(--cai-blue-light);
  border-color: var(--cai-blue-light);
  color: #ffffff !important;
  transform: translateY(-2px);
}

#top .cai-scuola-detail-btn-outline {
  background: transparent;
  border: 2px solid var(--cai-blue);
  color: var(--cai-blue) !important;
}

#top .cai-scuola-detail-btn-outline:hover {
  background: var(--cai-blue);
  color: #ffffff !important;
  transform: translateY(-2px);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media only screen and (max-width: 1180px) {
  #top .cai-scuola-detail-section,
  #top .cai-scuola-detail-cta {
    padding-left: 34px;
    padding-right: 34px;
  }

  #top .cai-scuola-detail-intro,
  #top .cai-scuola-detail-grid-2,
  #top .cai-scuola-detail-cta {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  #top .cai-scuola-detail-intro::after {
    left: 34px;
    right: 34px;
  }

  #top .cai-scuola-detail-corsi-grid,
  #top .cai-scuola-detail-news-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #top .cai-scuola-detail-social-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  #top .cai-scuola-detail-cta-actions {
    justify-content: flex-start;
  }
}

@media only screen and (max-width: 767px) {
  #top .cai-scuola-detail-section,
  #top .cai-scuola-detail-cta {
    padding-left: 24px;
    padding-right: 24px;
  }

  #top .cai-scuola-detail-intro {
    padding-top: 48px;
    padding-bottom: 46px;
  }

  #top .cai-scuola-detail-about,
  #top .cai-scuola-detail-corsi,
  #top .cai-scuola-detail-news,
  #top .cai-scuola-detail-social {
    padding-top: 42px;
    padding-bottom: 48px;
  }

  #top .cai-scuola-detail-intro::after {
    left: 24px;
    right: 24px;
  }

  #top .cai-scuola-detail-intro__text h2,
  #top .cai-scuola-detail-text-block h2,
  #top .cai-scuola-detail-head h2,
  #top .cai-scuola-detail-social h2,
  #top .cai-scuola-detail-news-head h2,
  #top .cai-scuola-detail-cta h2 {
    font-size: 34px;
  }

  #top .cai-scuola-detail-intro__text p,
  #top .cai-scuola-detail-text-block p,
  #top .cai-scuola-detail-head p,
  #top .cai-scuola-detail-cta p {
    font-size: 16px;
  }

  #top .cai-scuola-detail-contact-card,
  #top .cai-scuola-detail-blue-box {
    padding: 30px 24px 26px;
  }

  #top .cai-scuola-detail-corsi-grid,
  #top .cai-scuola-detail-news-grid {
    grid-template-columns: 1fr;
  }

  #top .cai-scuola-detail-course-card {
    grid-template-columns: 1fr;
  }

  #top .cai-scuola-detail-news-head {
    grid-template-columns: 1fr;
    align-items: start;
  }

  #top .cai-scuola-detail-social-links,
  #top .cai-scuola-detail-cta-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  #top .cai-scuola-detail-btn {
    width: 100%;
    white-space: normal;
    text-align: center;
  }
}
#top .cai-scuola-detail-cta a[href^="mailto:"] {
  color: #ffffff !important;
}
/* =========================================================
   PAGINA SCUOLA SCIALPINISMO - MICRO FIX
========================================================= */

#top .cai-scuola-detail-page--scialpinismo .cai-scuola-detail-intro__text h2 {
  max-width: 720px;
}

#top .cai-scuola-detail-page--scialpinismo .cai-scuola-detail-course-icon img,
#top .cai-scuola-detail-page--scialpinismo .cai-scuola-detail-news-thumb img {
  width: 82px;
  height: 82px;
  object-fit: contain;
}

/* Fix bottone primario CTA: testo sempre bianco */
#top .cai-scuola-detail-page--scialpinismo .cai-scuola-detail-btn-primary,
#top .cai-scuola-detail-page--scialpinismo .cai-scuola-detail-btn-primary:link,
#top .cai-scuola-detail-page--scialpinismo .cai-scuola-detail-btn-primary:visited,
#top .cai-scuola-detail-page--scialpinismo .cai-scuola-detail-btn-primary:hover,
#top .cai-scuola-detail-page--scialpinismo .cai-scuola-detail-btn-primary:focus {
  color: #ffffff !important;
}
/* =========================================================
   PAGINA GRUPPO SPELEOLOGIA - MICRO FIX
========================================================= */

#top .cai-scuola-detail-page--speleologia .cai-scuola-detail-intro__text h2 {
  max-width: 820px;
}

#top .cai-scuola-detail-page--speleologia .cai-scuola-detail-course-icon img,
#top .cai-scuola-detail-page--speleologia .cai-scuola-detail-news-thumb img {
  width: 82px;
  height: 82px;
  object-fit: contain;
}

/* Fix bottone primario CTA: testo sempre bianco */
#top .cai-scuola-detail-page--speleologia .cai-scuola-detail-btn-primary,
#top .cai-scuola-detail-page--speleologia .cai-scuola-detail-btn-primary:link,
#top .cai-scuola-detail-page--speleologia .cai-scuola-detail-btn-primary:visited,
#top .cai-scuola-detail-page--speleologia .cai-scuola-detail-btn-primary:hover,
#top .cai-scuola-detail-page--speleologia .cai-scuola-detail-btn-primary:focus {
  color: #ffffff !important;
}

/* =========================================================
   NEWS DINAMICHE PAGINE SCUOLA - CARD REALI
========================================================= */

#top .cai-scuola-detail-news-grid--dynamic {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 26px !important;
  align-items: stretch !important;
}

#top .cai-scuola-detail-news-grid--dynamic .cai-scuola-detail-news-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 500px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 59, 115, 0.10) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.075) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* Immagine in evidenza: grande, piena, non icona */
#top .cai-scuola-detail-news-grid--dynamic .cai-scuola-detail-news-thumb {
  display: block !important;
  width: 100% !important;
  height: 245px !important;
  overflow: hidden !important;
  background: rgba(0, 80, 164, 0.05) !important;
  text-decoration: none !important;
}

#top .cai-scuola-detail-news-grid--dynamic .cai-scuola-detail-news-thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  transition: transform 0.35s ease !important;
}

/* Hover immagine */
#top .cai-scuola-detail-news-grid--dynamic .cai-scuola-detail-news-card:hover .cai-scuola-detail-news-thumb img {
  transform: scale(1.05) !important;
}

/* Contenuto card */
#top .cai-scuola-detail-news-grid--dynamic .cai-scuola-detail-news-content {
  flex: 1 1 auto !important;
  padding: 28px 28px 30px !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Categoria */
#top .cai-scuola-detail-news-grid--dynamic .cai-scuola-detail-news-content > span {
  display: block !important;
  margin: 0 0 12px !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--cai-gold) !important;
}

/* Titolo articolo */
#top .cai-scuola-detail-news-grid--dynamic .cai-scuola-detail-news-content h3 {
  margin: 0 0 14px !important;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: 29px !important;
  line-height: 1.08 !important;
  font-weight: 700 !important;
  color: var(--cai-blue) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

#top .cai-scuola-detail-news-grid--dynamic .cai-scuola-detail-news-content h3 a {
  color: var(--cai-blue) !important;
  text-decoration: none !important;
}

#top .cai-scuola-detail-news-grid--dynamic .cai-scuola-detail-news-content h3 a:hover {
  color: var(--cai-blue-light) !important;
}

/* Anteprima / riassunto */
#top .cai-scuola-detail-news-grid--dynamic .cai-scuola-detail-news-content p {
  margin: 0 0 22px !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 17px !important;
  line-height: 1.5 !important;
  color: #4b5a67 !important;
}

/* Leggi di più */
#top .cai-scuola-detail-news-readmore {
  margin-top: auto !important;
  align-self: flex-start !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 34px !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  color: var(--cai-blue) !important;
  text-decoration: none !important;
  border-bottom: 2px solid var(--cai-gold) !important;
}

#top .cai-scuola-detail-news-readmore:hover {
  color: var(--cai-blue-light) !important;
}

/* Nessuna news */
#top .cai-scuola-news-empty {
  padding: 26px 30px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 59, 115, 0.10) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,0.055) !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 17px !important;
  line-height: 1.45 !important;
  color: #4b5a67 !important;
}

/* Responsive */
@media only screen and (max-width: 1180px) {
  #top .cai-scuola-detail-news-grid--dynamic {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media only screen and (max-width: 767px) {
  #top .cai-scuola-detail-news-grid--dynamic {
    grid-template-columns: 1fr !important;
  }

  #top .cai-scuola-detail-news-grid--dynamic .cai-scuola-detail-news-thumb {
    height: 220px !important;
  }

  #top .cai-scuola-detail-news-grid--dynamic .cai-scuola-detail-news-content {
    padding: 24px 24px 26px !important;
  }

  #top .cai-scuola-detail-news-grid--dynamic .cai-scuola-detail-news-content h3 {
    font-size: 25px !important;
  }
}
/* =========================================================
   NEWS SCUOLA - titolo più evidente
========================================================= */

#top .cai-scuola-detail-news-grid--dynamic .cai-scuola-detail-news-content h3,
#top .cai-scuola-detail-news-grid--dynamic .cai-scuola-detail-news-content h3 a {
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: 34px !important;
  line-height: 1.05 !important;
  font-weight: 700 !important;
  color: var(--cai-blue) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

#top .cai-scuola-detail-news-grid--dynamic .cai-scuola-detail-news-content h3 {
  margin: 0 0 18px !important;
}

@media only screen and (max-width: 767px) {
  #top .cai-scuola-detail-news-grid--dynamic .cai-scuola-detail-news-content h3,
  #top .cai-scuola-detail-news-grid--dynamic .cai-scuola-detail-news-content h3 a {
    font-size: 28px !important;
  }
}

/* =========================================================
   DROPDOWN "LA SCUOLA"
   Stesso stile di "LA SEZIONE"
========================================================= */

#top #header .av-main-nav > li.menu-la-scuola {
  position: relative !important;
}

#top #header .av-main-nav > li.menu-la-scuola > ul.sub-menu {
  top: 92px !important;
  left: 50% !important;
  width: 470px !important;
  min-width: 470px !important;
  padding: 18px 32px !important;
  margin: 0 !important;
  transform: translateX(-50%) !important;

  background: rgba(255, 255, 255, 0.98) !important;
  border: 1px solid rgba(0, 59, 115, 0.10) !important;
  border-top: 4px solid var(--cai-gold) !important;
  border-radius: 10px !important;

  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.16) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);

  overflow: hidden !important;
  z-index: 9999 !important;
}

/* Reset stili Enfold sul dropdown */
#top #header .av-main-nav > li.menu-la-scuola > ul.sub-menu,
#top #header .av-main-nav > li.menu-la-scuola > ul.sub-menu li,
#top #header .av-main-nav > li.menu-la-scuola > ul.sub-menu li a {
  box-sizing: border-box !important;
}

#top #header .av-main-nav > li.menu-la-scuola > ul.sub-menu > li {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  border: none !important;
  background: transparent !important;
}

#top #header .av-main-nav > li.menu-la-scuola > ul.sub-menu > li + li {
  border-top: 1px solid rgba(0, 59, 115, 0.09) !important;
}

#top #header .av-main-nav > li.menu-la-scuola > ul.sub-menu > li > a {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 74px !important;
  padding: 0 40px 0 74px !important;

  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  color: var(--cai-text-dark) !important;
  background: transparent !important;
  text-decoration: none !important;
}

#top #header .av-main-nav > li.menu-la-scuola > ul.sub-menu > li > a .avia-menu-text {
  color: var(--cai-text-dark) !important;
}

/* Icone sul LI del sottomenu */
#top #header .av-main-nav > li.menu-la-scuola > ul.sub-menu > li::before {
  content: "" !important;
  position: absolute !important;
  left: 18px !important;
  top: 50% !important;
  width: 30px !important;
  height: 30px !important;
  transform: translateY(-50%) !important;
  display: block !important;
  z-index: 5 !important;
  pointer-events: none !important;

  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;
}

/* 1. Scuola arrampicata */
#top #header .av-main-nav > li.menu-la-scuola > ul.sub-menu > li:nth-child(1)::before {
  background-image: url("/wp-content/uploads/2026/05/arrampicata.png") !important;
}

/* 2. Scuola scialpinismo */
#top #header .av-main-nav > li.menu-la-scuola > ul.sub-menu > li:nth-child(2)::before {
  background-image: url("/wp-content/uploads/2026/05/scialpinismo.png") !important;
}

/* 3. Gruppo speleologia */
#top #header .av-main-nav > li.menu-la-scuola > ul.sub-menu > li:nth-child(3)::before {
  background-image: url("/wp-content/uploads/2026/05/speleologia.png") !important;
}

/* Freccia a destra */
#top #header .av-main-nav > li.menu-la-scuola > ul.sub-menu > li > a::after {
  content: "›" !important;
  position: absolute !important;
  right: 18px !important;
  top: 50% !important;
  transform: translateY(-52%) !important;
  font-size: 32px !important;
  line-height: 1 !important;
  font-weight: 300 !important;
  color: rgba(31, 52, 72, 0.55) !important;
  transition: color 0.22s ease, transform 0.22s ease !important;
}

/* Hover sottomenu */
#top #header .av-main-nav > li.menu-la-scuola > ul.sub-menu > li > a:hover {
  background: rgba(0, 80, 164, 0.045) !important;
  color: var(--cai-blue) !important;
}

#top #header .av-main-nav > li.menu-la-scuola > ul.sub-menu > li > a:hover .avia-menu-text {
  color: var(--cai-blue) !important;
}

#top #header .av-main-nav > li.menu-la-scuola > ul.sub-menu > li > a:hover::after {
  color: var(--cai-gold) !important;
  transform: translate(4px, -52%) !important;
}

/* Sottomenu sopra tutto */
#top #header,
#top #header .main_menu,
#top #header .av-main-nav,
#top #header .av-main-nav > li {
  overflow: visible !important;
}
/* =========================================================
   HOME - BLOCCO RIFUGI FULL WIDTH
========================================================= */

#top .cai-home-rifugi-wide {
  position: relative;
  min-height: 640px;
  display: flex;
  align-items: stretch;
  overflow: hidden;
  background-color: var(--cai-blue);
  background-image:
    linear-gradient(
      90deg,
      rgba(0, 36, 76, 0.92) 0%,
      rgba(0, 59, 115, 0.82) 38%,
      rgba(0, 59, 115, 0.48) 68%,
      rgba(0, 59, 115, 0.22) 100%
    ),
    url("/wp-content/uploads/2026/05/ChatGPT-Image-5-mag-2026-20_57_47-5.png");
  background-size: cover;
  background-position: center center;
  color: #ffffff;
}

/* Texture / overlay tecnico leggero */
#top .cai-home-rifugi-wide::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("/wp-content/uploads/2026/05/disegno-tecnico.png");
  background-repeat: no-repeat;
  background-size: 520px auto;
  background-position: right 8% bottom 8%;
  opacity: 0.13;
  pointer-events: none;
  z-index: 1;
}

/* Velo diagonale decorativo */
#top .cai-home-rifugi-wide::after {
  content: "";
  position: absolute;
  top: 0;
  right: 14%;
  width: 260px;
  height: 100%;
  background: rgba(255, 255, 255, 0.08);
  transform: skewX(-8deg);
  transform-origin: top;
  pointer-events: none;
  z-index: 1;
}

#top .cai-home-rifugi-wide__overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 75% 30%, rgba(255,255,255,0.08), transparent 34%),
    linear-gradient(180deg, rgba(0,0,0,0.05), rgba(0,0,0,0.28));
  z-index: 1;
  pointer-events: none;
}

#top .cai-home-rifugi-wide__inner {
  position: relative;
  z-index: 2;
  width: min(1320px, calc(100% - 80px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.65fr);
  gap: 70px;
  align-items: center;
  padding: 96px 0;
}

#top .cai-home-rifugi-wide__content {
  max-width: 720px;
}

#top .cai-home-rifugi-wide__kicker {
  display: block;
  margin: 0 0 18px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

#top .cai-home-rifugi-wide h2 {
  margin: 0 0 28px;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: clamp(48px, 5.5vw, 82px);
  line-height: 0.95;
  font-weight: 700;
  letter-spacing: 0;
  color: #ffffff !important;
  text-transform: none;
}

#top .cai-home-rifugi-wide__content p {
  max-width: 650px;
  margin: 0 0 36px;
  font-family: 'source-sans-3', Arial, sans-serif;
  font-size: 21px;
  line-height: 1.55;
  color: rgba(255,255,255,0.92);
}

#top .cai-home-rifugi-wide__actions {
  display: flex;
  align-items: center;
  gap: 18px;
}

#top .cai-home-rifugi-wide__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 58px;
  padding: 0 34px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: all 0.25s ease;
}

#top .cai-home-rifugi-wide__btn--primary {
  background: var(--cai-gold);
  border: 2px solid var(--cai-gold);
  color: #ffffff !important;
}

#top .cai-home-rifugi-wide__btn--primary:hover {
  background: #ffffff;
  border-color: #ffffff;
  color: var(--cai-blue) !important;
}

/* Card laterali */
#top .cai-home-rifugi-wide__cards {
  display: grid;
  gap: 18px;
}

#top .cai-home-rifugi-wide__cards article {
  position: relative;
  padding: 26px 28px 26px 86px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(255,255,255,0.52);
  box-shadow: 0 22px 52px rgba(0,0,0,0.20);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

#top .cai-home-rifugi-wide__cards article:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 62px rgba(0,0,0,0.26);
}

#top .cai-home-rifugi-wide__card-icon {
  position: absolute;
  left: 28px;
  top: 28px;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--cai-gold);
  font-size: 31px;
  line-height: 1;
  font-weight: 700;
}

#top .cai-home-rifugi-wide__cards h3 {
  margin: 0 0 8px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 23px;
  line-height: 1.1;
  font-weight: 700;
  color: var(--cai-blue) !important;
}

#top .cai-home-rifugi-wide__cards p {
  margin: 0;
  font-family: 'source-sans-3', Arial, sans-serif;
  font-size: 16px;
  line-height: 1.45;
  color: #33485a;
}

/* Responsive */
@media only screen and (max-width: 1180px) {
  #top .cai-home-rifugi-wide__inner {
    grid-template-columns: 1fr;
    gap: 46px;
    padding: 78px 0;
  }

  #top .cai-home-rifugi-wide__content {
    max-width: 820px;
  }

  #top .cai-home-rifugi-wide__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #top .cai-home-rifugi-wide__cards article {
    padding: 76px 24px 24px;
  }

  #top .cai-home-rifugi-wide__card-icon {
    left: 24px;
    top: 24px;
  }
}

@media only screen and (max-width: 767px) {
  #top .cai-home-rifugi-wide {
    min-height: auto;
    background-position: center center;
  }

  #top .cai-home-rifugi-wide__inner {
    width: min(100% - 36px, 1320px);
    padding: 62px 0;
  }

  #top .cai-home-rifugi-wide h2 {
    font-size: 42px;
  }

  #top .cai-home-rifugi-wide__content p {
    font-size: 18px;
  }

  #top .cai-home-rifugi-wide__cards {
    grid-template-columns: 1fr;
  }

  #top .cai-home-rifugi-wide__cards article {
    padding: 24px 24px 24px 78px;
  }

  #top .cai-home-rifugi-wide__card-icon {
    left: 24px;
    top: 24px;
  }

  #top .cai-home-rifugi-wide__btn {
    width: 100%;
  }
}
/* FIX HOME RIFUGI - titolo sempre bianco */
#top .cai-home-rifugi-wide .cai-home-rifugi-wide__content h2,
#top .cai-home-rifugi-wide .cai-home-rifugi-wide__content h2 strong,
#top .cai-home-rifugi-wide .cai-home-rifugi-wide__content h2 span {
  color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: 0 3px 18px rgba(0, 0, 0, 0.35);
}

/* Testo descrittivo leggibile su overlay blu */
#top .cai-home-rifugi-wide .cai-home-rifugi-wide__content p {
  color: rgba(255, 255, 255, 0.94) !important;
}

/* Kicker oro, non blu */
#top .cai-home-rifugi-wide .cai-home-rifugi-wide__kicker {
  color: var(--cai-gold) !important;
}
#top #main .cai-home-rifugi-wide .cai-home-rifugi-wide__content h2 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* =========================================================
   CAI CUNEO - PAGINA CONTATTI
========================================================= */

#top .cai-contatti-page {
  background: #f7f5f0;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-size: 620px auto;
  color: var(--cai-text-dark);
}

#top .cai-contatti-section {
  max-width: 1320px;
  margin: 0 auto;
  padding: 82px 40px;
  border-top: 1px solid rgba(0, 59, 115, 0.12);
}

#top .cai-contatti-section:first-child {
  border-top: none;
}

#top .cai-contatti-kicker {
  display: block;
  margin: 0 0 14px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

#top .cai-contatti-page h2 {
  margin: 0 0 22px;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: clamp(38px, 4vw, 60px);
  line-height: 1;
  font-weight: 700;
  color: var(--cai-blue) !important;
}

#top .cai-contatti-page h3 {
  margin: 0 0 12px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 25px;
  line-height: 1.15;
  font-weight: 700;
  color: var(--cai-blue) !important;
}

#top .cai-contatti-page p {
  margin: 0;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 18px;
  line-height: 1.55;
  color: #30465a;
}

#top .cai-contatti-page a {
  color: var(--cai-blue);
  text-decoration: none;
}

#top .cai-contatti-page a:hover {
  color: var(--cai-blue-light);
}


/* INTRO */

#top .cai-contatti-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(320px, 0.45fr);
  gap: 60px;
  align-items: center;
}

#top .cai-contatti-intro-text {
  max-width: 760px;
}

#top .cai-contatti-intro-card {
  position: relative;
  padding: 42px 44px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 18px 48px rgba(0,0,0,0.07);
}

#top .cai-contatti-intro-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 36px;
  width: 76px;
  height: 4px;
  background: var(--cai-gold);
}

#top .cai-contatti-intro-card span {
  display: block;
  margin-bottom: 12px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 18px;
  font-weight: 700;
  color: var(--cai-blue);
}


/* CARD CONTATTI */

#top .cai-contatti-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

#top .cai-contatti-card {
  position: relative;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 22px;
  align-items: flex-start;
  min-height: 190px;
  padding: 36px 34px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 18px 48px rgba(0,0,0,0.07);
}

#top .cai-contatti-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 34px;
  width: 72px;
  height: 4px;
  background: var(--cai-gold);
}

#top .cai-contatti-card-icon {
  width: 46px;
  height: 46px;
  color: var(--cai-blue);
}

#top .cai-contatti-card-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#top .cai-contatti-card span {
  display: block;
  margin-bottom: 8px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 14px;
  font-weight: 700;
  color: #516274;
}

#top .cai-contatti-card h3 {
  font-size: 23px;
  margin-bottom: 8px;
}

#top .cai-contatti-card p {
  font-size: 16px;
  line-height: 1.45;
}


/* ORARI + MAPPA */

#top .cai-contatti-details-grid,
#top .cai-contatti-form-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.75fr) minmax(0, 1fr);
  gap: 36px;
  align-items: stretch;
}

#top .cai-contatti-box,
#top .cai-contatti-form-box {
  position: relative;
  padding: 42px 44px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 18px 48px rgba(0,0,0,0.07);
}

#top .cai-contatti-box::before,
#top .cai-contatti-form-box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 40px;
  width: 76px;
  height: 4px;
  background: var(--cai-gold);
}

#top .cai-contatti-hours {
  margin: 0 0 26px;
}

#top .cai-contatti-hours div {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(0, 59, 115, 0.12);
  font-family: 'source-sans-3', Arial, sans-serif !important;
}

#top .cai-contatti-hours strong {
  color: var(--cai-blue);
}

#top .cai-contatti-hours span {
  font-weight: 700;
  color: #30465a;
}

#top .cai-contatti-map-placeholder {
  min-height: 280px;
  display: flex;
  align-items: flex-end;
  padding: 32px;
  background:
    linear-gradient(135deg, rgba(0,59,115,0.88), rgba(0,80,164,0.72)),
    url("/wp-content/uploads/2026/09/catina.webp");
  background-size: cover;
  color: #ffffff;
}

#top .cai-contatti-map-placeholder strong {
  display: block;
  margin-bottom: 6px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 24px;
  color: #ffffff;
}

#top .cai-contatti-map-placeholder span {
  display: block;
  margin-bottom: 18px;
  color: rgba(255,255,255,0.9);
}

#top .cai-contatti-map-placeholder a {
  display: inline-flex;
  color: #ffffff !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}


/* FORM */

#top .cai-contatti-form-text {
  padding: 16px 0;
}

#top .cai-contatti-form-text ul {
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

#top .cai-contatti-form-text li {
  position: relative;
  margin-bottom: 13px;
  padding-left: 28px;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 17px;
  color: #30465a;
}

#top .cai-contatti-form-text li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 12px;
  height: 2px;
  background: var(--cai-gold);
}


/* Contact Form 7 */

#top .cai-contatti-form-box .wpcf7 form {
  margin: 0;
}

#top .cai-contatti-form-box input[type="text"],
#top .cai-contatti-form-box input[type="email"],
#top .cai-contatti-form-box input[type="tel"],
#top .cai-contatti-form-box textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid rgba(0, 59, 115, 0.20);
  background: #ffffff;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 16px;
  color: #1F3448;
}

#top .cai-contatti-form-box textarea {
  min-height: 140px;
}

#top .cai-contatti-form-box input[type="submit"] {
  min-height: 52px;
  padding: 0 30px;
  border: 2px solid var(--cai-blue);
  background: var(--cai-blue);
  color: #ffffff;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
}

#top .cai-contatti-form-box input[type="submit"]:hover {
  background: var(--cai-blue-light);
  border-color: var(--cai-blue-light);
}


/* SOTTOSEZIONI */

#top .cai-contatti-head--center {
  max-width: 760px;
  margin: 0 auto 42px;
  text-align: center;
}

#top .cai-contatti-subsections-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

#top .cai-contatti-subsections-grid article {
  position: relative;
  padding: 34px 32px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 18px 48px rgba(0,0,0,0.07);
}

#top .cai-contatti-subsections-grid article::before {
  content: "";
  position: absolute;
  top: 0;
  left: 32px;
  width: 70px;
  height: 4px;
  background: var(--cai-gold);
}

#top .cai-contatti-subsections-grid h3 {
  font-size: 22px;
}

#top .cai-contatti-subsections-grid small {
  display: block;
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.4;
  color: #516274;
}


/* CTA */

#top .cai-contatti-cta {
  max-width: 1320px;
  margin: 0 auto;
  padding: 54px 56px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 40px;
  align-items: center;
  background:
    linear-gradient(135deg, rgba(0,59,115,0.96), rgba(0,80,164,0.9)),
    url("/wp-content/uploads/2026/09/catina.webp");
  background-size: cover;
  color: #ffffff;
}

#top .cai-contatti-cta h2 {
  color: #ffffff !important;
  margin-bottom: 12px;
}

#top .cai-contatti-cta p {
  max-width: 720px;
  color: rgba(255,255,255,0.92);
}

#top .cai-contatti-cta-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

#top .cai-contatti-btn {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 28px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none !important;
}

#top .cai-contatti-btn-primary {
  background: var(--cai-gold);
  border: 2px solid var(--cai-gold);
  color: #ffffff !important;
}

#top .cai-contatti-btn-outline {
  background: transparent;
  border: 2px solid rgba(255,255,255,0.68);
  color: #ffffff !important;
}

#top .cai-contatti-btn-primary:hover,
#top .cai-contatti-btn-outline:hover {
  background: #ffffff;
  border-color: #ffffff;
  color: var(--cai-blue) !important;
}


/* RESPONSIVE */

@media only screen and (max-width: 989px) {
  #top .cai-contatti-intro-grid,
  #top .cai-contatti-details-grid,
  #top .cai-contatti-form-grid,
  #top .cai-contatti-cta {
    grid-template-columns: 1fr;
  }

  #top .cai-contatti-cards,
  #top .cai-contatti-subsections-grid {
    grid-template-columns: 1fr;
  }

  #top .cai-contatti-cta {
    margin: 0 24px;
  }
}

@media only screen and (max-width: 767px) {
  #top .cai-contatti-section {
    padding: 58px 24px;
  }

  #top .cai-contatti-card {
    grid-template-columns: 1fr;
  }

  #top .cai-contatti-box,
  #top .cai-contatti-form-box,
  #top .cai-contatti-intro-card {
    padding: 34px 28px;
  }

  #top .cai-contatti-hours div {
    display: block;
  }

  #top .cai-contatti-hours span {
    display: block;
    margin-top: 6px;
  }

  #top .cai-contatti-cta {
    margin: 0;
    padding: 42px 28px;
  }

  #top .cai-contatti-cta-actions {
    flex-direction: column;
  }

  #top .cai-contatti-btn {
    width: 100%;
  }
}
/* =========================================================
   CONTATTI - sfondo a tutta larghezza
========================================================= */

#top .cai-contatti-page {
  position: relative;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background-color: #f7f5f0 !important;
  background-image: url("/wp-content/uploads/2026/09/catina.webp") !important;
  background-repeat: repeat !important;
  background-size: 620px auto !important;
  overflow: hidden;
}

/* Mantiene i contenuti centrati dentro lo sfondo full width */
#top .cai-contatti-page .cai-contatti-section {
  width: min(1320px, calc(100% - 80px));
  max-width: 1320px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0;
  padding-right: 0;
}

/* CTA finale coerente col full width */
#top .cai-contatti-page .cai-contatti-cta {
  width: min(1320px, calc(100% - 80px));
  max-width: 1320px;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* =========================================================
   HEADER - LOGO E STATO STICKY / SCROLL
========================================================= */

/* Mantiene logo + testo allineati verticalmente */
#top #header .logo,
#top #header .logo a {
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
  overflow: visible !important;
}

/* Il blocco logo + scritta CAI Cuneo resta centrato */
#top #header .logo a {
  gap: 14px !important;
}

/* Immagine logo */
#top #header .logo img {
  position: static !important;
  display: block !important;
  max-height: 62px !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  transform: none !important;
}

/* Testo accanto al logo */
#top #header .cai-logo-text {
  position: static !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  line-height: 1.05 !important;
  margin: 0 0 0 18px !important;
  transform: none !important;
}

/* Header sticky / scrolled */
#top #header.header-scrolled .logo,
#top #header.header-scrolled .logo a,
#top #header.header-scrolled-full .logo,
#top #header.header-scrolled-full .logo a {
  display: flex !important;
  align-items: center !important;
  height: 72px !important;
  line-height: 72px !important;
}

/* Il logo mantiene la stessa dimensione durante lo scroll */
#top #header.header-scrolled .logo img,
#top #header.header-scrolled-full .logo img {
  max-height: 62px !important;
}

/* Testo centrato anche nello sticky */
#top #header.header-scrolled .cai-logo-text,
#top #header.header-scrolled-full .cai-logo-text {
  justify-content: center !important;
  transform: none !important;
  margin-top: 0 !important;
}

/* Evita che Enfold applichi offset strani */
#top #header.header-scrolled .logo img,
#top #header.header-scrolled-full .logo img,
#top #header.header-scrolled .logo a,
#top #header.header-scrolled-full .logo a {
  top: auto !important;
  bottom: auto !important;
}

/* =========================================================
   CAI CUNEO - NEWS E CALENDARIO
========================================================= */

#top .cai-news-calendar-page {
  position: relative;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  background: #f7f5f0;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-size: 620px auto;
  overflow: hidden;
}

#top .cai-news-calendar-intro,
#top .cai-news-calendar-featured,
#top .cai-news-calendar-main,
#top .cai-news-calendar-archive {
  width: min(1320px, calc(100% - 80px));
  margin: 0 auto;
  padding: 78px 0;
  border-top: 1px solid rgba(0, 59, 115, 0.12);
}

#top .cai-news-calendar-intro {
  border-top: none;
}

#top .cai-news-calendar-kicker {
  display: block;
  margin: 0 0 14px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

#top .cai-news-calendar-intro h1,
#top .cai-news-calendar-page h2 {
  margin: 0 0 20px;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-weight: 700;
  color: var(--cai-blue) !important;
}

#top .cai-news-calendar-intro h1 {
  max-width: 860px;
  font-size: clamp(48px, 5vw, 78px);
  line-height: 0.98;
}

#top .cai-news-calendar-page h2 {
  font-size: clamp(34px, 3.4vw, 54px);
  line-height: 1;
}

#top .cai-news-calendar-page p {
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 18px;
  line-height: 1.55;
  color: #30465a;
}

#top .cai-news-calendar-intro p {
  max-width: 740px;
  font-size: 21px;
}

#top .cai-news-calendar-featured {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 48px;
  align-items: start;
}

#top .cai-news-calendar-block {
  min-width: 0;
}

#top .cai-news-calendar-block__head {
  margin-bottom: 30px;
}

#top .cai-news-calendar-block__head--center {
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}


/* =========================================================
   CALENDARIO MENSILE EVENTI
========================================================= */

#top .cai-month-calendar {
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.12);
  box-shadow: 0 22px 58px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

#top .cai-month-calendar__head {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  align-items: center;
  padding: 34px 38px;
  border-bottom: 1px solid rgba(0, 59, 115, 0.10);
}

#top .cai-month-calendar__head h2 {
  margin-bottom: 0;
  font-size: clamp(32px, 3vw, 48px);
}

#top .cai-month-calendar__all {
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  padding: 0 22px;
  border: 2px solid var(--cai-blue);
  color: var(--cai-blue) !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none !important;
  white-space: nowrap;
}

#top .cai-month-calendar__all:hover {
  background: var(--cai-blue);
  color: #ffffff !important;
}

#top .cai-month-calendar__weekdays {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  background: var(--cai-blue);
}

#top .cai-month-calendar__weekdays span {
  padding: 13px 12px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

#top .cai-month-calendar__grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

#top .cai-month-calendar__day {
  min-height: 132px;
  padding: 12px;
  border-right: 1px solid rgba(0, 59, 115, 0.08);
  border-bottom: 1px solid rgba(0, 59, 115, 0.08);
  background: #ffffff;
}

#top .cai-month-calendar__day:nth-child(7n) {
  border-right: none;
}

#top .cai-month-calendar__day.is-muted {
  background: #f3f1ec;
  color: rgba(31, 52, 72, 0.45);
}

#top .cai-month-calendar__day.is-today {
  box-shadow: inset 0 0 0 2px var(--cai-gold);
}

#top .cai-month-calendar__day-number {
  margin-bottom: 10px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 15px;
  font-weight: 700;
  color: var(--cai-blue);
}

#top .cai-month-calendar__events {
  display: grid;
  gap: 6px;
}

#top .cai-month-calendar__events a {
  display: block;
  padding: 7px 8px;
  background: rgba(0, 59, 115, 0.08);
  border-left: 3px solid var(--cai-gold);
  text-decoration: none !important;
}

#top .cai-month-calendar__events a span {
  display: block;
  margin-bottom: 2px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

#top .cai-month-calendar__events a strong {
  display: block;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 700;
  color: var(--cai-blue);
}

#top .cai-month-calendar__events em {
  display: block;
  margin-top: 2px;
  font-style: normal;
  font-size: 12px;
  color: #526577;
}


/* RESPONSIVE */

@media only screen and (max-width: 989px) {
  #top .cai-news-calendar-featured {
    grid-template-columns: 1fr;
  }

  #top .cai-month-calendar__grid,
  #top .cai-month-calendar__weekdays {
    min-width: 860px;
  }

  #top .cai-month-calendar {
    overflow-x: auto;
  }
}

@media only screen and (max-width: 767px) {
  #top .cai-news-calendar-intro,
  #top .cai-news-calendar-featured,
  #top .cai-news-calendar-main,
  #top .cai-news-calendar-archive {
    width: calc(100% - 36px);
    padding: 58px 0;
  }

  #top .cai-month-calendar__head {
    display: block;
    padding: 28px 24px;
  }

  #top .cai-month-calendar__all {
    margin-top: 20px;
  }
}
/* =========================================================
   NEWS E CALENDARIO - VERSIONE CLEAN
========================================================= */

#top .cai-news-calendar-page--clean {
  position: relative;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  background: #f7f5f0;
  background-image: url("/wp-content/uploads/2026/09/catina.webp");
  background-repeat: repeat;
  background-size: 620px auto;
  overflow: hidden;
}

#top .cai-news-calendar-page--clean .cai-news-calendar-intro,
#top .cai-news-calendar-page--clean .cai-news-calendar-next,
#top .cai-news-calendar-page--clean .cai-news-calendar-main,
#top .cai-news-calendar-page--clean .cai-news-calendar-archive {
  width: min(1320px, calc(100% - 80px));
  margin: 0 auto;
  padding: 76px 0;
  border-top: 1px solid rgba(0, 59, 115, 0.12);
}

#top .cai-news-calendar-page--clean .cai-news-calendar-intro {
  border-top: none;
  padding-top: 88px;
  padding-bottom: 58px;
  text-align: left;
}

#top .cai-news-calendar-page--clean .cai-news-calendar-intro h1 {
  max-width: 920px;
  margin: 0 0 22px;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: clamp(48px, 5vw, 78px);
  line-height: 0.98;
  color: var(--cai-blue) !important;
}

#top .cai-news-calendar-page--clean .cai-news-calendar-intro p {
  max-width: 760px;
  font-size: 21px;
}

#top .cai-news-calendar-page--clean .cai-news-calendar-kicker {
  display: block;
  margin: 0 0 14px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

#top .cai-news-calendar-page--clean h2 {
  margin: 0 0 16px;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: clamp(36px, 3.6vw, 58px);
  line-height: 1;
  color: var(--cai-blue) !important;
}

#top .cai-news-calendar-page--clean p {
  font-family: 'source-sans-3', Arial, sans-serif !important;
  color: #30465a;
}

#top .cai-news-calendar-block__head--center {
  max-width: 780px;
  margin: 0 auto 38px;
  text-align: center;
}

/* =========================================================
   PROSSIMI EVENTI - card non schiacciate
========================================================= */

#top .cai-news-calendar-page--clean .cai-agenda-events-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
}

#top .cai-news-calendar-page--clean .cai-agenda-event-card {
  min-height: 230px !important;
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) !important;
  align-items: stretch !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 59, 115, 0.10) !important;
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.075) !important;
  text-decoration: none !important;
  overflow: hidden !important;
}

#top .cai-news-calendar-page--clean .cai-agenda-event-date {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  background: var(--cai-blue) !important;
  color: #ffffff !important;
  padding: 20px 12px !important;
}

#top .cai-news-calendar-page--clean .cai-agenda-event-date strong {
  font-size: 34px !important;
  line-height: 1 !important;
  color: #ffffff !important;
}

#top .cai-news-calendar-page--clean .cai-agenda-event-date span,
#top .cai-news-calendar-page--clean .cai-agenda-event-date small {
  color: #ffffff !important;
}

#top .cai-news-calendar-page--clean .cai-agenda-event-content {
  padding: 28px 28px 24px !important;
}

#top .cai-news-calendar-page--clean .cai-agenda-event-cat {
  display: block !important;
  margin-bottom: 10px !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--cai-gold) !important;
}

#top .cai-news-calendar-page--clean .cai-agenda-event-content h3 {
  margin: 0 0 12px !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 24px !important;
  line-height: 1.12 !important;
  color: var(--cai-blue) !important;
}

#top .cai-news-calendar-page--clean .cai-agenda-event-content p {
  margin: 0 0 16px !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
}

#top .cai-news-calendar-page--clean .cai-agenda-event-more {
  font-weight: 700 !important;
  color: var(--cai-blue) !important;
}

/* =========================================================
   CALENDARIO - più compatto e meno dominante
========================================================= */

#top .cai-news-calendar-page--clean .cai-month-calendar {
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.12);
  box-shadow: 0 22px 58px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

#top .cai-news-calendar-page--clean .cai-month-calendar__head {
  padding: 28px 34px !important;
}

#top .cai-news-calendar-page--clean .cai-month-calendar__head h2 {
  font-size: clamp(30px, 3vw, 46px) !important;
  margin: 0 !important;
}

#top .cai-news-calendar-page--clean .cai-month-calendar__day {
  min-height: 105px !important;
  padding: 10px !important;
}

#top .cai-news-calendar-page--clean .cai-month-calendar__events a {
  padding: 6px 7px !important;
}

#top .cai-news-calendar-page--clean .cai-month-calendar__events a strong {
  font-size: 12px !important;
}

/* =========================================================
   NEWS - card più leggibili
========================================================= */

#top .cai-news-calendar-page--clean .cai-news-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 28px !important;
}

#top .cai-news-calendar-page--clean .cai-news-card {
  display: flex !important;
  flex-direction: column !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 59, 115, 0.10) !important;
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.075) !important;
  overflow: hidden !important;
}

#top .cai-news-calendar-page--clean .cai-news-thumb {
  position: relative !important;
  display: block !important;
  height: 190px !important;
  overflow: hidden !important;
}

#top .cai-news-calendar-page--clean .cai-news-thumb-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

#top .cai-news-calendar-page--clean .cai-news-content {
  padding: 24px 24px 26px !important;
}

#top .cai-news-calendar-page--clean .cai-news-content h3 {
  margin: 0 0 10px !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 21px !important;
  line-height: 1.15 !important;
  color: var(--cai-blue) !important;
}

#top .cai-news-calendar-page--clean .cai-news-content h3 a {
  color: var(--cai-blue) !important;
  text-decoration: none !important;
}

#top .cai-news-calendar-page--clean .cai-news-content time {
  display: block !important;
  margin-bottom: 12px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--cai-gold) !important;
}

#top .cai-news-calendar-page--clean .cai-news-excerpt {
  margin: 0 0 18px !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
}

#top .cai-news-calendar-page--clean .cai-news-read {
  font-weight: 700 !important;
  color: var(--cai-blue) !important;
  text-decoration: none !important;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media only screen and (max-width: 1180px) {
  #top .cai-news-calendar-page--clean .cai-agenda-events-grid,
  #top .cai-news-calendar-page--clean .cai-news-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media only screen and (max-width: 989px) {
  #top .cai-news-calendar-page--clean .cai-month-calendar {
    overflow-x: auto !important;
  }

  #top .cai-news-calendar-page--clean .cai-month-calendar__grid,
  #top .cai-news-calendar-page--clean .cai-month-calendar__weekdays {
    min-width: 860px !important;
  }
}

@media only screen and (max-width: 767px) {
  #top .cai-news-calendar-page--clean .cai-news-calendar-intro,
  #top .cai-news-calendar-page--clean .cai-news-calendar-next,
  #top .cai-news-calendar-page--clean .cai-news-calendar-main,
  #top .cai-news-calendar-page--clean .cai-news-calendar-archive {
    width: calc(100% - 36px);
    padding: 56px 0;
  }

  #top .cai-news-calendar-page--clean .cai-agenda-events-grid,
  #top .cai-news-calendar-page--clean .cai-news-grid {
    grid-template-columns: 1fr !important;
  }

  #top .cai-news-calendar-page--clean .cai-agenda-event-card {
    grid-template-columns: 78px minmax(0, 1fr) !important;
  }

  #top .cai-news-calendar-page--clean .cai-news-calendar-intro h1 {
    font-size: 42px;
  }
}
/* =========================================================
   NEWS E CALENDARIO - SFONDO PAGINA
   niente immagine cartina
========================================================= */

#top .cai-news-calendar-page,
#top .cai-news-calendar-page--clean {
  background: #f7f5f0 !important;
  background-image: none !important;
  background-repeat: no-repeat !important;
  background-size: auto !important;
}

/* Anche le sezioni interne non devono ereditare immagini */
#top .cai-news-calendar-page .cai-news-calendar-intro,
#top .cai-news-calendar-page .cai-news-calendar-next,
#top .cai-news-calendar-page .cai-news-calendar-main,
#top .cai-news-calendar-page .cai-news-calendar-archive,
#top .cai-news-calendar-page--clean .cai-news-calendar-intro,
#top .cai-news-calendar-page--clean .cai-news-calendar-next,
#top .cai-news-calendar-page--clean .cai-news-calendar-main,
#top .cai-news-calendar-page--clean .cai-news-calendar-archive {
  background-image: none !important;
}
/* =========================================================
   CAI CUNEO - PAGINA GRUPPI
========================================================= */

#top .cai-gruppi-page {
  position: relative;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  background: #f6f3ec;
  color: var(--cai-text-dark);
  overflow: hidden;
}

#top .cai-gruppi-section {
  width: min(1320px, calc(100% - 80px));
  margin: 0 auto;
  padding: 82px 0;
  border-top: 1px solid rgba(0, 59, 115, 0.12);
}

#top .cai-gruppi-section:first-child {
  border-top: none;
}

#top .cai-gruppi-kicker {
  display: block;
  margin: 0 0 14px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

#top .cai-gruppi-page h2 {
  margin: 0 0 22px;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: clamp(40px, 4.5vw, 68px);
  line-height: 0.98;
  font-weight: 700;
  color: var(--cai-blue) !important;
}

#top .cai-gruppi-page h3 {
  margin: 0 0 14px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 25px;
  line-height: 1.15;
  font-weight: 700;
  color: var(--cai-blue) !important;
}

#top .cai-gruppi-page p {
  margin: 0;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 18px;
  line-height: 1.55;
  color: #30465a;
}


/* INTRO */

#top .cai-gruppi-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(320px, 0.45fr);
  gap: 60px;
  align-items: center;
}

#top .cai-gruppi-intro-text {
  max-width: 760px;
}

#top .cai-gruppi-intro-text p {
  font-size: 21px;
}

#top .cai-gruppi-intro-card {
  position: relative;
  padding: 42px 44px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 18px 48px rgba(0,0,0,0.07);
}

#top .cai-gruppi-intro-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 36px;
  width: 76px;
  height: 4px;
  background: var(--cai-gold);
}

#top .cai-gruppi-intro-card span {
  display: block;
  margin-bottom: 12px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 18px;
  font-weight: 700;
  color: var(--cai-blue);
}


/* HEAD */

#top .cai-gruppi-head--center {
  max-width: 820px;
  margin: 0 auto 46px;
  text-align: center;
}


/* GRID CARD */

#top .cai-gruppi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
}

#top .cai-gruppo-card {
  position: relative;
  min-height: 390px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 18px 48px rgba(0,0,0,0.07);
  overflow: hidden;
  transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

#top .cai-gruppo-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 34px;
  width: 76px;
  height: 4px;
  background: var(--cai-gold);
  z-index: 2;
}

#top .cai-gruppo-card:hover {
  transform: translateY(-5px);
  border-color: rgba(0, 59, 115, 0.28);
  box-shadow: 0 28px 62px rgba(0,0,0,0.12);
}

#top .cai-gruppo-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 390px;
  padding: 40px 34px 34px;
  text-decoration: none !important;
}

#top .cai-gruppo-card__icon {
  width: 62px;
  height: 62px;
  margin-bottom: 28px;
  color: var(--cai-blue);
}

#top .cai-gruppo-card__icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#top .cai-gruppo-card span {
  display: block;
  margin-bottom: 11px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

#top .cai-gruppo-card h3 {
  font-size: 24px;
}

#top .cai-gruppo-card p {
  margin-bottom: 26px;
  font-size: 16px;
  line-height: 1.48;
}

#top .cai-gruppo-card strong {
  margin-top: auto;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 14px;
  font-weight: 700;
  color: var(--cai-blue);
}


/* Card evidenza */
#top .cai-gruppo-card--featured {
  grid-column: span 2;
  background:
    linear-gradient(135deg, rgba(0,59,115,0.96), rgba(0,80,164,0.90)),
    url("/wp-content/uploads/2026/09/catina.webp");
  background-size: cover;
}

#top .cai-gruppo-card--featured::before {
  background: var(--cai-gold);
}

#top .cai-gruppo-card--featured .cai-gruppo-card__icon,
#top .cai-gruppo-card--featured h3,
#top .cai-gruppo-card--featured strong {
  color: #ffffff !important;
}

#top .cai-gruppo-card--featured p {
  color: rgba(255,255,255,0.90);
}

#top .cai-gruppo-card--featured span {
  color: var(--cai-gold);
}


/* Collaborazione */
#top .cai-gruppo-card--connection {
  background: #fbfaf7;
}

#top .cai-gruppo-card--connection .cai-gruppo-card__icon {
  color: var(--cai-gold);
}


/* CTA */

#top .cai-gruppi-cta {
  width: min(1320px, calc(100% - 80px));
  margin: 0 auto 0;
  padding: 54px 56px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 40px;
  align-items: center;
  background:
    linear-gradient(135deg, rgba(0,59,115,0.96), rgba(0,80,164,0.9)),
    url("/wp-content/uploads/2026/09/catina.webp");
  background-size: cover;
  color: #ffffff;
}

#top .cai-gruppi-cta h2 {
  margin: 0 0 12px;
  color: #ffffff !important;
  font-size: clamp(34px, 3.6vw, 54px);
}

#top .cai-gruppi-cta p {
  max-width: 720px;
  color: rgba(255,255,255,0.92);
}

#top .cai-gruppi-cta-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

#top .cai-gruppi-btn {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 28px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none !important;
}

#top .cai-gruppi-btn-primary {
  background: var(--cai-gold);
  border: 2px solid var(--cai-gold);
  color: #ffffff !important;
}

#top .cai-gruppi-btn-outline {
  background: transparent;
  border: 2px solid rgba(255,255,255,0.68);
  color: #ffffff !important;
}

#top .cai-gruppi-btn-primary:hover,
#top .cai-gruppi-btn-outline:hover {
  background: #ffffff;
  border-color: #ffffff;
  color: var(--cai-blue) !important;
}


/* RESPONSIVE */

@media only screen and (max-width: 1180px) {
  #top .cai-gruppi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #top .cai-gruppo-card--featured {
    grid-column: span 2;
  }
}

@media only screen and (max-width: 989px) {
  #top .cai-gruppi-intro-grid,
  #top .cai-gruppi-cta {
    grid-template-columns: 1fr;
  }
}

@media only screen and (max-width: 767px) {
  #top .cai-gruppi-section,
  #top .cai-gruppi-cta {
    width: calc(100% - 36px);
  }

  #top .cai-gruppi-section {
    padding: 58px 0;
  }

  #top .cai-gruppi-grid {
    grid-template-columns: 1fr;
  }

  #top .cai-gruppo-card--featured {
    grid-column: span 1;
  }

  #top .cai-gruppo-card,
  #top .cai-gruppo-card__link {
    min-height: auto;
  }

  #top .cai-gruppi-intro-card {
    padding: 34px 28px;
  }

  #top .cai-gruppi-cta {
    padding: 42px 28px;
  }

  #top .cai-gruppi-cta-actions {
    flex-direction: column;
  }

  #top .cai-gruppi-btn {
    width: 100%;
  }
}

/* PAGINA I GRUPPI - testo card blu in bianco */
#top .cai-gruppo-card--featured p,
#top .cai-gruppo-card--featured .cai-gruppo-card__link p {
  color: #ffffff !important;
  opacity: 1 !important;
}

/* =========================================================
   PAGINA GRUPPO GIOVANI
   Estensioni del template condiviso cai-scuola-detail
========================================================= */


/* Titolo iniziale e logo */

#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-intro__text h2 {
  max-width: 820px;
}

#top .cai-giovani-intro-heading {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 34px;
  align-items: center;
  margin-bottom: 28px;
}

#top .cai-giovani-logo {
  width: 150px;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#top .cai-giovani-logo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 150px !important;
  max-height: 150px !important;
  object-fit: contain !important;
}


/* SVG nei contatti */

#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-contact-icon svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-contact-row strong {
  display: block;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 700;
  color: var(--cai-blue);
}


/* Lista del box blu */

#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-blue-box ul {
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-blue-box li {
  position: relative;
  margin: 0 0 13px;
  padding-left: 27px;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 17px;
  line-height: 1.42;
  color: rgba(255, 255, 255, 0.92);
}

#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-blue-box li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.68em;
  width: 12px;
  height: 2px;
  background: var(--cai-gold);
}


/* Storia */

#top .cai-giovani-storia {
  background: #ffffff;
}


/* Icone SVG delle card attività */

#top .cai-giovani-course-icon {
  color: var(--cai-blue);
}

#top .cai-giovani-course-icon svg {
  display: block;
  width: 82px;
  height: 82px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#top .cai-giovani-card-kicker {
  display: block;
  margin-bottom: 8px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cai-gold);
}


/* =========================================================
   PROGRAMMA ANNUALE GENERATO DALLO SHORTCODE
========================================================= */

#top .cai-giovani-programma {
  max-width: 1040px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(280px, 0.62fr) minmax(0, 1fr);
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.12);
  box-shadow: 0 20px 52px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

#top .cai-giovani-programma__preview {
  min-height: 420px;
  background: #edf2f7;
}

#top .cai-giovani-programma__image {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

#top .cai-giovani-programma__image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 420px;
  object-fit: cover;
  object-position: center top;
  transition: transform 0.25s ease;
}

#top .cai-giovani-programma__image:hover img {
  transform: scale(1.025);
}

#top .cai-giovani-programma__placeholder {
  min-height: 420px;
  padding: 36px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--cai-blue);
  text-align: center;
  text-decoration: none !important;
}

#top .cai-giovani-programma__placeholder span {
  display: block;
  margin-bottom: 12px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

#top .cai-giovani-programma__placeholder strong {
  display: block;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 72px;
  line-height: 1;
  color: #ffffff;
}

#top .cai-giovani-programma__content {
  padding: 52px 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#top .cai-giovani-programma__content h3 {
  margin: 0 0 18px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 32px;
  line-height: 1.12;
  font-weight: 700;
  color: var(--cai-blue) !important;
}

#top .cai-giovani-programma__content p {
  margin: 0 0 28px;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 18px;
  line-height: 1.55;
  color: #405468;
}

#top .cai-giovani-programma__button {
  align-self: flex-start;
  min-height: 52px;
  padding: 0 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  background: var(--cai-gold);
  border: 2px solid var(--cai-gold);
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #ffffff !important;
  text-decoration: none !important;
}

#top .cai-giovani-programma__button:hover {
  background: var(--cai-blue);
  border-color: var(--cai-blue);
  color: #ffffff !important;
}


/* =========================================================
   INFORMAZIONI UTILI
========================================================= */

#top .cai-giovani-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}

#top .cai-giovani-info-card {
  position: relative;
  padding: 36px 38px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.07);
}

#top .cai-giovani-info-number {
  display: block;
  margin-bottom: 20px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 42px;
  line-height: 1;
  font-weight: 700;
  color: var(--cai-gold);
}

#top .cai-giovani-info-card h3 {
  margin: 0 0 14px;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 24px;
  line-height: 1.15;
  font-weight: 700;
  color: var(--cai-blue) !important;
}

#top .cai-giovani-info-card p {
  margin: 0;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 17px;
  line-height: 1.52;
  color: #405468;
}

#top .cai-giovani-info-card p + p {
  margin-top: 14px;
}




/* =========================================================
   PARTECIPAZIONE
========================================================= */

#top .cai-giovani-partecipa {
  max-width: none !important;
  width: 100% !important;
  padding-left: max(40px, calc((100vw - 1320px) / 2)) !important;
  padding-right: max(40px, calc((100vw - 1320px) / 2)) !important;
  background: var(--cai-blue);
}

#top .cai-giovani-partecipa h2 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

#top .cai-giovani-partecipa p {
  color: rgba(255, 255, 255, 0.92) !important;
}

#top .cai-giovani-partecipa .cai-scuola-detail-kicker {
  color: var(--cai-gold) !important;
}


/* =========================================================
   CTA
========================================================= */

#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-btn-primary,
#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-btn-primary:link,
#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-btn-primary:visited,
#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-btn-primary:hover,
#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-btn-primary:focus {
  color: #ffffff !important;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media only screen and (max-width: 989px) {

  #top .cai-giovani-intro-heading {
    grid-template-columns: 125px minmax(0, 1fr);
    gap: 26px;
  }

  #top .cai-giovani-logo {
    width: 125px;
    height: 125px;
  }

  #top .cai-giovani-logo img {
    max-width: 125px !important;
    max-height: 125px !important;
  }

  #top .cai-giovani-programma {
    grid-template-columns: 1fr;
  }

  #top .cai-giovani-programma__preview,
  #top .cai-giovani-programma__image img,
  #top .cai-giovani-programma__placeholder {
    min-height: 500px;
  }

}

@media only screen and (max-width: 767px) {

  #top .cai-giovani-intro-heading {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  #top .cai-giovani-logo {
    width: 110px;
    height: 110px;
  }

  #top .cai-giovani-logo img {
    max-width: 110px !important;
    max-height: 110px !important;
  }

  #top .cai-giovani-info-grid {
    grid-template-columns: 1fr;
  }

  #top .cai-giovani-info-card {
    padding: 30px 25px;
  }

  #top .cai-giovani-programma__content {
    padding: 34px 25px 38px;
  }

  #top .cai-giovani-programma__preview,
  #top .cai-giovani-programma__image img,
  #top .cai-giovani-programma__placeholder {
    min-height: 390px;
  }

  #top .cai-giovani-programma__button {
    width: 100%;
  }

  #top .cai-giovani-partecipa {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

}
/* =========================================================
   GRUPPO GIOVANI - FULL WIDTH COME GRUPPO SPELEOLOGIA
========================================================= */

/* Il blocco principale esce dal contenitore Enfold */
#top .cai-scuola-detail-page--giovani {
  position: relative !important;
  display: block !important;

  width: 100vw !important;
  max-width: 100vw !important;

  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  padding: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* Impedisce ai wrapper interni di restringere nuovamente la pagina */
#top .cai-scuola-detail-page--giovani,
#top .cai-scuola-detail-page--giovani * {
  box-sizing: border-box !important;
}

/* Le sezioni normali restano centrate come nella Speleologia */
#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-section {
  width: min(1320px, calc(100% - 112px)) !important;
  max-width: 1320px !important;

  margin-left: auto !important;
  margin-right: auto !important;

  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Le fasce che devono essere realmente a tutta larghezza */
#top .cai-scuola-detail-page--giovani
.cai-giovani-partecipa,
#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-cta {
  width: 100% !important;
  max-width: none !important;

  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Contenuto centrato dentro la fascia blu "Partecipa" */
#top .cai-scuola-detail-page--giovani
.cai-giovani-partecipa {
  padding-left: max(56px, calc((100vw - 1320px) / 2)) !important;
  padding-right: max(56px, calc((100vw - 1320px) / 2)) !important;
}

/* CTA finale: fascia full width ma contenuti allineati al sito */
#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-cta {
  padding-left: max(56px, calc((100vw - 1320px) / 2)) !important;
  padding-right: max(56px, calc((100vw - 1320px) / 2)) !important;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media only screen and (max-width: 989px) {

  #top .cai-scuola-detail-page--giovani
  .cai-scuola-detail-section {
    width: calc(100% - 68px) !important;
  }

  #top .cai-scuola-detail-page--giovani
  .cai-giovani-partecipa,
  #top .cai-scuola-detail-page--giovani
  .cai-scuola-detail-cta {
    padding-left: 34px !important;
    padding-right: 34px !important;
  }

}

@media only screen and (max-width: 767px) {

  #top .cai-scuola-detail-page--giovani
  .cai-scuola-detail-section {
    width: calc(100% - 48px) !important;
  }

  #top .cai-scuola-detail-page--giovani
  .cai-giovani-partecipa,
  #top .cai-scuola-detail-page--giovani
  .cai-scuola-detail-cta {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

}
/* =========================================================
   GRUPPO GIOVANI - CORREZIONI FINALI
   Spazio sotto menu + sfondo sezione storia
========================================================= */


/* =========================================================
   1. ELIMINA LO SPAZIO BIANCO TRA MENU E PAGINA
========================================================= */

/* Wrapper Enfold della pagina */
#top .container_wrap_first:has(.cai-scuola-detail-page--giovani),
#top .main_color:has(.cai-scuola-detail-page--giovani) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Colonna contenuto Enfold */
#top .content:has(.cai-scuola-detail-page--giovani),
#top .content.av-content-full:has(.cai-scuola-detail-page--giovani) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
}

/* Wrapper interni del builder */
#top .template-page:has(.cai-scuola-detail-page--giovani),
#top .post-entry:has(.cai-scuola-detail-page--giovani),
#top .entry-content-wrapper:has(.cai-scuola-detail-page--giovani) {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Eventuale paragrafo vuoto creato dall'editor */
#top .entry-content-wrapper:has(.cai-scuola-detail-page--giovani) > p:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Pagina subito sotto l'header */
#top .cai-scuola-detail-page--giovani {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


/* =========================================================
   2. BLOCCO "LA NOSTRA STORIA"
   Deve fondersi con lo sfondo della pagina
========================================================= */

#top .cai-scuola-detail-page--giovani .cai-giovani-storia {
  background: transparent !important;
  border-top: 1px solid rgba(0, 59, 115, 0.11) !important;
  border-bottom: 1px solid rgba(0, 59, 115, 0.11) !important;
  box-shadow: none !important;
}

/* Elimina eventuali fondi bianchi applicati ai due blocchi interni */
#top .cai-scuola-detail-page--giovani
.cai-giovani-storia .cai-scuola-detail-grid-2,
#top .cai-scuola-detail-page--giovani
.cai-giovani-storia .cai-scuola-detail-text-block {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* Mantiene le due colonne correttamente allineate */
#top .cai-scuola-detail-page--giovani
.cai-giovani-storia .cai-scuola-detail-grid-2 {
  align-items: start !important;
}


/* =========================================================
   3. SFONDO UNIFORME DI TUTTA LA PAGINA
========================================================= */

#top .cai-scuola-detail-page--giovani {
  background-color: #f7f5f1 !important;
}

#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-section {
  background-color: transparent !important;
}


/* Le card devono invece rimanere bianche */
#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-contact-card,
#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-course-card,
#top .cai-scuola-detail-page--giovani
.cai-giovani-info-card,
#top .cai-scuola-detail-page--giovani
.cai-giovani-programma {
  background-color: #ffffff !important;
}


/* Il box blu deve restare blu */
#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-blue-box,
#top .cai-scuola-detail-page--giovani
.cai-giovani-partecipa,
#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-cta {
  background-color: var(--cai-blue) !important;
}
/* =========================================================
   GRUPPO GIOVANI - CTA FINALE E SPAZIO PRIMA DEL FOOTER
   Correzione definitiva
========================================================= */


/* =========================================================
   1. BLOCCO "AIUTACI A FAR CRESCERE IL GRUPPO"
========================================================= */

#top .cai-scuola-detail-page--giovani .cai-giovani-partecipa {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;

  padding-top: 58px !important;
  padding-bottom: 58px !important;
  padding-left: max(56px, calc((100vw - 1320px) / 2)) !important;
  padding-right: max(56px, calc((100vw - 1320px) / 2)) !important;

  background: #f7f5f1 !important;
  border-top: 1px solid rgba(0, 59, 115, 0.11) !important;
  border-bottom: none !important;
  color: var(--cai-text-dark) !important;
}

/* Titolo nuovamente blu, non bianco */
#top .cai-scuola-detail-page--giovani .cai-giovani-partecipa h2 {
  color: var(--cai-blue) !important;
  -webkit-text-fill-color: var(--cai-blue) !important;
}

/* Testi leggibili */
#top .cai-scuola-detail-page--giovani .cai-giovani-partecipa p {
  color: #405468 !important;
  opacity: 1 !important;
}

/* Etichetta oro */
#top .cai-scuola-detail-page--giovani
.cai-giovani-partecipa .cai-scuola-detail-kicker {
  color: var(--cai-gold) !important;
}


/* =========================================================
   2. CTA FINALE SEPARATA E FULL WIDTH
========================================================= */

#top .cai-scuola-detail-page--giovani .cai-scuola-detail-cta {
  position: relative !important;

  width: 100% !important;
  max-width: none !important;
  min-height: 250px !important;

  margin: 0 !important;
  padding-top: 58px !important;
  padding-bottom: 58px !important;
  padding-left: max(56px, calc((100vw - 1320px) / 2)) !important;
  padding-right: max(56px, calc((100vw - 1320px) / 2)) !important;

  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 52px !important;
  align-items: center !important;

  background:
    linear-gradient(
      90deg,
      rgba(0, 31, 61, 0.98) 0%,
      rgba(0, 59, 115, 0.94) 55%,
      rgba(0, 43, 85, 0.88) 100%
    ),
    url("/wp-content/uploads/2026/05/montagna-sfondo-iscrizione.png") !important;

  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;

  border: none !important;
  color: #ffffff !important;
  box-sizing: border-box !important;
}

/* Contenuto sopra lo sfondo */
#top .cai-scuola-detail-page--giovani .cai-scuola-detail-cta > * {
  position: relative !important;
  z-index: 2 !important;
}

/* Kicker */
#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-cta .cai-scuola-detail-kicker {
  display: block !important;
  margin-bottom: 12px !important;
  color: var(--cai-gold) !important;
  opacity: 1 !important;
}

/* Titolo */
#top .cai-scuola-detail-page--giovani .cai-scuola-detail-cta h2 {
  margin: 0 0 16px !important;
  max-width: 720px !important;

  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: clamp(36px, 3.7vw, 54px) !important;
  line-height: 1 !important;
  font-weight: 700 !important;

  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

/* Testo */
#top .cai-scuola-detail-page--giovani .cai-scuola-detail-cta p {
  max-width: 700px !important;
  margin: 0 !important;

  font-size: 18px !important;
  line-height: 1.5 !important;

  color: rgba(255, 255, 255, 0.90) !important;
  opacity: 1 !important;
}


/* =========================================================
   3. PULSANTI CTA
========================================================= */

#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-cta-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}

#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-cta .cai-scuola-detail-btn {
  min-width: 170px !important;
  min-height: 52px !important;
  padding: 0 23px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;

  text-decoration: none !important;
  opacity: 1 !important;
  transition: all 0.22s ease !important;
}

/* Pulsante principale */
#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-cta .cai-scuola-detail-btn-primary,
#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-cta .cai-scuola-detail-btn-primary:link,
#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-cta .cai-scuola-detail-btn-primary:visited {
  background: var(--cai-gold) !important;
  border: 2px solid var(--cai-gold) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-cta .cai-scuola-detail-btn-primary:hover {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: var(--cai-blue) !important;
  -webkit-text-fill-color: var(--cai-blue) !important;
}

/* Pulsanti secondari */
#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-cta .cai-scuola-detail-btn-outline,
#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-cta .cai-scuola-detail-btn-outline:link,
#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-cta .cai-scuola-detail-btn-outline:visited {
  background: transparent !important;
  border: 2px solid rgba(255, 255, 255, 0.72) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-cta .cai-scuola-detail-btn-outline:hover {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: var(--cai-blue) !important;
  -webkit-text-fill-color: var(--cai-blue) !important;
}


/* =========================================================
   4. ELIMINA LO SPAZIO BIANCO PRIMA DEL FOOTER
========================================================= */

#top .container_wrap_first:has(.cai-scuola-detail-page--giovani),
#top .main_color:has(.cai-scuola-detail-page--giovani),
#top .template-page:has(.cai-scuola-detail-page--giovani),
#top .content:has(.cai-scuola-detail-page--giovani),
#top .post-entry:has(.cai-scuola-detail-page--giovani),
#top .entry-content-wrapper:has(.cai-scuola-detail-page--giovani) {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Nasconde eventuali elementi vuoti inseriti dopo l'HTML */
#top .entry-content-wrapper:has(.cai-scuola-detail-page--giovani)
> p:last-child:empty,
#top .entry-content-wrapper:has(.cai-scuola-detail-page--giovani)
> div:last-child:empty {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Nessun margine dopo la pagina */
#top .cai-scuola-detail-page--giovani {
  margin-bottom: 0 !important;
}

#top .cai-scuola-detail-page--giovani
.cai-scuola-detail-cta {
  margin-bottom: 0 !important;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media only screen and (max-width: 1100px) {

  #top .cai-scuola-detail-page--giovani
  .cai-scuola-detail-cta {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  #top .cai-scuola-detail-page--giovani
  .cai-scuola-detail-cta-actions {
    justify-content: flex-start !important;
  }

}

@media only screen and (max-width: 989px) {

  #top .cai-scuola-detail-page--giovani
  .cai-giovani-partecipa,
  #top .cai-scuola-detail-page--giovani
  .cai-scuola-detail-cta {
    padding-left: 34px !important;
    padding-right: 34px !important;
  }

}

@media only screen and (max-width: 767px) {

  #top .cai-scuola-detail-page--giovani
  .cai-giovani-partecipa,
  #top .cai-scuola-detail-page--giovani
  .cai-scuola-detail-cta {
    padding: 44px 24px !important;
  }

  #top .cai-scuola-detail-page--giovani
  .cai-scuola-detail-cta h2 {
    font-size: 36px !important;
  }

  #top .cai-scuola-detail-page--giovani
  .cai-scuola-detail-cta-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }

  #top .cai-scuola-detail-page--giovani
  .cai-scuola-detail-cta .cai-scuola-detail-btn {
    width: 100% !important;
    min-width: 0 !important;
  }

}
/* =========================================================
   GRUPPO GIOVANI - CARD COSTI E LINK
========================================================= */

#top .cai-scuola-detail-page--giovani
.cai-giovani-info-card--costi {
  border-top: 4px solid var(--cai-gold);
}

#top .cai-scuola-detail-page--giovani
.cai-giovani-info-card--costi p strong {
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 19px;
  font-weight: 700;
  color: var(--cai-blue) !important;
}

#top .cai-scuola-detail-page--giovani
.cai-giovani-info-card a {
  font-weight: 700;
  color: var(--cai-blue-light) !important;
  text-decoration: none !important;
}

#top .cai-scuola-detail-page--giovani
.cai-giovani-info-card a:hover {
  color: var(--cai-blue) !important;
  text-decoration: underline !important;
}
/* =========================================================
   GRUPPO GIOVANI - PROGRAMMA ANNUALE PIÙ COMPATTO
========================================================= */

#top .cai-scuola-detail-page--giovani
.cai-giovani-programma-section {
  padding-top: 54px !important;
  padding-bottom: 54px !important;
}

#top .cai-scuola-detail-page--giovani
.cai-giovani-programma-section .cai-scuola-detail-head {
  margin-bottom: 28px !important;
}

#top .cai-scuola-detail-page--giovani
.cai-giovani-programma {
  max-width: 940px !important;
  grid-template-columns: 38% 62% !important;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.07) !important;
}

/* Colonna sinistra */
#top .cai-scuola-detail-page--giovani
.cai-giovani-programma__preview,
#top .cai-scuola-detail-page--giovani
.cai-giovani-programma__placeholder,
#top .cai-scuola-detail-page--giovani
.cai-giovani-programma__image img {
  min-height: 300px !important;
  height: 300px !important;
}

#top .cai-scuola-detail-page--giovani
.cai-giovani-programma__placeholder {
  padding: 24px !important;
}

#top .cai-scuola-detail-page--giovani
.cai-giovani-programma__placeholder span {
  margin-bottom: 8px !important;
  font-size: 11px !important;
}

#top .cai-scuola-detail-page--giovani
.cai-giovani-programma__placeholder strong {
  font-size: 58px !important;
}

/* Colonna destra */
#top .cai-scuola-detail-page--giovani
.cai-giovani-programma__content {
  padding: 38px 42px !important;
}

#top .cai-scuola-detail-page--giovani
.cai-giovani-programma__content .cai-scuola-detail-kicker {
  margin-bottom: 10px !important;
  font-size: 11px !important;
}

#top .cai-scuola-detail-page--giovani
.cai-giovani-programma__content h3 {
  margin-bottom: 14px !important;
  font-size: 28px !important;
  line-height: 1.08 !important;
}

#top .cai-scuola-detail-page--giovani
.cai-giovani-programma__content p {
  margin-bottom: 22px !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
}

/* Pulsante */
#top .cai-scuola-detail-page--giovani
.cai-giovani-programma__button,
#top .cai-scuola-detail-page--giovani
.cai-giovani-programma__button:link,
#top .cai-scuola-detail-page--giovani
.cai-giovani-programma__button:visited {
  min-height: 46px !important;
  padding: 0 20px !important;
  margin-top: 0 !important;

  background: var(--cai-gold) !important;
  border: 2px solid var(--cai-gold) !important;

  font-size: 12px !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Hover come "Scrivi al gruppo" */
#top .cai-scuola-detail-page--giovani
.cai-giovani-programma__button:hover,
#top .cai-scuola-detail-page--giovani
.cai-giovani-programma__button:focus {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: var(--cai-blue) !important;
  -webkit-text-fill-color: var(--cai-blue) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.12) !important;
}

/* Responsive */
@media only screen and (max-width: 989px) {

  #top .cai-scuola-detail-page--giovani
  .cai-giovani-programma {
    max-width: 720px !important;
    grid-template-columns: 1fr !important;
  }

  #top .cai-scuola-detail-page--giovani
  .cai-giovani-programma__preview,
  #top .cai-scuola-detail-page--giovani
  .cai-giovani-programma__placeholder,
  #top .cai-scuola-detail-page--giovani
  .cai-giovani-programma__image img {
    height: 280px !important;
    min-height: 280px !important;
  }

}

@media only screen and (max-width: 767px) {

  #top .cai-scuola-detail-page--giovani
  .cai-giovani-programma__content {
    padding: 30px 24px 34px !important;
  }

  #top .cai-scuola-detail-page--giovani
  .cai-giovani-programma__content h3 {
    font-size: 25px !important;
  }

  #top .cai-scuola-detail-page--giovani
  .cai-giovani-programma__button {
    width: 100% !important;
  }

}
/* =========================================================
   GRUPPO GIOVANI - SLIDESHOW ORIZZONTALE INTEGRATO
========================================================= */

#top .cai-giovani-slider {
  position: relative !important;

  width: 100vw !important;
  max-width: 100vw !important;

  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;

  padding: 0 !important;
  overflow: hidden !important;

  background: var(--cai-blue) !important;
  border: none !important;
  box-shadow: none !important;
}


/* Reset contenitori Enfold */

#top .cai-giovani-slider .avia-slideshow,
#top .cai-giovani-slider .avia-slideshow-inner,
#top .cai-giovani-slider .avia-slideshow li {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* Altezza fascia fotografica */

#top .cai-giovani-slider .avia-slideshow-inner,
#top .cai-giovani-slider .avia-slideshow li {
  height: 420px !important;
  min-height: 420px !important;
  overflow: hidden !important;
  background: var(--cai-blue) !important;
}


/* Immagine a tutta superficie */

#top .cai-giovani-slider .avia-slideshow li img {
  display: block !important;

  width: 100% !important;
  height: 420px !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center 78% !important;

  transition: transform 7s ease !important;
}


/* Leggero movimento durante la visualizzazione */

#top .cai-giovani-slider .avia-slideshow li.av-active-slide img {
  transform: scale(1.035) !important;
}


/* Velo per integrare la foto con il sito */

#top .cai-giovani-slider .avia-slideshow li::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;

  background:
    linear-gradient(
      90deg,
      rgba(0, 31, 61, 0.32) 0%,
      rgba(0, 31, 61, 0.04) 35%,
      rgba(0, 31, 61, 0.04) 65%,
      rgba(0, 31, 61, 0.32) 100%
    );
}


/* Nasconde titoli e didascalie */

#top .cai-giovani-slider .avia-caption,
#top .cai-giovani-slider .avia-caption-title,
#top .cai-giovani-slider .avia-caption-content {
  display: none !important;
}


/* Frecce */

#top .cai-giovani-slider .avia-slideshow-arrows {
  position: relative;
  z-index: 5;
}

#top .cai-giovani-slider .avia-slideshow-arrows a {
  width: 46px !important;
  height: 54px !important;
  line-height: 54px !important;
  margin-top: -27px !important;

  background: rgba(0, 59, 115, 0.82) !important;
  border: 1px solid rgba(255, 255, 255, 0.32) !important;

  color: #ffffff !important;
  opacity: 1 !important;
  border-radius: 0 !important;
}

#top .cai-giovani-slider .avia-slideshow-arrows a.prev-slide {
  left: 28px !important;
}

#top .cai-giovani-slider .avia-slideshow-arrows a.next-slide {
  right: 28px !important;
}

#top .cai-giovani-slider .avia-slideshow-arrows a:hover {
  background: var(--cai-gold) !important;
  border-color: var(--cai-gold) !important;
  color: #ffffff !important;
}


/* Pallini */

#top .cai-giovani-slider .avia-slideshow-dots {
  bottom: 18px !important;
  z-index: 6 !important;
}

#top .cai-giovani-slider .avia-slideshow-dots a {
  width: 9px !important;
  height: 9px !important;
  margin: 0 5px !important;

  background: rgba(255, 255, 255, 0.58) !important;
  border: 1px solid rgba(255, 255, 255, 0.88) !important;
}

#top .cai-giovani-slider .avia-slideshow-dots a.active,
#top .cai-giovani-slider .avia-slideshow-dots a:hover {
  background: var(--cai-gold) !important;
  border-color: var(--cai-gold) !important;
}


/* =========================================================
   TABLET
========================================================= */

@media only screen and (max-width: 989px) {

  #top .cai-giovani-slider .avia-slideshow-inner,
  #top .cai-giovani-slider .avia-slideshow li,
  #top .cai-giovani-slider .avia-slideshow li img {
    height: 350px !important;
    min-height: 350px !important;
  }

  #top .cai-giovani-slider .avia-slideshow-arrows a.prev-slide {
    left: 18px !important;
  }

  #top .cai-giovani-slider .avia-slideshow-arrows a.next-slide {
    right: 18px !important;
  }

}


/* =========================================================
   SMARTPHONE
========================================================= */

@media only screen and (max-width: 767px) {

  #top .cai-giovani-slider .avia-slideshow-inner,
  #top .cai-giovani-slider .avia-slideshow li,
  #top .cai-giovani-slider .avia-slideshow li img {
    height: 290px !important;
    min-height: 290px !important;
  }

  #top .cai-giovani-slider .avia-slideshow li img {
    object-position: center center !important;
  }

  #top .cai-giovani-slider .avia-slideshow-arrows a {
    width: 38px !important;
    height: 44px !important;
    line-height: 44px !important;
    margin-top: -22px !important;
  }

  #top .cai-giovani-slider .avia-slideshow-arrows a.prev-slide {
    left: 10px !important;
  }

  #top .cai-giovani-slider .avia-slideshow-arrows a.next-slide {
    right: 10px !important;
  }

}
/* =========================================================
   GRUPPO GIOVANI - ALLINEAMENTO SEZIONE "LA NOSTRA STORIA"
========================================================= */

#top .cai-scuola-detail-page--giovani
.cai-giovani-storia {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
  border-top: 1px solid rgba(0, 59, 115, 0.11) !important;
  border-bottom: 1px solid rgba(0, 59, 115, 0.11) !important;
}

/* Spazio corretto tra linea superiore e kicker */
#top .cai-scuola-detail-page--giovani
.cai-giovani-storia .cai-scuola-detail-kicker {
  margin-top: 0 !important;
  margin-bottom: 14px !important;
}

/* Titolo allineato alle altre sezioni */
#top .cai-scuola-detail-page--giovani
.cai-giovani-storia h2 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Allinea verticalmente le due colonne */
#top .cai-scuola-detail-page--giovani
.cai-giovani-storia .cai-scuola-detail-grid-2 {
  align-items: start !important;
  gap: 64px !important;
}

/* Evita margini anomali sul primo paragrafo */
#top .cai-scuola-detail-page--giovani
.cai-giovani-storia .cai-scuola-detail-text-block > p:first-child {
  margin-top: 0 !important;
}

/* Tablet */
@media only screen and (max-width: 989px) {
  #top .cai-scuola-detail-page--giovani
  .cai-giovani-storia {
    padding-top: 58px !important;
    padding-bottom: 58px !important;
  }
}

/* Mobile */
@media only screen and (max-width: 767px) {
  #top .cai-scuola-detail-page--giovani
  .cai-giovani-storia {
    padding-top: 46px !important;
    padding-bottom: 46px !important;
  }

  #top .cai-scuola-detail-page--giovani
  .cai-giovani-storia .cai-scuola-detail-grid-2 {
    gap: 28px !important;
  }
}
/* =========================================================
   GRUPPO GIOVANI - CONTINUITÀ DOPO EASY SLIDER
========================================================= */

#top .cai-scuola-detail-page--giovani-after-slider {
  position: relative !important;
  display: block !important;

  width: 100vw !important;
  max-width: 100vw !important;

  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;

  padding: 0 !important;
  overflow: hidden !important;

  background: #f7f5f1 !important;
  box-sizing: border-box !important;
}

#top .cai-scuola-detail-page--giovani-after-slider,
#top .cai-scuola-detail-page--giovani-after-slider * {
  box-sizing: border-box !important;
}

/* Le normali sezioni dopo lo slider */
#top .cai-scuola-detail-page--giovani-after-slider
.cai-scuola-detail-section {
  width: min(1320px, calc(100% - 112px)) !important;
  max-width: 1320px !important;

  margin-left: auto !important;
  margin-right: auto !important;

  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Evita spazio tra slider e sezione seguente */
#top .cai-giovani-slider {
  margin-bottom: 0 !important;
}

#top .cai-scuola-detail-page--giovani-after-slider
.cai-scuola-detail-section:first-child {
  padding-top: 72px !important;
}

/* Fasce full width */
#top .cai-scuola-detail-page--giovani-after-slider
.cai-giovani-partecipa,
#top .cai-scuola-detail-page--giovani-after-slider
.cai-scuola-detail-cta {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Responsive */
@media only screen and (max-width: 989px) {

  #top .cai-scuola-detail-page--giovani-after-slider
  .cai-scuola-detail-section {
    width: calc(100% - 68px) !important;
  }

}

@media only screen and (max-width: 767px) {

  #top .cai-scuola-detail-page--giovani-after-slider
  .cai-scuola-detail-section {
    width: calc(100% - 48px) !important;
  }

  #top .cai-scuola-detail-page--giovani-after-slider
  .cai-scuola-detail-section:first-child {
    padding-top: 48px !important;
  }

}
/* Spazio corretto subito dopo lo slider */
#top .cai-scuola-detail-page--giovani-after-slider
.cai-giovani-after-slider-first {
  padding-top: 72px !important;
}

@media only screen and (max-width: 989px) {
  #top .cai-scuola-detail-page--giovani-after-slider
  .cai-giovani-after-slider-first {
    padding-top: 58px !important;
  }
}

@media only screen and (max-width: 767px) {
  #top .cai-scuola-detail-page--giovani-after-slider
  .cai-giovani-after-slider-first {
    padding-top: 46px !important;
  }
}
/* =========================================================
   GRUPPO GIOVANI - ALLINEAMENTO BLOCCO "AIUTACI"
========================================================= */

/* Fascia estesa a tutta larghezza */
#top .cai-scuola-detail-page--giovani
.cai-giovani-partecipa {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;

  background: #f7f5f1 !important;
  border-top: 1px solid rgba(0, 59, 115, 0.11) !important;
  border-bottom: none !important;
}

/* Contenuto centrato e allineato alle altre sezioni */
#top .cai-scuola-detail-page--giovani
.cai-giovani-partecipa > .cai-scuola-detail-grid-2 {
  width: min(1320px, calc(100% - 112px)) !important;
  max-width: 1320px !important;

  margin-left: auto !important;
  margin-right: auto !important;

  padding-top: 64px !important;
  padding-bottom: 64px !important;

  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 72px !important;
  align-items: start !important;
}

/* Ripristino colori */
#top .cai-scuola-detail-page--giovani
.cai-giovani-partecipa h2 {
  margin-top: 0 !important;
  color: var(--cai-blue) !important;
  -webkit-text-fill-color: var(--cai-blue) !important;
}

#top .cai-scuola-detail-page--giovani
.cai-giovani-partecipa p {
  color: #405468 !important;
  opacity: 1 !important;
}

#top .cai-scuola-detail-page--giovani
.cai-giovani-partecipa .cai-scuola-detail-kicker {
  margin-top: 0 !important;
  color: var(--cai-gold) !important;
}


/* Tablet */
@media only screen and (max-width: 989px) {

  #top .cai-scuola-detail-page--giovani
  .cai-giovani-partecipa > .cai-scuola-detail-grid-2 {
    width: calc(100% - 68px) !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

}


/* Smartphone */
@media only screen and (max-width: 767px) {

  #top .cai-scuola-detail-page--giovani
  .cai-giovani-partecipa > .cai-scuola-detail-grid-2 {
    width: calc(100% - 48px) !important;
    padding-top: 46px !important;
    padding-bottom: 46px !important;
  }

}
/* =========================================================
   GRUPPO GIOVANI - GALLERIA FOTOGRAFICA
========================================================= */

#top .cai-giovani-gallery {
  width: min(1180px, calc(100% - 112px)) !important;
  max-width: 1180px !important;
  margin: 0 auto 70px !important;
  padding: 0 !important;
}

#top .cai-giovani-gallery .avia-gallery {
  margin: 0 !important;
}

#top .cai-giovani-gallery .avia-gallery-thumb {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

/* Reset Enfold */
#top .cai-giovani-gallery .avia-gallery-thumb a {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: var(--cai-blue) !important;
  border: none !important;
}

/* Prima foto più importante */
#top .cai-giovani-gallery .avia-gallery-thumb a:first-child {
  grid-column: span 2 !important;
  grid-row: span 2 !important;
}

/* Dimensioni immagini */
#top .cai-giovani-gallery .avia-gallery-thumb img {
  display: block !important;
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
  object-position: center 62% !important;
  border: none !important;
  transition: transform 0.35s ease, opacity 0.35s ease !important;
}

/* Prima immagine più alta */
#top .cai-giovani-gallery .avia-gallery-thumb a:first-child img {
  height: 538px !important;
  object-position: center 58% !important;
}

/* Hover */
#top .cai-giovani-gallery .avia-gallery-thumb a:hover img {
  transform: scale(1.035) !important;
  opacity: 0.88 !important;
}

/* Bordo discreto */
#top .cai-giovani-gallery .avia-gallery-thumb a::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(0, 59, 115, 0.12);
  pointer-events: none;
}

/* Tablet */
@media only screen and (max-width: 989px) {

  #top .cai-giovani-gallery {
    width: calc(100% - 68px) !important;
    margin-bottom: 58px !important;
  }

  #top .cai-giovani-gallery .avia-gallery-thumb {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #top .cai-giovani-gallery .avia-gallery-thumb a:first-child {
    grid-column: span 2 !important;
    grid-row: auto !important;
  }

  #top .cai-giovani-gallery .avia-gallery-thumb a:first-child img {
    height: 420px !important;
  }

}

/* Smartphone */
@media only screen and (max-width: 767px) {

  #top .cai-giovani-gallery {
    width: calc(100% - 48px) !important;
    margin-bottom: 46px !important;
  }

  #top .cai-giovani-gallery .avia-gallery-thumb {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  #top .cai-giovani-gallery .avia-gallery-thumb a:first-child {
    grid-column: auto !important;
  }

  #top .cai-giovani-gallery .avia-gallery-thumb img,
  #top .cai-giovani-gallery .avia-gallery-thumb a:first-child img {
    height: 340px !important;
    object-position: center 60% !important;
  }

}
/* =========================================================
   GRUPPO MTB CAI CUNEO
   CSS COMPLETO E DEFINITIVO
========================================================= */


/* =========================================================
   VARIABILI E CONTENITORE GENERALE
========================================================= */

#top .cai-scuola-detail-page--mtb {
  --cai-mtb-green: #42763d;
  --cai-mtb-green-dark: #2f5c2b;
  --cai-mtb-green-soft: #e9f0e6;

  --cai-mtb-blue: #003b73;
  --cai-mtb-blue-light: #0050a4;
  --cai-mtb-gold: #d3a11f;

  --cai-mtb-cream: #f7f5f1;
  --cai-mtb-text: #405468;
  --cai-mtb-border: rgba(0, 59, 115, 0.11);

  position: relative !important;
  display: block !important;

  width: 100vw !important;
  max-width: 100vw !important;

  margin-top: 0 !important;
  margin-right: calc(50% - 50vw) !important;
  margin-bottom: 0 !important;
  margin-left: calc(50% - 50vw) !important;

  padding: 0 !important;

  background: var(--cai-mtb-cream) !important;
  overflow: hidden !important;
}

#top .cai-scuola-detail-page--mtb,
#top .cai-scuola-detail-page--mtb * {
  box-sizing: border-box !important;
}


/* =========================================================
   RESET DEI CONTENITORI ENFOLD
========================================================= */

#top .container_wrap_first:has(.cai-scuola-detail-page--mtb),
#top .main_color:has(.cai-scuola-detail-page--mtb),
#top .content:has(.cai-scuola-detail-page--mtb),
#top .template-page:has(.cai-scuola-detail-page--mtb),
#top .post-entry:has(.cai-scuola-detail-page--mtb),
#top .entry-content-wrapper:has(.cai-scuola-detail-page--mtb) {
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  border: none !important;
}

#top .entry-content-wrapper:has(.cai-scuola-detail-page--mtb)::before,
#top .entry-content-wrapper:has(.cai-scuola-detail-page--mtb)::after {
  display: none !important;
}


/* =========================================================
   LARGHEZZA DELLE SEZIONI
   IDENTICA AL GRUPPO GIOVANI
========================================================= */

#top .cai-scuola-detail-page--mtb
.cai-scuola-detail-section {
  width: min(1320px, calc(100% - 112px)) !important;
  max-width: 1320px !important;

  margin-right: auto !important;
  margin-left: auto !important;

  padding-top: 72px !important;
  padding-right: 0 !important;
  padding-bottom: 72px !important;
  padding-left: 0 !important;
}

#top .cai-scuola-detail-page--mtb
.cai-scuola-detail-section + .cai-scuola-detail-section {
  border-top: 1px solid var(--cai-mtb-border) !important;
}


/* =========================================================
   COLORI GENERALI
========================================================= */

#top .cai-scuola-detail-page--mtb
.cai-scuola-detail-kicker {
  color: var(--cai-mtb-gold) !important;
}

#top .cai-scuola-detail-page--mtb h2,
#top .cai-scuola-detail-page--mtb h3 {
  color: var(--cai-mtb-blue) !important;
}

#top .cai-scuola-detail-page--mtb p,
#top .cai-scuola-detail-page--mtb li {
  color: var(--cai-mtb-text) !important;
}

#top .cai-scuola-detail-page--mtb a {
  color: var(--cai-mtb-blue-light);
}

#top .cai-scuola-detail-page--mtb
.cai-scuola-detail-quote {
  border-left-color: var(--cai-mtb-green) !important;
}


/* =========================================================
   INTRODUZIONE
========================================================= */

#top .cai-scuola-detail-page--mtb
.cai-scuola-detail-intro {
  padding-top: 74px !important;
  padding-bottom: 74px !important;
}

#top .cai-mtb-intro-heading {
  display: flex !important;
  align-items: center !important;
  gap: 28px !important;

  margin-bottom: 28px !important;
}

#top .cai-mtb-intro-heading h2 {
  margin-top: 0 !important;
}


/* =========================================================
   LOGO MTB
========================================================= */

#top .cai-mtb-logo {
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;

  width: 126px !important;
  height: 126px !important;

  padding: 9px !important;

  background: #ffffff !important;
  border: 1px solid rgba(0, 59, 115, 0.12) !important;
  border-radius: 50% !important;

  box-shadow: 0 14px 38px rgba(0, 59, 115, 0.10) !important;
  overflow: hidden !important;
}

#top .cai-mtb-logo img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;

  object-fit: contain !important;

  border: none !important;
}


/* =========================================================
   BOX BLU
========================================================= */

#top .cai-scuola-detail-page--mtb
.cai-scuola-detail-blue-box {
  background:
    linear-gradient(
      145deg,
      var(--cai-mtb-blue) 0%,
      var(--cai-mtb-blue-light) 100%
    ) !important;
}

#top .cai-scuola-detail-page--mtb
.cai-scuola-detail-blue-box > span {
  color: #f1cf72 !important;
}

#top .cai-scuola-detail-page--mtb
.cai-scuola-detail-blue-box h3,
#top .cai-scuola-detail-page--mtb
.cai-scuola-detail-blue-box p,
#top .cai-scuola-detail-page--mtb
.cai-scuola-detail-blue-box li {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}


/* =========================================================
   FILOSOFIA
========================================================= */

#top .cai-scuola-detail-page--mtb
.cai-mtb-filosofia {
  background: transparent !important;
}

#top .cai-scuola-detail-page--mtb
.cai-mtb-filosofia .cai-scuola-detail-grid-2 {
  align-items: start !important;
  gap: 72px !important;
}

#top .cai-scuola-detail-page--mtb
.cai-mtb-filosofia
.cai-scuola-detail-text-block > p:first-child {
  margin-top: 0 !important;
}


/* =========================================================
   CARD ATTIVITÀ
========================================================= */

#top .cai-scuola-detail-page--mtb
.cai-scuola-detail-course-card {
  border-top: 4px solid var(--cai-mtb-green) !important;
}

#top .cai-scuola-detail-page--mtb
.cai-scuola-detail-course-card:hover {
  transform: translateY(-5px) !important;

  box-shadow:
    0 20px 48px rgba(0, 59, 115, 0.14) !important;
}

#top .cai-mtb-course-icon {
  color: var(--cai-mtb-green) !important;
  background: var(--cai-mtb-green-soft) !important;
}

#top .cai-mtb-course-icon svg {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

#top .cai-mtb-card-kicker {
  display: block !important;

  margin-bottom: 8px !important;

  color: var(--cai-mtb-green) !important;

  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
}


/* =========================================================
   PROGRAMMA ANNUALE
========================================================= */

#top .cai-scuola-detail-page--mtb
.cai-mtb-programma-section {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

#top .cai-mtb-programma-section
.cai-scuola-detail-head {
  max-width: 800px !important;
  margin-bottom: 38px !important;
}

#top .cai-mtb-programma-card {
  display: grid !important;
  grid-template-columns: 38% 62% !important;

  width: 100% !important;
  max-width: 940px !important;
  min-height: 300px !important;

  margin: 0 auto !important;

  background: #ffffff !important;
  border: 1px solid rgba(0, 59, 115, 0.12) !important;

  box-shadow:
    0 16px 42px rgba(0, 59, 115, 0.10) !important;

  overflow: hidden !important;
}

#top .cai-mtb-programma-card__image {
  position: relative !important;

  min-height: 300px !important;

  background: var(--cai-mtb-green-soft) !important;
  overflow: hidden !important;
}

#top .cai-mtb-programma-card__image a {
  display: block !important;

  width: 100% !important;
  height: 100% !important;
}

#top .cai-mtb-programma-card__image img {
  display: block !important;

  width: 100% !important;
  height: 300px !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center !important;

  border: none !important;

  transition: transform 0.35s ease !important;
}

#top .cai-mtb-programma-card__image a:hover img {
  transform: scale(1.035) !important;
}

#top .cai-mtb-programma-card__content {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;

  padding: 38px 42px !important;
}

#top .cai-mtb-programma-card__kicker {
  display: block !important;

  margin-bottom: 10px !important;

  color: var(--cai-mtb-green) !important;

  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
}

#top .cai-mtb-programma-card__content h3 {
  margin: 0 0 15px !important;

  color: var(--cai-mtb-blue) !important;

  font-size: 28px !important;
  line-height: 1.16 !important;
}

#top .cai-mtb-programma-card__content p {
  margin: 0 0 25px !important;

  color: var(--cai-mtb-text) !important;
}

#top .cai-mtb-programma-card__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 46px !important;

  padding: 11px 22px !important;

  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;

  background: var(--cai-mtb-green) !important;
  border: 2px solid var(--cai-mtb-green) !important;

  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;

  transition:
    color 0.2s ease,
    background 0.2s ease,
    border-color 0.2s ease !important;
}

#top .cai-mtb-programma-card__button:hover {
  color: var(--cai-mtb-green) !important;
  -webkit-text-fill-color: var(--cai-mtb-green) !important;

  background: #ffffff !important;
  border-color: var(--cai-mtb-green) !important;

  text-decoration: none !important;
}


/* =========================================================
   AVVISO VARIAZIONI
========================================================= */

#top .cai-scuola-detail-page--mtb
.cai-mtb-avviso {
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  background: var(--cai-mtb-blue) !important;
  border-top: none !important;
}

#top .cai-mtb-avviso-box {
  display: grid !important;
  grid-template-columns: 82px minmax(0, 1fr) !important;
  gap: 34px !important;
  align-items: start !important;

  width: min(1320px, calc(100% - 112px)) !important;
  max-width: 1320px !important;

  margin: 0 auto !important;
  padding: 60px 0 !important;
}

#top .cai-mtb-avviso-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 74px !important;
  height: 74px !important;

  color: var(--cai-mtb-gold) !important;

  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  border-radius: 50% !important;
}

#top .cai-mtb-avviso-icon svg {
  width: 42px !important;
  height: 42px !important;

  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.4 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

#top .cai-mtb-avviso h2 {
  margin-top: 5px !important;

  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

#top .cai-mtb-avviso p {
  max-width: 900px !important;

  color: rgba(255, 255, 255, 0.86) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.86) !important;
}

#top .cai-mtb-avviso
.cai-scuola-detail-kicker {
  color: #f1cf72 !important;
}


/* =========================================================
   INFORMAZIONI UTILI
========================================================= */

#top .cai-mtb-info-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;

  margin-top: 42px !important;
}

#top .cai-mtb-info-card {
  position: relative !important;

  padding: 34px 34px 32px !important;

  background: #ffffff !important;
  border: 1px solid var(--cai-mtb-border) !important;
  border-radius: 3px !important;

  box-shadow:
    0 10px 30px rgba(0, 59, 115, 0.07) !important;
}

#top .cai-mtb-info-card--evidenza {
  background: var(--cai-mtb-green-soft) !important;
  border-color: rgba(66, 118, 61, 0.26) !important;
}


/* Numeri grandi come nel Gruppo Giovani */

#top .cai-scuola-detail-page--mtb
.cai-mtb-info-number {
  display: block !important;

  margin-bottom: 20px !important;

  color: var(--cai-mtb-gold) !important;

  font-size: 36px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

#top .cai-mtb-info-card h3 {
  margin: 0 0 18px !important;

  font-size: 25px !important;
  line-height: 1.18 !important;
}

#top .cai-mtb-info-card p:last-child {
  margin-bottom: 0 !important;
}

#top .cai-mtb-info-card ul {
  margin: 20px 0 0 !important;
  padding: 0 !important;

  list-style: none !important;
}

#top .cai-mtb-info-card li {
  position: relative !important;

  margin: 0 0 10px !important;
  padding-left: 23px !important;

  color: var(--cai-mtb-text) !important;
}

#top .cai-mtb-info-card li::before {
  content: "✓";

  position: absolute !important;
  top: 0 !important;
  left: 0 !important;

  color: var(--cai-mtb-green) !important;
  font-weight: 800 !important;
}


/* =========================================================
   DIFFICOLTÀ
========================================================= */

#top .cai-mtb-difficolta
.cai-scuola-detail-grid-2 {
  align-items: start !important;
  gap: 72px !important;
}

#top .cai-mtb-levels {
  display: grid !important;
  gap: 18px !important;
}

#top .cai-mtb-level-card {
  display: grid !important;
  grid-template-columns: 74px minmax(0, 1fr) !important;
  gap: 24px !important;
  align-items: start !important;

  padding: 26px !important;

  background: #ffffff !important;
  border: 1px solid var(--cai-mtb-border) !important;

  box-shadow:
    0 9px 26px rgba(0, 59, 115, 0.07) !important;
}

#top .cai-mtb-level-card > span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 66px !important;
  height: 66px !important;

  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;

  background: var(--cai-mtb-green) !important;
  border-radius: 50% !important;

  font-size: 19px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

#top .cai-mtb-level-card h3 {
  margin: 2px 0 8px !important;

  font-size: 21px !important;
  line-height: 1.2 !important;
}

#top .cai-mtb-level-card p {
  margin: 0 !important;
}


/* =========================================================
   FASCIA CONTATTI INTERMEDIA
========================================================= */

#top .cai-scuola-detail-page--mtb
.cai-mtb-contatti {
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  background: var(--cai-mtb-cream) !important;
  border-top: 1px solid var(--cai-mtb-border) !important;
}

#top .cai-mtb-contatti
.cai-scuola-detail-grid-2 {
  width: min(1320px, calc(100% - 112px)) !important;
  max-width: 1320px !important;

  margin: 0 auto !important;
  padding: 64px 0 !important;

  gap: 72px !important;
  align-items: start !important;
}


/* =========================================================
   CTA FINALE
========================================================= */

#top .cai-scuola-detail-page--mtb
.cai-scuola-detail-cta {
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;

  padding-top: 68px !important;
  padding-right: max(56px, calc((100vw - 1320px) / 2)) !important;
  padding-bottom: 68px !important;
  padding-left: max(56px, calc((100vw - 1320px) / 2)) !important;

  background:
    linear-gradient(
      135deg,
      #002d58 0%,
      var(--cai-mtb-blue) 58%,
      var(--cai-mtb-green-dark) 100%
    ) !important;
}

#top .cai-scuola-detail-page--mtb
.cai-scuola-detail-cta h2 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

#top .cai-scuola-detail-page--mtb
.cai-scuola-detail-cta p {
  color: rgba(255, 255, 255, 0.86) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.86) !important;
}

#top .cai-scuola-detail-page--mtb
.cai-scuola-detail-cta
.cai-scuola-detail-kicker {
  color: #f1cf72 !important;
}


/* Pulsante Scrivi al gruppo */

#top .cai-scuola-detail-page--mtb
.cai-scuola-detail-cta
.cai-scuola-detail-btn-primary {
  color: var(--cai-mtb-blue) !important;
  -webkit-text-fill-color: var(--cai-mtb-blue) !important;

  background: #ffffff !important;
  border: 2px solid #ffffff !important;
}

#top .cai-scuola-detail-page--mtb
.cai-scuola-detail-cta
.cai-scuola-detail-btn-primary:hover {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;

  background: var(--cai-mtb-green) !important;
  border-color: var(--cai-mtb-green) !important;
}


/* Pulsante Torna ai gruppi */

#top .cai-scuola-detail-page--mtb
.cai-scuola-detail-cta
.cai-scuola-detail-btn-outline {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;

  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.65) !important;
}

#top .cai-scuola-detail-page--mtb
.cai-scuola-detail-cta
.cai-scuola-detail-btn-outline:hover {
  color: var(--cai-mtb-blue) !important;
  -webkit-text-fill-color: var(--cai-mtb-blue) !important;

  background: #ffffff !important;
  border-color: #ffffff !important;
}


/* =========================================================
   ELIMINA SPAZIO PRIMA DEL FOOTER
========================================================= */

#top .cai-scuola-detail-page--mtb {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

#top .cai-scuola-detail-page--mtb
.cai-scuola-detail-cta {
  margin-bottom: 0 !important;
}

#top .content:has(.cai-scuola-detail-page--mtb),
#top .entry-content-wrapper:has(.cai-scuola-detail-page--mtb),
#top .post-entry:has(.cai-scuola-detail-page--mtb),
#top .template-page:has(.cai-scuola-detail-page--mtb) {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media only screen and (max-width: 989px) {

  #top .cai-scuola-detail-page--mtb
  .cai-scuola-detail-section {
    width: calc(100% - 68px) !important;
    max-width: none !important;

    padding-top: 58px !important;
    padding-bottom: 58px !important;
  }

  #top .cai-mtb-logo {
    width: 108px !important;
    height: 108px !important;
  }

  #top .cai-mtb-avviso-box,
  #top .cai-mtb-contatti
  .cai-scuola-detail-grid-2 {
    width: calc(100% - 68px) !important;
    max-width: none !important;
  }

  #top .cai-mtb-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #top .cai-scuola-detail-page--mtb
  .cai-scuola-detail-cta {
    padding-right: 34px !important;
    padding-left: 34px !important;
  }

}


/* =========================================================
   SMARTPHONE
========================================================= */

@media only screen and (max-width: 767px) {

  #top .cai-scuola-detail-page--mtb
  .cai-scuola-detail-section {
    width: calc(100% - 48px) !important;
    max-width: none !important;

    padding-top: 46px !important;
    padding-bottom: 46px !important;
  }

  #top .cai-mtb-intro-heading {
    align-items: flex-start !important;
    gap: 18px !important;
  }

  #top .cai-mtb-logo {
    width: 84px !important;
    height: 84px !important;

    padding: 7px !important;
  }

  #top .cai-mtb-intro-heading h2 {
    font-size: 31px !important;
  }

  #top .cai-mtb-filosofia
  .cai-scuola-detail-grid-2,
  #top .cai-mtb-difficolta
  .cai-scuola-detail-grid-2 {
    gap: 28px !important;
  }

  #top .cai-mtb-programma-card {
    grid-template-columns: 1fr !important;
  }

  #top .cai-mtb-programma-card__image,
  #top .cai-mtb-programma-card__image img {
    min-height: 280px !important;
    height: 280px !important;
  }

  #top .cai-mtb-programma-card__content {
    padding: 30px 26px !important;
  }

  #top .cai-mtb-programma-card__content h3 {
    font-size: 25px !important;
  }

  #top .cai-mtb-avviso-box {
    grid-template-columns: 1fr !important;
    gap: 22px !important;

    width: calc(100% - 48px) !important;

    padding-top: 46px !important;
    padding-bottom: 46px !important;
  }

  #top .cai-mtb-avviso-icon {
    width: 62px !important;
    height: 62px !important;
  }

  #top .cai-mtb-info-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  #top .cai-mtb-info-card {
    padding: 28px 25px !important;
  }

  #top .cai-scuola-detail-page--mtb
  .cai-mtb-info-number {
    font-size: 32px !important;
  }

  #top .cai-mtb-level-card {
    grid-template-columns: 58px minmax(0, 1fr) !important;
    gap: 18px !important;

    padding: 22px !important;
  }

  #top .cai-mtb-level-card > span {
    width: 54px !important;
    height: 54px !important;

    font-size: 17px !important;
  }

  #top .cai-mtb-contatti
  .cai-scuola-detail-grid-2 {
    width: calc(100% - 48px) !important;

    padding-top: 46px !important;
    padding-bottom: 46px !important;

    gap: 28px !important;
  }

  #top .cai-scuola-detail-page--mtb
  .cai-scuola-detail-cta {
    padding: 52px 24px !important;
  }

}
/* =========================================================
   PAGINA SCUOLA
   Spazio corretto tra Struttura formativa e La scuola
========================================================= */

.cai-scuola-aree + .cai-scuola-intro {
    margin-top: 0 !important;
    padding-top: 100px !important;
    position: relative !important;
    clear: both;
    transform: none !important;
}

.cai-scuola-aree + .cai-scuola-intro .cai-scuola-values {
    margin-top: 0 !important;
    transform: none !important;
}
/* =========================================================
   PAGINA SOCCORSO ALPINO
========================================================= */

#top .cai-scuola-detail-page--soccorso-alpino
.cai-scuola-detail-intro__text h2 {
  max-width: 900px;
}

#top .cai-scuola-detail-page--soccorso-alpino
.cai-scuola-detail-course-icon svg {
  width: 82px;
  height: 82px;
  fill: none;
  stroke: var(--cai-blue);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#top .cai-soccorso-emergenza
.cai-scuola-detail-blue-box ul {
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

#top .cai-soccorso-emergenza
.cai-scuola-detail-blue-box li {
  position: relative;
  margin-bottom: 13px;
  padding-left: 27px;
  line-height: 1.45;
}

#top .cai-soccorso-emergenza
.cai-scuola-detail-blue-box li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.7em;
  width: 11px;
  height: 2px;
  background: var(--cai-gold);
}

#top .cai-soccorso-emergenza
.cai-scuola-detail-blue-box li:last-child {
  margin-bottom: 0;
}

/* =========================================================
   LARGHEZZA STANDARD PAGINE DEI GRUPPI
   Contenuti max 1320px - CTA finale full width
========================================================= */

/* Sezione colore Enfold a tutta larghezza */
#top .cai-scuola-detail-wrap {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Elimina i limiti dei wrapper Enfold */
#top .cai-scuola-detail-wrap .container,
#top .cai-scuola-detail-wrap .content,
#top .cai-scuola-detail-wrap .template-page,
#top .cai-scuola-detail-wrap .post-entry,
#top .cai-scuola-detail-wrap .entry-content-wrapper,
#top .cai-scuola-detail-wrap .avia_codeblock {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}


/* =========================================================
   SEZIONI NORMALI
========================================================= */

#top .cai-scuola-detail-page > .cai-scuola-detail-section {
  width: 100% !important;
  max-width: 1320px !important;

  margin-left: auto !important;
  margin-right: auto !important;

  padding-left: 56px !important;
  padding-right: 56px !important;

  box-sizing: border-box !important;
}


/* =========================================================
   CTA FINALE - FULL WIDTH
========================================================= */

#top .cai-scuola-detail-page > .cai-scuola-detail-cta {
  width: 100% !important;
  max-width: none !important;

  margin-left: 0 !important;
  margin-right: 0 !important;

  /*
   * Il fondo arriva da bordo a bordo.
   * Testo e pulsanti rimangono allineati
   * ai contenuti delle sezioni da 1320px.
   */
  padding-left:
    max(
      56px,
      calc((100vw - 1320px) / 2 + 56px)
    ) !important;

  padding-right:
    max(
      56px,
      calc((100vw - 1320px) / 2 + 56px)
    ) !important;

  box-sizing: border-box !important;
}


/* =========================================================
   TABLET
========================================================= */

@media only screen and (max-width: 1180px) {

  #top .cai-scuola-detail-page > .cai-scuola-detail-section {
    padding-left: 34px !important;
    padding-right: 34px !important;
  }

  #top .cai-scuola-detail-page > .cai-scuola-detail-cta {
    padding-left: 34px !important;
    padding-right: 34px !important;
  }
}


/* =========================================================
   MOBILE
========================================================= */

@media only screen and (max-width: 767px) {

  #top .cai-scuola-detail-page > .cai-scuola-detail-section {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  #top .cai-scuola-detail-page > .cai-scuola-detail-cta {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}
/* =========================================================
   SOCCORSO ALPINO — LOGO NEL BLOCCO INTRODUTTIVO
========================================================= */

#top .cai-scuola-detail-page--soccorso-alpino
.cai-soccorso-intro-brand {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-bottom: 28px;
}

#top .cai-scuola-detail-page--soccorso-alpino
.cai-soccorso-intro-logo {
  flex: 0 0 145px;
  width: 145px;
  height: 145px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#top .cai-scuola-detail-page--soccorso-alpino
.cai-soccorso-intro-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

#top .cai-scuola-detail-page--soccorso-alpino
.cai-soccorso-intro-heading {
  min-width: 0;
}

#top .cai-scuola-detail-page--soccorso-alpino
.cai-soccorso-intro-heading h2 {
  margin-top: 10px !important;
  margin-bottom: 0 !important;
}

#top .cai-scuola-detail-page--soccorso-alpino
.cai-soccorso-intro-description {
  max-width: 760px;
  margin-top: 0 !important;
}


/* Tablet e mobile */
@media only screen and (max-width: 767px) {

  #top .cai-scuola-detail-page--soccorso-alpino
  .cai-soccorso-intro-brand {
    align-items: flex-start;
    gap: 20px;
  }

  #top .cai-scuola-detail-page--soccorso-alpino
  .cai-soccorso-intro-logo {
    flex-basis: 100px;
    width: 100px;
    height: 100px;
  }
}


/* Smartphone piccoli */
@media only screen and (max-width: 480px) {

  #top .cai-scuola-detail-page--soccorso-alpino
  .cai-soccorso-intro-brand {
    display: block;
  }

  #top .cai-scuola-detail-page--soccorso-alpino
  .cai-soccorso-intro-logo {
    width: 110px;
    height: 110px;
    margin-bottom: 22px;
  }
}

/* =========================================================
   CAI CUNEO — APPUNTAMENTI PRINCIPALI
   6 card: 3 colonne desktop, 2 tablet, 1 mobile
========================================================= */

.cai-agenda-events-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
  width: 100%;
}

/* Singola card */
.cai-agenda-event-card {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  min-width: 0;
  min-height: 250px;
  overflow: hidden;

  background: #ffffff;
  border: 1px solid #dce2e7;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(20, 38, 55, 0.07);

  color: #17212b;
  text-decoration: none !important;

  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}

.cai-agenda-event-card:hover {
  transform: translateY(-4px);
  border-color: #b8c4ce;
  box-shadow: 0 15px 34px rgba(20, 38, 55, 0.13);
}

.cai-agenda-event-card:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}

/* Colonna della data */
.cai-agenda-event-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 2px;

  padding: 24px 8px;

  background: #f3f5f7;
  border-right: 1px solid #e1e6ea;
  text-align: center;
}

.cai-agenda-event-date strong {
  display: block;
  margin: 0;

  font-size: 34px;
  line-height: 1;
  font-weight: 750;
  color: #17212b;
}

.cai-agenda-event-date span {
  display: block;
  margin-top: 5px;

  font-size: 13px;
  line-height: 1.2;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cai-agenda-event-date small {
  display: block;
  margin-top: 3px;

  font-size: 12px;
  line-height: 1.2;
  color: #66727d;
}

/* Contenuto */
.cai-agenda-event-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 23px 21px 21px;
}

.cai-agenda-event-cat {
  display: block;
  margin-bottom: 10px;

  font-size: 12px;
  line-height: 1.3;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #52606c;
}

.cai-agenda-event-content h3 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;

  margin: 0 0 12px;
  padding: 0;

  font-size: 21px;
  line-height: 1.22;
  font-weight: 750;
  color: #17212b;
}

.cai-agenda-event-content > p:not(.cai-agenda-event-range) {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;

  margin: 0 0 14px;

  font-size: 15px;
  line-height: 1.55;
  color: #56636e;
}

.cai-agenda-event-range {
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 650;
  color: #394854;
}

.cai-agenda-event-more {
  display: inline-block;
  margin-top: auto;
  padding-top: 15px;

  font-size: 14px;
  line-height: 1.3;
  font-weight: 750;
  color: #17212b;
}

/* Le priorità determinano la selezione, non l'aspetto grafico */
.cai-agenda-event-card--priority-1,
.cai-agenda-event-card--priority-2,
.cai-agenda-event-card--priority-3 {
  position: relative;
}

/* Tablet */
@media only screen and (max-width: 1099px) {
  .cai-agenda-events-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Smartphone */
@media only screen and (max-width: 767px) {
  .cai-agenda-events-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .cai-agenda-event-card {
    grid-template-columns: 70px minmax(0, 1fr);
    min-height: 220px;
    border-radius: 12px;
  }

  .cai-agenda-event-date {
    padding: 21px 7px;
  }

  .cai-agenda-event-date strong {
    font-size: 30px;
  }

  .cai-agenda-event-content {
    padding: 20px 18px 18px;
  }

  .cai-agenda-event-content h3 {
    font-size: 19px;
  }
}

.cai-home-event-card__ambito,
.cai-event-card__ambito,
.cai-prossimi-eventi__ambito {
  display: block;
  margin: 0 0 6px;
  font-family: 'source-sans-3', sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #6c7785;
}
/* =========================================================
   CAI CUNEO — COLORI AMBITI APPUNTAMENTI
========================================================= */

/* Colore predefinito: CAI Cuneo */
.cai-agenda-event-card {
  --cai-ambito-color: #0050a4;
  --cai-ambito-dark: #003b73;

  border-top: 4px solid var(--cai-ambito-color);
}

/* CAI Cuneo */
.cai-agenda-event-card.cai-ambito--cai-cuneo {
  --cai-ambito-color: #0050a4;
  --cai-ambito-dark: #003b73;
}

/* Scuola Alpinismo e Arrampicata */
.cai-agenda-event-card.cai-ambito--scuola-alpinismo-arrampicata {
  --cai-ambito-color: #9a6700;
  --cai-ambito-dark: #714b00;
}

/* Scuola Scialpinismo */
.cai-agenda-event-card.cai-ambito--scuola-scialpinismo {
  --cai-ambito-color: #2b6f9f;
  --cai-ambito-dark: #1e5278;
}

/* Gruppo Speleologico */
.cai-agenda-event-card.cai-ambito--speleo {
  --cai-ambito-color: #654a84;
  --cai-ambito-dark: #493461;
}

/* MTB */
.cai-agenda-event-card.cai-ambito--mtb {
  --cai-ambito-color: #4e783d;
  --cai-ambito-dark: #38572b;
}

/* Alpinismo giovanile */
.cai-agenda-event-card.cai-ambito--alpinismo-giovanile {
  --cai-ambito-color: #b84f3a;
  --cai-ambito-dark: #873928;
}

/* Gruppo Giovani */
.cai-agenda-event-card.cai-ambito--gruppo-giovani {
  --cai-ambito-color: #c56f00;
  --cai-ambito-dark: #8f5000;
}

/* Montagnaterapia */
.cai-agenda-event-card.cai-ambito--montagnaterapia {
  --cai-ambito-color: #2f7567;
  --cai-ambito-dark: #215449;
}

/* Sottosezione Borgo San Dalmazzo */
.cai-agenda-event-card.cai-ambito--borgo {
  --cai-ambito-color: #6c5a3b;
  --cai-ambito-dark: #4e402b;
}

/* Sottosezione Busca */
.cai-agenda-event-card.cai-ambito--busca {
  --cai-ambito-color: #8a6c28;
  --cai-ambito-dark: #624d1d;
}

/* Sottosezione Dronero */
.cai-agenda-event-card.cai-ambito--dronero {
  --cai-ambito-color: #7a465b;
  --cai-ambito-dark: #573240;
}

/* Corale La Baita */
.cai-agenda-event-card.cai-ambito--corale {
  --cai-ambito-color: #7a3f74;
  --cai-ambito-dark: #572d53;
}

/* Soccorso Alpino */
.cai-agenda-event-card.cai-ambito--soccorso {
  --cai-ambito-color: #c9252d;
  --cai-ambito-dark: #941c22;
}

/* Vecchio valore generico della Scuola: compatibilità temporanea */
.cai-agenda-event-card.cai-ambito--scuola {
  --cai-ambito-color: #8c6d18;
  --cai-ambito-dark: #654e11;
}

/* Applicazione del colore alla card */
.cai-agenda-event-card .cai-agenda-event-date {
  background: var(--cai-ambito-color);
  border-right: 0;
}

.cai-agenda-event-card .cai-agenda-event-date strong,
.cai-agenda-event-card .cai-agenda-event-date span {
  color: #ffffff;
}

.cai-agenda-event-card .cai-agenda-event-date small {
  color: rgba(255, 255, 255, 0.88);
}

.cai-agenda-event-card .cai-agenda-event-ambito {
  display: block;
  margin-bottom: 5px;
  color: var(--cai-ambito-dark);
}

.cai-agenda-event-card .cai-agenda-event-more {
  width: fit-content;
  color: var(--cai-ambito-dark);
  border-bottom: 2px solid var(--cai-ambito-color);
}

.cai-agenda-event-card:hover {
  border-color: var(--cai-ambito-color);
  box-shadow: 0 15px 34px rgba(20, 38, 55, 0.15);
} 

/* =========================================================
   NEWS E CALENDARIO - COLORI AMBITO
========================================================= */

body .cai-agenda-events-grid .cai-agenda-event-card {
  border-top: 4px solid var(--cai-ambito-color) !important;
}

body .cai-agenda-events-grid
.cai-agenda-event-card
.cai-agenda-event-date {
  background-color: var(--cai-ambito-color) !important;
  border-right-color: var(--cai-ambito-color) !important;
}

body .cai-agenda-events-grid
.cai-agenda-event-card
.cai-agenda-event-date strong,
body .cai-agenda-events-grid
.cai-agenda-event-card
.cai-agenda-event-date span {
  color: #ffffff !important;
}

body .cai-agenda-events-grid
.cai-agenda-event-card
.cai-agenda-event-date small {
  color: rgba(255, 255, 255, 0.9) !important;
}

body .cai-agenda-events-grid
.cai-agenda-event-card
.cai-agenda-event-ambito {
  color: var(--cai-ambito-dark) !important;
}

body .cai-agenda-events-grid
.cai-agenda-event-card
.cai-agenda-event-more {
  color: var(--cai-ambito-dark) !important;
  border-bottom-color: var(--cai-ambito-color) !important;
}

/* =========================================================
   CAI CUNEO — RUOLO DEL CAI NELLE CARD
========================================================= */

.cai-agenda-event-role {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;

  margin-top: auto;
  padding: 5px 9px;

  border: 1px solid var(--cai-ambito-color);
  border-radius: 999px;

  background: #ffffff;
  color: var(--cai-ambito-dark);

  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.cai-agenda-event-role + .cai-agenda-event-more {
  margin-top: 12px;
}

/* Eventi patrocinati o soltanto segnalati */
.cai-ruolo--patrocina .cai-agenda-event-role,
.cai-ruolo--segnala .cai-agenda-event-role {
  border-color: #d4c8b7;
  background: #f4f0e9;
  color: #5d5144;
}

/*
 * Gli appuntamenti esterni mantengono il colore dell’ambito,
 * ma il riquadro della data è più leggero.
 */
body .cai-agenda-events-grid
.cai-agenda-event-card--external
.cai-agenda-event-date {
  background: #ffffff !important;
  box-shadow: inset 0 0 0 3px var(--cai-ambito-color);
}

body .cai-agenda-events-grid
.cai-agenda-event-card--external
.cai-agenda-event-date strong,
body .cai-agenda-events-grid
.cai-agenda-event-card--external
.cai-agenda-event-date span {
  color: var(--cai-ambito-dark) !important;
}

body .cai-agenda-events-grid
.cai-agenda-event-card--external
.cai-agenda-event-date small {
  color: #68727c !important;
}

body .cai-agenda-events-grid
.cai-agenda-event-card--external {
  border-top-style: dashed;
}

/* =========================================================
   CAI CUNEO — EVENTI NEL CALENDARIO MENSILE
========================================================= */

/* Colore predefinito */
.cai-month-calendar__event {
  --cai-ambito-color: #0050a4;
  --cai-ambito-dark: #003b73;
}

/* CAI Cuneo */
.cai-month-calendar__event.cai-ambito--cai-cuneo {
  --cai-ambito-color: #0050a4;
  --cai-ambito-dark: #003b73;
}

/* Scuola Alpinismo e Arrampicata */
.cai-month-calendar__event.cai-ambito--scuola-alpinismo-arrampicata {
  --cai-ambito-color: #9a6700;
  --cai-ambito-dark: #714b00;
}

/* Scuola Scialpinismo */
.cai-month-calendar__event.cai-ambito--scuola-scialpinismo {
  --cai-ambito-color: #2b6f9f;
  --cai-ambito-dark: #1e5278;
}

/* Gruppo Speleologico */
.cai-month-calendar__event.cai-ambito--speleo {
  --cai-ambito-color: #654a84;
  --cai-ambito-dark: #493461;
}

/* MTB */
.cai-month-calendar__event.cai-ambito--mtb {
  --cai-ambito-color: #4e783d;
  --cai-ambito-dark: #38572b;
}

/* Alpinismo giovanile */
.cai-month-calendar__event.cai-ambito--alpinismo-giovanile {
  --cai-ambito-color: #b84f3a;
  --cai-ambito-dark: #873928;
}

/* Gruppo Giovani */
.cai-month-calendar__event.cai-ambito--gruppo-giovani {
  --cai-ambito-color: #c56f00;
  --cai-ambito-dark: #8f5000;
}

/* Montagnaterapia */
.cai-month-calendar__event.cai-ambito--montagnaterapia {
  --cai-ambito-color: #2f7567;
  --cai-ambito-dark: #215449;
}

/* Sottosezioni */
.cai-month-calendar__event.cai-ambito--borgo {
  --cai-ambito-color: #6c5a3b;
  --cai-ambito-dark: #4e402b;
}

.cai-month-calendar__event.cai-ambito--busca {
  --cai-ambito-color: #8a6c28;
  --cai-ambito-dark: #624d1d;
}

.cai-month-calendar__event.cai-ambito--dronero {
  --cai-ambito-color: #7a465b;
  --cai-ambito-dark: #573240;
}

/* Corale */
.cai-month-calendar__event.cai-ambito--corale {
  --cai-ambito-color: #7a3f74;
  --cai-ambito-dark: #572d53;
}

/* Soccorso Alpino */
.cai-month-calendar__event.cai-ambito--soccorso {
  --cai-ambito-color: #c9252d;
  --cai-ambito-dark: #941c22;
}

/* Compatibilità vecchio valore Scuola */
.cai-month-calendar__event.cai-ambito--scuola {
  --cai-ambito-color: #8c6d18;
  --cai-ambito-dark: #654e11;
}

/* Aspetto del singolo appuntamento */
body .cai-month-calendar
.cai-month-calendar__events
a.cai-month-calendar__event {
  display: block;

  margin: 0 0 7px;
  padding: 8px 8px 8px 10px;

  background: #ffffff !important;
  border: 1px solid #e0e5e9 !important;
  border-left: 4px solid var(--cai-ambito-color) !important;
  border-radius: 6px;

  color: #17212b !important;
  text-decoration: none !important;

  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

body .cai-month-calendar
.cai-month-calendar__events
a.cai-month-calendar__event:hover {
  transform: translateY(-1px);
  border-color: var(--cai-ambito-color) !important;
  box-shadow: 0 5px 13px rgba(20, 38, 55, 0.11);
}

/* Ambito */
body .cai-month-calendar
.cai-month-calendar__event
.cai-month-calendar__event-ambito {
  display: block;

  margin: 0 0 3px;
  padding: 0;

  background: transparent !important;
  color: var(--cai-ambito-dark) !important;

  font-size: 9px;
  font-weight: 750;
  line-height: 1.25;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

/* Categoria */
body .cai-month-calendar
.cai-month-calendar__event
.cai-month-calendar__event-cat {
  display: block;

  margin: 0 0 3px;
  padding: 0;

  background: transparent !important;
  color: #68747f !important;

  font-size: 9px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* Titolo */
body .cai-month-calendar
.cai-month-calendar__event
strong {
  display: block;

  margin: 0;
  color: #17212b !important;

  font-size: 12px;
  font-weight: 750;
  line-height: 1.28;
}

/* Ruolo del CAI */
body .cai-month-calendar
.cai-month-calendar__event
.cai-month-calendar__event-role {
  display: inline-block;

  margin-top: 5px;
  padding: 2px 5px;

  border: 1px solid var(--cai-ambito-color);
  border-radius: 999px;

  background: #ffffff;
  color: var(--cai-ambito-dark);

  font-size: 8px;
  font-weight: 750;
  line-height: 1.2;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

/* Patrocinati e segnalati */
body .cai-month-calendar
.cai-month-calendar__events
a.cai-month-calendar__event--external {
  background: #f7f5f1 !important;
  border-left-style: dashed !important;
}

body .cai-month-calendar
.cai-month-calendar__event--external
.cai-month-calendar__event-role {
  border-color: #cfc5b7;
  background: #eee9e1;
  color: #5d5144;
} 

/* =========================================================
   CAI CUNEO — FILTRI APPUNTAMENTI
========================================================= */

.cai-event-filters {
  margin: 0 0 34px;
  padding: 28px;

  background: #ffffff;
  border: 1px solid #dde3e8;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(20, 38, 55, 0.07);
}

.cai-event-filters__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 23px;
}

.cai-event-filters__kicker {
  display: block;
  margin-bottom: 4px;

  color: #0050a4;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.3;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cai-event-filters__head h2 {
  margin: 0;
  padding: 0;

  color: #17212b;
  font-size: 25px;
  line-height: 1.2;
  font-weight: 750;
}

.cai-event-filters__active {
  flex: 0 0 auto;
  padding: 6px 10px;

  background: #edf4fb;
  border-radius: 999px;
  color: #0050a4;

  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}

.cai-event-filters__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.cai-event-filters label {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
}

.cai-event-filters label > span {
  color: #344350;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
}

.cai-event-filters select,
.cai-event-filters input[type="search"] {
  width: 100%;
  height: 48px;
  margin: 0;
  padding: 0 13px;

  background: #ffffff;
  border: 1px solid #cbd4dc;
  border-radius: 8px;
  color: #17212b;

  font-family: inherit;
  font-size: 15px;
  line-height: 1.2;
}

.cai-event-filters select:focus,
.cai-event-filters input[type="search"]:focus {
  border-color: #0050a4;
  outline: 3px solid rgba(0, 80, 164, 0.13);
  outline-offset: 1px;
}

.cai-event-filters__search {
  grid-column: span 2;
}

.cai-event-filters__actions {
  display: flex;
  align-items: center;
  gap: 17px;
  margin-top: 22px;
}

.cai-event-filters__submit {
  min-height: 46px;
  padding: 0 22px;

  background: #0050a4;
  border: 0;
  border-radius: 7px;
  color: #ffffff;

  font-family: inherit;
  font-size: 14px;
  font-weight: 750;
  cursor: pointer;
}

.cai-event-filters__submit:hover {
  background: #003b73;
}

.cai-event-filters__reset {
  color: #394854;
  font-size: 14px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.cai-agenda-results {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;

  margin: 0 0 18px;
  color: #56636e;
}

.cai-agenda-results strong {
  color: #17212b;
  font-size: 15px;
}

.cai-agenda-results span {
  font-size: 13px;
}

.cai-agenda-empty {
  padding: 24px;

  background: #ffffff;
  border: 1px solid #dde3e8;
  border-radius: 12px;
  text-align: center;
}

.cai-agenda-empty p {
  margin: 0 0 12px;
}

.cai-agenda-empty a {
  color: #0050a4;
  font-weight: 700;
}

/* Tablet */
@media only screen and (max-width: 1099px) {
  .cai-event-filters__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cai-event-filters__search {
    grid-column: span 2;
  }
}

/* Smartphone */
@media only screen and (max-width: 767px) {
  .cai-event-filters {
    padding: 21px 18px;
    border-radius: 12px;
  }

  .cai-event-filters__head {
    display: block;
  }

  .cai-event-filters__active {
    display: inline-block;
    margin-top: 12px;
  }

  .cai-event-filters__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 15px;
  }

  .cai-event-filters__search {
    grid-column: auto;
  }

  .cai-event-filters__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .cai-event-filters__submit {
    width: 100%;
  }

  .cai-event-filters__reset {
    align-self: center;
  }

  .cai-agenda-results {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
}

/* =========================================================
   CAI CUNEO — STATO FILTRI DEL CALENDARIO
========================================================= */

.cai-month-calendar__filter-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;

  margin: 0 0 18px;
  padding: 12px 15px;

  background: #edf4fb;
  border-left: 4px solid #0050a4;
  border-radius: 6px;

  color: #344350;
  font-size: 13px;
  line-height: 1.4;
}

.cai-month-calendar__filter-status span {
  font-weight: 650;
}

.cai-month-calendar__filter-status a {
  flex: 0 0 auto;

  color: #0050a4;
  font-weight: 750;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cai-month-calendar__filter-status a:hover {
  color: #003b73;
}

@media only screen and (max-width: 767px) {
  .cai-month-calendar__filter-status {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }
}

/* =========================================================
   CAI CUNEO — CARICAMENTO AJAX FILTRI
========================================================= */

.cai-event-filters,
.cai-events-results-shell,
.cai-events-calendar-shell {
  transition: opacity 0.2s ease;
}

.cai-event-filters.is-loading,
.cai-events-results-shell.is-loading,
.cai-events-calendar-shell.is-loading {
  opacity: 0.45;
  pointer-events: none;
}

.cai-event-filters__submit {
  position: relative;
}

.cai-event-filters.is-loading .cai-event-filters__submit {
  padding-right: 48px;
}

.cai-event-filters.is-loading .cai-event-filters__submit::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;

  width: 15px;
  height: 15px;
  margin-top: -8px;

  border: 2px solid rgba(255, 255, 255, 0.45);
  border-top-color: #ffffff;
  border-radius: 50%;

  animation: cai-filter-spinner 0.7s linear infinite;
}

@keyframes cai-filter-spinner {
  to {
    transform: rotate(360deg);
  }
}

/* =========================================================
   CAI CUNEO — PANNELLO FILTRI MOBILE
========================================================= */

/* Desktop: pulsante nascosto e filtri sempre visibili */
.cai-event-filters__toggle {
  display: none;
}

.cai-event-filters__body {
  display: block;
}

/* =========================================================
   SMARTPHONE
========================================================= */

@media only screen and (max-width: 767px) {

  .cai-event-filters__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    margin-bottom: 0;
  }

  /* Il conteggio desktop viene sostituito da quello nel pulsante */
  .cai-event-filters__active {
    display: none;
  }

  /*
   * Reset degli stili di Enfold sul pulsante.
   */
  .cai-event-filters__toggle {
    appearance: none;
    -webkit-appearance: none;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;

    float: none;
    width: 100%;
    min-width: 0;
    min-height: 48px;
    margin: 0;
    padding: 11px 14px;

    background: #edf4fb;
    border: 1px solid #c7d8ea;
    border-radius: 8px;
    box-shadow: none;

    color: #0050a4;
    font-family: inherit;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.25;
    letter-spacing: 0;
    text-align: left;
    text-decoration: none;
    text-transform: none;

    cursor: pointer;
  }

  .cai-event-filters__toggle:hover {
    background: #e1edf8;
    border-color: #0050a4;
    color: #003b73;
  }

  .cai-event-filters__toggle:focus {
    outline: none;
  }

  .cai-event-filters__toggle:focus-visible {
    background: #e1edf8;
    border-color: #0050a4;
    outline: 3px solid rgba(0, 80, 164, 0.15);
    outline-offset: 2px;
  }

  .cai-event-filters__toggle-label {
    flex: 1 1 auto;
    min-width: 0;
  }

  .cai-event-filters__toggle-count {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;

    min-width: 24px;
    height: 24px;
    margin: 0;
    padding: 0 7px;

    background: #0050a4;
    border-radius: 999px;
    color: #ffffff;

    font-size: 12px;
    font-weight: 750;
    line-height: 1;
  }

  .cai-event-filters__toggle-icon {
    display: inline-block;
    flex: 0 0 auto;

    margin: 0;
    font-size: 19px;
    line-height: 1;

    transform: rotate(0deg);
    transition: transform 0.2s ease;
  }

  .cai-event-filters__toggle[aria-expanded="true"]
  .cai-event-filters__toggle-icon {
    transform: rotate(180deg);
  }

  /*
   * Pannello aperto.
   */
  .cai-event-filters__body {
    display: block;
    padding-top: 20px;
  }

  /*
   * Pannello chiuso.
   * Questa regola deve stare dopo quella precedente.
   */
  .cai-event-filters__body.is-collapsed {
    display: none;
  }
}

/* Sicurezza nel passaggio da smartphone a desktop */
@media only screen and (min-width: 768px) {

  .cai-event-filters__body,
  .cai-event-filters__body.is-collapsed {
    display: block !important;
    padding-top: 0;
  }
}

/* =========================================================
   CAI CUNEO — APPUNTAMENTI NELLE SOTTOSEZIONI
========================================================= */

.cai-subsection-events {
  padding: 72px 0;
  background: #f3f5f7;
}

.cai-subsection-events__inner {
  width: min(1310px, calc(100% - 48px));
  margin: 0 auto;
}

.cai-subsection-events__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 28px;
}

.cai-subsection-events__kicker {
  display: block;
  margin-bottom: 6px;

  color: #0050a4;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.3;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cai-subsection-events__head h2 {
  margin: 0;
  padding: 0;

  color: #17212b;
  font-size: 34px;
  line-height: 1.15;
  font-weight: 750;
}

.cai-subsection-events__all {
  flex: 0 0 auto;

  color: #0050a4;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.3;
  text-decoration: none;
  border-bottom: 2px solid #0050a4;
}

.cai-subsection-events__all:hover {
  color: #003b73;
  border-bottom-color: #003b73;
}

@media only screen and (max-width: 767px) {
  .cai-subsection-events {
    padding: 48px 0;
  }

  .cai-subsection-events__inner {
    width: min(100% - 32px, 1310px);
  }

  .cai-subsection-events__head {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 22px;
  }

  .cai-subsection-events__head h2 {
    font-size: 28px;
  }
}

/* =========================================================
   CAI CUNEO — NEWS NELLE SOTTOSEZIONI
========================================================= */

.cai-subsection-news {
  padding: 72px 0;
  background: #ffffff;
}

.cai-subsection-news__inner {
  width: min(1310px, calc(100% - 48px));
  margin: 0 auto;
}

.cai-subsection-news__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 28px;
}

.cai-subsection-news__kicker {
  display: block;
  margin-bottom: 6px;

  color: #0050a4;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.3;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cai-subsection-news__head h2 {
  margin: 0;
  padding: 0;

  color: #17212b;
  font-size: 34px;
  line-height: 1.15;
  font-weight: 750;
}

.cai-subsection-news__all {
  flex: 0 0 auto;

  color: #0050a4;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.3;
  text-decoration: none;
  border-bottom: 2px solid #0050a4;
}

.cai-subsection-news__all:hover {
  color: #003b73;
  border-bottom-color: #003b73;
}

/* Indicazione del filtro nella pagina generale */
.cai-news-filter-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;

  margin: 0 0 22px;
  padding: 12px 0a4;
}

.cai-subsection-news__all:hover {
  color: #003b73;
  border-bottom-color: #003b73;
}

/* Indicazione del filtro nella pagina generale */
.cai-news-filter-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;

  margin: 0 0 22px;
  padding: 12px 15px;

  background: #edf4fb;
  border-left: 4px solid #0050a4;
  border-radius: 6px;

  color: #344350;
  font-size: 13px;
}

.cai-news-filter-status span {
  font-weight: 700;
}

.cai-news-filter-status a {
  flex: 0 0 auto;
  color: #0050a4;
  font-weight: 750;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media only screen and (max-width: 767px) {
  .cai-subsection-news {
    padding: 48px 0;
  }

  .cai-subsection-news__inner {
    width: min(100% - 32px, 1310px);
  }

  .cai-subsection-news__head {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 22px;
  }

  .cai-subsection-news__head h2 {
    font-size: 28px;
  }

  .cai-news-filter-status {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }
}

/* =========================================================
   LINK "VEDI TUTTE LE NEWS"
   Normale: bianco / blu
   Hover e click: blu / bianco
========================================================= */

body .cai-scuola-detail-news-link,
body .cai-scuola-detail-news-link:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 10px 16px;

  background: #ffffff !important;
  color: #004b87 !important;

  border: 2px solid #004b87 !important;
  border-radius: 6px;

  font-weight: 700;
  line-height: 1.2;
  text-decoration: none !important;

  transition:
    background-color 0.2s ease,
    color 0.2s ease;
}

/* Mouse sopra */
body .cai-scuola-detail-news-link:hover,
body .cai-scuola-detail-news-link:visited:hover,

/* Focus da tastiera */
body .cai-scuola-detail-news-link:focus,
body .cai-scuola-detail-news-link:focus-visible,

/* Pulsante premuto */
body .cai-scuola-detail-news-link:active {
  background: #004b87 !important;
  color: #ffffff !important;
  border-color: #004b87 !important;
  text-decoration: none !important;
}

body .cai-scuola-detail-news-link:focus-visible {
  outline: 3px solid rgba(0, 75, 135, 0.25);
  outline-offset: 3px;
}

/* =========================================================
   CAI - LINK VEDI TUTTE LE NEWS
   Override forte per Enfold
========================================================= */

/* STATO NORMALE */
html body#top .main_color
.cai-scuola-detail-news-head
a.cai-scuola-detail-news-link,
html body#top .main_color
.cai-scuola-detail-news-head
a.cai-scuola-detail-news-link:link,
html body#top .main_color
.cai-scuola-detail-news-head
a.cai-scuola-detail-news-link:visited {

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 10px 16px !important;

  background-color: #ffffff !important;
  background-image: none !important;

  color: #004b87 !important;
  -webkit-text-fill-color: #004b87 !important;

  border: 2px solid #004b87 !important;
  border-radius: 6px !important;

  box-shadow: none !important;
  text-decoration: none !important;

  font-weight: 700 !important;
}


/* HOVER + FOCUS + CLICK */
html body#top .main_color
.cai-scuola-detail-news-head
a.cai-scuola-detail-news-link:hover,

html body#top .main_color
.cai-scuola-detail-news-head
a.cai-scuola-detail-news-link:focus,

html body#top .main_color
.cai-scuola-detail-news-head
a.cai-scuola-detail-news-link:active,

html body#top .main_color
.cai-scuola-detail-news-head
a.cai-scuola-detail-news-link:visited:hover {

  background-color: #004b87 !important;
  background-image: none !important;

  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;

  border-color: #004b87 !important;

  box-shadow: none !important;
  text-decoration: none !important;
}

/* =========================================================
   CTA FINALE GRUPPI / SCUOLE — FULL WIDTH
========================================================= */

html,
body {
  overflow-x: clip;
}

body .cai-scuola-detail-page .cai-scuola-detail-cta {
  width: auto !important;
  max-width: none !important;

  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  box-sizing: border-box;
}

#appuntamenti,
#news-e-avvisi {
  scroll-margin-top: 120px;
}

/* =========================================================
   SCUOLE - BLOCCO UNICO NEWS + APPUNTAMENTI
   Mantiene separate le grafiche originali delle due tipologie
========================================================= */

#top .cai-scuola-detail-feed-head {
  margin-bottom: 34px;
}

#top .cai-scuola-detail-feed-row {
  width: 100%;
}

#top .cai-scuola-detail-feed-row + .cai-scuola-detail-feed-row {
  margin-top: 44px;
  padding-top: 38px;
  border-top: 1px solid rgba(0, 59, 115, 0.14);
}

#top .cai-scuola-detail-feed-row-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 22px;
}

#top .cai-scuola-detail-feed-row-head h3 {
  margin: 0;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 22px;
  line-height: 1.1;
  font-weight: 700;
  color: var(--cai-blue);
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

/* Non tocchiamo le card:
   - appuntamenti = .cai-agenda-event-card
   - news = .cai-scuola-detail-news-card / griglia esistente
*/

@media only screen and (max-width: 767px) {
  #top .cai-scuola-detail-feed-row + .cai-scuola-detail-feed-row {
    margin-top: 34px;
    padding-top: 30px;
  }

  #top .cai-scuola-detail-feed-row-head {
    display: block;
    margin-bottom: 18px;
  }

  #top .cai-scuola-detail-feed-row-head h3 {
    font-size: 19px;
  }

  #top .cai-scuola-detail-feed-row-head .cai-scuola-detail-news-link {
    margin-top: 14px;
  }
}

/* =========================================================
   SPELEOLOGIA - LOGO INTRO COME GRUPPO GIOVANI
========================================================= */

#top .cai-speleo-intro-heading {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 34px;
  align-items: center;
  margin-bottom: 28px;
}

#top .cai-speleo-logo {
  width: 150px;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#top .cai-speleo-logo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 150px !important;
  max-height: 150px !important;
  object-fit: contain !important;
  margin: 0 !important;
}

@media only screen and (max-width: 989px) {
  #top .cai-speleo-intro-heading {
    grid-template-columns: 125px minmax(0, 1fr);
    gap: 26px;
  }

  #top .cai-speleo-logo {
    width: 125px;
    height: 125px;
  }

  #top .cai-speleo-logo img {
    max-width: 125px !important;
    max-height: 125px !important;
  }
}

@media only screen and (max-width: 767px) {
  #top .cai-speleo-intro-heading {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  #top .cai-speleo-logo {
    width: 110px;
    height: 110px;
  }

  #top .cai-speleo-logo img {
    max-width: 110px !important;
    max-height: 110px !important;
  }
}

/* =========================================================
   SOCCORSO ALPINO - CORREZIONI FINALI
========================================================= */

/* Box "Mantieni la calma e sii preciso" */
#top .cai-scuola-detail-page--soccorso-alpino
.cai-soccorso-emergenza
.cai-scuola-detail-blue-box h3,
#top .cai-scuola-detail-page--soccorso-alpino
.cai-soccorso-emergenza
.cai-scuola-detail-blue-box p,
#top .cai-scuola-detail-page--soccorso-alpino
.cai-soccorso-emergenza
.cai-scuola-detail-blue-box ul,
#top .cai-scuola-detail-page--soccorso-alpino
.cai-soccorso-emergenza
.cai-scuola-detail-blue-box li,
#top .cai-scuola-detail-page--soccorso-alpino
.cai-soccorso-emergenza
.cai-scuola-detail-blue-box li strong {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Il piccolo kicker rimane oro */
#top .cai-scuola-detail-page--soccorso-alpino
.cai-soccorso-emergenza
.cai-scuola-detail-blue-box > span {
  color: var(--cai-gold) !important;
  -webkit-text-fill-color: var(--cai-gold) !important;
}


/* Pulsanti principali */
#top .cai-scuola-detail-page--soccorso-alpino
.cai-scuola-detail-btn-primary,
#top .cai-scuola-detail-page--soccorso-alpino
.cai-scuola-detail-btn-primary:link,
#top .cai-scuola-detail-page--soccorso-alpino
.cai-scuola-detail-btn-primary:visited {
  background: var(--cai-blue) !important;
  border: 2px solid var(--cai-blue) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

#top .cai-scuola-detail-page--soccorso-alpino
.cai-scuola-detail-btn-primary:hover,
#top .cai-scuola-detail-page--soccorso-alpino
.cai-scuola-detail-btn-primary:focus {
  background: var(--cai-blue-light) !important;
  border-color: var(--cai-blue-light) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  transform: translateY(-2px);
}


/* Pulsanti secondari */
#top .cai-scuola-detail-page--soccorso-alpino
.cai-scuola-detail-btn-outline,
#top .cai-scuola-detail-page--soccorso-alpino
.cai-scuola-detail-btn-outline:link,
#top .cai-scuola-detail-page--soccorso-alpino
.cai-scuola-detail-btn-outline:visited {
  background: transparent !important;
  border: 2px solid var(--cai-blue) !important;
  color: var(--cai-blue) !important;
  -webkit-text-fill-color: var(--cai-blue) !important;
}

#top .cai-scuola-detail-page--soccorso-alpino
.cai-scuola-detail-btn-outline:hover,
#top .cai-scuola-detail-page--soccorso-alpino
.cai-scuola-detail-btn-outline:focus {
  background: var(--cai-blue) !important;
  border-color: var(--cai-blue) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  transform: translateY(-2px);
}

/* =========================================================
   SOCCORSO ALPINO - LARGHEZZA INTRO
   Allineata alle altre pagine dei gruppi
========================================================= */

#top .cai-scuola-detail-page--soccorso-alpino
.cai-scuola-detail-intro {
  width: 100% !important;
  max-width: 1320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 56px !important;
  padding-right: 56px !important;
  box-sizing: border-box !important;
}

@media only screen and (max-width: 1180px) {

  #top .cai-scuola-detail-page--soccorso-alpino
  .cai-scuola-detail-intro {
    padding-left: 34px !important;
    padding-right: 34px !important;
  }

}

@media only screen and (max-width: 767px) {

  #top .cai-scuola-detail-page--soccorso-alpino
  .cai-scuola-detail-intro {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

}

/* =========================================================
   CTA - HOME + PAGINA I GRUPPI
========================================================= */


/* =========================================================
   PAGINA I GRUPPI
========================================================= */

#top .cai-gruppi-cta {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;

  padding-left: max(56px, calc((100vw - 1320px) / 2 + 56px)) !important;
  padding-right: max(56px, calc((100vw - 1320px) / 2 + 56px)) !important;

  box-sizing: border-box !important;
}

#top .cai-gruppi-cta h2 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

#top .cai-gruppi-cta p {
  color: rgba(255,255,255,0.82) !important;
  -webkit-text-fill-color: rgba(255,255,255,0.82) !important;
}


/* =========================================================
   HOME - CTA FINALE
========================================================= */

#top.home .cai-home-join {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

#top.home .cai-home-join .container,
#top.home .cai-home-join .template-page,
#top.home .cai-home-join .post-entry,
#top.home .cai-home-join .entry-content-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

#top.home .cai-join-text h2 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

#top.home .cai-join-text p {
  color: rgba(255,255,255,0.82) !important;
  -webkit-text-fill-color: rgba(255,255,255,0.82) !important;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media only screen and (max-width: 1180px) {

  #top .cai-gruppi-cta {
    padding-left: 34px !important;
    padding-right: 34px !important;
  }

}

@media only screen and (max-width: 767px) {

  #top .cai-gruppi-cta {
    width: 100% !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

}

/* =========================================================
   SCHEDA STRUTTURA — INFORMAZIONI IMPORTANTI
========================================================= */

.cai-single-important-note {
    position: relative;
    margin: 32px 0 46px;
    padding: 22px 28px 22px 34px;
    background: #f7f9fb;
    border: 1px solid rgba(0, 63, 120, 0.12);
    border-left: 5px solid #d79b00;
    border-radius: 3px;
}

.cai-single-important-note__title {
    margin: 0 0 8px;
    color: #003f78;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.cai-single-important-note p {
    margin: 0;
    color: #294763;
    font-size: 17px;
    line-height: 1.65;
    font-weight: 400;
}

@media (max-width: 767px) {
    .cai-single-important-note {
        margin: 24px 0 34px;
        padding: 18px 20px 18px 24px;
    }

    .cai-single-important-note p {
        font-size: 16px;
    }
}
/* =========================================================
   CORALE LA BAITA — PULSANTI COME LE ALTRE PAGINE GRUPPO
========================================================= */

#top .cai-scuola-detail-page--corale .cai-scuola-detail-btn {
    transition: all 0.25s ease !important;
}


/* PULSANTE PRIMARIO */

#top .cai-scuola-detail-page--corale .cai-scuola-detail-btn-primary,
#top .cai-scuola-detail-page--corale .cai-scuola-detail-btn-primary:link,
#top .cai-scuola-detail-page--corale .cai-scuola-detail-btn-primary:visited {
    background: var(--cai-blue) !important;
    border: 2px solid var(--cai-blue) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

#top .cai-scuola-detail-page--corale .cai-scuola-detail-btn-primary:hover,
#top .cai-scuola-detail-page--corale .cai-scuola-detail-btn-primary:focus {
    background: var(--cai-blue-light) !important;
    border-color: var(--cai-blue-light) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    transform: translateY(-2px);
}


/* PULSANTI SECONDARI */

#top .cai-scuola-detail-page--corale .cai-scuola-detail-btn-outline,
#top .cai-scuola-detail-page--corale .cai-scuola-detail-btn-outline:link,
#top .cai-scuola-detail-page--corale .cai-scuola-detail-btn-outline:visited {
    background: transparent !important;
    border: 2px solid var(--cai-blue) !important;
    color: var(--cai-blue) !important;
    -webkit-text-fill-color: var(--cai-blue) !important;
}

#top .cai-scuola-detail-page--corale .cai-scuola-detail-btn-outline:hover,
#top .cai-scuola-detail-page--corale .cai-scuola-detail-btn-outline:focus {
    background: var(--cai-blue) !important;
    border-color: var(--cai-blue) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    transform: translateY(-2px);
}

/* =========================================================
   PAGINA CONTATTI — INTEGRAZIONE DESIGN SYSTEM
========================================================= */


/* H1 INTRO */

#top .cai-scuola-detail-page--contatti
.cai-scuola-detail-intro__text h1 {
    margin: 8px 0 24px;
    color: var(--cai-blue);
    font-size: clamp(48px, 5vw, 72px);
    line-height: 1;
    font-weight: 700;
    letter-spacing: -0.025em;
}


/* LINK NELLE CARD */

#top .cai-scuola-detail-page--contatti
.cai-scuola-detail-course-card h3 a {
    color: inherit;
    text-decoration: none;
}

#top .cai-scuola-detail-page--contatti
.cai-scuola-detail-course-card h3 a:hover {
    color: var(--cai-blue-light);
}


/* ORARI */

#top .cai-contatti-new-hours {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 26px 0 24px;
    padding: 22px 24px;
    border-left: 4px solid var(--cai-gold);
    background: rgba(0, 63, 120, 0.04);
}

#top .cai-contatti-new-hours span {
    color: var(--cai-blue);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

#top .cai-contatti-new-hours strong {
    color: var(--cai-blue);
    font-size: 26px;
    line-height: 1.2;
}


/* LINK GOOGLE MAPS NEL BOX BLU */

#top .cai-contatti-new-map-link,
#top .cai-contatti-new-map-link:link,
#top .cai-contatti-new-map-link:visited {
    display: inline-flex;
    margin-top: 16px;
    color: #ffffff !important;
    text-decoration: none;
    font-weight: 700;
}

#top .cai-contatti-new-map-link:hover,
#top .cai-contatti-new-map-link:focus {
    color: var(--cai-gold) !important;
}


/* FORM */

#top .cai-contatti-new-form-card {
    padding: 32px;
    background: #ffffff;
    border: 1px solid rgba(0, 63, 120, 0.12);
    box-shadow: 0 12px 34px rgba(0, 45, 85, 0.08);
}

#top .cai-contatti-new-form-card .wpcf7 {
    margin: 0;
}

#top .cai-contatti-new-form-card input:not([type="submit"]),
#top .cai-contatti-new-form-card textarea,
#top .cai-contatti-new-form-card select {
    width: 100%;
    box-sizing: border-box;
}


/* ICONE DELLE TRE CARD */

#top .cai-scuola-detail-page--contatti
.cai-scuola-detail-course-icon svg {
    fill: none;
    stroke: var(--cai-blue);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* RESPONSIVE */

@media only screen and (max-width: 767px) {

    #top .cai-scuola-detail-page--contatti
    .cai-scuola-detail-intro__text h1 {
        font-size: 46px;
    }

    #top .cai-contatti-new-form-card {
        padding: 22px;
    }

}
/* =========================================================
   CONTATTI — CARD SOTTOSEZIONI
========================================================= */

#top .cai-contatti-subsections-grid-new {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    margin-top: 42px;
}

#top .cai-contatti-subsection-card {
    position: relative;
    min-width: 0;
    padding: 34px 36px;
    background: #ffffff;
    border: 1px solid rgba(0, 63, 120, 0.13);
    box-shadow: 0 10px 30px rgba(0, 45, 85, 0.06);
    box-sizing: border-box;
}

#top .cai-contatti-subsection-card::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 36px;
    width: 88px;
    height: 4px;
    background: var(--cai-gold);
}

#top .cai-contatti-subsection-card h3 {
    margin: 10px 0 14px;
    color: var(--cai-blue);
    font-size: 28px;
    line-height: 1.15;
    font-weight: 700;
}

#top .cai-contatti-subsection-address {
    min-height: 52px;
    margin: 0 0 26px;
    color: #314b63;
    font-size: 17px;
    line-height: 1.5;
}

#top .cai-contatti-subsection-info {
    border-top: 1px solid rgba(0, 63, 120, 0.13);
}

#top .cai-contatti-subsection-info > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 15px 0;
    border-bottom: 1px solid rgba(0, 63, 120, 0.13);
}

#top .cai-contatti-subsection-info span {
    color: #52687c;
    font-size: 15px;
}

#top .cai-contatti-subsection-info strong {
    color: var(--cai-blue);
    font-size: 16px;
    text-align: right;
}

#top .cai-contatti-subsection-note {
    margin: 22px 0 0;
    color: #52687c;
    font-size: 15px;
    line-height: 1.5;
}


/* TABLET */

@media only screen and (max-width: 989px) {

    #top .cai-contatti-subsections-grid-new {
        grid-template-columns: 1fr;
    }

    #top .cai-contatti-subsection-address {
        min-height: 0;
    }

}


/* MOBILE */

@media only screen and (max-width: 767px) {

    #top .cai-contatti-subsection-card {
        padding: 28px 24px;
    }

    #top .cai-contatti-subsection-card::before {
        left: 24px;
    }

    #top .cai-contatti-subsection-info > div {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    #top .cai-contatti-subsection-info strong {
        text-align: left;
    }

}
/* =========================================================
   PAGINA CONTATTI — PULSANTI
========================================================= */


/* =========================================================
   CTA FINALE
========================================================= */

#top .cai-scuola-detail-page--contatti
.cai-scuola-detail-cta
.cai-scuola-detail-btn {
    min-width: 180px !important;
    min-height: 52px !important;
    padding: 0 24px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    font-family: 'ibm-plex-sans', Arial, sans-serif !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;

    text-decoration: none !important;
    transition:
        background-color 0.22s ease,
        border-color 0.22s ease,
        color 0.22s ease,
        transform 0.22s ease !important;
}


/* PRIMARIO — SOCI E TESSERAMENTO */

#top .cai-scuola-detail-page--contatti
.cai-scuola-detail-cta
.cai-scuola-detail-btn-primary,
#top .cai-scuola-detail-page--contatti
.cai-scuola-detail-cta
.cai-scuola-detail-btn-primary:link,
#top .cai-scuola-detail-page--contatti
.cai-scuola-detail-cta
.cai-scuola-detail-btn-primary:visited {
    background: var(--cai-gold) !important;
    border: 2px solid var(--cai-gold) !important;

    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

#top .cai-scuola-detail-page--contatti
.cai-scuola-detail-cta
.cai-scuola-detail-btn-primary:hover,
#top .cai-scuola-detail-page--contatti
.cai-scuola-detail-cta
.cai-scuola-detail-btn-primary:focus {
    background: #ffffff !important;
    border-color: #ffffff !important;

    color: var(--cai-blue) !important;
    -webkit-text-fill-color: var(--cai-blue) !important;

    transform: translateY(-2px);
}


/* SECONDARIO — SCOPRI LA SEZIONE */

#top .cai-scuola-detail-page--contatti
.cai-scuola-detail-cta
.cai-scuola-detail-btn-outline,
#top .cai-scuola-detail-page--contatti
.cai-scuola-detail-cta
.cai-scuola-detail-btn-outline:link,
#top .cai-scuola-detail-page--contatti
.cai-scuola-detail-cta
.cai-scuola-detail-btn-outline:visited {
    background: #ffffff !important;
    border: 2px solid #ffffff !important;

    color: var(--cai-blue) !important;
    -webkit-text-fill-color: var(--cai-blue) !important;
}

#top .cai-scuola-detail-page--contatti
.cai-scuola-detail-cta
.cai-scuola-detail-btn-outline:hover,
#top .cai-scuola-detail-page--contatti
.cai-scuola-detail-cta
.cai-scuola-detail-btn-outline:focus {
    background: var(--cai-gold) !important;
    border-color: var(--cai-gold) !important;

    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    transform: translateY(-2px);
}


/* =========================================================
   CONTACT FORM 7 — PULSANTE INVIO
========================================================= */

#top .cai-scuola-detail-page--contatti
.cai-contatti-new-form-card
input[type="submit"],
#top .cai-scuola-detail-page--contatti
.cai-contatti-new-form-card
.wpcf7-submit {
    min-height: 52px !important;
    padding: 0 30px !important;

    background: var(--cai-blue) !important;
    border: 2px solid var(--cai-blue) !important;
    border-radius: 0 !important;

    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    font-family: 'ibm-plex-sans', Arial, sans-serif !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;

    cursor: pointer !important;

    transition:
        background-color 0.22s ease,
        border-color 0.22s ease,
        transform 0.22s ease !important;
}

#top .cai-scuola-detail-page--contatti
.cai-contatti-new-form-card
input[type="submit"]:hover,
#top .cai-scuola-detail-page--contatti
.cai-contatti-new-form-card
input[type="submit"]:focus,
#top .cai-scuola-detail-page--contatti
.cai-contatti-new-form-card
.wpcf7-submit:hover,
#top .cai-scuola-detail-page--contatti
.cai-contatti-new-form-card
.wpcf7-submit:focus {
    background: var(--cai-blue-light) !important;
    border-color: var(--cai-blue-light) !important;

    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    transform: translateY(-2px);
}


/* =========================================================
   MOBILE
========================================================= */

@media only screen and (max-width: 767px) {

    #top .cai-scuola-detail-page--contatti
    .cai-scuola-detail-cta
    .cai-scuola-detail-btn {
        width: 100% !important;
        min-width: 0 !important;
    }

    #top .cai-scuola-detail-page--contatti
    .cai-contatti-new-form-card
    input[type="submit"],
    #top .cai-scuola-detail-page--contatti
    .cai-contatti-new-form-card
    .wpcf7-submit {
        width: 100% !important;
    }

}

/* =========================================================
   FOOTER - RIGA FINALE COPYRIGHT / PRIVACY
========================================================= */

.cai-footer-bottom {
  position: relative;
  z-index: 2;

  max-width: 1320px;
  margin: 0 auto;
  padding: 14px 56px 16px;

  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 18px;

  border-top: 1px solid rgba(255, 255, 255, 0.14);

  font-family: 'source-sans-3', Arial, sans-serif;
  font-size: 13px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.68);
  box-sizing: border-box;
}

.cai-footer-copyright {
  display: inline-block;
  margin: 0;
  padding: 0;
  white-space: nowrap;
}

.cai-footer-legal {
  display: flex;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
}

.cai-footer-legal a {
  display: inline-block;
  margin: 0;
  padding: 0;

  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.68) !important;
  text-decoration: none !important;
}

.cai-footer-legal a::before {
  content: "·";
  display: inline-block;
  margin: 0 10px;
  color: rgba(255, 255, 255, 0.38);
}

.cai-footer-legal a:hover {
  color: #ffffff !important;
}


/* Mobile */
@media only screen and (max-width: 767px) {

  .cai-footer-bottom {
    padding: 14px 24px 16px;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 12px;
  }

  .cai-footer-legal a {
    font-size: 12px;
  }

  .cai-footer-legal a::before {
    margin: 0 7px;
  }
}


/* =========================================================
   MONTAGNATERAPIA - INTRO
========================================================= */

#top .cai-scuola-detail-page--montagnaterapia
.cai-scuola-detail-intro {
  grid-template-columns: minmax(0, 1fr) minmax(390px, 460px) !important;
  gap: 56px !important;
}

#top .cai-montagnaterapia-intro-heading {
  display: grid !important;
  grid-template-columns: 125px minmax(0, 1fr) !important;
  gap: 28px !important;
  align-items: center !important;
  margin-bottom: 30px !important;
}

#top .cai-montagnaterapia-logo {
  width: 125px !important;
  height: 125px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#top .cai-montagnaterapia-logo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 125px !important;
  max-height: 125px !important;
  object-fit: contain !important;
  margin: 0 !important;
}

#top .cai-scuola-detail-page--montagnaterapia
.cai-montagnaterapia-intro-heading h2 {
  max-width: 680px !important;
  margin: 0 !important;
  font-size: clamp(44px, 3.6vw, 54px) !important;
  line-height: 1.02 !important;
}

/* Tablet */
@media only screen and (max-width: 1180px) {

  #top .cai-scuola-detail-page--montagnaterapia
  .cai-scuola-detail-intro {
    grid-template-columns: 1fr !important;
    gap: 38px !important;
  }

}

/* Mobile */
@media only screen and (max-width: 767px) {

  #top .cai-montagnaterapia-intro-heading {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  #top .cai-montagnaterapia-logo {
    width: 105px !important;
    height: 105px !important;
  }

  #top .cai-montagnaterapia-logo img {
    max-width: 105px !important;
    max-height: 105px !important;
  }

  #top .cai-scuola-detail-page--montagnaterapia
  .cai-montagnaterapia-intro-heading h2 {
    font-size: 34px !important;
  }
}
/* =========================================================
   MONTAGNATERAPIA - PROGETTI DINAMICI
========================================================= */

/* Griglia progetti nella pagina principale */
#top .cai-mt-projects-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

#top .cai-mt-project-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
  box-shadow: 0 16px 40px rgba(0,0,0,0.075);
  overflow: hidden;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

#top .cai-mt-project-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 52px rgba(0,0,0,0.12);
}

#top .cai-mt-project-card__media {
  display: block;
  position: relative;
  height: 185px;
  overflow: hidden;
  background: #eef3f6;
}

#top .cai-mt-project-card__image {
  display: block;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  transition: transform 0.35s ease;
}

#top .cai-mt-project-card:hover .cai-mt-project-card__image {
  transform: scale(1.035);
}

#top .cai-mt-project-card__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background:
    linear-gradient(
      135deg,
      rgba(0,59,115,0.96),
      rgba(0,80,164,0.82)
    );
  color: rgba(255,255,255,0.9);
}

#top .cai-mt-project-card__placeholder span {
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 36px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.08em;
}

#top .cai-mt-project-card__content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  padding: 26px 26px 28px;
}

#top .cai-mt-project-card__meta,
#top .cai-mt-project-hero__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
}

#top .cai-mt-project-card__meta {
  margin-bottom: 15px;
}

#top .cai-mt-project-status,
#top .cai-mt-project-period {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 4px 9px;
  font-family: 'source-sans-3', Arial, sans-serif;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
}

#top .cai-mt-project-status {
  background: rgba(47,117,103,0.11);
  color: #2f7567;
}

#top .cai-mt-project-status--concluso {
  background: rgba(83,98,114,0.10);
  color: #536272;
}

#top .cai-mt-project-period {
  border: 1px solid rgba(0,59,115,0.12);
  color: var(--cai-blue);
}

#top .cai-mt-project-card h3 {
  margin: 0 0 13px;
  font-family: 'ibm-plex-serif', Georgia, serif;
  font-size: 27px;
  line-height: 1.08;
  font-weight: 700;
  color: var(--cai-blue);
}

#top .cai-mt-project-card h3 a {
  color: var(--cai-blue) !important;
  text-decoration: none !important;
}

#top .cai-mt-project-card p {
  margin: 0 0 20px;
  font-size: 16px;
  line-height: 1.48;
  color: #4b5a67;
}

#top .cai-mt-project-card__link {
  margin-top: auto;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--cai-blue-light) !important;
  text-decoration: none !important;
}

#top .cai-mt-projects-empty {
  margin: 0;
  padding: 22px 24px;
  background: #ffffff;
  border: 1px solid rgba(0,59,115,0.10);
  color: #536272;
}


/* =========================================================
   MONTAGNATERAPIA - SINGOLO PROGETTO
========================================================= */

/* Nasconde intestazioni standard Enfold: titolo e metadati sono
   già generati dal template dinamico del progetto. */
#top.single-mt_progetto .post-title,
#top.single-mt_progetto .entry-title,
#top.single-mt_progetto .post-meta-infos,
#top.single-mt_progetto .blog-meta {
  display: none !important;
}

#top.single-mt_progetto .cai-mt-project-single {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  background: #f8f6f1;
  color: var(--cai-text-dark);
}

#top .cai-mt-project-hero,
#top .cai-mt-project-body,
#top .cai-mt-project-partners,
#top .cai-mt-project-related,
#top .cai-mt-project-final {
  max-width: 1320px;
  margin: 0 auto;
  box-sizing: border-box;
}

#top .cai-mt-project-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, 0.82fr);
  gap: 62px;
  align-items: center;
  padding: 72px 56px 66px;
}

#top .cai-mt-project-back {
  display: inline-flex;
  margin-bottom: 25px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--cai-blue-light) !important;
  text-decoration: none !important;
}

#top .cai-mt-project-hero__meta {
  margin: 16px 0 20px;
}

#top .cai-mt-project-hero h1 {
  margin: 0 0 22px !important;
  font-family: 'ibm-plex-serif', Georgia, serif !important;
  font-size: clamp(46px, 5vw, 68px) !important;
  line-height: 0.98 !important;
  font-weight: 700 !important;
  color: var(--cai-blue) !important;
  text-transform: none !important;
}

#top .cai-mt-project-hero__lead {
  max-width: 720px;
  margin: 0;
  font-size: 20px;
  line-height: 1.55;
  color: #536272;
}

#top .cai-mt-project-hero__media {
  min-height: 360px;
  height: 420px;
  overflow: hidden;
  box-shadow: 0 22px 54px rgba(0,0,0,0.12);
}

#top .cai-mt-project-hero__image {
  display: block;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}

#top .cai-mt-project-body {
  padding: 58px 56px 66px;
  border-top: 1px solid rgba(0,59,115,0.12);
}

#top .cai-mt-project-body__content {
  max-width: 860px;
}

#top .cai-mt-project-body__content > :first-child {
  margin-top: 0;
}

#top .cai-mt-project-body__content p,
#top .cai-mt-project-body__content li {
  font-size: 18px;
  line-height: 1.62;
}

#top .cai-mt-project-body__content h2,
#top .cai-mt-project-body__content h3 {
  font-family: 'ibm-plex-serif', Georgia, serif;
  color: var(--cai-blue);
}

#top .cai-mt-project-partners,
#top .cai-mt-project-related {
  padding: 56px;
  border-top: 1px solid rgba(0,59,115,0.12);
}

#top .cai-mt-project-partners__grid {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 18px;
  margin-top: 25px;
}

#top .cai-mt-project-partner {
  display: flex;
  flex: 0 1 220px;
  min-height: 115px;
  padding: 18px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
  background: #ffffff;
  border: 1px solid rgba(0,59,115,0.10);
  text-align: center;
  text-decoration: none !important;
}

#top .cai-mt-project-partner__logo {
  display: block;
  max-width: 150px;
  max-height: 62px;
  width: auto;
  height: auto;
  object-fit: contain;
}

#top .cai-mt-project-partner span {
  font-size: 13px;
  font-weight: 700;
  color: var(--cai-blue);
}

#top .cai-mt-project-related__head {
  margin-bottom: 28px;
}

#top .cai-mt-project-related__head h2,
#top .cai-mt-project-final h2 {
  margin: 5px 0 0;
  font-family: 'ibm-plex-serif', Georgia, serif;
  font-size: clamp(34px, 3.4vw, 48px);
  line-height: 1.05;
  color: var(--cai-blue);
}

#top .cai-mt-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

#top .cai-mt-related-card {
  background: #ffffff;
  border: 1px solid rgba(0,59,115,0.10);
  box-shadow: 0 14px 34px rgba(0,0,0,0.06);
  overflow: hidden;
}

#top .cai-mt-related-card__media {
  display: block;
  height: 165px;
  overflow: hidden;
}

#top .cai-mt-related-card__image {
  display: block;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}

#top .cai-mt-related-card__content {
  padding: 23px 24px 25px;
}

#top .cai-mt-related-card time {
  display: block;
  margin-bottom: 9px;
  font-size: 12px;
  font-weight: 700;
  color: var(--cai-gold);
}

#top .cai-mt-related-card h3 {
  margin: 0 0 12px;
  font-family: 'ibm-plex-serif', Georgia, serif;
  font-size: 24px;
  line-height: 1.08;
}

#top .cai-mt-related-card h3 a {
  color: var(--cai-blue) !important;
  text-decoration: none !important;
}

#top .cai-mt-related-card p {
  margin: 0 0 16px;
  font-size: 15px;
  line-height: 1.48;
  color: #536272;
}

#top .cai-mt-related-card__link {
  font-size: 13px;
  font-weight: 700;
  color: var(--cai-blue-light) !important;
  text-decoration: none !important;
}

#top .cai-mt-project-final {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 42px 56px 48px;
  border-top: 1px solid rgba(0,59,115,0.12);
}

#top .cai-mt-project-final__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 22px;
  background: var(--cai-blue);
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #ffffff !important;
  text-decoration: none !important;
}

#top .cai-mt-project-final__button:hover {
  background: var(--cai-blue-light);
}

@media only screen and (max-width: 1180px) {

  #top .cai-mt-projects-grid,
  #top .cai-mt-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #top .cai-mt-project-hero {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  #top .cai-mt-project-hero__media {
    height: 360px;
  }
}

@media only screen and (max-width: 767px) {

  #top .cai-mt-projects-grid,
  #top .cai-mt-related-grid {
    grid-template-columns: 1fr;
  }

  #top .cai-mt-project-card__media {
    height: 210px;
  }

  #top .cai-mt-project-hero,
  #top .cai-mt-project-body,
  #top .cai-mt-project-partners,
  #top .cai-mt-project-related,
  #top .cai-mt-project-final {
    padding-left: 24px;
    padding-right: 24px;
  }

  #top .cai-mt-project-hero {
    padding-top: 48px;
    padding-bottom: 46px;
  }

  #top .cai-mt-project-hero h1 {
    font-size: 40px !important;
  }

  #top .cai-mt-project-hero__lead {
    font-size: 18px;
  }

  #top .cai-mt-project-hero__media {
    min-height: 0;
    height: 250px;
  }

  #top .cai-mt-project-body,
  #top .cai-mt-project-partners,
  #top .cai-mt-project-related {
    padding-top: 42px;
    padding-bottom: 46px;
  }

  #top .cai-mt-project-final {
    display: block;
    padding-top: 34px;
    padding-bottom: 38px;
  }

  #top .cai-mt-project-final__button {
    margin-top: 24px;
  }
}
/* =========================================================
   CARD EVENTI — SCUOLE E GRUPPI
   Restyling condiviso
========================================================= */

/* CARD */
#top .cai-scuola-wrap .cai-agenda-event-card,
#top .cai-scuola-detail-page .cai-agenda-event-card {
  display: grid !important;
  grid-template-columns: 94px minmax(0, 1fr) !important;

  min-height: 280px !important;
  padding: 0 !important;

  background: #ffffff !important;

  border: 1px solid rgba(0, 59, 115, 0.12) !important;
  border-top: 1px solid rgba(0, 59, 115, 0.12) !important;
  border-radius: 12px !important;

  box-shadow:
    0 10px 28px rgba(24, 44, 63, 0.07) !important;

  overflow: hidden !important;

  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease !important;
}


/* HOVER */
#top .cai-scuola-wrap .cai-agenda-event-card:hover,
#top .cai-scuola-detail-page .cai-agenda-event-card:hover {
  transform: translateY(-4px);

  border-color: rgba(0, 59, 115, 0.22) !important;

  box-shadow:
    0 18px 40px rgba(24, 44, 63, 0.12) !important;
}


/* =========================================================
   COLONNA DATA
========================================================= */

#top .cai-scuola-wrap .cai-agenda-event-date,
#top .cai-scuola-detail-page .cai-agenda-event-date {

  width: auto !important;
  height: auto !important;
  min-height: 100% !important;

  align-self: stretch !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;

  padding: 28px 10px !important;

  background: #f4f1eb !important;

  border-right:
    1px solid rgba(0, 59, 115, 0.09) !important;

  box-shadow:
    inset 0 4px 0 var(--cai-ambito-color) !important;

  text-align: center !important;
}


/* NUMERO GIORNO */
#top .cai-scuola-wrap .cai-agenda-event-date strong,
#top .cai-scuola-detail-page .cai-agenda-event-date strong {
  margin: 0 !important;

  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 38px !important;
  line-height: 0.95 !important;
  font-weight: 700 !important;

  color: var(--cai-ambito-dark) !important;
}


/* MESE */
#top .cai-scuola-wrap .cai-agenda-event-date span,
#top .cai-scuola-detail-page .cai-agenda-event-date span {
  margin-top: 8px !important;

  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 700 !important;

  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;

  color: var(--cai-ambito-dark) !important;
}


/* ANNO */
#top .cai-scuola-wrap .cai-agenda-event-date small,
#top .cai-scuola-detail-page .cai-agenda-event-date small {
  margin-top: 6px !important;

  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 600 !important;

  color: #687682 !important;
}


/* =========================================================
   CONTENUTO
========================================================= */

#top .cai-scuola-wrap .cai-agenda-event-content,
#top .cai-scuola-detail-page .cai-agenda-event-content {

  display: flex !important;
  flex-direction: column !important;

  padding: 28px 28px 25px !important;

  min-width: 0 !important;
}


/* AMBITO */
#top .cai-scuola-wrap .cai-agenda-event-ambito,
#top .cai-scuola-detail-page .cai-agenda-event-ambito {

  margin-bottom: 5px !important;

  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;

  color: #394e61 !important;
}


/* CATEGORIA */
#top .cai-scuola-wrap .cai-agenda-event-cat,
#top .cai-scuola-detail-page .cai-agenda-event-cat {

  margin-bottom: 8px !important;

  font-size: 11px !important;
  font-weight: 700 !important;

  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;

  color: var(--cai-ambito-dark) !important;
}


/* TITOLO */
#top .cai-scuola-wrap .cai-agenda-event-content h3,
#top .cai-scuola-detail-page .cai-agenda-event-content h3 {

  margin: 0 0 13px !important;

  font-family: 'ibm-plex-sans', Arial, sans-serif !important;

  font-size: 24px !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;

  color: var(--cai-blue) !important;
}


/* DESCRIZIONE */
#top .cai-scuola-wrap
.cai-agenda-event-content > p:not(.cai-agenda-event-range),

#top .cai-scuola-detail-page
.cai-agenda-event-content > p:not(.cai-agenda-event-range) {

  margin: 0 0 14px !important;

  font-size: 15.5px !important;
  line-height: 1.48 !important;

  color: #485d6e !important;
}


/* BADGE RUOLO */
#top .cai-scuola-wrap .cai-agenda-event-role,
#top .cai-scuola-detail-page .cai-agenda-event-role {

  padding: 4px 9px !important;

  background: #ffffff !important;

  font-size: 10px !important;
  letter-spacing: 0.055em !important;
}


/* LINK */
#top .cai-scuola-wrap .cai-agenda-event-more,
#top .cai-scuola-detail-page .cai-agenda-event-more {

  width: fit-content !important;

  margin-top: 14px !important;
  padding-top: 0 !important;
  padding-bottom: 3px !important;

  font-size: 14px !important;
  font-weight: 700 !important;

  color: var(--cai-ambito-dark) !important;

  border-bottom:
    2px solid var(--cai-ambito-color) !important;
}


/* =========================================================
   MOBILE
========================================================= */

@media only screen and (max-width: 767px) {

  #top .cai-scuola-wrap .cai-agenda-event-card,
  #top .cai-scuola-detail-page .cai-agenda-event-card {

    grid-template-columns: 78px minmax(0, 1fr) !important;

    min-height: 230px !important;
  }

  #top .cai-scuola-wrap .cai-agenda-event-date,
  #top .cai-scuola-detail-page .cai-agenda-event-date {

    padding: 24px 7px !important;
  }

  #top .cai-scuola-wrap .cai-agenda-event-date strong,
  #top .cai-scuola-detail-page .cai-agenda-event-date strong {

    font-size: 31px !important;
  }

  #top .cai-scuola-wrap .cai-agenda-event-content,
  #top .cai-scuola-detail-page .cai-agenda-event-content {

    padding: 22px 19px 20px !important;
  }

  #top .cai-scuola-wrap .cai-agenda-event-content h3,
  #top .cai-scuola-detail-page .cai-agenda-event-content h3 {

    font-size: 20px !important;
  }
}

/* =========================================================
   NEWS E CALENDARIO — CARD APPUNTAMENTI
   Restyling editoriale, più ampio e coerente con il sito
========================================================= */

#top .cai-news-calendar-page--clean .cai-agenda-events-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 26px !important;
  align-items: stretch !important;
}

#top .cai-news-calendar-page--clean .cai-agenda-event-card {
  display: grid !important;
  grid-template-columns: 106px minmax(0, 1fr) !important;
  min-height: 270px !important;
  padding: 0 !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 59, 115, 0.12) !important;
  border-top: 4px solid var(--cai-ambito-color) !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 30px rgba(24, 44, 63, 0.075) !important;
  overflow: hidden !important;
}

#top .cai-news-calendar-page--clean .cai-agenda-event-card:only-child {
  width: 100% !important;
  max-width: 820px !important;
  justify-self: center !important;
}

#top .cai-news-calendar-page--clean .cai-agenda-event-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(0, 59, 115, 0.22) !important;
  border-top-color: var(--cai-ambito-color) !important;
  box-shadow: 0 18px 42px rgba(24, 44, 63, 0.13) !important;
}

#top .cai-news-calendar-page--clean .cai-agenda-event-date {
  width: auto !important;
  height: auto !important;
  min-height: 100% !important;
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 30px 10px !important;
  background: #f4f1eb !important;
  border-right: 1px solid rgba(0, 59, 115, 0.09) !important;
  box-shadow: inset 0 4px 0 var(--cai-ambito-color) !important;
  text-align: center !important;
}

#top .cai-news-calendar-page--clean .cai-agenda-event-date strong {
  margin: 0 !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 40px !important;
  line-height: 0.95 !important;
  font-weight: 700 !important;
  color: var(--cai-ambito-dark) !important;
}

#top .cai-news-calendar-page--clean .cai-agenda-event-date span {
  margin-top: 9px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  color: var(--cai-ambito-dark) !important;
}

#top .cai-news-calendar-page--clean .cai-agenda-event-date small {
  margin-top: 7px !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  color: #687682 !important;
}

#top .cai-news-calendar-page--clean .cai-agenda-event-content {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  padding: 30px 30px 26px !important;
}

#top .cai-news-calendar-page--clean .cai-agenda-event-ambito {
  display: block !important;
  margin: 0 0 6px !important;
  font-family: 'source-sans-3', Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  color: #536779 !important;
}

#top .cai-news-calendar-page--clean .cai-agenda-event-cat {
  display: block !important;
  margin: 0 0 9px !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
  color: var(--cai-ambito-dark) !important;
}

#top .cai-news-calendar-page--clean .cai-agenda-event-content h3 {
  margin: 0 0 13px !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif !important;
  font-size: 26px !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  color: var(--cai-blue) !important;
}

#top .cai-news-calendar-page--clean .cai-agenda-event-content > p:not(.cai-agenda-event-range) {
  margin: 0 0 16px !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  color: #485d6e !important;
}

#top .cai-news-calendar-page--clean .cai-agenda-event-role {
  padding: 4px 9px !important;
  background: #ffffff !important;
  font-size: 10px !important;
  letter-spacing: 0.055em !important;
}

#top .cai-news-calendar-page--clean .cai-agenda-event-more {
  width: fit-content !important;
  margin-top: 14px !important;
  padding-top: 0 !important;
  padding-bottom: 3px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--cai-ambito-dark) !important;
  border-bottom: 2px solid var(--cai-ambito-color) !important;
}

@media only screen and (max-width: 900px) {
  #top .cai-news-calendar-page--clean .cai-agenda-events-grid {
    grid-template-columns: 1fr !important;
  }

  #top .cai-news-calendar-page--clean .cai-agenda-event-card:only-child {
    max-width: none !important;
  }
}

@media only screen and (max-width: 767px) {
  #top .cai-news-calendar-page--clean .cai-agenda-event-card {
    grid-template-columns: 80px minmax(0, 1fr) !important;
    min-height: 230px !important;
    border-radius: 12px !important;
  }

  #top .cai-news-calendar-page--clean .cai-agenda-event-date {
    padding: 24px 7px !important;
  }

  #top .cai-news-calendar-page--clean .cai-agenda-event-date strong {
    font-size: 32px !important;
  }

  #top .cai-news-calendar-page--clean .cai-agenda-event-content {
    padding: 22px 19px 20px !important;
  }

  #top .cai-news-calendar-page--clean .cai-agenda-event-content h3 {
    font-size: 21px !important;
  }
}


/* =========================================================
   PAGINA GRUPPO SOSEC - SENTIERI E CARTOGRAFIA
========================================================= */

#top .cai-scuola-detail-page--sosec .cai-scuola-detail-intro__text h2 {
  max-width: 760px;
}


/* =========================================================
   FOTO PRINCIPALI
========================================================= */

#top .cai-sosec-feature-image {
  width: 100%;
  min-height: 390px;
  margin: 0;
  overflow: hidden;
  background: #e9edf0;
  box-shadow: 0 18px 46px rgba(0, 59, 115, 0.10);
}

#top .cai-sosec-feature-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 390px;
  object-fit: cover;
}

#top .cai-sosec-feature-image--work img {
  object-position: center center;
}


/* =========================================================
   ICONE ATTIVITÀ
========================================================= */

#top .cai-sosec-course-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 76px;
  height: 76px;
  color: var(--cai-blue);
  background: rgba(0, 80, 164, 0.06);
}

#top .cai-sosec-course-icon svg {
  width: 52px;
  height: 52px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}


/* =========================================================
   SEZIONI SOSEC
========================================================= */

#top .cai-sosec-territorio,
#top .cai-sosec-patrimonio,
#top .cai-sosec-gallery-section,
#top .cai-sosec-manual-section {
  padding-top: 56px;
  padding-bottom: 66px;
  border-top: 1px solid rgba(0, 59, 115, 0.13);
}


/* =========================================================
   GALLERIA
========================================================= */

#top .cai-sosec-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 280px;
  gap: 18px;
}

#top .cai-sosec-gallery__item {
  margin: 0;
  overflow: hidden;
  background: #e8ecef;
}

#top .cai-sosec-gallery__item--wide {
  grid-column: span 2;
}

#top .cai-sosec-gallery__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

#top .cai-sosec-gallery__item:hover img {
  transform: scale(1.025);
}


/* =========================================================
   MANUALE SENTIERI
========================================================= */

#top .cai-sosec-manual {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(300px, 0.7fr);
  gap: 60px;
  align-items: center;
  padding: 42px 46px;
  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.11);
  box-shadow: 0 16px 42px rgba(0, 59, 115, 0.07);
}

#top .cai-sosec-manual h2 {
  margin: 0 0 18px;
  font-size: clamp(32px, 3vw, 44px);
  color: var(--cai-blue);
}

#top .cai-sosec-manual p {
  max-width: 760px;
  margin: 0;
  font-size: 17px;
  line-height: 1.55;
  color: #536272;
}

#top .cai-sosec-manual__label {
  position: relative;
  padding: 24px 28px 24px 30px;
  border-left: 4px solid var(--cai-gold);
  background: rgba(0, 59, 115, 0.035);
}

#top .cai-sosec-manual__label span {
  display: block;
  margin-bottom: 5px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

#top .cai-sosec-manual__label strong {
  display: block;
  margin-bottom: 6px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 30px;
  line-height: 1;
  color: var(--cai-blue);
}

#top .cai-sosec-manual__label small {
  display: block;
  font-size: 14px;
  line-height: 1.4;
  color: #536272;
}


/* =========================================================
   CTA - TESTO BIANCO
========================================================= */

#top .cai-scuola-detail-page--sosec
.cai-scuola-detail-btn-primary,
#top .cai-scuola-detail-page--sosec
.cai-scuola-detail-btn-primary:link,
#top .cai-scuola-detail-page--sosec
.cai-scuola-detail-btn-primary:visited,
#top .cai-scuola-detail-page--sosec
.cai-scuola-detail-btn-primary:hover {
  color: #ffffff !important;
}


/* =========================================================
   TABLET
========================================================= */

@media only screen and (max-width: 989px) {

  #top .cai-sosec-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #top .cai-sosec-gallery__item--wide {
    grid-column: span 2;
  }

  #top .cai-sosec-manual {
    grid-template-columns: 1fr;
    gap: 28px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media only screen and (max-width: 767px) {

  #top .cai-sosec-territorio,
  #top .cai-sosec-patrimonio,
  #top .cai-sosec-gallery-section,
  #top .cai-sosec-manual-section {
    padding-top: 42px;
    padding-bottom: 48px;
  }

  #top .cai-sosec-feature-image,
  #top .cai-sosec-feature-image img {
    min-height: 280px;
  }

  #top .cai-sosec-gallery {
    grid-template-columns: 1fr;
    grid-auto-rows: 250px;
  }

  #top .cai-sosec-gallery__item--wide {
    grid-column: auto;
  }

  #top .cai-sosec-manual {
    padding: 28px 24px;
  }

  #top .cai-sosec-manual__label {
    padding: 20px 22px;
  }

}

/* =========================================================
   SOSEC - COLORE EVENTI E CALENDARIO
========================================================= */

/* Card eventi */
.cai-agenda-event-card.cai-ambito--sosec {
  --cai-ambito-color: #7a843f;
  --cai-ambito-dark: #555d2c;
}


/* Calendario mensile */
.cai-month-calendar__event.cai-ambito--sosec {
  --cai-ambito-color: #7a843f;
  --cai-ambito-dark: #555d2c;
}

/* =========================================================
   FOOTER - ALLINEAMENTO CONTATTI
========================================================= */

.cai-footer-contacts li {
  display: flex !important;
  align-items: flex-start;
  gap: 9px;
}

.cai-footer-contact-icon {
  width: 20px;
  min-width: 20px;
  flex: 0 0 20px;
  text-align: center;
  line-height: 1.45;
  position: relative;
  top: 1px;
}

.cai-footer-contacts li > a,
.cai-footer-contacts li > span:not(.cai-footer-contact-icon) {
  line-height: 1.45;
  margin: 0;
}

/* mantiene l'allineamento dell'indirizzo */
.cai-footer-contacts li:first-child .cai-footer-contact-icon {
  visibility: hidden;
}
/* =========================================================
   HOME HERO LAYERSLIDER - NUOVA COMPOSIZIONE MOBILE
   Solo Home - LayerSlider ID 1
========================================================= */

@media only screen and (max-width: 767px) {

  /* Hero alta quanto lo schermo disponibile sotto l'header */
  body.home [id^="layerslider_1_"].ls-container {
    height: calc(100svh - 100px) !important;
    min-height: 560px !important;
    max-height: 820px !important;
    overflow: hidden !important;
  }

  /* Sfumatura generale per rendere leggibili i testi */
  body.home [id^="layerslider_1_"].ls-container::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 50;
    pointer-events: none;
    background:
      linear-gradient(
        180deg,
        rgba(0, 31, 61, 0.03) 0%,
        rgba(0, 31, 61, 0.08) 38%,
        rgba(0, 31, 61, 0.66) 68%,
        rgba(0, 31, 61, 0.94) 100%
      );
  }

  /*
   * ORDINE REALE DEI LIVELLI DELLA HOME:
   * 3 = Rifugi
   * 4 = Titolo
   * 5 = Iscriviti
   * 6 = Attività
   * 7 = DAL 1874
   * 8 = Descrizione
   */

  /* ---------------------------------------------------------
     DAL 1874
  --------------------------------------------------------- */

  body.home [id^="layerslider_1_"]
  .ls-layers > .ls-wrapper:nth-child(7) > .ls-inner-wrapper {
    left: 22px !important;
    right: 22px !important;
    top: auto !important;
    bottom: 368px !important;
    width: calc(100% - 44px) !important;
    height: auto !important;
  }

  body.home [id^="layerslider_1_"]
  .ls-layers > .ls-wrapper:nth-child(7) .ls-layer {
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;

    font-size: 12px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    color: #febd59 !important;
  }

  /* ---------------------------------------------------------
     TITOLO "LA MONTAGNA CI UNISCE"
  --------------------------------------------------------- */

  body.home [id^="layerslider_1_"]
  .ls-layers > .ls-wrapper:nth-child(4) > .ls-inner-wrapper {
    left: 22px !important;
    right: 22px !important;
    top: auto !important;
    bottom: 286px !important;
    width: calc(100% - 44px) !important;
    height: auto !important;
  }

  body.home [id^="layerslider_1_"]
  .ls-layers > .ls-wrapper:nth-child(4) .ls-layer {
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;

    font-family: 'ibm-plex-sans', Arial, sans-serif !important;
    font-size: clamp(34px, 10vw, 42px) !important;
    line-height: 0.92 !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;
    white-space: normal !important;
    color: #ffffff !important;
  }

  /* ---------------------------------------------------------
     TESTO INTRODUTTIVO
  --------------------------------------------------------- */

  body.home [id^="layerslider_1_"]
  .ls-layers > .ls-wrapper:nth-child(8) > .ls-inner-wrapper {
    left: 22px !important;
    right: 22px !important;
    top: auto !important;
    bottom: 213px !important;
    width: calc(100% - 44px) !important;
    height: auto !important;
  }

  body.home [id^="layerslider_1_"]
  .ls-layers > .ls-wrapper:nth-child(8) .ls-layer {
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;

    font-family: 'source-sans-3', Arial, sans-serif !important;
    font-size: 15.5px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
    white-space: normal !important;
    color: rgba(255, 255, 255, 0.90) !important;
  }

  /* ---------------------------------------------------------
     POSIZIONE DELLE TRE CARD
  --------------------------------------------------------- */

  /* Rifugi */
  body.home [id^="layerslider_1_"]
  .ls-layers > .ls-wrapper:nth-child(3) > .ls-inner-wrapper {
    left: 18px !important;
    right: 18px !important;
    top: auto !important;
    bottom: 139px !important;
    width: calc(100% - 36px) !important;
    height: 54px !important;
  }

  /* Iscriviti */
  body.home [id^="layerslider_1_"]
  .ls-layers > .ls-wrapper:nth-child(5) > .ls-inner-wrapper {
    left: 18px !important;
    right: 18px !important;
    top: auto !important;
    bottom: 77px !important;
    width: calc(100% - 36px) !important;
    height: 54px !important;
  }

  /* Attività */
  body.home [id^="layerslider_1_"]
  .ls-layers > .ls-wrapper:nth-child(6) > .ls-inner-wrapper {
    left: 18px !important;
    right: 18px !important;
    top: auto !important;
    bottom: 15px !important;
    width: calc(100% - 36px) !important;
    height: 54px !important;
  }

  /* Dimensioni dei tre livelli LayerSlider */
  body.home [id^="layerslider_1_"]
  .ls-layers > .ls-wrapper:nth-child(3) .ls-layer,

  body.home [id^="layerslider_1_"]
  .ls-layers > .ls-wrapper:nth-child(5) .ls-layer,

  body.home [id^="layerslider_1_"]
  .ls-layers > .ls-wrapper:nth-child(6) .ls-layer {
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 16px !important;
  }

  /* ---------------------------------------------------------
     NUOVO ASPETTO DELLE CARD
  --------------------------------------------------------- */

  body.home [id^="layerslider_1_"] .cai-strip {
    width: 100% !important;
    height: 54px !important;
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    border-radius: 7px !important;
    overflow: hidden !important;

    clip-path: none !important;
    -webkit-clip-path: none !important;

    background: rgba(0, 49, 96, 0.76) !important;
    box-shadow: 0 8px 24px rgba(0, 20, 40, 0.22) !important;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
  }

  body.home [id^="layerslider_1_"] .cai-strip::before {
    inset: 0 !important;
    opacity: 0.52 !important;

    clip-path: none !important;
    -webkit-clip-path: none !important;

    background-size: cover !important;
    background-position: center 48% !important;
  }

  body.home [id^="layerslider_1_"] .cai-strip__overlay {
    inset: 0 !important;

    clip-path: none !important;
    -webkit-clip-path: none !important;

    background:
      linear-gradient(
        90deg,
        rgba(0, 35, 70, 0.95) 0%,
        rgba(0, 43, 85, 0.83) 58%,
        rgba(0, 43, 85, 0.42) 100%
      ) !important;
  }

  body.home [id^="layerslider_1_"] .cai-strip__inner {
    left: 14px !important;
    right: 12px !important;
    top: 0 !important;
    bottom: 0 !important;

    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
  }

  body.home [id^="layerslider_1_"] .cai-strip__icon {
    width: 27px !important;
    height: 27px !important;
    flex: 0 0 27px !important;

    font-size: 23px !important;
    line-height: 1 !important;
    color: #ffffff !important;
  }

  body.home [id^="layerslider_1_"] .cai-strip__text {
    min-width: 0 !important;
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: row !important;
    align-items: baseline !important;
    gap: 9px !important;
    line-height: 1 !important;
  }

  body.home [id^="layerslider_1_"] .cai-strip__text strong {
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 750 !important;
    white-space: nowrap !important;
    color: #ffffff !important;
  }

  body.home [id^="layerslider_1_"] .cai-strip__text em {
    margin: 0 !important;
    overflow: hidden !important;

    font-size: 11.5px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    color: rgba(255, 255, 255, 0.82) !important;
  }

  /* Su touchscreen non deve sollevarsi la card */
  body.home [id^="layerslider_1_"] .cai-strip:hover {
    transform: none !important;
    filter: none !important;
    box-shadow: 0 8px 24px rgba(0, 20, 40, 0.22) !important;
  }
}

/* =========================================================
   HOME HERO MOBILE - CORREZIONE LUMINOSITÀ E ALLINEAMENTO
========================================================= */

@media only screen and (max-width: 767px) {

  /* Elimina la velatura che finisce sopra testi e card */
  body.home [id^="layerslider_1_"].ls-container::after {
    display: none !important;
  }

  /* Testi principali nuovamente bianchi e ben leggibili */
  body.home [id^="layerslider_1_"]
  .ls-layers > .ls-wrapper:nth-child(4) .ls-layer {
    color: #ffffff !important;
    opacity: 1 !important;
    text-shadow: 0 2px 18px rgba(0, 31, 61, 0.42);
  }

  body.home [id^="layerslider_1_"]
  .ls-layers > .ls-wrapper:nth-child(8) .ls-layer {
    color: rgba(255, 255, 255, 0.94) !important;
    opacity: 1 !important;
    text-shadow: 0 2px 12px rgba(0, 31, 61, 0.48);
  }

  /* Card meno scure */
  body.home [id^="layerslider_1_"] .cai-strip {
    background: rgba(0, 59, 115, 0.54) !important;
    border-color: rgba(255, 255, 255, 0.38) !important;
    box-shadow: 0 7px 20px rgba(0, 26, 52, 0.20) !important;
  }

  /* Immagine interna più visibile */
  body.home [id^="layerslider_1_"] .cai-strip::before {
    opacity: 0.78 !important;
  }

  /* Overlay molto più leggero */
  body.home [id^="layerslider_1_"] .cai-strip__overlay {
    background:
      linear-gradient(
        90deg,
        rgba(0, 48, 94, 0.72) 0%,
        rgba(0, 59, 115, 0.50) 55%,
        rgba(0, 59, 115, 0.22) 100%
      ) !important;
  }

  /*
   * Griglia interna comune:
   * icona | titolo | descrizione
   */
  body.home [id^="layerslider_1_"] .cai-strip__inner {
    display: grid !important;
    grid-template-columns: 30px 92px minmax(0, 1fr) !important;
    align-items: center !important;
    justify-content: stretch !important;
    column-gap: 10px !important;

    left: 15px !important;
    right: 15px !important;
    top: 0 !important;
    bottom: 0 !important;
    width: auto !important;
  }

  /* Permette a titolo e descrizione di entrare nella griglia */
  body.home [id^="layerslider_1_"] .cai-strip__text {
    display: contents !important;
  }

  body.home [id^="layerslider_1_"] .cai-strip__icon {
    grid-column: 1 !important;
    justify-self: center !important;

    width: 30px !important;
    height: 30px !important;
    margin: 0 !important;

    font-size: 23px !important;
    color: #ffffff !important;
    opacity: 1 !important;
  }

  body.home [id^="layerslider_1_"] .cai-strip__text strong {
    grid-column: 2 !important;
    justify-self: start !important;

    width: 92px !important;
    margin: 0 !important;

    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 750 !important;
    text-align: left !important;
    white-space: nowrap !important;

    color: #ffffff !important;
    opacity: 1 !important;
    text-shadow: 0 1px 5px rgba(0, 22, 45, 0.42);
  }

  body.home [id^="layerslider_1_"] .cai-strip__text em {
    grid-column: 3 !important;
    justify-self: start !important;

    width: 100% !important;
    margin: 0 !important;

    font-size: 11.5px !important;
    line-height: 1.15 !important;
    text-align: left !important;
    white-space: nowrap !important;

    color: rgba(255, 255, 255, 0.90) !important;
    opacity: 1 !important;
    text-shadow: 0 1px 5px rgba(0, 22, 45, 0.38);
  }
}

/* =========================================================
   TESSERAMENTO – HERO MOBILE
   LayerSlider ID 9
========================================================= */

@media only screen and (max-width: 767px) {

  /* Hero compatta: elimina il grande spazio bianco */
  [id^="layerslider_9_"].ls-container {
    width: 100% !important;
    height: 520px !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    background: #064f83 !important;
  }

  [id^="layerslider_9_"] .ls-inner,
  [id^="layerslider_9_"] .ls-slide,
  [id^="layerslider_9_"] .ls-layers {
    width: 100% !important;
    height: 100% !important;
  }

  /*
   * Il pannello blu diventa lo sfondo dell’intera hero.
   * Manteniamo la texture ma togliamo il trapezio desktop.
   */
  [id^="layerslider_9_"]
  .ls-wrapper:has(.cai-single-refuge-hero-panel) {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 1 !important;
  }

  [id^="layerslider_9_"]
  .ls-wrapper:has(.cai-single-refuge-hero-panel)
  > .ls-inner-wrapper {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    transform: none !important;
  }

  [id^="layerslider_9_"] .cai-single-refuge-hero-panel {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    transform: none !important;

    clip-path: none !important;
    -webkit-clip-path: none !important;

    background-color: #064f83 !important;
    background-size: cover !important;
    background-position: center !important;
  }

  /* Sfumatura per rendere più leggibili i contenuti */
  [id^="layerslider_9_"] .ls-slide::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 5;
    pointer-events: none;
    background:
      linear-gradient(
        180deg,
        rgba(0, 48, 91, 0.10) 0%,
        rgba(0, 48, 91, 0.30) 48%,
        rgba(0, 35, 68, 0.82) 100%
      );
  }

  /* Contenitore verticale dei contenuti */
  [id^="layerslider_9_"] .ls-layers {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: stretch !important;
    box-sizing: border-box !important;

    padding: 54px 24px 25px !important;
  }

  /*
   * Testi e pulsanti vengono rimossi dalle coordinate
   * desktop di LayerSlider e inseriti nel flusso verticale.
   */
  [id^="layerslider_9_"]
  .ls-wrapper:has(.ls-text-layer):not(:has(.cai-single-refuge-hero-panel)),
  [id^="layerslider_9_"]
  .ls-wrapper:has(.ls-button-layer) {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 10 !important;
  }

  [id^="layerslider_9_"]
  .ls-wrapper:has(.ls-text-layer):not(:has(.cai-single-refuge-hero-panel))
  > .ls-inner-wrapper,
  [id^="layerslider_9_"]
  .ls-wrapper:has(.ls-button-layer)
  > .ls-inner-wrapper {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    transform: none !important;
  }

  [id^="layerslider_9_"] .ls-text-layer,
  [id^="layerslider_9_"] .ls-button-layer {
    position: relative !important;
    inset: auto !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: auto !important;
    transform: none !important;
    white-space: normal !important;
    opacity: 1 !important;
  }

  /* Primo livello testuale: DIVENTA SOCIO */
  [id^="layerslider_9_"]
  .ls-wrapper:nth-child(1 of .ls-wrapper:has(.ls-text-layer))
  .ls-text-layer {
    margin: 0 0 12px !important;

    font-family: 'ibm-plex-sans', Arial, sans-serif !important;
    font-size: clamp(36px, 11vw, 48px) !important;
    line-height: 0.96 !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;

    color: #febd59 !important;
    text-align: left !important;
    text-shadow: 0 2px 14px rgba(0, 25, 50, 0.30);
  }

  /* Secondo livello testuale: descrizione */
  [id^="layerslider_9_"]
  .ls-wrapper:nth-child(2 of .ls-wrapper:has(.ls-text-layer))
  .ls-text-layer {
    max-width: 32em !important;
    margin: 0 0 23px !important;

    font-family: 'source-sans-3', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;

    color: rgba(255, 255, 255, 0.92) !important;
    text-align: left !important;
    text-shadow: 0 2px 10px rgba(0, 25, 50, 0.30);
  }

  /* Pulsanti */
  [id^="layerslider_9_"] .ls-button-layer {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 50px !important;
    margin: 0 0 10px !important;
    padding: 13px 18px !important;

    border: 1px solid #ffffff !important;
    border-radius: 5px !important;
    background: #ffffff !important;

    font-family: 'source-sans-3', Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
    font-weight: 750 !important;
    text-align: center !important;
    text-decoration: none !important;

    color: #003660 !important;
    box-shadow: 0 7px 18px rgba(0, 27, 54, 0.18) !important;
  }

  /* Secondo pulsante evidenziato in arancione */
  [id^="layerslider_9_"]
  .ls-wrapper:nth-child(2 of .ls-wrapper:has(.ls-button-layer))
  .ls-button-layer {
    color: #003660 !important;
    background: #febd59 !important;
    border-color: #febd59 !important;
  }

  [id^="layerslider_9_"] .ls-button-layer:hover {
    transform: none !important;
  }
}
/* =========================================================
   TESSERAMENTO MOBILE – RIFINITURA GERARCHIA TESTI
========================================================= */

@media only screen and (max-width: 767px) {

  /* Titolo principale */
  [id^="layerslider_9_"]
  .ls-wrapper:nth-child(1 of .ls-wrapper:has(.ls-text-layer))
  .ls-text-layer {
    margin-bottom: 8px !important;
    font-size: clamp(34px, 10vw, 42px) !important;
    line-height: 1 !important;
  }

  /* Soprattitolo CAI CUNEO – TESSERAMENTO */
  [id^="layerslider_9_"]
  .ls-wrapper:nth-child(2 of .ls-wrapper:has(.ls-text-layer))
  .ls-text-layer {
    margin-bottom: 23px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
    letter-spacing: 0.015em !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.92) !important;
  }

  /* Testo “Vita di sezione…” */
  [id^="layerslider_9_"]
  .ls-wrapper:nth-child(3 of .ls-wrapper:has(.ls-text-layer))
  .ls-text-layer {
    max-width: 310px !important;
    margin: 0 0 20px !important;

    font-family: 'ibm-plex-sans', Arial, sans-serif !important;
    font-size: clamp(27px, 8vw, 32px) !important;
    line-height: 1.08 !important;
    font-weight: 650 !important;
    letter-spacing: -0.015em !important;

    color: #febd59 !important;
    text-align: left !important;
    white-space: normal !important;
    text-shadow: 0 2px 12px rgba(0, 25, 50, 0.28);
  }

  /* Pulsanti leggermente meno alti */
  [id^="layerslider_9_"] .ls-button-layer {
    min-height: 48px !important;
  }
}
/* =========================================================
   TESSERAMENTO MOBILE – COLORI COERENTI CON IL DESKTOP
========================================================= */

@media only screen and (max-width: 767px) {

  /* Sovrapposizione blu più presente sulla fotografia */
  [id^="layerslider_9_"] .ls-slide::after {
    background:
      linear-gradient(
        180deg,
        rgba(0, 48, 91, 0.12) 0%,
        rgba(0, 48, 91, 0.30) 35%,
        rgba(0, 48, 91, 0.70) 70%,
        rgba(0, 37, 72, 0.90) 100%
      ) !important;
  }

  /* Titolo principale bianco */
  [id^="layerslider_9_"]
  .ls-wrapper:nth-child(1 of .ls-wrapper:has(.ls-text-layer))
  .ls-text-layer {
    color: #ffffff !important;
  }

  /* Solo il piccolo soprattitolo rimane giallo */
  [id^="layerslider_9_"]
  .ls-wrapper:nth-child(2 of .ls-wrapper:has(.ls-text-layer))
  .ls-text-layer {
    color: #febd59 !important;
  }

  /* Messaggio principale bianco */
  [id^="layerslider_9_"]
  .ls-wrapper:nth-child(3 of .ls-wrapper:has(.ls-text-layer))
  .ls-text-layer {
    color: #ffffff !important;
  }

  /* Primo pulsante bianco */
  [id^="layerslider_9_"]
  .ls-wrapper:nth-child(1 of .ls-wrapper:has(.ls-button-layer))
  .ls-button-layer {
    color: #003660 !important;
    background: #ffffff !important;
    border-color: #ffffff !important;
  }

  /* Secondo pulsante blu, non giallo */
  [id^="layerslider_9_"]
  .ls-wrapper:nth-child(2 of .ls-wrapper:has(.ls-button-layer))
  .ls-button-layer {
    color: #ffffff !important;
    background: #00477f !important;
    border-color: rgba(255, 255, 255, 0.70) !important;
  }
}
/* =========================================================
   CHI SIAMO – SLIDER 6
   Restyling mobile senza modificare LayerSlider
   ========================================================= */

@media only screen and (max-width: 767px) {

  /* Altezza dell'hero */
  [id^="layerslider_6_"] {
    height: 520px !important;
    min-height: 520px !important;
    overflow: hidden !important;
  }

  [id^="layerslider_6_"] .ls-inner,
  [id^="layerslider_6_"] .ls-slide,
  [id^="layerslider_6_"] .ls-slide-backgrounds,
  [id^="layerslider_6_"] .ls-layers {
    height: 520px !important;
  }

  /* Fotografia a piena superficie */
  [id^="layerslider_6_"] .ls-bg {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 62% center !important;
  }

  /* Nasconde pannello inclinato, immagine aggiuntiva e logo 150 anni */
  [id^="layerslider_6_"] .ls-layers > .ls-wrapper:has(.cai-single-refuge-hero-panel),
  [id^="layerslider_6_"] .ls-layers > .ls-wrapper:has(.ls-image-layer) {
    display: none !important;
  }

  /* Sfumatura blu sopra la fotografia */
  [id^="layerslider_6_"] .ls-layers::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background:
      linear-gradient(
        180deg,
        rgba(0, 49, 88, 0.05) 0%,
        rgba(0, 56, 99, 0.22) 30%,
        rgba(0, 60, 105, 0.78) 65%,
        rgba(0, 55, 96, 0.96) 100%
      );
  }

  /* I tre livelli testuali e il pulsante */
  [id^="layerslider_6_"] .ls-layers >
  .ls-wrapper:nth-child(1 of .ls-wrapper:has(.ls-text-layer)),

  [id^="layerslider_6_"] .ls-layers >
  .ls-wrapper:nth-child(2 of .ls-wrapper:has(.ls-text-layer)),

  [id^="layerslider_6_"] .ls-layers >
  .ls-wrapper:nth-child(3 of .ls-wrapper:has(.ls-text-layer)),

  [id^="layerslider_6_"] .ls-layers >
  .ls-wrapper:has(.ls-button-layer) {
    position: absolute !important;
    left: 26px !important;
    right: auto !important;
    width: calc(100% - 52px) !important;
    height: auto !important;
    transform: none !important;
    z-index: 10 !important;
  }

  /* Neutralizza le trasformazioni interne di LayerSlider */
  [id^="layerslider_6_"] .ls-layers >
  .ls-wrapper:has(.ls-text-layer) .ls-wrapper,

  [id^="layerslider_6_"] .ls-layers >
  .ls-wrapper:has(.ls-button-layer) .ls-wrapper {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    transform: none !important;
  }

  /* Titolo: SEZIONE DI CUNEO */
  [id^="layerslider_6_"] .ls-layers >
  .ls-wrapper:nth-child(1 of .ls-wrapper:has(.ls-text-layer)) {
    top: 180px !important;
  }

  [id^="layerslider_6_"] .ls-layers >
  .ls-wrapper:nth-child(1 of .ls-wrapper:has(.ls-text-layer))
  .ls-text-layer {
    width: 100% !important;
    color: #ffffff !important;
    font-size: clamp(38px, 11vw, 46px) !important;
    line-height: 0.9 !important;
    font-weight: 700 !important;
    letter-spacing: -1.5px !important;
    white-space: normal !important;
    text-align: left !important;
  }

  /* Occhiello giallo */
  [id^="layerslider_6_"] .ls-layers >
  .ls-wrapper:nth-child(2 of .ls-wrapper:has(.ls-text-layer)) {
    top: 276px !important;
  }

  [id^="layerslider_6_"] .ls-layers >
  .ls-wrapper:nth-child(2 of .ls-wrapper:has(.ls-text-layer))
  .ls-text-layer {
    width: 100% !important;
    color: #febd59 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    letter-spacing: 0.2px !important;
    white-space: normal !important;
    text-align: left !important;
  }

  /* Testo descrittivo */
  [id^="layerslider_6_"] .ls-layers >
  .ls-wrapper:nth-child(3 of .ls-wrapper:has(.ls-text-layer)) {
    top: 312px !important;
  }

  [id^="layerslider_6_"] .ls-layers >
  .ls-wrapper:nth-child(3 of .ls-wrapper:has(.ls-text-layer))
  .ls-text-layer {
    width: 100% !important;
    color: #ffffff !important;
    font-size: 17px !important;
    line-height: 1.12 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    text-align: left !important;
  }

  /* Pulsante */
  [id^="layerslider_6_"] .ls-layers >
  .ls-wrapper:has(.ls-button-layer) {
    top: 447px !important;
    pointer-events: auto !important;
  }

  [id^="layerslider_6_"] .ls-button-layer {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 52px !important;
    padding: 17px 20px !important;
    border: 0 !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    color: #003b68 !important;
    font-size: 15px !important;
    line-height: 18px !important;
    font-weight: 700 !important;
    text-align: center !important;
    white-space: normal !important;
  }
}
/* CHI SIAMO MOBILE – foto pulita e senza bollino */
@media only screen and (max-width: 767px) {

  /* Elimina la sfumatura bianco-blu */
  [id^="layerslider_6_"] .ls-layers::before {
    content: none !important;
    display: none !important;
    background: none !important;
  }

  /* Elimina il bollino CAI 150 anni */
  [id^="layerslider_6_"] .ls-layers >
  .ls-wrapper:has(img[src*="150-anni"]),

  [id^="layerslider_6_"] .ls-layers >
  .ls-wrapper:has(img[data-src*="150-anni"]),

  [id^="layerslider_6_"] .ls-layers >
  .ls-wrapper:has(img[alt*="150"]) {
    display: none !important;
  }
}
/* CHI SIAMO MOBILE – fotografia a piena superficie */
@media only screen and (max-width: 767px) {

  [id^="layerslider_6_"] .ls-slide-backgrounds,
  [id^="layerslider_6_"] .ls-bg-outer,
  [id^="layerslider_6_"] .ls-bg-wrap,
  [id^="layerslider_6_"] .ls-slide-backgrounds .ls-wrapper,
  [id^="layerslider_6_"] .ls-slide-backgrounds .ls-inner-wrapper {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
  }

  [id^="layerslider_6_"] .ls-bg {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: 58% center !important;
    transform: none !important;
  }

  /* Bollino 150 anni sempre nascosto */
  [id^="layerslider_6_"] .ls-wrapper:
  has(img[src*="150-anni"]),
  [id^="layerslider_6_"] .ls-wrapper:
  has(img[data-src*="150-anni"]) {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {

  [id^="layerslider_6_"] .ls-text-layer {
    text-shadow: 0 2px 5px rgba(0, 30, 55, 0.65) !important;
  }

  /* L'occhiello giallo resta più nitido */
  [id^="layerslider_6_"] .ls-layers >
  .ls-wrapper:nth-child(2 of .ls-wrapper:has(.ls-text-layer))
  .ls-text-layer {
    text-shadow: 0 1px 3px rgba(0, 30, 55, 0.55) !important;
  }
}
/* =========================================================
   HERO PAGINE ISTITUZIONALI – MOBILE
   Slider 7, 8, 19, 20 e 21
   ========================================================= */

@media only screen and (max-width: 767px) {

  /* Pagine interessate */
  :is(
    [id^="layerslider_7_"],
    [id^="layerslider_8_"],
    [id^="layerslider_19_"],
    [id^="layerslider_20_"],
    [id^="layerslider_21_"]
  ) {
    height: 520px !important;
    min-height: 520px !important;
    overflow: hidden !important;
  }

  :is(
    [id^="layerslider_7_"],
    [id^="layerslider_8_"],
    [id^="layerslider_19_"],
    [id^="layerslider_20_"],
    [id^="layerslider_21_"]
  ) :is(
    .ls-inner,
    .ls-slide,
    .ls-slide-backgrounds,
    .ls-layers
  ) {
    height: 520px !important;
  }

  /* Nessuna sfumatura sopra la fotografia */
  :is(
    [id^="layerslider_7_"],
    [id^="layerslider_8_"],
    [id^="layerslider_19_"],
    [id^="layerslider_20_"],
    [id^="layerslider_21_"]
  ) .ls-layers::before {
    content: none !important;
    display: none !important;
    background: none !important;
  }

  /* Fotografia a piena superficie */
  :is(
    [id^="layerslider_7_"],
    [id^="layerslider_8_"],
    [id^="layerslider_19_"],
    [id^="layerslider_20_"],
    [id^="layerslider_21_"]
  ) :is(
    .ls-slide-backgrounds,
    .ls-bg-outer,
    .ls-bg-wrap,
    .ls-slide-backgrounds .ls-wrapper,
    .ls-slide-backgrounds .ls-inner-wrapper
  ) {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
  }

  :is(
    [id^="layerslider_7_"],
    [id^="layerslider_8_"],
    [id^="layerslider_19_"],
    [id^="layerslider_20_"],
    [id^="layerslider_21_"]
  ) .ls-bg {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
  }

  /* Elimina pannello obliquo e immagini decorative */
  :is(
    [id^="layerslider_7_"],
    [id^="layerslider_8_"],
    [id^="layerslider_19_"],
    [id^="layerslider_20_"],
    [id^="layerslider_21_"]
  ) .ls-layers >
  .ls-wrapper:has(.cai-single-refuge-hero-panel),

  :is(
    [id^="layerslider_7_"],
    [id^="layerslider_8_"],
    [id^="layerslider_19_"],
    [id^="layerslider_20_"],
    [id^="layerslider_21_"]
  ) .ls-layers >
  .ls-wrapper:has(.ls-image-layer) {
    display: none !important;
  }

  /* Posizionamento generale dei testi e pulsanti */
  :is(
    [id^="layerslider_7_"],
    [id^="layerslider_8_"],
    [id^="layerslider_19_"],
    [id^="layerslider_20_"],
    [id^="layerslider_21_"]
  ) .ls-layers >
  .ls-wrapper:has(.ls-text-layer),

  :is(
    [id^="layerslider_7_"],
    [id^="layerslider_8_"],
    [id^="layerslider_19_"],
    [id^="layerslider_20_"],
    [id^="layerslider_21_"]
  ) .ls-layers >
  .ls-wrapper:has(.ls-button-layer) {
    position: absolute !important;
    left: 26px !important;
    right: auto !important;
    width: calc(100% - 52px) !important;
    height: auto !important;
    transform: none !important;
    z-index: 10 !important;
  }

  /* Neutralizza le trasformazioni interne */
  :is(
    [id^="layerslider_7_"],
    [id^="layerslider_8_"],
    [id^="layerslider_19_"],
    [id^="layerslider_20_"],
    [id^="layerslider_21_"]
  ) .ls-layers >
  .ls-wrapper:has(.ls-text-layer) .ls-wrapper,

  :is(
    [id^="layerslider_7_"],
    [id^="layerslider_8_"],
    [id^="layerslider_19_"],
    [id^="layerslider_20_"],
    [id^="layerslider_21_"]
  ) .ls-layers >
  .ls-wrapper:has(.ls-button-layer) .ls-wrapper {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    transform: none !important;
  }

  /* Testi comuni */
  :is(
    [id^="layerslider_7_"],
    [id^="layerslider_8_"],
    [id^="layerslider_19_"],
    [id^="layerslider_20_"],
    [id^="layerslider_21_"]
  ) .ls-text-layer {
    box-sizing: border-box !important;
    width: 100% !important;
    white-space: normal !important;
    text-align: left !important;
    text-shadow: 0 2px 5px rgba(0, 30, 55, 0.68) !important;
  }

  /* Titolo principale */
  :is(
    [id^="layerslider_7_"],
    [id^="layerslider_8_"],
    [id^="layerslider_20_"],
    [id^="layerslider_21_"]
  ) .ls-layers >
  .ls-wrapper:nth-child(1 of .ls-wrapper:has(.ls-text-layer)) {
    top: 145px !important;
  }

  :is(
    [id^="layerslider_7_"],
    [id^="layerslider_8_"],
    [id^="layerslider_20_"],
    [id^="layerslider_21_"]
  ) .ls-layers >
  .ls-wrapper:nth-child(1 of .ls-wrapper:has(.ls-text-layer))
  .ls-text-layer {
    color: #ffffff !important;
    font-size: clamp(34px, 10vw, 43px) !important;
    line-height: 0.92 !important;
    font-weight: 700 !important;
    letter-spacing: -1.2px !important;
  }

  /* Rifugi: titolo leggermente più compatto */
  [id^="layerslider_21_"] .ls-layers >
  .ls-wrapper:nth-child(1 of .ls-wrapper:has(.ls-text-layer))
  .ls-text-layer {
    font-size: clamp(30px, 8.7vw, 38px) !important;
    line-height: 0.96 !important;
  }

  /* Occhiello giallo */
  :is(
    [id^="layerslider_7_"],
    [id^="layerslider_8_"],
    [id^="layerslider_20_"],
    [id^="layerslider_21_"]
  ) .ls-layers >
  .ls-wrapper:nth-child(2 of .ls-wrapper:has(.ls-text-layer)) {
    top: 240px !important;
  }

  :is(
    [id^="layerslider_7_"],
    [id^="layerslider_8_"],
    [id^="layerslider_20_"],
    [id^="layerslider_21_"]
  ) .ls-layers >
  .ls-wrapper:nth-child(2 of .ls-wrapper:has(.ls-text-layer))
  .ls-text-layer {
    color: #febd59 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    letter-spacing: 0.2px !important;
  }

  /* Testo descrittivo */
  :is(
    [id^="layerslider_7_"],
    [id^="layerslider_8_"],
    [id^="layerslider_20_"],
    [id^="layerslider_21_"]
  ) .ls-layers >
  .ls-wrapper:nth-child(3 of .ls-wrapper:has(.ls-text-layer)) {
    top: 276px !important;
  }

  :is(
    [id^="layerslider_7_"],
    [id^="layerslider_8_"],
    [id^="layerslider_20_"],
    [id^="layerslider_21_"]
  ) .ls-layers >
  .ls-wrapper:nth-child(3 of .ls-wrapper:has(.ls-text-layer))
  .ls-text-layer {
    color: #ffffff !important;
    font-size: 17px !important;
    line-height: 1.14 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

  /* Pulsanti */
  :is(
    [id^="layerslider_7_"],
    [id^="layerslider_20_"],
    [id^="layerslider_21_"]
  ) .ls-layers >
  .ls-wrapper:nth-child(1 of .ls-wrapper:has(.ls-button-layer)) {
    top: 405px !important;
  }

  :is(
    [id^="layerslider_7_"],
    [id^="layerslider_20_"]
  ) .ls-layers >
  .ls-wrapper:nth-child(2 of .ls-wrapper:has(.ls-button-layer)) {
    top: 461px !important;
  }

  :is(
    [id^="layerslider_7_"],
    [id^="layerslider_20_"],
    [id^="layerslider_21_"]
  ) .ls-button-layer {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 50px !important;
    padding: 16px 18px !important;
    border: 0 !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    color: #003b68 !important;
    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 700 !important;
    text-align: center !important;
    white-space: normal !important;
    text-shadow: none !important;
    pointer-events: auto !important;
  }

  /* Secondo pulsante giallo */
  :is(
    [id^="layerslider_7_"],
    [id^="layerslider_20_"]
  ) .ls-layers >
  .ls-wrapper:nth-child(2 of .ls-wrapper:has(.ls-button-layer))
  .ls-button-layer {
    background: #febd59 !important;
    color: #003b68 !important;
  }

  /* NEWS E CALENDARIO: solo titolo e occhiello */
  [id^="layerslider_19_"] .ls-layers >
  .ls-wrapper:nth-child(1 of .ls-wrapper:has(.ls-text-layer)) {
    top: 175px !important;
  }

  [id^="layerslider_19_"] .ls-layers >
  .ls-wrapper:nth-child(1 of .ls-wrapper:has(.ls-text-layer))
  .ls-text-layer {
    color: #ffffff !important;
    font-size: clamp(32px, 9.5vw, 40px) !important;
    line-height: 0.94 !important;
    font-weight: 700 !important;
    letter-spacing: -1px !important;
  }

  [id^="layerslider_19_"] .ls-layers >
  .ls-wrapper:nth-child(2 of .ls-wrapper:has(.ls-text-layer)) {
    top: 310px !important;
  }

  [id^="layerslider_19_"] .ls-layers >
  .ls-wrapper:nth-child(2 of .ls-wrapper:has(.ls-text-layer))
  .ls-text-layer {
    color: #febd59 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    letter-spacing: 0.2px !important;
  }
}

/* =========================================================
   SINGOLI RIFUGI, CAPANNE E BIVACCHI – MOBILE
   Slider 4 e 10–18
   ========================================================= */

@media only screen and (max-width: 767px) {

  /* ---------------------------------------------------------
     DIMENSIONI HERO
     --------------------------------------------------------- */

  :is(
    [id^="layerslider_4_"],
    [id^="layerslider_10_"],
    [id^="layerslider_11_"],
    [id^="layerslider_12_"],
    [id^="layerslider_13_"],
    [id^="layerslider_14_"],
    [id^="layerslider_15_"],
    [id^="layerslider_16_"],
    [id^="layerslider_17_"],
    [id^="layerslider_18_"]
  ) {
    height: 500px !important;
    min-height: 500px !important;
    overflow: hidden !important;
  }

  :is(
    [id^="layerslider_4_"],
    [id^="layerslider_10_"],
    [id^="layerslider_11_"],
    [id^="layerslider_12_"],
    [id^="layerslider_13_"],
    [id^="layerslider_14_"],
    [id^="layerslider_15_"],
    [id^="layerslider_16_"],
    [id^="layerslider_17_"],
    [id^="layerslider_18_"]
  ) :is(
    .ls-inner,
    .ls-slide,
    .ls-slide-backgrounds,
    .ls-layers
  ) {
    height: 500px !important;
  }

  /* ---------------------------------------------------------
     FOTOGRAFIA A PIENA SUPERFICIE
     --------------------------------------------------------- */

  :is(
    [id^="layerslider_4_"],
    [id^="layerslider_10_"],
    [id^="layerslider_11_"],
    [id^="layerslider_12_"],
    [id^="layerslider_13_"],
    [id^="layerslider_14_"],
    [id^="layerslider_15_"],
    [id^="layerslider_16_"],
    [id^="layerslider_17_"],
    [id^="layerslider_18_"]
  ) :is(
    .ls-slide-backgrounds,
    .ls-bg-outer,
    .ls-bg-wrap,
    .ls-slide-backgrounds .ls-wrapper,
    .ls-slide-backgrounds .ls-inner-wrapper
  ) {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
  }

  :is(
    [id^="layerslider_4_"],
    [id^="layerslider_10_"],
    [id^="layerslider_11_"],
    [id^="layerslider_12_"],
    [id^="layerslider_13_"],
    [id^="layerslider_14_"],
    [id^="layerslider_15_"],
    [id^="layerslider_16_"],
    [id^="layerslider_17_"],
    [id^="layerslider_18_"]
  ) .ls-bg {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
  }

  /* ---------------------------------------------------------
     FASCIA BLU CAI SEMITRASPARENTE
     --------------------------------------------------------- */

  :is(
    [id^="layerslider_4_"],
    [id^="layerslider_10_"],
    [id^="layerslider_11_"],
    [id^="layerslider_12_"],
    [id^="layerslider_13_"],
    [id^="layerslider_14_"],
    [id^="layerslider_15_"],
    [id^="layerslider_16_"],
    [id^="layerslider_17_"],
    [id^="layerslider_18_"]
  ) .ls-layers::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 158px !important;
    right: 0 !important;
    bottom: 40px !important;
    left: 0 !important;
    z-index: 4 !important;
    pointer-events: none !important;
    background: rgba(0, 59, 104, 0.76) !important;
    backdrop-filter: blur(1px);
    -webkit-backdrop-filter: blur(1px);
  }

  /* ---------------------------------------------------------
     ELEMENTI ORIGINALI DA NASCONDERE
     --------------------------------------------------------- */

  /* Pannello obliquo originale */
  :is(
    [id^="layerslider_4_"],
    [id^="layerslider_10_"],
    [id^="layerslider_11_"],
    [id^="layerslider_12_"],
    [id^="layerslider_13_"],
    [id^="layerslider_14_"],
    [id^="layerslider_15_"],
    [id^="layerslider_16_"],
    [id^="layerslider_17_"],
    [id^="layerslider_18_"]
  ) .ls-layers >
  .ls-wrapper:has(.cai-single-refuge-hero-panel) {
    display: none !important;
  }

  /* Immagine decorativa originale */
  :is(
    [id^="layerslider_4_"],
    [id^="layerslider_10_"],
    [id^="layerslider_11_"],
    [id^="layerslider_12_"],
    [id^="layerslider_13_"],
    [id^="layerslider_14_"],
    [id^="layerslider_15_"],
    [id^="layerslider_16_"],
    [id^="layerslider_17_"],
    [id^="layerslider_18_"]
  ) .ls-layers >
  .ls-wrapper:has(.ls-image-layer) {
    display: none !important;
  }

  /* Titolo duplicato */
  :is(
    [id^="layerslider_4_"],
    [id^="layerslider_10_"],
    [id^="layerslider_11_"],
    [id^="layerslider_12_"],
    [id^="layerslider_13_"],
    [id^="layerslider_14_"],
    [id^="layerslider_15_"],
    [id^="layerslider_16_"],
    [id^="layerslider_17_"],
    [id^="layerslider_18_"]
  ) .ls-layers >
  .ls-wrapper:nth-child(2 of .ls-wrapper:has(.ls-text-layer)) {
    display: none !important;
  }

  /* Breadcrumb HOME > RIFUGI E BIVACCHI */
  :is(
    [id^="layerslider_4_"],
    [id^="layerslider_10_"],
    [id^="layerslider_11_"],
    [id^="layerslider_12_"],
    [id^="layerslider_13_"],
    [id^="layerslider_14_"],
    [id^="layerslider_15_"],
    [id^="layerslider_16_"],
    [id^="layerslider_17_"],
    [id^="layerslider_18_"]
  ) .ls-layers >
  .ls-wrapper:nth-child(3 of .ls-wrapper:has(.ls-text-layer)) {
    display: none !important;
  }

  /* Pulsante attualmente privo di collegamento */
  :is(
    [id^="layerslider_4_"],
    [id^="layerslider_10_"],
    [id^="layerslider_11_"],
    [id^="layerslider_12_"],
    [id^="layerslider_13_"],
    [id^="layerslider_14_"],
    [id^="layerslider_15_"],
    [id^="layerslider_16_"],
    [id^="layerslider_17_"],
    [id^="layerslider_18_"]
  ) .ls-layers >
  .ls-wrapper:has(.ls-button-layer) {
    display: none !important;
  }

  /* ---------------------------------------------------------
     POSIZIONAMENTO DEI TESTI
     --------------------------------------------------------- */

  :is(
    [id^="layerslider_4_"],
    [id^="layerslider_10_"],
    [id^="layerslider_11_"],
    [id^="layerslider_12_"],
    [id^="layerslider_13_"],
    [id^="layerslider_14_"],
    [id^="layerslider_15_"],
    [id^="layerslider_16_"],
    [id^="layerslider_17_"],
    [id^="layerslider_18_"]
  ) .ls-layers >
  .ls-wrapper:has(.ls-text-layer) {
    position: absolute !important;
    left: 26px !important;
    right: auto !important;
    width: calc(100% - 52px) !important;
    height: auto !important;
    transform: none !important;
    z-index: 10 !important;
  }

  /* Neutralizza le trasformazioni interne di LayerSlider */
  :is(
    [id^="layerslider_4_"],
    [id^="layerslider_10_"],
    [id^="layerslider_11_"],
    [id^="layerslider_12_"],
    [id^="layerslider_13_"],
    [id^="layerslider_14_"],
    [id^="layerslider_15_"],
    [id^="layerslider_16_"],
    [id^="layerslider_17_"],
    [id^="layerslider_18_"]
  ) .ls-layers >
  .ls-wrapper:has(.ls-text-layer) .ls-wrapper {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    transform: none !important;
  }

  /* Regole comuni */
  :is(
    [id^="layerslider_4_"],
    [id^="layerslider_10_"],
    [id^="layerslider_11_"],
    [id^="layerslider_12_"],
    [id^="layerslider_13_"],
    [id^="layerslider_14_"],
    [id^="layerslider_15_"],
    [id^="layerslider_16_"],
    [id^="layerslider_17_"],
    [id^="layerslider_18_"]
  ) .ls-text-layer {
    box-sizing: border-box !important;
    white-space: normal !important;
    text-align: left !important;
  }

  /* ---------------------------------------------------------
     INDICAZIONE DELLA VALLE
     --------------------------------------------------------- */

  :is(
    [id^="layerslider_4_"],
    [id^="layerslider_10_"],
    [id^="layerslider_11_"],
    [id^="layerslider_12_"],
    [id^="layerslider_13_"],
    [id^="layerslider_14_"],
    [id^="layerslider_15_"],
    [id^="layerslider_16_"],
    [id^="layerslider_17_"],
    [id^="layerslider_18_"]
  ) .ls-layers >
  .ls-wrapper:nth-child(6 of .ls-wrapper:has(.ls-text-layer)) {
    top: 176px !important;
  }

  :is(
    [id^="layerslider_4_"],
    [id^="layerslider_10_"],
    [id^="layerslider_11_"],
    [id^="layerslider_12_"],
    [id^="layerslider_13_"],
    [id^="layerslider_14_"],
    [id^="layerslider_15_"],
    [id^="layerslider_16_"],
    [id^="layerslider_17_"],
    [id^="layerslider_18_"]
  ) .ls-layers >
  .ls-wrapper:nth-child(6 of .ls-wrapper:has(.ls-text-layer))
  .ls-text-layer {
    width: 100% !important;
    color: #febd59 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    letter-spacing: 0.25px !important;
    text-transform: uppercase !important;
  }

  /* ---------------------------------------------------------
     NOME DELLA STRUTTURA
     --------------------------------------------------------- */

  :is(
    [id^="layerslider_4_"],
    [id^="layerslider_10_"],
    [id^="layerslider_11_"],
    [id^="layerslider_12_"],
    [id^="layerslider_13_"],
    [id^="layerslider_14_"],
    [id^="layerslider_15_"],
    [id^="layerslider_16_"],
    [id^="layerslider_17_"],
    [id^="layerslider_18_"]
  ) .ls-layers >
  .ls-wrapper:nth-child(1 of .ls-wrapper:has(.ls-text-layer)) {
    top: 208px !important;
  }

  :is(
    [id^="layerslider_4_"],
    [id^="layerslider_10_"],
    [id^="layerslider_11_"],
    [id^="layerslider_12_"],
    [id^="layerslider_13_"],
    [id^="layerslider_14_"],
    [id^="layerslider_15_"],
    [id^="layerslider_16_"],
    [id^="layerslider_17_"],
    [id^="layerslider_18_"]
  ) .ls-layers >
  .ls-wrapper:nth-child(1 of .ls-wrapper:has(.ls-text-layer))
  .ls-text-layer {
    width: 100% !important;
    color: #ffffff !important;
    font-size: clamp(35px, 10.5vw, 44px) !important;
    line-height: 0.92 !important;
    font-weight: 700 !important;
    letter-spacing: -1.2px !important;
    text-shadow: 0 2px 4px rgba(0, 28, 50, 0.35) !important;
  }

  /* ---------------------------------------------------------
     LOCALITÀ
     --------------------------------------------------------- */

  :is(
    [id^="layerslider_4_"],
    [id^="layerslider_10_"],
    [id^="layerslider_11_"],
    [id^="layerslider_12_"],
    [id^="layerslider_13_"],
    [id^="layerslider_14_"],
    [id^="layerslider_15_"],
    [id^="layerslider_16_"],
    [id^="layerslider_17_"],
    [id^="layerslider_18_"]
  ) .ls-layers >
  .ls-wrapper:nth-child(4 of .ls-wrapper:has(.ls-text-layer)) {
    top: 324px !important;
  }

  :is(
    [id^="layerslider_4_"],
    [id^="layerslider_10_"],
    [id^="layerslider_11_"],
    [id^="layerslider_12_"],
    [id^="layerslider_13_"],
    [id^="layerslider_14_"],
    [id^="layerslider_15_"],
    [id^="layerslider_16_"],
    [id^="layerslider_17_"],
    [id^="layerslider_18_"]
  ) .ls-layers >
  .ls-wrapper:nth-child(4 of .ls-wrapper:has(.ls-text-layer))
  .ls-text-layer {
    width: 100% !important;
    color: #ffffff !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
  }

  /* ---------------------------------------------------------
     QUOTA
     --------------------------------------------------------- */

  :is(
    [id^="layerslider_4_"],
    [id^="layerslider_10_"],
    [id^="layerslider_11_"],
    [id^="layerslider_12_"],
    [id^="layerslider_13_"],
    [id^="layerslider_14_"],
    [id^="layerslider_15_"],
    [id^="layerslider_16_"],
    [id^="layerslider_17_"],
    [id^="layerslider_18_"]
  ) .ls-layers >
  .ls-wrapper:nth-child(5 of .ls-wrapper:has(.ls-text-layer)) {
    top: 404px !important;
  }

  :is(
    [id^="layerslider_4_"],
    [id^="layerslider_10_"],
    [id^="layerslider_11_"],
    [id^="layerslider_12_"],
    [id^="layerslider_13_"],
    [id^="layerslider_14_"],
    [id^="layerslider_15_"],
    [id^="layerslider_16_"],
    [id^="layerslider_17_"],
    [id^="layerslider_18_"]
  ) .ls-layers >
  .ls-wrapper:nth-child(5 of .ls-wrapper:has(.ls-text-layer))
  .ls-text-layer {
    display: inline-block !important;
    width: auto !important;
    padding: 8px 12px !important;
    border-radius: 3px !important;
    background: #febd59 !important;
    color: #003b68 !important;
    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 700 !important;
    text-shadow: none !important;
  }
}

/* =========================================================
   BURGER MENU – CONTRASTO HEADER
   ========================================================= */

@media only screen and (max-width: 1430px) {

  /* Header normale o diventato bianco durante lo scroll */
  #top #header:not(.av_header_transparency)
  .av-hamburger-inner,

  #top #header:not(.av_header_transparency)
  .av-hamburger-inner::before,

  #top #header:not(.av_header_transparency)
  .av-hamburger-inner::after,

  #top #header.header-scrolled
  .av-hamburger-inner,

  #top #header.header-scrolled
  .av-hamburger-inner::before,

  #top #header.header-scrolled
  .av-hamburger-inner::after {
    background-color: #003b73 !important;
    box-shadow: none !important;
  }

  /* Header trasparente sopra alle hero */
  #top #header.av_header_transparency:not(.header-scrolled)
  .av-hamburger-inner,

  #top #header.av_header_transparency:not(.header-scrolled)
  .av-hamburger-inner::before,

  #top #header.av_header_transparency:not(.header-scrolled)
  .av-hamburger-inner::after {
    background-color: #ffffff !important;
    box-shadow: 0 1px 2px rgba(0, 31, 58, 0.45) !important;
  }

  /* Burger trasformato in X quando il menu è aperto */
  html.av-burger-overlay-active
  #top #header .av-hamburger-inner,

  html.av-burger-overlay-active
  #top #header .av-hamburger-inner::before,

  html.av-burger-overlay-active
  #top #header .av-hamburger-inner::after {
    background-color: #003b73 !important;
    box-shadow: none !important;
  }
} 

/* =========================================================
   FOOTER MOBILE — VERSIONE COMPATTA
========================================================= */

@media only screen and (max-width: 767px) {

  /* Struttura generale */
  #top .cai-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 22px !important;
    row-gap: 0 !important;
    padding: 25px 22px 18px !important;
  }

  /* Brand e contatti a tutta larghezza */
  #top .cai-footer-brand {
    grid-column: 1 / -1 !important;
    padding-bottom: 18px !important;
    margin-bottom: 18px !important;
    border-bottom: 1px solid rgba(255,255,255,0.14) !important;
  }

  #top .cai-footer-logo-row {
    gap: 11px !important;
    margin-bottom: 12px !important;
  }

  #top .cai-footer-logo-row img {
    width: 46px !important;
  }

  #top .cai-footer-logo-row strong {
    font-size: 17px !important;
  }

  #top .cai-footer-logo-row span {
    margin-top: 3px !important;
    font-size: 11px !important;
  }

  #top .cai-footer-contacts {
    margin: 0 !important;
  }

  #top .cai-footer-contacts li {
    margin-bottom: 5px !important;
    gap: 7px !important;
    font-size: 12.5px !important;
    line-height: 1.3 !important;
  }

  #top .cai-footer-contact-icon {
    width: 18px !important;
    min-width: 18px !important;
    flex-basis: 18px !important;
  }

  /* Instagram sulla stessa zona dei contatti */
  #top .cai-footer-social {
    margin-top: 10px !important;
  }

  #top .cai-footer-social a {
    width: 34px !important;
    height: 34px !important;
    font-size: 15px !important;
  }

  /* Le due colonne dei link restano affiancate */
  #top .cai-footer-col {
    min-width: 0 !important;
    padding-bottom: 18px !important;
  }

  #top .cai-footer-col h4 {
    margin-bottom: 8px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  #top .cai-footer-col ul {
    margin: 0 !important;
  }

  #top .cai-footer-col li {
    margin: 0 !important;
    font-size: 12.5px !important;
    line-height: 1.25 !important;
  }

  #top .cai-footer-col a {
    display: block !important;
    padding: 4px 0 !important;
  }

  /* Blocco CAI nazionale compatto */
  #top .cai-footer-claim {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr) !important;
    column-gap: 15px !important;
    align-items: center !important;
    padding: 17px 0 !important;
    border-top: 1px solid rgba(255,255,255,0.14) !important;
    border-bottom: 1px solid rgba(255,255,255,0.14) !important;
    text-align: left !important;
  }

  #top .cai-footer-claim-title {
    grid-column: 1 / -1 !important;
  }

  #top .cai-footer-claim-title span {
    margin-bottom: 10px !important;
    font-size: 11px !important;
  }

  #top .cai-footer-claim img {
    width: 44px !important;
    margin: 0 !important;
  }

  #top .cai-footer-external {
    align-items: flex-start !important;
    gap: 2px !important;
    margin: 0 !important;
  }

  #top .cai-footer-external a {
    display: block !important;
    padding: 2px 0 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
  }

  /* Motto su una riga */
  #top .cai-footer-motto {
    grid-column: 1 / -1 !important;
    display: block !important;
    padding-top: 15px !important;
  }

  #top .cai-footer-motto p {
    margin: 0 !important;
    font-size: 12.5px !important;
    line-height: 1.35 !important;
  }

  #top .cai-footer-motto br {
    display: none !important;
  }

  #top .cai-footer-motto br::after {
    content: " " !important;
  }

  /* Riga finale */
  #top .cai-footer-bottom {
    justify-content: center !important;
    gap: 5px 12px !important;
    padding: 12px 22px 14px !important;
    text-align: center !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  #top .cai-footer-copyright {
    white-space: nowrap !important;
  }

  #top .cai-footer-credit {
    flex-basis: 100% !important;
    order: 3 !important;
    font-size: 10.5px !important;
    color: rgba(255,255,255,0.58) !important;
  }

  #top .cai-footer-legal {
    font-size: 11px !important;
  }

  #top .cai-footer-legal a {
    font-size: 11px !important;
  }

  #top .cai-footer-legal a::before {
    margin: 0 6px !important;
  }
}
/* =========================================================
   FOOTER MOBILE — BRAND E CONTATTI SU DUE COLONNE
========================================================= */

@media only screen and (min-width: 350px) and (max-width: 767px) {

  #top .cai-footer-brand {
    display: grid !important;
    grid-template-columns: minmax(150px, 0.9fr) minmax(0, 1.2fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 22px !important;
    row-gap: 10px !important;
    align-items: start !important;
  }

  /* Logo e nome a sinistra */
  #top .cai-footer-logo-row {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-items: center !important;
    margin: 0 !important;
  }

  #top .cai-footer-logo-row img {
    width: 43px !important;
  }

  #top .cai-footer-logo-row strong {
    font-size: 16px !important;
    white-space: nowrap !important;
  }

  #top .cai-footer-logo-row span {
    font-size: 10.5px !important;
  }

  /* Contatti a destra */
  #top .cai-footer-contacts {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    margin: 0 !important;
  }

  #top .cai-footer-contacts li {
    margin: 0 0 6px !important;
    font-size: 12.5px !important;
    line-height: 1.28 !important;
  }

  #top .cai-footer-contacts li:last-child {
    margin-bottom: 0 !important;
  }

  /* Instagram sotto il logo */
  #top .cai-footer-social {
    grid-column: 1 !important;
    grid-row: 2 !important;
    margin: 0 !important;
  }
}

/* =========================================================
   HEADER MOBILE — IDENTITÀ CAI CUNEO
========================================================= */

@media only screen and (max-width: 767px) {

  /* Logo leggermente più presente */
  #top #header .logo img,
  #top #header.header-scrolled .logo img,
  #top #header.header-scrolled-full .logo img {
    max-height: 58px !important;
    filter: drop-shadow(0 2px 3px rgba(0,31,58,0.16));
  }

  /* Blocco testuale con linea gialla CAI */
  #top #header .cai-logo-text {
    display: flex !important;
    justify-content: center !important;
    margin: 0 0 0 13px !important;
    padding: 2px 0 2px 13px !important;
    border-left: 2px solid #f2b544 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  /* Titolo principale */
  #top #header .cai-logo-title {
    display: block !important;
    font-family: 'ibm-plex-sans', Arial, sans-serif !important;
    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: 0.055em !important;
    text-transform: uppercase !important;
  }

  /* Nasconde visivamente il vecchio testo del sottotitolo */
  #top #header .cai-logo-subtitle {
    display: block !important;
    margin-top: 5px !important;
    font-size: 0 !important;
    line-height: 1 !important;
  }

  /* Nuova firma istituzionale */
  #top #header .cai-logo-subtitle::after {
    content: "SEZIONE DI CUNEO · DAL 1874";
    display: block !important;
    font-family: 'ibm-plex-sans', Arial, sans-serif !important;
    font-size: 8px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    letter-spacing: 0.095em !important;
    text-transform: uppercase !important;
  }

  /* Header normale o dopo lo scorrimento */
  #top #header:not(.av_header_transparency) .cai-logo-title,
  #top #header.header-scrolled .cai-logo-title,
  #top #header.header-scrolled-full .cai-logo-title {
    color: #003b73 !important;
    text-shadow: none !important;
  }

  #top #header:not(.av_header_transparency) .cai-logo-subtitle,
  #top #header.header-scrolled .cai-logo-subtitle,
  #top #header.header-scrolled-full .cai-logo-subtitle {
    color: rgba(0,59,115,0.72) !important;
  }
  
  

  /* Header trasparente sopra la fotografia */
  #top #header.av_header_transparency:not(.header-scrolled)
  .cai-logo-title {
    color: #ffffff !important;
    text-shadow: 0 1px 3px rgba(0,31,58,0.28) !important;
  }

  #top #header.av_header_transparency:not(.header-scrolled)
  .cai-logo-subtitle {
    color: rgba(255,255,255,0.86) !important;
    text-shadow: 0 1px 2px rgba(0,31,58,0.25) !important;
  }
}


/* Telefoni particolarmente stretti */
@media only screen and (max-width: 380px) {

  #top #header .logo img {
    max-height: 53px !important;
  }

  #top #header .cai-logo-text {
    margin-left: 10px !important;
    padding-left: 10px !important;
  }

  #top #header .cai-logo-title {
    font-size: 18px !important;
  }

  #top #header .cai-logo-subtitle::after {
    font-size: 7px !important;
    letter-spacing: 0.075em !important;
  }
}
/* =========================================================
   CONTATTI — NASCONDE LE ICONE DELLE CARD SU MOBILE
========================================================= */

@media only screen and (max-width: 767px) {

  /* Nasconde esclusivamente le icone dentro le card Contatti */
  #top .cai-scuola-detail-page--contatti
  [class*="card"] [class*="icon"] {
    display: none !important;
  }

  /* Recupera anche l'eventuale colonna riservata all'icona */
  #top .cai-scuola-detail-page--contatti
  [class*="card"]:has([class*="icon"]) {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   BURGER MENU — STILE BLU CAI
========================================================= */

@media only screen and (max-width: 1430px) {

  /* Sfondo generale del menu aperto */
  #top .av-burger-overlay,
  #top .av-burger-overlay-bg,
  #top .av-burger-overlay-scroll,
  #top #av-burger-menu-ul {
    background:
      linear-gradient(
        145deg,
        #002b55 0%,
        #003b73 55%,
        #0050a4 100%
      ) !important;
  }

  #top .av-burger-overlay-bg {
    opacity: 0.98 !important;
  }

  /* Voci principali */
  #top #av-burger-menu-ul > li > a,
  #top #av-burger-menu-ul > li > a .avia-menu-text {
    color: #ffffff !important;
    font-family: 'ibm-plex-sans', Arial, sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 0.025em !important;
  }

  /* Linee di separazione */
  #top #av-burger-menu-ul li {
    border-color: rgba(255,255,255,0.12) !important;
  }

  /* Sottomenu */
  #top #av-burger-menu-ul .sub-menu a,
  #top #av-burger-menu-ul .sub-menu .avia-menu-text {
    color: rgba(255,255,255,0.78) !important;
    font-weight: 500 !important;
  }

  /* Pagina attiva */
  #top #av-burger-menu-ul li.current-menu-item > a,
  #top #av-burger-menu-ul li.current-menu-item > a .avia-menu-text,
  #top #av-burger-menu-ul li.current_page_item > a,
  #top #av-burger-menu-ul li.current_page_item > a .avia-menu-text {
    color: #f2b544 !important;
  }

  /* Passaggio del mouse */
  #top #av-burger-menu-ul li > a:hover,
  #top #av-burger-menu-ul li > a:hover .avia-menu-text {
    color: #f2b544 !important;
    background: rgba(255,255,255,0.06) !important;
  }

  /* Frecce dei sottomenu */
  #top #av-burger-menu-ul .av-submenu-indicator {
    color: rgba(255,255,255,0.82) !important;
  }

  /* La X di chiusura deve essere bianca sul blu */
  html.av-burger-overlay-active
  #top #header .av-hamburger-inner,
  html.av-burger-overlay-active
  #top #header .av-hamburger-inner::before,
  html.av-burger-overlay-active
  #top #header .av-hamburger-inner::after {
    background-color: #ffffff !important;
    box-shadow: 0 1px 2px rgba(0,31,58,0.30) !important;
  }
}

/* =========================================================
   HOME DESKTOP — CENTRATURA PANNELLO “ISCRIVITI”
========================================================= */

@media only screen and (min-width: 1431px) {

  #top [id^="layerslider_1_"]
  .ls-html-layer[data-ls*="delayin:800"]
  .cai-strip__inner {
    transform: translateX(-20px) !important;
  }
}
/* =========================================================
   CHI SIAMO - CONTENITORE RISORSE
   stessa larghezza della sezione storia
========================================================= */

.cai-history-resources-inner {
  max-width: 1320px;
  margin: 0 auto;
  padding-left: 56px;
  padding-right: 56px;
  box-sizing: border-box;
}

@media only screen and (max-width: 1180px) {
  .cai-history-resources-inner {
    padding-left: 34px;
    padding-right: 34px;
  }
}

@media only screen and (max-width: 767px) {
  .cai-history-resources-inner {
    padding-left: 24px;
    padding-right: 24px;
  }
}

/* =========================================================
   PAGINA VILLAGGI MONTANI
   Usa il wrapper condiviso: cai-scuola-detail-wrap
========================================================= */

/* =========================================================
   STRUTTURA GENERALE
========================================================= */

#top .cai-scuola-detail-wrap .cai-vm-page {
  position: relative;
  overflow: hidden;
  color: var(--cai-text-dark);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-inner {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding-left: 56px;
  padding-right: 56px;
  box-sizing: border-box;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-kicker {
  display: block;
  margin-bottom: 12px;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cai-gold);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-lead {
  font-size: 21px !important;
  line-height: 1.5 !important;
  color: #263d54 !important;
}


/* =========================================================
   HERO
   allineata al linguaggio visivo della Corale La Baita
========================================================= */

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-hero {
  position: relative;
  height: 540px;
  min-height: 540px;
  display: flex;
  align-items: center;
  overflow: hidden;

  background-image:
    url("/wp-content/uploads/2026/09/villaggi-montani-alta-valle-maira.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center 52%;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;

  background:
    linear-gradient(
      90deg,
      rgba(0,43,85,0.93) 0%,
      rgba(0,59,115,0.86) 34%,
      rgba(0,59,115,0.62) 52%,
      rgba(0,59,115,0.18) 76%,
      rgba(0,59,115,0.02) 100%
    );
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-hero__inner {
  position: relative;
  z-index: 2;
  padding-top: 70px;
  padding-bottom: 70px;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-hero__content {
  max-width: 650px;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-hero h1 {
  margin: 0 0 20px;
  max-width: 680px;

  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: clamp(48px, 5vw, 70px);
  line-height: 0.98;
  font-weight: 700;
  letter-spacing: -0.025em;

  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-transform: none;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-hero p {
  max-width: 610px;
  margin: 0 0 30px;

  font-size: 20px;
  line-height: 1.48;

  color: rgba(255,255,255,0.90) !important;
  -webkit-text-fill-color: rgba(255,255,255,0.90) !important;
}


/* =========================================================
   BOTTONI
========================================================= */

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 50px;
  padding: 0 24px;

  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;

  text-decoration: none !important;

  transition:
    background 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease,
    transform 0.25s ease;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-btn:hover {
  transform: translateY(-2px);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-btn--light {
  color: var(--cai-blue) !important;
  background: #ffffff;
  border: 2px solid #ffffff;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-btn--light:hover {
  color: #ffffff !important;
  background: var(--cai-gold);
  border-color: var(--cai-gold);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-btn--primary {
  color: #ffffff !important;
  background: var(--cai-blue);
  border: 2px solid var(--cai-blue);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-btn--primary:hover {
  background: var(--cai-blue-light);
  border-color: var(--cai-blue-light);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-btn--outline {
  color: var(--cai-blue) !important;
  background: transparent;
  border: 2px solid var(--cai-blue);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-btn--outline:hover {
  color: #ffffff !important;
  background: var(--cai-blue);
}


/* =========================================================
   INTRO
========================================================= */

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-intro {
  padding: 76px 0 72px;
  background: #ffffff;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-intro__grid {
  display: grid;
  grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.5fr);
  gap: 72px;
  align-items: center;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-intro__logo {
  min-height: 230px;
  padding: 34px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #f7f5f1;
  border: 1px solid rgba(0,59,115,0.10);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-intro__logo img {
  display: block;
  width: 100%;
  max-width: 430px;
  height: auto;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-intro h2 {
  margin: 0 0 24px;
  max-width: 760px;
  color: var(--cai-blue);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-intro__content p {
  max-width: 760px;
  margin: 0 0 18px;
  font-size: 18px;
  line-height: 1.58;
  color: #536272;
}


/* =========================================================
   PRINCIPI DEL MARCHIO
========================================================= */

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-principles {
  padding: 66px 0 74px;
  background: #f7f5f1;
  border-top: 1px solid rgba(0,59,115,0.08);
  border-bottom: 1px solid rgba(0,59,115,0.08);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-head {
  max-width: 820px;
  margin-bottom: 36px;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-head h2 {
  margin: 0 0 16px;
  color: var(--cai-blue);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-head p {
  max-width: 700px;
  margin: 0;
  font-size: 18px;
  line-height: 1.5;
  color: #536272;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-principles__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;

  border-top: 1px solid rgba(0,59,115,0.13);
  border-bottom: 1px solid rgba(0,59,115,0.13);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-principle {
  min-height: 235px;
  padding: 28px 26px 30px;

  border-left: 1px solid rgba(0,59,115,0.11);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-principle:first-child {
  border-left: none;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-principle__number {
  display: block;
  margin-bottom: 26px;

  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;

  color: var(--cai-gold);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-principle h3 {
  margin: 0 0 14px;

  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 19px;
  line-height: 1.15;
  font-weight: 700;

  text-transform: uppercase;
  color: var(--cai-blue);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-principle p {
  margin: 0;

  font-size: 16px;
  line-height: 1.48;

  color: #536272;
}


/* =========================================================
   ALTA VALLE MAIRA
========================================================= */

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-maira {
  padding: 82px 0 88px;
  background: #ffffff;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-maira__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(480px, 1.05fr);
  gap: 70px;
  align-items: center;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-maira h2 {
  margin: 0 0 24px;
  color: var(--cai-blue);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-maira__content > p {
  margin: 0 0 18px;

  font-size: 17px;
  line-height: 1.6;

  color: #536272;
}


/* riferimento CAI */

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-relation {
  margin: 30px 0;
  padding: 24px 28px;

  background: #f7f5f1;
  border-left: 4px solid var(--cai-gold);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-relation > span {
  display: block;
  margin-bottom: 8px;

  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;

  color: var(--cai-gold);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-relation strong {
  display: block;
  margin-bottom: 10px;

  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 20px;
  line-height: 1.25;

  color: var(--cai-blue);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-relation p {
  margin: 0;

  font-size: 15px;
  line-height: 1.45;

  color: #536272;
}


/* collage immagini */

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-maira__visual {
  position: relative;
  min-height: 570px;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-photo {
  margin: 0;
  overflow: hidden;
  background: #dfe6ee;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-photo--main {
  position: absolute;
  top: 0;
  left: 0;

  width: 88%;
  height: 470px;

  box-shadow: 0 22px 54px rgba(0,0,0,0.12);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-photo--main figcaption {
  position: absolute;
  left: 0;
  bottom: 0;

  padding: 9px 14px;

  font-size: 12px;
  line-height: 1.2;

  color: #ffffff;
  background: rgba(0,31,61,0.76);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-photo--small {
  position: absolute;
  right: 0;
  bottom: 0;

  width: 48%;
  height: 220px;

  border: 8px solid #ffffff;

  box-shadow: 0 18px 44px rgba(0,0,0,0.15);
}


/* =========================================================
   FRASE CENTRALE
========================================================= */

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-statement {
  padding: 60px 0 64px;

  background: var(--cai-blue);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-statement .cai-vm-inner {
  max-width: 1080px;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-statement__line {
  display: block;

  width: 72px;
  height: 3px;

  margin-bottom: 24px;

  background: var(--cai-gold);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-statement p {
  margin: 0;

  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: clamp(27px, 2.7vw, 40px);
  line-height: 1.28;
  font-weight: 600;

  color: #ffffff;
}


/* =========================================================
   CRISSOLO
========================================================= */

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-crissolo {
  padding: 80px 0;

  background: #f7f5f1;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-crissolo__grid {
  display: grid;
  grid-template-columns: minmax(470px, 1fr) minmax(0, 0.92fr);
  gap: 68px;
  align-items: center;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-crissolo__image {
  height: 470px;

  overflow: hidden;

  box-shadow: 0 22px 54px rgba(0,0,0,0.11);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-crissolo__image img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-crissolo h2 {
  margin: 0 0 24px;

  color: var(--cai-blue);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-crissolo__content > p {
  margin: 0 0 18px;

  font-size: 17px;
  line-height: 1.6;

  color: #536272;
}


/* nota Crissolo */

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-note {
  margin: 26px 0 28px;
  padding-top: 18px;

  border-top: 1px solid rgba(0,59,115,0.14);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-note strong {
  display: block;

  margin-bottom: 7px;

  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 15px;

  color: var(--cai-blue);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-note p {
  margin: 0;

  font-size: 14px;
  line-height: 1.5;

  color: #536272;
}


/* =========================================================
   COLLEGAMENTI FINALI
========================================================= */

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-links {
  padding: 62px 0 74px;

  background: #ffffff;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-links__head {
  max-width: 760px;
  margin-bottom: 28px;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-links__head h2 {
  margin: 0 0 12px;

  color: var(--cai-blue);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-links__head p {
  margin: 0;

  font-size: 17px;
  line-height: 1.5;

  color: #536272;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-links__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));

  border-top: 1px solid rgba(0,59,115,0.13);
  border-bottom: 1px solid rgba(0,59,115,0.13);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-link {
  position: relative;

  min-height: 160px;
  padding: 26px 30px 24px;

  display: flex;
  flex-direction: column;

  color: inherit !important;
  text-decoration: none !important;

  border-left: 1px solid rgba(0,59,115,0.11);

  transition: background 0.25s ease;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-link:first-child {
  border-left: none;
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-link:hover {
  background: rgba(0,59,115,0.035);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-link::before {
  content: "";

  position: absolute;
  top: -1px;
  left: 30px;

  width: 44px;
  height: 3px;

  background: var(--cai-gold);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-link > span {
  margin-bottom: 8px;

  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;

  color: var(--cai-gold);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-link strong {
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 21px;
  line-height: 1.2;

  color: var(--cai-blue);
}

#top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-link em {
  margin-top: auto;

  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  line-height: 1;
  font-style: normal;
  font-weight: 700;

  color: var(--cai-blue-light);
}


/* =========================================================
   TABLET
========================================================= */

@media only screen and (max-width: 1180px) {

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-hero {
    height: 480px;
    min-height: 480px;
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-inner {
    padding-left: 34px;
    padding-right: 34px;
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-intro__grid {
    gap: 44px;
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-principles__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-principle:nth-child(3) {
    border-left: none;
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-principle:nth-child(n+3) {
    border-top: 1px solid rgba(0,59,115,0.11);
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-maira__grid,
  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-crissolo__grid {
    grid-template-columns: 1fr 1fr;
    gap: 42px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media only screen and (max-width: 767px) {

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-inner {
    padding-left: 24px;
    padding-right: 24px;
  }


  /* hero */

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-hero {
    height: 440px;
    min-height: 440px;
    align-items: flex-end;
    background-position: 61% center;
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-hero__overlay {
    background:
      linear-gradient(
        180deg,
        rgba(0,43,85,0.12) 0%,
        rgba(0,50,94,0.60) 42%,
        rgba(0,43,85,0.95) 100%
      );
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-hero__inner {
    padding-top: 60px;
    padding-bottom: 38px;
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-hero__content {
    max-width: none;
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-hero h1 {
    font-size: 44px;
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-hero p {
    margin-bottom: 24px;
    font-size: 17px;
    line-height: 1.42;
  }


  /* intro */

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-intro {
    padding: 48px 0 52px;
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-intro__grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-intro__logo {
    min-height: 180px;
    padding: 26px;
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-lead {
    font-size: 18px !important;
  }


  /* principi */

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-principles {
    padding: 48px 0 52px;
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-principles__grid {
    grid-template-columns: 1fr;
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-principle,
  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-principle:nth-child(3) {
    min-height: 0;

    border-left: none;
    border-top: 1px solid rgba(0,59,115,0.11);
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-principle:first-child {
    border-top: none;
  }


  /* Alta Valle Maira */

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-maira {
    padding: 52px 0 58px;
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-maira__grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-maira__visual {
    min-height: 430px;
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-photo--main {
    width: 94%;
    height: 340px;
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-photo--small {
    width: 54%;
    height: 165px;
    border-width: 5px;
  }


  /* manifesto */

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-statement {
    padding: 44px 0 48px;
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-statement p {
    font-size: 26px;
  }


  /* Crissolo */

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-crissolo {
    padding: 52px 0 56px;
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-crissolo__grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-crissolo__image {
    height: 300px;
  }


  /* collegamenti */

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-links {
    padding: 48px 0 54px;
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-links__grid {
    grid-template-columns: 1fr;
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-link {
    min-height: 145px;

    border-left: none;
    border-top: 1px solid rgba(0,59,115,0.11);
  }

  #top .cai-scuola-detail-wrap .cai-vm-page .cai-vm-link:first-child {
    border-top: none;
  }

}

/* =========================================================
   PRIVACY POLICY
========================================================= */

#top .cai-scuola-detail-page--privacy {
  color: #1f3448;
}


/* INTRO */

#top .cai-scuola-detail-page--privacy .cai-privacy-intro {
  padding-top: 78px;
  padding-bottom: 52px;
}

#top .cai-scuola-detail-page--privacy .cai-privacy-intro h1 {
  max-width: 940px;
  margin: 8px 0 22px;

  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: clamp(42px, 4.6vw, 66px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.035em;

  color: var(--cai-blue);
  text-transform: none;
}

#top .cai-scuola-detail-page--privacy .cai-privacy-lead {
  max-width: 820px;
  margin: 0;

  font-size: 20px;
  line-height: 1.55;
}

#top .cai-scuola-detail-page--privacy .cai-privacy-update {
  margin: 22px 0 0;

  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;

  color: rgba(31, 52, 72, 0.58);
}


/* INDICE */

#top .cai-scuola-detail-page--privacy .cai-privacy-index {
  padding-top: 32px;
  padding-bottom: 38px;

  border-top: 1px solid rgba(0, 59, 115, 0.14);
  border-bottom: 1px solid rgba(0, 59, 115, 0.14);
}

#top .cai-scuola-detail-page--privacy .cai-privacy-index__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 42px;

  margin-top: 18px;
}

#top .cai-scuola-detail-page--privacy .cai-privacy-index__links a {
  display: block;

  padding: 13px 0;

  border-bottom: 1px solid rgba(0, 59, 115, 0.10);

  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;

  color: var(--cai-blue) !important;
  text-decoration: none !important;
}


/* SEZIONI */

#top .cai-scuola-detail-page--privacy .cai-privacy-section {
  max-width: 1140px;

  padding-top: 52px;
  padding-bottom: 52px;

  border-bottom: 1px solid rgba(0, 59, 115, 0.12);
}

#top .cai-scuola-detail-page--privacy .cai-privacy-section h2 {
  max-width: 900px;

  margin: 8px 0 24px;

  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.1;
}

#top .cai-scuola-detail-page--privacy .cai-privacy-section h3 {
  margin: 0 0 12px;

  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 700;

  color: var(--cai-blue);
}

#top .cai-scuola-detail-page--privacy .cai-privacy-section p {
  max-width: 920px;

  font-size: 17px;
  line-height: 1.65;
}


/* TITOLARE */

#top .cai-scuola-detail-page--privacy .cai-privacy-contact {
  max-width: 700px;

  padding: 28px 32px;

  background: #ffffff;
  border-left: 4px solid var(--cai-gold);
}

#top .cai-scuola-detail-page--privacy .cai-privacy-contact > strong {
  display: block;

  margin-bottom: 12px;

  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 21px;

  color: var(--cai-blue);
}

#top .cai-scuola-detail-page--privacy .cai-privacy-contact p {
  margin: 8px 0;
}


/* DATI */

#top .cai-scuola-detail-page--privacy .cai-privacy-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;

  margin-top: 30px;
}

#top .cai-scuola-detail-page--privacy .cai-privacy-card {
  padding: 30px 32px;

  background: #ffffff;
  border: 1px solid rgba(0, 59, 115, 0.10);
}

#top .cai-scuola-detail-page--privacy .cai-privacy-card p {
  margin: 10px 0 0;

  font-size: 16px;
}


/* FINALITA */

#top .cai-scuola-detail-page--privacy .cai-privacy-purpose,
#top .cai-scuola-detail-page--privacy .cai-privacy-service {
  max-width: 960px;

  padding: 28px 0;

  border-top: 1px solid rgba(0, 59, 115, 0.12);
}

#top .cai-scuola-detail-page--privacy .cai-privacy-purpose:first-of-type,
#top .cai-scuola-detail-page--privacy .cai-privacy-service:first-of-type {
  margin-top: 18px;
}


/* SERVIZI */

#top .cai-scuola-detail-page--privacy .cai-privacy-service {
  position: relative;

  padding-left: 26px;
}

#top .cai-scuola-detail-page--privacy .cai-privacy-service::before {
  content: "";

  position: absolute;
  top: 32px;
  left: 0;

  width: 8px;
  height: 8px;

  border-radius: 50%;
  background: var(--cai-gold);
}


/* CONSERVAZIONE */

#top .cai-scuola-detail-page--privacy .cai-privacy-retention {
  max-width: 940px;

  margin-top: 26px;
  padding: 26px 30px;

  background: rgba(0, 59, 115, 0.045);
  border-left: 4px solid var(--cai-blue-light);
}

#top .cai-scuola-detail-page--privacy .cai-privacy-retention p {
  margin: 0 0 16px;
}

#top .cai-scuola-detail-page--privacy .cai-privacy-retention p:last-child {
  margin-bottom: 0;
}


/* DIRITTI */

#top .cai-scuola-detail-page--privacy .cai-privacy-rights {
  max-width: 900px;

  margin: 24px 0 26px;
}

#top .cai-scuola-detail-page--privacy .cai-privacy-rights span {
  position: relative;
  display: block;

  padding: 9px 0 9px 25px;

  border-bottom: 1px solid rgba(0, 59, 115, 0.09);

  font-size: 17px;
  line-height: 1.45;
}

#top .cai-scuola-detail-page--privacy .cai-privacy-rights span::before {
  content: "→";

  position: absolute;
  left: 0;

  color: var(--cai-gold);
  font-weight: 700;
}


/* COOKIE */

#top .cai-scuola-detail-page--privacy .cai-privacy-cookie {
  margin-top: 14px;

  background:
    linear-gradient(
      135deg,
      rgba(0, 59, 115, 0.055),
      rgba(0, 59, 115, 0.015)
    );
}


/* FINALE */

#top .cai-scuola-detail-page--privacy .cai-privacy-final {
  border-bottom: 0;
  padding-bottom: 72px;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media only screen and (max-width: 989px) {

  #top .cai-scuola-detail-page--privacy .cai-privacy-grid {
    grid-template-columns: 1fr;
  }

}


@media only screen and (max-width: 767px) {

  #top .cai-scuola-detail-page--privacy .cai-privacy-intro {
    padding-top: 50px;
    padding-bottom: 38px;
  }

  #top .cai-scuola-detail-page--privacy .cai-privacy-intro h1 {
    font-size: 40px;
  }

  #top .cai-scuola-detail-page--privacy .cai-privacy-lead {
    font-size: 17px;
  }

  #top .cai-scuola-detail-page--privacy .cai-privacy-index {
    padding-top: 26px;
    padding-bottom: 30px;
  }

  #top .cai-scuola-detail-page--privacy .cai-privacy-index__links {
    grid-template-columns: 1fr;
  }

  #top .cai-scuola-detail-page--privacy .cai-privacy-section {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  #top .cai-scuola-detail-page--privacy .cai-privacy-section h2 {
    font-size: 30px;
  }

  #top .cai-scuola-detail-page--privacy .cai-privacy-section p {
    font-size: 16px;
  }

  #top .cai-scuola-detail-page--privacy .cai-privacy-card,
  #top .cai-scuola-detail-page--privacy .cai-privacy-contact,
  #top .cai-scuola-detail-page--privacy .cai-privacy-retention {
    padding: 24px;
  }

} 
#top .cai-contatti-new-form-card .wpcf7-acceptance {
    display: block !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    text-align: left !important;
}

#top .cai-contatti-new-form-card .wpcf7-acceptance .wpcf7-list-item {
    margin: 0 !important;
    padding: 0 !important;
}

#top .cai-contatti-new-form-card .wpcf7-acceptance label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

#top .cai-contatti-new-form-card .wpcf7-acceptance input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    margin: 2px 0 0 0 !important;
    flex: 0 0 16px;
}

#top .cai-contatti-new-form-card .wpcf7-acceptance .wpcf7-list-item-label {
    font-size: 13px !important;
    line-height: 1.4 !important;
    text-align: left !important;
}
/* =========================================================
   VILLAGGI MONTANI — BOX ORIGINI / NOTE
========================================================= */

.cai-scuola-detail-wrap .cai-vm-note {
  margin: 28px 0 26px;
  padding: 22px 24px;

  background: #f7f5f1;
  border-top: 0;
  border-left: 4px solid var(--cai-gold);
}

.cai-scuola-detail-wrap .cai-vm-note > strong {
  display: block;

  margin: 0 0 10px;

  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 700;

  color: var(--cai-blue);
}

.cai-scuola-detail-wrap .cai-vm-note p {
  margin: 0 !important;

  font-size: 15px;
  line-height: 1.6;

  color: #536272;
}

.cai-scuola-detail-wrap .cai-vm-note p + p {
  margin-top: 12px !important;
}

/* IMPORTANTISSIMO:
   gli strong dentro i paragrafi devono restare inline */
.cai-scuola-detail-wrap .cai-vm-note p strong {
  display: inline !important;

  margin: 0 !important;

  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: 700;

  color: var(--cai-blue);
}
/* =========================================================
   GOOGLE MAPS — BLOCCO FINO AL CONSENSO COOKIE
========================================================= */

.cai-google-map-consent {
    position: relative;
}

.cai-google-map-consent .cai-google-map-consent-iframe {
    display: none;
    width: 100%;
    height: 100%;
}

.cai-google-map-consent--enabled .cai-google-map-consent-iframe {
    display: block;
}

.cai-google-map-consent--enabled .cai-google-map-consent-placeholder {
    display: none;
}

.cai-google-map-consent-placeholder {
    min-height: 360px;
    padding: 40px 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #f4f5f6;
    border: 1px solid rgba(13, 59, 102, 0.12);
}

.cai-google-map-consent-placeholder strong {
    display: block;
    margin-bottom: 8px;
    font-size: 18px;
    color: #0d3b66;
}

.cai-google-map-consent-placeholder p {
    max-width: 500px;
    margin: 0 0 18px !important;
    color: #536272;
    line-height: 1.55;
}

.cai-google-map-consent-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    border-radius: 3px;
    background: #0d3b66;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 600;
}

.cai-google-map-consent-button:hover {
    background: #092d4e;
    color: #fff !important;
}

/* =========================================================
   NEWS E CALENDARIO - FILTRI PIÙ COMPATTI
========================================================= */
/* =========================================================
   NEWS E CALENDARIO - FILTRI PIÙ COMPATTI
========================================================= */

#top .cai-news-calendar-page--clean .cai-event-filters {
  margin: 0 0 24px;
  padding: 20px 22px;

  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(20, 38, 55, 0.055);
}


/* Testata più compatta */

#top .cai-news-calendar-page--clean .cai-event-filters__head {
  align-items: center;
  gap: 18px;
  margin-bottom: 16px;
}

#top .cai-news-calendar-page--clean .cai-event-filters__kicker {
  margin-bottom: 2px;
  font-size: 11px;
}

#top .cai-news-calendar-page--clean .cai-event-filters__head h2 {
  font-size: 21px;
  line-height: 1.1;
}


/* Griglia principale */

#top .cai-news-calendar-page--clean .cai-event-filters__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px 14px;
}


/* Label */

#top .cai-news-calendar-page--clean .cai-event-filters label {
  gap: 5px;
}

#top .cai-news-calendar-page--clean .cai-event-filters label > span {
  font-size: 12px;
}


/* Select e ricerca più bassi */

#top .cai-news-calendar-page--clean .cai-event-filters select,
#top .cai-news-calendar-page--clean .cai-event-filters input[type="search"] {
  height: 40px;
  padding: 0 11px;

  border-radius: 6px;

  font-size: 14px;
}


/* Ricerca: 3 colonne, pulsante affiancato */

#top .cai-news-calendar-page--clean .cai-event-filters__search {
  grid-column: span 3;
}


/* Azioni sulla stessa riga della ricerca */

#top .cai-news-calendar-page--clean .cai-event-filters__actions {
  grid-column: span 1;
  align-self: end;

  display: flex;
  align-items: center;
  justify-content: flex-start;

  gap: 12px;
  margin-top: 0;
}


/* Bottone più compatto */

#top .cai-news-calendar-page--clean .cai-event-filters__submit {
  min-height: 40px;
  padding: 0 18px;

  border-radius: 6px;

  font-size: 13px;
}


/* Reset */

#top .cai-news-calendar-page--clean .cai-event-filters__reset {
  font-size: 13px;
}


/* Tablet */

@media only screen and (max-width: 989px) {

  #top .cai-news-calendar-page--clean .cai-event-filters__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #top .cai-news-calendar-page--clean .cai-event-filters__search {
    grid-column: span 1;
  }

  #top .cai-news-calendar-page--clean .cai-event-filters__actions {
    grid-column: span 1;
  }
}


/* Mobile */

@media only screen and (max-width: 767px) {

  #top .cai-news-calendar-page--clean .cai-event-filters {
    padding: 18px;
  }

  #top .cai-news-calendar-page--clean .cai-event-filters__head {
    display: block;
    margin-bottom: 14px;
  }

  #top .cai-news-calendar-page--clean .cai-event-filters__grid {
    grid-template-columns: 1fr;
    gap: 11px;
  }

  #top .cai-news-calendar-page--clean .cai-event-filters__search,
  #top .cai-news-calendar-page--clean .cai-event-filters__actions {
    grid-column: span 1;
  }

  #top .cai-news-calendar-page--clean .cai-event-filters__actions {
    margin-top: 2px;
  }
}
/* =========================================================
   NEWS E CALENDARIO - RICERCA + PULSANTE SULLA STESSA RIGA
========================================================= */

#top .cai-news-calendar-page--clean .cai-event-filters__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Ricerca larga 3 colonne */
#top .cai-news-calendar-page--clean .cai-event-filters__search {
  grid-column: span 3;
}

/* Pulsante nella quarta colonna */
#top .cai-news-calendar-page--clean .cai-event-filters__actions {
  grid-column: span 1;
  align-self: end;

  display: flex;
  align-items: center;
  justify-content: flex-start;

  margin: 0;
  padding: 0;
}

/* altezza coerente con il campo ricerca */
#top .cai-news-calendar-page--clean .cai-event-filters__submit {
  min-height: 40px;
  height: 40px;
  margin: 0;
}


/* Tablet */
@media only screen and (max-width: 989px) {

  #top .cai-news-calendar-page--clean .cai-event-filters__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #top .cai-news-calendar-page--clean .cai-event-filters__search,
  #top .cai-news-calendar-page--clean .cai-event-filters__actions {
    grid-column: span 1;
  }
}


/* Mobile */
@media only screen and (max-width: 767px) {

  #top .cai-news-calendar-page--clean .cai-event-filters__grid {
    grid-template-columns: 1fr;
  }

  #top .cai-news-calendar-page--clean .cai-event-filters__search,
  #top .cai-news-calendar-page--clean .cai-event-filters__actions {
    grid-column: 1;
  }

  #top .cai-news-calendar-page--clean .cai-event-filters__submit {
    width: 100%;
  }
}

/* Allinea "Applica filtri" al campo Ricerca */

#top .cai-news-calendar-page--clean .cai-event-filters__actions {
  align-self: end;
  transform: translateY(-20px);
}

@media only screen and (max-width: 767px) {
  #top .cai-news-calendar-page--clean .cai-event-filters__actions {
    transform: none;
  }
}
/* =========================================================
   HEADER / MENU - DESKTOP COMPATTO 1200–1500px
   Mantiene il menu completo e rimanda il burger sotto 1200px.
========================================================= */

@media only screen and (min-width: 1200px) and (max-width: 1500px) {

  /* Header leggermente più basso */
  #top #header,
  #top #header #header_main,
  #top #header #header_main .container,
  #top #header .inner-container,
  #top #header .logo,
  #top #header .logo a,
  #top #header .main_menu,
  #top #header .av-main-nav,
  #top #header .av-main-nav > li {
    height: 80px !important;
  }

  /* Logo più compatto */
  #top #header .logo img {
    max-height: 52px !important;
  }

  #top #header .cai-logo-text {
    margin-left: 10px !important;
    margin-right: 0 !important;
  }

  #top #header .cai-logo-title {
    font-size: 18px !important;
  }

  #top #header .cai-logo-subtitle {
    display: none !important;
  }

  /* Menu completo visibile */
  #top #header .av-main-nav > li.menu-item:not(.av-burger-menu-main) {
    display: flex !important;
    align-items: center !important;
  }

  #top #header .av-main-nav > li.av-burger-menu-main {
    display: none !important;
  }

  /* Voci un punto più piccole e meno larghe */
  #top #header .av-main-nav > li > a {
    height: 80px !important;
    padding: 0 7px !important;
    font-size: 15px !important;
    line-height: 1 !important;
  }

  /* Freccia delle voci con sottomenu più compatta */
  #top #header .av-main-nav > li.menu-item-has-children > a .avia-menu-text::after {
    margin-left: 4px !important;
    font-size: 14px !important;
  }

  /* Linea attiva coerente con header da 80px */
  #top #header .av-main-nav > li > a::after {
    left: 7px !important;
    right: 7px !important;
    bottom: 20px !important;
  }

  /* Eventuale CTA "Diventa socio" più stretta */
  #top #header .av-main-nav > li.menu-diventa-socio > a {
    height: 36px !important;
    line-height: 36px !important;
    padding: 0 11px !important;
    margin-left: 4px !important;
  }

  /* I dropdown devono partire sotto l'header compatto */
  #top #header .av-main-nav > li.menu-la-sezione > ul.sub-menu,
  #top #header .av-main-nav > li.menu-rifugi-bivacchi > ul.sub-menu {
    top: 80px !important;
  }
}
/* =========================================================
   HEADER / MENU - SEPARATORI VERTICALI NEL DESKTOP COMPATTO
========================================================= */

@media only screen and (min-width: 1200px) and (max-width: 1500px) {

  #top #header .av-main-nav > li.menu-item:not(.av-burger-menu-main) {
    position: relative !important;
  }

  #top #header .av-main-nav > li.menu-item:not(:first-child):not(.av-burger-menu-main)::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    width: 1px !important;
    height: 18px !important;
    transform: translateY(-50%) !important;
    background: rgba(0, 59, 115, 0.18) !important;
    pointer-events: none !important;
  }

  /* Su header trasparente la linea diventa chiara */
  #top #header.av_header_transparency
  .av-main-nav > li.menu-item:not(:first-child):not(.av-burger-menu-main)::before {
    background: rgba(255, 255, 255, 0.42) !important;
  }
}
/* =========================================================
   HEADER / MENU - RIMUOVE I VECCHI SEPARATORI ATTACCATI AL TESTO
   nella fascia desktop compatta; restano solo quelli centrati
========================================================= */

@media only screen and (min-width: 1200px) and (max-width: 1500px) {

  #top #header .av-main-nav > li > a,
  #top #header .av-main-nav > li > a .avia-menu-text {
    border-left: 0 !important;
    border-right: 0 !important;
  }

  #top #header .av-main-nav > li {
    border-left: 0 !important;
    border-right: 0 !important;
  }
}

/* ==========================================================
   INALTO - ARCHIVIO FOTOGRAFICO
========================================================== */

.cai-scuola-detail-page--inalto {
  overflow: hidden;
}


/* ==========================================================
   HERO
   Stessa griglia e stesso asse di Villaggi Montani
========================================================== */

.cai-inalto-hero {
  position: relative;
  height: 540px;
  min-height: 540px;
  display: flex;
  align-items: center;
  padding: 0;
  margin-bottom: 60px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  overflow: hidden;
  box-sizing: border-box;
}


/* stesso contenitore di Villaggi Montani */

#top .cai-scuola-detail-wrap
.cai-scuola-detail-page--inalto
.cai-vm-inner {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding-left: 56px;
  padding-right: 56px;
  box-sizing: border-box;
}


/* stesso inner hero di Villaggi Montani */

#top .cai-scuola-detail-wrap
.cai-scuola-detail-page--inalto
.cai-vm-hero__inner {
  position: relative;
  z-index: 2;
  padding-top: 70px;
  padding-bottom: 70px;
}


/* contenuto vero e proprio */

.cai-inalto-hero__content {
  position: relative;
  z-index: 2;
  max-width: 650px;
  color: #fff;
}


/* kicker */

.cai-inalto-hero__kicker {
  display: block;
  margin-bottom: 12px;
  color: #e7b53c !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
}


/* titolo */

#top .main_color
.cai-scuola-detail-page--inalto
.cai-inalto-hero h1,
#top .main_color
.cai-scuola-detail-page--inalto
.cai-inalto-hero h1 * {
  max-width: 680px;
  margin: 0 0 16px;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: clamp(48px, 5vw, 70px) !important;
  line-height: 0.98 !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  text-transform: none !important;
}


/* sottotitolo */

#top .main_color
.cai-scuola-detail-page--inalto
.cai-inalto-hero h2,
#top .main_color
.cai-scuola-detail-page--inalto
.cai-inalto-hero h2 * {
  max-width: 650px;
  margin: 0 0 20px;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: clamp(20px, 1.7vw, 26px) !important;
  line-height: 1.25 !important;
  letter-spacing: 0;
  text-transform: none !important;
  font-weight: 700 !important;
}

#top .main_color
.cai-scuola-detail-page--inalto
.cai-inalto-hero h2 span {
  display: block;
  margin-top: 6px;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 0.9em !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  text-transform: none !important;
}


/* testo hero */

#top .main_color
.cai-scuola-detail-page--inalto
.cai-inalto-hero p {
  max-width: 610px;
  margin: 0 0 30px;
  color: rgba(255,255,255,0.90) !important;
  -webkit-text-fill-color: rgba(255,255,255,0.90) !important;
  font-size: 20px !important;
  line-height: 1.48 !important;
}


.cai-inalto-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}


/* ==========================================================
   BUTTON
========================================================== */

.cai-inalto-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 24px;
  border: 1px solid transparent;
  text-decoration: none !important;
  font-family: 'ibm-plex-sans', Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  transition:
    transform .2s ease,
    background .2s ease,
    border-color .2s ease;
}

.cai-inalto-button:hover {
  transform: translateY(-2px);
}

.cai-inalto-button--light {
  background: #fff;
  color: #003B73 !important;
}

.cai-inalto-button--ghost {
  border-color: rgba(255,255,255,0.55);
  color: #fff !important;
  background: rgba(255,255,255,0.06);
}

#top .main_color
.cai-scuola-detail-page--inalto
.cai-inalto-button--ghost,

#top .main_color
.cai-scuola-detail-page--inalto
.cai-inalto-button--ghost:hover,

#top .main_color
.cai-scuola-detail-page--inalto
.cai-inalto-button--ghost:focus {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

.cai-inalto-button--ghost:hover {
  background: rgba(255,255,255,0.14);
}


/* ==========================================================
   INTRO
========================================================== */

.cai-inalto-intro {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 70px;
  align-items: start;
}

.cai-inalto-intro h2,
.cai-scuola-detail-page--inalto .cai-scuola-detail-head h2,
.cai-inalto-process h2,
.cai-inalto-purpose h2,
.cai-inalto-contribute h2 {
  text-transform: none;
}

.cai-inalto-intro__big {
  max-width: 760px;
  font-size: clamp(1.35rem, 2.3vw, 2rem);
  line-height: 1.5;
  color: #1F3448;
}

.cai-inalto-intro__text {
  padding-top: 35px;
}

.cai-inalto-intro__text p {
  margin-bottom: 18px;
}


/* ==========================================================
   DATI CHIAVE
========================================================== */

.cai-inalto-facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin: 38px 0 80px;
}

.cai-inalto-fact {
  position: relative;
  min-height: 150px;
  padding: 34px 32px 30px;
  background: #fff;
  border-top: 5px solid #7F9FCA;
  box-shadow: 0 14px 32px rgba(31,52,72,0.08);
}

.cai-inalto-fact::after {
  content: "";
  position: absolute;
  left: 32px;
  bottom: 22px;
  width: 32px;
  height: 3px;
  background: #d59b16;
}

.cai-inalto-fact strong {
  display: block;
  margin: 0 0 12px;
  color: #003B73;
  font-size: 1.45rem;
  line-height: 1.2;
  font-weight: 700;
}

.cai-inalto-fact span {
  display: block;
  max-width: 330px;
  padding-bottom: 20px;
  color: #40566f;
  font-size: 1rem;
  line-height: 1.55;
}


/* ==========================================================
   MOSAICO
========================================================== */

.cai-inalto-mosaic {
  display: grid;
  grid-template-columns: 1.55fr .9fr;
  grid-template-rows: 1fr 1fr;
  gap: 20px;
}

.cai-inalto-mosaic figure {
  margin: 0;
}

.cai-inalto-mosaic__main {
  grid-row: 1 / 3;
  position: relative;
  min-height: 650px;
  overflow: hidden;
}

.cai-inalto-mosaic__main img,
.cai-inalto-mosaic__small img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.cai-inalto-mosaic__main figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 60px 28px 24px;
  color: #fff;
  line-height: 1.5;
  background:
    linear-gradient(
      to top,
      rgba(0,37,72,.9),
      rgba(0,37,72,0)
    );
}

.cai-inalto-mosaic__small {
  min-height: 315px;
  overflow: hidden;
}

.cai-inalto-mosaic__text {
  display: flex;
  align-items: center;
  padding: 40px;
  background: #003B73;
}

.cai-inalto-mosaic__text blockquote {
  margin: 0;
  padding: 0;
  border: 0;
  color: #fff;
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1.45;
  font-style: normal;
}


/* ==========================================================
   ARCHIVIO
========================================================== */

.cai-scuola-detail-page--inalto .cai-inalto-archive {
  padding-top: 52px;
  margin-top: 0;
}

.cai-scuola-detail-page--inalto
.cai-inalto-archive .cai-scuola-detail-head {
  margin-top: 0;
  margin-bottom: 34px;
}

.cai-scuola-detail-page--inalto
.cai-inalto-archive .cai-scuola-detail-kicker {
  display: block;
  margin: 0 0 12px;
}

.cai-inalto-archive-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(0,59,115,.15);
  border-bottom: 1px solid rgba(0,59,115,.15);
}

.cai-inalto-archive-card {
  position: relative;
  padding: 36px 34px 40px;
  border-right: 1px solid rgba(0,59,115,.15);
}

.cai-inalto-archive-card:last-child {
  border-right: 0;
}

.cai-inalto-archive-card > span {
  display: block;
  margin-bottom: 28px;
  color: #7F9FCA;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .14em;
}

.cai-inalto-archive-card h3 {
  margin-bottom: 14px;
  color: #003B73;
  font-size: 1.45rem;
}

.cai-inalto-archive-card p {
  margin-bottom: 0;
}


/* ==========================================================
   PROCESSO - ARCHIVIO VIVO
========================================================== */

#top .cai-scuola-detail-page--inalto .cai-inalto-process {
  margin-top: 96px;
  margin-bottom: 100px;
}

#top .cai-scuola-detail-page--inalto .cai-inalto-process__header {
  max-width: 980px;
  margin: 0 0 46px;
}

#top .cai-scuola-detail-page--inalto
.cai-inalto-process__header .cai-scuola-detail-kicker {
  display: block;
  margin-bottom: 14px;
}

#top .cai-scuola-detail-page--inalto
.cai-inalto-process__header h2 {
  max-width: 920px;
  margin: 0 0 20px;
  color: #003B73 !important;
  font-size: clamp(2.2rem, 3.4vw, 3.35rem) !important;
  line-height: 1.08 !important;
  text-transform: none !important;
}

#top .cai-scuola-detail-page--inalto
.cai-inalto-process__header p {
  max-width: 760px;
  margin: 0;
  color: #40566f;
  font-size: 1.08rem;
  line-height: 1.7;
}

#top .cai-scuola-detail-page--inalto
.cai-inalto-process__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(0,59,115,.18);
  border-bottom: 1px solid rgba(0,59,115,.18);
}

#top .cai-scuola-detail-page--inalto
.cai-inalto-process__step {
  position: relative;
  min-height: 245px;
  padding: 38px 34px 40px;
  border-right: 1px solid rgba(0,59,115,.14);
}

#top .cai-scuola-detail-page--inalto
.cai-inalto-process__step:last-child {
  border-right: 0;
}

#top .cai-scuola-detail-page--inalto
.cai-inalto-process__step::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 34px;
  width: 58px;
  height: 4px;
  background: #7F9FCA;
}

#top .cai-scuola-detail-page--inalto
.cai-inalto-process__step > span {
  display: block;
  margin-bottom: 24px;
  color: #7F9FCA;
  font-size: 1.1rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: .08em;
}

#top .cai-scuola-detail-page--inalto
.cai-inalto-process__step h3 {
  margin: 0 0 15px;
  color: #003B73 !important;
  font-size: 1.45rem !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}

#top .cai-scuola-detail-page--inalto
.cai-inalto-process__step p {
  max-width: 360px;
  margin: 0;
  color: #40566f;
  font-size: 1rem;
  line-height: 1.65;
}


/* ==========================================================
   PERCHÉ INALTO
========================================================== */

.cai-inalto-purpose {
  position: relative;
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 90px;
  align-items: start;
  margin-top: 20px;
  margin-bottom: 100px;
  padding-top: 70px;
  padding-bottom: 70px;
  border-top: 1px solid rgba(127,159,202,.55);
  border-bottom: 1px solid rgba(127,159,202,.55);
}

.cai-inalto-purpose::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 120px;
  height: 5px;
  background: #7F9FCA;
}

.cai-inalto-purpose__heading .cai-scuola-detail-kicker {
  display: block;
  margin-bottom: 16px;
}

#top .cai-inalto-purpose__heading h2 {
  max-width: 720px;
  margin: 0;
  color: #003B73 !important;
  font-size: clamp(2.15rem, 3.4vw, 3.35rem) !important;
  line-height: 1.08 !important;
  text-transform: none !important;
}

.cai-inalto-purpose__text {
  padding-top: 35px;
}

.cai-inalto-purpose__text p {
  margin: 0 0 22px;
  max-width: 560px;
  color: #40566f;
  font-size: 1.05rem;
  line-height: 1.75;
}

.cai-inalto-purpose__text p:last-child {
  margin-bottom: 0;
}


/* ==========================================================
   CONTRIBUISCI
========================================================== */

.cai-inalto-contribute {
  position: relative;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 80px;
  align-items: center;
  margin-top: 0;
  padding-top: 15px;
  padding-bottom: 95px;
}

.cai-inalto-contribute::before {
  content: "";
  position: absolute;
  top: 0;
  right: -90px;
  bottom: 55px;
  width: 42%;
  max-width: 520px;
  background: rgba(127,159,202,.16);
  z-index: 0;
}

.cai-inalto-contribute__intro,
.cai-inalto-contribute__action {
  position: relative;
  z-index: 1;
}

.cai-inalto-contribute__intro {
  padding: 55px 0 50px;
}

.cai-inalto-contribute__intro .cai-scuola-detail-kicker {
  display: block;
  margin-bottom: 16px;
}

#top .cai-inalto-contribute__intro h2 {
  max-width: 680px;
  margin: 0 0 24px;
  color: #003B73 !important;
  font-size: clamp(2.15rem, 3.2vw, 3.05rem) !important;
  line-height: 1.08 !important;
  text-transform: none !important;
}

.cai-inalto-contribute__lead {
  max-width: 600px;
  margin: 0;
  color: #1F3448;
  font-size: 1.18rem;
  line-height: 1.65;
}

.cai-inalto-contribute__action {
  padding: 48px 50px;
  background: #fff;
  border-left: 5px solid #7F9FCA;
  box-shadow: 0 18px 46px rgba(31,52,72,.10);
}

.cai-inalto-contribute__action > p {
  margin: 0 0 26px;
  max-width: 520px;
  color: #40566f;
  font-size: 1rem;
  line-height: 1.7;
}

.cai-inalto-contribute__contacts {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 26px;
  margin: 0 0 28px;
}

#top .cai-inalto-contribute__contacts a {
  color: #003B73 !important;
  font-weight: 700;
  text-decoration: none !important;
}

#top .cai-inalto-contribute__contacts a:hover {
  color: #d59b16 !important;
}


/* ==========================================================
   PULSANTE FINALE
========================================================== */

#top .cai-inalto-button--final,
#top .cai-inalto-button--final:hover,
#top .cai-inalto-button--final:focus {
  align-self: flex-start;
  background: #003B73;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border-color: #003B73;
}

#top .cai-inalto-button--final:hover,
#top .cai-inalto-button--final:focus {
  background: #0050A4;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border-color: #0050A4;
}


/* ==========================================================
   HERO - TABLET
   Stesso breakpoint di Villaggi Montani
========================================================== */

@media only screen and (max-width: 1180px) {

  .cai-inalto-hero {
    height: 480px;
    min-height: 480px;
  }

  #top .cai-scuola-detail-wrap
  .cai-scuola-detail-page--inalto
  .cai-vm-inner {
    padding-left: 34px;
    padding-right: 34px;
  }

}


/* ==========================================================
   TABLET CONTENUTI
========================================================== */

@media (max-width: 989px) {

  .cai-inalto-intro {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .cai-inalto-intro__text {
    padding-top: 0;
  }

  .cai-inalto-facts {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-bottom: 60px;
  }

  .cai-inalto-fact {
    min-height: 0;
    padding: 30px;
  }

  .cai-inalto-mosaic {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  .cai-inalto-mosaic__main {
    grid-row: auto;
    min-height: 460px;
  }

  .cai-inalto-mosaic__small {
    min-height: 280px;
  }

  .cai-scuola-detail-page--inalto .cai-inalto-archive {
    padding-top: 38px;
  }

  .cai-inalto-archive-grid {
    grid-template-columns: 1fr;
  }

  .cai-inalto-archive-card {
    border-right: 0;
    border-bottom: 1px solid rgba(0,59,115,.15);
  }

  .cai-inalto-archive-card:last-child {
    border-bottom: 0;
  }


  /* processo */

  #top .cai-scuola-detail-page--inalto .cai-inalto-process {
    margin-top: 68px;
    margin-bottom: 72px;
  }

  #top .cai-scuola-detail-page--inalto
  .cai-inalto-process__header {
    margin-bottom: 34px;
  }

  #top .cai-scuola-detail-page--inalto
  .cai-inalto-process__steps {
    grid-template-columns: 1fr;
  }

  #top .cai-scuola-detail-page--inalto
  .cai-inalto-process__step {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid rgba(0,59,115,.14);
  }

  #top .cai-scuola-detail-page--inalto
  .cai-inalto-process__step:last-child {
    border-bottom: 0;
  }


  /* perché */

  .cai-inalto-purpose {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 70px;
    padding-top: 55px;
    padding-bottom: 55px;
  }

  .cai-inalto-purpose__text {
    padding-top: 0;
  }


  /* contribuisci */

  .cai-inalto-contribute {
    grid-template-columns: 1fr;
    gap: 15px;
    padding-bottom: 70px;
  }

  .cai-inalto-contribute::before {
    display: none;
  }

  .cai-inalto-contribute__intro {
    padding: 35px 0 20px;
  }

  .cai-inalto-contribute__action {
    padding: 38px 34px;
  }

}


/* ==========================================================
   MOBILE
   Stessa logica hero di Villaggi Montani
========================================================== */

@media only screen and (max-width: 767px) {

  #top .cai-scuola-detail-wrap
  .cai-scuola-detail-page--inalto
  .cai-vm-inner {
    padding-left: 24px;
    padding-right: 24px;
  }

  .cai-inalto-hero {
    height: 440px;
    min-height: 440px;
    align-items: flex-end;
    background-position: 61% center;
  }

  #top .cai-scuola-detail-wrap
  .cai-scuola-detail-page--inalto
  .cai-vm-hero__inner {
    padding-top: 60px;
    padding-bottom: 38px;
  }

  .cai-inalto-hero__content {
    max-width: none;
  }

  #top .main_color
  .cai-scuola-detail-page--inalto
  .cai-inalto-hero h1 {
    font-size: 44px !important;
  }

  #top .main_color
  .cai-scuola-detail-page--inalto
  .cai-inalto-hero h2 {
    font-size: 18px !important;
  }

  #top .main_color
  .cai-scuola-detail-page--inalto
  .cai-inalto-hero p {
    margin-bottom: 24px;
    font-size: 17px !important;
    line-height: 1.42 !important;
  }

  .cai-inalto-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .cai-inalto-button {
    width: 100%;
  }

}


/* ==========================================================
   MOBILE PICCOLO - CONTENUTI
========================================================== */

@media (max-width: 600px) {

  .cai-inalto-fact {
    padding: 28px 24px;
  }

  .cai-inalto-fact::after {
    left: 24px;
  }

  .cai-inalto-fact strong {
    font-size: 1.3rem;
  }

  .cai-inalto-mosaic__main {
    min-height: 380px;
  }

  .cai-inalto-mosaic__text {
    padding: 30px 25px;
  }


  /* processo */

  #top .cai-scuola-detail-page--inalto
  .cai-inalto-process {
    margin-top: 52px;
    margin-bottom: 56px;
  }

  #top .cai-scuola-detail-page--inalto
  .cai-inalto-process__header h2 {
    font-size: 2rem !important;
  }

  #top .cai-scuola-detail-page--inalto
  .cai-inalto-process__step {
    padding: 32px 24px 34px;
  }

  #top .cai-scuola-detail-page--inalto
  .cai-inalto-process__step::before {
    left: 24px;
  }


  /* perché */

  .cai-inalto-purpose {
    padding-top: 45px;
    padding-bottom: 45px;
    margin-bottom: 50px;
  }

  .cai-inalto-purpose::before {
    width: 80px;
  }

  #top .cai-inalto-purpose__heading h2 {
    font-size: 2rem !important;
  }


  /* contribuisci */

  .cai-inalto-contribute {
    padding-bottom: 50px;
  }

  .cai-inalto-contribute__intro {
    padding-top: 20px;
  }

  #top .cai-inalto-contribute__intro h2 {
    font-size: 1.95rem !important;
  }

  .cai-inalto-contribute__lead {
    font-size: 1.05rem;
  }

  .cai-inalto-contribute__action {
    padding: 32px 24px;
    border-left-width: 4px;
  }

  .cai-inalto-contribute__contacts {
    flex-direction: column;
    gap: 8px;
  }

}

/* =========================================================
   MTB CAI CUNEO — FOTO + GALLERIA
   Da aggiungere IN FONDO a style.css del tema child
========================================================= */


/* =========================================================
   FOTO FISSA DOPO "MONTAGNA, TECNICA E DIVERTIMENTO"
========================================================= */

#top .cai-scuola-detail-page--mtb
.cai-mtb-photo-feature {
  position: relative !important;

  width: min(1320px, calc(100% - 112px)) !important;
  max-width: 1320px !important;

  margin: 0 auto 72px !important;

  background: #003b73 !important;
  border: 0 !important;
  border-radius: 3px !important;

  box-shadow: 0 18px 46px rgba(0, 59, 115, 0.13) !important;

  overflow: hidden !important;
}

#top .cai-scuola-detail-page--mtb
.cai-mtb-photo-feature img {
  display: block !important;

  width: 100% !important;
  height: clamp(340px, 39vw, 520px) !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center 48% !important;

  border: 0 !important;
}

#top .cai-scuola-detail-page--mtb
.cai-mtb-photo-feature::after {
  content: "" !important;

  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;

  height: 44% !important;

  background:
    linear-gradient(
      to top,
      rgba(0, 45, 88, 0.88) 0%,
      rgba(0, 45, 88, 0.48) 48%,
      rgba(0, 45, 88, 0) 100%
    ) !important;

  pointer-events: none !important;
}

#top .cai-scuola-detail-page--mtb
.cai-mtb-photo-feature figcaption {
  position: absolute !important;
  z-index: 2 !important;

  left: 34px !important;
  right: 34px !important;
  bottom: 28px !important;

  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;

  margin: 0 !important;
  padding: 0 !important;
}

#top .cai-scuola-detail-page--mtb
.cai-mtb-photo-feature figcaption span {
  color: #f1cf72 !important;
  -webkit-text-fill-color: #f1cf72 !important;

  font-family: var(--cai-font-body) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
}

#top .cai-scuola-detail-page--mtb
.cai-mtb-photo-feature figcaption strong {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;

  font-family: var(--cai-font-title) !important;
  font-size: clamp(24px, 2.25vw, 36px) !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
}


/* =========================================================
   GALLERIA MTB — SOLO HTML + CSS, NESSUN AUTOPLAY
========================================================= */

#top .cai-scuola-detail-page--mtb
.cai-mtb-gallery-section
.cai-scuola-detail-head {
  max-width: 820px !important;
  margin-bottom: 38px !important;
}

#top .cai-scuola-detail-page--mtb
.cai-mtb-gallery {
  position: relative !important;

  width: 100% !important;
  max-width: 1120px !important;

  margin: 0 auto !important;
}

#top .cai-scuola-detail-page--mtb
.cai-mtb-gallery__control {
  position: absolute !important;

  width: 1px !important;
  height: 1px !important;

  margin: -1px !important;
  padding: 0 !important;

  opacity: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

#top .cai-scuola-detail-page--mtb
.cai-mtb-gallery__viewport {
  position: relative !important;

  width: 100% !important;

  background: #003b73 !important;
  border-radius: 3px !important;

  box-shadow: 0 18px 46px rgba(0, 59, 115, 0.13) !important;

  overflow: hidden !important;
}

#top .cai-scuola-detail-page--mtb
.cai-mtb-gallery__track {
  display: flex !important;

  width: 600% !important;

  transform: translateX(0) !important;
  transition: transform 0.42s ease !important;
}

#top .cai-scuola-detail-page--mtb
.cai-mtb-gallery__slide {
  position: relative !important;
  flex: 0 0 calc(100% / 6) !important;

  width: calc(100% / 6) !important;
  aspect-ratio: 16 / 9 !important;

  margin: 0 !important;
  padding: 0 !important;

  background: #003b73 !important;

  overflow: hidden !important;
}

#top .cai-scuola-detail-page--mtb
.cai-mtb-gallery__slide::after {
  content: "" !important;

  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;

  height: 34% !important;

  background:
    linear-gradient(
      to top,
      rgba(0, 31, 62, 0.78) 0%,
      rgba(0, 31, 62, 0) 100%
    ) !important;

  pointer-events: none !important;
}

#top .cai-scuola-detail-page--mtb
.cai-mtb-gallery__slide img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center !important;

  border: 0 !important;
}

#top .cai-scuola-detail-page--mtb
.cai-mtb-gallery__slide figcaption {
  position: absolute !important;
  z-index: 2 !important;

  left: 28px !important;
  right: 90px !important;
  bottom: 24px !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;

  font-family: var(--cai-font-body) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

#top .cai-scuola-detail-page--mtb
.cai-mtb-gallery__arrows {
  position: absolute !important;
  z-index: 3 !important;

  top: 50% !important;
  left: 18px !important;
  right: 18px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;

  transform: translateY(-50%) !important;

  pointer-events: none !important;
}

#top .cai-scuola-detail-page--mtb
.cai-mtb-gallery__arrows label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 52px !important;
  height: 52px !important;

  margin: 0 !important;
  padding: 0 0 4px !important;

  color: var(--cai-mtb-blue) !important;
  -webkit-text-fill-color: var(--cai-mtb-blue) !important;

  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(255, 255, 255, 0.78) !important;
  border-radius: 50% !important;

  box-shadow: 0 8px 24px rgba(0, 31, 62, 0.22) !important;

  font-family: Arial, sans-serif !important;
  font-size: 36px !important;
  font-weight: 400 !important;
  line-height: 1 !important;

  cursor: pointer !important;
  pointer-events: auto !important;
  user-select: none !important;

  transition:
    transform 0.2s ease,
    background 0.2s ease !important;
}

#top .cai-scuola-detail-page--mtb
.cai-mtb-gallery__arrows label:hover {
  background: #ffffff !important;
  transform: scale(1.06) !important;
}


/* Movimento delle 6 slide */

#top #cai-mtb-gal-1:checked
~ .cai-mtb-gallery__viewport
.cai-mtb-gallery__track {
  transform: translateX(0) !important;
}

#top #cai-mtb-gal-2:checked
~ .cai-mtb-gallery__viewport
.cai-mtb-gallery__track {
  transform: translateX(-16.6666667%) !important;
}

#top #cai-mtb-gal-3:checked
~ .cai-mtb-gallery__viewport
.cai-mtb-gallery__track {
  transform: translateX(-33.3333333%) !important;
}

#top #cai-mtb-gal-4:checked
~ .cai-mtb-gallery__viewport
.cai-mtb-gallery__track {
  transform: translateX(-50%) !important;
}

#top #cai-mtb-gal-5:checked
~ .cai-mtb-gallery__viewport
.cai-mtb-gallery__track {
  transform: translateX(-66.6666667%) !important;
}

#top #cai-mtb-gal-6:checked
~ .cai-mtb-gallery__viewport
.cai-mtb-gallery__track {
  transform: translateX(-83.3333333%) !important;
}


/* Pallini */

#top .cai-scuola-detail-page--mtb
.cai-mtb-gallery__dots {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;

  margin-top: 18px !important;
}

#top .cai-scuola-detail-page--mtb
.cai-mtb-gallery__dots label {
  display: block !important;

  width: 10px !important;
  height: 10px !important;

  margin: 0 !important;
  padding: 0 !important;

  background: rgba(0, 59, 115, 0.20) !important;
  border: 0 !important;
  border-radius: 50% !important;

  cursor: pointer !important;

  transition:
    width 0.2s ease,
    border-radius 0.2s ease,
    background 0.2s ease !important;
}

#top #cai-mtb-gal-1:checked ~ .cai-mtb-gallery__dots label[for="cai-mtb-gal-1"],
#top #cai-mtb-gal-2:checked ~ .cai-mtb-gallery__dots label[for="cai-mtb-gal-2"],
#top #cai-mtb-gal-3:checked ~ .cai-mtb-gallery__dots label[for="cai-mtb-gal-3"],
#top #cai-mtb-gal-4:checked ~ .cai-mtb-gallery__dots label[for="cai-mtb-gal-4"],
#top #cai-mtb-gal-5:checked ~ .cai-mtb-gallery__dots label[for="cai-mtb-gal-5"],
#top #cai-mtb-gal-6:checked ~ .cai-mtb-gallery__dots label[for="cai-mtb-gal-6"] {
  width: 28px !important;

  background: var(--cai-mtb-green) !important;
  border-radius: 999px !important;
}


/* =========================================================
   FOTO DI GRUPPO PRIMA DELLA CTA
========================================================= */

#top .cai-scuola-detail-page--mtb
.cai-mtb-group-photo {
  position: relative !important;

  width: min(1320px, calc(100% - 112px)) !important;
  max-width: 1320px !important;

  margin: 0 auto 72px !important;

  background: #003b73 !important;
  border: 0 !important;
  border-radius: 3px !important;

  box-shadow: 0 18px 46px rgba(0, 59, 115, 0.13) !important;

  overflow: hidden !important;
}

#top .cai-scuola-detail-page--mtb
.cai-mtb-group-photo img {
  display: block !important;

  width: 100% !important;
  height: clamp(340px, 42vw, 540px) !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center 52% !important;

  border: 0 !important;
}

#top .cai-scuola-detail-page--mtb
.cai-mtb-group-photo::after {
  content: "" !important;

  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;

  height: 42% !important;

  background:
    linear-gradient(
      to top,
      rgba(0, 45, 88, 0.86) 0%,
      rgba(0, 45, 88, 0) 100%
    ) !important;

  pointer-events: none !important;
}

#top .cai-scuola-detail-page--mtb
.cai-mtb-group-photo figcaption {
  position: absolute !important;
  z-index: 2 !important;

  left: 34px !important;
  right: 34px !important;
  bottom: 28px !important;

  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;

  margin: 0 !important;
  padding: 0 !important;
}

#top .cai-scuola-detail-page--mtb
.cai-mtb-group-photo figcaption span {
  color: #f1cf72 !important;
  -webkit-text-fill-color: #f1cf72 !important;

  font-family: var(--cai-font-body) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
}

#top .cai-scuola-detail-page--mtb
.cai-mtb-group-photo figcaption strong {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;

  font-family: var(--cai-font-title) !important;
  font-size: clamp(24px, 2.25vw, 36px) !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media only screen and (max-width: 989px) {

  #top .cai-scuola-detail-page--mtb
  .cai-mtb-photo-feature,
  #top .cai-scuola-detail-page--mtb
  .cai-mtb-group-photo {
    width: calc(100% - 68px) !important;

    margin-bottom: 58px !important;
  }

  #top .cai-scuola-detail-page--mtb
  .cai-mtb-photo-feature img,
  #top .cai-scuola-detail-page--mtb
  .cai-mtb-group-photo img {
    height: 430px !important;
  }

}


/* =========================================================
   SMARTPHONE
========================================================= */

@media only screen and (max-width: 767px) {

  #top .cai-scuola-detail-page--mtb
  .cai-mtb-photo-feature,
  #top .cai-scuola-detail-page--mtb
  .cai-mtb-group-photo {
    width: calc(100% - 48px) !important;

    margin-bottom: 46px !important;

    border-radius: 2px !important;
  }

  #top .cai-scuola-detail-page--mtb
  .cai-mtb-photo-feature img,
  #top .cai-scuola-detail-page--mtb
  .cai-mtb-group-photo img {
    height: 280px !important;
  }

  #top .cai-scuola-detail-page--mtb
  .cai-mtb-photo-feature figcaption,
  #top .cai-scuola-detail-page--mtb
  .cai-mtb-group-photo figcaption {
    left: 20px !important;
    right: 20px !important;
    bottom: 18px !important;
  }

  #top .cai-scuola-detail-page--mtb
  .cai-mtb-photo-feature figcaption strong,
  #top .cai-scuola-detail-page--mtb
  .cai-mtb-group-photo figcaption strong {
    font-size: 23px !important;
  }

  #top .cai-scuola-detail-page--mtb
  .cai-mtb-gallery-section
  .cai-scuola-detail-head {
    margin-bottom: 28px !important;
  }

  #top .cai-scuola-detail-page--mtb
  .cai-mtb-gallery__slide {
    aspect-ratio: 4 / 3 !important;
  }

  #top .cai-scuola-detail-page--mtb
  .cai-mtb-gallery__slide figcaption {
    left: 18px !important;
    right: 70px !important;
    bottom: 17px !important;

    font-size: 14px !important;
  }

  #top .cai-scuola-detail-page--mtb
  .cai-mtb-gallery__arrows {
    left: 10px !important;
    right: 10px !important;
  }

  #top .cai-scuola-detail-page--mtb
  .cai-mtb-gallery__arrows label {
    width: 44px !important;
    height: 44px !important;

    padding-bottom: 3px !important;

    font-size: 31px !important;
  }

  #top .cai-scuola-detail-page--mtb
  .cai-mtb-gallery__dots {
    gap: 8px !important;

    margin-top: 15px !important;
  }

}
