/* CM 12 ottobre 2026 — marchio originale composizionenegoziata.it.
   Geometria sorgente: 48×48, bordo 3px; elemento interno 16×16, offset 6px.
   Solo la cromia varia col contesto: su sfondo scuro bianco, su chiaro #17324d.
   Nessun marchio all'interno delle CTA o del flottante. */
.site-header .brand,.site-head .brand,.site-footer .brand {
  display:inline-flex; align-items:center; gap:14px; min-width:0;
}
.site-header .brand > .brand-mark,
.site-head .brand > .brand-mark,
.site-footer .brand > .brand-mark {
  box-sizing:border-box !important;
  display:block !important;
  position:relative !important;
  background:transparent !important;
  width:48px !important; height:48px !important; flex:0 0 48px !important;
  padding:0 !important; margin:0 !important;
  border:3px solid currentColor !important; border-radius:0 !important;
  font-size:0 !important; line-height:0 !important;
  letter-spacing:normal !important;
  transform:none !important; overflow:visible !important;
}
.site-header .brand > .brand-mark::before,
.site-head .brand > .brand-mark::before,
.site-footer .brand > .brand-mark::before {content:none !important;}
.site-header .brand > .brand-mark::after,
.site-head .brand > .brand-mark::after,
.site-footer .brand > .brand-mark::after {
  content:"" !important; display:block !important; position:absolute !important;
  box-sizing:border-box !important;
  width:16px !important; height:16px !important;
  right:6px !important; bottom:6px !important;
  background:currentColor !important; border:0 !important; border-radius:0 !important;
}
.site-header .brand > .brand-name,
.site-head .brand > .brand-name,
.site-footer .brand > .brand-name {
  display:flex !important; flex-direction:column !important;
  align-items:flex-start !important; justify-content:center !important;
  white-space:nowrap !important; min-width:0; gap:4px !important;
  font-size:initial !important; letter-spacing:normal !important; line-height:1 !important;
  text-transform:none !important;
}
.brand .brand-title {font-family:inherit; font-size:13.5px; font-weight:760; letter-spacing:.012em; line-height:1.05;}
.brand .brand-subtitle {font-family:inherit; font-size:8.4px; font-weight:560; letter-spacing:.18em; line-height:1.15; opacity:.84;}
/* L'inchiostro del marchio segue il colore del link: bianco sugli header/footer
   scuri; blu originale su uno sfondo chiaro. Varianti esplicite disponibili. */
.brand.cm-on-light {color:#17324d !important;}
.brand.cm-on-dark {color:#fff !important;}
@media(max-width:980px){
 .site-header .brand > .brand-mark,.site-head .brand > .brand-mark {width:40px !important;height:40px !important;flex-basis:40px !important;}
 .site-header .brand > .brand-mark::after,.site-head .brand > .brand-mark::after {width:13px !important;height:13px !important;right:5px !important;bottom:5px !important;}
}
@media(max-width:620px){
 .site-header .brand > .brand-mark,.site-head .brand > .brand-mark {width:32px !important;height:32px !important;flex-basis:32px !important;border-width:2px !important;}
 .site-header .brand > .brand-mark::after,.site-head .brand > .brand-mark::after {width:10px !important;height:10px !important;right:4px !important;bottom:4px !important;}
 .site-header .brand,.site-head .brand {gap:10px !important;}
}
@media(max-width:360px){
 .site-header .brand > .brand-mark,.site-head .brand > .brand-mark {width:28px !important;height:28px !important;flex-basis:28px !important;border-width:2px !important;}
 .site-header .brand > .brand-mark::after,.site-head .brand > .brand-mark::after {width:9px !important;height:9px !important;right:4px !important;bottom:4px !important;}
 .site-header .brand .brand-title,.site-head .brand .brand-title {font-size:12px;}
 .site-header .brand .brand-subtitle,.site-head .brand .brand-subtitle {font-size:7.3px;letter-spacing:.14em;}
}

/* Uniformità marchio: vecchi template verticali bandi (20 ottobre 2026).
   Replica fedele del simbolo, proporzioni e testi, senza alterare i componenti. */
[id^="cm-"] .cm-brand {display:inline-flex!important;align-items:center!important;gap:14px!important;min-width:0;color:#fff!important;}
[id^="cm-"] .cm-brand > .cm-brand-mark {
  display:block!important;position:relative!important;box-sizing:border-box!important;
  width:48px!important;height:48px!important;flex:0 0 48px!important;
  border:3px solid currentColor!important;border-radius:0!important;
  background:transparent!important;font-size:0!important;line-height:0!important;
  padding:0!important;margin:0!important;overflow:visible!important;
}
[id^="cm-"] .cm-brand > .cm-brand-mark::before {content:none!important;}
[id^="cm-"] .cm-brand > .cm-brand-mark::after {
  content:""!important;display:block!important;position:absolute!important;box-sizing:border-box!important;
  width:16px!important;height:16px!important;right:6px!important;bottom:6px!important;
  border:0!important;border-radius:0!important;background:currentColor!important;
}
[id^="cm-"] .cm-brand > .cm-brand-name {
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;
  justify-content:center!important;gap:4px!important;min-width:0!important;
  font-size:initial!important;line-height:1!important;letter-spacing:normal!important;
  text-transform:none!important;white-space:nowrap!important;
}
[id^="cm-"] .cm-brand .brand-title {font-family:inherit;font-size:13.5px;font-weight:760;letter-spacing:.012em;line-height:1.05;}
[id^="cm-"] .cm-brand .brand-subtitle {font-family:inherit;font-size:8.4px;font-weight:560;letter-spacing:.18em;line-height:1.15;opacity:.84;}
@media(max-width:980px){
  [id^="cm-"] .cm-site-head .cm-brand > .cm-brand-mark {width:40px!important;height:40px!important;flex-basis:40px!important;}
  [id^="cm-"] .cm-site-head .cm-brand > .cm-brand-mark::after {width:13px!important;height:13px!important;right:5px!important;bottom:5px!important;}
}
@media(max-width:620px){
  [id^="cm-"] .cm-site-head .cm-brand {gap:10px!important;}
  [id^="cm-"] .cm-site-head .cm-brand > .cm-brand-mark {width:32px!important;height:32px!important;flex-basis:32px!important;border-width:2px!important;}
  [id^="cm-"] .cm-site-head .cm-brand > .cm-brand-mark::after {width:10px!important;height:10px!important;right:4px!important;bottom:4px!important;}
  [id^="cm-"] .cm-site-head .cm-brand .brand-title {font-size:12px!important;}
  [id^="cm-"] .cm-site-head .cm-brand .brand-subtitle {font-size:7.3px!important;letter-spacing:.14em!important;}
}
/* Il pulsante Preferenze cookie completa la navigazione anche su schermi stretti. */
@media(max-width:620px){
 .site-footer .footer-grid{grid-template-columns:minmax(0,1fr)!important;}
 .site-footer .footer-links{flex-wrap:wrap!important;column-gap:18px!important;row-gap:12px!important;max-width:100%!important;}
 .site-footer .footer-identity{min-width:0!important;}
 .site-footer .footer-identity p{overflow-wrap:break-word!important;}
}
@media(max-width:360px){
  /* Due righe a 320 px: evita la sovrapposizione fra marchio e navigazione. */
  [id^="cm-"] .cm-site-head {height:auto!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:10px!important;padding-top:13px!important;padding-bottom:13px!important;}
  [id^="cm-"] .cm-site-head .cm-vertical-nav {justify-self:start!important;gap:22px!important;}
  [id^="cm-"] .cm-site-head .cm-brand > .cm-brand-mark {width:28px!important;height:28px!important;flex-basis:28px!important;}
  [id^="cm-"] .cm-site-head .cm-brand > .cm-brand-mark::after {width:9px!important;height:9px!important;}
}

/* Collegamenti contestuali fra servizi e guide — 21 ottobre 2026.
   Nessun cambiamento di layout per le pagine prive di tali collegamenti. */
.cm-editorial-link {
  margin: 20px 0 0;
  max-width: 75ch;
  font-size: 14px;
  line-height: 1.65;
  color: #17324d;
}
.cm-editorial-link a,
.cm-inline-reference a {
  color: inherit;
  font-weight: 650;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.cm-editorial-link a:focus-visible,
.cm-inline-reference a:focus-visible {
  outline: 2px solid #2979ff;
  outline-offset: 3px;
}
.cm-inline-reference {
  display: block;
  margin-top: 7px;
  font-size: 0.94em;
  line-height: 1.55;
  color: #17324d;
}
@media (max-width: 620px) {
  .cm-editorial-link { font-size: 13px; }
}
