/* psc_theme_adapter.css
 * css del refactoring grafico + nuova pagina Aspetto
 */ 

 /* Responsive*/
 /* Base responsive */
* { box-sizing: border-box; }
img { max-width: 100%; height: auto; }

/* Evita overflow orizzontale accidentale */
body.psc-theme { overflow-x: hidden; }


/* Grid responsive: default desktop (ogni sezione imposta le colonne) */
.psc-home-grid { display: grid; gap: 16px; }

/* Tablet: max 2 colonne */
@media (max-width: 1024px){
  .psc-home-grid.psc-home-grid--3,
  .psc-home-grid.psc-home-grid--4{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

/* Mobile: 1 colonna */
@media (max-width: 640px){
  .psc-home-grid{ grid-template-columns: 1fr !important; }
}






/* ============================================================
   HEADER
============================================================ */

















/* Link header */
body.psc-theme #header a {
  color:var(--color-text-on-brand);
  text-decoration: none;
}
body.psc-theme #header a:hover {
  color: var(--color-accent, #fff);
}

body.psc-theme #header p {
  color:var(--color-text-on-brand);
}




/* ---------------------------
  FINE HEADER
---------------------------- */




















/* Carousel: items sempre scorrevoli, mai "schiacciati" */
.psc-home-carousel-track{
  display:flex;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.psc-home-carousel-track::-webkit-scrollbar{ display:none; }

.psc-home-carousel-item{
  flex: 0 0 auto;
  width: clamp(260px, 70vw, 420px); /* mobile-first friendly */
  scroll-snap-align:start;
}










/* ---------------------------
   TESTI 
---------------------------- */

body.psc-theme :where(h2, h3, h4, h5, h6) {
  font-family: var(--font-heading);
  color: #000000;
}




/* ---------------------------
   STRUTTURA PAGINA
---------------------------- */
body.psc-theme {
  color: var(--text-primary);
  font-family: var(--font-body);
}

body.psc-theme {
  background: var(--color-primary-bg);
  color: var(--text-primary);
  font-family: var(--font-body);
}

/* ---------------------------
   STRUTTURA PAGINE - LOGIN STAFF
---------------------------- */
#loginBody {
  background-color: var(--color-bg-page-brand) !important;
}
/* ---------------------------
  FINE STRUTTURA PAGINE - LOGIN STAFF
---------------------------- */






















/* ---------------------------
  FINE STRUTTURA PAGINE - STAFF
---------------------------- */






































body.psc-theme :where(.card, .panel, .box, .well, .content, .section, .tab_content, .tab-content) {
  background: var(--color-primary-bg);
  color: var(--text-primary);
  border-color: var(--border-default);
}






















/* Divider/HR */
body.psc-theme :where(hr) {
  border: 0;
  border-top: 1px solid var(--border-default);
}




/* ---------------------------
   CONTAINER / CARD / PANEL (generic)
---------------------------- */






/* ---------------------------
   FORM CONTROLS: Ok -  input/textarea
---------------------------- */
body.psc-theme input[type="text"],
body.psc-theme input[type="password"],
body.psc-theme input[type="email"],
body.psc-theme input[type="number"],
body.psc-theme input[type="search"],
body.psc-theme input[type="tel"],
body.psc-theme input[type="url"],
body.psc-theme input[type="date"],
body.psc-theme input[type="time"],
body.psc-theme input[type="datetime-local"],
body.psc-theme textarea,
body.psc-theme .form-control {
  display: flex !important;
  padding: var(--Spacing-input-y-m, 12px) var(--Spacing-input-x, 12px) !important;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 10px;
  border-radius: 10px !important;
  border: 1px solid var(--color-border-input-primary) !important;
  background: var(--color-primary-bg) !important;
  font-family: var(--font-body) !important;
  color: var(--color-text-input-primary) !important;
  height: auto !important;
  box-sizing: border-box;
}


/* Placeholder */
body.psc-theme :where(input, textarea, .form-control)::placeholder {
  color: var(--color-text-input-placeholder);
}

/* Hover */
body.psc-theme input[type="text"],
body.psc-theme input[type="password"],
body.psc-theme input[type="email"],
body.psc-theme input[type="number"],
body.psc-theme input[type="search"],
body.psc-theme input[type="tel"],
body.psc-theme input[type="url"],
body.psc-theme input[type="date"],
body.psc-theme input[type="time"],
body.psc-theme input[type="datetime-local"],
body.psc-theme textarea,
body.psc-theme .form-control
:hover {
  background: var(--color-background-input-hover);
  border-color: var(--color-border-input-hover-active);
}

/* Focus */
body.psc-theme :where(
  input[type="text"],
  input[type="password"],
  input[type="email"],
  input[type="number"],
  input[type="search"],
  input[type="tel"],
  input[type="url"],
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  textarea,
  .form-control
):focus {
  outline: none;
  border-color: var(--color-border-input-focus);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-border-input-focus) 25%, transparent);
}

/* Disabled/inactive */
body.psc-theme :where(input, textarea, .form-control):disabled {
  background: var(--color-background-input-inactive);
  color: var(--color-text-secondary);
  border-color: var(--border-default);
  opacity: 0.85;
}

/* Ok - Label */
body.psc-theme :where(label, .label) {
  color: var(--color-text-input-label) !important;
  font-family: var(--font-body);
  font-size: 16px;
  font-style: normal;
  font-weight: 300;
  line-height: 20px;
}

body.psc-theme :where(.help, .help-block, .form-text, .muted, .note) {
  color: var(--color-text-input-helper);
}

/* Error states (generic classi comuni) */
body.psc-theme :where(.error, .has-error, .is-invalid) :where(input, textarea, .form-control) {
  border-color: var(--color-border-input-error);
}

body.psc-theme :where(.error, .has-error, .is-invalid) :where(.help, .help-block, .form-text, .note) {
  color: var(--feedback-error);
}

/* ---------------------------
   TABLE baseline (molto generico)
---------------------------- */
body.psc-theme :where(table) {
  color: var(--text-primary);
}

body.psc-theme :where(th) {
  color: var(--text-primary);
}

body.psc-theme :where(td, th) {
  border-color: var(--border-default);
}


/* ----------------- COMPONENTI ---------------*/



/* ---------------------------
   BUTTONS 
---------------------------- */


body.psc-theme :where(
  button:not(.ui-datepicker-trigger):not(.datepicker-trigger):not(.psc-home-custom-cards-nav):not(.psc-home-explore-kb-nav):not(.psc-home-quick-links-nav):not(.psc-home-my-rights-nav):not(.psc-home-contacts-nav):not(.psc-theme-carousel-arrow),
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  .btn
) {
  border-radius: var(--button-radius) !important;
  border: none;
  cursor: pointer;
  white-space: nowrap;
  font-family: var(--font-body) !important;
}

/* evita che regole globali sugli input “spingano” i bottoni */
body.psc-theme :where(
  input[type="submit"],
  input[type="button"],
  input[type="reset"]
){
  min-width: 0 !important;
  width: auto !important;
}

/* Primary Button */
body.psc-theme .psc-btn-primary{
  display: flex;
  height: 45px;
  padding: 0 30px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 10px;
  background: var(--color-bg-button-primary) !important;
  color: var(--color-text-button-primary);
  font-family: var(--font-body) !important;
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}

body.psc-theme .psc-btn-primary:hover{
  background-color: var(--color-bg-button-primary-hover) !important;
  border: none !important;
}

/* Secondary Button */
body.psc-theme .psc-btn-secondary{
  display: flex;
  height: 45px;
  padding: 0 30px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 10px;
  background: var(--color-bg-button-secondary) !important;
  color: var(--color-text-button-secondary);
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}

body.psc-theme .psc-btn-secondary:hover{
  background-color: var(--color-bg-button-secondary-hover) !important;
  border: none !important;
}

/* SUBMIT => PRIMARY */
body.psc-theme input[type="submit"]:not(.primary):not(.secondary):not(.btn-primary):not(.btn-secondary):not(.btn-default) {
  background: var(--color-bg-button-primary);
  color: var(--color-text-button-primary) !important;
}
body.psc-theme input[type="submit"]:not(.primary):not(.secondary):not(.btn-primary):not(.btn-secondary):not(.btn-default):hover {
  filter: brightness(1.05);
}

/* RESET => SECONDARY */
body.psc-theme input[type="reset"]:not(.primary):not(.secondary):not(.btn-primary):not(.btn-secondary):not(.btn-default) {
  background: var(--color-bg-button-secondary);
  color: var(--color-text-button-secondary) !important;
}
body.psc-theme input[type="reset"]:not(.primary):not(.secondary):not(.btn-primary):not(.btn-secondary):not(.btn-default):hover {
  text-decoration: underline;
}

/* CANCEL (input[type=button] con name=cancel o class cancel) => SECONDARY */
body.psc-theme input[type="button"][name="cancel"]:not(.primary):not(.secondary):not(.btn-primary):not(.btn-secondary):not(.btn-default):not(.ui-datepicker-trigger),
body.psc-theme input[type="button"].cancel:not(.primary):not(.secondary):not(.btn-primary):not(.btn-secondary):not(.btn-default) {
  background: var(--color-bg-button-secondary);
  color: var(--color-text-button-secondary) !important;
}
body.psc-theme input[type="button"][name="cancel"]:hover,
body.psc-theme input[type="button"].cancel:hover {
  text-decoration: underline;
}

/* Esclude button datetime */
body.psc-theme .ui-datepicker-trigger {
  all: unset;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
}

/* -------------------------------------------------
   INLINE ACTION BUTTON (es: “Aggiungi” accanto ai select)
   Target: <a class="inline button">...</a>
-------------------------------------------------- */
body.psc-theme a.inline.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: 44px !important;
  padding: 0 18px !important;
  gap: 10px !important;

  border-radius: 10px !important;
  border: transparent !important;

  background: var(--color-bg-button-secondary, #EEF2F5) !important;
  color: var(--color-text-button-secondary, #1959A6) !important;

  text-decoration: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;

  font-family: var(--font-body, Inter, system-ui) !important;
  font-size: 18px !important;      /* M: nel mock sembra più piccolo di XL */
  font-weight: 500 !important;
  line-height: 1 !important;
}

/* Hover / Focus */
body.psc-theme a.inline.button:hover {
  filter: brightness(0.98);
  text-decoration: none !important;
}

body.psc-theme a.inline.button:focus,
body.psc-theme a.inline.button:focus-visible {
  outline: 2px solid rgba(25, 89, 166, 0.25);
  outline-offset: 2px;
}

/* Icona “+” (nel tuo screen è dentro il link) */
body.psc-theme a.inline.button i,
body.psc-theme a.inline.button .icon,
body.psc-theme a.inline.button svg {
  color: currentColor !important;
}

/* ---------------------------
   BUTTON SIZES (opt-in)
---------------------------- */

/* XL (esplicita) */
body.psc-theme :where(.btn--xl) {
  height: var(--button-height);
  padding: 0 75px;
  border-radius: var(--button-radius);
}

/* L */
body.psc-theme :where(.btn--l) {
  height: 48px;
  padding: 60px;
  border-radius: 10px;
  font-size: 18px;
}

/* M */
body.psc-theme :where(.btn--m) {
  height: 40px;
  padding: 24px;
  border-radius: 10px;
  font-size: 16px;
}

/* S */
body.psc-theme :where(.btn--s) {
  height: 32px;
  padding: 0 16px;
  border-radius: 8px;
  font-size: 14px;
}


/* Ghost Button */
body.psc-theme .psc-ghost-button{
  color: var(--color-text-button-ghost);
  background-color: transparent !important;
  text-decoration: none;
  white-space: nowrap;
  padding-left: 45px !important;
  padding-right: 45px !important;
  font-family: var(--font-body) !important;
  font-size: 18px;
  font-style: normal !important;
  font-weight: 500;
  line-height: normal;
}
body.psc-theme .psc-ghost-button:hover{
  background-color: var(--color-bg-button-ghost-hover) !important;
  border: none !important;
}

/* Tasto Accedi nell'header */
body.psc-theme .psc-btn-header-signin{
  display: flex;
  height: 35px !important;
  padding: 0 16px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 10px;
}




/* ---------------------------
  FINE BUTTONS - base (default XL)
---------------------------- */




























































































































































/* ============================================================
   PSC FOOTER - colonne orizzontali, logo in qualunque colonna
   ============================================================ */

/* Wrapper (usa token se li hai) */
body.psc-theme .psc-footer-wrapper{
  background: var(--color-bg-layout-footer);
  color: var(--color-text-on-brand-footer);
  width: 100%;
}

/* contenuto: NON limitare a 1264px */
body.psc-theme .psc-footer-inner,
body.psc-theme .psc-footer-bottom-inner{
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;

  padding-left: var(--page-gutter-x, 60px) !important;
  padding-right: var(--page-gutter-x, 60px) !important;
  box-sizing: border-box;

  align-items: flex-start;
}

/* Contenitore colonne: GRID responsiva */
body.psc-theme .psc-footer-inner{
  background: var(--color-bg-layout-footer);
  max-width: var(--page-max-width, 1264px);
  margin: 0 auto;
  padding: 32px var(--page-gutter-x, 60px) 24px;
  box-sizing: border-box;

  display: grid;

  /* sempre 1 riga */
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 48px;
  align-items: start;
}


/* Se ce ne sono meno di 4, grid le distribuisce; se ce ne sono di più, va a capo */
@media (max-width: 1200px){
  body.psc-theme .psc-footer-inner{
    grid-template-columns: repeat(3, minmax(180px, 1fr));
  }
}
@media (max-width: 900px){
  body.psc-theme .psc-footer-inner{
    grid-template-columns: repeat(2, minmax(180px, 1fr));
  }
}
@media (max-width: 600px){
  body.psc-theme .psc-footer-inner{
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 24px var(--page-gutter-x, 16px) 16px;
  }
}

/* Colonna */
body.psc-theme .psc-footer-col{
  min-width: 0; /* evita overflow di testi lunghi */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* Se nella colonna c'è il logo, lo centro */
body.psc-theme .psc-footer-col .psc-footer-logo {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* Se una colonna ha SOLO il logo (caso logo standalone) */
body.psc-theme .psc-footer-col:has(.psc-footer-logo):not(:has(.psc-footer-col-title)) {
  align-items: center;
}

/* Logo: valido in QUALSIASI colonna */
body.psc-theme .psc-footer-logo{
  max-height: 66px;        /* visivamente coerente col titolo 20px */
  width: auto;
  margin-bottom: 16px;
  display: block;
}

/* Titoli colonna: bianchi */
body.psc-theme .psc-footer-col-title{
  font-family: var(--font-body);
  font-size: 20px;
  font-weight: 600;
  color: var(--color-text-on-brand-footer);
  margin-bottom: 16px;
}

/* Link */
body.psc-theme .psc-footer-links-list{
  list-style: none;
  margin: 0;
  padding: 0;
}
body.psc-theme .psc-footer-links-list li{
  margin-bottom: 6px;
}

body.psc-theme .psc-footer-links-list a{
 font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  color: var(--color-text-on-brand-footer);
  opacity: 0.9;
  text-decoration: none;
}

body.psc-theme .psc-footer-links-list a:hover{
  text-decoration: underline;
  opacity: 1;
}

/* Barra bottom: coerente col tema */
body.psc-theme .psc-footer-bottom{
  background: var(--color-bg-layout-footer) !important;
  border-top: 1px solid color-mix(in srgb, var(--color-text-on-brand-footer) 15%, transparent);
  margin-top: 12px;
  padding: 10px var(--page-gutter-x, 60px) 12px;
  font-size: 12px !important;
}
body.psc-theme .psc-footer-bottom-inner{
  max-width: var(--page-max-width, 1264px);
  margin: 0 auto;
  width: 100%;

  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
body.psc-theme .psc-footer-bottom-links a{
  color: var(--color-text-on-brand-footer);
  text-decoration: none;
  opacity: 0.85;
}
body.psc-theme .psc-footer-bottom-links a:hover{
  text-decoration: underline;
  opacity: 1;
}

@media (max-width: 768px){
  body.psc-theme .psc-footer-bottom-inner{
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Footer: il titolo (h4) ha margin-top di default e disallinea col logo */
body.psc-theme .psc-footer-col-title {
  margin-top: 0 !important;
  margin-bottom: 12px; /* o il valore che vuoi tenere sotto al titolo */
}

body.psc-theme .psc-footer-col {
  padding-top: 0 !important;
}


body.psc-theme .psc-footer-bottom-links{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  align-items:center;
}

body.psc-theme .psc-footer-powered{
  display:flex;
  align-items:center;
}

body.psc-theme .psc-footer-powered-img{
  height:43px;
  width:auto;
  display:block;
}

body.psc-theme .psc-footer-bottom-inner{
  position: relative; /* contesto stabile */
}

/* blocco link: sempre centrato */
body.psc-theme .psc-footer-bottom-links{
  margin-left: auto;
  margin-right: auto;
  text-align: center;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
}

/* powered resta a sinistra */
body.psc-theme .psc-footer-powered{
  margin-right: auto;
}

/* ===== Select2 footer: non sfondare e tronca testo ===== */

/* Il wrapper della select deve poter restringersi dentro un flex */
.psc-footer-links .psc-footer-form-wrap,
.psc-footer-links .psc-footer-link-meta,
.psc-footer-links .psc-footer-link-targets {
  min-width: 0;
}

/* Forza Select2 a stare dentro al contenitore */
.psc-footer-links .select2-container {
  width: 100% !important;
  max-width: 100% !important;
}

/* La selection non deve espandersi */
.psc-footer-links .select2-container .select2-selection--single {
  max-width: 100%;
  overflow: hidden;
}

/* Testo selezionato: una riga, ellissi */
.psc-footer-links .select2-container .select2-selection__rendered {
  display: block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

  /* spazio per la freccia */
  padding-right: 32px;
}

/* In alcuni layout la freccia può sovrapporsi: assicuriamo posizione */
.psc-footer-links .select2-container .select2-selection__arrow {
  right: 6px;
}
/* Se il blocco select è dentro un flex: lascia che prenda lo spazio e possa ridursi */
.psc-footer-links .psc-footer-form-wrap {
  flex: 1 1 auto;
}



/* ============================================================
   HIDE OSTICKET DEFAULT FOOTER (keep PSC footer)
   ============================================================ */

   /* Nasconde il pixel autocron (evita barra residua in fondo pagina) */
body.psc-theme #autocron {
  display: none !important;
}


/* Footer "di sistema" (classico osTicket) */
body.psc-theme #footer,
body.psc-theme #footer-wrap,
body.psc-theme #footer-wrapper,
body.psc-theme .footer,
body.psc-theme .footer-wrap {
  display: none !important;
}

/* Blocchi "di servizio" che spesso stanno in fondo (evita righe/spazi residui) */
body.psc-theme #autocron,
body.psc-theme #overlay,
body.psc-theme #loading {
  /* non sempre serve, ma quando crea spazi strani sotto è utile */
}

/* Se rimane uno spazio vuoto perché qualche wrapper ha margini/padding */
body.psc-theme .clear {
  /* opzionale: solo se vedi “buchi” tra contenuto e PSC footer */
  /* display: none !important; */
}




/* ----------------- PAGINE SINGOLE ---------------*/

/* =========================================================
   PAGINE SINGOLE - CENTRATURA SOLO PAGINA OPEN TICKET (non globale)
   ========================================================= */

/* La pagina open ticket in staff usa .tickets (e il form ha class="save") */
body.psc-theme .tickets form.save {
  max-width: 1220px;          /* scegli un valore comodo: 1220/1264/1360 */
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--page-gutter-x, 60px);
  padding-right: var(--page-gutter-x, 60px);
  box-sizing: border-box;
}

/* Se la tabella ha width="940" o larghezze fisse, la manteniamo centrata */
body.psc-theme .tickets form.save .form_table,
body.psc-theme .tickets form.save table.form_table {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Evita che eventuali elementi “fixed” rompano la centratura */
body.psc-theme .tickets form.save .form_table.fixed {
  max-width: 100%;
}



/* =========================================================
   PSC HOME (client) – adapter (da psc_home_base.css)
   ========================================================= */


/* === HOME CLIENT - WRAPPER PAGINA ===  */
.psc-home-wrapper{
  --home-max-width: var(--page-max-width);
  --home-wrapper-pad-x: 0px;
  --home-wrapper-pad-top: 0px;
  --home-wrapper-pad-bottom: 0px;
  --home-title-color: var(--text-primary);
  --home-muted: var(--color-text-secondary);

  max-width: var(--home-max-width);
  margin: 0 auto;
  padding: var(--home-wrapper-pad-top) var(--home-wrapper-pad-x) var(--home-wrapper-pad-bottom);
  box-sizing: border-box;
}
body.psc-theme #content{
  box-shadow: 0px 0px 0px !important;
  padding: 0px !important;
  margin-top: 0px!important;
  margin-bottom: 0px!important;
  background: var(--color-primary-bg)!important;
}

/* === HOME CLIENT - SEZIONE DA 1 A 4 === */
.psc-home-section-one-four
{
  background-color: var(--background-home-section-one-four);
  margin-top: 45px;
  margin-bottom: 45px;
}



/* === HOME CLIENT - INTRO === */
body.psc-theme .psc-home-intro-title{
  text-align: center;
  font-size: 44px;
  font-style: normal;
  font-weight: 700;
  line-height: 125%;
  margin: 0px;
}
body.psc-theme .psc-home-intro-description{
  color: var(--color-neutri-700);
  text-align: center;
  font-family: var(--font-heading);
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px; 
  margin-top: 20px
}



/* === HOME CLIENT - SEARCH === */
body.psc-theme .psc-home-search{ 
  text-align:center; 
  margin-top: 20px;
  width: 100%;
}
body.psc-theme .psc-home-search-inner{ 
  height: 56px;
  display: block !important;
  justify-content: center;
}
body.psc-theme .psc-home-search-form{
  position: relative;
  align-items: center;
  height: 56px;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
body.psc-theme .psc-home-search-input{
  width: 100%;
  height: 56px !important;
  padding: 0 16px 0 16px !important;
  border: 1px solid var(--color-border-input-primary) !important;
  border-radius: 10px !important;
  background: var(--color-primary-bg);
  color: var(--text-primary);
  outline: none;
  flex: 1 1 auto;
}
body.psc-theme .psc-home-search-input::placeholder{
  color: var(--color-text-secondary);
}
/* focus state pulito */
body.psc-theme .psc-home-search-input:focus{
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 18%, transparent);
}
body.psc-theme .psc-home-search-inner .psc-home-search-form{
  overflow: visible !important;
}

body.psc-theme .psc-home-search-inner .psc-home-search-form .psc-home-search-input{
  width: 100% !important;
  height: 46px;
  padding: 0 52px 0 14px;              /* spazio icona */
  border: 1px solid var(--border-default) !important;
  border-radius: 10px;
  background: var(--color-primary-bg) !important;
  outline: none;
  box-sizing: border-box;
}

/* bottone: non deve coprire il bordo */
body.psc-theme .psc-home-search-inner .psc-home-search-form .psc-home-search-button{
  position: absolute !important;
  right: 18px !important;              /* inset maggiore = non sopra al bordo */
  top: 40% !important;
  transform: translateY(-50%) !important;

  width: 28px !important;

  border: 0 !important;
  padding: 0 !important;
  background-color: transparent !important;
  box-shadow: none !important;

  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 18px 18px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 18a8 8 0 1 1 0-16a8 8 0 0 1 0 16Zm11 3-6.2-6.2' fill='none' stroke='%23017247' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") !important;

  cursor: pointer;

   display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  margin-left: 8px; /* opzionale */
}





/* === HOME CLIENT - ASSIST === */
body.psc-theme .psc-home-assist{
  margin-top: 30px;
}
body.psc-theme .psc-home-assist-card{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 30px;
  border-radius: 10px;
  background: var(--color-bg-surface-info);
  border: 1px solid var(--color-bg-surface-info, rgba(15, 23, 42, 0.08));
}
/* Colonna sinistra: icona + testo */
body.psc-theme .psc-home-assist-text{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  flex: 1;
  min-width: 0;
}
/* Box icona */
body.psc-theme .psc-home-assist-icon{
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: transparent;
  overflow: hidden;
}
body.psc-theme .psc-home-assist-content{
  height: 64px;
}
/* Vincolo immagine: qui “uccidiamo” il logo gigante */
body.psc-theme .psc-home-assist-icon img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.psc-home-assist-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
/* Contenuto testuale */
body.psc-theme .psc-home-assist-title{
  color: var(--text-primary);
  font-family: var(--font-heading);
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
  margin: 0 0 4px 0;
}
body.psc-theme .psc-home-assist-description{
  color: var(--color-text-secondary);
  font-family: var(--font-heading);
  font-size: 16px;
  font-style: normal;
  font-weight: 300;
  line-height: 20px; /* 125% */
  margin-top: 12px;
}
/* Bottone a destra (pill) */
body.psc-theme .psc-home-assist-button{
  display: flex;
  height: 35px;
  padding: 0 16px;
  justify-content: center;
  align-items: center;
  gap: 10px;

  border-radius: 10px;
  border: 0 solid var(--color-bg-button-secondary);
  background: var(--color-bg-button-secondary);
  background-blend-mode: multiply;

  color: var(--color-text-button-secondary);
  font-family: var(--font-body);
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}
body.psc-theme .psc-home-assist-button:hover{
  filter: brightness(0.98);
  text-decoration: none;
}
/* Mobile */
@media (max-width: 640px){
  body.psc-theme .psc-home-assist-card{
    align-items: flex-start;
  }
}



/* === HOME CLIENT - CUSTOM CARDS (grid/carousel)T === */
body.psc-theme .psc-home-custom-cards-grid{
  margin-top: 30px;
}
/* Grid base */
body.psc-theme .psc-home-custom-cards--grid .psc-home-custom-cards-grid,
body.psc-theme .psc-home-explore-kb--grid .psc-home-explore-kb-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
}
/* Carousel base */
body.psc-theme .psc-home-custom-cards--carousel .psc-home-custom-cards-viewport,
body.psc-theme .psc-home-explore-kb--carousel .psc-home-explore-kb-viewport,
body.psc-theme .psc-home-quick-links--carousel .psc-home-quick-links-viewport,
body.psc-theme .psc-home-my-rights--carousel .psc-home-my-rights-viewport,
body.psc-theme .psc-home-contacts--carousel .psc-home-contacts-viewport{
  position: relative;
  padding: 0 40px;  /* “corsia” frecce */
}
body.psc-theme .psc-home-custom-cards--carousel .psc-home-custom-cards-grid,
body.psc-theme .psc-home-explore-kb--carousel .psc-home-explore-kb-grid,
body.psc-theme .psc-home-quick-links--carousel .psc-home-quick-links-grid,
body.psc-theme .psc-home-my-rights--carousel .psc-home-my-rights-grid,
body.psc-theme .psc-home-contacts--carousel .psc-home-contacts-grid{
 display: flex;
  gap: 32px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 4px 32px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
body.psc-theme .psc-home-custom-cards--carousel .psc-home-custom-cards-grid::-webkit-scrollbar,
body.psc-theme .psc-home-explore-kb--carousel .psc-home-explore-kb-grid::-webkit-scrollbar,
body.psc-theme .psc-home-quick-links--carousel .psc-home-quick-links-grid::-webkit-scrollbar,
body.psc-theme .psc-home-my-rights--carousel .psc-home-my-rights-grid::-webkit-scrollbar,
body.psc-theme .psc-home-contacts--carousel .psc-home-contacts-grid::-webkit-scrollbar{
  display:none;
}
body.psc-theme .psc-home-custom-cards--carousel .psc-home-custom-card{
  flex: 0 0 auto;
  width: clamp(260px, 38vw, 420px); /* 2-3 card visibili a seconda dello schermo */
  scroll-snap-align: start;
}
/* Frecce carousel */
body.psc-theme .psc-home-custom-cards-nav,
body.psc-theme .psc-home-explore-kb-nav,
body.psc-theme .psc-home-quick-links-nav,
body.psc-theme .psc-home-my-rights-nav,
body.psc-theme .psc-home-contacts-nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  border-radius: 999px;
  border: 1px solid var(--home-border);
  background: var(--color-primary-bg);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.12);
  display: flex !important;
  z-index: 5;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  padding: 0;
}
body.psc-theme .psc-home-custom-cards-nav:hover,
body.psc-theme .psc-home-explore-kb-nav:hover,
body.psc-theme .psc-home-quick-links-nav:hover,
body.psc-theme .psc-home-my-rights-nav:hover,
body.psc-theme .psc-home-contacts-nav:hover{
  background: color-mix(in srgb, var(--color-primary-bg) 80%, var(--home-accent-soft));
  border-color: color-mix(in srgb, var(--home-border) 70%, var(--color-primary));
}
body.psc-theme .psc-home-custom-cards-nav--prev,
body.psc-theme .psc-home-explore-kb-nav--prev,
body.psc-theme .psc-home-quick-links-nav--prev,
body.psc-theme .psc-home-my-rights-nav--prev,
body.psc-theme .psc-home-custom-cards-nav--prev{ left: 8px; }
body.psc-theme .psc-home-custom-cards-nav--next,
body.psc-theme .psc-home-explore-kb-nav--next,
body.psc-theme .psc-home-quick-links-nav--next,
body.psc-theme .psc-home-my-rights-nav--next,
body.psc-theme .psc-home-custom-cards-nav--next{ right: 8px; }
body.psc-theme .psc-home-custom-card{
  display: flex;
  padding: 30px;
  align-items: flex-start;
  gap: 20px;
  border-radius: 10px;
  background: var(--color-bg-surface-accent);
}
body.psc-theme .psc-home-custom-card:hover{ background: var(--color-bg-surface-accent-hover); }
body.psc-theme .psc-home-custom-card-icon{
  width:26px; height:26px;
  border: 1px solid var(--home-border);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  overflow:hidden;
}
/* Colore icone default (inline SVG) */
.psc-home-custom-card-icon--default {
  color: var(--psc-icon-default-color, var(--color-accent));
}
.psc-home-custom-card-icon--default svg {
  display: block;
}

body.psc-theme .psc-home-custom-card-title
{ 
  color: var(--color-text-surface-accent);
  font-family: var(--font-body);
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: 125%;
  align-self: stretch;
  margin: 0%;
  padding: 0%;
}
body.psc-theme .psc-home-custom-card-desc
{ 
  color: var(--color-neutri-700) !important;
  font-family: var(--font-body) !important;
  font-size: 16px  !important;
  font-style: normal;
  font-weight: 300;
  line-height: 20px;
}
body.psc-theme .psc-home-custom-card-arrow{ font-size:18px; flex-shrink:0; }
body.psc-theme .psc-home-custom-cards--grid .psc-home-custom-cards-nav{
  display: none !important;
}
body.psc-theme .psc-home-my-rights-footer{
  display: flex;
  align-items: flex-end !important;
  justify-content: flex-end;
}



/* === HOME CLIENT - KNOWLEDGE BASE === */
body.psc-theme .psc-home-explore-kb {
  margin-top:45px;
  margin-bottom:45px;
  padding-top: 45px;
  text-align:center; 
}
body.psc-theme .psc-home-explore-kb-header {
  margin-bottom:30px;
}
body.psc-theme .psc-home-explore-kb-title{
  color: var(--color-neutri-700);
  text-align: center;
  font-family: var(--font-body);
  font-size: 28px;
  font-style: normal;
  font-weight: 600;
  line-height: 125%;
  align-self: stretch;
}
body.psc-theme .psc-home-explore-kb-description{
  color: var(--color-neutri-700);
  text-align: center;
  font-family: var(--font-body);
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px; /* 133.333% */
  align-self: stretch;
}
body.psc-theme .psc-home-explore-kb-viewport{
  padding-top: 30px !important;
}

body.psc-theme .psc-home-explore-kb-grid{
  width: 100%;
  max-width: 100%;
}

body.psc-theme .psc-home-explore-kb-card{
  box-sizing: border-box;
  max-width: 100%;
}

body.psc-theme .psc-home-explore-kb-card{
  display: flex;
  flex-direction: column;
  padding: 30px 0 45px 0;
  align-items: center;
  gap: 30px;
  /* flex: 1 0 0;  <-- TOGLI */
  border-radius: 10px;
  background: var(--Color-bg-surface-base, #FFF);
  box-shadow: var(--Shades-Ombra-accentuata-position-x, 0) var(--Shades-Ombra-base-position-y, 1px) var(--Shades-Ombra-base-Blur, 3px) var(--Shades-Ombra-base-Spread, 0) rgba(0, 0, 0, 0.15),
              var(--Shades-Ombra-base-position-x-2, 0) var(--Shades-Ombra-base-position-y-2, 2px) var(--Shades-Ombra-base-Blur-2, 12.7px) var(--Shades-Ombra-base-Spread-2, 0) rgba(0, 0, 0, 0.10);
}
/* Il body cresce e spinge il footer in basso */
body.psc-theme .psc-home-explore-kb-card-body{
  flex: 1 1 auto;
  width: 100%;
}
body.psc-theme .psc-home-explore-kb-card-footer{
  margin-top: auto;
  width: 100%;
  display: flex;
  justify-content: center;
}
/* Track scrollabile in carousel */
body.psc-theme .psc-home-explore-kb--carousel .psc-home-explore-kb-grid{
  display: flex;
  gap: 18px;
  overflow-x: auto;
  padding: 4px 0;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
body.psc-theme .psc-home-explore-kb--carousel .psc-home-explore-kb-grid::-webkit-scrollbar{
  display: none;
}
/* Le card in carousel devono avere larghezza fissa e scorrere */
body.psc-theme .psc-home-explore-kb--carousel .psc-home-explore-kb-card{
  flex: 0 0 auto;
  width: clamp(260px, 34vw, 360px);
  scroll-snap-align: start;
}
/* Lista link: niente puntini + separatori come screenshot */
body.psc-theme .psc-kb-links{
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  width: 100%;
}
body.psc-theme .psc-kb-links li{
  margin: 0 30px;
  padding: 10px 0;
  border-bottom: 1px solid var(--color-border-divider);
}
body.psc-theme .psc-kb-links li:last-child{
  border-bottom: none;
}
/* Link centrati e puliti */
body.psc-theme .psc-kb-links a{
  color: var(--color-text-link);
  font-family: var(--font-body);
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}
body.psc-theme .psc-home-explore-kb-card-body,
body.psc-theme .psc-kb-links,
body.psc-theme .psc-kb-links li,
body.psc-theme .psc-kb-links a{
  max-width: 100%;
  overflow-wrap: anywhere;
}
body.psc-theme .psc-kb-links a:hover{
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.psc-theme .psc-home-explore-kb-icon{
  width:55px; height:55px;
  border-radius:8px;
  border: 1px solid var(--home-border);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:12px;
}
body.psc-theme .psc-home-explore-kb-icon .psc-home-custom-card-icon{
  width:55px;
  height:55px;
}
body.psc-theme .psc-home-kb-icon{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.psc-home-kb-icon img{
  width:100%;
  height:100%;
  object-fit:contain;   /* tutto visibile */
  display:block;
}
body.psc-theme .psc-home-explore-kb-button{
  display: flex;
  height: 40px;
  padding: 0 30px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 10px;
  font-family: Inter;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px; /* 125% */
}
body.psc-theme .psc-home-explore-kb-card-title{
  color: var(--text-primary) !important;
  text-align: center !important;
  font-family: var(--font-body) !important;
  font-size: 36px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 120% !important;
}
body.psc-theme .psc-home-explore-kb-button:hover{ filter: brightness(1.05); }




/* === HOME CLIENT - QUICK LINKS === */
body.psc-theme .psc-home-quick-links{
  margin-top: 45px;
  margin-bottom: 45px;
  text-align: center;
}
body.psc-theme .psc-home-quick-links-title{
  margin: 0 0 30px;
  color: var(--text-primary);
  padding-top:45px;
}
body.psc-theme .psc-home-quick-links-footer{
  display: flex;
  align-items: flex-end !important;
  justify-content: flex-end;
}
/* ---------- GRID (3x3) ---------- */
body.psc-theme .psc-home-quick-links--grid .psc-home-quick-links-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
/* Responsive: 2 colonne tablet, 1 colonna mobile */
@media (max-width: 1024px){
  body.psc-theme .psc-home-quick-links--grid .psc-home-quick-links-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px){
  body.psc-theme .psc-home-quick-links--grid .psc-home-quick-links-grid{
    grid-template-columns: 1fr;
  }
}
/* Card */
body.psc-theme .psc-home-quick-link-card{
  display: flex;
  align-items: flex-start;     /* testo in alto */
  justify-content: flex-start; /* niente spaziatura per frecce */
  padding: 30px 30px ;
  min-height: 74px;
  border-radius: 12px;
  background: var(--color-bg-surface-accent);
  text-decoration: none;
  color: inherit;
  box-sizing: border-box;
  height: 136px; 
}
body.psc-theme .psc-home-quick-link-card:hover{
  background: var(--color-bg-surface-accent-hover);
}
/* Label: più grande e “bold” come screenshot */
body.psc-theme .psc-home-quick-link-label{
  font-size: 15px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--color-text-surface-accent);
  margin: 0;
  text-align: left;
}
/* Se nel markup hai una freccia interna, la nascondiamo (screenshot non la ha) */
body.psc-theme .psc-home-quick-link-arrow{
  display: none !important;
}
/* ---------- CAROUSEL ---------- */
body.psc-theme .psc-home-quick-links--carousel .psc-home-quick-links-viewport{
  position: relative;
  overflow: visible;
}
body.psc-theme .psc-home-quick-links--carousel .psc-home-quick-links-grid{
  display: flex;
  gap: 18px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  padding: 4px 32px;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
body.psc-theme .psc-home-quick-links--carousel .psc-home-quick-links-grid::-webkit-scrollbar{
  display: none;
}
/* Card in carousel: larghezza fissa (no shrink) */
body.psc-theme .psc-home-quick-links--carousel .psc-home-quick-link-card{
  flex: 0 0 auto;
  width: clamp(240px, 34vw, 320px);
  scroll-snap-align: start;
}
body.psc-theme .psc-home-quick-links--carousel .psc-home-quick-links-grid > *{
  min-width: 0;
}
/* ---------- “Vedi tutti →” ---------- */
body.psc-theme .psc-home-quick-links-more{
  margin-top: 12px;
  display: flex;
  justify-content: flex-end;
}
body.psc-theme .psc-home-quick-links-more a{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--color-text-link);
  text-decoration: none;
}
body.psc-theme .psc-home-quick-links-more a:hover{
  text-decoration: underline;
  text-underline-offset: 3px;
}


/* HOME – Quick links: icona sempre contenuta */
body.psc-theme .psc-home-quick-link-card{
  display: flex;         
  align-items: center;    
  gap: 12px;      
  padding: 30px 30px        
}

/* L’icona non deve mai sballare layout */
body.psc-theme .psc-qlink-icon{
  width: 32px;
  height: 32px;
  flex: 0 0 20px;         /* non si allarga */
  object-fit: contain;
  display: block;         /* evita baseline/line-height strani */
}

/* Safety net: se qualche icona arriva enorme, non rompe */
body.psc-theme .psc-home-quick-link-card img{
  max-width: 100%;
  height: auto;
}



/* === HOME CLIENT - MY RIGHTS === */
body.psc-theme .psc-home-my-rights{
  margin-top: 45px;
  margin-bottom: 45px;
  text-align: center;
}
body.psc-theme .psc-home-my-rights-title{
  margin: 0 0 30px;
  padding-top:45px;
}

/* ---------- GRID (3 colonne) ---------- */
body.psc-theme .psc-home-my-rights--grid .psc-home-my-rights-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 56px;
  row-gap: 0; /* ogni item gestisce la sua “riga” */
  text-align: left; /* contenuti allineati a sinistra */
}
/* Responsive */
@media (max-width: 1024px){
  body.psc-theme .psc-home-my-rights--grid .psc-home-my-rights-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 32px;
  }
}
@media (max-width: 640px){
  body.psc-theme .psc-home-my-rights--grid .psc-home-my-rights-grid{
    grid-template-columns: 1fr;
  }
}
/* Item */
body.psc-theme .psc-home-my-rights-item{
  display: block;
  padding: 14px 0;
  text-decoration: none;
  border-bottom: 1px solid var(--color-border-divider);
}
/* Titolo link */
body.psc-theme .psc-home-my-rights-item-title{
  margin: 0 0 6px;
  font-family: var(--font-body);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--color-text-link);
}
/* Descrizione */
body.psc-theme .psc-home-my-rights-item-description{
  margin: 0;
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.35;
  color: var(--color-text-secondary);
  max-width: 52ch; /* evita righe troppo lunghe */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;      /* come screenshot: 1-2 righe */
  -webkit-box-orient: vertical;
}

/* ---------- “Vedi tutti →” ---------- */
body.psc-theme .psc-home-my-rights-more{
  margin-top: 12px;
  display: flex;
  justify-content: flex-end;
}
body.psc-theme .psc-home-my-rights-more a{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--color-text-link);
  text-decoration: none;
}
body.psc-theme .psc-home-my-rights-more a:hover{
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.psc-theme .psc-home-my-rights--carousel .psc-home-my-rights-col{
  flex: 0 0 auto;
  width: clamp(260px, 34vw, 360px);
  scroll-snap-align: start;
  min-width: 0;
}
body.psc-theme .psc-home-my-rights--carousel .psc-home-my-rights-grid > .psc-home-my-rights-item{
  flex: 0 0 auto;
  width: clamp(260px, 34vw, 360px);
  scroll-snap-align: start;
  min-width: 0;
}



/* === HOME CLIENT - CONTACTS === */
/* Wrapper sezione */
/* full-bleed bg sulla sezione contatti */
body.psc-theme .psc-home-contacts{
  position: relative;
  z-index: 0;
  background: transparent !important;
}

body.psc-theme .psc-home-contacts::before{
  content: "";
  position: absolute;
  inset: 0;
  /* full width viewport centrato sulla sezione */
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: var(--color-bg-surface-highlight) !important; 
  z-index: -1; /* sta dietro al contenuto */
}






/* Titolo */
body.psc-theme .psc-home-contacts-title{
  color: var(--text-primary);
  font-family: var(--font-body);
  color: var(olor-neutri-700);
  text-align: center;
  font-size: 28px;
  font-style: normal;
  font-weight: 600;
  line-height: 125%; /* 35px */
  padding-top: 45px;
  padding-bottom: 60px;
}

/* Grid: 3 colonne come screenshot (con fallback responsive) */
body.psc-theme .psc-home-contacts--grid .psc-home-contacts-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 48px;
  row-gap: 24px;
  align-items: start;
  text-align: left; /* contenuto card allineato come screenshot */
  padding-bottom: 105px;
}

/* Card "flat" (non boxata) come screenshot */
body.psc-theme .psc-home-contacts-card{
  padding: 0;
  border: 0;
  background: transparent;
}

/* Header card */
body.psc-theme .psc-home-contacts-name{
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary);
  margin: 0 0 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid color-mix(in srgb, var(--home-border) 45%, transparent);
}

/* (Se vuoi mostrare anche role separato dal nome, tienilo più soft) */
body.psc-theme .psc-home-contacts-role{
  color: var(--color-neutri-900);
  font-family: var(--font-body);
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  padding-bottom:16px;
  border-bottom: 1px solid var(--color-border-divider);
}

/* Righe */
body.psc-theme .psc-home-contacts-row{
  margin: 30px 0 0;
}

body.psc-theme .psc-home-contacts-label{
  color: var(--color-neutri-700);
  font-family: var(--font-body);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px; /* 125% */
}

body.psc-theme .psc-home-contacts-value{
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 22px; /* 122.222% */
  padding-top:8px;
}

/* Link mail */
body.psc-theme .psc-home-contacts-value a{
  color: inherit;
  text-decoration: none;
}
body.psc-theme .psc-home-contacts-value a:hover{
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Link indirizzo (icona esterna già nel markup? se no, basta sottolineatura) */
body.psc-theme .psc-home-contacts-row:last-child .psc-home-contacts-value a{
  color: var(--color-text-link);
}
/* Carousel: viewport relativo per frecce */
body.psc-theme .psc-home-contacts--carousel .psc-home-contacts-viewport{
  position: relative;
  padding-bottom:105px;
}

/* Track orizzontale scrollabile */
body.psc-theme .psc-home-contacts--carousel .psc-home-contacts-grid{
  display: flex;
  gap: 24px;
  overflow-x: auto;
  overflow-y: visible; 
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: 0 40px; /* spazio per frecce */
  scrollbar-width: none;
}
body.psc-theme .psc-home-contacts--carousel .psc-home-contacts-grid::-webkit-scrollbar{
  display: none;
}

/* Item in carousel: NON deve “restringersi” */
body.psc-theme .psc-home-contacts--carousel .psc-home-contacts-card{
  flex: 0 0 320px;          /* larghezza card in carousel */
  scroll-snap-align: start;
  text-align: left;
}
body.psc-theme .psc-home-contacts-grid{
  max-width: 1100px;          /* scegli tu: 960 / 1100 / 1200 */
  margin-left: auto;
  margin-right: auto;
}
body.psc-theme .psc-home-contacts-nav--prev{ left: 8px; right: auto; }
body.psc-theme .psc-home-contacts-nav--next{ right: 8px; left: auto; }





/* =========================================================
   FINE PSC HOME (client) 
   ========================================================= */






















































/* =========================================================
PSC - PAGINA ASPETTO
========================================================= */

body.psc-theme.staff-side #content.psc_appearance {
  margin-top: 21px !important;
}
#content.psc_appearance .psc-aspetto-body {
  background: var(--color-bg-surface-highlight);
  width: 100%;
  max-width: none;
  padding: 0;
  margin-top: 45px !important;
}
body.psc-theme.staff-side #content.psc_appearance .psc-aspetto-body{
  position: relative;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  max-width: none !important;
  box-sizing: border-box;
}
body.psc-theme.staff-side .psc-aspetto-top > *{
  max-width: var(--page-max-width, 1120px);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--page-gutter-x, 24px);
  padding-right: var(--page-gutter-x, 24px);
  box-sizing: border-box;
}
body.psc-theme.staff-side .psc-aspetto-top p{
  color: var(--color-text-secondary);
  font-family: var(--font-body);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px; /* 125% */
  padding: 0 0;
  margin: 0 0;
}
body.psc-theme.staff-side #content.psc_appearance .psc-appearance-wrapper{
  max-width: var(--page-max-width, 1120px);
  margin: 0 auto;
  padding-top: 45px;
  padding-bottom: 45px;
  box-sizing: border-box;
}


/* -----------------------------
   Tabs (Temi / Personalizzazioni / Home / Footer)
------------------------------ */
body.psc-theme.staff-side ul#psc-appearance-tabs.psc-tabs{
  display: flex;
  gap: 22px;
  align-items: center;
  margin: 0 0 45px;
  padding: 0 0 14px;
  list-style: none;
  border-bottom: 1px solid color-mix(in srgb, var(--text-primary) 10%, transparent);
}
body.psc-theme.staff-side ul#psc-appearance-tabs.psc-tabs li{
  margin: 0;
  padding: 0;
}
body.psc-theme.staff-side ul#psc-appearance-tabs.psc-tabs a{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 700;
  padding: 10px 2px;
  position: relative;
  font-style: normal;
  line-height: normal;
}
body.psc-theme.staff-side ul#psc-appearance-tabs.psc-tabs li.active a{
  font-weight: 700;
}
body.psc-theme.staff-side ul#psc-appearance-tabs.psc-tabs li.active a::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -14px;
  height: 2px;
  background: var(--color-accent);
  border-radius: 2px;
}
.psc-tabs-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.psc-lang-switcher{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
}

.psc-lang-label{
  color:#6b7280; /* se usi tokens, sostituisci con var(...) */
  font-size:13px;
  white-space:nowrap;
}



.psc-lang-chevron{
  position:absolute;
  right:6px;
  pointer-events:none;
  opacity:.7;
}

/* -----------------------------
   Intro + alert info
------------------------------ */
body.psc-theme.staff-side .psc-appearance-intro{
  color: var(--color-neutri-900);
  font-family: var(--font-body);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
}
body.psc-theme.staff-side .psc-alert-info{
  background: color-mix(in srgb, #F7FBFF 10%, #F7FBFF);
  
  /*border: 1px solid color-mix(in srgb, var(--color-bg-surface-highlight) 18%, transparent);*/
  box-shadow:  0  1px 3px 0 rgba(0, 0, 0, 0.15), 0 2px 12.7px 0 rgba(0, 0, 0, 0.10);
  color: var(--color-neutri-900);
  border-radius: 10px;
  padding: 10px 14px;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-family: var(--font-body);
  font-size: 16px;
  font-style: normal;
  font-weight: 300;
  line-height: 20px; /* 125% */
}
body.psc-theme.staff-side .psc-alert-icon{
  line-height: 1.2;
  margin-top: 1px;
  opacity: 0.9;
}
/* -----------------------------
   Carousel Temi
------------------------------ */
body.psc-theme.staff-side .psc-theme-carousel{
  position: relative;
  margin-top: 30px;
}
/* la “window” può rimanere scrollabile, ma con snap e padding coerenti */
body.psc-theme.staff-side .psc-theme-carousel-window{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 20px 20px 20px;
}
body.psc-theme.staff-side .psc-theme-carousel-window::-webkit-scrollbar{ display:none; }
body.psc-theme.staff-side .psc-theme-carousel-track{
  display: flex;
  gap: 24px;
  align-items: stretch;
  padding: 4px;
}
/* Card: dimensioni “da mock” (3 visibili in desktop) */
body.psc-theme.staff-side .psc-theme-card{
  flex: 0 0 320px;
  scroll-snap-align: start;
}
body.psc-theme.staff-side .psc-theme-card-inner{
  background: var(--color-primary-bg);
  border: 1px solid var(--border-default);
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 340px; /* stabilizza allineamento footer azioni */
  box-shadow: 0 1px 2px color-mix(in srgb, #000 10%, transparent);
}

/* Card Tema attiva */
body.psc-theme.staff-side .psc-theme-card.is-active .psc-theme-card-inner{
  border: 3px solid var(--color-accent);
}

/* Preview */
body.psc-theme.staff-side .psc-theme-preview-btn
{
 padding-left: 0% !important;
}

body.psc-theme.staff-side .psc-theme-preview-btn:hover
{
 padding: 10px 10px 10px 10px !important;
}

body.psc-theme.staff-side .psc-theme-preview {
  background: var(--color-primary-bg);
  position: relative;
  padding: 12px;
  height: 220px; /* o quello che vuoi */
  overflow: hidden;
}

body.psc-theme.staff-side .psc-theme-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center; /* 👈 QUI */
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--text-primary) 8%, transparent);
}

/* Badge check */
body.psc-theme.staff-side .psc-theme-status-badge{
  position: absolute;
  top: 10px;
  right: 10px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: var(--color-accent);
  color: var(--color-text-on-brand);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  box-shadow: 0 4px 10px color-mix(in srgb, #000 18%, transparent);
}

/* Info */
body.psc-theme.staff-side .psc-theme-info{
  padding: 12px 16px 0;
  flex: 1 1 auto;
  border-top: 1px solid color-mix(in srgb, var(--text-primary) 8%, transparent);
  box-sizing: border-box;
}

body.psc-theme.staff-side .psc-theme-title{
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 700;
  color: var(--text-primary);
  margin: 0 0 4px 0;
}

body.psc-theme.staff-side .psc-theme-desc{
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 400;
  color: var(--color-text-secondary);
  margin: 0;
}

/* Actions sempre in basso */
body.psc-theme.staff-side .psc-theme-actions{
  padding: 12px 16px 14px;
  /*border-top: 1px solid color-mix(in srgb, var(--text-primary) 8%, transparent);*/
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}


/* Pill “Applicato” */
body.psc-theme.staff-side .psc-theme-pill{
  padding-right: 0% !important;
  color: var(--color-text-secondary);
  font-size: 20px !important;
}

body.psc-theme.staff-side .psc-theme-pill:hover{
  background-color: transparent !important;
}

/* Frecce: fuori dal track, centrate verticalmente */
body.psc-theme.staff-side .psc-theme-carousel-arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid var(--border-default);
  background: var(--color-primary-bg);
  box-shadow: 0 6px 18px color-mix(in srgb, #000 14%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
}

body.psc-theme.staff-side .psc-theme-carousel-arrow-prev{ left: -44px; }
body.psc-theme.staff-side .psc-theme-carousel-arrow-next{ right: -44px; }

body.psc-theme.staff-side .psc-theme-carousel-arrow:hover{
  background: color-mix(in srgb, var(--color-primary-bg) 88%, var(--color-primary));
  border-color: color-mix(in srgb, var(--color-primary) 30%, var(--border-default));
}

/* Dots */
body.psc-theme.staff-side .psc-theme-carousel-dots{
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 14px;
}

body.psc-theme.staff-side .psc-theme-dot{
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--text-primary) 20%, transparent);
}

body.psc-theme.staff-side .psc-theme-dot.is-active{
  background: var(--color-primary);
}

body.psc-theme.staff-side #content.psc_appearance .psc-theme-card-inner{
  display: flex;
  flex-direction: column;
  height: 100%;              
  box-sizing: border-box;    
}

body.psc-theme.staff-side #content.psc_appearance .psc-theme-preview{
  padding: 12px;
  box-sizing: border-box;
}

body.psc-theme.staff-side #content.psc_appearance .psc-theme-preview img{
  width: 100%;
  height: 170px;             
  object-fit: cover;         
  display: block;
  border-radius: 10px;
}


body.psc-theme.staff-side #content.psc_appearance .psc-theme-title{
  margin: 0 0 6px 0;
  line-height: 1.25;
}

body.psc-theme.staff-side #content.psc_appearance .psc-theme-desc{
  margin: 0;
  line-height: 1.35;

  display: -webkit-box;
  -webkit-line-clamp: 3;     /* max 3 righe, poi ellissi */
  -webkit-box-orient: vertical;
  overflow: hidden;
}


body.psc-theme.staff-side #content.psc_appearance .psc-theme-actions{
  margin-top: auto;          /* inchioda il footer azioni */
  padding: 12px 16px 14px;
  box-sizing: border-box;
  min-height: 58px;          /* stabilizza altezza azioni */
  align-items: center;
}



body.psc-theme.staff-side #content.psc_appearance .psc-theme-card{
  flex: 0 0 320px;
}
#content.psc_appearance .psc-preview-modal{
  position: fixed;
  inset: 0;
  z-index: 9999;
}

#content.psc_appearance .psc-preview-backdrop{
  position: absolute;
  inset: 0;
  background: color-mix(in srgb, #000 45%, transparent);
}

#content.psc_appearance .psc-preview-dialog{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(920px, calc(100vw - 48px));
  max-height: calc(100vh - 48px);
  background: var(--color-primary-bg);
  border: 1px solid var(--border-default);
  border-radius: 14px;
  padding: 14px;
  box-shadow: 0 18px 50px color-mix(in srgb, #000 25%, transparent);
}

#content.psc_appearance .psc-preview-dialog img{
  width: 100%;
  height: auto;
  max-height: calc(100vh - 120px);
  object-fit: contain;
  display: block;
  border-radius: 10px;
}

#content.psc_appearance .psc-preview-close{
  position: absolute;
  top: 10px;
  right: 10px;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid var(--border-default);
  background: var(--color-primary-bg);
  cursor: pointer;
}


/* =========================================================
   PSC - ASPETTO / TAB PERSONALIZZAZIONI
   ========================================================= */

body.psc-theme.staff-side #content.psc_appearance .psc-block{
  background: var(--color-primary-bg);
  border: 1px solid var(--color-primary-bg);
  border-radius: 12px;
  box-shadow: 0 10px 24px color-mix(in srgb, #000 10%, transparent);
  overflow: hidden;
  margin: 18px 0;
  padding: 20px 30px;
}

body.psc-theme.staff-side #content.psc_appearance .psc-block-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0px 0px;
}

body.psc-theme.staff-side #content.psc_appearance .psc-block-header h2{
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--text-primary);
}

/* Body */
body.psc-theme.staff-side #content.psc_appearance .psc-block-body{
  padding-top: 20px;
  padding-bottom: 45px;
  padding-left: 20px;
  padding-right: 0px;
}

/* Label stile */
body.psc-theme.staff-side #content.psc_appearance .psc-label{
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 10px;
  margin-top:20px;
}

body.psc-theme.staff-side #content.psc_appearance .psc-sub-label{
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 600;
  color: var(--color-text-secondary);
  margin: 0 0 6px 0;
}

/*body.psc-theme.staff-side #content.psc_appearance .psc-help{
  font-size: 12px;
  opacity: 0.6;
  cursor: help;
}*/

/*body.psc-theme .psc-help{
  font-size: 12px;
  opacity: .7;
  cursor: help;
}*/

body.psc-theme .psc-help{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
  margin-left:6px;
  border-radius:50%;
  font-size:11px;
  line-height:1;
  cursor:help;
  user-select:none;
  border:1px solid rgba(0,0,0,.25);
  position:relative;
}

body.psc-theme .psc-help::after{
  content: attr(data-tooltip);
  position:absolute;
  left:50%;
  top: calc(100% + 8px);
  transform: translateX(-50%);
  min-width: 220px;
  max-width: 320px;
  white-space: normal;
  padding:8px 10px;
  border-radius:8px;
  border:1px solid rgba(0,0,0,.15);
  background:#fff;
  color:#111;
  font-size:12px;
  line-height:1.3;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
  opacity:0;
  pointer-events:none;
  z-index:9999;
}

body.psc-theme .psc-help:hover::after,
body.psc-theme .psc-help:focus::after{
  opacity:1;
}

/* Riga Logo Header: due colonne come screenshot */
body.psc-theme.staff-side #content.psc_appearance .psc-logo-row{
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 22px;
  align-items: center;
}

/* Left cluster (preview + icon buttons) */
body.psc-theme.staff-side #content.psc_appearance .psc-logo-left{
  display: flex;
  align-items: center;
  gap: 12px;
}

body.psc-theme.staff-side #content.psc_appearance .psc-logo-preview{
  width: 200px;
  height: 74px;
  border: 1px dashed color-mix(in srgb, var(--text-primary) 14%, transparent);
  border-radius: 10px;
  background: var(--color-primary-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  box-sizing: border-box;
}

body.psc-theme.staff-side #content.psc_appearance .psc-logo-preview img{
  max-width: 100%;
  max-height: 100%;
  display: block;
}

/* Empty state */
body.psc-theme.staff-side #content.psc_appearance .psc-logo-empty{
  font-size: 12px;
  color: var(--color-text-secondary);
}

body.psc-theme.staff-side #content.psc_appearance .psc-logo-item{
  border-bottom: 1px solid color-mix(in srgb, var(--text-primary) 8%, transparent);
  padding-bottom: 20px;
}

/* Icon actions */
body.psc-theme.staff-side #content.psc_appearance .psc-logo-icon-actions{
  display: flex;
  gap: 10px;
  align-items: center;
}

body.psc-theme.staff-side #content.psc_appearance .psc-icon-btn{
  width: 34px;
  height: 34px;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--text-primary) 10%, transparent);
  background: var(--color-primary-bg);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  user-select: none;
}

body.psc-theme.staff-side #content.psc_appearance .psc-icon-btn:hover{
  background: color-mix(in srgb, var(--color-primary-bg) 85%, var(--color-primary));
  border-color: color-mix(in srgb, var(--color-primary) 28%, transparent);
}

/* Input file hidden dentro label */
body.psc-theme.staff-side #content.psc_appearance .psc-icon-btn input[type="file"]{
  display: none;
}

/* Right column: input */
body.psc-theme.staff-side #content.psc_appearance .psc-input{
  width: 100%;
  height: 36px;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--text-primary) 12%, transparent);
  background: var(--color-primary-bg);
  padding: 0 12px;
  box-sizing: border-box;
  color: var(--text-primary);
}

body.psc-theme.staff-side #content.psc_appearance .psc-input:focus{
  outline: none;
  border-color: color-mix(in srgb, var(--color-primary) 35%, transparent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 14%, transparent);
}
#content.psc_appearance .psc-icon-btn.is-danger{
  border-color: color-mix(in srgb, var(--feedback-error, #d92d20) 30%, transparent);
  color: var(--feedback-error, #d92d20);
}

#content.psc_appearance .psc-icon-btn.is-danger:hover{
  background: color-mix(in srgb, var(--feedback-error, #d92d20) 10%, transparent);
  border-color: color-mix(in srgb, var(--feedback-error, #d92d20) 45%, transparent);
}
/* Ripristina vicino al titolo nella card */
body.psc-theme.staff-side #content.psc_appearance .psc-block-header{
  justify-content: flex-start;   /* non spingere tutto a destra */
  gap: 12px;
  padding-bottom: 20px;
}

/* Titolo: rimane a sinistra */
body.psc-theme.staff-side #content.psc_appearance .psc-block-header h2{
  margin-right: 8px;
  font-size: 20px;
}

/* Se hai un’icona collapse (che vuoi resti a destra) */
body.psc-theme.staff-side #content.psc_appearance .psc-block-header .psc-collapse-toggle{
  margin-left: auto; /* spinge SOLO la freccia a destra */
}

/* Font */
.psc-fonts-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.psc-select,
.psc-color-input,
.psc-color-picker,
.psc-logo-upload {
  background: var(--color-primary-bg);
  border: 1px solid var(--color-border-input-primary);
  color: var(--color-text-input-primary);
  border-radius: 10px;
  padding:0%
}

.psc-select:focus,
.psc-color-input:focus {
  outline: none;
  border-color: var(--color-border-input-focus);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-border-input-focus) 25%, transparent);
}

/* Colori */

.psc-colors-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.psc-color-column h3 {
    margin: 0 0 4px 0;
    font-size: 13px;
    font-weight: 600;
}

.psc-help, .psc-detailed-colors, .psc-logo-preview { color: var(--color-text-secondary); }

.psc-color-field {
    display: flex;
    gap: 8px;
    align-items: center;
}


/* Toggle "Personalizza colori elementi" */

.psc-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
}

.psc-toggle input[type="checkbox"] {
    transform: scale(1.1);
}

/* Griglia colori dettagliati */

/* Wrapper generale */
body.psc-theme .psc-detailed-layout{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  background: #fff;
  border: transparent;
  border-radius: 12px;
  overflow: hidden;
}

/* Colonne */
body.psc-theme .psc-detailed-col{
  padding: 18px 18px 14px;
  box-sizing: border-box;
}

/* Separatore verticale tra colonne */
body.psc-theme .psc-detailed-col + .psc-detailed-col{
  border-left: 1px solid #e7e7e7;
}

/* Titolo sezione */
body.psc-theme .psc-detailed-section-title{
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 10px;
}

/* Spaziatura extra tra “Pulsanti” e “Tipografia” */
body.psc-theme .psc-detailed-section--spaced{
  margin-top: 18px;
}

/* Riga singolo campo: label sopra, input+picker sotto */
body.psc-theme .psc-detailed-row{
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  padding: 10px 0;
  border-top: transparent;
}
body.psc-theme .psc-detailed-section-body .psc-detailed-row:first-child{
  border-top: 0;
  padding-top: 0;
}

/* Label + info */
body.psc-theme .psc-detailed-label{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--color-text-secondary, #6b7280);
}

/* Campo colore: text + picker a destra */
body.psc-theme .psc-color-field{
  display: grid;
  grid-template-columns: 1fr 44px;
  align-items: center;
  gap: 10px;
}

body.psc-theme .psc-color-field .psc-color-input{
  width: 100%;
  min-width: 0;
}

body.psc-theme .psc-color-field .psc-color-picker{
  width: 44px;
  height: 34px;
  padding: 0;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: transparent;
}

/* Responsive: sotto una certa larghezza, una colonna */
@media (max-width: 900px){
  body.psc-theme .psc-detailed-layout{
    grid-template-columns: 1fr;
  }
  body.psc-theme .psc-detailed-col + .psc-detailed-col{
    border-left: 0;
    border-top: 1px solid #e7e7e7;
  }
}

/* 1) Le colonne devono poter restringersi senza far “sbordare” i figli */
body.psc-theme .psc-detailed-layout,
body.psc-theme .psc-detailed-col,
body.psc-theme .psc-detailed-section,
body.psc-theme .psc-detailed-section-body,
body.psc-theme .psc-detailed-row{
  min-width: 0;
}

/* 2) La riga input + picker non deve mai superare la colonna */
body.psc-theme .psc-color-field{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 56px; /* 56px = spazio sufficiente per il color */
  gap: 12px;
  align-items: center;
  width: 100%;
  min-width: 0;
}

/* 3) L’input deve “tagliare” correttamente e non sforare */
body.psc-theme .psc-color-field .psc-color-input{
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box;
  display: block !important;      /* IMPORTANT: evita display:flex su input */
}

/* 4) Il color picker resta dentro il suo slot */
body.psc-theme .psc-color-field .psc-color-picker{
  width: 56px !important;
  min-width: 56px !important;
  max-width: 56px !important;
  height: 34px;
  box-sizing: border-box;
  justify-self: end; /* lo allinea bene a destra */
}

body.psc-theme .psc-detailed-layout *{
  max-width: 100%;
}

/* Wrapper "input + swatch" stile grafico */
body.psc-theme .psc-color-field{
  position: relative;
  width: 100%;
}

/* Text input: piena larghezza + spazio a destra per lo swatch */
body.psc-theme .psc-color-field .psc-color-input{
  width: 100% !important;
  box-sizing: border-box;
  padding-right: 56px !important; /* spazio per il quadratino */
}

/* Swatch dentro il campo */
body.psc-theme .psc-color-field .psc-color-picker{
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);

  width: 22px;
  height: 22px;

  padding: 0;
  border: 0;
  background: transparent;

  cursor: pointer;
}

body.psc-theme .psc-color-field{
  position: relative;
  width: 100%;
}

/* input testo: lascia spazio a destra */
body.psc-theme .psc-color-field .psc-color-input{
  width: 100% !important;
  box-sizing: border-box;
  padding-right: 54px !important; /* spazio per swatch */
}

/* picker: forzalo a stare DENTRO */
body.psc-theme .psc-color-field .psc-color-picker{
  position: absolute;
  top: 50%;
  right: 12px;                 /* dentro il padding */
  transform: translateY(-50%);

  width: 26px !important;
  height: 26px !important;

  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;

  background: transparent !important;
  box-sizing: border-box;
  cursor: pointer;

  /* IMPORTANT: evita che il box del color input "sfondi" */
  display: block !important;
  min-width: 26px !important;
  max-width: 26px !important;
}

/* Chrome/Safari */
body.psc-theme .psc-color-field .psc-color-picker::-webkit-color-swatch-wrapper{
  padding: 0 !important;
}
body.psc-theme .psc-color-field .psc-color-picker::-webkit-color-swatch{
  border: 1px solid #d8d8d8;
  border-radius: 6px;
}

/* Firefox */
body.psc-theme .psc-color-field .psc-color-picker::-moz-color-swatch{
  border: 1px solid #d8d8d8;
  border-radius: 6px;
}








/* =========================================================
   PSC - ASPETTO / TAB FOOTER
   ========================================================= */

/* =========================================================
   PSC - ASPETTO / FOOTER - LINKS (layout definitivo)
   Markup reale:
   .psc-footer-link-row
     .psc-footer-link-label (input titolo)
     .psc-footer-link-meta
       .psc-footer-col > .psc-footer-link-row
         .psc-field-row (Tipologia)
         .psc-field-row.psc-footer-url-wrap (URL) [display:none quando type=form]
         .psc-field-row.psc-footer-form-wrap (Categoria) [display:none quando type=url]
       button.psc-footer-link-remove (X)
   ========================================================= */

/* Riga link: titolo a sinistra, meta a destra */
body.psc-theme.staff-side #content.psc_appearance .psc-footer-links .psc-footer-link-row{
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 16px;
  align-items: center;
  margin: 10px 0;
  min-width: 0;
}

body.psc-theme.staff-side #content.psc_appearance .psc-footer-links .psc-footer-link-label{
  min-width: 0;
}
body.psc-theme.staff-side #content.psc_appearance .psc-footer-links .psc-footer-link-label input{
  width: 100%;
  height: 36px;
}

/* Meta: (campi) + (X) sempre */
body.psc-theme.staff-side #content.psc_appearance .psc-footer-link-meta{
  display: grid;
  grid-template-columns: 1fr 34px;  /* campi | X */
  gap: 10px;
  align-items: center;
  min-width: 0;
}

/* Griglia campi: Tipologia | URL | Categoria */
body.psc-theme.staff-side #content.psc_appearance .psc-footer-link-meta .psc-footer-col{
  min-width: 0;
}
body.psc-theme.staff-side #content.psc_appearance .psc-footer-link-meta .psc-footer-col > .psc-footer-link-row{
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  min-width: 0;
}

/* Field row “compatto” (label sopra input) SOLO qui, senza !important
   -> non rompe display:none inline su url/form */
body.psc-theme.staff-side #content.psc_appearance
.psc-footer-link-meta .psc-footer-col > .psc-footer-link-row > .psc-field-row{
  display: flex;
  /*flex-direction: column;*/
  gap: 6px;
  padding: 0;
  border: 0;
  min-width: 0;
}

/* Posizionamento colonne specifiche */
body.psc-theme.staff-side #content.psc_appearance .psc-footer-link-meta .psc-footer-col > .psc-footer-link-row > .psc-field-row:first-child{
  grid-column: 1; /* Tipologia */
}
body.psc-theme.staff-side #content.psc_appearance .psc-footer-link-meta .psc-footer-url-wrap{
  grid-column: 2; /* URL */
}
body.psc-theme.staff-side #content.psc_appearance .psc-footer-link-meta .psc-footer-form-wrap{
  grid-column: 3; /* Categoria */
}

/* Quando Categoria è nascosta (type=url), fai espandere URL su due colonne */
body.psc-theme.staff-side #content.psc_appearance .psc-footer-link-meta .psc-footer-url-wrap{
  grid-column: 2 / 4;
}

/* Label piccole */
body.psc-theme.staff-side #content.psc_appearance .psc-footer-link-meta .psc-field-label{
  width: auto;
  margin: 0;
}
body.psc-theme.staff-side #content.psc_appearance .psc-footer-link-meta .psc-field-label label{
  font-size: 12px;
  font-weight: 600;
  color: var(--color-text-secondary);
  margin: 0;
}

/* Radio inline */
body.psc-theme.staff-side #content.psc_appearance .psc-footer-link-meta .psc-radio-inline{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-right: 12px;
  font-size: 12px;
  color: var(--color-text-secondary);
}

/* Input/select coerenti */
body.psc-theme.staff-side #content.psc_appearance .psc-footer-url-field,
body.psc-theme.staff-side #content.psc_appearance .psc-footer-target-select{
  width: 100%;
  height: 36px;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--text-primary) 12%, transparent);
  background: var(--color-primary-bg);
  padding: 0 12px;
  box-sizing: border-box;
}

/* X: forzata 34x34, centrata, senza padding/min-width globali */
body.psc-theme.staff-side #content.psc_appearance .psc-footer-link-meta > button.psc-footer-link-remove{
  min-width: 0 !important;
  width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  border-radius: 10px;

  border: 1px solid color-mix(in srgb, var(--text-primary) 10%, transparent);
  background: var(--color-primary-bg);
  color: var(--color-text-secondary);

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  justify-self: end;
  align-self: center;
  line-height: 1 !important;
  cursor: pointer;
}
body.psc-theme.staff-side #content.psc_appearance .psc-footer-link-meta > button.psc-footer-link-remove:hover{
  background: color-mix(in srgb, var(--feedback-error, #d92d20) 10%, transparent);
  border-color: color-mix(in srgb, var(--feedback-error, #d92d20) 35%, transparent);
  color: var(--feedback-error, #d92d20);
}

/* Separatore tra righe link (opzionale) */
body.psc-theme.staff-side #content.psc_appearance .psc-footer-links .psc-footer-link-meta{
  padding: 10px 0;
  border-top: 1px solid color-mix(in srgb, var(--text-primary) 8%, transparent);
}
body.psc-theme.staff-side #content.psc_appearance .psc-footer-links .psc-footer-link-meta:first-child{
  border-top: 0;
  padding-top: 0;
}
/* Buffer a destra nella colonna campi: evita che qualunque widget (Select2) vada sotto la X */
body.psc-theme.staff-side #content.psc_appearance
.psc-footer-link-meta .psc-footer-col{
  padding-right: 10px; /* stesso del gap verso la X */
  box-sizing: border-box;
}

/* Select2: il widget deve rispettare la larghezza della colonna */
body.psc-theme.staff-side #content.psc_appearance
.psc-footer-link-meta .select2{
  width: 100% !important;     /* batte lo style inline (width: 305px) */
  max-width: 100% !important;
  box-sizing: border-box;
}

/* Anche la selection deve essere 100% */
body.psc-theme.staff-side #content.psc_appearance
.psc-footer-link-meta .select2 .select2-selection{
  width: 100%;
  box-sizing: border-box;
}
/* Griglia campi: riempi i buchi quando un campo è display:none */
body.psc-theme.staff-side #content.psc_appearance
.psc-footer-link-meta .psc-footer-col > .psc-footer-link-row{
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  grid-auto-flow: dense;   /* chiave: compattazione */
}

/* Tipologia sempre colonna 1 */
body.psc-theme.staff-side #content.psc_appearance
.psc-footer-link-meta .psc-footer-col > .psc-footer-link-row > .psc-field-row:first-child{
  grid-column: 1;
}

body.psc-theme.staff-side #content.psc_appearance
.psc-footer-link-meta .psc-footer-url-wrap,
body.psc-theme.staff-side #content.psc_appearance
.psc-footer-link-meta .psc-footer-form-wrap{
  grid-column: auto !important;
}
/* quando c'è solo URL (Categoria hidden), fai occupare 2 colonne */
body.psc-theme.staff-side #content.psc_appearance
.psc-footer-link-meta .psc-footer-form-wrap[style*="display:none"]{
  /* niente */
}
body.psc-theme.staff-side #content.psc_appearance
.psc-footer-link-meta .psc-footer-url-wrap:not([style*="display:none"]){
  grid-column: 2 / 4;
}
body.psc-theme.staff-side .psc-footer-add-link{
  margin-top: 30px;
}
.psc-footer-link-fields{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:14px;
  min-width:0;
}












/* =========================================================
   FOOTER LINKS - Fallback per righe clonate via JS
   (dove .psc-field-row è figlio diretto di .psc-footer-link-meta)
   ========================================================= */

/* Contenitore meta: campi + X (già lo usi, ma lo ribadiamo in modo sicuro) */
body.psc-theme.staff-side #content.psc_appearance
.psc-footer-links .psc-footer-link-meta{
  display: grid;
  grid-template-columns: 1fr 34px;
  gap: 10px;
  align-items: center;
  min-width: 0;
}

/* Se dentro meta i field-row sono diretti, li mettiamo in una griglia a 3 colonne */
body.psc-theme.staff-side #content.psc_appearance
.psc-footer-links .psc-footer-link-meta > .psc-field-row{
  display: flex;
  /*flex-direction: column;*/
  gap: 6px;
  min-width: 0;
}

/* Posizionamento colonne per la variante JS */
body.psc-theme.staff-side #content.psc_appearance
.psc-footer-links .psc-footer-link-meta > .psc-field-row:first-of-type{
  grid-column: 1; /* Tipologia */
}

body.psc-theme.staff-side #content.psc_appearance
.psc-footer-links .psc-footer-link-meta > .psc-footer-url-wrap{
  grid-column: 2; /* URL */
}

body.psc-theme.staff-side #content.psc_appearance
.psc-footer-links .psc-footer-link-meta > .psc-footer-form-wrap{
  grid-column: 3; /* Categoria/Form */
}

/* Griglia a 3 colonne: la applichiamo direttamente a meta SOLO se contiene field-row diretti
   (non rompe l'altra variante perché lì i figli diretti non sono field-row) */
body.psc-theme.staff-side #content.psc_appearance
.psc-footer-links .psc-footer-link-meta:has(> .psc-field-row){
  grid-template-columns: 220px minmax(0, 1fr) minmax(0, 1fr) 34px; /* Tipologia | URL | Form | X */
  align-items: start;
}

/* Bottone X sempre nell'ultima colonna */
body.psc-theme.staff-side #content.psc_appearance
.psc-footer-links .psc-footer-link-meta > button.psc-footer-link-remove{
  grid-column: 4;
  justify-self: end;
  align-self: center;
}

/* Normalizza label/input interni (URL destinazione) */
body.psc-theme.staff-side #content.psc_appearance
.psc-footer-links .psc-footer-link-meta > .psc-footer-url-wrap .psc-field-label{
  width: auto;
  margin: 0;
}
body.psc-theme.staff-side #content.psc_appearance
.psc-footer-links .psc-footer-link-meta > .psc-footer-url-wrap .psc-field-input{
  width: 100%;
  min-width: 0;
}
body.psc-theme.staff-side #content.psc_appearance
.psc-footer-links .psc-footer-link-meta > .psc-footer-url-wrap input[type="text"]{
  width: 100%;
  height: 36px;
  box-sizing: border-box;
}
/* =========================================================
   FOOTER - LINK UTILI (supporta sia rows reali che template)
   ========================================================= */

/* Row: titolo | meta */
body.psc-theme.staff-side #content.psc_appearance .psc-block.psc-footer-useful .psc-footer-link-usefull-row{
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 16px;
  align-items: center;
  margin: 10px 0;
  min-width: 0;
}

/* Meta: campi | X */
body.psc-theme.staff-side #content.psc_appearance .psc-block.psc-footer-useful .psc-footer-link-usefull-row .psc-footer-link-meta{
  display: grid;
  grid-template-columns: 1fr 34px;
  gap: 10px;
  align-items: center;
  min-width: 0;
}

/* -------- Variante A: template (ha .psc-footer-link-fields) -------- */
body.psc-theme.staff-side #content.psc_appearance .psc-block.psc-footer-useful
.psc-footer-link-usefull-row .psc-footer-link-fields{
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  min-width: 0;
}

/* -------- Variante B: righe reali (NON ha .psc-footer-link-fields) -------- */
/* In questo caso, type e targets sono figli diretti di .psc-footer-link-meta.
   Li mettiamo in una griglia dentro la colonna "campi". */
body.psc-theme.staff-side #content.psc_appearance .psc-block.psc-footer-useful
.psc-footer-link-usefull-row .psc-footer-link-meta > .psc-footer-link-type,
body.psc-theme.staff-side #content.psc_appearance .psc-block.psc-footer-useful
.psc-footer-link-usefull-row .psc-footer-link-meta > .psc-footer-link-targets{
  min-width: 0;
}

body.psc-theme.staff-side #content.psc_appearance .psc-block.psc-footer-useful
.psc-footer-link-usefull-row .psc-footer-link-meta{
  /* se non c'è fields, gestiamo type+targets con grid “virtuale” */
}

body.psc-theme.staff-side #content.psc_appearance .psc-block.psc-footer-useful
.psc-footer-link-usefull-row .psc-footer-link-meta:not(:has(.psc-footer-link-fields)){
  grid-template-columns: 220px minmax(0, 1fr) 34px; /* type | targets | X */
  align-items: start;
}

body.psc-theme.staff-side #content.psc_appearance .psc-block.psc-footer-useful
.psc-footer-link-usefull-row .psc-footer-link-meta:not(:has(.psc-footer-link-fields)) > .psc-footer-link-type{
  grid-column: 1;
}

body.psc-theme.staff-side #content.psc_appearance .psc-block.psc-footer-useful
.psc-footer-link-usefull-row .psc-footer-link-meta:not(:has(.psc-footer-link-fields)) > .psc-footer-link-targets{
  grid-column: 2;
}

body.psc-theme.staff-side #content.psc_appearance .psc-block.psc-footer-useful
.psc-footer-link-usefull-row .psc-footer-link-meta:not(:has(.psc-footer-link-fields)) > button.psc-footer-link-usefull-remove{
  grid-column: 3;
  justify-self: end;
  align-self: center;
}

/* Radio */
body.psc-theme.staff-side #content.psc_appearance .psc-block.psc-footer-useful .psc-footer-link-type label{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-right: 12px;
  font-size: 12px;
  color: var(--color-text-secondary);
}

/* Targets: URL/Form full width */
body.psc-theme.staff-side #content.psc_appearance .psc-block.psc-footer-useful .psc-footer-link-targets .psc-field-row{
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

body.psc-theme.staff-side #content.psc_appearance .psc-block.psc-footer-useful .psc-footer-url-field,
body.psc-theme.staff-side #content.psc_appearance .psc-block.psc-footer-useful .psc-footer-form-select{
  width: 100%;
  height: 36px;
  box-sizing: border-box;
}

/* Select2 eventuale */
body.psc-theme.staff-side #content.psc_appearance .psc-block.psc-footer-useful .select2{
  width: 100% !important;
  max-width: 100% !important;
}

/* X */
body.psc-theme.staff-side #content.psc_appearance .psc-block.psc-footer-useful .psc-footer-link-usefull-remove{
  width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--text-primary) 10%, transparent);
  background: var(--color-primary-bg);
  color: var(--color-text-secondary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1 !important;
}





/* =========================================================
   PSC ASPETTO – TAB HOME
========================================================= */

body.psc-theme.staff-side #content.psc_appearance .psc-appearance-intro{
  margin: 0 0 30px;
  color: var(--color-text-secondary);
}

body.psc-theme.staff-side #content.psc_appearance .psc-home-header-actions{
  margin-top: 8px;
}
/* HOME – intro: testo a sinistra, Ripristina Home a destra */
body.psc-theme.staff-side #content.psc_appearance .psc-appearance-intro{
  display: flex;
  align-items: center;
  gap: 16px;
}




/* Lista sezioni */
body.psc-theme.staff-side #content.psc_appearance .psc-home-section-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 16px;
}
/* Ripristina */
body.psc-theme.staff-side #content.psc_appearance .psc-reset-link{
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
body.psc-theme.staff-side #content.psc_appearance .psc-reset-link::before{
  content: "↺";
  font-size: 14px;
  line-height: 1;
  color: currentColor;
  opacity: .85;
}

/* Card sezione */
body.psc-theme.staff-side #content.psc_appearance .psc-home-section{
  background: var(--color-primary-bg, #fff);
  border: 1px solid var(--border-default, #e5e7eb);
  border-radius: 10px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  overflow: hidden;
  padding: 30px 30px;
}

/* Header card (layout definitivo) */
body.psc-theme.staff-side #content.psc_appearance .psc-block-header.psc-home-section-header{
  display: flex;
  align-items: center;
  gap: 14px;
  border-bottom: 1px solid var(--border-default, #e5e7eb);
}

/* Numero sezione */
body.psc-theme.staff-side #content.psc_appearance .psc-home-section-index{
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text-secondary);
}

/* Toggle (wrapper) */
body.psc-theme.staff-side #content.psc_appearance .psc-home-section-enabled{
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

/* Nascondi solo testo "Abilitata" */
body.psc-theme.staff-side #content.psc_appearance .psc-home-section-enabled .psc-toggle-text{
  display: none;
}

/* Titolo sezione */
body.psc-theme.staff-side #content.psc_appearance .psc-home-section-title{
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 600; /* tienilo coerente col resto dei blocchi */
  color: var(--text-primary);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* Split: tutto ciò che è azione va a destra */
body.psc-theme.staff-side #content.psc_appearance
.psc-block-header.psc-home-section-header .psc-home-section-actions{
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  flex: 0 0 auto;
}
/* Chevron button */
body.psc-theme.staff-side #content.psc_appearance .psc-home-section-chevron{
  width: 30px;
  height: 30px;
  border: 0;
  background: transparent;
  border-radius: 8px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-secondary);
  padding: 0% !important;
}
body.psc-theme.staff-side #content.psc_appearance .psc-home-section-chevron::before{
  content: "⌃";
  font-size: 16px;
  line-height: 1;
  transform: translateY(-1px);
}
body.psc-theme.staff-side #content.psc_appearance .psc-home-section-chevron:hover{
  background: color-mix(in srgb, var(--color-text-secondary) 10%, transparent);
}

/* Drag handle */
body.psc-theme.staff-side #content.psc_appearance .psc-sort-handle{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  color: var(--color-text-secondary);
  cursor: grab;
  user-select: none;
  flex: 0 0 auto;
  white-space: nowrap;
}
body.psc-theme.staff-side #content.psc_appearance .psc-sort-handle:active{
  cursor: grabbing;
}

/* Neutralizza eventuali vecchie regole globali che spingono il toggle a destra */
body.psc-theme.staff-side #content.psc_appearance
.psc-block-header.psc-home-section-header .psc-toggle-inline{
  margin-left: 0;
}

/* Switch styling (riusabile: lasciato com’è, ma una sola volta) */
body.psc-theme.staff-side #content.psc_appearance .psc-toggle-inline input[type="checkbox"]{
  appearance: none;
  width: 40px;
  height: 22px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-text-secondary) 22%, transparent);
  position: relative;
  border: 1px solid color-mix(in srgb, var(--color-text-secondary) 18%, transparent);
  cursor: pointer;
  flex: 0 0 auto;
}
body.psc-theme.staff-side #content.psc_appearance .psc-toggle-inline input[type="checkbox"]::after{
  content:"";
  position:absolute;
  top: 50%;
  left: 3px;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15,23,42,.18);
  transition: left .18s ease;
}
body.psc-theme.staff-side #content.psc_appearance .psc-toggle-inline input[type="checkbox"]:checked{
  background: var(--color-control-active);
  border-color: color-mix(in srgb, var(--color-accent) 55%, transparent);
}
body.psc-theme.staff-side #content.psc_appearance .psc-toggle-inline input[type="checkbox"]:checked::after{
  left: 20px;
}

/* Field rows */
body.psc-theme.staff-side #content.psc_appearance .psc-field-row{
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--border-default) 45%, transparent);
}
body.psc-theme.staff-side #content.psc_appearance .psc-field-row:last-child{
  border-bottom: 0;
}
body.psc-theme.staff-side #content.psc_appearance .psc-field-label,
body.psc-theme.staff-side #content.psc_appearance .psc-field-input{
  min-width: 0;
}
body.psc-theme.staff-side #content.psc_appearance .psc-field-label label{
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary);
}
body.psc-theme.staff-side #content.psc_appearance .psc-field-input input[type="text"],
body.psc-theme.staff-side #content.psc_appearance .psc-field-input textarea,
body.psc-theme.staff-side #content.psc_appearance .psc-field-input select{
  width: 100%;
  box-sizing: border-box;
}

/* Collapse */
body.psc-theme.staff-side #content.psc_appearance .psc-home-section.is-collapsed .psc-block-body{
  display: none;
}
body.psc-theme.staff-side #content.psc_appearance .psc-home-section.is-collapsed .psc-home-section-chevron::before{
  content: "⌄";
}

/* Responsive */
@media (max-width: 720px){
  body.psc-theme.staff-side #content.psc_appearance .psc-field-row{
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   HOME – Richiedi assistenza (assist)
========================================================= */

body.psc-theme.staff-side #content.psc_appearance .psc-help-text{
  font-size: 12px;
  color: var(--color-text-secondary);
  margin-top: 6px;
}

body.psc-theme.staff-side #content.psc_appearance .psc-field-sub-label{
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: var(--color-text-secondary);
  margin-bottom: 6px;
}

/* ICONA: 2 colonne (upload | alt) */
body.psc-theme.staff-side #content.psc_appearance .psc-assist-icon-grid{
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}

body.psc-theme.staff-side #content.psc_appearance .psc-assist-icon-left,
body.psc-theme.staff-side #content.psc_appearance .psc-assist-icon-right{
  min-width: 0;
}

/* CTA: 3 colonne (testo pulsante | tipologia | destinazione) */
body.psc-theme.staff-side #content.psc_appearance .psc-assist-cta-grid{
  display: grid;
  grid-template-columns: 260px 220px minmax(0, 1fr);
  gap: 16px;
  align-items: end;
}
body.psc-theme.staff-side #content.psc_appearance .psc-assist-cta-col{
  min-width: 0;
}

/* radios più compatti */
body.psc-theme.staff-side #content.psc_appearance .psc-radio-group{
  display: inline-flex;
  align-items: center;
  gap: 18px;
  min-height: 40px; /* allinea con input */
}

/* wrapper destinazione: niente margin-top legacy */
body.psc-theme.staff-side #content.psc_appearance .psc-assist-url-wrap,
body.psc-theme.staff-side #content.psc_appearance .psc-assist-form-wrap{
  margin-top: 0;
}

/* se vuoi allineare l’icona “link” dentro URL, qui puoi farlo in seguito */

/* responsive: CTA in colonna su mobile */
@media (max-width: 720px){
  body.psc-theme.staff-side #content.psc_appearance .psc-assist-icon-grid{
    grid-template-columns: 1fr;
  }
  body.psc-theme.staff-side #content.psc_appearance .psc-assist-cta-grid{
    grid-template-columns: 1fr;
  }
  body.psc-theme.staff-side #content.psc_appearance .psc-radio-group{
    min-height: auto;
  }
}
/* =========================================================
   HOME – Assist: icona con pulsante modifica
========================================================= */

body.psc-theme.staff-side #content.psc_appearance .psc-assist-icon-preview{
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

body.psc-theme.staff-side #content.psc_appearance .psc-assist-icon-preview img{
  max-height: 48px;
  display: block;
}

/* input file nascosto */
body.psc-theme.staff-side #content.psc_appearance .psc-icon-file-input{
  display: none;
}

/* bottone matita */
body.psc-theme.staff-side #content.psc_appearance .psc-icon-edit-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: var(--color-primary-bg, #f1f5f9);
  color: var(--color-text-secondary);
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  border: 1px solid var(--border-default, #e5e7eb);
}

body.psc-theme.staff-side #content.psc_appearance .psc-icon-edit-btn:hover{
  background: color-mix(in srgb, var(--color-text-secondary) 12%, transparent);
  color: var(--text-primary);
}
/* ASSIST – URL/Form wrapper deve poter espandersi */
body.psc-theme.staff-side #content.psc_appearance
.psc-assist-url-wrap,
body.psc-theme.staff-side #content.psc_appearance
.psc-assist-form-wrap{
  width: 100%;
  min-width: 0;
  display: block;
}
body.psc-theme.staff-side #content.psc_appearance .psc-assist-cta-grid{
  grid-template-columns: minmax(220px, 260px) minmax(180px, 220px) minmax(260px, 1fr);
}
/* ASSIST – Select2 non deve sforare la colonna */
body.psc-theme.staff-side #content.psc_appearance
.psc-assist-cta-col .select2-container{
  width: 100% !important;
  min-width: 0;
}

/* il box visivo deve riempire la colonna, non più */
body.psc-theme.staff-side #content.psc_appearance
.psc-assist-cta-col .select2-selection{
  width: 100% !important;
  box-sizing: border-box;
}

/* testo interno: niente width fissa */
body.psc-theme.staff-side #content.psc_appearance
.psc-assist-cta-col .select2-selection__rendered{
  width: auto !important;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* HOME – Custom cards: settings row */
body.psc-theme.staff-side #content.psc_appearance .psc-home-cards-settings{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: start;
}
body.psc-theme.staff-side #content.psc_appearance .psc-home-cards-setting-title{
  font-size: 12px;
  font-weight: 600;
  color: var(--color-text-secondary);
  margin-bottom: 8px;
}
body.psc-theme.staff-side #content.psc_appearance .psc-home-cards-setting-body{
  display: inline-flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
@media (max-width: 720px){
  body.psc-theme.staff-side #content.psc_appearance .psc-home-cards-settings{
    grid-template-columns: 1fr;
  }
}
/* HOME – Custom cards list */
body.psc-theme.staff-side #content.psc_appearance .psc-home-cards{
  width: 100%;
  min-width: 0;
}

body.psc-theme.staff-side #content.psc_appearance .psc-home-card-item{
  border: 1px solid color-mix(in srgb, var(--border-default) 70%, transparent);
  border-radius: 10px;
  background: color-mix(in srgb, var(--color-primary-bg, #fff) 92%, #0000);
  padding: 14px;
  margin-bottom: 14px;
}

body.psc-theme.staff-side #content.psc_appearance .psc-home-card-item-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

body.psc-theme.staff-side #content.psc_appearance .psc-home-card-item-index{
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text-secondary);
}

body.psc-theme.staff-side #content.psc_appearance .psc-home-card-item-actions{
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

body.psc-theme.staff-side #content.psc_appearance .psc-home-card-icon-remove{
  width: 30px;
  height: 30px;
  border: 0;
  background: transparent;
  border-radius: 8px;
  cursor: pointer;
  color: #d11a2a;
}
body.psc-theme.staff-side #content.psc_appearance .psc-home-card-icon-remove:hover{
  background: color-mix(in srgb, #d11a2a 12%, transparent);
}

/* Griglia campi card */
body.psc-theme.staff-side #content.psc_appearance .psc-home-card-grid{
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 14px 18px;
  align-items: start;
  background-color: var(--color-neutri-100);
}
body.psc-theme.staff-side #content.psc_appearance .psc-home-card-field,
body.psc-theme.staff-side #content.psc_appearance .psc-home-card-icon{
  min-width: 0;
}
body.psc-theme.staff-side #content.psc_appearance .psc-home-card-field-full{
  grid-column: 1 / -1;
}

/* Icon preview + matita */
body.psc-theme.staff-side #content.psc_appearance .psc-card-icon-preview{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 4px;
}
body.psc-theme.staff-side #content.psc_appearance .psc-card-icon-preview img{
  max-height: 44px;
  display: block;
}

/* Link: tipologia + destinazione in 2 colonne */
body.psc-theme.staff-side #content.psc_appearance .psc-home-card-link{
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 16px;
  align-items: end;
  min-width: 0;
}
body.psc-theme.staff-side #content.psc_appearance .psc-home-card-dest,
body.psc-theme.staff-side #content.psc_appearance .psc-home-card-linktype{
  min-width: 0;
}

/* Wrapper URL/target non devono collassare */
body.psc-theme.staff-side #content.psc_appearance .psc-card-url-wrap,
body.psc-theme.staff-side #content.psc_appearance .psc-card-target-wrap{
  width: 100%;
  min-width: 0;
  margin-top: 0; /* rimuove vecchio inline */
}
body.psc-theme.staff-side #content.psc_appearance .psc-card-url-wrap input[type="text"],
body.psc-theme.staff-side #content.psc_appearance .psc-card-target-wrap select{
  width: 100%;
  box-sizing: border-box;
}

/* Responsive */
@media (max-width: 720px){
  body.psc-theme.staff-side #content.psc_appearance .psc-home-card-grid{
    grid-template-columns: 1fr;
  }
  body.psc-theme.staff-side #content.psc_appearance .psc-home-card-link{
    grid-template-columns: 1fr;
  }
}
/* HOME – Custom cards list */
body.psc-theme.staff-side #content.psc_appearance .psc-home-cards{
  width: 100%;
  min-width: 0;
}

body.psc-theme.staff-side #content.psc_appearance .psc-home-card-item{
  border: 1px solid color-mix(in srgb, var(--border-default) 70%, transparent);
  border-radius: 10px;
  background: color-mix(in srgb, var(--color-primary-bg, #fff) 92%, #0000);
  padding: 14px;
  margin-bottom: 14px;
  background-color: var(--color-neutri-100);
}

body.psc-theme.staff-side #content.psc_appearance .psc-home-card-item-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

body.psc-theme.staff-side #content.psc_appearance .psc-home-card-item-index{
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text-secondary);
}

body.psc-theme.staff-side #content.psc_appearance .psc-home-card-item-actions{
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

body.psc-theme.staff-side #content.psc_appearance .psc-home-card-icon-remove{
  width: 30px;
  height: 30px;
  border: 0;
  background: transparent;
  border-radius: 8px;
  cursor: pointer;
  color: #d11a2a;
}
body.psc-theme.staff-side #content.psc_appearance .psc-home-card-icon-remove:hover{
  background: color-mix(in srgb, #d11a2a 12%, transparent);
}

/* Griglia campi card */
body.psc-theme.staff-side #content.psc_appearance .psc-home-card-grid{
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 14px 18px;
  align-items: start;
}
body.psc-theme.staff-side #content.psc_appearance .psc-home-card-field,
body.psc-theme.staff-side #content.psc_appearance .psc-home-card-icon{
  min-width: 0;
}
body.psc-theme.staff-side #content.psc_appearance .psc-home-card-field-full{
  grid-column: 1 / -1;
}

/* Icon preview + matita */
body.psc-theme.staff-side #content.psc_appearance .psc-card-icon-preview{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 4px;
}
body.psc-theme.staff-side #content.psc_appearance .psc-card-icon-preview img{
  max-height: 44px;
  display: block;
}

.psc-card-icon-preview{
  display:flex;
  align-items:center;
  gap:10px;
}

.psc-card-icon-meta{
  margin-top:6px;
  font-size:12px;
  opacity:.75;
  line-height:1.2;
  max-width:260px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  display: block !important;
}


/* Link: tipologia + destinazione in 2 colonne */
body.psc-theme.staff-side #content.psc_appearance .psc-home-card-link{
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 16px;
  align-items: end;
  min-width: 0;
}
body.psc-theme.staff-side #content.psc_appearance .psc-home-card-dest,
body.psc-theme.staff-side #content.psc_appearance .psc-home-card-linktype{
  min-width: 0;
}

/* Wrapper URL/target non devono collassare */
body.psc-theme.staff-side #content.psc_appearance .psc-card-url-wrap,
body.psc-theme.staff-side #content.psc_appearance .psc-card-target-wrap{
  width: 100%;
  min-width: 0;
  margin-top: 0; /* rimuove vecchio inline */
}
body.psc-theme.staff-side #content.psc_appearance .psc-card-url-wrap input[type="text"],
body.psc-theme.staff-side #content.psc_appearance .psc-card-target-wrap select{
  width: 100%;
  box-sizing: border-box;
}

/* Responsive */
@media (max-width: 720px){
  body.psc-theme.staff-side #content.psc_appearance .psc-home-card-grid{
    grid-template-columns: 1fr;
  }
  body.psc-theme.staff-side #content.psc_appearance .psc-home-card-link{
    grid-template-columns: 1fr;
  }
}
body.psc-theme.staff-side #content.psc_appearance .psc-home-add-card{
  border: 0;
  border-radius: 10px;
  padding: 10px 16px;
  font-weight: 600;
}
body.psc-theme.staff-side #content.psc_appearance .psc-home-add-card:hover{
  background: color-mix(in srgb, var(--color-accent) 88%, #000);
}
body.psc-theme.staff-side #content.psc_appearance
.psc-field-row.psc-field-row-no-grid {
  display: block;
}
/* HOME – Custom cards: Select2 deve stare dentro la colonna */
body.psc-theme.staff-side #content.psc_appearance
.psc-card-target-wrap,
body.psc-theme.staff-side #content.psc_appearance
.psc-home-card-dest{
  min-width: 0;
  width: 100%;
}

/* forza il container Select2 a 100% */
body.psc-theme.staff-side #content.psc_appearance
.psc-card-target-wrap .select2-container{
  width: 100% !important;
  min-width: 0;
}

/* forza la selection a 100% */
body.psc-theme.staff-side #content.psc_appearance
.psc-card-target-wrap .select2-selection{
  width: 100% !important;
  box-sizing: border-box;
}

/* evita width inline sul testo interno */
body.psc-theme.staff-side #content.psc_appearance
.psc-card-target-wrap .select2-selection__rendered{
  width: auto !important;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* KB settings: la field-row esterna non deve shiftare di 220px */
body.psc-theme.staff-side #content.psc_appearance
.psc-field-row.psc-home-kb-settings-row{
  grid-template-columns: 1fr;
}
body.psc-theme.staff-side #content.psc_appearance
.psc-field-row.psc-home-kb-settings-row > .psc-field-label{ display:none; }

body.psc-theme.staff-side #content.psc_appearance
.psc-home-kb-settings{
  display: grid;
  grid-template-columns: 1fr 1.3fr 220px;
  gap: 18px;
  align-items: start;
  margin-bottom: 12px;
}

body.psc-theme.staff-side #content.psc_appearance
.psc-home-kb-setting-title{
  font-size: 13px;
  color: var(--color-text-secondary);
  margin-bottom: 8px;
}

body.psc-theme.staff-side #content.psc_appearance
.psc-home-kb-setting-body{
  display:flex;
  gap:16px;
  align-items:center;
  flex-wrap: wrap;
}

body.psc-theme.staff-side #content.psc_appearance
.psc-home-kb-setting-body .psc-input-select{
  width: 100%;
  max-width: 220px;
}
/* Item KB come card */
body.psc-theme.staff-side #content.psc_appearance
.psc-home-kb-item-row{
  background: var(--color-neutri-100);
  border: 1px solid var(--border-default, #e5e7eb);
  border-radius: 12px;
  padding: 12px 12px 8px;
  margin-bottom: 12px;
}

/* Header item: index a sinistra, actions a destra */
body.psc-theme.staff-side #content.psc_appearance
.psc-home-kb-item-head{
  display:flex;
  align-items:center;
  justify-content: space-between;
  margin-bottom: 10px;
}

body.psc-theme.staff-side #content.psc_appearance
.psc-home-kb-item-index{
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text-secondary);
}

body.psc-theme.staff-side #content.psc_appearance
.psc-home-kb-item-actions{
  display:flex;
  gap: 10px;
  align-items:center;
}

/* Trash “piccolo” (senza cambiare classe) */
body.psc-theme.staff-side #content.psc_appearance
.psc-home-kb-item-actions .psc-home-kb-item-remove{
  width: 28px;
  height: 28px;
  border: 0;
  background: transparent;
  border-radius: 6px;
  cursor:pointer;
  opacity: .75;
  color: #d11a2a;
}
body.psc-theme.staff-side #content.psc_appearance
.psc-home-kb-item-actions .psc-home-kb-item-remove:hover{
  background: color-mix(in srgb, #d11a2a 10%, transparent);
  opacity: 1;
}

/* Dentro item: field-row più compatte */
body.psc-theme.staff-side #content.psc_appearance
.psc-home-kb-item-body .psc-field-row{
  padding: 8px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--border-default) 45%, transparent);
}
body.psc-theme.staff-side #content.psc_appearance
.psc-home-kb-item-body .psc-field-row:last-child{
  border-bottom: 0;
}
/* QUICK LINKS – layout “cliente” */
body.psc-theme.staff-side #content.psc_appearance .psc-home-qlinks{
  display: grid;
  gap: 14px;
}

/* card */
body.psc-theme.staff-side #content.psc_appearance .psc-home-qlink-row{
 background: var(--color-neutri-100);
  border: 1px solid var(--border-default, #e5e7eb);
  border-radius: 12px;
  padding: 14px 16px;
}

/* head: index a sinistra, actions a destra */
body.psc-theme.staff-side #content.psc_appearance .psc-qlink-item-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

body.psc-theme.staff-side #content.psc_appearance .psc-qlink-item-index{
  font-weight: 600;
  color: var(--color-text-secondary);
  font-size: 14px;
}

body.psc-theme.staff-side #content.psc_appearance .psc-qlink-item-actions{
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
body.psc-theme.staff-side #content.psc_appearance .psc-home-qlink-add{
  margin-top:10px;
}

/* bottone remove come icona (stessa classe, stile diverso) */
body.psc-theme.staff-side #content.psc_appearance .psc-home-qlink-remove{
  border: 0;
  background: transparent;
  cursor: pointer;
  padding: 6px;
  border-radius: 8px;
  line-height: 1;
  color: #d11a2a;
}
body.psc-theme.staff-side #content.psc_appearance .psc-home-qlink-remove:hover{
  background: color-mix(in srgb, #d11a2a 10%, transparent);
  opacity: 1;
}

/* body grid: 2 colonne (sinistra label/controlli, destra destinazione) */
body.psc-theme.staff-side #content.psc_appearance .psc-qlink-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 18px;
  align-items: start;
}

body.psc-theme.staff-side #content.psc_appearance .psc-qlink-field-full{
  grid-column: 1 / -1;
}

body.psc-theme.staff-side #content.psc_appearance .psc-field-sub-label{
  display: block;
  font-size: 12px;
  color: var(--color-text-secondary);
  margin-bottom: 6px;
}

/* icon row: preview + alt affiancati */
body.psc-theme.staff-side #content.psc_appearance .psc-qlink-icon-row{
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

body.psc-theme.staff-side #content.psc_appearance .psc-qlink-icon-preview{
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
}

body.psc-theme.staff-side #content.psc_appearance .psc-qlink-icon-preview img{
  max-height: 48px;
  max-width: 120px;
  display: block;
}

/* matita vicino all’icona (stile come pulsante) */
body.psc-theme.staff-side #content.psc_appearance .psc-icon-edit-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  border: 1px solid var(--border-default, #e5e7eb);
  background: var(--color-primary-bg, #fff);
  cursor: pointer;
}

/* input/select full width dentro la loro cella */
body.psc-theme.staff-side #content.psc_appearance .psc-qlink-grid input[type="text"],
body.psc-theme.staff-side #content.psc_appearance .psc-qlink-grid textarea,
body.psc-theme.staff-side #content.psc_appearance .psc-qlink-grid select{
  width: 100%;
  box-sizing: border-box;
}

/* responsive */
@media (max-width: 860px){
  body.psc-theme.staff-side #content.psc_appearance .psc-qlink-grid{
    grid-template-columns: 1fr;
  }
  body.psc-theme.staff-side #content.psc_appearance .psc-qlink-icon-row{
    grid-template-columns: 1fr;
  }
}
/* QUICK LINKS – Tipologia link a tutta riga */
body.psc-theme.staff-side #content.psc_appearance
.psc-home-qlink-row
.psc-qlink-grid
.psc-qlink-field:has(.psc-radio-group){
  grid-column: 1 / -1;
}
body.psc-theme.staff-side #content.psc_appearance .psc-home-section-settings{
  display:flex;
  align-items:center;
  gap:28px;
  padding: 12px 0 18px;
}

body.psc-theme.staff-side #content.psc_appearance .psc-home-section-setting{
  display:flex;
  align-items:center;
  gap:16px;
}

body.psc-theme.staff-side #content.psc_appearance .psc-home-section-setting-title{
  font-size:13px;
  color:var(--color-text-secondary);
  white-space:nowrap;
}

body.psc-theme.staff-side #content.psc_appearance .psc-home-section-divider{
  width:1px;
  height:24px;
  background:color-mix(in srgb, var(--border-default) 80%, transparent);
}
/* Settings bar: testi accanto ai radio/toggle */
body.psc-theme.staff-side #content.psc_appearance
.psc-home-section-settings .psc-radio-inline,
body.psc-theme.staff-side #content.psc_appearance
.psc-home-section-settings .psc-toggle-inline{
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  margin: 0;
  white-space: nowrap;
}

/* Evita che lo span vada sotto */
body.psc-theme.staff-side #content.psc_appearance
.psc-home-section-settings .psc-radio-inline span,
body.psc-theme.staff-side #content.psc_appearance
.psc-home-section-settings .psc-toggle-inline span{
  display: inline !important;
  line-height: 1.2;
}

/* Il wrapper dei setting deve stare in riga */
body.psc-theme.staff-side #content.psc_appearance
.psc-home-section-settings{
  display: flex;
  align-items: center;
  gap: 28px;
}

body.psc-theme.staff-side #content.psc_appearance
.psc-home-section-setting{
  display: flex;
  align-items: center;
  gap: 14px;
}
/* ===== I MIEI DIRITTI ===== */

body.psc-theme.staff-side #content.psc_appearance .psc-home-section-settings{
  display:flex;
  align-items:center;
  gap:18px;
  padding: 6px 0;
  flex-wrap: wrap;
}

body.psc-theme.staff-side #content.psc_appearance .psc-home-section-setting{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap: wrap;
}

body.psc-theme.staff-side #content.psc_appearance .psc-home-section-setting-title{
  font-size:13px;
  color: var(--color-text-secondary);
  white-space:nowrap;
}

body.psc-theme.staff-side #content.psc_appearance .psc-home-section-divider{
  width:1px;
  height:18px;
  background: color-mix(in srgb, var(--border-default) 70%, transparent);
}

/* card */
body.psc-theme.staff-side #content.psc_appearance .psc-right-item{
  background: #fff;
  border: 1px solid var(--border-default, #e5e7eb);
  border-radius: 12px;
  padding: 12px 14px;
  margin-top: 12px;
  background-color: var(--color-neutri-100);
}

body.psc-theme.staff-side #content.psc_appearance .psc-right-item-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom: 10px;
}

body.psc-theme.staff-side #content.psc_appearance .psc-right-item-actions{
  display:flex;
  align-items:center;
  gap:12px;
}
body.psc-theme.staff-side #content.psc_appearance .psc-right-icon-remove{
  border:0;
  background:transparent;
  cursor:pointer;
  opacity:.7;
  color: #d11a2a;
}
body.psc-theme.staff-side #content.psc_appearance .psc-right-icon-remove:hover{ 
  opacity:1; 
  background: color-mix(in srgb, #d11a2a 10%, transparent);
}

/* griglia label/controllo */
body.psc-theme.staff-side #content.psc_appearance .psc-right-grid{
  display:grid;
  grid-template-columns: 220px minmax(0,1fr);
  gap: 12px 16px;
  align-items:center;
}

body.psc-theme.staff-side #content.psc_appearance .psc-right-label{
  font-size:13px;
  color: var(--color-text-secondary);
}

body.psc-theme.staff-side #content.psc_appearance .psc-right-control{
  min-width:0;
}

/* descrizione “testo + matita” */
body.psc-theme.staff-side #content.psc_appearance .psc-right-desc{
  display:flex;
  align-items:center;
  gap:10px;
}

body.psc-theme.staff-side #content.psc_appearance .psc-right-desc-text{
  flex:1 1 auto;
  color: var(--text-primary, #111827);
  border-bottom: 1px solid color-mix(in srgb, var(--border-default) 60%, transparent);
  padding: 6px 0;
}

body.psc-theme.staff-side #content.psc_appearance .psc-right-desc-edit{
  width:32px;
  height:32px;
  border-radius:10px;
  border: 1px solid var(--border-default, #e5e7eb);
  background:#fff;
  cursor:pointer;
}

body.psc-theme.staff-side #content.psc_appearance .psc-right-desc-textarea{
  display:none; /* se non vuoi edit inline, elimina tutto il blocco descrizione “testo+matita” e lascia textarea normale */
}

/* link row: radio + select allineati */
body.psc-theme.staff-side #content.psc_appearance .psc-right-linkrow{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap: wrap;
}

body.psc-theme.staff-side #content.psc_appearance .psc-right-dest{
  flex: 1 1 420px;
  min-width: 260px;
}

body.psc-theme.staff-side #content.psc_appearance .psc-right-dest .psc-input-text,
body.psc-theme.staff-side #content.psc_appearance .psc-right-dest select{
  width:100%;
}

body.psc-theme.staff-side #content.psc_appearance .psc-home-right-add
{
  margin-top: 20px !important;
}
/* CONTATTI: layout tabellare */
.psc-home-contacts .psc-home-contact-row{
  display: grid;
  grid-template-columns: 44px 1.2fr 1fr 1.2fr 1fr 1.4fr 90px;
  gap: 12px;
  align-items: center;
  padding: 10px 0;
  border-top: 1px solid var(--color-divider);
}

.psc-home-contacts .psc-home-contact-row:first-child{
  border-top: 0;
}

/* header */
.psc-home-contacts .psc-home-contact-header{
  padding: 12px 0;
  font-weight: 600;
  color: var(--color-neutral-700);
}

/* celle */
.psc-home-contact-col-actions{
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

/* bottoni icona azioni */
.psc-home-contact-col-actions button.psc-home-contact-remove{
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 6px;
  line-height: 1;
}

/* input compatti in tabella */
.psc-home-contacts .psc-input-text{
  width: 100%;
}
body.psc-theme.staff-side #content.psc_appearance .psc-home-contact-add
{
  margin-top: 20px !important;
}
body.psc-theme.staff-side .psc-home-contact-remove
{
  padding: 0% !important;
}

.psc-form-actions {
    display: flex;
    gap: 8px;              /* spazio tra i bottoni */
    align-items: center;   /* allineamento verticale */
}




.psc-card-icon-svg {
  display: block;
  color: var(--psc-icon-default-color); /* o il token PSC */
}

.psc-card-icon-svg * {
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* =========================================================
PSC - FINE PAGINA ASPETTO
========================================================= */

