/**
 * CoverMyTrip — Classi componente SITEWIDE
 * -------------------------------------------------------------
 * Stili riutilizzabili da richiamare negli elementi WPBakery
 * tramite il campo "Extra class name" (es. cmt-btn, cmt-card).
 * I colori usano i token definiti in theme.json (--wp--preset--*)
 * così restano sincronizzati con la palette del tema.
 *
 * Regola: qui va SOLO ciò che è sitewide (bottoni, card, sezioni,
 * tipografia di base). Lo stile specifico della singola pagina va
 * nel CSS custom di pagina (plugin custom-css-js).
 */

/* ---------------------------------------------------------------
 * Integrazione WPBakery ↔ tema a blocchi (SITEWIDE)
 * Sulle pagine costruite con WPBakery lasciamo che sia il page
 * builder a controllare le spaziature verticali: annulliamo il
 * block-gap (margin-block-start: 1.2rem) che il tema a blocchi
 * inietta tra ogni riga dentro .wp-block-post-content.
 * .wpb-js-composer è sul <body> solo nelle pagine WPBakery, quindi
 * non tocca le pagine/articoli a blocchi normali.
 * --------------------------------------------------------------- */
.wpb-js-composer .wp-block-post-content > *,
.wpb-js-composer .entry-content > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

/* ---------------------------------------------------------------
 * Landing (IT #54 + EN #142): togliamo il vincolo "content-size"
 * che il tema a blocchi impone ai figli di .wp-block-post-content,
 * così le righe full-width di WPBakery (hero, app, assicurazioni)
 * si estendono a tutta larghezza. Scoped .cmt-landing → vale per
 * entrambe le lingue (regola equivalente esisteva solo come
 * .page-id-54, quindi mancava alla versione EN #142).
 * --------------------------------------------------------------- */
.cmt-landing .wp-block-post-content,
.cmt-landing .entry-content {
	max-width: none !important;
	padding: 0 !important;
}
.cmt-landing .wp-block-post-content > *,
.cmt-landing .entry-content > * {
	max-width: none !important;
}

/* WPBakery: le righe .vc_row-fluid hanno un margine orizzontale -15px (gutter
 * della griglia). Su pagine full-width questo sfora 15px oltre il viewport e
 * crea uno scroll orizzontale ("sbordatura"). Lo conteniamo qui: le righe
 * stretch full-bleed arrivano esattamente al bordo, quindi non vengono
 * tagliate; viene rimosso solo il phantom da 15px. */
.wpb-js-composer .wp-block-post-content,
.wpb-js-composer .entry-content {
	overflow-x: clip;
}

:root {
	--cmt-primary: var(--wp--preset--color--primary, #ff6600);
	--cmt-primary-light: var(--wp--preset--color--primary-light, #ff8533);
	--cmt-primary-dark: var(--wp--preset--color--primary-dark, #cc5200);
	--cmt-primary-soft: var(--wp--preset--color--primary-soft, #fff0e5);
	--cmt-ink: var(--wp--preset--color--contrast, #111827);
	--cmt-muted: var(--wp--preset--color--muted, #6b7280);
	--cmt-border: var(--wp--preset--color--border, #e5e7eb);
	--cmt-surface: var(--wp--preset--color--surface, #f3f4f6);

	--cmt-radius: 0.75rem;      /* card: rounded-xl */
	--cmt-radius-lg: 1.25rem;   /* blocchi grandi */
	--cmt-radius-pill: 9999px;  /* bottoni pill */
	--cmt-shadow: 0 10px 30px rgba(17, 24, 39, 0.08);
	--cmt-shadow-sm: 0 4px 14px rgba(17, 24, 39, 0.06);
}

/* -------------------------------------------------- Tipografia base */
.cmtui-eyebrow {
	display: inline-block;
	font-weight: 600;
	font-size: 0.875rem;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--cmt-primary);
}

.cmtui-lead {
	font-size: 1.125rem;
	line-height: 1.6;
	color: var(--cmt-muted);
}

/* ------------------------------------------------------- Sezioni */
.cmtui-section {
	padding-top: clamp(2.5rem, 6vw, 5rem);
	padding-bottom: clamp(2.5rem, 6vw, 5rem);
}

.cmtui-section--soft { background-color: var(--cmt-primary-soft); }
.cmtui-section--surface { background-color: var(--cmt-surface); }
.cmtui-section--dark {
	background-color: var(--cmt-ink);
	color: #fff;
}

/* ---------------------------------------------------- Bottoni */
.cmtui-btn,
a.cmtui-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.75rem 1.75rem;
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.2;
	text-decoration: none;
	border: 2px solid transparent;
	border-radius: var(--cmt-radius-pill);
	cursor: pointer;
	transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}
.cmtui-btn:hover { transform: translateY(-1px); }

/* Primario (arancione pieno) */
.cmtui-btn,
a.cmtui-btn,
.cmtui-btn--primary {
	background-color: var(--cmt-primary);
	color: #fff;
}
.cmtui-btn--primary:hover,
.cmtui-btn:hover { background-color: var(--cmt-primary-dark); color: #fff; }

/* Outline */
.cmtui-btn--outline {
	background-color: transparent;
	color: var(--cmt-primary);
	border-color: var(--cmt-primary);
}
.cmtui-btn--outline:hover {
	background-color: var(--cmt-primary);
	color: #fff;
}

/* Scuro */
.cmtui-btn--dark {
	background-color: var(--cmt-ink);
	color: #fff;
}
.cmtui-btn--dark:hover { background-color: #000; color: #fff; }

/* ------------------------------------------------------- Card */
.cmtui-card {
	background-color: #fff;
	border-radius: var(--cmt-radius);
	box-shadow: var(--cmt-shadow-sm);
	padding: 1.75rem;
	height: 100%;
}
.cmtui-card--soft { background-color: var(--cmt-primary-soft); box-shadow: none; }
.cmtui-card--bordered { box-shadow: none; border: 1px solid var(--cmt-border); }

.cmtui-card__title {
	font-size: 1.25rem;
	font-weight: 600;
	margin: 0 0 0.5rem;
	color: var(--cmt-ink);
}
.cmtui-card__text {
	color: var(--cmt-muted);
	line-height: 1.6;
	margin: 0;
}

/* --------------------------------------------- Media / immagini */
.cmtui-rounded { border-radius: var(--cmt-radius); overflow: hidden; }
.cmtui-rounded-lg { border-radius: var(--cmt-radius-lg); overflow: hidden; }

/* ===============================================================
 * FOOTER — SITEWIDE (template part del tema: parts/footer.html)
 * Migrato dal CSS di pagina. Targettizza il markup a blocchi
 * (group/columns/list/image), non piu' la struttura WPBakery.
 * =============================================================== */
.cmt-ftr { background: #fff; border-top: 1px solid var(--cmt-border, #e5e7eb); }
.cmt-ftr__inner { max-width: 1280px; margin: 0 auto; padding: 0 32px 4px; }

.cmt-ftr__top { display: flex; align-items: center; justify-content: space-between; padding: 56px 0; }
.cmt-ftr__logo { margin: 0; }
.cmt-ftr__logo img { width: 120px; height: auto; }
.cmt-ftr__lang { margin: 0; text-align: right; }
.cmt-ftr__lang, .cmt-ftr__lang p { font-size: .85rem; color: var(--cmt-ink, #111827); font-weight: 600; }

/* 4 colonne uguali: contenuto in 1, 2 e 4 (la 3 resta vuota come separatore).
   Scoped a .wp-block-template-part per vincere sul CSS globale della home 22 (entry page-22),
   che definisce ancora .cmt-ftr__cols{display:flex} a livello globale. */
.wp-block-template-part .cmt-ftr__cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; align-items: start; }
/* is-layout-flow aggiunge margin-block-start ai figli non-primi: in griglia spinge giù le colonne 2/3/4. Azzeralo. */
.wp-block-template-part .cmt-ftr__cols > * { margin-block-start: 0; }
.cmt-ftr__col { min-width: 0; }
.wp-block-template-part .cmt-ftr__app { grid-column: 4; }   /* app nella 4ª colonna, larga come le altre */
.cmt-ftr__col h3 { font-size: .875rem; font-weight: 600; color: var(--cmt-ink, #111827); margin: 0 0 16px; line-height: 1.5rem; }
.cmt-ftr__col ul { list-style: none; padding: 0; margin: 0; }
.cmt-ftr__col li { margin-bottom: 16px; }
.cmt-ftr__col li:last-child { margin-bottom: 0; }
.cmt-ftr__col a { font-size: .875rem; line-height: 1rem; color: var(--wp--preset--color--neutral-dark, #374151); text-decoration: none; }
.cmt-ftr__col a:hover { color: var(--cmt-ink, #111827); }
.cmt-ftr__app p { font-size: .875rem; line-height: 1.5rem; color: var(--wp--preset--color--neutral-dark, #374151); margin: 12px 0 0; }
.cmt-ftr__app .cmt-badge-img { margin: 8px 8px 8px 0; }
.cmt-ftr__social-h { margin-top: 28px; }
.cmt-ftr__social { margin: 8px 0 0; }
.cmt-ftr__social a { display: inline-flex; color: var(--cmt-ink, #111827); }
.cmt-ftr__social a:hover { color: var(--cmt-primary, #ff6600); }
.cmt-ftr__social svg { width: 24px; height: 24px; }

.cmt-ftr__bottom { border-top: 1px solid rgba(17, 24, 39, .1); margin-top: 64px; padding: 24px 0; text-align: center; }
.cmt-ftr__bottom p { font-size: .75rem; line-height: 1rem; color: var(--wp--preset--color--neutral-dark, #374151); margin: 0 0 8px; }
.cmt-legal { display: flex; gap: 16px; justify-content: center; margin-top: 8px; }
.cmt-legal a { font-size: .75rem; font-weight: 600; color: var(--cmt-ink, #111827); text-decoration: underline; }

/* badge store (usati nel footer e nella sezione app) — sitewide */
.cmt-badge-img { display: inline-block; margin: 0; }
.cmt-badge-img img { width: 135px; height: 40px; }

@media (max-width: 900px) {
	.cmt-ftr__top { flex-direction: column; align-items: flex-start; gap: 16px; }
	.cmt-ftr__lang { text-align: left; }
	.wp-block-template-part .cmt-ftr__cols { grid-template-columns: 1fr; gap: 28px; }
	.wp-block-template-part .cmt-ftr__app { grid-column: auto; }
}

/* =====================================================================
 * COMPONENTI SITEWIDE — migrati dai CSS di pagina (entry 39/55/67).
 * Design system condiviso, single-source qui. Le pagine tengono solo
 * le regole specifiche di pagina. Copiati verbatim dalle entry.
 * ===================================================================== */
/* Font family __Poppins_9b9fd1 (usata dai CSS di pagina) */
@font-face{font-family:__Poppins_9b9fd1;font-style:normal;font-weight:400;font-display:swap;src:url('/wp-content/uploads/cmt-fonts/poppins-400.woff2') format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Poppins_9b9fd1;font-style:normal;font-weight:500;font-display:swap;src:url('/wp-content/uploads/cmt-fonts/poppins-500.woff2') format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Poppins_9b9fd1;font-style:normal;font-weight:600;font-display:swap;src:url('/wp-content/uploads/cmt-fonts/poppins-600.woff2') format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Poppins_9b9fd1;font-style:normal;font-weight:700;font-display:swap;src:url('/wp-content/uploads/cmt-fonts/poppins-700.woff2') format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Poppins_Fallback_9b9fd1;src:local("Arial");ascent-override:93.62%;descent-override:31.21%;line-gap-override:8.92%;size-adjust:112.16%}
/* Design token condivisi usati dalle regole migrate */
:root{ --cmt-primary-600:#CC5200; --cmt-primary-50:#FFF0E5; --ink:#111827; --grey:#374151; --cw:1280px; --cx:32px; --cf-primary:#FF6600; --cf-primary-600:#CC5200; --cf-primary-50:#FFF0E5; --cf-ink:#111827; --cf-grey:#374151; --cf-cw:1280px; --cf-cx:32px; --cs-primary:#FF6600; --cs-ink:#111827; --cs-grey:#374151; --cs-cw:1280px; }
/* Container */
.cmt-section{ max-width:var(--cw); margin:0 auto; padding-left:var(--cx); padding-right:var(--cx); }
/* Header in-pagina */
.cmt-hdr{ position:sticky; top:0; z-index:50; background:#fff; border-bottom:1px solid #fff; box-shadow:0 1px 2px rgba(0,0,0,.06); }
.cmt-hdr__col > .vc_column-inner{ max-width:none; margin:0 auto; padding:0 24px; }
.cmt-hdr__col > .vc_column-inner > .wpb_wrapper{ display:flex; align-items:center; justify-content:space-between; height:64px; }
.cmt-hdr__logo{ margin:0; } .cmt-hdr__logo img{ width:120px; height:auto; }
.cmt-nav{ display:flex; align-items:center; gap:32px; }
.cmt-nav > a{ color:var(--ink); font-size:.875rem; line-height:1.25rem; font-weight:500; text-decoration:none; }
.cmt-nav > a:hover{ color:#4b5563; }
.cmt-caret{ font-size:.7rem; }
.cmt-login{ background:#000; color:#fff !important; border-radius:8px; padding:6px 10px; font-size:.875rem; line-height:1.25rem; font-weight:600; }
.cmt-login:hover{ background:#6b7280; }
/* Bottoni */
.cmt-btn a.vc_general{ background:var(--cmt-primary) !important; color:#fff !important; border:none !important;
  border-radius:8px !important; font-weight:600 !important; font-size:.875rem !important; padding:8px 16px !important; box-shadow:0 1px 2px rgba(0,0,0,.08) !important; }
.cmt-btn a.vc_general:hover{ background:var(--cmt-primary-600) !important; }
.cmt-btn--white a.vc_general{ background:#fff !important; color:var(--ink) !important; font-size:1rem !important; line-height:1.5rem !important; padding:12px 20px !important; width:208px; text-align:center; }
.cmt-btn--white a.vc_general:hover{ background:var(--cmt-primary-50) !important; color:var(--cmt-primary-600) !important; }
.cmt-center{ text-align:center; margin-top:56px; }
.cmt-center .vc_btn3-container{ margin-bottom:0; }
/* Titoli */
.cmt-h2{ color:var(--cmt-primary); font-weight:600; margin:0; padding-bottom:12px; }
.cmt-h2--5xl{ font-size:3rem; line-height:1; }
.cmt-h2--4xl{ font-size:2.25rem; line-height:2.5rem; }
.cmt-h2--dark{ color:var(--ink); }
.cmt-h3{ font-size:1.125rem; line-height:1.75rem; font-weight:600; color:var(--ink); margin:0 0 8px; }
.cmt-lead{ font-size:1.5rem; line-height:2rem; font-weight:400; color:var(--ink); margin:16px 0 0; }
.cmt-head--center{ margin:0 auto 80px; text-align:center; }
.cmt-head--split{ display:flex; gap:24px; margin-bottom:48px; align-items:stretch; }
.cmt-head--split .cmt-h2{ flex:1; margin:0; padding-bottom:12px; }
.cmt-head__p{ flex:1; color:var(--ink); font-size:1rem; line-height:1.5; margin:0; }
/* Features */
.cmt-features{ display:flex; gap:80px; }
.cmt-features .vc_column-inner{ text-align:center; }
.cmt-feature__ico{ margin:0 auto; }
.cmt-feature__ico img{ height:119px !important; width:auto !important; object-fit:contain; margin:0 auto; }
.cmt-feature__ico .vc_figure, .cmt-feature__ico .vc_single_image-wrapper{ display:block; text-align:center; }
.cmt-feature .wpb_text_column{ margin-top:16px; }
.cmt-feature p{ color:var(--grey); font-size:1rem; line-height:1.5rem; }
/* Split immagine+testo */
.cmt-split{ display:flex; align-items:stretch; gap:0; min-height:421px; }
.cmt-split__text{ order:1; flex:1 1 0; padding:24px 40px 36px 0; display:flex; flex-direction:column; justify-content:center; }
.cmt-split__img{ order:2; flex:1 1 0; }
.cmt-h2--left{ text-align:left; line-height:60.8px; margin-bottom:20px; padding-bottom:0; }
.cmt-round img{ border-radius:12px !important; width:100%; height:100%; object-fit:cover; }
.cmt-split__img .wpb_single_image, .cmt-split__img .vc_figure, .cmt-split__img .vc_single_image-wrapper, .cmt-round{ height:100%; }
.cmt-split__p{ color:var(--ink); line-height:1.5; margin:0 0 32px; font-size:1rem; }
.cf-split--imgleft .cmt-split__img{ order:1; }
.cf-split--imgleft .cmt-split__text{ order:2; padding:24px 0 36px 40px; }
/* Supporto + FAQ (help) */
.cf-help{ background:#f6f7f9; padding:64px 0; }
.cf-help > .wpb_column > .vc_column-inner{ max-width:var(--cf-cw); margin:0 auto; padding:0 var(--cf-cx); }
.cf-help__row{ display:flex; align-items:flex-start; gap:56px; }
.cf-help__left{ flex:1 1 0; }
.cf-help__right{ flex:1 1 0; }
.cf-help .cmt-h2{ font-size:1.75rem; line-height:1.3; padding-bottom:0; }
.cf-help__left p{ color:var(--cf-grey); font-size:1rem; line-height:1.6; margin:16px 0 24px; }
.cf-help__img{ margin-top:24px; }
.cf-help__img img{ max-width:360px; height:auto; }
.cf-faq__head{ margin:0 0 8px; }
/* FAQ: card unite in un unico riquadro (divisori tra le domande, chevron a destra) */
.cf-help__right .vc_toggle{ background:#fff; border:1px solid #e5e7eb; border-bottom:0; border-radius:0; margin:0; padding:0; }
.cf-help__right .cf-faq__head + .vc_toggle{ border-top-left-radius:12px; border-top-right-radius:12px; }
.cf-help__right .vc_toggle:last-child{ border-bottom:1px solid #e5e7eb; border-bottom-left-radius:12px; border-bottom-right-radius:12px; }
.cf-help__right .vc_toggle_title{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 20px; margin:0; cursor:pointer; }
.cf-help__right .vc_toggle_title h4{ font-size:1rem; font-weight:600; color:var(--cf-ink); margin:0; line-height:1.4; }
.cf-help__right .vc_toggle_icon{ display:none !important; }
.cf-help__right .vc_toggle_title::after{ content:""; flex:0 0 auto; width:9px; height:9px; border-right:2px solid #6b7280; border-bottom:2px solid #6b7280; transform:rotate(45deg); transition:transform .2s ease; }
.cf-help__right .vc_toggle_active .vc_toggle_title::after{ transform:rotate(-135deg); }
.cf-help__right .vc_toggle_content{ padding:0 20px 18px; margin:0; color:var(--cf-grey); font-size:.95rem; line-height:1.6; }
.cf-help__right .vc_toggle_content p{ margin:0 0 10px; }
.cf-help__right .vc_toggle_content p:last-child{ margin-bottom:0; }
.cf-help__right .vc_toggle_content ol{ margin:0 0 10px; padding-left:20px; }
.cf-help__right .vc_toggle_content li{ margin-bottom:8px; }
.cf-help__right .vc_toggle_content strong{ color:var(--cf-ink); }
/* Responsive condiviso */
@media (max-width:900px){ .cmt-nav{ gap:14px; } .cmt-nav > a:not(.cmt-login){ display:none; } .cmt-h2--5xl{ font-size:2rem; } .cmt-h2--4xl{ font-size:1.8rem; } .cmt-features, .cmt-split, .cmt-head--split{ flex-direction:column; gap:28px; } .cf-help__row{ flex-direction:column; gap:24px; } .cf-help__img img{ max-width:100%; } }

/* =====================================================================
 * COVERAGES ACCORDION (.cov-*) — SITEWIDE, riusabile dalle pagine
 * "assicurazione". Sezione "Cosa deve coprire...": sfondo primary-50,
 * head centrata + sottotitolo + accordion titolo/descrizione (card unite,
 * chevron a destra, stesso look delle FAQ del blocco help). max-w 768px.
 * ===================================================================== */
.cov-sec{ background:var(--cf-primary-50); padding:70px 0 80px; }
.cov-sec > .wpb_column > .vc_column-inner{ max-width:var(--cf-cw); margin:0 auto; padding:0 var(--cf-cx); }
.cov-head{ max-width:760px; margin:0 auto 16px; text-align:center; }
.cov-head .cmt-h2{ font-size:1.5rem; line-height:2rem; }
.cov-head p{ color:var(--cf-grey); font-size:1rem; line-height:1.6; margin:12px 0 0; }
.cov-sub{ max-width:768px; margin:0 auto 20px; text-align:center; }
.cov-sub h3{ font-size:1.125rem; font-weight:600; color:var(--cf-ink); margin:0; }
.cov-acc{ max-width:768px; margin:0 auto; }
.cov-acc .vc_toggle{ background:#fff; border:1px solid #e5e7eb; border-bottom:0; border-radius:0; margin:0; padding:0; }
.cov-acc .vc_toggle:first-child{ border-top-left-radius:12px; border-top-right-radius:12px; }
.cov-acc .vc_toggle:last-child{ border-bottom:1px solid #e5e7eb; border-bottom-left-radius:12px; border-bottom-right-radius:12px; }
.cov-acc .vc_toggle_title{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 20px; margin:0; cursor:pointer; }
.cov-acc .vc_toggle_title h4{ font-size:1rem; font-weight:600; color:var(--cf-ink); margin:0; line-height:1.4; }
.cov-acc .vc_toggle_icon{ display:none !important; }
.cov-acc .vc_toggle_title::after{ content:""; flex:0 0 auto; width:9px; height:9px; border-right:2px solid #6b7280; border-bottom:2px solid #6b7280; transform:rotate(45deg); transition:transform .2s ease; }
.cov-acc .vc_toggle_active .vc_toggle_title::after{ transform:rotate(-135deg); }
.cov-acc .vc_toggle_content{ padding:0 20px 18px; margin:0; color:var(--cf-grey); font-size:.95rem; line-height:1.6; }
.cov-acc .vc_toggle_content p{ margin:0 0 10px; }
.cov-acc .vc_toggle_content p:last-child{ margin-bottom:0; }
.cov-acc .vc_toggle_content ol{ margin:0 0 10px; padding-left:20px; }
.cov-acc .vc_toggle_content li{ margin-bottom:6px; }

/* === CMT country insurance pages (scoped) — START === */
/* assicurazione-viaggio-usa */
/* page 108 */
.page-id-108 .wp-block-post-content, .page-id-108 .entry-content{ max-width:none !important; padding:0 !important; }
.page-id-108 .wp-block-post-content > *, .page-id-108 .entry-content > *{ max-width:none !important; }
.page-id-108 .wp-block-post-title, .page-id-108 .entry-header{ display:none; }
.page-id-108{ color:#111827; }
.page-id-108 .av-hero > .wpb_column{ background:#662900 url(/wp-content/uploads/2026/07/cmt-usa-hero.jpg) center/cover no-repeat; }
.page-id-108 .av-btn--outline a.vc_general{ background:transparent !important; color:#111827 !important; border:1px solid #111827 !important; box-shadow:none !important; min-width:240px; padding:.625rem 1.25rem !important; display:inline-block; text-align:center; }
.page-id-108 .av-btn--outline a.vc_general:hover{ background:#e5e7eb !important; color:#111827 !important; }

/* assicurazione-viaggio-dubai */
/* page 110 */
.page-id-110 .wp-block-post-content, .page-id-110 .entry-content{ max-width:none !important; padding:0 !important; }
.page-id-110 .wp-block-post-content > *, .page-id-110 .entry-content > *{ max-width:none !important; }
.page-id-110 .wp-block-post-title, .page-id-110 .entry-header{ display:none; }
.page-id-110{ color:#111827; }
.page-id-110 .av-hero > .wpb_column{ background:#662900 url(/wp-content/uploads/2026/07/cmt-dubai-hero.jpg) center/cover no-repeat; }
.page-id-110 .av-btn--outline a.vc_general{ background:transparent !important; color:#111827 !important; border:1px solid #111827 !important; box-shadow:none !important; min-width:240px; padding:.625rem 1.25rem !important; display:inline-block; text-align:center; }
.page-id-110 .av-btn--outline a.vc_general:hover{ background:#e5e7eb !important; color:#111827 !important; }

/* assicurazione-viaggio-thailandia */
/* page 112 */
.page-id-112 .wp-block-post-content, .page-id-112 .entry-content{ max-width:none !important; padding:0 !important; }
.page-id-112 .wp-block-post-content > *, .page-id-112 .entry-content > *{ max-width:none !important; }
.page-id-112 .wp-block-post-title, .page-id-112 .entry-header{ display:none; }
.page-id-112{ color:#111827; }
.page-id-112 .av-hero > .wpb_column{ background:#662900 url(/wp-content/uploads/2026/07/cmt-thailandia-hero.jpg) center/cover no-repeat; }
.page-id-112 .av-btn--outline a.vc_general{ background:transparent !important; color:#111827 !important; border:1px solid #111827 !important; box-shadow:none !important; min-width:240px; padding:.625rem 1.25rem !important; display:inline-block; text-align:center; }
.page-id-112 .av-btn--outline a.vc_general:hover{ background:#e5e7eb !important; color:#111827 !important; }

/* assicurazione-viaggio-marocco */
/* page 114 */
.page-id-114 .wp-block-post-content, .page-id-114 .entry-content{ max-width:none !important; padding:0 !important; }
.page-id-114 .wp-block-post-content > *, .page-id-114 .entry-content > *{ max-width:none !important; }
.page-id-114 .wp-block-post-title, .page-id-114 .entry-header{ display:none; }
.page-id-114{ color:#111827; }
.page-id-114 .av-hero > .wpb_column{ background:#662900 url(/wp-content/uploads/2026/07/cmt-marocco-hero.jpg) center/cover no-repeat; }
.page-id-114 .av-btn--outline a.vc_general{ background:transparent !important; color:#111827 !important; border:1px solid #111827 !important; box-shadow:none !important; min-width:240px; padding:.625rem 1.25rem !important; display:inline-block; text-align:center; }
.page-id-114 .av-btn--outline a.vc_general:hover{ background:#e5e7eb !important; color:#111827 !important; }

/* assicurazione-viaggio-canada */
/* page 116 */
.page-id-116 .wp-block-post-content, .page-id-116 .entry-content{ max-width:none !important; padding:0 !important; }
.page-id-116 .wp-block-post-content > *, .page-id-116 .entry-content > *{ max-width:none !important; }
.page-id-116 .wp-block-post-title, .page-id-116 .entry-header{ display:none; }
.page-id-116{ color:#111827; }
.page-id-116 .av-hero > .wpb_column{ background:#662900 url(/wp-content/uploads/2026/07/cmt-canada-hero.jpg) center/cover no-repeat; }
.page-id-116 .av-btn--outline a.vc_general{ background:transparent !important; color:#111827 !important; border:1px solid #111827 !important; box-shadow:none !important; min-width:240px; padding:.625rem 1.25rem !important; display:inline-block; text-align:center; }
.page-id-116 .av-btn--outline a.vc_general:hover{ background:#e5e7eb !important; color:#111827 !important; }

/* === CMT country insurance pages (scoped) — END === */

/* === CMT sitewide header (mega-menu, sticky) — START === */
header.wp-block-template-part{ position:sticky; top:0; z-index:1000; margin:0; padding:0; background:#fff; border-bottom:1px solid #eef0f2; }
.cmt-hdr2{ position:relative; display:flex; align-items:center; gap:20px; height:64px; padding:0 24px; }
.cmt-hdr2__logo{ display:flex; align-items:center; flex:0 0 auto; }
.cmt-hdr2__logo img{ width:120px; height:auto; display:block; }
.cmt-hdr2__nav{ margin-left:auto; display:flex; align-items:center; gap:32px; }
.cmt-hdr2__menu{ display:flex; align-items:center; gap:28px; list-style:none; margin:0; padding:0; }
.cmt-hdr2__item{ position:static; }
.cmt-hdr2__link{ display:inline-flex; align-items:center; gap:5px; font-size:.9rem; font-weight:500; color:#111827; background:none; border:0; cursor:pointer; padding:0; text-decoration:none; font-family:inherit; line-height:1; }
.cmt-hdr2__link:hover{ color:#4b5563; }
.cmt-hdr2__link--active{ color:#FF6600; }
.cmt-caret{ transition:transform .2s ease; font-size:.8em; }
.cmt-hdr2__item--mega:hover .cmt-caret, .cmt-hdr2__item--mega:focus-within .cmt-caret{ transform:rotate(180deg); }
.cmt-hdr2__login{ flex:0 0 auto; display:inline-flex; align-items:center; gap:7px; background:#000; color:#fff; font-size:.85rem; font-weight:600; border-radius:8px; padding:8px 14px; text-decoration:none; }
.cmt-hdr2__login:hover{ background:#374151; color:#fff; }
.cmt-hdr2__login svg{ width:16px; height:16px; }

/* mega panel */
.cmt-mega{ position:absolute; left:0; right:0; top:100%; background:#fff; box-shadow:0 24px 32px rgba(0,0,0,.10); border-top:1px solid #eef0f2; opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .18s ease, transform .18s ease, visibility .18s; }
.cmt-hdr2__item--mega:hover .cmt-mega, .cmt-hdr2__item--mega:focus-within .cmt-mega{ opacity:1; visibility:visible; transform:none; }
/* anteprima Customizer: dropdown aperto mentre si edita la sezione Mega Menu */
.cmt-mega-force-open .cmt-hdr2 .cmt-mega{ opacity:1 !important; visibility:visible !important; transform:none !important; }
.cmt-mega__inner{ max-width:1152px; margin:0 auto; padding:48px 32px; display:grid; grid-template-columns:1fr 1fr 1.35fr; gap:40px; align-items:start; }
.cmt-mega__h{ font-size:.9rem; font-weight:600; color:#111827; margin:0 0 18px; }
.cmt-mega__col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
.cmt-mega__col a{ font-size:.9rem; color:#4b5563; text-decoration:none; }
.cmt-mega__col a:hover{ color:#111827; }
.cmt-mega__feat{ display:block; text-decoration:none; }
.cmt-mega__feat img{ width:100%; height:auto; aspect-ratio:3/1; object-fit:cover; border-radius:12px; display:block; }
.cmt-mega__feat span{ display:block; margin-top:14px; font-size:.95rem; font-weight:500; color:#111827; }

/* burger (mobile only) */
.cmt-hdr2__burger-cb{ display:none; }
.cmt-hdr2__burger{ display:none; }

@media (max-width:1023px){
  .cmt-hdr2__nav{ position:absolute; left:0; right:0; top:100%; margin:0; flex-direction:column; align-items:stretch; gap:0; background:#fff; padding:6px 24px 22px; box-shadow:0 24px 32px rgba(0,0,0,.10); border-top:1px solid #eef0f2; display:none; }
  .cmt-hdr2__burger-cb:checked ~ .cmt-hdr2__nav{ display:flex; }
  .cmt-hdr2__login{ margin-left:auto; }
  .cmt-hdr2__burger{ display:flex; flex-direction:column; justify-content:center; gap:5px; width:40px; height:40px; align-items:center; cursor:pointer; }
  .cmt-hdr2__burger span{ width:22px; height:2px; background:#111827; border-radius:2px; }
  .cmt-hdr2__menu{ flex-direction:column; align-items:stretch; gap:0; width:100%; }
  .cmt-hdr2__item{ border-bottom:1px solid #f1f2f4; }
  .cmt-hdr2__link{ width:100%; padding:15px 0; }
  .cmt-mega{ position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border-top:0; }
  .cmt-mega__inner{ display:block; max-width:none; padding:4px 0 14px; }
  .cmt-mega__col{ margin-top:6px; }
  .cmt-mega__col ul{ gap:12px; }
  .cmt-mega__h{ margin:14px 0 10px; }
  .cmt-mega__feat{ display:none; }
}

/* full-bleed WPBakery pages: hero flush under the sticky header (remove theme top spacing) */
.wpb-js-composer main.wp-block-group{ margin-top:0 !important; }
.wpb-js-composer main.wp-block-group > .wp-block-group{ padding-top:0 !important; }
/* === CMT sitewide header (mega-menu, sticky) — END === */

/* Landing: hero attaccato all'header — annulla il block-gap 1.2rem del tema sopra
   il contenuto e l'inset superiore della card hero (stabile: sta nel tema). */
.cmt-landing .wp-site-blocks > * { margin-block-start: 0 !important; }
.cmt-landing .cmt-hero { padding-top: 0 !important; }

/* Switcher lingua (Polylang) nell'header */
.cmt-lang { display: inline-flex; align-items: center; gap: 4px; margin-right: 4px; }
.cmt-lang__item {
	display: inline-flex; align-items: center;
	font-size: .8rem; font-weight: 600; line-height: 1;
	color: var(--wp--preset--color--muted, #6b7280);
	text-decoration: none; padding: 4px 6px; border-radius: 6px;
}
.cmt-lang__item:hover { color: var(--cmt-ink, #111827); }
.cmt-lang__item--current { color: var(--cmt-primary, #ff6600); }
