.cmm-public-news{max-width:1220px;margin:72px auto;padding:0 24px;font-family:inherit}.cmm-public-news__head p{margin:0 0 8px;font-size:12px;font-weight:800;letter-spacing:.18em;color:#2474b8}.cmm-public-news__head h2{margin:0 0 28px;font-size:clamp(30px,4vw,48px);line-height:1.05;color:#132d4f}.cmm-public-news__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.cmm-public-news__card{overflow:hidden;border:1px solid rgba(19,45,79,.11);border-radius:18px;background:#fff;box-shadow:0 12px 32px rgba(19,45,79,.08)}.cmm-public-news__image{display:block;aspect-ratio:16/9;background:#edf3f8;overflow:hidden}.cmm-public-news__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.cmm-public-news__card:hover .cmm-public-news__image img{transform:scale(1.025)}.cmm-public-news__body{padding:22px}.cmm-public-news__body time{font-size:12px;font-weight:700;color:#6d7f91}.cmm-public-news__body h3{margin:8px 0 10px;font-size:22px;line-height:1.2}.cmm-public-news__body h3 a{color:#132d4f;text-decoration:none}.cmm-public-news__body p{margin:0 0 18px;color:#536579;line-height:1.6}.cmm-public-news__more{font-weight:750;color:#1769aa;text-decoration:none}@media(max-width:900px){.cmm-public-news__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.cmm-public-news{margin:48px auto;padding:0 18px}.cmm-public-news__grid{grid-template-columns:1fr}.cmm-public-news__body h3{font-size:20px}}

.cmm-single-news{padding:64px 24px 88px;background:#f5f8fb}.cmm-single-news__article{max-width:940px;margin:0 auto;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 18px 50px rgba(19,45,79,.1)}.cmm-single-news__header{padding:54px 64px 34px}.cmm-single-news__eyebrow{margin:0 0 14px;font-size:12px;font-weight:800;letter-spacing:.15em;color:#2474b8}.cmm-single-news__header h1{margin:0 0 18px;font-size:clamp(34px,5vw,58px);line-height:1.08;color:#132d4f}.cmm-single-news__header time{font-size:14px;font-weight:700;color:#728195}.cmm-single-news__cover{margin:0;aspect-ratio:16/9;background:#eaf0f5;overflow:hidden}.cmm-single-news__cover img{width:100%;height:100%;object-fit:cover;display:block}.cmm-single-news__content{padding:48px 64px 24px;font-size:18px;line-height:1.75;color:#33475b}.cmm-single-news__content img{max-width:100%;height:auto;border-radius:14px}.cmm-single-news__content figure{margin:32px 0}.cmm-single-news__content h2,.cmm-single-news__content h3{color:#132d4f}.cmm-single-news__footer{padding:16px 64px 52px}.cmm-single-news__footer a{font-weight:750;color:#1769aa;text-decoration:none}@media(max-width:700px){.cmm-single-news{padding:24px 14px 50px}.cmm-single-news__header,.cmm-single-news__content,.cmm-single-news__footer{padding-left:24px;padding-right:24px}.cmm-single-news__header{padding-top:34px}.cmm-single-news__content{font-size:16px}}


/* v2.2.0 */
.cmm-single-news,.cmm-single-news *{font-family:Arial,sans-serif}.cmm-single-news__gallery{padding:0 64px 40px;display:grid;gap:20px}.cmm-single-news__gallery img{display:block;width:100%;height:auto;border-radius:14px}.cmm-booking-public{font-family:Arial,sans-serif;background:#f4f7fb;padding:50px 20px 80px}.cmm-booking-public__card{max-width:980px;margin:auto;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 18px 50px rgba(19,45,79,.12)}.cmm-booking-public__cover{aspect-ratio:16/9;background:#e8eef4}.cmm-booking-public__cover img{width:100%;height:100%;object-fit:cover}.cmm-booking-public__body{padding:38px}.cmm-booking-public__meta{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.cmm-booking-public__meta span{background:#edf4fb;border-radius:999px;padding:8px 12px;font-weight:700;color:#244c74}.cmm-booking-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px;padding-top:28px;border-top:1px solid #e1e7ef}.cmm-booking-form label{display:grid;gap:6px}.cmm-booking-form input,.cmm-booking-form select,.cmm-booking-form textarea{padding:12px;border:1px solid #ccd7e3;border-radius:9px;font:inherit}.cmm-booking-form .is-full{grid-column:1/-1}.cmm-booking-form button{grid-column:1/-1;padding:14px;background:#0877f9;color:#fff;border:0;border-radius:10px;font-weight:800}.cmm-booking-notice{padding:14px;border-radius:10px;background:#e9f7ef;color:#087a43;margin:15px 0}.cmm-booking-notice.is-warning{background:#fff3dc;color:#8c5700}@media(max-width:700px){.cmm-single-news__gallery{padding:0 24px 28px}.cmm-booking-public__body{padding:24px}.cmm-booking-form{grid-template-columns:1fr}.cmm-booking-form .is-full{grid-column:auto}}

/* v2.2.1 — premium public activity booking page */
.cmm-booking-public{font-family:Arial,sans-serif;background:linear-gradient(180deg,#edf4fb 0,#f7f9fc 360px);padding:54px 20px 90px;color:#22384f}.cmm-booking-public__shell{max-width:1240px;margin:auto;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 24px 70px rgba(16,50,86,.15)}.cmm-booking-public__hero{min-height:360px;position:relative;background:linear-gradient(135deg,#063c78,#0877f9);overflow:hidden}.cmm-booking-public__cover{position:absolute;inset:0;aspect-ratio:auto}.cmm-booking-public__cover img{width:100%;height:100%;object-fit:cover}.cmm-booking-public__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,35,70,.9) 0%,rgba(5,35,70,.62) 52%,rgba(5,35,70,.18) 100%)}.cmm-booking-public__hero-copy{position:relative;z-index:2;max-width:820px;padding:62px 58px;color:#fff}.cmm-booking-kicker{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.16);font-size:12px;font-weight:800;letter-spacing:.13em}.cmm-booking-public__hero h1{font-size:clamp(36px,5vw,62px);line-height:1.04;margin:20px 0 24px}.cmm-booking-public__hero-meta{display:flex;flex-wrap:wrap;gap:10px}.cmm-booking-public__hero-meta span{padding:9px 12px;border-radius:10px;background:rgba(255,255,255,.14);backdrop-filter:blur(5px);font-weight:700}.cmm-booking-public__layout{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:38px;padding:44px}.cmm-booking-description{font-size:17px;line-height:1.75;color:#3f5368}.cmm-booking-description h2,.cmm-booking-description h3{color:#123a64}.cmm-booking-info-box{margin-top:28px;padding:20px 22px;border-radius:16px;background:#eef6ff;border-left:5px solid #0877f9}.cmm-booking-info-box strong{color:#064b8e}.cmm-booking-info-box p{margin:8px 0 0;line-height:1.6}.cmm-booking-summary-card{position:sticky;top:110px;border:1px solid #dce5ef;border-radius:22px;padding:24px;background:#fff;box-shadow:0 18px 45px rgba(18,52,88,.12)}.cmm-booking-summary-status{display:inline-flex;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.cmm-booking-summary-status.is-open{background:#e7f8ee;color:#087a43}.cmm-booking-summary-status.is-closed{background:#feecec;color:#b3262d}.cmm-booking-capacity{display:grid;padding:18px 0;border-bottom:1px solid #e3e9f0;margin-bottom:20px}.cmm-booking-capacity strong{font-size:38px;line-height:1;color:#0a4f91}.cmm-booking-capacity span{font-weight:750;margin-top:6px}.cmm-booking-capacity small{color:#6c7d91;margin-top:4px}.cmm-booking-form{display:block;margin:0;padding:0;border:0}.cmm-booking-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.cmm-booking-form label:not(.cmm-booking-checkbox){display:grid;gap:6px}.cmm-booking-form label span{font-size:13px;font-weight:750;color:#36506d}.cmm-booking-form input,.cmm-booking-form select,.cmm-booking-form textarea{width:100%;padding:12px 13px;border:1px solid #cbd7e4;border-radius:10px;background:#fff;font:inherit;transition:.18s}.cmm-booking-form input:focus,.cmm-booking-form select:focus,.cmm-booking-form textarea:focus{outline:0;border-color:#0877f9;box-shadow:0 0 0 3px rgba(8,119,249,.12)}.cmm-booking-form .is-full{grid-column:1/-1}.cmm-booking-checkbox{display:flex!important;align-items:flex-start!important;gap:10px!important;margin-top:14px;cursor:pointer}.cmm-booking-checkbox input{width:20px!important;height:20px!important;flex:0 0 20px;margin:0;margin-top:1px;accent-color:#0877f9}.cmm-booking-checkbox span{font-size:14px!important;line-height:1.45;font-weight:600!important;color:#40566e!important}.cmm-booking-submit{width:100%;margin-top:18px;padding:15px 18px;border:0;border-radius:12px;background:linear-gradient(90deg,#066fe7,#1688ff);color:#fff;font-size:16px;font-weight:850;cursor:pointer;box-shadow:0 10px 24px rgba(8,119,249,.23)}.cmm-booking-submit:hover{filter:brightness(.97)}.cmm-booking-form-note{font-size:12px;line-height:1.5;color:#76879a;text-align:center;margin:12px 0 0}.cmm-booking-notice{padding:15px 16px;border-radius:12px;background:#e9f7ef;color:#087a43;margin:0 0 20px;font-weight:700}.cmm-booking-notice.is-warning{background:#fff3dc;color:#8c5700}@media(max-width:980px){.cmm-booking-public__layout{grid-template-columns:1fr}.cmm-booking-summary-card{position:static}.cmm-booking-public__hero{min-height:320px}}@media(max-width:700px){.cmm-booking-public{padding:20px 10px 50px}.cmm-booking-public__shell{border-radius:18px}.cmm-booking-public__hero{min-height:300px}.cmm-booking-public__hero-copy{padding:38px 24px}.cmm-booking-public__hero h1{font-size:36px}.cmm-booking-public__layout{padding:24px 18px;gap:26px}.cmm-booking-form__grid{grid-template-columns:1fr}.cmm-booking-form .is-full{grid-column:auto}.cmm-booking-summary-card{padding:20px}}


/* v2.2.2 — full-width public booking layout and refined activity metadata. */
.cmm-booking-public{padding:44px 18px 80px!important;background:linear-gradient(180deg,#edf4fb 0,#f7f9fc 420px)!important;}
.cmm-booking-public__shell{max-width:1480px!important;border-radius:26px!important;}
.cmm-booking-public__hero{min-height:390px!important;}
.cmm-booking-public__hero-copy{max-width:1120px!important;padding:56px 58px 46px!important;}
.cmm-booking-public__hero h1{max-width:980px!important;margin-bottom:28px!important;}
.cmm-booking-public__hero-meta{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;max-width:1040px!important;}
.cmm-booking-meta-card{display:flex!important;align-items:center!important;gap:12px!important;min-height:74px!important;padding:13px 16px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:15px!important;background:rgba(255,255,255,.15)!important;backdrop-filter:blur(9px)!important;box-shadow:0 10px 26px rgba(0,0,0,.10)!important;}
.cmm-booking-meta-icon{width:38px!important;height:38px!important;display:grid!important;place-items:center!important;flex:0 0 38px!important;border-radius:11px!important;background:rgba(255,255,255,.16)!important;font-size:19px!important;}
.cmm-booking-meta-card>span:last-child{display:grid!important;gap:3px!important;min-width:0!important;}
.cmm-booking-meta-card small{font-size:11px!important;text-transform:uppercase!important;letter-spacing:.09em!important;color:rgba(255,255,255,.72)!important;font-weight:800!important;}
.cmm-booking-meta-card strong{font-size:16px!important;line-height:1.25!important;color:#fff!important;}
.cmm-booking-public__layout{display:grid!important;grid-template-columns:1fr!important;gap:28px!important;padding:42px 46px 52px!important;}
.cmm-booking-public__content{width:100%!important;}
.cmm-booking-public__sidebar{width:100%!important;}
.cmm-booking-summary-card{position:static!important;width:100%!important;border-radius:22px!important;padding:28px!important;box-shadow:0 16px 40px rgba(18,52,88,.10)!important;}
.cmm-booking-capacity{grid-template-columns:auto 1fr!important;column-gap:16px!important;align-items:center!important;}
.cmm-booking-capacity strong{grid-row:1/3!important;font-size:42px!important;}
.cmm-booking-form{width:100%!important;}
.cmm-booking-form__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px 18px!important;}
.cmm-booking-form input,.cmm-booking-form select,.cmm-booking-form textarea{min-height:50px!important;padding:13px 14px!important;font-size:16px!important;}
.cmm-booking-form textarea{min-height:110px!important;}
.cmm-booking-checkbox{display:flex!important;align-items:flex-start!important;gap:11px!important;margin-top:16px!important;}
.cmm-booking-checkbox input{width:21px!important;height:21px!important;flex:0 0 21px!important;margin:1px 0 0!important;}
.cmm-booking-submit{max-width:460px!important;margin:22px auto 0!important;display:block!important;}
.cmm-booking-form-note{max-width:680px!important;margin:12px auto 0!important;}
@media(max-width:900px){.cmm-booking-public__hero-meta{grid-template-columns:1fr!important;max-width:620px!important}.cmm-booking-public__layout{padding:30px 24px 40px!important}.cmm-booking-form__grid{grid-template-columns:1fr!important}.cmm-booking-form .is-full{grid-column:auto!important}.cmm-booking-public__hero-copy{padding:42px 28px!important}}
@media(max-width:600px){.cmm-booking-public{padding:14px 8px 42px!important}.cmm-booking-public__shell{border-radius:16px!important}.cmm-booking-public__hero{min-height:430px!important}.cmm-booking-public__hero-copy{padding:34px 20px!important}.cmm-booking-public__hero h1{font-size:34px!important}.cmm-booking-public__layout{padding:22px 15px 32px!important}.cmm-booking-summary-card{padding:20px!important}.cmm-booking-meta-card{min-height:66px!important}}


/* v2.2.3 — refined public activity details, booking fields and checkbox alignment. */
.cmm-booking-public__hero-copy{max-width:1180px!important;}
.cmm-booking-public__hero-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:14px 30px!important;
  max-width:1120px!important;
  padding-top:4px!important;
}
.cmm-booking-meta-card{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  position:relative!important;
}
.cmm-booking-meta-card:not(:last-child)::after{
  content:"";
  width:1px;
  height:34px;
  margin-left:18px;
  background:rgba(255,255,255,.34);
}
.cmm-booking-meta-icon{
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 34px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.16)!important;
  font-size:17px!important;
}
.cmm-booking-meta-card>span:last-child{display:grid!important;gap:1px!important;}
.cmm-booking-meta-card small{
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:.1em!important;
  color:rgba(255,255,255,.7)!important;
  font-weight:800!important;
}
.cmm-booking-meta-card strong{
  font-size:18px!important;
  line-height:1.25!important;
  color:#fff!important;
  font-weight:800!important;
}
.cmm-booking-summary-card{
  border:1px solid #d8e3ef!important;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)!important;
}
.cmm-booking-form label:not(.cmm-booking-checkbox)>span{
  margin-bottom:2px!important;
  font-size:14px!important;
  font-weight:800!important;
  color:#29445f!important;
}
.cmm-booking-form input,
.cmm-booking-form select,
.cmm-booking-form textarea{
  min-height:54px!important;
  padding:14px 16px!important;
  border:1.5px solid #c6d4e3!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#fff,#fbfdff)!important;
  box-shadow:0 5px 14px rgba(18,52,88,.04)!important;
  font-size:16px!important;
}
.cmm-booking-form textarea{min-height:120px!important;resize:vertical!important;}
.cmm-booking-form input:hover,
.cmm-booking-form select:hover,
.cmm-booking-form textarea:hover{border-color:#9fb7cf!important;}
.cmm-booking-form input:focus,
.cmm-booking-form select:focus,
.cmm-booking-form textarea:focus{
  border-color:#0877f9!important;
  box-shadow:0 0 0 4px rgba(8,119,249,.11),0 8px 20px rgba(18,52,88,.06)!important;
}
.cmm-booking-checkbox{
  display:grid!important;
  grid-template-columns:26px minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:12px!important;
  width:100%!important;
  margin-top:18px!important;
  padding:4px 0!important;
  cursor:pointer!important;
}
.cmm-booking-checkbox input{
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  width:24px!important;
  height:24px!important;
  min-height:24px!important;
  padding:0!important;
  margin:0!important;
  justify-self:start!important;
  align-self:center!important;
  box-shadow:none!important;
  accent-color:#0877f9!important;
}
.cmm-booking-checkbox span{
  display:block!important;
  margin:0!important;
  font-size:15px!important;
  line-height:1.45!important;
  font-weight:650!important;
  color:#334d68!important;
}
.cmm-booking-submit{
  min-height:54px!important;
  border-radius:14px!important;
  font-size:17px!important;
  letter-spacing:.01em!important;
}
@media(max-width:900px){
  .cmm-booking-public__hero-meta{gap:14px 20px!important;}
  .cmm-booking-meta-card:not(:last-child)::after{display:none!important;}
}
@media(max-width:600px){
  .cmm-booking-public__hero-meta{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
  .cmm-booking-meta-card strong{font-size:16px!important;}
  .cmm-booking-checkbox{grid-template-columns:25px minmax(0,1fr)!important;column-gap:10px!important;}
  .cmm-booking-checkbox input{width:23px!important;height:23px!important;min-height:23px!important;}
}


/* v2.2.4 — gradient information cards with large icons and refined booking form. */
.cmm-booking-public__hero-meta{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  max-width:1040px!important;
  margin-top:26px!important;
}
.cmm-booking-meta-card{
  min-height:92px!important;
  padding:12px 16px 12px 12px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.24),rgba(255,255,255,.08))!important;
  backdrop-filter:blur(10px)!important;
  box-shadow:0 14px 32px rgba(0,0,0,.12)!important;
  display:grid!important;
  grid-template-columns:68px minmax(0,1fr)!important;
  align-items:center!important;
  gap:14px!important;
}
.cmm-booking-meta-card::after{display:none!important;content:none!important;}
.cmm-booking-meta-icon{
  width:68px!important;
  height:68px!important;
  min-width:68px!important;
  border-radius:16px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.28),rgba(255,255,255,.10))!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)!important;
  font-size:36px!important;
  line-height:1!important;
}
.cmm-booking-meta-card small{font-size:12px!important;letter-spacing:.11em!important;color:rgba(255,255,255,.75)!important;}
.cmm-booking-meta-card strong{font-size:19px!important;line-height:1.25!important;}
.cmm-booking-summary-card{padding:32px!important;border-radius:26px!important;}
.cmm-booking-form__grid{gap:18px!important;}
.cmm-booking-form input,.cmm-booking-form select,.cmm-booking-form textarea{
  border-radius:16px!important;
  border:1px solid #c8d8e8!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(15,61,105,.06)!important;
}
.cmm-booking-form input:focus,.cmm-booking-form select:focus,.cmm-booking-form textarea:focus{
  border-color:#0877f9!important;
  box-shadow:0 0 0 4px rgba(8,119,249,.10),0 12px 28px rgba(15,61,105,.08)!important;
}
.cmm-booking-checkbox{grid-template-columns:30px minmax(0,1fr)!important;column-gap:12px!important;align-items:center!important;}
.cmm-booking-checkbox input{width:26px!important;height:26px!important;min-height:26px!important;}
@media(max-width:900px){
  .cmm-booking-public__hero-meta{grid-template-columns:1fr!important;max-width:680px!important;}
  .cmm-booking-meta-card{min-height:84px!important;grid-template-columns:58px minmax(0,1fr)!important;}
  .cmm-booking-meta-icon{width:58px!important;height:58px!important;min-width:58px!important;font-size:31px!important;}
}
@media(max-width:600px){
  .cmm-booking-meta-card{padding:10px 12px!important;border-radius:15px!important;}
  .cmm-booking-meta-card strong{font-size:17px!important;}
}


/* v2.2.5 — single clean meta cards with larger integrated icons. */
.cmm-booking-public__hero-meta{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;max-width:1180px!important;margin-top:24px!important;}
.cmm-booking-meta-card{min-height:104px!important;padding:18px 24px!important;border-radius:22px!important;border:1px solid rgba(255,255,255,.24)!important;background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.10))!important;backdrop-filter:blur(8px)!important;box-shadow:0 18px 34px rgba(0,0,0,.14)!important;display:grid!important;grid-template-columns:86px minmax(0,1fr)!important;align-items:center!important;gap:18px!important;}
.cmm-booking-meta-icon{width:86px!important;height:86px!important;min-width:86px!important;display:grid!important;place-items:center!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font-size:48px!important;line-height:1!important;}
.cmm-booking-meta-card>span:last-child{display:grid!important;gap:4px!important;align-content:center!important;}
.cmm-booking-meta-card small{font-size:13px!important;letter-spacing:.11em!important;color:rgba(255,255,255,.78)!important;font-weight:800!important;}
.cmm-booking-meta-card strong{font-size:22px!important;line-height:1.18!important;color:#fff!important;font-weight:800!important;}
@media(max-width:1100px){.cmm-booking-public__hero-meta{grid-template-columns:1fr!important;max-width:760px!important;}.cmm-booking-meta-card{min-height:96px!important;grid-template-columns:78px minmax(0,1fr)!important;}.cmm-booking-meta-icon{width:78px!important;height:78px!important;min-width:78px!important;font-size:42px!important;}}
@media(max-width:600px){.cmm-booking-meta-card{padding:14px 16px!important;min-height:88px!important;border-radius:18px!important;grid-template-columns:68px minmax(0,1fr)!important;gap:14px!important;}.cmm-booking-meta-icon{width:68px!important;height:68px!important;min-width:68px!important;font-size:36px!important;}.cmm-booking-meta-card strong{font-size:18px!important;}}


/* v2.2.6 — one clean rectangle per information, custom larger icons, and CAI-styled duplicate-email modal. */
.cmm-booking-public__hero-meta .cmm-booking-meta-card{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;min-height:112px!important;padding:14px 24px!important;gap:18px!important;border-radius:22px!important;background:linear-gradient(135deg,rgba(255,255,255,.24),rgba(255,255,255,.10))!important;border:1px solid rgba(255,255,255,.28)!important;box-shadow:0 16px 34px rgba(0,0,0,.14)!important;backdrop-filter:blur(9px)!important;overflow:hidden!important;}
.cmm-booking-public__hero-meta .cmm-booking-meta-card>span{padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;}
.cmm-booking-public__hero-meta .cmm-booking-meta-icon{width:92px!important;height:92px!important;min-width:92px!important;display:grid!important;place-items:center!important;font-size:0!important;}
.cmm-booking-public__hero-meta .cmm-booking-meta-icon svg{display:block!important;width:78px!important;height:78px!important;overflow:visible!important;filter:drop-shadow(0 6px 10px rgba(0,0,0,.15));}
.cmm-booking-public__hero-meta .cmm-booking-meta-copy{display:grid!important;gap:5px!important;align-content:center!important;min-width:0!important;}
.cmm-booking-public__hero-meta .cmm-booking-meta-copy small{font-size:13px!important;line-height:1!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:rgba(255,255,255,.76)!important;font-weight:800!important;}
.cmm-booking-public__hero-meta .cmm-booking-meta-copy strong{font-size:23px!important;line-height:1.2!important;color:#fff!important;font-weight:800!important;overflow-wrap:anywhere!important;}
.cmm-booking-modal[hidden]{display:none!important}.cmm-booking-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:22px}.cmm-booking-modal__backdrop{position:absolute;inset:0;background:rgba(5,29,55,.62);backdrop-filter:blur(5px)}.cmm-booking-modal__dialog{position:relative;z-index:1;width:min(520px,100%);padding:34px;border-radius:24px;background:#fff;box-shadow:0 28px 80px rgba(5,29,55,.3);text-align:center;font-family:Arial,sans-serif}.cmm-booking-modal__close{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:32px;color:#6c7f92;cursor:pointer}.cmm-booking-modal__icon{width:62px;height:62px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:#fff1dc;color:#a45b00;font-size:32px;font-weight:900}.cmm-booking-modal h2{margin:0 0 12px;color:#123c67;font-size:27px}.cmm-booking-modal p{margin:0;color:#4d6176;font-size:17px;line-height:1.6}.cmm-booking-modal__button{margin-top:24px;padding:13px 24px;border:0;border-radius:12px;background:#0877f9;color:#fff;font-size:16px;font-weight:800;cursor:pointer}.cmm-modal-open{overflow:hidden!important}
@media(max-width:1100px){.cmm-booking-public__hero-meta .cmm-booking-meta-card{grid-template-columns:82px minmax(0,1fr)!important;min-height:100px!important}.cmm-booking-public__hero-meta .cmm-booking-meta-icon{width:82px!important;height:82px!important;min-width:82px!important}.cmm-booking-public__hero-meta .cmm-booking-meta-icon svg{width:70px!important;height:70px!important}}
@media(max-width:600px){.cmm-booking-public__hero-meta .cmm-booking-meta-card{grid-template-columns:70px minmax(0,1fr)!important;min-height:88px!important;padding:12px 15px!important;gap:12px!important}.cmm-booking-public__hero-meta .cmm-booking-meta-icon{width:70px!important;height:70px!important;min-width:70px!important}.cmm-booking-public__hero-meta .cmm-booking-meta-icon svg{width:60px!important;height:60px!important}.cmm-booking-public__hero-meta .cmm-booking-meta-copy strong{font-size:18px!important}.cmm-booking-modal__dialog{padding:30px 22px}.cmm-booking-modal h2{font-size:24px}.cmm-booking-modal p{font-size:16px}}


/* v2.2.8 — reduce the three activity information cards, icons and typography by about 20%. */
.cmm-booking-public__hero-meta{gap:14px!important;max-width:1040px!important;margin-top:20px!important;}
.cmm-booking-public__hero-meta .cmm-booking-meta-card{grid-template-columns:74px minmax(0,1fr)!important;min-height:90px!important;padding:11px 19px!important;gap:14px!important;border-radius:18px!important;}
.cmm-booking-public__hero-meta .cmm-booking-meta-icon{width:74px!important;height:74px!important;min-width:74px!important;}
.cmm-booking-public__hero-meta .cmm-booking-meta-icon svg{width:62px!important;height:62px!important;}
.cmm-booking-public__hero-meta .cmm-booking-meta-copy{gap:4px!important;}
.cmm-booking-public__hero-meta .cmm-booking-meta-copy small{font-size:11px!important;}
.cmm-booking-public__hero-meta .cmm-booking-meta-copy strong{font-size:19px!important;}
@media(max-width:1100px){.cmm-booking-public__hero-meta .cmm-booking-meta-card{grid-template-columns:66px minmax(0,1fr)!important;min-height:80px!important}.cmm-booking-public__hero-meta .cmm-booking-meta-icon{width:66px!important;height:66px!important;min-width:66px!important}.cmm-booking-public__hero-meta .cmm-booking-meta-icon svg{width:56px!important;height:56px!important}}
@media(max-width:600px){.cmm-booking-public__hero-meta .cmm-booking-meta-card{grid-template-columns:58px minmax(0,1fr)!important;min-height:72px!important;padding:10px 12px!important;gap:10px!important}.cmm-booking-public__hero-meta .cmm-booking-meta-icon{width:58px!important;height:58px!important;min-width:58px!important}.cmm-booking-public__hero-meta .cmm-booking-meta-icon svg{width:49px!important;height:49px!important}.cmm-booking-public__hero-meta .cmm-booking-meta-copy strong{font-size:16px!important}}


/* v2.2.10 — clear waitlist advisory before the public registration fields. */
.cmm-booking-waitlist-advisory{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;align-items:start;margin:0 0 20px;padding:16px 18px;border:1px solid #f0ca83;border-radius:15px;background:linear-gradient(135deg,#fff7e7,#fffaf1);color:#7a4b00;box-shadow:0 8px 22px rgba(150,91,0,.08)}
.cmm-booking-waitlist-advisory__icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#f2a318;color:#fff;font-size:23px;font-weight:900}
.cmm-booking-waitlist-advisory strong{display:block;margin:1px 0 4px;font-size:17px;color:#7a4700}
.cmm-booking-waitlist-advisory p{margin:0;font-size:14px;line-height:1.5;color:#805b24}
@media(max-width:600px){.cmm-booking-waitlist-advisory{grid-template-columns:36px minmax(0,1fr);padding:14px}.cmm-booking-waitlist-advisory__icon{width:36px;height:36px;font-size:20px}}


/* v2.2.14 — compact the entire public activity booking page. */
.cmm-booking-public{padding:28px 14px 58px!important;}
.cmm-booking-public__shell{max-width:1320px!important;border-radius:22px!important;}
.cmm-booking-public__hero{min-height:310px!important;}
.cmm-booking-public__hero-copy{padding:40px 44px 34px!important;max-width:1020px!important;}
.cmm-booking-kicker{padding:6px 10px!important;font-size:11px!important;}
.cmm-booking-public__hero h1{font-size:clamp(32px,4.4vw,54px)!important;margin:16px 0 18px!important;max-width:900px!important;}
.cmm-booking-public__hero-meta{gap:11px!important;max-width:920px!important;margin-top:16px!important;}
.cmm-booking-public__hero-meta .cmm-booking-meta-card{grid-template-columns:60px minmax(0,1fr)!important;min-height:72px!important;padding:9px 15px!important;gap:11px!important;border-radius:15px!important;}
.cmm-booking-public__hero-meta .cmm-booking-meta-icon{width:60px!important;height:60px!important;min-width:60px!important;}
.cmm-booking-public__hero-meta .cmm-booking-meta-icon svg{width:50px!important;height:50px!important;}
.cmm-booking-public__hero-meta .cmm-booking-meta-copy small{font-size:10px!important;}
.cmm-booking-public__hero-meta .cmm-booking-meta-copy strong{font-size:16px!important;}
.cmm-booking-public__layout{padding:28px 32px 38px!important;gap:22px!important;}
.cmm-booking-description{font-size:15px!important;line-height:1.65!important;}
.cmm-booking-info-box{margin-top:20px!important;padding:16px 18px!important;border-radius:13px!important;}
.cmm-booking-summary-card{padding:22px!important;border-radius:20px!important;}
.cmm-booking-summary-status{padding:6px 10px!important;font-size:11px!important;}
.cmm-booking-capacity{padding:14px 0!important;margin-bottom:16px!important;}
.cmm-booking-capacity strong{font-size:32px!important;}
.cmm-booking-capacity span{font-size:15px!important;}
.cmm-booking-capacity small{font-size:13px!important;}
.cmm-booking-form__grid{gap:13px 14px!important;}
.cmm-booking-form label:not(.cmm-booking-checkbox)>span{font-size:12px!important;}
.cmm-booking-form input,.cmm-booking-form select,.cmm-booking-form textarea{min-height:44px!important;padding:10px 12px!important;border-radius:12px!important;font-size:14px!important;box-shadow:0 5px 15px rgba(15,61,105,.05)!important;}
.cmm-booking-form textarea{min-height:92px!important;}
.cmm-booking-checkbox{grid-template-columns:24px minmax(0,1fr)!important;column-gap:9px!important;margin-top:13px!important;}
.cmm-booking-checkbox input{width:21px!important;height:21px!important;min-height:21px!important;}
.cmm-booking-checkbox span{font-size:13px!important;}
.cmm-booking-submit{max-width:400px!important;min-height:46px!important;margin-top:17px!important;padding:12px 16px!important;border-radius:12px!important;font-size:15px!important;}
.cmm-booking-form-note{max-width:620px!important;font-size:11px!important;margin-top:10px!important;}
.cmm-booking-waitlist-advisory{grid-template-columns:36px minmax(0,1fr)!important;gap:11px!important;margin-bottom:16px!important;padding:13px 15px!important;border-radius:13px!important;}
.cmm-booking-waitlist-advisory__icon{width:36px!important;height:36px!important;font-size:19px!important;}
.cmm-booking-waitlist-advisory strong{font-size:15px!important;}
.cmm-booking-waitlist-advisory p{font-size:13px!important;}
@media(max-width:900px){.cmm-booking-public{padding:18px 10px 44px!important}.cmm-booking-public__hero{min-height:280px!important}.cmm-booking-public__hero-copy{padding:32px 24px 28px!important}.cmm-booking-public__hero h1{font-size:34px!important}.cmm-booking-public__layout{padding:24px 20px 30px!important}.cmm-booking-summary-card{padding:19px!important}.cmm-booking-public__hero-meta .cmm-booking-meta-card{grid-template-columns:54px minmax(0,1fr)!important;min-height:66px!important}.cmm-booking-public__hero-meta .cmm-booking-meta-icon{width:54px!important;height:54px!important;min-width:54px!important}.cmm-booking-public__hero-meta .cmm-booking-meta-icon svg{width:45px!important;height:45px!important}}
@media(max-width:600px){.cmm-booking-public{padding:10px 6px 34px!important}.cmm-booking-public__shell{border-radius:14px!important}.cmm-booking-public__hero{min-height:360px!important}.cmm-booking-public__hero-copy{padding:26px 16px!important}.cmm-booking-public__hero h1{font-size:30px!important}.cmm-booking-public__layout{padding:18px 12px 24px!important}.cmm-booking-summary-card{padding:16px!important;border-radius:16px!important}.cmm-booking-form__grid{gap:11px!important}.cmm-booking-form input,.cmm-booking-form select,.cmm-booking-form textarea{min-height:42px!important;font-size:14px!important}.cmm-booking-public__hero-meta .cmm-booking-meta-card{grid-template-columns:48px minmax(0,1fr)!important;min-height:60px!important;padding:8px 11px!important;gap:8px!important}.cmm-booking-public__hero-meta .cmm-booking-meta-icon{width:48px!important;height:48px!important;min-width:48px!important}.cmm-booking-public__hero-meta .cmm-booking-meta-icon svg{width:40px!important;height:40px!important}.cmm-booking-public__hero-meta .cmm-booking-meta-copy strong{font-size:14px!important}}

/* v2.2.17 — press PDF page */
.cmm-single-news__content--press{padding-top:30px!important;text-align:center!important}
.cmm-press-pdf-figure{margin:0 auto 24px!important;max-width:820px!important}
.cmm-press-pdf-figure img{width:100%!important;height:auto!important;border-radius:16px!important;box-shadow:0 16px 38px rgba(19,45,79,.14)!important}
.cmm-press-open-pdf{margin:26px 0 8px!important;text-align:center!important}
.cmm-press-open-pdf a{display:inline-block!important;padding:13px 22px!important;border-radius:10px!important;background:#1769aa!important;color:#fff!important;text-decoration:none!important;font-weight:700!important}


/* v2.2.21 — rassegna stampa: griglia separata dalla fascia hero del tema */
.cmm-public-press--grid-only{padding-top:34px!important;}
.cmm-public-press--grid-only .cmm-public-news__grid{margin-top:0!important;}

/* v2.2.24 — public meeting point opens Google Maps without API. */
.cmm-booking-meta-card--maps{color:inherit!important;text-decoration:none!important;cursor:pointer!important;transition:transform .18s ease,background .18s ease,border-color .18s ease!important;}
.cmm-booking-meta-card--maps:hover{transform:translateY(-2px)!important;background:rgba(255,255,255,.22)!important;border-color:rgba(255,255,255,.42)!important;}
.cmm-booking-meta-card--maps:focus-visible{outline:3px solid rgba(255,255,255,.9)!important;outline-offset:3px!important;}


/* v2.2.25 — refined public booking form and named additional participants. */
.cmm-booking-summary-card{border:1px solid #dce7f1!important;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)!important;box-shadow:0 18px 46px rgba(14,55,94,.10)!important;}
.cmm-booking-form__grid{align-items:end!important;}
.cmm-booking-form label:not(.cmm-booking-checkbox){display:grid!important;grid-template-rows:auto 44px!important;gap:6px!important;align-content:end!important;}
.cmm-booking-form label:not(.cmm-booking-checkbox)>span{display:flex!important;align-items:center!important;min-height:18px!important;color:#31516f!important;font-weight:800!important;letter-spacing:.02em!important;}
.cmm-booking-form input,.cmm-booking-form select{height:44px!important;min-height:44px!important;box-sizing:border-box!important;}
.cmm-booking-form textarea{height:auto!important;min-height:92px!important;}
.cmm-booking-form select{appearance:auto!important;}
.cmm-booking-extra-participants{margin:4px 0 2px;padding:16px;border:1px solid #cfe0ef;border-radius:14px;background:#f5f9fd;}
.cmm-booking-extra-participants[hidden]{display:none!important;}
.cmm-booking-extra-participants__heading{display:grid;gap:3px;margin-bottom:12px;}
.cmm-booking-extra-participants__heading strong{color:#153f68;font-size:15px;}
.cmm-booking-extra-participants__heading span{color:#63788c;font-size:12px;line-height:1.45;}
.cmm-booking-extra-participants__list{display:grid;gap:10px;}
.cmm-booking-extra-participant{display:grid;grid-template-columns:32px minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:end;padding:11px;border:1px solid #d8e5f0;border-radius:12px;background:#fff;}
.cmm-booking-extra-participant__number{width:32px;height:32px;display:grid;place-items:center;align-self:center;border-radius:50%;background:#e2f1ff;color:#0877f9;font-size:13px;font-weight:900;}
.cmm-booking-extra-participant label{grid-template-rows:auto 42px!important;}
.cmm-booking-extra-participant input{height:42px!important;min-height:42px!important;}
.cmm-booking-submit{width:100%!important;max-width:none!important;background:linear-gradient(135deg,#0b70df,#075bb8)!important;box-shadow:0 10px 22px rgba(8,119,249,.22)!important;}
.cmm-booking-submit:hover{transform:translateY(-1px)!important;box-shadow:0 14px 28px rgba(8,119,249,.28)!important;}
@media(max-width:600px){.cmm-booking-extra-participant{grid-template-columns:30px minmax(0,1fr);}.cmm-booking-extra-participant label{grid-column:2;}.cmm-booking-extra-participant__number{grid-row:1 / span 2;align-self:start;margin-top:22px;}}


/* v2.2.26 — clearer availability summary and corrected form flow. */
.cmm-booking-availability{display:grid;grid-template-columns:minmax(210px,.75fr) minmax(0,2fr);gap:18px;align-items:stretch;padding:20px 32px;border-bottom:1px solid #dce7f1;background:linear-gradient(180deg,#f8fbfe 0%,#ffffff 100%);}
.cmm-booking-availability__intro{display:flex;flex-direction:column;justify-content:center;padding:16px 18px;border-radius:16px;background:#123f6d;color:#fff;}
.cmm-booking-availability__intro span{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.72;}
.cmm-booking-availability__intro strong{margin-top:6px;font-size:18px;line-height:1.25;}
.cmm-booking-availability__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.cmm-booking-availability__stat{display:flex;flex-direction:column;justify-content:center;min-height:92px;padding:15px 17px;border:1px solid #d8e5f0;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(19,61,98,.06);}
.cmm-booking-availability__stat small{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#61778d;}
.cmm-booking-availability__stat strong{margin-top:5px;font-size:32px;line-height:1;color:#173f67;}
.cmm-booking-availability__stat.is-confirmed{border-color:#bfdcf5;background:#f4faff;}
.cmm-booking-availability__stat.is-available{border-color:#bfe3cf;background:#f3fbf6;}
.cmm-booking-availability__stat.is-available strong{color:#227447;}
.cmm-booking-availability__stat.is-full{border-color:#f0c9c9;background:#fff6f6;}
.cmm-booking-availability__stat.is-full strong{color:#b83232;}
.cmm-booking-availability__stat.is-capacity{border-color:#ddd7f2;background:#f9f7ff;}
.cmm-booking-availability__stat.is-capacity strong{color:#5f4a9c;}
.cmm-booking-form__grid{position:relative!important;z-index:1!important;}
.cmm-booking-form .cmm-booking-checkbox{display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;grid-template-rows:auto!important;align-items:start!important;gap:9px!important;min-height:auto!important;height:auto!important;margin:14px 0 0!important;padding:0!important;position:relative!important;z-index:2!important;}
.cmm-booking-form .cmm-booking-checkbox input{grid-column:1!important;width:21px!important;height:21px!important;min-height:21px!important;margin:0!important;padding:0!important;}
.cmm-booking-form .cmm-booking-checkbox span{grid-column:2!important;display:block!important;min-height:0!important;line-height:1.45!important;font-weight:600!important;color:#40586f!important;}
.cmm-booking-form__grid > label.is-full:last-of-type{margin-bottom:2px!important;}
@media(max-width:900px){.cmm-booking-availability{grid-template-columns:1fr;padding:18px 20px}.cmm-booking-availability__stats{grid-template-columns:repeat(3,minmax(0,1fr))}.cmm-booking-availability__intro{min-height:84px}}
@media(max-width:600px){.cmm-booking-availability{padding:14px 12px;gap:12px}.cmm-booking-availability__stats{grid-template-columns:1fr}.cmm-booking-availability__stat{min-height:76px}.cmm-booking-availability__stat strong{font-size:27px}.cmm-booking-availability__intro strong{font-size:16px}}

/* v2.2.27 — reordered public status, compact availability and corrected consent layout. */
/* v2.2.28 — fix consent alignment below notes field. */
.cmm-booking-public-statusbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 32px;border-bottom:1px solid #dce7f1;background:#f7fbff;}
.cmm-booking-public-statusbar__state{display:inline-flex;align-items:center;gap:9px;padding:9px 14px;border-radius:999px;background:#eaf8f0;color:#207247;font-size:13px;white-space:nowrap;}
.cmm-booking-public-statusbar__state span{width:9px;height:9px;border-radius:50%;background:#2aa466;box-shadow:0 0 0 4px rgba(42,164,102,.13);}
.cmm-booking-public-statusbar.is-closed .cmm-booking-public-statusbar__state{background:#f3f4f6;color:#667180;}
.cmm-booking-public-statusbar.is-closed .cmm-booking-public-statusbar__state span{background:#8a95a3;box-shadow:0 0 0 4px rgba(138,149,163,.14);}
.cmm-booking-public-statusbar__waitlist{display:flex;align-items:center;gap:10px;flex:1;padding:10px 14px;border:1px solid #f0c37a;border-radius:12px;background:#fff7e8;color:#7c4b00;}
.cmm-booking-public-statusbar__waitlist strong{white-space:nowrap;font-size:13px;}
.cmm-booking-public-statusbar__waitlist span{font-size:12px;line-height:1.45;}
.cmm-booking-availability{grid-template-columns:minmax(210px,.85fr) minmax(0,1.4fr)!important;}
.cmm-booking-availability__stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.cmm-booking-consents{display:grid;gap:11px;clear:both;margin-top:17px;padding-top:3px;position:relative;z-index:3;}
.cmm-booking-form .cmm-booking-consents .cmm-booking-checkbox{margin:0!important;transform:none!important;float:none!important;position:relative!important;inset:auto!important;}
.cmm-booking-form__grid textarea{display:block!important;width:100%!important;}
@media(max-width:760px){.cmm-booking-public-statusbar{align-items:stretch;flex-direction:column;padding:13px 14px}.cmm-booking-public-statusbar__state{align-self:flex-start}.cmm-booking-public-statusbar__waitlist{align-items:flex-start;flex-direction:column;gap:3px}.cmm-booking-availability__stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:520px){.cmm-booking-availability__stats{grid-template-columns:1fr!important}}


/* v2.2.28 — fix consent alignment below notes field. */
.cmm-booking-form .cmm-booking-notes-field{grid-template-rows:auto minmax(108px,auto)!important;align-content:start!important;}
.cmm-booking-form .cmm-booking-notes-field textarea{height:auto!important;min-height:108px!important;position:relative!important;z-index:1!important;}
.cmm-booking-form .cmm-booking-consents{margin-top:16px!important;padding-top:0!important;}
.cmm-booking-form .cmm-booking-consents .cmm-booking-checkbox:first-child{margin-top:2px!important;}


/* v2.2.29 — premium consent area without notes field. */
.cmm-booking-form .cmm-booking-consents{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:18px!important;
  padding:16px!important;
  border:1px solid #d8e5f0!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#f8fbff 0%,#f2f7fc 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.cmm-booking-form .cmm-booking-consents .cmm-booking-checkbox{
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  min-height:62px!important;
  margin:0!important;
  padding:13px 14px!important;
  border:1px solid #d6e2ed!important;
  border-radius:13px!important;
  background:#ffffff!important;
  cursor:pointer!important;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
.cmm-booking-form .cmm-booking-consents .cmm-booking-checkbox:hover{
  border-color:#9bc8ef!important;
  box-shadow:0 8px 20px rgba(15,77,132,.08)!important;
  transform:translateY(-1px)!important;
}
.cmm-booking-form .cmm-booking-consents .cmm-booking-checkbox input{
  width:22px!important;
  height:22px!important;
  min-height:22px!important;
  margin:0!important;
  accent-color:#0877f9!important;
}
.cmm-booking-form .cmm-booking-consents .cmm-booking-checkbox span{
  font-size:13px!important;
  line-height:1.4!important;
  font-weight:750!important;
  color:#294967!important;
}
@media(max-width:700px){
  .cmm-booking-form .cmm-booking-consents{grid-template-columns:1fr!important;padding:12px!important;}
  .cmm-booking-form .cmm-booking-consents .cmm-booking-checkbox{min-height:56px!important;}
}


/* v2.2.30 — participant membership rows and restored notes. */
.cmm-booking-primary-membership{
  display:grid!important;
  grid-template-columns:minmax(210px,.72fr) minmax(0,1.28fr)!important;
  gap:13px!important;
  align-items:end!important;
  padding:14px!important;
  border:1px solid #d8e5f0!important;
  border-radius:15px!important;
  background:#f6faff!important;
}
.cmm-booking-form .cmm-booking-primary-membership .cmm-booking-primary-member{
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  min-height:44px!important;
  margin:0!important;
  padding:10px 12px!important;
  border:1px solid #cfe0ef!important;
  border-radius:11px!important;
  background:#fff!important;
}
.cmm-booking-form .cmm-booking-primary-membership .cmm-booking-primary-member input{
  width:22px!important;height:22px!important;min-height:22px!important;margin:0!important;
}
.cmm-booking-form .cmm-booking-primary-membership .cmm-booking-primary-member span{
  font-size:13px!important;font-weight:800!important;color:#294967!important;
}
.cmm-booking-primary-section{grid-template-rows:auto 44px!important;}
.cmm-booking-people-field{max-width:320px!important;}
.cmm-booking-extra-participant{
  grid-template-columns:34px minmax(130px,1fr) minmax(130px,1fr) minmax(105px,.55fr) minmax(150px,1fr)!important;
  align-items:end!important;
  gap:10px!important;
}
.cmm-booking-extra-participant__number{align-self:center!important;}
.cmm-booking-extra-member{display:grid!important;grid-template-rows:auto 42px!important;gap:6px!important;}
.cmm-booking-extra-member__control{
  display:flex!important;align-items:center!important;gap:8px!important;height:42px!important;padding:0 11px!important;
  border:1px solid #cbd7e4!important;border-radius:10px!important;background:#fff!important;
}
.cmm-booking-extra-member__control input{width:21px!important;height:21px!important;min-height:21px!important;margin:0!important;}
.cmm-booking-extra-member__control em{font-style:normal!important;font-size:13px!important;font-weight:750!important;color:#40586f!important;}
.cmm-booking-form .cmm-booking-notes-field{grid-template-rows:auto minmax(94px,auto)!important;}
.cmm-booking-form .cmm-booking-notes-field textarea{min-height:94px!important;}
.cmm-booking-form .cmm-booking-consents--privacy-only{grid-template-columns:1fr!important;}
.cmm-booking-form .cmm-booking-consents--privacy-only .cmm-booking-checkbox{min-height:56px!important;}
@media(max-width:980px){
  .cmm-booking-extra-participant{grid-template-columns:34px repeat(2,minmax(0,1fr))!important;}
  .cmm-booking-extra-participant .cmm-booking-extra-member,.cmm-booking-extra-participant label:last-child{grid-column:auto!important;}
}
@media(max-width:700px){
  .cmm-booking-primary-membership{grid-template-columns:1fr!important;}
  .cmm-booking-people-field{max-width:none!important;}
  .cmm-booking-extra-participant{grid-template-columns:32px minmax(0,1fr)!important;}
  .cmm-booking-extra-participant__number{grid-row:1 / span 4!important;align-self:start!important;margin-top:23px!important;}
  .cmm-booking-extra-participant label{grid-column:2!important;}
}


/* v2.2.31 — definitive notes/privacy vertical flow. */
.cmm-booking-form .cmm-booking-notes-field{
  display:block!important;
  grid-column:1 / -1!important;
  min-height:154px!important;
  margin:0!important;
  overflow:visible!important;
}
.cmm-booking-form .cmm-booking-notes-field>span{
  display:block!important;
  min-height:0!important;
  margin:0 0 7px!important;
}
.cmm-booking-form .cmm-booking-notes-field textarea{
  display:block!important;
  width:100%!important;
  height:120px!important;
  min-height:120px!important;
  margin:0!important;
  box-sizing:border-box!important;
  resize:vertical!important;
}
.cmm-booking-form__grid>.cmm-booking-consents--privacy-only{
  grid-column:1 / -1!important;
  width:100%!important;
  margin:28px 0 0!important;
  padding:16px!important;
  box-sizing:border-box!important;
  position:relative!important;
  clear:both!important;
}
@media(max-width:700px){
  .cmm-booking-form .cmm-booking-notes-field{min-height:146px!important;}
  .cmm-booking-form .cmm-booking-notes-field textarea{height:112px!important;min-height:112px!important;}
  .cmm-booking-form__grid>.cmm-booking-consents--privacy-only{margin-top:24px!important;}
}


/* v2.2.32 — notes removed and privacy consent raised. */
.cmm-booking-form__grid>.cmm-booking-consents--privacy-only{
  grid-column:1 / -1!important;
  width:100%!important;
  margin:8px 0 0!important;
  padding:13px!important;
  box-sizing:border-box!important;
  position:relative!important;
  clear:both!important;
}
.cmm-booking-form .cmm-booking-consents--privacy-only .cmm-booking-checkbox{
  min-height:52px!important;
}
@media(max-width:700px){
  .cmm-booking-form__grid>.cmm-booking-consents--privacy-only{margin-top:6px!important;padding:11px!important;}
}

/* v2.2.34 — separate newsletter consent, required privacy feedback and reminder modal. */
.cmm-booking-form .cmm-booking-consents--privacy-only{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  padding:14px!important;
  border:1px solid #d7e5f1!important;
  border-radius:16px!important;
  background:#f7fbff!important;
}
.cmm-booking-form .cmm-booking-consents--privacy-only .cmm-booking-checkbox{
  min-height:58px!important;
  margin:0!important;
  padding:13px 14px!important;
  border:1px solid #d5e2ee!important;
  border-radius:13px!important;
  background:#fff!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.cmm-booking-form .cmm-booking-consents--privacy-only .cmm-booking-checkbox:hover{
  border-color:#b9d3e9!important;
  background:#fbfdff!important;
}
.cmm-booking-form .cmm-booking-consents--privacy-only .cmm-booking-checkbox.has-error{
  border-color:#d94848!important;
  background:#fff6f6!important;
  box-shadow:0 0 0 3px rgba(217,72,72,.11)!important;
}
.cmm-booking-checkbox--newsletter span{display:grid!important;gap:3px!important;}
.cmm-booking-checkbox--newsletter span strong{font-size:14px!important;color:#244b72!important;}
.cmm-booking-checkbox--newsletter span small{font-size:12px!important;line-height:1.45!important;color:#6a7e91!important;font-weight:500!important;}
.cmm-booking-consent-error{
  position:relative!important;
  margin:-3px 0 0 40px!important;
  padding:8px 11px!important;
  width:max-content!important;
  max-width:calc(100% - 40px)!important;
  border-radius:9px!important;
  background:#c93030!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.35!important;
}
.cmm-booking-consent-error::before{
  content:"";
  position:absolute;
  left:14px;
  top:-6px;
  border-left:6px solid transparent;
  border-right:6px solid transparent;
  border-bottom:6px solid #c93030;
}
.cmm-booking-modal--newsletter .cmm-booking-modal__dialog{width:min(560px,100%)!important;}
.cmm-booking-modal__icon--mail{background:#eaf4ff!important;color:#0877f9!important;font-size:27px!important;}
.cmm-booking-newsletter-reassurance{margin-top:12px!important;padding:12px 14px!important;border-radius:12px!important;background:#f2f8ff!important;color:#365a7d!important;font-size:14px!important;}
.cmm-booking-modal__actions{display:flex!important;justify-content:center!important;gap:10px!important;margin-top:24px!important;}
.cmm-booking-modal__actions .cmm-booking-modal__button{margin-top:0!important;}
.cmm-booking-modal__button.is-secondary{background:#eef2f6!important;color:#40556a!important;}
@media(max-width:600px){
  .cmm-booking-modal__actions{flex-direction:column-reverse!important;}
  .cmm-booking-modal__actions .cmm-booking-modal__button{width:100%!important;}
  .cmm-booking-consent-error{margin-left:0!important;max-width:100%!important;}
}


/* v2.2.36 — visible newsletter envelope icon. */
.cmm-booking-modal__icon--mail svg{display:block;width:34px;height:34px;color:currentColor;}

/* v2.6.36 — tipografia comunicazioni */
.cmm-single-news,.cmm-single-news *{font-family:Arial,Helvetica,sans-serif!important}
.cmm-single-news__content a:not(.cmm-single-news__cta a){color:#1687d9!important;text-decoration:underline!important;text-underline-offset:3px}
.cmm-single-news__cta{margin:34px 0 12px;text-align:center}
.cmm-single-news__cta a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:10px;background:#0874ed;color:#fff!important;text-decoration:none!important;font-weight:700;box-shadow:0 8px 18px rgba(8,116,237,.18)}
.cmm-single-news__cta a:hover{filter:brightness(.94)}


/* v2.6.38 — comunicazioni pubbliche e striscia news Home */
.cmm-single-news,.cmm-single-news__article,.cmm-single-news__content,.cmm-single-news__content p,.cmm-single-news__content li,.cmm-single-news__content span,.cmm-single-news__content strong,.cmm-single-news__content em{font-family:Arial,Helvetica,sans-serif!important}
.cmm-single-news__content a:not(.cmm-single-news__cta a),
.cmm-single-news__content a:not(.cmm-single-news__cta a) *{color:#1687d9!important;-webkit-text-fill-color:#1687d9!important;text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:3px!important}
.cmm-news-strip-static button[class*="prev"],.cmm-news-strip-static button[class*="next"],.cmm-news-strip-static [class*="arrow"],.cmm-news-strip-static [class*="navigation"] button{display:none!important}


/* v2.6.39 — comunicazioni: conserva il template del tema e applica solo le regole editoriali */
body.cmm-managed-communication-single .entry-content,
body.cmm-managed-communication-single .entry-content p,
body.cmm-managed-communication-single .entry-content li,
body.cmm-managed-communication-single .entry-content span,
body.cmm-managed-communication-single .post-content,
body.cmm-managed-communication-single .post-content p,
body.cmm-managed-communication-single .post-content li,
body.cmm-managed-communication-single .wp-block-post-content,
body.cmm-managed-communication-single .wp-block-post-content p,
body.cmm-managed-communication-single .wp-block-post-content li{font-family:Arial,Helvetica,sans-serif!important}
body.cmm-managed-communication-single .entry-content a,
body.cmm-managed-communication-single .entry-content a *,
body.cmm-managed-communication-single .post-content a,
body.cmm-managed-communication-single .post-content a *,
body.cmm-managed-communication-single .wp-block-post-content a,
body.cmm-managed-communication-single .wp-block-post-content a *{color:#1687d9!important;-webkit-text-fill-color:#1687d9!important;text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:3px!important}
body.cmm-managed-communication-single .cmm-theme-communication-cta{margin:32px 0 8px;text-align:center}
body.cmm-managed-communication-single .cmm-theme-communication-cta a{display:inline-flex!important;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:10px;background:#0874ed!important;color:#fff!important;-webkit-text-fill-color:#fff!important;text-decoration:none!important;font-family:Arial,Helvetica,sans-serif!important;font-weight:700;box-shadow:0 8px 18px rgba(8,116,237,.18)}
.cmm-booking-trap{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.cmm-single-news__press-meta{display:flex;align-items:stretch;justify-content:center;gap:10px;flex-wrap:wrap;margin:18px auto 0}.cmm-single-news__press-meta span{display:grid;gap:2px;min-width:130px;padding:10px 14px;border:1px solid rgba(155,96,30,.18);border-radius:11px;background:#fff8ee;color:#5e4b39;font-size:13px}.cmm-single-news__press-meta b{color:#9b5f1e;font-size:10px;letter-spacing:.08em;text-transform:uppercase}@media(max-width:620px){.cmm-single-news__press-meta{display:grid;grid-template-columns:1fr;width:100%}.cmm-single-news__press-meta span{min-width:0}}
