/*!
 * Iride Consenso 1.0 — aspetto del banner dei cookie. Iride Consulting.
 * © 2026 Iride Group Srls — Iride Consulting. Tutti i diritti riservati.
 * Uso soggetto ai termini di licenza (LICENZA.md). Vietate copia e modifica non autorizzate.
 * Si appoggia a cookieconsent.css (CookieConsent 3.1.0, MIT) e ne ridisegna l'aspetto.
 *
 * I colori del sito arrivano da iride-consenso.js come variabili --ic-* (un solo colore
 * scelto, il resto ricavato). Il carattere e' quello del sito: il banner lo eredita.
 * Tutte le regole stanno sotto #cc-main o #ic-riapri: niente tocca la pagina del sito.
 */

/* ---------------------------------------------------------------- */
/* Tavolozza                                                         */
/* ---------------------------------------------------------------- */

:root {
  --ic-primario: #16181a;
  --ic-primario-sopra: #2c3034;
  --ic-su-primario: #ffffff;
  --ic-primario-testo: #16181a;
  --ic-primario-tenue: #e8e9ea;
  --ic-primario-velo: rgba(22, 24, 26, .14);
}

#cc-main,
#ic-riapri {
  --ic-inchiostro: #16181a;
  --ic-testo-2: #5a6067;
  --ic-testo-3: #868c93;
  --ic-linea: rgba(16, 24, 32, .09);
  --ic-superficie: #ffffff;
  --ic-superficie-2: #f4f5f6;
  --ic-superficie-3: #ebedef;
  --ic-ombra: 0 1px 2px rgba(16, 24, 32, .06), 0 18px 48px -12px rgba(16, 24, 32, .28);
  --ic-curva: cubic-bezier(.2, .8, .2, 1);
}

#cc-main {
  --cc-font-family: inherit;
  --cc-modal-border-radius: 20px;
  --cc-btn-border-radius: 12px;
  --cc-pm-toggle-border-radius: 999px;
  --cc-modal-transition-duration: .32s;
  --cc-z-index: 2147483000;

  --cc-bg: var(--ic-superficie);
  --cc-primary-color: var(--ic-inchiostro);
  --cc-secondary-color: var(--ic-testo-2);
  --cc-link-color: var(--ic-primario-testo);
  --cc-overlay-bg: rgba(14, 18, 22, .46);

  --cc-btn-primary-bg: var(--ic-primario);
  --cc-btn-primary-color: var(--ic-su-primario);
  --cc-btn-primary-border-color: var(--ic-primario);
  --cc-btn-primary-hover-bg: var(--ic-primario-sopra);
  --cc-btn-primary-hover-color: var(--ic-su-primario);
  --cc-btn-primary-hover-border-color: var(--ic-primario-sopra);
  --cc-btn-secondary-bg: var(--ic-superficie-2);
  --cc-btn-secondary-color: var(--ic-inchiostro);
  --cc-btn-secondary-border-color: var(--ic-superficie-2);
  --cc-btn-secondary-hover-bg: var(--ic-superficie-3);
  --cc-btn-secondary-hover-color: var(--ic-inchiostro);
  --cc-btn-secondary-hover-border-color: var(--ic-superficie-3);

  --cc-separator-border-color: var(--ic-linea);
  --cc-toggle-on-bg: var(--ic-primario-testo);
  --cc-toggle-off-bg: #a9b0b7;
  --cc-toggle-on-knob-bg: #ffffff;
  --cc-toggle-off-knob-bg: #ffffff;
  --cc-toggle-enabled-icon-color: var(--ic-primario-testo);
  --cc-toggle-disabled-icon-color: #a9b0b7;
  --cc-toggle-readonly-bg: #cfd4d9;
  --cc-toggle-readonly-knob-bg: #ffffff;
  --cc-toggle-readonly-knob-icon-color: #8f969d;

  --cc-section-category-border: transparent;
  --cc-cookie-category-block-bg: var(--ic-superficie-2);
  --cc-cookie-category-block-border: transparent;
  --cc-cookie-category-block-hover-bg: var(--ic-superficie-3);
  --cc-cookie-category-block-hover-border: transparent;
  --cc-cookie-category-expanded-block-bg: var(--ic-superficie-2);
  --cc-cookie-category-expanded-block-hover-bg: var(--ic-superficie-3);

  --cc-footer-bg: transparent;
  --cc-footer-color: var(--ic-testo-2);
  --cc-footer-border-color: var(--ic-linea);

  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

/* Il tema di molti siti allinea a destra le <label> (PrestaShop: ".label, label"): gli
   interruttori sono <label> e la spunta finirebbe fuori posto. */
#cc-main .section__toggle-wrapper {
  text-align: left;
}

/* ---------------------------------------------------------------- */
/* Pulsanti (comuni a banner e preferenze)                           */
/* ---------------------------------------------------------------- */

#cc-main .cm__btn,
#cc-main .pm__btn {
  min-height: 44px;
  padding: 10px 18px;
  border-width: 1px;
  font-size: 14.5px;
  font-weight: 600;
  letter-spacing: -.005em;
  line-height: 1.2;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s var(--ic-curva);
}

#cc-main .cm__btn:active,
#cc-main .pm__btn:active {
  transform: scale(.98);
}

#cc-main .cm__btn:focus-visible,
#cc-main .pm__btn:focus-visible,
#cc-main .pm__close-btn:focus-visible,
#cc-main .cm__btn--close:focus-visible,
#cc-main .pm__section-title:focus-visible,
#cc-main a:focus-visible,
#cc-main .section__toggle:focus-visible + .toggle__icon {
  outline: 2px solid var(--ic-primario-testo);
  outline-offset: 2px;
  box-shadow: 0 0 0 5px var(--ic-primario-velo);
}

#cc-main a {
  color: var(--ic-primario-testo);
  font-weight: 500;
}

/* ---------------------------------------------------------------- */
/* Banner — riquadro                                                 */
/* ---------------------------------------------------------------- */

#cc-main .cm {
  background: var(--ic-superficie);
  border: 1px solid var(--ic-linea);
  box-shadow: var(--ic-ombra);
}

#cc-main .cm--box {
  max-width: 25.5rem;
  width: calc(100% - 2.5rem);
  border-radius: 20px;
}

#cc-main .cm--box.cm--bottom {
  bottom: 1.25rem;
}

#cc-main .cm--box.cm--left {
  left: 1.25rem;
}

#cc-main .cm--box.cm--right {
  right: 1.25rem;
}

#cc-main .cm__body {
  position: relative;
  flex-direction: column;
  align-items: stretch;
}

#cc-main .cm__texts {
  padding: 22px 24px 0;
}

#cc-main .cm__title {
  position: relative;
  margin: 0;
  padding: 0 34px 0 40px;
  min-height: 30px;
  display: flex;
  align-items: center;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -.012em;
  line-height: 1.25;
  color: var(--ic-inchiostro);
}

/* biscotto in un cerchio del colore del sito */
#cc-main .cm__title::before,
#cc-main .cm__title::after {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

#cc-main .cm__title::before {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--ic-primario-tenue);
}

#cc-main .cm__title::after {
  left: 6px;
  width: 18px;
  height: 18px;
  background: var(--ic-primario-testo);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M20.6 12.9A8.7 8.7 0 1 1 11.1 3.4a3 3 0 0 0 3.3 3.6 3 3 0 0 0 3.6 3.4 3 3 0 0 0 2.6 2.5z'/%3E%3Ccircle cx='8.6' cy='10.2' r='1.25'/%3E%3Ccircle cx='12.4' cy='15.6' r='1.25'/%3E%3Ccircle cx='8.1' cy='15.1' r='.9'/%3E%3Ccircle cx='16' cy='15' r='.9'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M20.6 12.9A8.7 8.7 0 1 1 11.1 3.4a3 3 0 0 0 3.3 3.6 3 3 0 0 0 3.6 3.4 3 3 0 0 0 2.6 2.5z'/%3E%3Ccircle cx='8.6' cy='10.2' r='1.25'/%3E%3Ccircle cx='12.4' cy='15.6' r='1.25'/%3E%3Ccircle cx='8.1' cy='15.1' r='.9'/%3E%3Ccircle cx='16' cy='15' r='.9'/%3E%3C/svg%3E") center / contain no-repeat;
}

#cc-main .cm__desc {
  margin-top: 10px;
  padding: 0;
  max-height: none;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--ic-testo-2);
}

/* la crocetta: vale come "Rifiuta" */
#cc-main .cm .cm__btn--close {
  top: 18px;
  right: 18px;
  width: 30px;
  height: 30px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--ic-testo-3);
  display: flex;
  align-items: center;
  justify-content: center;
}

#cc-main .cm .cm__btn--close svg {
  display: block;
  width: 14px;
  height: 14px;
  transform: none;
  stroke: currentColor;
  stroke-width: 2;
}

#cc-main .cm .cm__btn--close:hover {
  background: var(--ic-superficie-2);
  color: var(--ic-inchiostro);
}

#cc-main .cm__btns {
  padding: 18px 24px 16px;
  border-top: 0;
  flex-direction: column;
  gap: 4px;
}

/* Rifiuta e Accetta affiancati, stesso peso; Rifiuta a sinistra */
#cc-main .cm__btn-group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 0;
  padding: 0;
}

#cc-main .cm__btn-group .cm__btn {
  margin: 0;
  width: 100%;
}

#cc-main .cm__btn[data-role="necessary"] {
  order: -1;
}

/* Personalizza: pulsante discreto a tutta larghezza */
#cc-main .cm__btn-group:last-child {
  grid-template-columns: 1fr;
}

#cc-main .cm__btn[data-role="show"] {
  min-height: 40px;
  background: transparent;
  border-color: transparent;
  color: var(--ic-inchiostro);
  font-weight: 500;
}

#cc-main .cm__btn[data-role="show"]:hover {
  background: var(--ic-superficie-2);
  border-color: var(--ic-superficie-2);
}

#cc-main .cm__footer {
  padding: 12px 24px 14px;
  border-top: 1px solid var(--ic-linea);
  background: transparent;
}

#cc-main .cm__links,
#cc-main .cm__link-group {
  width: 100%;
  margin: 0;
  padding: 0;
}

#cc-main .cm__link-group {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 12.5px;
}

#cc-main .ic-link {
  display: inline-flex;
  gap: 16px;
}

#cc-main .cm__footer .ic-link a {
  color: var(--ic-testo-2);
  font-weight: 500;
}

#cc-main .cm__footer .ic-link a:hover {
  color: var(--ic-inchiostro);
}

/* ---------------------------------------------------------------- */
/* Firma Iride Consulting                                            */
/* ---------------------------------------------------------------- */

#cc-main a.ic-firma {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  color: var(--ic-testo-3);
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: .02em;
  text-decoration: none;
  background-image: none;
  white-space: nowrap;
  transition: color .16s ease;
}

#cc-main a.ic-firma svg {
  width: 11px;
  height: 11px;
  flex: 0 0 auto;
}

#cc-main a.ic-firma:hover {
  color: var(--ic-inchiostro);
}

#cc-main .ic-firma-pm {
  flex: 1 0 100%;
  order: 9;
  display: flex;
  justify-content: center;
  padding-top: 12px;
}

/* ---------------------------------------------------------------- */
/* Banner — barra a tutta larghezza (aspetto "barra")                */
/* ---------------------------------------------------------------- */

#cc-main .cm--bar {
  left: 1.25rem;
  right: 1.25rem;
  bottom: 1.25rem;
  width: auto;
  max-width: 72rem;
  margin: 0 auto;
  border-radius: 20px;
}

#cc-main .cm.cm--bar.cm--inline .cm__body {
  flex-direction: row;
  align-items: center;
  max-width: none;
  padding: 0 24px 0 0;
}

#cc-main .cm--bar .cm__texts {
  flex: 1 1 auto;
  padding: 20px 24px 20px;
}

/* tre pulsanti in fila: Personalizza, Rifiuta, Accetta */
#cc-main .cm.cm--bar.cm--inline .cm__btns {
  flex: 0 0 auto;
  width: auto;
  max-width: none;
  padding: 0;
  flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
}

#cc-main .cm.cm--inline .cm__btn + .cm__btn,
#cc-main .cm.cm--inline .cm__btn-group + .cm__btn-group {
  margin: 0;
}

#cc-main .cm--bar .cm__btn-group {
  grid-template-columns: auto auto;
}

#cc-main .cm--bar .cm__btn-group .cm__btn {
  min-width: 128px;
}

#cc-main .cm--bar .cm__btn[data-role="show"] {
  min-width: 0;
}

#cc-main .cm--bar .cm__title {
  padding-right: 0;
}

#cc-main .cm--bar .cm__footer {
  padding: 10px 24px 12px;
}

/* ---------------------------------------------------------------- */
/* Preferenze                                                        */
/* ---------------------------------------------------------------- */

#cc-main .pm {
  background: var(--ic-superficie);
  box-shadow: 0 30px 80px -20px rgba(14, 18, 22, .45);
  border-radius: 24px;
}

#cc-main .pm--box {
  max-width: 36rem;
  height: auto;
  max-height: min(46rem, calc(100% - 3rem));
}

#cc-main .pm__header {
  padding: 22px 24px 18px 28px;
  border-bottom: 1px solid var(--ic-linea);
}

#cc-main .pm__title {
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -.015em;
  color: var(--ic-inchiostro);
}

#cc-main .pm__close-btn {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: var(--ic-superficie-2);
}

#cc-main .pm__close-btn:hover {
  background: var(--ic-superficie-3);
  border: 0;
}

#cc-main .pm__close-btn svg {
  stroke: var(--ic-inchiostro);
}

#cc-main .pm__body {
  padding: 20px 28px 24px;
}

#cc-main .pm__section {
  border: 0;
  margin-bottom: 10px;
  padding: 0;
}

#cc-main .pm__section:first-child {
  margin-bottom: 18px;
}

#cc-main .pm__section-desc,
#cc-main .pm__section:first-child .pm__section-desc {
  font-size: 14px;
  line-height: 1.55;
  color: var(--ic-testo-2);
}

#cc-main .pm__section--toggle {
  border-radius: 16px;
  background: var(--ic-superficie-2);
  overflow: hidden;
}

#cc-main .pm__section--toggle .pm__section-title {
  min-height: 60px;
  padding: 16px 84px 16px 52px;
  border: 0;
  border-radius: 16px;
  background: transparent;
  font-size: 15.5px;
  font-weight: 600;
  letter-spacing: -.01em;
  color: var(--ic-inchiostro);
}

#cc-main .pm__section--toggle .pm__section-title:hover {
  background: var(--ic-superficie-3);
}

#cc-main .pm__section-arrow {
  left: 18px;
  width: 22px;
  height: 22px;
  background: var(--ic-superficie);
  box-shadow: 0 0 0 1px var(--ic-linea);
}

#cc-main .pm__section-arrow svg {
  stroke: var(--ic-testo-2);
  width: 12px;
  height: 12px;
}

#cc-main .pm__section--toggle .pm__section-desc-wrapper {
  border: 0;
  padding: 0 20px 18px 52px;
  margin: 0;
}

#cc-main .pm__section--toggle .pm__section-desc {
  font-size: 13.5px;
  margin: 0;
}

#cc-main .pm__badge {
  margin-left: 8px;
  padding: 3px 9px;
  border-radius: 999px;
  background: var(--ic-primario-tenue);
  color: var(--ic-primario-testo);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .01em;
  vertical-align: 1px;
}

#cc-main .pm__section-toggles .section__toggle-wrapper {
  right: 18px;
}

#cc-main .toggle__icon,
#cc-main .toggle__label {
  width: 46px;
  height: 26px;
}

#cc-main .toggle__icon-circle {
  width: 22px;
  height: 22px;
  top: 2px;
  left: 2px;
  box-shadow: 0 1px 3px rgba(14, 18, 22, .25);
}

#cc-main .section__toggle:checked:not(:disabled) ~ .toggle__icon .toggle__icon-circle,
#cc-main .section__toggle:checked:disabled ~ .toggle__icon .toggle__icon-circle {
  transform: translateX(20px);
}

/* tabella dei cookie */
#cc-main .pm__section-table {
  margin-top: 14px;
  border-collapse: collapse;
  font-size: 12.5px;
  background: var(--ic-superficie);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 0 0 1px var(--ic-linea);
}

#cc-main .pm__table-th {
  padding: 10px 12px;
  background: transparent;
  color: var(--ic-testo-3);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--ic-linea);
}

#cc-main .pm__table-td {
  padding: 10px 12px;
  color: var(--ic-testo-2);
}

#cc-main .pm__table-tr + .pm__table-tr .pm__table-td {
  border-top: 1px solid var(--ic-linea);
}

#cc-main .pm__table-td:first-child {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  color: var(--ic-inchiostro);
  white-space: nowrap;
}

#cc-main .pm__table-tr:hover {
  background: transparent;
}

/* ultima sezione: "Per saperne di piu'" */
#cc-main .pm__body > .pm__section:last-child {
  margin: 20px 0 0;
}

#cc-main .pm__body > .pm__section:last-child .pm__section-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--ic-inchiostro);
  margin-bottom: 4px;
}

/* piede: Rifiuta tutti e Accetta tutti alla pari, Salva le scelte in evidenza */
#cc-main .pm__footer {
  padding: 16px 24px 16px 28px;
  border-top: 1px solid var(--ic-linea);
  flex-wrap: wrap;
  gap: 10px;
}

#cc-main .pm__btn-group {
  gap: 10px;
}

#cc-main .pm__btn,
#cc-main .pm__btn + .pm__btn,
#cc-main .pm__btn-group + .pm__btn-group {
  margin: 0;
}

#cc-main .pm__btn[data-role="necessary"] {
  order: -1;
}

#cc-main .pm__btn[data-role="all"],
#cc-main .pm__btn[data-role="necessary"] {
  background: var(--ic-superficie-2);
  border-color: var(--ic-superficie-2);
  color: var(--ic-inchiostro);
}

#cc-main .pm__btn[data-role="all"]:hover,
#cc-main .pm__btn[data-role="necessary"]:hover {
  background: var(--ic-superficie-3);
  border-color: var(--ic-superficie-3);
  color: var(--ic-inchiostro);
}

#cc-main .pm__btn[data-role="save"] {
  background: var(--ic-primario);
  border-color: var(--ic-primario);
  color: var(--ic-su-primario);
}

#cc-main .pm__btn[data-role="save"]:hover {
  background: var(--ic-primario-sopra);
  border-color: var(--ic-primario-sopra);
  color: var(--ic-su-primario);
}

/* ---------------------------------------------------------------- */
/* Pulsantino per riaprire le preferenze                             */
/* ---------------------------------------------------------------- */

#ic-riapri {
  position: fixed;
  bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  z-index: 2147482000;
  display: inline-flex;
  align-items: center;
  height: 44px;
  min-width: 44px;
  margin: 0;
  padding: 0 11px;
  border: 1px solid var(--ic-linea);
  border-radius: 999px;
  background: rgba(255, 255, 255, .94);
  -webkit-backdrop-filter: saturate(1.6) blur(10px);
          backdrop-filter: saturate(1.6) blur(10px);
  color: var(--ic-primario-testo);
  box-shadow: 0 1px 2px rgba(16, 24, 32, .08), 0 8px 24px -8px rgba(16, 24, 32, .3);
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  transition: opacity .25s ease, transform .25s var(--ic-curva), box-shadow .2s ease;
}

#ic-riapri.ic-riapri--sinistra {
  left: calc(18px + env(safe-area-inset-left, 0px));
}

#ic-riapri.ic-riapri--destra {
  right: calc(18px + env(safe-area-inset-right, 0px));
}

#ic-riapri .ic-riapri__icona {
  display: inline-flex;
  width: 22px;
  height: 22px;
}

#ic-riapri .ic-riapri__icona svg {
  width: 22px;
  height: 22px;
}

#ic-riapri .ic-riapri__testo {
  max-width: 0;
  overflow: hidden;
  white-space: nowrap;
  color: var(--ic-inchiostro);
  opacity: 0;
  transition: max-width .3s var(--ic-curva), opacity .2s ease, margin .3s var(--ic-curva);
}

#ic-riapri:hover .ic-riapri__testo,
#ic-riapri:focus-visible .ic-riapri__testo {
  max-width: 12rem;
  margin: 0 4px 0 8px;
  opacity: 1;
}

#ic-riapri:hover {
  box-shadow: 0 1px 2px rgba(16, 24, 32, .08), 0 12px 30px -8px rgba(16, 24, 32, .36);
}

#ic-riapri:focus-visible {
  outline: 2px solid var(--ic-primario-testo);
  outline-offset: 2px;
}

/* mentre il banner o le preferenze sono aperti, il pulsantino si fa da parte */
html.show--consent #ic-riapri,
html.show--preferences #ic-riapri {
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
}

@media print {
  #ic-riapri {
    display: none;
  }
}

/* ---------------------------------------------------------------- */
/* Telefono                                                          */
/* ---------------------------------------------------------------- */

@media screen and (max-width: 640px) {
  /* La libreria ha regole "!important" per il telefono: qui servono anche a noi. */

  /* il banner diventa un foglio che sale dal basso */
  #cc-main .cm--box,
  #cc-main .cm--bar {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border-radius: 22px 22px 0 0;
    border-width: 1px 0 0;
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  #cc-main .cm--bar .cm__body {
    flex-direction: column;
    align-items: stretch;
  }

  #cc-main .cm__texts,
  #cc-main .cm--bar .cm__texts {
    padding: 22px 20px 0;
  }

  #cc-main .cm .cm__title {
    padding-left: 40px !important;
    padding-right: 34px !important;
    font-size: 16.5px;
  }

  #cc-main .cm .cm__desc {
    padding-left: 0 !important;
    padding-right: 0 !important;
    font-size: 14px;
  }

  #cc-main .cm .cm__btns {
    padding: 16px 20px 8px !important;
    border-top: 0 !important;
    gap: 2px;
  }

  #cc-main .cm .cm__btn-group {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  #cc-main .cm .cm__btn-group:last-child {
    grid-template-columns: 1fr;
  }

  #cc-main .cm .cm__btn + .cm__btn,
  #cc-main .cm .cm__btn-group + .cm__btn-group {
    margin: 0 !important;
  }

  #cc-main .cm .cm__btn-group .cm__btn {
    min-height: 46px;
  }

  #cc-main .cm .cm__footer {
    padding: 10px 20px 12px;
  }

  #cc-main .cm .cm__links {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #cc-main .cm .cm__link-group {
    justify-content: space-between !important;
  }

  #cc-main .ic-link {
    gap: 14px;
  }

  #cc-main .ic-link a {
    white-space: nowrap;
  }

  /* le preferenze occupano lo schermo come un foglio quasi intero */
  #cc-main .pm--box {
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-width: none;
    height: auto;
    max-height: calc(100% - 28px);
    border-radius: 24px 24px 0 0;
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  #cc-main .pm .pm__header {
    padding: 20px 18px 16px 22px !important;
  }

  #cc-main .pm .pm__body {
    padding: 18px 16px 22px !important;
  }

  #cc-main .pm__section:first-child {
    padding: 0 6px;
  }

  #cc-main .pm .pm__badge {
    display: inline-block;
  }

  #cc-main .pm .pm__footer {
    padding: 14px 16px 10px !important;
    flex-direction: column !important;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 10px;
  }

  #cc-main .pm .pm__btn-group {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    width: 100%;
  }

  #cc-main .pm .pm__footer > .pm__btn-group:nth-child(2) {
    grid-template-columns: 1fr;
  }

  #cc-main .pm .pm__btn + .pm__btn,
  #cc-main .pm .pm__btn-group + .pm__btn-group {
    margin: 0 !important;
  }

  #cc-main .pm .pm__btn {
    width: 100%;
  }

  #cc-main .ic-firma-pm {
    padding-top: 2px;
  }

  #ic-riapri {
    bottom: calc(14px + env(safe-area-inset-bottom, 0px));
  }

  #ic-riapri.ic-riapri--sinistra {
    left: calc(14px + env(safe-area-inset-left, 0px));
  }

  #ic-riapri.ic-riapri--destra {
    right: calc(14px + env(safe-area-inset-right, 0px));
  }
}

/* ---------------------------------------------------------------- */
/* Chi preferisce meno movimento                                     */
/* ---------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  #cc-main {
    --cc-modal-transition-duration: 0s;
  }

  #cc-main .cm__btn,
  #cc-main .pm__btn,
  #ic-riapri,
  #ic-riapri .ic-riapri__testo {
    transition: none;
  }
}
