/* ============================================================
   ARCHIVISTICA — Foglio stile principale
   Stile: Istituzionale (blu/grigio, tipografia elegante)
   ============================================================ */

/* ── Variabili CSS ──────────────────────────────────────────── */
:root {
  --arx-primary:       #1a3a6b;
  --arx-primary-light: #2a5298;
  --arx-primary-dark:  #0f2244;
  --arx-secondary:     #4a6fa5;
  --arx-accent:        #c9a84c;
  --arx-accent-light:  #e8c96a;
  --arx-bg:            #f4f4f0;
  --arx-bg-card:       #ffffff;
  --arx-bg-sidebar:    #f0f0ec;
  --arx-text:          #2c2c2c;
  --arx-text-light:    #6b6b6b;
  --arx-text-muted:    #999;
  --arx-border:        #d0d0c8;
  --arx-border-light:  #e8e8e4;
  --arx-success:       #2d6a4f;
  --arx-warning:       #b5651d;
  --arx-danger:        #8b0000;
  --arx-info:          #1a5c8b;
  --arx-font-serif:    'Source Serif 4', Georgia, 'Times New Roman', serif;
  --arx-font-sans:     'Source Sans 3', 'Helvetica Neue', Arial, sans-serif;
  --arx-font-mono:     'Courier New', monospace;
  --arx-shadow-sm:     0 1px 3px rgba(0,0,0,0.10);
  --arx-shadow:        0 2px 8px rgba(0,0,0,0.12);
  --arx-shadow-lg:     0 4px 20px rgba(0,0,0,0.16);
  --arx-radius:        4px;
  --arx-radius-lg:     8px;
  --arx-transition:    0.2s ease;
  --arx-max-width:     1280px;
  --arx-col-gap:       24px;
}

/* ── Reset & Base ───────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { font-size: 16px; scroll-behavior: smooth; }

body {
  font-family: var(--arx-font-sans);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--arx-text);
  background: var(--arx-bg);
  min-height: 100vh;
}

a { color: var(--arx-primary); text-decoration: none; transition: color var(--arx-transition); }
a:hover { color: var(--arx-accent); }

img { max-width: 100%; height: auto; display: block; }

h1,h2,h3,h4,h5,h6 {
  font-family: var(--arx-font-serif);
  color: var(--arx-primary-dark);
  line-height: 1.3;
}

/* ── Layout ─────────────────────────────────────────────────── */
.arx-site-wrap { min-height: calc(100vh - 80px); }

.arx-container {
  max-width: var(--arx-max-width);
  margin: 0 auto;
  padding: 0 24px;
}
.arx-container--wide { max-width: 1440px; }
.arx-container--narrow { max-width: 860px; }

.arx-main { padding: 32px 0 64px; }

/* ── Header ─────────────────────────────────────────────────── */
.arx-header {
  background: var(--arx-primary);
  color: #fff;
  box-shadow: var(--arx-shadow);
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 3px solid var(--arx-accent);
}
.arx-header__inner {
  max-width: var(--arx-max-width);
  margin: 0 auto;
  padding: 0 24px;
  height: 64px;
  display: flex;
  align-items: center;
  gap: 24px;
}
.arx-header__brand { flex-shrink: 0; }
.arx-header__logo {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  text-decoration: none;
}
.arx-header__logo-icon { font-size: 1.8rem; }
.arx-header__logo-text { display: flex; flex-direction: column; line-height: 1.2; }
.arx-header__logo-text strong { font-family: var(--arx-font-serif); font-size: 1.1rem; letter-spacing: 0.02em; }
.arx-header__logo-text small { font-size: 0.68rem; color: rgba(255,255,255,0.65); text-transform: uppercase; letter-spacing: 0.08em; }

/* Nav */
.arx-nav { flex: 1; }
.arx-nav__list { display: flex; list-style: none; gap: 4px; }
.arx-nav__list a {
  display: block;
  padding: 6px 14px;
  color: rgba(255,255,255,0.85);
  font-size: 0.88rem;
  font-weight: 500;
  border-radius: var(--arx-radius);
  transition: background var(--arx-transition), color var(--arx-transition);
}
.arx-nav__list a:hover, .arx-nav__list .current-menu-item a {
  background: rgba(255,255,255,0.15);
  color: #fff;
}

/* User menu */
.arx-header__user { flex-shrink: 0; }
.arx-user-menu { position: relative; }
.arx-user-menu__trigger {
  display: flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 24px;
  padding: 5px 12px 5px 5px;
  cursor: pointer;
  color: #fff;
  font-size: 0.85rem;
  transition: background var(--arx-transition);
}
.arx-user-menu__trigger:hover { background: rgba(255,255,255,0.22); }
.arx-user-menu__avatar { border-radius: 50%; width: 28px; height: 28px; object-fit: cover; }
.arx-user-menu__arrow { opacity: 0.7; transition: transform var(--arx-transition); }
.arx-user-menu.is-open .arx-user-menu__arrow { transform: rotate(180deg); }
.arx-user-menu__dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  background: #fff;
  border-radius: var(--arx-radius-lg);
  box-shadow: var(--arx-shadow-lg);
  min-width: 200px;
  overflow: hidden;
  border: 1px solid var(--arx-border);
}
.arx-user-menu.is-open .arx-user-menu__dropdown { display: block; }
.arx-user-menu__dropdown a {
  display: block;
  padding: 10px 16px;
  font-size: 0.88rem;
  color: var(--arx-text);
  border-bottom: 1px solid var(--arx-border-light);
  transition: background var(--arx-transition);
}
.arx-user-menu__dropdown a:hover { background: var(--arx-bg); }
.arx-user-menu__logout { color: var(--arx-danger) !important; }

/* Burger mobile */
.arx-header__burger {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  margin-left: auto;
}
.arx-header__burger span {
  display: block; width: 22px; height: 2px;
  background: rgba(255,255,255,0.8);
  border-radius: 2px;
  transition: all 0.3s;
}

/* ── Badges ─────────────────────────────────────────────────── */
.arx-badge {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 0.72rem; font-weight: 600;
  padding: 2px 8px; border-radius: 20px;
  text-transform: uppercase; letter-spacing: 0.06em;
}
.arx-badge--immagine   { background: #dce8f8; color: #1a3a6b; }
.arx-badge--hotspot    { background: #ede0f5; color: #6b3a8a; }
.arx-badge--cartolina  { background: #f5eadc; color: #8b5a2b; }
.arx-badge--video      { background: #f5dcdc; color: #8b0000; }
.arx-badge--audio      { background: #dcf5e8; color: #1a6b3a; }
.arx-badge--pdf        { background: #f5eddc; color: #b5651d; }
.arx-badge--geografico { background: #dcf5f2; color: #1a6b5a; }
.arx-badge--responsabile { background: #1a3a6b; color: #fff; }
.arx-badge--editore      { background: #2d6a4f; color: #fff; }
.arx-badge--revisore     { background: #b5651d; color: #fff; }

/* Revision badges */
.arx-badge-rev { display:inline-block; font-size:0.72rem; padding:2px 8px; border-radius:12px; font-weight:600; }
.arx-badge-rev--approvato         { background:#dcf5e8; color:#1a6b3a; }
.arx-badge-rev--richiede_modifiche{ background:#f5eddc; color:#b5651d; }
.arx-badge-rev--in_corso          { background:#dce8f8; color:#1a3a6b; }
.arx-badge-rev--respinto          { background:#f5dcdc; color:#8b0000; }
.arx-badge-rev--nessuno           { background:#f0f0ec; color:#999; }

/* ── Buttons ─────────────────────────────────────────────────── */
.arx-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 9px 20px;
  border-radius: var(--arx-radius);
  font-family: var(--arx-font-sans);
  font-size: 0.88rem; font-weight: 600;
  cursor: pointer; border: none;
  text-decoration: none;
  transition: all var(--arx-transition);
  white-space: nowrap;
}
.arx-btn--primary   { background: var(--arx-primary); color: #fff; }
.arx-btn--primary:hover { background: var(--arx-primary-light); color: #fff; }
.arx-btn--secondary { background: transparent; color: var(--arx-primary); border: 2px solid var(--arx-primary); }
.arx-btn--secondary:hover { background: var(--arx-primary); color: #fff; }
.arx-btn--ghost     { background: rgba(0,0,0,0.05); color: var(--arx-text); }
.arx-btn--ghost:hover { background: rgba(0,0,0,0.1); }
.arx-btn--warning   { background: var(--arx-warning); color: #fff; }
.arx-btn--sm   { padding: 5px 14px; font-size: 0.82rem; }
.arx-btn--xs   { padding: 3px 10px; font-size: 0.78rem; }
.arx-btn--lg   { padding: 13px 32px; font-size: 1rem; }

/* ── Hero ────────────────────────────────────────────────────── */
.arx-hero {
  background: linear-gradient(135deg, var(--arx-primary-dark) 0%, var(--arx-primary) 60%, var(--arx-primary-light) 100%);
  color: #fff;
  padding: 80px 24px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.arx-hero::before {
  content:'';
  position:absolute; inset:0;
  background: repeating-linear-gradient(45deg, rgba(255,255,255,0.02) 0px, rgba(255,255,255,0.02) 1px, transparent 1px, transparent 12px);
}
.arx-hero__content { position: relative; max-width: 700px; margin: 0 auto; }
.arx-hero__title   { font-size: clamp(2rem,4vw,3.2rem); color: #fff; margin-bottom: 12px; }
.arx-hero__subtitle { font-size: 1.1rem; color: rgba(255,255,255,0.8); margin-bottom: 28px; }
.arx-hero__stats {
  display: flex; justify-content: center; gap: 32px;
  margin-bottom: 32px;
  font-size: 0.9rem; color: rgba(255,255,255,0.75);
}
.arx-hero__stats strong { color: var(--arx-accent); font-size: 1.4rem; display: block; }

/* ── Section ─────────────────────────────────────────────────── */
.arx-section { padding: 48px 24px; }
.arx-section__title {
  font-size: 1.6rem;
  color: var(--arx-primary);
  margin-bottom: 28px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--arx-accent);
  display: inline-block;
}

/* ── Type grid (home) ───────────────────────────────────────── */
.arx-type-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 16px;
}
.arx-type-card {
  display: flex; flex-direction: column; align-items: center;
  padding: 28px 16px;
  background: var(--arx-bg-card);
  border-radius: var(--arx-radius-lg);
  border: 2px solid var(--arx-border);
  text-align: center;
  color: var(--arx-text);
  transition: all var(--arx-transition);
  box-shadow: var(--arx-shadow-sm);
}
.arx-type-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--arx-shadow-lg);
  border-color: var(--arx-accent);
  color: var(--arx-text);
}
.arx-type-card__icon   { font-size: 2.4rem; margin-bottom: 10px; }
.arx-type-card__label  { font-weight: 700; font-size: 0.9rem; color: var(--arx-primary); margin-bottom: 6px; }
.arx-type-card__desc   { font-size: 0.78rem; color: var(--arx-text-light); margin-bottom: 10px; }
.arx-type-card__count  { font-size: 0.72rem; color: var(--arx-text-muted); background: var(--arx-bg); padding: 2px 8px; border-radius: 12px; }

/* ── Doc card grid ───────────────────────────────────────────── */
.arx-docs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 20px;
}
.arx-doc-card {
  background: var(--arx-bg-card);
  border-radius: var(--arx-radius-lg);
  overflow: hidden;
  box-shadow: var(--arx-shadow-sm);
  border: 1px solid var(--arx-border);
  transition: all var(--arx-transition);
  border-top: 3px solid var(--type-color, var(--arx-primary));
}
.arx-doc-card:hover { box-shadow: var(--arx-shadow-lg); transform: translateY(-2px); }
.arx-doc-card__link { display: block; color: inherit; text-decoration: none; }
.arx-doc-card__thumb { position: relative; width:100%; height:auto; aspect-ratio:1/1; overflow: hidden; background: var(--arx-bg-sidebar); }
.arx-doc-card__thumb img { width: 100%; height: 100%; object-fit: contain; transition: transform 0.4s; }
.arx-doc-card:hover .arx-doc-card__thumb img { transform: scale(1.04); }
.arx-doc-card__type-badge {
  position:absolute; top:8px; right:auto; left:8px;
  color:#5a5045; background:transparent;
  border:0; border-radius:0; width:auto; height:auto; padding:0;
  display: flex; align-items: center; justify-content: center;
  line-height:0; pointer-events:none;
}
.arx-doc-card__body { padding: 16px; }
.arx-doc-card__num  { font-size: 0.7rem; color: var(--arx-text-muted); text-transform: uppercase; letter-spacing: 0.08em; }
.arx-doc-card__title { font-size: 1rem; margin: 4px 0; color: var(--arx-primary-dark); line-height: 1.35; }
.arx-doc-card__date  { font-size: 0.78rem; color: var(--arx-text-light); }
.arx-doc-card__excerpt { font-size: 0.82rem; color: var(--arx-text-light); margin-top: 6px; }

/* ── Breadcrumb ──────────────────────────────────────────────── */
.arx-breadcrumb {
  font-size: 0.82rem;
  color: var(--arx-text-light);
  margin-bottom: 24px;
  padding: 10px 0;
  border-bottom: 1px solid var(--arx-border-light);
}
.arx-breadcrumb a { color: var(--arx-secondary); }
.arx-breadcrumb a:hover { color: var(--arx-primary); }

/* ── Single doc ──────────────────────────────────────────────── */
.arx-doc { background: var(--arx-bg-card); border-radius: var(--arx-radius-lg); padding: 32px; box-shadow: var(--arx-shadow-sm); }
.arx-doc__layout { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.arx-doc__header { margin-bottom: 20px; }
.arx-doc__header-full { margin-bottom: 28px; padding-bottom: 20px; border-bottom: 1px solid var(--arx-border-light); }
.arx-doc__title { font-size: clamp(1.4rem,3vw,2rem); margin: 10px 0 4px; color: var(--arx-primary-dark); }
.arx-doc__num   { font-size: 0.8rem; color: var(--arx-text-muted); }
.arx-doc__img   { display:block; width:100%; max-width:100%; height:auto; margin-inline:auto; object-fit:contain; object-position:center; border-radius:var(--arx-radius); box-shadow:var(--arx-shadow); cursor:zoom-in; }
.arx-doc__img-placeholder {
  background: var(--arx-bg-sidebar); border-radius: var(--arx-radius);
  aspect-ratio: 4/3;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  font-size: 3rem; color: var(--arx-text-muted); gap: 8px;
}
.arx-doc__media-actions { display: flex; gap: 10px; margin-top: 14px; }
.arx-front-back-pair { display:grid; grid-template-columns:1fr 1fr; gap:14px; align-items:start; }
.arx-front-back-pair__side { position:relative; min-width:0; margin:0; padding:8px; background:#f1efeb; border:1px solid var(--arx-border-light); border-radius:var(--arx-radius); }
.arx-front-back-pair__side > span { display:inline-block; margin:0 0 7px; color:#7f171c; font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.arx-front-back-pair__side .arx-doc__img { width:100%; height:auto; max-height:520px; object-fit:contain; background:#e7e3dd; box-shadow:none; }
.arx-front-back-pair__side figcaption { padding:7px 2px 0; color:var(--arx-text-muted); font-size:.68rem; }
@media (max-width:680px) { .arx-front-back-pair { grid-template-columns:1fr; } }
.arx-doc__excerpt { background: var(--arx-bg-sidebar); border-left: 3px solid var(--arx-accent); padding: 14px 16px; border-radius: 0 var(--arx-radius) var(--arx-radius) 0; margin-bottom: 20px; font-style: italic; }
.arx-doc__content { margin-top: 24px; }
.arx-doc__content h3 { font-size: 1.1rem; margin-bottom: 10px; color: var(--arx-primary); }
.arx-doc__terms { margin-top: 14px; font-size: 0.85rem; color: var(--arx-text-light); }
.arx-doc__terms-label { font-weight: 600; }
.arx-doc__section { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--arx-border-light); }
.arx-doc__section h3 { font-size: 1rem; margin-bottom: 10px; color: var(--arx-primary); }
.arx-doc__quote { border-left: 3px solid var(--arx-accent); padding: 12px 16px; font-style: italic; color: var(--arx-text); background: var(--arx-bg-sidebar); border-radius: 0 var(--arx-radius) var(--arx-radius) 0; }

/* Scheda metadati */
.arx-scheda { display: flex; flex-direction: column; gap: 0; }
.arx-scheda__row { display: grid; grid-template-columns: 160px 1fr; gap: 8px 16px; padding: 9px 0; border-bottom: 1px solid var(--arx-border-light); font-size: 0.88rem; }
.arx-scheda__row:last-child { border-bottom: none; }
.arx-scheda__row dt { color: var(--arx-text-light); font-weight: 500; }
.arx-scheda__row dd { color: var(--arx-text); font-weight: 400; }
.arx-scheda--horizontal .arx-scheda__row { grid-template-columns: 180px 1fr; }

/* Revisione badge */
.arx-revisione-badge { margin-top: 20px; padding: 8px 14px; border-radius: var(--arx-radius); font-size: 0.82rem; font-weight: 600; display: inline-block; }
.arx-revisione-badge--approvato          { background: #dcf5e8; color: #1a6b3a; }
.arx-revisione-badge--richiede_modifiche { background: #f5eddc; color: #b5651d; }
.arx-revisione-badge--respinto           { background: #f5dcdc; color: #8b0000; }

/* ── Hotspot ─────────────────────────────────────────────────── */
.arx-hotspot-wrap { margin-bottom: 32px; }
.arx-hotspot-container {
  position: relative; display: inline-block;
  max-width: 100%;
  border-radius: var(--arx-radius-lg);
  overflow: hidden;
  box-shadow: var(--arx-shadow-lg);
}
.arx-hotspot-image { display: block; width: 100%; max-height: 600px; object-fit: contain; }
.arx-hotspot-pin {
  position: absolute;
  transform: translate(-50%, -50%);
  z-index: 10;
  cursor: pointer;
}
.arx-hotspot-pin__dot {
  display: flex; align-items: center; justify-content: center;
  width: 30px; height: 30px;
  background: var(--arx-accent);
  border: 3px solid #fff;
  border-radius: 50%;
  font-size: 0.72rem; font-weight: 700; color: #fff;
  box-shadow: var(--arx-shadow);
  transition: transform var(--arx-transition);
  animation: arx-pulse 2s infinite;
}
.arx-hotspot-pin:hover .arx-hotspot-pin__dot { transform: scale(1.2); }
.arx-hotspot-pin__tooltip {
  display: none;
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%; transform: translateX(-50%);
  background: var(--arx-primary-dark);
  color: #fff;
  padding: 8px 12px;
  border-radius: var(--arx-radius);
  font-size: 0.8rem;
  min-width: 160px;
  box-shadow: var(--arx-shadow-lg);
  z-index: 20;
}
.arx-hotspot-pin__tooltip::after {
  content: '';
  position: absolute;
  top: 100%; left: 50%; transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: var(--arx-primary-dark);
}
.arx-hotspot-pin.is-active .arx-hotspot-pin__tooltip { display: block; }
.arx-hotspot-pin__tooltip strong { display: block; margin-bottom: 3px; }
.arx-hotspot-pin__tooltip p { opacity: 0.85; font-size: 0.76rem; margin: 0; }

@keyframes arx-pulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(201,168,76,0.5); }
  50%      { box-shadow: 0 0 0 8px rgba(201,168,76,0); }
}

.arx-hotspot-legenda { margin-top: 24px; padding: 20px; background: var(--arx-bg-sidebar); border-radius: var(--arx-radius-lg); }
.arx-hotspot-legenda h3 { font-size: 1rem; margin-bottom: 14px; color: var(--arx-primary); }
.arx-hotspot-legenda__list { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.arx-hotspot-legenda__item {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 10px 14px;
  background: var(--arx-bg-card);
  border-radius: var(--arx-radius);
  cursor: pointer;
  transition: background var(--arx-transition);
}
.arx-hotspot-legenda__item:hover { background: #e8f0fb; }
.arx-hotspot-legenda__num {
  flex-shrink: 0;
  width: 26px; height: 26px;
  background: var(--arx-accent);
  border-radius: 50%;
  color: #fff; font-size: 0.75rem; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}

/* ── Cartolina Flip ──────────────────────────────────────────── */
.arx-cartolina-wrap { text-align: center; margin-bottom: 36px; }
.arx-cartolina-flip {
  display: inline-block;
  perspective: 1200px;
  width: min(500px, 100%);
  aspect-ratio: 3/2;
  margin-bottom: 16px;
}
.arx-cartolina-flip__inner {
  position: relative; width: 100%; height: 100%;
  transition: transform 0.7s cubic-bezier(0.4,0,0.2,1);
  transform-style: preserve-3d;
}
.arx-cartolina-flip.is-flipped .arx-cartolina-flip__inner { transform: rotateY(180deg); }
.arx-cartolina-flip__front,
.arx-cartolina-flip__back {
  position: absolute; inset: 0;
  backface-visibility: hidden;
  border-radius: var(--arx-radius-lg);
  overflow: hidden;
  box-shadow: var(--arx-shadow-lg);
}
.arx-cartolina-flip__front img,
.arx-cartolina-flip__back img { width: 100%; height: 100%; object-fit: cover; }
.arx-cartolina-flip__back { transform: rotateY(180deg); background: #f9f7f0; }
.arx-cartolina-flip__label {
  position: absolute; bottom: 8px; right: 10px;
  font-size: 0.65rem; letter-spacing: 0.12em;
  color: rgba(0,0,0,0.4); font-weight: 700;
}
.arx-cartolina-retro-layout {
  display: grid; grid-template-columns: 1fr 1fr;
  height: 100%; padding: 20px; gap: 16px;
  align-content: center;
}
.arx-cartolina-testo {
  font-family: var(--arx-font-serif); font-size: 0.85rem;
  color: var(--arx-text); border: none; padding: 0;
  font-style: italic; line-height: 1.7;
}
.arx-cartolina-retro-layout__addr {
  border-left: 1px solid var(--arx-border);
  padding-left: 16px;
  display: flex; align-items: center;
  font-size: 0.88rem; font-family: var(--arx-font-serif);
}

/* ── Video / Audio ───────────────────────────────────────────── */
.arx-video-wrap { margin-bottom: 32px; }

/* Testata compatta della scheda video, direttamente sopra il player. */
.arx-single--video .arx-breadcrumb {
  margin-bottom: 12px;
  padding-block: 7px;
}
.arx-single--video .arx-doc { padding-top: 18px; }
.arx-single--video .arx-video-heading {
  display: grid;
  grid-template-columns: minmax(92px, 1fr) minmax(0, 4fr) minmax(46px, 1fr);
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
  padding-bottom: 12px;
}
.arx-single--video .arx-video-heading__type { justify-self: start; }
.arx-single--video .arx-video-heading__type .arx-badge--video {
  border: 1px solid #d5d3cf;
  background: #f0efec;
  color: #68645f;
}
.arx-single--video .arx-video-heading .arx-doc__title {
  margin: 0;
  font-size: clamp(1.05rem, 2.25vw, 1.7rem);
  line-height: 1.15;
  text-align: center;
  overflow-wrap: anywhere;
}
.arx-single--video .arx-video-heading__favorite { justify-self: end; }
.arx-single--video .arx-video-heading__favorite .arx-favorite-toggle {
  width: 42px;
  height: 42px;
  border: 0;
  background: #111;
}
.arx-single--video .arx-video-wrap { margin-bottom: 20px; }
@media (max-width: 680px) {
  .arx-single--video .arx-doc { padding: 14px; }
  .arx-single--video .arx-video-heading {
    grid-template-columns: 58px minmax(0, 1fr) 42px;
    gap: 8px;
    margin-bottom: 10px;
    padding-bottom: 10px;
  }
  .arx-single--video .arx-video-heading .arx-badge { padding-inline: 7px; font-size: 0; }
  .arx-single--video .arx-video-heading .arx-badge .arx-icon { margin: 0; }
  .arx-single--video .arx-video-heading .arx-doc__title { font-size: clamp(.9rem, 4.4vw, 1.2rem); }
  .arx-single--video .arx-video-heading__favorite .arx-favorite-toggle { width: 38px; height: 38px; }
}
.arx-video-embed { aspect-ratio: 16/9; }
.arx-video-embed iframe { width: 100%; height: 100%; border: none; border-radius: var(--arx-radius-lg); }
.arx-video-player { width: 100%; border-radius: var(--arx-radius-lg); box-shadow: var(--arx-shadow); }

.arx-audio-wrap { background: var(--arx-primary); color: #fff; border-radius: var(--arx-radius-lg); padding: 24px 28px; margin-bottom: 28px; }
.arx-audio-player { width: 100%; margin-bottom: 12px; accent-color: var(--arx-accent); }
.arx-audio-info { display: flex; gap: 12px; font-size: 0.82rem; color: rgba(255,255,255,0.7); }
.arx-audio-cover { margin-bottom: 20px; }
.arx-audio-cover__img { width: 200px; border-radius: var(--arx-radius-lg); box-shadow: var(--arx-shadow); }
.arx-trascrizione { background: var(--arx-bg-sidebar); padding: 16px; border-radius: var(--arx-radius); font-size: 0.88rem; line-height: 1.7; font-family: var(--arx-font-serif); }

/* ── PDF ─────────────────────────────────────────────────────── */
.arx-doc__layout .arx-pdf-viewer-col { min-width: 0; }
.arx-pdf-actions { display: flex; gap: 10px; margin-bottom: 14px; }
.arx-pdf-embed { background: var(--arx-bg-sidebar); border-radius: var(--arx-radius-lg); overflow: hidden; border: 1px solid var(--arx-border); }
.arx-pdf-iframe { width: 100%; height: 600px; border: none; display: block; }
.arx-pdf-info-col { }

/* ── Mappa ───────────────────────────────────────────────────── */
.arx-map-container {
  width: 100%; height: 450px;
  border-radius: var(--arx-radius-lg);
  overflow: hidden;
  box-shadow: var(--arx-shadow-lg);
  margin-bottom: 32px;
  border: 1px solid var(--arx-border);
}

/* ── Archive header ──────────────────────────────────────────── */
.arx-archive-header { margin-bottom: 32px; padding-bottom: 20px; border-bottom: 2px solid var(--arx-accent); }
.arx-archive-header__title { font-size: clamp(1.6rem,3vw,2.4rem); color: var(--arx-primary); }

/* ── Dashboard ───────────────────────────────────────────────── */
.arx-dashboard__header {
  display: flex; justify-content: space-between; align-items: flex-start;
  margin-bottom: 28px;
  padding-bottom: 20px;
  border-bottom: 2px solid var(--arx-border);
}
.arx-dashboard__title  { font-size: 1.8rem; color: var(--arx-primary); }
.arx-dashboard__subtitle { color: var(--arx-text-light); margin-top: 4px; }
.arx-dashboard__header-actions { display: flex; gap: 10px; flex-shrink: 0; }

/* KPI grid */
.arx-kpi-grid { display: grid; grid-template-columns: 1fr repeat(7,1fr); gap: 12px; margin-bottom: 32px; }
.arx-kpi-grid--sm { grid-template-columns: repeat(4,1fr); }
.arx-kpi {
  background: var(--arx-bg-card);
  border-radius: var(--arx-radius-lg);
  padding: 16px;
  text-align: center;
  box-shadow: var(--arx-shadow-sm);
  border: 1px solid var(--arx-border);
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  text-decoration: none; color: inherit;
  transition: all var(--arx-transition);
}
.arx-kpi:hover { box-shadow: var(--arx-shadow); transform: translateY(-2px); }
.arx-kpi__icon { font-size: 1.4rem; }
.arx-kpi__num  { font-size: 1.8rem; font-weight: 700; color: var(--arx-primary); font-family: var(--arx-font-serif); }
.arx-kpi__label{ font-size: 0.72rem; color: var(--arx-text-light); text-transform: uppercase; letter-spacing: 0.06em; }
.arx-kpi--total { border-top: 3px solid var(--arx-accent); }
.arx-kpi--pending   .arx-kpi__num { color: var(--arx-warning); }
.arx-kpi--approvato .arx-kpi__num { color: var(--arx-success); }
.arx-kpi--modifiche .arx-kpi__num { color: var(--arx-warning); }
.arx-kpi--respinto  .arx-kpi__num { color: var(--arx-danger); }

/* Dashboard layout */
.arx-dashboard__cols { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
.arx-dashboard__section {
  background: var(--arx-bg-card);
  border-radius: var(--arx-radius-lg);
  padding: 24px;
  margin-bottom: 20px;
  box-shadow: var(--arx-shadow-sm);
  border: 1px solid var(--arx-border);
}
.arx-dashboard__section h2 { font-size: 1.05rem; color: var(--arx-primary); margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid var(--arx-border-light); }
.arx-dashboard__section--alert { border-left: 3px solid var(--arx-warning); }

/* Quick actions */
.arx-quick-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.arx-quick-btn {
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  padding: 12px 16px; min-width: 80px;
  background: var(--arx-bg-sidebar); border: 1px solid var(--arx-border);
  border-radius: var(--arx-radius-lg);
  color: var(--arx-text); font-size: 0.78rem;
  text-decoration: none;
  transition: all var(--arx-transition);
}
.arx-quick-btn span { font-size: 1.6rem; }
.arx-quick-btn:hover { background: var(--arx-primary); color: #fff; border-color: var(--arx-primary); }

/* Table */
.arx-table { width: 100%; border-collapse: collapse; font-size: 0.85rem; }
.arx-table th { text-align: left; padding: 10px 12px; background: var(--arx-bg-sidebar); color: var(--arx-text-light); font-weight: 600; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.05em; border-bottom: 2px solid var(--arx-border); }
.arx-table td { padding: 10px 12px; border-bottom: 1px solid var(--arx-border-light); vertical-align: middle; }
.arx-table tr:hover td { background: var(--arx-bg-sidebar); }
.arx-table__actions { display: flex; gap: 6px; }

/* List */
.arx-list { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.arx-list li { display: flex; align-items: center; gap: 8px; font-size: 0.88rem; padding: 8px; background: var(--arx-bg-sidebar); border-radius: var(--arx-radius); }
.arx-list__actions { margin-left: auto; display: flex; gap: 6px; }
.arx-list--compact li { padding: 6px; background: none; border-bottom: 1px solid var(--arx-border-light); border-radius: 0; }
.arx-list--compact li:last-child { border-bottom: none; }

/* Users panel */
.arx-users-panel__group { margin-bottom: 16px; }
.arx-users-panel__group h4 { font-size: 0.82rem; color: var(--arx-text-light); text-transform: uppercase; margin-bottom: 8px; }
.arx-users-panel__group ul { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.arx-users-panel__group li { display: flex; align-items: center; gap: 8px; font-size: 0.85rem; }
.arx-avatar-sm { border-radius: 50%; width: 24px; height: 24px; object-fit: cover; }
.arx-link-sm { font-size: 0.8rem; }

/* Dashboard responsabile: involucro operativo minimale. */
body.arx-dashboard-shell { min-height:100vh; margin:0; background:#fff; color:#111; }
.arx-dashboard-minimal-head { display:flex; align-items:center; min-height:92px; padding:20px clamp(22px,4vw,64px); border-bottom:1px solid #dedede; background:#fff; }
.arx-dashboard-minimal-head a { display:inline-flex; }
.arx-dashboard-minimal-head img { display:block; width:min(250px,46vw); height:52px; object-fit:contain; object-position:left center; }
.arx-dashboard-shell .arx-main.arx-dashboard { padding:34px 0 64px; background:#fff; }
.arx-dashboard-shell .arx-dashboard__header { margin-bottom:24px; padding-bottom:18px; border-bottom:1px solid #cfcfcf; }
.arx-dashboard-shell .arx-dashboard__title { margin:0; color:#111; font:700 clamp(1.55rem,2.4vw,2.15rem)/1.1 var(--arx-font-serif); }
.arx-dashboard-shell .arx-dashboard__subtitle { color:#626262; }
.arx-dashboard-shell .arx-btn { border-color:#111; border-radius:7px; box-shadow:none; }
.arx-dashboard-shell .arx-btn--primary { background:#111; color:#fff; }
.arx-dashboard-shell .arx-btn--secondary { background:#fff; color:#111; }
.arx-dashboard-shell .arx-kpi-grid { gap:10px; margin-bottom:24px; }
.arx-dashboard-shell .arx-kpi { min-height:108px; padding:14px 10px; border:1px solid #d7d7d7; border-radius:9px; background:#fff; box-shadow:none; }
.arx-dashboard-shell .arx-kpi--total { border-top:1px solid #d7d7d7; }
.arx-dashboard-shell .arx-kpi:hover { border-color:#111; box-shadow:none; transform:none; }
.arx-dashboard-shell .arx-kpi__icon { display:inline-flex; color:#111; }
.arx-dashboard-shell .arx-kpi__num { color:#111; font-family:inherit; }
.arx-dashboard-shell .arx-kpi__label { color:#626262; }
.arx-dashboard-shell .arx-dashboard__cols { gap:18px; }
.arx-dashboard-shell .arx-dashboard__section { margin-bottom:18px; padding:20px; border:1px solid #d7d7d7; border-radius:10px; background:#fff; box-shadow:none; }
.arx-dashboard-shell .arx-dashboard__section h2 { margin:0 0 14px; padding:0 0 10px; border-bottom:1px solid #dedede; color:#111; font-size:1rem; }
.arx-dashboard-shell .arx-dashboard__section--alert { border-left:3px solid #111; }
.arx-dashboard-shell .arx-quick-actions { gap:8px; }
.arx-dashboard-shell .arx-quick-btn { min-width:88px; padding:12px; border:1px solid #d7d7d7; border-radius:8px; background:#fff; color:#111; }
.arx-dashboard-shell .arx-quick-btn span { display:inline-flex; color:#111; font-size:1rem; }
.arx-dashboard-shell .arx-quick-btn:hover { border-color:#111; background:#111; color:#fff; }
.arx-dashboard-shell .arx-quick-btn:hover span { color:#fff; }
.arx-dashboard-shell .arx-table th { background:#f5f5f5; color:#555; border-color:#ccc; }
.arx-dashboard-shell .arx-table td { border-color:#e3e3e3; }
.arx-dashboard-shell .arx-table tr:hover td,
.arx-dashboard-shell .arx-list li { background:#f7f7f7; }
.arx-dashboard-shell .arx-users-panel__group h4 { color:#555; }

@media (max-width:680px) {
    .arx-dashboard-minimal-head { min-height:74px; padding:14px 18px; }
    .arx-dashboard-minimal-head img { height:42px; }
    .arx-dashboard-shell .arx-main.arx-dashboard { padding-top:22px; }
}

@media (min-width:681px) {
    .arx-dashboard-shell .arx-container--wide { width:100%; max-width:none; padding-left:clamp(22px,3vw,52px); padding-right:clamp(22px,3vw,52px); }
}
.arx-dashboard-shell .arx-dashboard__overview-row { display:grid; grid-template-columns:220px minmax(0,1fr); align-items:stretch; gap:10px; margin-bottom:24px; }
.arx-dashboard-shell .arx-dashboard__overview-row .arx-kpi-grid { grid-column:2; grid-row:1; width:100%; min-width:0; margin-bottom:0; overflow-x:auto; }
.arx-dashboard-shell .arx-dashboard__section--quick { grid-column:1; grid-row:1; width:220px; height:58px; min-height:58px; margin:0; padding:0; overflow:hidden; }
.arx-dashboard-quick-open { display:flex; width:100%; height:100%; min-height:58px; align-items:center; justify-content:center; gap:8px; padding:10px; border:0; background:#111; color:#fff; font-size:.72rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; cursor:pointer; }
.arx-dashboard-quick-open .arx-icon { color:#fff; }
.arx-dashboard-shell .arx-dashboard__overview-row .arx-kpi { box-sizing:border-box; flex:1 0 160px; width:auto; min-width:160px; height:58px; min-height:58px; padding-inline:14px; gap:9px; }
.arx-dashboard-quick-modal[hidden] { display:none; }
.arx-dashboard-quick-modal { position:fixed; z-index:100210; inset:0; display:grid; place-items:center; padding:22px; }
.arx-dashboard-quick-modal__backdrop { position:absolute; inset:0; width:100%; height:100%; padding:0; border:0; background:rgba(0,0,0,.62); cursor:pointer; }
.arx-dashboard-quick-modal__panel { position:relative; z-index:1; width:min(720px,100%); overflow:hidden; border:1px solid #111; border-radius:12px; background:#fff; box-shadow:0 24px 70px rgba(0,0,0,.32); }
.arx-dashboard-quick-modal__panel > header { display:flex; min-height:62px; align-items:center; justify-content:space-between; padding:10px 12px 10px 22px; border-bottom:1px solid #d5d5d5; }
.arx-dashboard-quick-modal__panel h2 { margin:0; font-size:1.25rem; }
.arx-dashboard-quick-modal__close { display:grid; width:36px; height:36px; padding:0; place-items:center; border:1px solid #111; border-radius:50%; background:#fff; color:#111; font-size:1.5rem; cursor:pointer; }
.arx-dashboard-quick-modal__grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; padding:22px; }
.arx-dashboard-quick-modal__grid .arx-quick-btn { min-width:0; min-height:92px; justify-content:center; }
.arx-dashboard-quick-modal__grid button.arx-quick-btn { width:100%; border:1px solid #d7d7d7; background:#fff; cursor:pointer; }
.arx-dashboard-quick-modal__grid button.arx-quick-btn[disabled] { opacity:.45; cursor:not-allowed; }
.arx-dashboard-quick-modal__grid .arx-quick-btn small { display:block; color:#666; font-size:.65rem; font-weight:500; }
.arx-dashboard-quick-modal__grid .arx-quick-btn em { color:#777; font-size:.58rem; font-style:normal; text-transform:uppercase; }
.arx-editor-upload-modal[hidden] { display:none; }
.arx-editor-upload-modal { position:fixed; z-index:100500; inset:0; display:grid; padding:20px; place-items:center; }
.arx-editor-upload-modal__backdrop { position:absolute; inset:0; width:100%; height:100%; border:0; background:rgba(0,0,0,.66); }
.arx-editor-upload-modal__panel { position:relative; z-index:1; width:min(760px,100%); max-height:calc(100vh - 40px); overflow:auto; border:1px solid #111; border-radius:12px; background:#fff; box-shadow:0 24px 70px rgba(0,0,0,.35); }
.arx-editor-upload-modal__panel > header { display:flex; min-height:68px; align-items:center; justify-content:space-between; padding:12px 14px 12px 22px; border-bottom:1px solid #ddd; }
.arx-editor-upload-modal__panel header small { color:#666; font-size:.64rem; font-weight:800; text-transform:uppercase; }
.arx-editor-upload-modal__panel h2 { margin:2px 0 0; font-size:1.25rem; }
.arx-editor-upload-modal__close { display:grid; width:36px; height:36px; place-items:center; border:1px solid #111; border-radius:50%; background:#fff; font-size:1.4rem; cursor:pointer; }
.arx-editor-upload-modal__body { display:grid; gap:18px; padding:22px; }
.arx-editor-upload-modal__fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.arx-editor-upload-modal label { display:grid; gap:6px; color:#333; font-size:.7rem; font-weight:800; text-transform:uppercase; }
.arx-editor-upload-modal input[type="text"],.arx-editor-upload-modal input[type="file"],.arx-editor-upload-modal textarea { width:100%; min-height:42px; padding:9px 10px; border:1px solid #aaa; border-radius:7px; background:#fff; color:#111; font:500 .82rem/1.35 sans-serif; text-transform:none; }
.arx-editor-upload-modal__files { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:16px; border:1px solid #ccc; border-radius:8px; background:#f7f7f4; }
.arx-editor-upload-modal__hint { margin:0; color:#666; font-size:.68rem; }
.arx-editor-upload-modal footer { display:flex; align-items:center; justify-content:flex-end; gap:9px; padding:14px 22px; border-top:1px solid #ddd; }
.arx-editor-upload-modal__status { margin-right:auto; color:#555; font-size:.72rem; }
body.arx-editor-upload-open { overflow:hidden; }
@media(max-width:620px){.arx-editor-upload-modal{padding:8px}.arx-editor-upload-modal__panel{max-height:calc(100vh - 16px)}.arx-editor-upload-modal__fields,.arx-editor-upload-modal__files{grid-template-columns:1fr}.arx-editor-upload-modal footer{align-items:stretch;flex-direction:column}.arx-editor-upload-modal__status{margin:0}}
.arx-editor-manage-modal[hidden] { display:none; }
.arx-editor-manage-modal { position:fixed; z-index:100520; inset:0; display:grid; padding:20px; place-items:center; }
.arx-editor-manage-modal__backdrop { position:absolute; inset:0; width:100%; height:100%; border:0; background:rgba(0,0,0,.66); }
.arx-editor-manage-modal__panel { position:relative; z-index:1; display:grid; width:min(980px,100%); height:min(900px,calc(100vh - 40px)); max-height:calc(100vh - 40px); grid-template-rows:auto minmax(0,1fr); overflow:hidden; border:1px solid #111; border-radius:12px; background:#fff; box-shadow:0 24px 70px rgba(0,0,0,.35); }
.arx-editor-manage-modal__panel--state { width:min(580px,100%); }
.arx-editor-manage-modal__panel > header { display:flex; min-height:68px; align-items:center; justify-content:space-between; padding:12px 14px 12px 22px; border-bottom:1px solid #ddd; }
.arx-editor-manage-modal__panel header small { color:#666; font-size:.64rem; font-weight:800; text-transform:uppercase; }
.arx-editor-manage-modal__panel h2 { margin:2px 0 0; font-size:1.25rem; }
.arx-editor-manage-modal__close { display:grid; width:36px; height:36px; place-items:center; border:1px solid #111; border-radius:50%; background:#fff; font-size:1.4rem; cursor:pointer; }
.arx-editor-manage-modal__panel > form { display:grid; min-height:0; grid-template-rows:minmax(0,1fr) auto; }
.arx-editor-manage-modal__body { display:grid; min-height:0; gap:18px; padding:22px; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.arx-editor-manage-modal label { display:grid; gap:6px; color:#333; font-size:.7rem; font-weight:800; text-transform:uppercase; }
.arx-editor-manage-modal input[type="text"],.arx-editor-manage-modal textarea { width:100%; min-height:42px; padding:9px 10px; border:1px solid #aaa; border-radius:7px; font:500 .82rem/1.35 sans-serif; text-transform:none; }
.arx-editor-manage-modal footer { position:relative; z-index:2; display:flex; min-height:66px; align-items:center; justify-content:flex-end; gap:9px; padding:14px 22px; border-top:1px solid #ddd; background:#fff; box-shadow:0 -8px 18px rgba(0,0,0,.04); }
.arx-editor-manage-modal__status { margin-right:auto; color:#555; font-size:.72rem; }
.arx-editor-sheet-components { padding:14px; border:1px solid #ccc; border-radius:8px; background:#f7f7f4; }
.arx-editor-sheet-previews { display:flex; min-height:278px; flex:none; align-items:stretch; gap:12px; overflow-x:auto; padding:14px; border:1px solid #ccc; border-radius:9px; background:#111; }
.arx-editor-sheet-previews figure { flex:0 0 min(280px,72vw); margin:0; overflow:hidden; border-radius:7px; background:#fff; }
.arx-editor-sheet-previews img { display:block; width:100%; height:220px; object-fit:contain; background:#e9e9e5; }
.arx-editor-sheet-previews figcaption { padding:8px 10px; color:#333; font-size:.68rem; font-weight:800; text-transform:uppercase; }
.arx-editor-sheet-previews > p { margin:auto; padding:34px; color:#ddd; }
.arx-editor-sheet-components ul { margin:9px 0 0; padding-left:18px; color:#555; font-size:.74rem; }
.arx-editor-state-resource { margin:0; font-weight:800; }
.arx-editor-state-choice { display:grid; gap:4px; padding:16px; border:1px solid #111; border-radius:8px; background:#111; color:#fff; }
.arx-editor-state-choice span { color:#ddd; font-size:.72rem; }
.arx-table__actions button[disabled] { opacity:.45; cursor:not-allowed; }
.arx-editor-resource-thumb .arx-editor-thumb-open { display:grid; width:64px; height:48px; margin-inline:auto; padding:0; place-items:center; overflow:hidden; border:1px solid #ccc; border-radius:6px; background:#f1f1ed; cursor:pointer; }
.arx-editor-resource-thumb .arx-editor-thumb-open:hover,.arx-editor-resource-thumb .arx-editor-thumb-open:focus-visible { border-color:#111; outline:2px solid #111; outline-offset:2px; }
.arx-editor-resource-thumb img,.arx-editor-resource-thumb .arx-editor-thumb-open > span { display:grid; width:100%; height:100%; place-items:center; overflow:hidden; background:#f1f1ed; }
.arx-editor-resource-thumb img { object-fit:cover; }
.arx-editor-resource-title strong,.arx-editor-resource-title small { display:block; }
.arx-editor-resource-title small { margin-top:4px; color:#666; font-size:.68rem; line-height:1.25; }
.arx-editor-resource-code strong,.arx-editor-resource-code small { display:block; }
.arx-editor-resource-code small { margin-top:4px; color:#777; font-size:.62rem; line-height:1.2; white-space:nowrap; }
.arx-dashboard--editore .arx-table__actions { display:table-cell; height:auto; vertical-align:middle; white-space:nowrap; }
.arx-dashboard--editore .arx-table__actions .arx-btn { display:inline-flex; margin:2px; vertical-align:middle; }
.arx-editor-catalog-section { margin:0; padding:0; border:1px solid #ccc; border-radius:9px; background:#fff; }
fieldset.arx-editor-catalog-section { padding:16px; }
.arx-editor-catalog-section legend { padding:0 7px; font-size:.76rem; font-weight:850; text-transform:uppercase; }
.arx-editor-catalog-section summary { padding:14px 16px; color:#111; font-size:.76rem; font-weight:850; cursor:pointer; text-transform:uppercase; }
.arx-editor-catalog-section[open] summary { border-bottom:1px solid #ddd; }
.arx-editor-catalog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:16px; background:#f7f7f4; }
.arx-editor-catalog-grid label:has(textarea) { grid-column:1 / -1; }
.arx-editor-people-section { padding-bottom:14px; }
.arx-editor-people-list { display:grid; gap:12px; padding:0 14px 14px; }
.arx-editor-person-row { position:relative; display:grid; grid-template-columns:80px repeat(2,minmax(0,1fr)); gap:10px; padding:14px 48px 14px 14px; border:1px solid #ccc; border-radius:8px; background:#f7f7f4; }
.arx-editor-person-row label { min-width:0; }
.arx-editor-person-row .arx-editor-person-note { grid-column:1 / -1; }
.arx-editor-person-remove { position:absolute; top:12px; right:12px; display:grid; width:28px; height:28px; place-items:center; border:1px solid #111; border-radius:50%; background:#fff; color:#111; font-size:1.1rem; cursor:pointer; }
.arx-editor-person-add { margin-left:14px; }
body.arx-editor-manage-open { overflow:hidden; }
@media(max-width:620px){.arx-editor-manage-modal{padding:10px}.arx-editor-manage-modal__panel{height:calc(100vh - 20px);max-height:calc(100vh - 20px)}.arx-editor-manage-modal__body{padding:16px}.arx-editor-manage-modal footer{min-height:0;align-items:stretch;flex-direction:column;padding:12px 16px}.arx-editor-manage-modal__status{margin:0}.arx-editor-catalog-grid{grid-template-columns:1fr}.arx-editor-catalog-grid label:has(textarea){grid-column:auto}.arx-editor-person-row{grid-template-columns:1fr;padding-right:44px}.arx-editor-person-row .arx-editor-person-note{grid-column:auto}}
@media (max-width:680px) {
    .arx-dashboard-shell .arx-dashboard__overview-row { grid-template-columns:140px minmax(0,1fr); }
    .arx-dashboard-shell .arx-dashboard__section--quick { width:140px; }
    .arx-dashboard-quick-open { flex-direction:column; gap:4px; font-size:.62rem; }
    .arx-dashboard-quick-modal__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (min-width:831px) {
    .arx-dashboard-shell .arx-dashboard__cols { grid-template-columns:minmax(0,1fr); gap:18px; }
    .arx-dashboard-shell .arx-dashboard__col { display:contents; }
    .arx-dashboard-shell .arx-dashboard__section--recent { grid-column:1 / -1; }
    .arx-dashboard-shell .arx-dashboard__section--alert { grid-column:1; }
    .arx-dashboard-shell .arx-dashboard__section--pending { grid-column:2; }
}
.arx-dashboard-shell .arx-dashboard__section--recent { min-width:0; overflow:auto; }
.arx-dashboard-resource-summary { padding:0; border:0; background:transparent; color:#111; font:700 inherit/1.3 inherit; text-align:left; cursor:pointer; }
.arx-dashboard-resource-summary:hover { text-decoration:underline; }
.arx-dashboard-resource-summary:focus-visible { outline:2px solid #111; outline-offset:3px; }
.arx-dashboard-resource-summary--thumb { display:grid; width:72px; height:54px; overflow:hidden; place-items:center; border:1px solid #d5d5d5; border-radius:6px; background:#f5f5f5; }
.arx-dashboard-resource-summary--thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.arx-dashboard-resource-summary--thumb span { display:inline-flex; color:#111; }
.arx-dashboard-resource-code { display:inline-block; padding:5px 7px; border:1px solid #ddd; border-radius:5px; background:#f7f7f7; color:#333; font:700 .7rem/1.15 ui-monospace,SFMono-Regular,Menlo,monospace; white-space:nowrap; }
.arx-dashboard-post-id { color:#555; font:700 .76rem/1 ui-monospace,SFMono-Regular,Menlo,monospace; }
.arx-dashboard-reviewed { display:inline-flex; align-items:center; gap:7px; font-size:.75rem; font-weight:800; }
.arx-dashboard-reviewed i { display:block; width:10px; height:10px; flex:0 0 10px; border-radius:50%; background:#c62828; box-shadow:0 0 0 3px rgba(198,40,40,.12); }
.arx-dashboard-reviewed--yes i { background:#218739; box-shadow:0 0 0 3px rgba(33,135,57,.13); }
.arx-dashboard-workflow-trigger { display:inline-flex; max-width:150px; min-height:34px; align-items:center; justify-content:center; gap:7px; padding:6px 9px; border:1px solid #aaa; border-radius:7px; background:#fff; color:#222; font-size:.7rem; font-weight:800; cursor:pointer; }
.arx-dashboard-workflow-trigger svg { width:18px; height:18px; flex:0 0 18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.arx-dashboard-workflow-trigger--attiva { border-color:#aaa; color:#444; background:#f5f5f2; }
.arx-dashboard-workflow-trigger--definitivo { border-color:#72a47d; color:#17652b; background:#f1f8f2; }
.arx-dashboard-workflow-trigger--componente_cartolina { background:#f1f1ef; color:#555; }
.arx-dashboard-workflow-trigger--possibile_duplicato { border-color:#d59a35; background:#fff7e8; color:#7c4b00; }
.arx-dashboard-workflow-trigger--archiviata { border-color:#7893ae; background:#edf4fa; color:#315b80; }
.arx-dashboard-workflow-trigger--cestinata { border-color:#c56b6b; background:#fff0f0; color:#982323; }
.arx-dashboard-workflow-modal[hidden] { display:none; }
.arx-dashboard-workflow-modal { position:fixed; z-index:100500; inset:0; display:grid; padding:18px; place-items:center; overscroll-behavior:contain; }
.arx-dashboard-workflow-modal__backdrop { position:absolute; inset:0; width:100%; height:100%; border:0; background:rgba(0,0,0,.62); }
.arx-dashboard-workflow-modal__panel { position:relative; z-index:1; width:min(560px,100%); max-height:calc(100vh - 36px); overflow:auto; overscroll-behavior:contain; border:1px solid #111; border-radius:12px; background:#fff; box-shadow:0 24px 70px rgba(0,0,0,.32); }
.arx-dashboard-workflow-modal__panel > header { display:flex; min-height:68px; align-items:center; justify-content:space-between; gap:18px; padding:12px 14px 12px 20px; border-bottom:1px solid #ddd; }
.arx-dashboard-workflow-modal__panel header small { color:#666; font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.arx-dashboard-workflow-modal__panel header h2 { margin:2px 0 0; font-size:1.25rem; }
.arx-dashboard-workflow-modal__close { display:grid; width:36px; height:36px; padding:0; place-items:center; border:1px solid #111; border-radius:50%; background:#fff; color:#111; font-size:1.45rem; cursor:pointer; }
.arx-dashboard-workflow-modal form { display:grid; gap:15px; padding:20px; }
.arx-dashboard-workflow-modal__resource { margin:0; padding:11px 13px; border-radius:7px; background:#f2f2ef; font-weight:800; }
.arx-dashboard-workflow-modal label { display:grid; gap:6px; }
.arx-dashboard-workflow-modal label > span { color:#555; font-size:.72rem; font-weight:800; text-transform:uppercase; }
.arx-dashboard-workflow-modal label > span small { font-size:inherit; font-weight:600; text-transform:none; }
.arx-dashboard-workflow-modal__datetime { padding:10px 11px; border:1px solid #d2d2d2; border-radius:7px; background:#f3f3f0; color:#222; font-weight:800; }
.arx-dashboard-workflow-modal select,.arx-dashboard-workflow-modal textarea { width:100%; padding:10px 11px; border:1px solid #aaa; border-radius:7px; background:#fff; color:#111; font:inherit; }
.arx-dashboard-workflow-options { min-width:0; margin:0; padding:0; border:0; }
.arx-dashboard-workflow-options legend { margin-bottom:7px; color:#555; font-size:.72rem; font-weight:800; text-transform:uppercase; }
.arx-dashboard-workflow-options > div { display:flex; flex-wrap:wrap; gap:7px; }
.arx-dashboard-workflow-options label { display:block; }
.arx-dashboard-workflow-options input { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.arx-dashboard-workflow-options label span { display:flex; min-height:38px; align-items:center; padding:8px 12px; border:1px solid #aaa; border-radius:7px; background:#fff; color:#222; font-size:.72rem; font-weight:800; text-transform:none; cursor:pointer; }
.arx-dashboard-workflow-options input:checked + span { border-color:#111; background:#111; color:#fff; }
.arx-dashboard-workflow-options input:focus-visible + span { outline:2px solid #111; outline-offset:2px; }
.arx-dashboard-workflow-modal__actor { margin:0; color:#555; font-size:.76rem; }
.arx-dashboard-workflow-modal textarea { resize:vertical; }
.arx-dashboard-workflow-modal__status { min-height:1em; margin:0; color:#555; font-size:.75rem; }
.arx-dashboard-workflow-modal footer { display:flex; justify-content:flex-end; gap:8px; }
.arx-dashboard-workflow-modal footer button { min-height:38px; padding:8px 15px; border:1px solid #111; border-radius:7px; background:#fff; color:#111; font-weight:800; cursor:pointer; }
.arx-dashboard-workflow-modal footer button[type="submit"] { background:#111; color:#fff; }
body.arx-dashboard-workflow-open { overflow:hidden; overscroll-behavior:none; }
.arx-dashboard-summary-modal__metadata dt:has(.arx-dashboard-geo-open) { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.arx-dashboard-geo-open { display:inline-grid; min-height:28px; grid-template-columns:16px auto; align-items:center; gap:5px; padding:4px 8px; border:1px solid #777; border-radius:999px; background:#fff; color:#222; font-size:.64rem; font-weight:800; cursor:pointer; text-transform:none; }
.arx-dashboard-geo-open svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.arx-dashboard-geo-modal[hidden] { display:none; }
.arx-dashboard-geo-modal { position:fixed; z-index:100600; inset:0; display:grid; padding:18px; place-items:center; overscroll-behavior:contain; }
.arx-dashboard-geo-modal__backdrop { position:absolute; inset:0; width:100%; height:100%; border:0; background:rgba(0,0,0,.68); }
.arx-dashboard-geo-modal__panel { position:relative; z-index:1; display:grid; width:min(1040px,100%); height:min(760px,calc(100vh - 36px)); grid-template-rows:auto minmax(0,1fr) auto; overflow:hidden; border:1px solid #111; border-radius:12px; background:#f7f7f4; box-shadow:0 24px 70px rgba(0,0,0,.35); }
.arx-dashboard-geo-modal__panel > header { display:flex; min-height:68px; align-items:center; justify-content:space-between; gap:18px; padding:12px 14px 12px 20px; border-bottom:1px solid #ccc; background:#fff; }
.arx-dashboard-geo-modal__panel header small { color:#666; font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.arx-dashboard-geo-modal__panel header h2 { margin:2px 0 0; font-size:1.2rem; }
.arx-dashboard-geo-modal__close { display:grid; width:36px; height:36px; padding:0; place-items:center; border:1px solid #111; border-radius:50%; background:#fff; color:#111; font-size:1.45rem; cursor:pointer; }
.arx-dashboard-geo-modal__map { min-height:380px; background:#e7e6e1; }
.arx-dashboard-geo-modal__panel > footer { display:flex; min-height:66px; align-items:center; justify-content:space-between; gap:14px; padding:10px 16px; border-top:1px solid #ccc; background:#fff; color:#555; font-size:.75rem; }
.arx-dashboard-geo-modal__panel > footer > div { display:flex; align-items:center; gap:9px; }
.arx-dashboard-geo-modal__coordinates { color:#111; font-variant-numeric:tabular-nums; }
.arx-dashboard-geo-modal__close-secondary { min-height:36px; padding:7px 14px; border:1px solid #111; border-radius:7px; background:#111; color:#fff; font-weight:800; cursor:pointer; }
.arx-dashboard-geo-modal__save { min-height:36px; padding:7px 14px; border:1px solid #111; border-radius:7px; background:#111; color:#fff; font-weight:800; cursor:pointer; }
.arx-dashboard-geo-modal__close-secondary { background:#fff; color:#111; }
.arx-dashboard-geo-modal .leaflet-control-layers { border:1px solid #222; border-radius:7px; box-shadow:0 4px 14px rgba(0,0,0,.18); }
body.arx-dashboard-geo-opened { overflow:hidden; overscroll-behavior:none; }
@media(max-width:620px){.arx-dashboard-geo-modal{padding:8px}.arx-dashboard-geo-modal__panel{height:calc(100vh - 16px)}.arx-dashboard-geo-modal__panel > footer{align-items:flex-start;flex-direction:column}.arx-dashboard-geo-modal__close-secondary{width:100%}}
.arx-scheda__geo-action { display:flex; justify-content:center; width:100%; margin-top:10px; }
.arx-public-geo-open { display:inline-grid; min-height:40px; max-width:100%; margin:0; box-sizing:border-box; grid-template-columns:17px minmax(0,1fr); align-items:center; gap:7px; padding:7px 12px; border:1px solid #777; border-radius:999px; background:#fff; color:#222; font-size:.75rem; line-height:1.35; font-weight:800; cursor:pointer; vertical-align:middle; white-space:normal; text-align:center; }
.arx-public-geo-open svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.arx-public-geo-modal[hidden] { display:none; }
.arx-public-geo-modal { position:fixed; z-index:100500; inset:0; display:grid; padding:18px; place-items:center; }
.arx-public-geo-modal__backdrop { position:absolute; inset:0; width:100%; height:100%; border:0; background:rgba(0,0,0,.7); }
.arx-public-geo-modal__panel { position:relative; z-index:1; display:grid; width:min(1000px,100%); height:min(730px,calc(100vh - 36px)); grid-template-rows:auto minmax(0,1fr) auto; overflow:hidden; border:1px solid #181818; border-radius:12px; background:#f6f5f1; box-shadow:0 24px 70px rgba(0,0,0,.38); }
.arx-public-geo-modal__panel > header { display:flex; min-height:68px; align-items:center; justify-content:space-between; gap:16px; padding:12px 14px 12px 20px; border-bottom:1px solid #ccc; background:#fff; }
.arx-public-geo-modal__panel header small { color:#666; font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.arx-public-geo-modal__panel header h2 { margin:2px 0 0; font-size:1.25rem; }
.arx-public-geo-modal__close { display:grid; width:38px; height:38px; padding:0; place-items:center; border:1px solid #111; border-radius:50%; background:#fff; color:#111; font-size:1.5rem; cursor:pointer; }
.arx-public-geo-modal__map { min-height:360px; background:#e8e7e2; }
.arx-public-geo-modal__panel > footer { display:flex; min-height:72px; align-items:center; justify-content:space-between; gap:18px; padding:11px 17px; border-top:1px solid #ccc; background:#fff; }
.arx-public-geo-modal__panel footer p { display:grid; gap:2px; margin:0; }
.arx-public-geo-modal__panel footer p span { color:#666; font-size:.76rem; }
.arx-public-geo-modal__close-secondary { min-height:38px; padding:8px 16px; border:1px solid #111; border-radius:7px; background:#111; color:#fff; font-weight:800; cursor:pointer; }
body.arx-public-geo-opened { overflow:hidden; overscroll-behavior:none; }
@media(max-width:620px){.arx-public-geo-modal{padding:8px}.arx-public-geo-modal__panel{height:calc(100vh - 16px)}.arx-public-geo-modal__panel > footer{align-items:flex-start;flex-direction:column}.arx-public-geo-modal__close-secondary{width:100%}}
.arx-dashboard__section--recent .arx-table th,
.arx-dashboard__section--recent .arx-table td { vertical-align:middle; text-align:center; }
.arx-dashboard__section--recent .arx-dashboard-resource-summary--thumb { margin-inline:auto; }
.arx-dashboard__section--recent .arx-dashboard-resource-summary:not(.arx-dashboard-resource-summary--thumb) { width:100%; text-align:center; }
.arx-dashboard__section--recent .arx-dashboard-reviewed { justify-content:center; }
.arx-dashboard__recent-tools { display:flex; align-items:center; justify-content:flex-end; gap:14px; }
.arx-dashboard-resource-search { display:flex; align-items:center; gap:6px; }
.arx-dashboard-resource-search input { width:190px; min-height:34px; padding:6px 10px; border:1px solid #bbb; border-radius:6px; background:#fff; color:#111; font-size:.75rem; }
.arx-dashboard-resource-search button,
.arx-dashboard-resource-search a { display:grid; min-height:34px; padding:6px 11px; place-items:center; border:1px solid #111; border-radius:6px; background:#111; color:#fff; font-size:.7rem; font-weight:800; text-decoration:none; cursor:pointer; }
.arx-dashboard-resource-search a { background:#fff; color:#111; }
.arx-dashboard-resource-views { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 15px; }
.arx-dashboard-resource-views a { display:flex; min-height:36px; align-items:center; padding:7px 12px; border:1px solid #bbb; border-radius:999px; background:#fff; color:#333; font-size:.72rem; font-weight:800; text-decoration:none; }
.arx-dashboard-resource-views a.is-active { border-color:#111; background:#111; color:#fff; }
.arx-dashboard-composite-controls { display:flex; align-items:center; gap:7px; }
.arx-dashboard-composite-controls button { min-height:34px; padding:6px 12px; border:1px solid #111; border-radius:6px; background:#fff; color:#111; font-size:.7rem; font-weight:800; cursor:pointer; }
.arx-dashboard-composite-controls .arx-composite-wizard-open { background:#111; color:#fff; }
.arx-dashboard-composite-controls button[hidden] { display:none; }
.arx-dashboard-composite-hidden-select { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip:rect(0 0 0 0) !important; clip-path:inset(50%) !important; }
.arx-dashboard__section--recent.is-picking-front .arx-dashboard-composite-row:has(.arx-composite-data) { cursor:url('../img/cursor-face-f.svg') 4 3, crosshair; }
.arx-dashboard__section--recent.is-picking-back .arx-dashboard-composite-row:has(.arx-composite-data) { cursor:url('../img/cursor-face-r.svg') 4 3, crosshair; }
.arx-dashboard__section--recent .arx-dashboard-composite-row.is-front { background:#edf7ef !important; box-shadow:inset 4px 0 #218739; }
.arx-dashboard__section--recent .arx-dashboard-composite-row.is-back { background:#f2f1fa !important; box-shadow:inset 4px 0 #57449a; }
.arx-dashboard-composite-root .arx-composite-dialog { position:fixed; inset:0; width:min(900px,calc(100vw - 48px)); max-height:calc(100vh - 48px); margin:auto; border:1px solid #111; border-radius:12px; color:#111; background:#fff; box-shadow:0 24px 70px rgba(0,0,0,.32); }
.arx-dashboard-composite-root .arx-composite-dialog__shell { overflow:hidden; border-radius:12px; background:#fff; }
.arx-dashboard-composite-root .arx-composite-dialog__shell > header { min-height:66px; padding:10px 12px 10px 20px; border-bottom:1px solid #d5d5d5; color:#111; background:#fff; }
.arx-dashboard-composite-root .arx-composite-dialog__shell > header small { color:#666; }
.arx-dashboard-composite-root .arx-composite-dialog__shell > header h2 { color:#111; font-size:1.25rem; }
.arx-dashboard-composite-root .arx-composite-dialog .arx-composite-close[aria-label="Chiudi"] { display:grid; width:36px; height:36px; padding:0; place-items:center; border:1px solid #111; border-radius:50%; background:#fff; color:#111; font-size:1.5rem; }
.arx-dashboard-composite-root .arx-composite-check-step { grid-template-columns:1fr 1fr; gap:16px; padding:20px; background:#f7f7f4; }
.arx-dashboard-composite-root .arx-composite-merge-rule { grid-column:1 / -1; display:grid; gap:4px; padding:12px 14px; border:1px solid #e1c3d3; border-radius:8px; background:#fff2f8; font-size:.78rem; }
.arx-dashboard-composite-root .arx-composite-merge-rule strong { font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; }
.arx-dashboard-composite-root .arx-composite-check-face { position:relative; padding:14px; border:1px solid #d4d4cf; border-radius:9px; background:#fff; }
.arx-dashboard-composite-root .arx-composite-check-face > b { position:absolute; z-index:2; top:24px; left:24px; }
.arx-dashboard-composite-root .arx-composite-check-face img { height:180px; border-radius:6px; background:#efefeb; object-fit:contain; }
.arx-dashboard-composite-root .arx-composite-check-face h3 { font-size:1rem; }
.arx-dashboard-composite-root .arx-composite-sheet-fields { margin:10px 0 0; border-top:1px solid #ddd; }
.arx-dashboard-composite-root .arx-composite-sheet-fields div { display:grid; grid-template-columns:105px minmax(0,1fr); gap:9px; padding:7px 0; border-bottom:1px solid #e4e4e4; }
.arx-dashboard-composite-root .arx-composite-sheet-fields dt { color:#666; font-size:.62rem; font-weight:800; text-transform:uppercase; }
.arx-dashboard-composite-root .arx-composite-sheet-fields dd { margin:0; font-size:.72rem; overflow-wrap:anywhere; }
.arx-dashboard-composite-root .arx-composite-sheet-empty { color:#777; font-size:.75rem; }
.arx-dashboard-composite-root .arx-composite-flip-preview { grid-column:1 / -1; display:grid; justify-items:center; gap:10px; padding:12px; border:1px solid #d4d4cf; border-radius:10px; background:#fff; }
.arx-dashboard-composite-root .arx-composite-flip-preview__stage { width:min(400px,100%); aspect-ratio:4 / 3; perspective:1400px; }
.arx-dashboard-composite-root .arx-composite-flip-preview__inner { position:relative; width:100%; height:100%; transition:transform .7s cubic-bezier(.2,.7,.2,1); transform-style:preserve-3d; }
.arx-dashboard-composite-root .arx-composite-flip-preview.is-flipped .arx-composite-flip-preview__inner { transform:rotateY(180deg); }
.arx-dashboard-composite-root .arx-composite-flip-preview__face { position:absolute; inset:0; display:grid; overflow:hidden; place-items:center; backface-visibility:hidden; border:1px solid #ccc; border-radius:8px; background:#efefeb; box-shadow:0 10px 28px rgba(0,0,0,.14); }
.arx-dashboard-composite-root .arx-composite-flip-preview__face img { width:100%; height:100%; object-fit:contain; }
.arx-dashboard-composite-root .arx-composite-flip-preview__face span { position:absolute; right:12px; bottom:12px; padding:6px 9px; border-radius:5px; background:rgba(0,0,0,.78); color:#fff; font-size:.68rem; font-weight:900; }
.arx-dashboard-composite-root .arx-composite-flip-preview__back { transform:rotateY(180deg); }
.arx-dashboard-composite-root .arx-composite-flip-toggle { min-width:190px; padding:9px 16px; border:1px solid #111; border-radius:999px; background:#111; color:#fff; font-weight:800; cursor:pointer; }
.arx-dashboard-composite-root .arx-composite-dialog__shell > footer { padding:12px 20px; background:#fff; }
.arx-dashboard-composite-root .arx-composite-dialog__shell > footer button { border-radius:7px; text-transform:none; }
@media (max-width:700px) { .arx-dashboard-composite-root .arx-composite-check-step { grid-template-columns:1fr; } }
.arx-dashboard-pagination { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; padding-top:20px; }
.arx-dashboard-pagination .page-numbers { display:grid; min-width:38px; min-height:38px; padding:7px 11px; place-items:center; border:1px solid #ccc; border-radius:7px; background:#fff; color:#111; text-decoration:none; }
.arx-dashboard-pagination .page-numbers.current { border-color:#111; background:#111; color:#fff; }
.arx-dashboard__recent-head { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:18px; margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid #dedede; }
.arx-dashboard-shell .arx-dashboard__recent-head h2 { margin:0; padding:0; border:0; }
.arx-dashboard-pagination--top { justify-content:flex-end; padding-top:0; }
.arx-dashboard-pagination--top .page-numbers { min-width:34px; min-height:34px; padding:5px 9px; }
@media (max-width:560px) {
    .arx-dashboard__recent-head { grid-template-columns:minmax(0,1fr) auto; gap:8px; }
    .arx-dashboard__recent-tools { flex-wrap:wrap; }
    .arx-dashboard-resource-search { width:100%; }
    .arx-dashboard-resource-search input { width:auto; min-width:0; flex:1; }
    .arx-dashboard-pagination--top .page-numbers:not(.current):not(.prev):not(.next) { display:none; }
}
.arx-dashboard-summary-modal[hidden] { display:none; }
.arx-dashboard-summary-modal { position:fixed; z-index:100200; inset:0; display:grid; place-items:center; padding:22px; }
.arx-dashboard-summary-modal__backdrop { position:absolute; inset:0; width:100%; height:100%; padding:0; border:0; background:rgba(0,0,0,.62); cursor:pointer; }
.arx-dashboard-summary-modal__panel { position:relative; z-index:1; display:flex; width:min(1100px,100%); max-height:calc(100vh - 44px); flex-direction:column; overflow:hidden; border:1px solid #111; border-radius:12px; background:#fff; box-shadow:0 24px 70px rgba(0,0,0,.32); }
.arx-dashboard-summary-modal__panel > header { display:flex; min-height:66px; align-items:center; justify-content:space-between; gap:22px; padding:10px 12px 10px 20px; border-bottom:1px solid #d5d5d5; }
.arx-dashboard-summary-modal__panel > header > strong { font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.arx-dashboard-summary-modal__head-data { display:flex; min-width:0; align-items:center; gap:18px; color:#333; font-size:.7rem; }
.arx-dashboard-summary-modal__head-data span { display:flex; min-width:0; gap:5px; white-space:nowrap; }
.arx-dashboard-summary-modal__head-data b { color:#777; font-size:.62rem; letter-spacing:.04em; text-transform:uppercase; }
.arx-dashboard-summary-modal__head-data i { overflow:hidden; font-style:normal; font-weight:700; text-overflow:ellipsis; }
.arx-dashboard-summary-modal__close { display:grid; width:36px; height:36px; padding:0; place-items:center; border:1px solid #111; border-radius:50%; background:#fff; color:#111; font-size:1.5rem; cursor:pointer; }
.arx-dashboard-summary-modal__header-actions { display:flex; align-items:center; gap:9px; }
.arx-dashboard-summary-modal__save { min-height:36px; padding:7px 18px; border:1px solid #111; border-radius:7px; background:#111; color:#fff; font-size:.75rem; font-weight:800; cursor:pointer; }
.arx-dashboard-summary-modal__save:disabled { opacity:.5; }
.arx-dashboard-summary-modal__save-status { color:#555; font-size:.7rem; }
.arx-dashboard-summary-modal__body { display:block; overflow-y:auto; padding:24px; overscroll-behavior:contain; }
.arx-dashboard-summary-modal__intro { padding-bottom:18px; border-bottom:1px solid #ddd; }
.arx-dashboard-summary-modal__media-row { display:grid; grid-template-columns:minmax(280px,440px) minmax(220px,1fr); align-items:start; gap:28px; padding:24px 0; border-bottom:1px solid #ddd; }
.arx-dashboard-summary-modal__preview { position:relative; width:100%; aspect-ratio:1; margin:0; overflow:hidden; border:1px solid #ddd; border-radius:8px; background:#f4f4f4; }
.arx-dashboard-summary-modal__preview[hidden] { display:none; }
.arx-dashboard-summary-modal__preview img { display:block; width:100%; height:100%; object-fit:contain; }
.arx-dashboard-summary-modal__preview--video { aspect-ratio:16 / 9; background:#111; }
.arx-dashboard-summary-modal__preview--video video { display:block; width:100%; height:100%; object-fit:contain; }
.arx-dashboard-summary-modal__preview--pdf { height:min(66vh,620px); aspect-ratio:auto; background:#e8e8e8; }
.arx-dashboard-summary-modal__preview--pdf iframe { display:block; width:100%; height:100%; border:0; background:#fff; }
.arx-dashboard-summary-modal__preview--postcard { display:grid; height:auto; aspect-ratio:auto; place-items:center; gap:10px; overflow:visible; border:0; background:transparent; perspective:1400px; }
.arx-dashboard-summary-postcard { position:relative; width:100%; aspect-ratio:1; perspective:1400px; }
.arx-dashboard-summary-postcard__inner { position:relative; width:100%; height:100%; transition:transform .7s cubic-bezier(.2,.7,.2,1); transform-style:preserve-3d; }
.arx-dashboard-summary-postcard.is-flipped .arx-dashboard-summary-postcard__inner { transform:rotateY(180deg); }
.arx-dashboard-summary-postcard__face { position:absolute; inset:0; display:grid; overflow:hidden; place-items:center; backface-visibility:hidden; border-radius:8px; background:#f1f1ee; }
.arx-dashboard-summary-postcard__face > img { position:absolute; inset:0; display:block; width:100% !important; height:100% !important; max-width:none; max-height:none; object-fit:contain !important; object-position:center; }
.arx-dashboard-summary-postcard__back { transform:rotateY(180deg); }
.arx-dashboard-summary-postcard__face span { position:absolute; right:10px; bottom:10px; padding:5px 8px; border-radius:5px; background:rgba(0,0,0,.75); color:#fff; font-size:.65rem; font-weight:900; }
.arx-dashboard-summary-postcard__toggle { position:absolute; z-index:3; bottom:12px; left:12px; min-width:170px; padding:9px 14px; border:1px solid #fff; border-radius:999px; background:rgba(0,0,0,.82); color:#fff; font-size:.72rem; font-weight:800; cursor:pointer; }
.arx-dashboard-summary-postcard__thumbs { display:grid; width:100%; grid-template-columns:1fr 1fr; gap:10px; }
.arx-dashboard-summary-postcard__thumbs button { display:grid; grid-template-columns:58px 1fr; min-width:0; align-items:center; gap:9px; padding:6px; border:1px solid #ccc; border-radius:7px; background:#fff; color:#111; text-align:left; cursor:pointer; }
.arx-dashboard-summary-postcard__thumbs button.is-active { border-color:#111; box-shadow:inset 0 0 0 1px #111; }
.arx-dashboard-summary-postcard__thumbs img { display:block; width:58px; height:44px; border-radius:4px; background:#eee; object-fit:contain; }
.arx-dashboard-summary-postcard__thumbs span { font-size:.72rem; font-weight:800; text-transform:uppercase; }
.arx-dashboard-summary-media-zoom { position:absolute; z-index:5; top:12px; right:12px; display:grid; width:38px; height:38px; padding:0; place-items:center; border:1px solid #222; border-radius:50%; background:rgba(255,255,255,.94); color:#222; cursor:pointer; box-shadow:0 3px 12px rgba(0,0,0,.16); }
.arx-dashboard-summary-media-zoom svg { display:block; width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.arx-dashboard-summary-modal__preview.is-zoomed { position:fixed; z-index:100400; inset:24px; width:auto; height:auto; max-width:none; aspect-ratio:auto; margin:0; padding:18px; border:1px solid #111; border-radius:12px; background:rgba(20,20,20,.97); }
.arx-dashboard-summary-modal__preview--image.is-zoomed > img { width:100%; height:100%; object-fit:contain; }
.arx-dashboard-summary-modal__preview--postcard.is-zoomed { grid-template-rows:minmax(0,1fr) auto; }
.arx-dashboard-summary-modal__preview--postcard.is-zoomed .arx-dashboard-summary-postcard { width:min(70vh,82vw,700px); height:auto; aspect-ratio:1; }
.arx-dashboard-summary-modal__preview--postcard.is-zoomed .arx-dashboard-summary-postcard__thumbs { width:min(620px,90vw); }
.arx-dashboard-summary-modal__type { margin:0 0 6px; color:#666; font-size:.73rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.arx-dashboard-summary-modal__body h2 { margin:0; color:#111; font-size:1.55rem; line-height:1.15; }
.arx-dashboard-summary-modal__title-row { display:grid; grid-template-columns:minmax(0,1fr) 68px; align-items:center; gap:12px; }
.arx-dashboard-summary-modal__title-row .arx-dashboard-summary-modal__field-controls { grid-column:2; justify-self:end; }
.arx-dashboard-summary-modal__body dl { margin:0; border-top:1px solid #ddd; }
.arx-dashboard-summary-modal__body dl div { display:grid; grid-template-columns:100px 1fr; gap:12px; padding:11px 0; border-bottom:1px solid #ddd; }
.arx-dashboard-summary-modal__body dt { color:#666; font-size:.76rem; font-weight:800; text-transform:uppercase; }
.arx-dashboard-summary-modal__body dd { margin:0; }
.arx-dashboard-summary-modal__metadata { display:grid; grid-template-columns:1fr; margin-top:22px !important; padding:16px; border:1px solid #cfcfcf !important; border-radius:9px; background:#fafafa; }
.arx-dashboard-summary-modal__metadata > div { grid-template-columns:minmax(130px,160px) minmax(0,1fr) 68px !important; align-items:start; }
.arx-dashboard-summary-modal__metadata > div { min-width:0; }
.arx-dashboard-summary-modal__metadata dd { white-space:pre-line; overflow-wrap:anywhere; }
.arx-dashboard-summary-modal__actions { display:grid; grid-template-columns:1fr; align-self:start; gap:8px; }
.arx-dashboard-summary-modal__actions a { width:100%; padding:11px 14px; border:1px solid #111; border-radius:7px; background:#fff; color:#111; font-size:.76rem; font-weight:800; text-align:center; text-decoration:none; }
.arx-dashboard-summary-modal__actions a:last-child { background:#111; color:#fff; }
.arx-dashboard-summary-modal__side-card { display:flex; min-height:440px; flex-direction:column; padding:16px; border:1px solid #cfcfcf; border-radius:9px; background:#fafafa; }
.arx-dashboard-metadata-actions[hidden],.arx-dashboard-metadata-toggle[hidden] { display:none; }
.arx-dashboard-metadata-actions { position:absolute; z-index:7; bottom:12px; left:12px; display:flex; flex-wrap:wrap; gap:6px; }
.arx-dashboard-metadata-open,.arx-dashboard-metadata-toggle { display:grid; width:auto; min-height:32px; grid-template-columns:15px auto; align-items:center; gap:6px; margin:0; padding:6px 9px; border:1px solid #fff; border-radius:6px; background:rgba(17,17,17,.88); color:#fff; font-size:.62rem; font-weight:850; text-align:left; cursor:pointer; box-shadow:0 3px 12px rgba(0,0,0,.3); backdrop-filter:blur(5px); }
.arx-dashboard-metadata-toggle[aria-pressed="true"] { background:#fff; color:#111; border-color:#111; }
.arx-dashboard-metadata-open svg,.arx-dashboard-metadata-toggle svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.arx-dashboard-point-layer[hidden] { display:none; }.arx-dashboard-point-layer{position:absolute;z-index:6;inset:0;pointer-events:none}.arx-dashboard-point-marker{position:absolute;width:18px;height:18px;border:3px solid #fff;border-radius:50%;background:#d50000;box-shadow:0 2px 8px #0009;transform:translate(-50%,-50%)}.arx-dashboard-point-marker::after{content:attr(data-label);position:absolute;top:calc(100% + 7px);left:50%;width:max-content;max-width:180px;color:#d50000;font:900 12px/1.15 Arial,sans-serif;text-align:center;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,0 0 3px #fff;-webkit-text-stroke:.35px #fff;transform:translateX(-50%)}

.arx-metadata-tagger[hidden] { display:none; }
.arx-metadata-tagger { position:fixed; z-index:100900; inset:0; overflow:hidden; background:#171717; color:#fff; }
.arx-metadata-tagger__stage { position:absolute; inset:0; display:grid; overflow:hidden; place-items:center; background-color:#242424; background-image:linear-gradient(45deg,#2b2b2b 25%,transparent 25%),linear-gradient(-45deg,#2b2b2b 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#2b2b2b 75%),linear-gradient(-45deg,transparent 75%,#2b2b2b 75%); background-position:0 0,0 8px,8px -8px,-8px 0; background-size:16px 16px; cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='9' fill='white' fill-opacity='.88' stroke='%23111'/%3E%3Cpath d='M16 3v26M3 16h26' stroke='%23111' stroke-width='1.5'/%3E%3Cpath d='M12 16h8M16 12v8' stroke='%23d80000' stroke-width='2'/%3E%3C/svg%3E") 16 16,crosshair; touch-action:none; }
.arx-metadata-tagger__stage.is-panning { cursor:grab; }
.arx-metadata-tagger__stage.is-dragging { cursor:grabbing; }
.arx-metadata-tagger__canvas { position:relative; display:grid; width:calc(100vw - 52px); height:calc(100dvh - 52px); place-items:center; transform-origin:center; will-change:transform; }
.arx-metadata-tagger__image { display:block; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; box-shadow:0 12px 45px rgba(0,0,0,.5); user-select:none; -webkit-user-drag:none; }
.arx-metadata-tagger__identity { position:absolute; z-index:3; top:16px; left:16px; max-width:min(460px,calc(100vw - 170px)); padding:9px 13px; border:1px solid rgba(255,255,255,.28); border-radius:8px; background:rgba(12,12,12,.78); backdrop-filter:blur(8px); }
.arx-metadata-tagger__identity small { display:block; margin-bottom:2px; color:#bbb; font-size:.62rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.arx-metadata-tagger__identity h2 { overflow:hidden; margin:0; color:#fff; font-size:.88rem; text-overflow:ellipsis; white-space:nowrap; }
.arx-metadata-tagger__samples { position:absolute; z-index:3; top:82px; left:16px; width:min(270px,calc(100vw - 32px)); max-height:calc(100dvh - 180px); overflow:auto; padding:10px; border:1px solid rgba(255,255,255,.3); border-radius:8px; background:rgba(12,12,12,.8); backdrop-filter:blur(8px); }
.arx-metadata-tagger__samples-head { position:sticky; z-index:2; top:-10px; display:flex; align-items:center; justify-content:space-between; gap:10px; margin:-10px -10px 0; padding:9px 10px; background:#111; }
.arx-metadata-tagger__samples-head strong { display:flex; justify-content:space-between; gap:6px; font-size:.68rem; letter-spacing:.06em; text-transform:uppercase; }
.arx-metadata-tagger__save { min-height:28px; padding:5px 10px; border:1px solid #fff; border-radius:5px; background:#fff; color:#111; font-size:.63rem; font-weight:900; cursor:pointer; }
.arx-metadata-tagger__save-status { min-height:14px; margin:6px 0 0; color:#b8efb8; font-size:.58rem; line-height:1.2; }
.arx-metadata-tagger__samples ol { display:grid; gap:6px; margin:8px 0 0; padding:0; list-style:none; }
.arx-metadata-tagger__samples ol:empty { margin:0; }
.arx-metadata-tagger__samples li { display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; gap:7px; padding-top:7px; border-top:1px solid rgba(255,255,255,.18); }
.arx-metadata-tagger__samples li.is-moving { background:rgba(255,255,255,.12); }
.arx-metadata-tagger__samples li > span { display:grid; width:23px; height:23px; place-items:center; border:2px solid #fff; border-radius:50%; background:#d50000; color:#fff; font-size:.63rem; font-weight:900; }
.arx-metadata-tagger__samples b,.arx-metadata-tagger__samples em,.arx-metadata-tagger__samples small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.arx-metadata-tagger__samples b{font-size:.7rem}.arx-metadata-tagger__samples em{margin-top:1px;color:#ddd;font-size:.55rem;font-style:normal;text-transform:uppercase}.arx-metadata-tagger__samples small{margin-top:2px;color:#bbb;font:600 9px/1.2 ui-monospace,monospace}
.arx-metadata-point-text input { width:100%; min-width:0; padding:4px; border:1px solid #fff; border-radius:3px; background:#fff; color:#111; font-size:.68rem; }.arx-metadata-point-approve{margin-top:3px;border:1px solid #fff;border-radius:3px;background:#fff;color:#111;cursor:pointer}
.arx-metadata-point-actions { display:flex; gap:3px; }.arx-metadata-point-actions button{display:grid;width:23px;height:23px;padding:0;place-items:center;border:1px solid #aaa;border-radius:4px;background:transparent;color:#fff;font-size:.72rem;cursor:pointer}.arx-metadata-point-actions button:hover,.arx-metadata-point-actions button:focus-visible{background:#fff;color:#111}
.arx-metadata-tagger__marker { position:absolute; z-index:2; display:grid; width:18px; height:18px; padding:0; border:3px solid #fff; border-radius:50%; background:#d50000; box-shadow:0 2px 8px rgba(0,0,0,.65); transform:translate(-50%,-50%) scale(var(--arx-marker-scale,1)); transform-origin:center; cursor:pointer; }
.arx-metadata-tagger__marker::after { content:attr(data-label); position:absolute; top:calc(100% + 7px); left:50%; width:max-content; max-width:220px; color:#d50000; font:900 12px/1.15 Arial,sans-serif; letter-spacing:.01em; text-align:center; text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,0 0 3px #fff; -webkit-text-stroke:.35px #fff; transform:translateX(-50%); pointer-events:none; }
.arx-metadata-tagger__marker.is-move-enabled,.arx-metadata-tagger__marker.is-dragging { width:23px; height:23px; cursor:move; }
.arx-metadata-tagger__marker.is-pending { width:22px; height:22px; animation:arx-metadata-pulse .8s ease-in-out infinite alternate; }
@keyframes arx-metadata-pulse { to { box-shadow:0 0 0 7px rgba(213,0,0,.25),0 2px 8px rgba(0,0,0,.65); } }
.arx-metadata-tagger__toolbar { position:absolute; z-index:3; bottom:18px; left:50%; display:flex; align-items:center; gap:5px; padding:6px; border:1px solid rgba(255,255,255,.32); border-radius:11px; background:rgba(12,12,12,.82); box-shadow:0 8px 28px rgba(0,0,0,.32); transform:translateX(-50%); backdrop-filter:blur(8px); }
.arx-metadata-tagger__toolbar button,.arx-metadata-tagger__close { display:grid; width:38px; height:38px; padding:0; place-items:center; border:1px solid rgba(255,255,255,.5); border-radius:7px; background:transparent; color:#fff; cursor:pointer; }
.arx-metadata-tagger__toolbar button[aria-pressed="true"] { background:#fff; color:#111; }
.arx-metadata-tagger__toolbar svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.arx-metadata-tagger__zoom { min-width:48px; color:#fff; font:750 11px/1 ui-monospace,monospace; text-align:center; }
.arx-metadata-tagger__close { position:absolute; z-index:4; top:16px; right:16px; border-radius:50%; background:rgba(12,12,12,.78); font-size:1.45rem; }
.arx-metadata-tagger__coordinates { position:absolute; z-index:3; bottom:18px; left:18px; min-width:170px; padding:9px 11px; border:1px solid rgba(255,255,255,.34); border-radius:7px; background:rgba(12,12,12,.82); color:#fff; font:750 11px/1 ui-monospace,monospace; font-variant-numeric:tabular-nums; backdrop-filter:blur(8px); }
body.arx-metadata-tagger-open { overflow:hidden; overscroll-behavior:none; }
.arx-metadata-type-picker[hidden] { display:none; }
.arx-metadata-type-picker { position:absolute; z-index:6; inset:0; display:grid; padding:18px; place-items:center; background:rgba(0,0,0,.52); }
.arx-metadata-type-picker > div { width:min(440px,100%); padding:22px; border:1px solid #222; border-radius:12px; background:#f7f7f4; color:#111; box-shadow:0 24px 70px rgba(0,0,0,.45); }
.arx-metadata-type-picker small { color:#666; font-size:.65rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.arx-metadata-type-picker h3 { margin:4px 0 7px; font-size:1.2rem; }.arx-metadata-type-picker__point{margin:0 0 16px;color:#666;font:700 10px/1.2 ui-monospace,monospace}
.arx-metadata-type-picker__options { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.arx-metadata-type-picker__options button { display:grid; min-height:90px; place-items:center; gap:5px; padding:10px 6px; border:1px solid #333; border-radius:8px; background:#fff; color:#111; font-size:.72rem; font-weight:850; cursor:pointer; }
.arx-metadata-type-picker__options button:hover,.arx-metadata-type-picker__options button:focus-visible { background:#111; color:#fff; }
.arx-metadata-type-picker__options span { display:grid; width:30px; height:30px; place-items:center; border:1px solid currentColor; border-radius:50%; font-size:.72rem; }
.arx-metadata-type-picker__cancel { width:100%; margin-top:10px; padding:9px; border:0; background:transparent; color:#555; font-size:.7rem; font-weight:800; cursor:pointer; }
@media(max-width:680px){.arx-metadata-tagger__identity{top:10px;left:10px}.arx-metadata-tagger__close{top:10px;right:10px}.arx-metadata-tagger__coordinates{bottom:72px;left:50%;transform:translateX(-50%)}.arx-metadata-tagger__toolbar{bottom:12px}}
.arx-dashboard-summary-modal__key-fields { margin:0 !important; border-top:0 !important; }
.arx-dashboard-summary-modal__key-fields > div { position:relative; display:grid; grid-template-columns:minmax(88px,100px) minmax(0,1fr) 68px !important; gap:10px; align-items:start; padding:10px 0; border-bottom:1px solid #ddd; }
.arx-dashboard-summary-modal__key-fields > div:last-child { padding-bottom:0; border-bottom:0; }
.arx-dashboard-summary-modal__key-fields dt { color:#666; font-size:.7rem; font-weight:800; text-transform:uppercase; }
.arx-dashboard-summary-modal__key-fields dd { margin:0; overflow-wrap:anywhere; }
.arx-dashboard-summary-modal__edit-field { display:grid; width:28px; height:28px; padding:0; place-items:center; border:0; border-radius:5px; background:#e7e7e7; color:#111; font-size:1rem; cursor:pointer; }
.arx-dashboard-summary-modal__field-controls { grid-column:3; display:flex; justify-self:end; gap:5px; }
.arx-dashboard-summary-modal__field-controls button { display:grid; width:28px; height:28px; padding:0; place-items:center; border:0; border-radius:5px; color:#111; font-size:1rem; font-weight:900; cursor:pointer; }
.arx-dashboard-summary-modal__cancel-field { background:#eee; }
.arx-dashboard-summary-modal__approve-field { background:#dff0e3; }
.arx-dashboard-summary-modal__key-fields dt,
.arx-dashboard-summary-modal__metadata dt { grid-column:1; }
.arx-dashboard-summary-modal__key-fields dd,
.arx-dashboard-summary-modal__metadata dd { grid-column:2; min-width:0; }
.arx-dashboard-summary-modal__key-fields .arx-dashboard-summary-modal__edit-field,
.arx-dashboard-summary-modal__metadata .arx-dashboard-summary-modal__edit-field { justify-self:end; }
.arx-dashboard-summary-modal dd.is-editing { padding:5px 7px; outline:2px solid #111; border-radius:4px; background:#fff; }
.arx-dashboard-summary-modal dd.is-modified { padding:5px 7px; border-radius:4px; background:#ffe5f1; box-shadow:inset 3px 0 #c64d86; }
@media (max-width:760px) {
    .arx-dashboard-summary-modal__media-row { grid-template-columns:1fr; }
    .arx-dashboard-summary-modal__side-card { min-height:0; }
}
@media (max-width:1024px) {
    .arx-dashboard-summary-modal { padding:12px; }
    .arx-dashboard-summary-modal__panel { max-height:calc(100vh - 24px); }
    .arx-dashboard-summary-modal__media-row { grid-template-columns:1fr; gap:18px; padding-bottom:18px; }
    .arx-dashboard-summary-modal__preview,
    .arx-dashboard-summary-modal__side-card,
    .arx-dashboard-summary-modal__metadata { width:min(100%,540px); margin-inline:auto !important; }
    .arx-dashboard-summary-modal__metadata { margin-top:0 !important; }
    .arx-dashboard-summary-modal__side-card { min-height:0; }
}
@media (max-width:560px) {
    .arx-dashboard-summary-modal__body { padding:16px; }
    .arx-dashboard-summary-modal__panel > header { min-height:58px; padding-left:14px; }
    .arx-dashboard-summary-modal__header-actions { gap:6px; }
    .arx-dashboard-summary-modal__save { padding-inline:12px; }
    .arx-dashboard-summary-modal__metadata > div,
    .arx-dashboard-summary-modal__key-fields > div { grid-template-columns:minmax(82px,110px) minmax(0,1fr) 68px !important; }
}
.arx-dashboard-summary-modal__actions a:last-child { background:#111; color:#fff; }
body.arx-dashboard-summary-open { overflow:hidden; }
.arx-dashboard-unsaved-dialog[hidden] { display:none !important; }
.arx-dashboard-unsaved-dialog { position:fixed; z-index:100600; inset:0; display:grid; padding:16px; place-items:center; }
.arx-dashboard-unsaved-dialog__backdrop { position:absolute; inset:0; background:rgba(0,0,0,.62); }
.arx-dashboard-unsaved-dialog > section { position:relative; z-index:1; width:min(520px,100%); padding:24px; border:1px solid #111; border-radius:12px; background:#fff; box-shadow:0 24px 70px rgba(0,0,0,.35); }
.arx-dashboard-unsaved-dialog h2 { margin:0 0 8px; font-size:1.35rem; }
.arx-dashboard-unsaved-dialog p { margin:0 0 22px; color:#555; }
.arx-dashboard-unsaved-dialog section > div { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.arx-dashboard-unsaved-dialog button { padding:10px 14px; border:1px solid #111; border-radius:7px; background:#fff; color:#111; font-weight:800; cursor:pointer; }
.arx-dashboard-unsaved-dialog button[value="save"] { background:#111; color:#fff; }

/* Testata e riepilogo compatto della dashboard responsabile. */
.arx-dashboard-shell .arx-dashboard__header { display:grid; grid-template-columns:minmax(0,38%) minmax(0,62%); align-items:center; gap:28px; }
.arx-dashboard-shell .arx-dashboard__responsible { display:grid; grid-column:2; grid-row:1; justify-items:end; text-align:right; }
.arx-dashboard-shell .arx-dashboard__responsible .arx-dashboard__title { grid-row:1; }
.arx-dashboard-shell .arx-dashboard__responsible .arx-dashboard__subtitle { grid-row:2; }
.arx-dashboard-shell .arx-dashboard__logout { display:inline-flex; grid-row:3; min-height:30px; align-items:center; justify-content:center; margin-top:8px; padding:5px 12px; border:1px solid #111; border-radius:6px; background:#111; color:#fff; font-size:.66rem; font-weight:800; letter-spacing:.04em; text-decoration:none; text-transform:uppercase; }
.arx-dashboard-shell .arx-dashboard__logout:hover,
.arx-dashboard-shell .arx-dashboard__logout:focus-visible { background:#fff; color:#111; }
.arx-dashboard-shell .arx-dashboard__header-actions { grid-column:1; grid-row:1; flex-direction:column; align-items:flex-start; justify-content:center; }
.arx-dashboard-shell .arx-dashboard__inline-logo { display:inline-flex; }
.arx-dashboard-shell .arx-dashboard__inline-logo img { display:block; width:min(260px,38vw); height:54px; object-fit:contain; object-position:left center; filter:grayscale(1) brightness(0); }
.arx-dashboard-shell .arx-kpi-grid { display:flex; flex-wrap:nowrap; gap:8px; overflow-x:auto; padding:1px 0 8px; scrollbar-width:thin; }
.arx-dashboard-shell .arx-kpi {
    display:flex; flex:1 0 132px; min-height:58px; flex-direction:row; justify-content:flex-start; gap:8px;
    padding:10px 12px; text-align:left; white-space:nowrap;
}
.arx-dashboard-shell .arx-kpi__icon { order:1; flex:0 0 auto; }
.arx-dashboard-shell .arx-kpi__label { order:2; min-width:0; font-size:.66rem; line-height:1.15; white-space:normal; }
.arx-dashboard-shell .arx-kpi__num { order:3; margin-left:auto; font-size:1.2rem; }

@media (max-width:680px) {
    .arx-dashboard-shell .arx-dashboard__header { grid-template-columns:1fr; gap:14px; }
    .arx-dashboard-shell .arx-dashboard__responsible,
    .arx-dashboard-shell .arx-dashboard__header-actions { grid-column:1; }
    .arx-dashboard-shell .arx-dashboard__responsible { grid-row:1; text-align:left; }
    .arx-dashboard-shell .arx-dashboard__responsible { justify-items:start; }
    .arx-dashboard-shell .arx-dashboard__header-actions { grid-row:2; }
}

/* New doc grid (editore) */
.arx-new-doc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px,1fr)); gap: 14px; }
.arx-new-doc-card {
  display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px;
  padding: 20px 12px;
  border-radius: var(--arx-radius-lg);
  border: 2px solid var(--type-color, var(--arx-border));
  text-decoration: none;
  color: var(--arx-text);
  transition: all var(--arx-transition);
  background: white;
}
.arx-new-doc-card:hover { background: var(--type-color, var(--arx-primary)); color: #fff; }
.arx-new-doc-card__icon { font-size: 2rem; margin-bottom: 4px; }
.arx-new-doc-card strong { font-size: 0.85rem; color: inherit; }
.arx-new-doc-card small  { font-size: 0.72rem; color: inherit; opacity: 0.7; }
.arx-new-doc-card__count { margin-top: 6px; font-size: 0.7rem; opacity: 0.6; }

/* Filter bar */
.arx-filter-bar { display: flex; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; align-items: center; }

/* Review cards (revisore) */
.arx-review-list { display: flex; flex-direction: column; gap: 16px; }
.arx-review-card {
  display: flex; gap: 16px;
  background: var(--arx-bg-sidebar);
  border-radius: var(--arx-radius-lg);
  padding: 16px;
  border: 1px solid var(--arx-border);
}
.arx-review-card__left { flex-shrink: 0; }
.arx-review-card__thumb { width: 80px; height: 80px; object-fit: cover; border-radius: var(--arx-radius); }
.arx-review-card__thumb-placeholder {
  width: 80px; height: 80px;
  background: var(--arx-bg-card);
  border-radius: var(--arx-radius);
  display: flex; align-items: center; justify-content: center;
  font-size: 2rem;
}
.arx-review-card__meta { display: flex; gap: 8px; align-items: center; margin-bottom: 6px; }
.arx-review-card__num  { font-size: 0.72rem; color: var(--arx-text-muted); }
.arx-review-card__title { font-size: 0.95rem; margin-bottom: 4px; }
.arx-review-card__title a { color: var(--arx-primary); }
.arx-review-card__info { font-size: 0.78rem; color: var(--arx-text-light); margin-bottom: 10px; }
.arx-review-form__row { display: flex; gap: 8px; align-items: center; }

/* ── Forms & Inputs ──────────────────────────────────────────── */
.arx-input, .arx-select {
  padding: 8px 12px;
  border: 1px solid var(--arx-border);
  border-radius: var(--arx-radius);
  font-family: var(--arx-font-sans);
  font-size: 0.88rem;
  color: var(--arx-text);
  background: var(--arx-bg-card);
  transition: border-color var(--arx-transition);
}
.arx-input:focus, .arx-select:focus { border-color: var(--arx-primary); outline: none; box-shadow: 0 0 0 3px rgba(26,58,107,0.12); }
.arx-input--sm, .arx-select--sm { padding: 5px 10px; font-size: 0.82rem; }

/* ── Alerts ──────────────────────────────────────────────────── */
.arx-alert { padding: 12px 16px; border-radius: var(--arx-radius); margin-bottom: 20px; font-size: 0.88rem; }
.arx-alert--warning { background: #fef3cd; border-left: 4px solid var(--arx-warning); color: #7d4e0f; }
.arx-alert a { color: inherit; font-weight: 600; margin-left: 8px; text-decoration: underline; }

/* ── Status badges ───────────────────────────────────────────── */
.arx-status { font-size: 0.78rem; font-weight: 600; }
.arx-status--publish { color: var(--arx-success); }
.arx-status--draft   { color: var(--arx-text-muted); }
.arx-status--pending { color: var(--arx-warning); }

/* ── Empty state ─────────────────────────────────────────────── */
.arx-empty-state { text-align: center; padding: 48px 24px; color: var(--arx-text-light); }
.arx-empty-state__icon { font-size: 3.5rem; margin-bottom: 12px; }
.arx-empty-state h2 { font-size: 1.3rem; color: var(--arx-primary); margin-bottom: 8px; }
.arx-empty { color: var(--arx-text-muted); font-size: 0.88rem; font-style: italic; }

/* ── Term links ──────────────────────────────────────────────── */
.arx-term-link { color: var(--arx-secondary); font-size: 0.85rem; }
.arx-term-link:hover { color: var(--arx-primary); }

/* ── Placeholder thumb ───────────────────────────────────────── */
.arx-thumb-placeholder {
  aspect-ratio: 4/3;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 8px; border-radius: var(--arx-radius);
  background: var(--arx-bg-sidebar);
}
.arx-thumb-placeholder__icon  { font-size: 2.5rem; }
.arx-thumb-placeholder__label { font-size: 0.75rem; color: var(--arx-text-muted); }

/* ── Media unavailable ───────────────────────────────────────── */
.arx-media-unavailable {
  display: flex; align-items: center; justify-content: center;
  height: 200px; background: var(--arx-bg-sidebar);
  border-radius: var(--arx-radius-lg); color: var(--arx-text-muted);
  font-size: 1rem; gap: 10px;
}

/* ── GeoJSON pre ─────────────────────────────────────────────── */
.arx-geojson-raw { font-size: 0.75rem; background: #1e1e2e; color: #cdd6f4; padding: 14px; border-radius: var(--arx-radius); overflow: auto; max-height: 200px; }

/* ── Pagination ──────────────────────────────────────────────── */
.arx-pagination { margin-top: 40px; display: flex; justify-content: center; }
.arx-pagination ul { display: flex; gap: 6px; list-style: none; }
.arx-pagination .page-numbers {
  display: flex; align-items: center; justify-content: center;
  min-width: 42px; width:auto; height:42px; padding:0 14px;
  border: 1px solid #d0d0d0;
  border-radius: 999px;
  font-size: 0.88rem; font-weight:750; color:#111; background:#e7e7e7;
  text-decoration: none; transition: all var(--arx-transition);
}
.arx-pagination .page-numbers.current { background:#111; color:#fff; border-color:#111; }
.arx-pagination .page-numbers:hover:not(.current) { border-color:#555; background:#555; color:#fff; }
.arx-pagination .prev, .arx-pagination .next { width: auto; padding: 0 14px; }

/* ── Footer ──────────────────────────────────────────────────── */
.arx-footer {
  background: var(--arx-primary-dark);
  color: rgba(255,255,255,0.75);
  padding-top: 48px;
}
.arx-footer__inner { max-width: var(--arx-max-width); margin: 0 auto; padding: 0 24px; }
.arx-footer__grid  { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 40px; }
.arx-footer__col h4 { color: rgba(255,255,255,0.5); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 14px; }
.arx-footer__logo  { font-size: 1.1rem; color: #fff; margin-bottom: 10px; }
.arx-footer__col p { font-size: 0.85rem; margin-bottom: 8px; }
.arx-footer__version { font-size: 0.72rem; opacity: 0.5; }
.arx-footer__col ul { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.arx-footer__col ul a { color: rgba(255,255,255,0.65); font-size: 0.85rem; transition: color var(--arx-transition); }
.arx-footer__col ul a:hover { color: var(--arx-accent); }
.arx-footer__nav ul { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.arx-footer__nav li a { color: rgba(255,255,255,0.65); font-size: 0.85rem; }
.arx-footer__nav li a:hover { color: var(--arx-accent); }
.arx-footer__bottom {
  display: flex; justify-content: space-between; align-items: center;
  padding: 16px 0;
  border-top: 1px solid rgba(255,255,255,0.1);
  font-size: 0.78rem; color: rgba(255,255,255,0.45);
}
.arx-footer__bottom strong { color: var(--arx-accent); }

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .arx-kpi-grid { grid-template-columns: repeat(4,1fr); }
  .arx-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .arx-doc__layout { grid-template-columns: 1fr; }
  .arx-dashboard__cols { grid-template-columns: 1fr; }
  .arx-kpi-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 768px) {
  .arx-header__burger { display: flex; }
  .arx-nav, .arx-header__user { display: none; }
  .arx-header.nav-open .arx-nav { display: block; }
  .arx-header.nav-open .arx-header__inner { flex-wrap: wrap; height: auto; padding-bottom: 12px; }
  .arx-nav__list { flex-direction: column; width: 100%; }
  .arx-hero { padding: 48px 16px; }
  .arx-type-grid { grid-template-columns: repeat(2,1fr); }
  .arx-footer__grid { grid-template-columns: 1fr; gap: 24px; }
  .arx-dashboard__header { flex-direction: column; gap: 12px; }
  .arx-table { font-size: 0.78rem; }
  .arx-table th, .arx-table td { padding: 7px 8px; }
}

/* ================================================================
   VIVO IN CHIANTI — Logo & Header Update
   ================================================================ */

/* Logo img nel header */
.arx-header__logo-link {
    display: flex;
    align-items: center;
    text-decoration: none;
}

.arx-header__logo-img {
    display: block;
    height: 44px;
    width: auto;
    max-width: 220px;
    /* Il logo è nero su sfondo chiaro; sul header scuro lo invertiamo */
    filter: brightness(0) invert(1);
    transition: opacity 0.2s;
}

.arx-header__logo-img:hover {
    opacity: 0.85;
}

/* Header con sfondo bianco: mostra logo originale (nero + bordo) */
.arx-header--light .arx-header__logo-img {
    filter: none;
}

/* Comuni/patroni nel footer */
.arx-footer__patroni {
    font-size: 0.75rem;
    color: rgba(255,255,255,0.55);
    margin-top: 8px;
    font-style: italic;
}

/* ================================================================
   PAGINA TEAM — Stili
   ================================================================ */

.arx-team-hero {
    background: linear-gradient(135deg, #1a3a6b 0%, #0f2548 100%);
    color: #fff;
    padding: 80px 0 60px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.arx-team-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.arx-team-hero__kicker {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #c9a84c;
    margin-bottom: 16px;
}

.arx-team-hero__title {
    font-family: 'Source Serif 4', Georgia, serif;
    font-size: clamp(2rem, 5vw, 3.2rem);
    font-weight: 300;
    margin: 0 0 16px;
    color: #fff;
}

.arx-team-hero__subtitle {
    font-size: 1.05rem;
    color: rgba(255,255,255,0.75);
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Sezioni team */
.arx-team-section {
    padding: 60px 0;
}

.arx-team-section:nth-child(even) {
    background: #f8f7f5;
}

.arx-team-section__head {
    text-align: center;
    margin-bottom: 48px;
}

.arx-team-section__label {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #8c4b6c;
    display: block;
    margin-bottom: 8px;
}

.arx-team-section__title {
    font-family: 'Source Serif 4', Georgia, serif;
    font-size: 1.6rem;
    font-weight: 400;
    color: #1a3a6b;
    margin: 0;
}

/* Griglia persone */
.arx-team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 28px;
}

.arx-team-card {
    background: #fff;
    border: 1px solid #e8e2da;
    border-radius: 4px;
    padding: 28px 24px;
    transition: box-shadow 0.2s, transform 0.2s;
    position: relative;
}

.arx-team-card:hover {
    box-shadow: 0 8px 32px rgba(26,58,107,0.1);
    transform: translateY(-2px);
}

.arx-team-card--featured {
    border-color: #1a3a6b;
    border-top: 3px solid #c9a84c;
}

.arx-team-card__avatar {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: linear-gradient(135deg, #1a3a6b, #8c4b6c);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    margin-bottom: 16px;
    color: #fff;
    font-weight: 600;
    letter-spacing: -0.02em;
}

.arx-team-card__name {
    font-family: 'Source Serif 4', Georgia, serif;
    font-size: 1.1rem;
    font-weight: 600;
    color: #1a1410;
    margin: 0 0 4px;
}

.arx-team-card__role {
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #8c4b6c;
    margin-bottom: 10px;
}

.arx-team-card__org {
    font-size: 0.82rem;
    color: #7a6a5a;
    margin-bottom: 12px;
    font-style: italic;
}

.arx-team-card__bio {
    font-size: 0.88rem;
    color: #5a504a;
    line-height: 1.6;
    margin: 0;
}

.arx-team-card__contact {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #e8e2da;
}

.arx-team-card__contact a {
    font-size: 0.8rem;
    color: #1a3a6b;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.arx-team-card__contact a:hover {
    color: #8c4b6c;
    text-decoration: underline;
}

/* Griglia partner/enti */
.arx-partner-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 20px;
}

.arx-partner-card {
    background: #fff;
    border: 1px solid #e8e2da;
    border-radius: 4px;
    padding: 20px;
    text-align: center;
}

.arx-partner-card__icon {
    font-size: 2rem;
    margin-bottom: 10px;
    display: block;
}

.arx-partner-card__name {
    font-size: 0.88rem;
    font-weight: 600;
    color: #1a3a6b;
    margin: 0 0 4px;
}

.arx-partner-card__type {
    font-size: 0.75rem;
    color: #9a8a7a;
}

/* Box comune patrocinante */
.arx-comuni-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
}

.arx-comune-badge {
    background: #fff;
    border: 1px solid #c9a84c;
    border-radius: 2px;
    padding: 8px 16px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #1a3a6b;
    display: flex;
    align-items: center;
    gap: 6px;
}

.arx-comune-badge::before {
    content: '⚜';
    color: #c9a84c;
    font-size: 0.9rem;
}

/* Box ringraziamenti */
.arx-credits-box {
    background: linear-gradient(135deg, #f8f5f0, #f0ebe3);
    border: 1px solid #d9cfc5;
    border-left: 4px solid #c9a84c;
    border-radius: 0 4px 4px 0;
    padding: 28px 32px;
    margin: 40px 0;
}

.arx-credits-box__title {
    font-family: 'Source Serif 4', Georgia, serif;
    font-size: 1.1rem;
    color: #1a3a6b;
    margin: 0 0 12px;
}

.arx-credits-box__text {
    font-size: 0.9rem;
    color: #5a504a;
    line-height: 1.7;
    margin: 0;
}

@media (max-width: 768px) {
    .arx-team-grid { grid-template-columns: 1fr; }
    .arx-team-section { padding: 40px 0; }
    .arx-team-hero { padding: 48px 0 40px; }
}

/* ================================================================
   HEADER BIANCO — Override completo (sfondo bianco, logo nero)
   ================================================================ */

.arx-header {
    background: #ffffff !important;
    color: #1a1410 !important;
    border-bottom: 1px solid #e0dbd3 !important;
    box-shadow: 0 1px 6px rgba(0,0,0,0.07) !important;
}

.arx-header__inner {
    height: 80px !important;
}

/* Logo nero originale, più grande */
.arx-header__logo-img {
    height: 58px !important;
    filter: none !important;
    opacity: 1 !important;
}
.arx-header__logo-img:hover {
    opacity: 0.75 !important;
}

/* Nav: testo scuro su bianco */
.arx-nav__list a {
    color: #3a3530 !important;
    font-size: 0.85rem !important;
    letter-spacing: 0.01em !important;
}
.arx-nav__list a:hover,
.arx-nav__list .current-menu-item > a {
    background: rgba(26,58,107,0.07) !important;
    color: #1a3a6b !important;
}

/* User menu trigger su bianco */
.arx-user-menu__trigger {
    background: transparent !important;
    border: 1px solid #d0ccc5 !important;
    color: #3a3530 !important;
}
.arx-user-menu__trigger:hover {
    background: #f4f4f0 !important;
    color: #1a3a6b !important;
}
.arx-user-menu__name {
    color: #3a3530 !important;
}
.arx-user-menu__arrow path {
    stroke: #3a3530 !important;
}

/* Btn accedi su sfondo bianco */
.arx-header .arx-btn--primary {
    background: #1a3a6b !important;
    color: #fff !important;
    border: none !important;
}
.arx-header .arx-btn--primary:hover {
    background: #0f2548 !important;
}

/* Burger su bianco */
.arx-header__burger span {
    background: #3a3530 !important;
}

/* ── Barra Comuni (seconda navbar) ───────────────────────────── */
.arx-comuni-nav {
    background: #1a3a6b;
    border-bottom: 2px solid #c9a84c;
    position: sticky;
    top: 80px; /* altezza del nuovo header */
    z-index: 98;
}
.arx-comuni-nav__inner {
    max-width: var(--arx-max-width);
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: stretch;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.arx-comuni-nav__inner::-webkit-scrollbar { display: none; }

.arx-comuni-nav a {
    display: flex;
    align-items: center;
    padding: 11px 20px;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.7);
    border-right: 1px solid rgba(255,255,255,0.08);
    white-space: nowrap;
    transition: background 0.18s, color 0.18s;
    text-decoration: none;
    position: relative;
}
.arx-comuni-nav a:first-child {
    color: #c9a84c;
    border-right: 1px solid rgba(255,255,255,0.15);
    padding-right: 24px;
}
.arx-comuni-nav a:first-child::after {
    content: '';
    position: absolute;
    right: 0;
    top: 25%;
    height: 50%;
    width: 1px;
    background: rgba(255,255,255,0.25);
}
.arx-comuni-nav a:hover {
    background: rgba(255,255,255,0.10);
    color: #fff;
}
.arx-comuni-nav a.is-active {
    background: rgba(255,255,255,0.14);
    color: #fff;
    border-bottom: 2px solid #c9a84c;
    margin-bottom: -2px;
}
.arx-comuni-nav a span {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #c9a84c;
    margin-right: 7px;
    opacity: 0;
    transition: opacity 0.2s;
}
.arx-comuni-nav a.is-active span,
.arx-comuni-nav a:hover span {
    opacity: 1;
}

/* mobile scroll hint */
@media (max-width: 768px) {
    .arx-comuni-nav { top: 80px; }
    .arx-comuni-nav a { padding: 10px 14px; font-size: 0.73rem; }
    .arx-comuni-nav a:first-child { padding-right: 16px; }
}

/* ── Search toggle button ─────────────────────────────────────── */
.arx-search-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1.5px solid #d0ccc5;
    background: transparent;
    cursor: pointer;
    color: #1a3a6b;
    flex-shrink: 0;
    transition: background 0.18s, border-color 0.18s, color 0.18s;
}
.arx-search-toggle:hover {
    background: #1a3a6b;
    border-color: #1a3a6b;
    color: #fff;
}
.arx-search-toggle svg {
    width: 20px;
    height: 20px;
    display: block;
    flex-shrink: 0;
}

/* ── Search Overlay ───────────────────────────────────────────── */
.arx-search-overlay {
    position: fixed;
    inset: 0;
    z-index: 500;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 100px;
    background: rgba(10, 22, 50, 0.94);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.22s ease;
}
.arx-search-overlay.is-open {
    opacity: 1;
    pointer-events: all;
}
.arx-search-overlay__box {
    width: 100%;
    max-width: 700px;
    padding: 0 24px;
}
.arx-search-overlay__label {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.45);
    margin-bottom: 20px;
    text-align: center;
}
.arx-search-overlay__form {
    display: flex;
    align-items: stretch;
    background: #fff;
    border-radius: 3px;
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(0,0,0,0.5);
}
.arx-search-overlay__input {
    flex: 1;
    border: none;
    padding: 22px 28px;
    font-size: 1.4rem;
    font-family: 'Source Serif 4', Georgia, serif;
    color: #1a1410;
    outline: none;
    background: transparent;
    min-width: 0;
}
.arx-search-overlay__input::placeholder {
    color: #b0a090;
    font-style: italic;
}
.arx-search-overlay__submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    flex-shrink: 0;
    background: #1a3a6b;
    border: none;
    cursor: pointer;
    transition: background 0.18s;
}
.arx-search-overlay__submit:hover {
    background: #0f2548;
}
.arx-search-overlay__submit svg {
    width: 26px;
    height: 26px;
    color: #fff;
}
.arx-search-overlay__close {
    display: block;
    text-align: center;
    margin-top: 24px;
    color: rgba(255,255,255,0.4);
    font-size: 0.82rem;
    cursor: pointer;
    transition: color 0.2s;
    letter-spacing: 0.04em;
}
.arx-search-overlay__close:hover {
    color: rgba(255,255,255,0.8);
}
.arx-search-overlay__hints {
    margin-top: 32px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}
.arx-search-overlay__hint {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
    color: rgba(255,255,255,0.65);
    padding: 5px 16px;
    border-radius: 20px;
    font-size: 0.79rem;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    text-decoration: none;
}
.arx-search-overlay__hint:hover {
    background: rgba(255,255,255,0.16);
    color: #fff;
}
.arx-search-overlay__hint--comune {
    border-color: rgba(201,168,76,0.3);
    color: rgba(201,168,76,0.8);
}
.arx-search-overlay__hint--comune:hover {
    background: rgba(201,168,76,0.12);
    color: #c9a84c;
}

/* Risultati ricerca */
.arx-search-results-header {
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 2px solid var(--arx-accent);
}
.arx-search-results-header h1 {
    font-size: 1.4rem;
    color: var(--arx-primary);
}
.arx-search-results-header .arx-search-term {
    color: #8c4b6c;
}

/* ── Taxonomy arx_comune (archivio per località) ────────────── */
.arx-comune-archive-header {
    background: linear-gradient(135deg, #1a3a6b, #0f2548);
    color: #fff;
    padding: 40px 0;
    margin-bottom: 32px;
}
.arx-comune-archive-header .arx-container {
    display: flex;
    align-items: center;
    gap: 20px;
}
.arx-comune-archive-header__icon {
    font-size: 2.5rem;
    flex-shrink: 0;
}
.arx-comune-archive-header__title {
    font-size: clamp(1.4rem, 3vw, 2rem);
    color: #fff;
    margin: 0 0 4px;
}
.arx-comune-archive-header__sub {
    font-size: 0.88rem;
    color: rgba(255,255,255,0.65);
}

/* Responsive: header height fix on mobile */
@media (max-width: 768px) {
    .arx-header__inner { height: 68px !important; }
    .arx-header__logo-img { height: 44px !important; }
}

/* ================================================================
   ACCESSIBILITÀ — Widget A11y
   ================================================================ */

/* Pulsante di attivazione (fisso, basso-sinistra) */
.arx-a11y-toggle {
    position: fixed;
    bottom: 28px;
    left: 24px;
    z-index: 400;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #7f171c;
    border: 2px solid #fff;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 16px rgba(0,0,0,0.25);
    transition: background 0.18s, transform 0.18s, box-shadow 0.18s;
    outline-offset: 3px;
}
.arx-a11y-toggle:hover {
    background: #5f111b;
    transform: scale(1.08);
    box-shadow: 0 6px 24px rgba(0,0,0,0.35);
}
.arx-a11y-toggle:focus-visible {
    outline: 3px solid #b8b2ab;
}
.arx-a11y-toggle svg {
    width: 26px;
    height: 26px;
    flex-shrink: 0;
}
.arx-a11y-toggle__badge {
    position: absolute;
    top: -4px;
    right: -4px;
    width: 16px;
    height: 16px;
    background: #736e68;
    border-radius: 50%;
    font-size: 9px;
    font-weight: 700;
    color: #fff;
    display: none;
    align-items: center;
    justify-content: center;
    border: 1.5px solid #fff;
}
.arx-a11y-toggle__badge.is-visible { display: flex; }

/* Pannello laterale */
.arx-a11y-panel {
    position: fixed;
    bottom: 90px;
    left: 24px;
    z-index: 399;
    width: 300px;
    background: #fff;
    border: 1px solid #e0dbd3;
    border-radius: 12px;
    box-shadow: 0 12px 48px rgba(0,0,0,0.18);
    transform: translateY(10px) scale(0.97);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s, transform 0.2s;
    overflow: hidden;
}
.arx-a11y-panel.is-open {
    opacity: 1;
    pointer-events: all;
    transform: translateY(0) scale(1);
}
.arx-a11y-panel__head {
    background: #7f171c;
    color: #fff;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.arx-a11y-panel__head h3 {
    font-size: 0.88rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #fff;
    margin: 0;
    flex: 1;
}
.arx-a11y-panel__close {
    background: transparent;
    border: none;
    color: rgba(255,255,255,0.7);
    cursor: pointer;
    font-size: 1.2rem;
    line-height: 1;
    padding: 0 2px;
    transition: color 0.15s;
}
.arx-a11y-panel__close:hover { color: #fff; }

.arx-a11y-panel__body {
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Sezione font size */
.arx-a11y-section {
    border-bottom: 1px solid #f0ebe3;
    padding-bottom: 12px;
    margin-bottom: 4px;
}
.arx-a11y-section:last-child { border-bottom: none; }
.arx-a11y-section__label {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #8a7a6a;
    margin-bottom: 8px;
}

/* Font size buttons */
.arx-a11y-font-controls {
    display: flex;
    align-items: center;
    gap: 6px;
}
.arx-a11y-font-btn {
    background: #f4f0ea;
    border: 1px solid #d8d0c4;
    border-radius: 6px;
    cursor: pointer;
    padding: 6px 12px;
    font-weight: 700;
    color: #1a3a6b;
    transition: background 0.15s;
    line-height: 1;
}
.arx-a11y-font-btn:hover { background: #e8e0d4; }
.arx-a11y-font-btn[aria-pressed="true"] { border-color:#7f171c; background:#7f171c; color:#fff; box-shadow:0 0 0 2px rgba(127,23,28,.1); }
.arx-a11y-font-btn--sm { font-size: 0.8rem; }
.arx-a11y-font-btn--md { font-size: 1rem; }
.arx-a11y-font-btn--lg { font-size: 1.2rem; }
.arx-a11y-font-label {
    flex: 1;
    text-align: center;
    font-size: 0.8rem;
    color: #5a5045;
}

/* Toggle switches */
.arx-a11y-toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 0;
}
.arx-a11y-toggle-row__label {
    font-size: 0.83rem;
    color: #3a3530;
    display: flex;
    align-items: center;
    gap: 7px;
}
.arx-a11y-toggle-row__label svg {
    width: 16px; height: 16px; flex-shrink: 0; color: #736e68;
}
.arx-a11y-switch {
    position: relative;
    width: 40px;
    height: 22px;
    flex-shrink: 0;
}
.arx-a11y-switch input { opacity: 0; width: 0; height: 0; }
.arx-a11y-switch__track {
    position: absolute;
    inset: 0;
    background: #c8c0b4;
    border-radius: 11px;
    cursor: pointer;
    transition: background 0.2s;
}
.arx-a11y-switch__track::after {
    content: '';
    position: absolute;
    left: 3px; top: 3px;
    width: 16px; height: 16px;
    background: #fff;
    border-radius: 50%;
    transition: transform 0.2s;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}
.arx-a11y-switch input:checked + .arx-a11y-switch__track { background: #7f171c; }
.arx-a11y-switch input:checked + .arx-a11y-switch__track::after { transform: translateX(18px); }
.arx-a11y-switch input:focus-visible + .arx-a11y-switch__track { outline: 2px solid #7f171c; outline-offset:2px; }

/* Reset button */
.arx-a11y-reset {
    display: block;
    width: 100%;
    padding: 8px;
    background: transparent;
    border: 1px solid #d0ccc5;
    border-radius: 6px;
    font-size: 0.78rem;
    color: #8a7a6a;
    cursor: pointer;
    text-align: center;
    transition: background 0.15s, color 0.15s;
    margin-top: 4px;
}
.arx-a11y-reset:hover { background: #f4f0ea; color: #3a3530; }
.arx-a11y-info-link { display:block; margin-top:3px; color:#7f171c; font-size:.75rem; font-weight:650; text-align:center; text-decoration:underline; text-underline-offset:3px; }

/* ── Classi accessibilità sul body ────────────────────────────── */
html.arx-text-lg { font-size:115% !important; }
html.arx-text-xl { font-size:130% !important; }
body.arx-high-contrast {
    --arx-primary: #000 !important;
    --arx-primary-dark: #000 !important;
    --arx-primary-light: #111 !important;
    --arx-accent: #ffd800 !important;
    --arx-text: #000 !important;
    --arx-text-muted: #171717 !important;
}
body.arx-high-contrast :focus-visible { outline:3px solid #ffbf00 !important; outline-offset:3px !important; }
body.arx-high-contrast a { color:#0000b8 !important; text-decoration:underline !important; text-decoration-thickness:2px !important; }
body.arx-high-contrast button,body.arx-high-contrast .arx-btn { border:2px solid currentColor !important; }
body.arx-dark-bg {
    --arx-bg:#101010 !important;
    --arx-bg-card:#191919 !important;
    --arx-bg-sidebar:#151515 !important;
    --arx-text:#f3f1ed !important;
    --arx-text-muted:#d0cbc4 !important;
    --arx-text-light:#bbb5ae !important;
    --arx-border:#4d4944 !important;
    background: #0a0a0a !important;
    color: #f0f0f0 !important;
}
body.arx-dark-bg .arx-header,body.arx-dark-bg .arx-comuni-nav,body.arx-dark-bg .arx-footer,body.arx-dark-bg main,body.arx-dark-bg .arx-site-wrap { background:#101010 !important; color:#f3f1ed !important; }
body.arx-dark-bg .arx-doc-card,body.arx-dark-bg .arx-aside-widget,body.arx-dark-bg .arx-legal-toc,body.arx-dark-bg .arx-legal-review,body.arx-dark-bg .arx-a11y-panel,body.arx-dark-bg .arx-privacy-banner { background:#191919 !important; border-color:#4d4944 !important; }
body.arx-dark-bg h1,body.arx-dark-bg h2,body.arx-dark-bg h3,body.arx-dark-bg h4,body.arx-dark-bg p,body.arx-dark-bg li,body.arx-dark-bg dt,body.arx-dark-bg dd,body.arx-dark-bg td,body.arx-dark-bg th,body.arx-dark-bg label,body.arx-dark-bg .arx-a11y-toggle-row__label { color:#f0f0f0 !important; }
body.arx-dark-bg a { color:#f0b4bb !important; }
body.arx-highlight-links a {
    text-decoration: underline !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 3px !important;
}
body.arx-no-animations *,body.arx-no-animations *::before,body.arx-no-animations *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior:auto !important;
}
body.arx-text-spacing,body.arx-text-spacing p,body.arx-text-spacing li,body.arx-text-spacing dt,body.arx-text-spacing dd,body.arx-text-spacing input,body.arx-text-spacing button {
    letter-spacing: 0.05em !important;
    word-spacing: 0.1em !important;
    line-height: 1.8 !important;
}
body.arx-big-cursor,
body.arx-big-cursor * {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M5 2l20 13-8 2 5 9-3 2-5-9-4 6z' fill='%23000' stroke='%23fff' stroke-width='1.5'/%3E%3C/svg%3E") 5 2, auto !important;
}

/* ================================================================
   PRIVACY BANNER — GDPR (bottom-right)
   ================================================================ */
.arx-privacy-banner {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 450;
    width: 360px;
    max-width: calc(100vw - 48px);
    background: #fff;
    border: 1px solid #e0dbd3;
    border-radius: 12px;
    box-shadow: 0 16px 56px rgba(0,0,0,0.18);
    padding: 20px 20px 16px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    transform: translateY(120%);
    opacity: 0;
    transition: transform 0.35s cubic-bezier(0.34,1.56,0.64,1), opacity 0.3s;
}
.arx-privacy-banner.is-visible {
    transform: translateY(0);
    opacity: 1;
}
.arx-privacy-banner__head {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.arx-privacy-banner__icon {
    flex-shrink: 0;
    line-height: 1.2;
    color:#736e68;
}
.arx-privacy-banner__icon svg { width:27px; height:27px; display:block; }
.arx-privacy-banner__title {
    font-size: 0.9rem;
    font-weight: 700;
    color: #7f171c;
    margin: 0 0 3px;
    line-height: 1.3;
}
.arx-privacy-banner__text {
    font-size: 0.78rem;
    color: #5a5045;
    line-height: 1.55;
    margin: 0;
}
.arx-privacy-banner__text a {
    color: #8c4b6c;
    text-decoration: underline;
}
.arx-privacy-banner__actions {
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.arx-privacy-banner__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 9px 14px;
    border-radius: 6px;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    border: none;
    transition: background 0.16s, transform 0.1s;
}
.arx-privacy-banner__btn:active { transform: scale(0.98); }
.arx-privacy-banner__btn--accept {
    background: #7f171c;
    color: #fff;
}
.arx-privacy-banner__btn--accept:hover { background: #5f111b; }
.arx-privacy-banner__btn--necessary {
    background: #fff;
    color: #7f171c;
    border: 1px solid #7f171c;
}
.arx-privacy-banner__btn--necessary:hover { background: #f7eeef; }
.arx-privacy-banner__btn--settings {
    background: transparent;
    color: #8a7a6a;
    font-size: 0.74rem;
    padding: 4px;
    text-decoration: underline;
}
.arx-privacy-banner__btn--settings:hover { color: #3a3530; }
.arx-privacy-banner__footer-note {
    font-size: 0.7rem;
    color: #aaa098;
    text-align: center;
    line-height: 1.4;
}

/* ── Cookie Preferences Modal ─────────────────────────────────── */
.arx-cookie-modal {
    position: fixed;
    inset: 0;
    z-index: 500;
    background: rgba(10,22,50,0.7);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.22s;
}
.arx-cookie-modal.is-open {
    opacity: 1;
    pointer-events: all;
}
.arx-cookie-modal__box {
    background: #fff;
    border-radius: 12px;
    width: 100%;
    max-width: 520px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 24px 80px rgba(0,0,0,0.35);
}
.arx-cookie-modal__head {
    background: #7f171c;
    color: #fff;
    padding: 20px 24px;
    border-radius: 12px 12px 0 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.arx-cookie-modal__head h2 {
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
}
.arx-cookie-modal__head button {
    background: transparent;
    border: none;
    color: rgba(255,255,255,0.7);
    font-size: 1.4rem;
    cursor: pointer;
    line-height: 1;
}
.arx-cookie-modal__body { padding: 20px 24px; }
.arx-cookie-modal__intro {
    font-size: 0.83rem;
    color: #5a5045;
    line-height: 1.6;
    margin-bottom: 16px;
}
.arx-cookie-cat {
    border: 1px solid #e8e0d4;
    border-radius: 8px;
    margin-bottom: 10px;
    overflow: hidden;
}
.arx-cookie-cat__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: #faf8f4;
    cursor: pointer;
}
.arx-cookie-cat__name {
    font-size: 0.85rem;
    font-weight: 600;
    color: #4f4944;
    display:flex;
    align-items:center;
    gap:7px;
}
.arx-cookie-cat__name .arx-icon { color:#736e68; }
.arx-cookie-cat__badge {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #8a7a6a;
    background: #f0ebe3;
    padding: 2px 8px;
    border-radius: 20px;
}
.arx-cookie-cat__badge--required {
    color: #7f171c;
    background: rgba(127,23,28,0.08);
}
.arx-cookie-reopen { display:inline-flex; align-items:center; gap:6px; margin:7px 0 0 auto; padding:7px 11px; border:1px solid #cfc8bf; border-radius:999px; background:#fff; color:#625b55; font:600 .72rem var(--arx-font-sans); cursor:pointer; }
.arx-cookie-reopen:hover,.arx-cookie-reopen:focus-visible { border-color:#7f171c; color:#7f171c; outline:none; }
.arx-cookie-cat__desc {
    padding: 10px 16px 14px;
    font-size: 0.78rem;
    color: #5a5045;
    line-height: 1.55;
}
.arx-cookie-modal__foot {
    padding: 16px 24px 20px;
    display: flex;
    gap: 10px;
    border-top: 1px solid #f0ebe3;
}
.arx-cookie-modal__foot .arx-privacy-banner__btn { flex: 1; }

/* Riferimento bene comune nel footer */
.arx-bene-comune-notice {
    background: rgba(26,58,107,0.04);
    border-left: 3px solid #c9a84c;
    padding: 10px 16px;
    margin-top: 12px;
    border-radius: 0 6px 6px 0;
    font-size: 0.75rem;
    color: #5a5045;
    line-height: 1.55;
}
.arx-bene-comune-notice a { color: #8c4b6c; }
.arx-bene-comune-notice strong { color: #1a3a6b; }

/* Privacy policy page */
.arx-legal-page { max-width: 820px; margin: 0 auto; padding: 48px 24px 80px; }
.arx-legal-page h1 { font-size: clamp(1.6rem, 3vw, 2.4rem); color: #1a3a6b; margin-bottom: 8px; }
.arx-legal-page .arx-legal-meta {
    font-size: 0.8rem;
    color: #8a7a6a;
    margin-bottom: 40px;
    padding-bottom: 16px;
    border-bottom: 2px solid #c9a84c;
}
.arx-legal-page h2 {
    font-size: 1.15rem;
    color: #1a3a6b;
    margin: 36px 0 10px;
    padding-top: 4px;
}
.arx-legal-page h3 {
    font-size: 0.95rem;
    color: #3a3530;
    margin: 20px 0 6px;
    font-weight: 700;
}
.arx-legal-page p, .arx-legal-page li { font-size: 0.9rem; line-height: 1.75; color: #3a3530; }
.arx-legal-page ul { margin: 8px 0 12px 20px; }
.arx-legal-page li { margin-bottom: 4px; }
.arx-legal-toc {
    background: #faf8f4;
    border: 1px solid #e8e0d4;
    border-radius: 8px;
    padding: 18px 24px;
    margin-bottom: 40px;
}
.arx-legal-toc h4 {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #8a7a6a;
    margin: 0 0 10px;
}
.arx-legal-toc ol { margin: 0 0 0 18px; padding: 0; }
.arx-legal-toc li { font-size: 0.82rem; margin-bottom: 4px; }
.arx-legal-toc a { color: #1a3a6b; }
.arx-legal-box {
    background: linear-gradient(135deg, rgba(26,58,107,0.05), rgba(201,168,76,0.05));
    border: 1px solid rgba(201,168,76,0.3);
    border-radius: 8px;
    padding: 20px 24px;
    margin: 24px 0;
}
.arx-legal-box h3 { margin-top: 0; color: #1a3a6b; }
.arx-legal-ref {
    background: #1a3a6b;
    color: #fff;
    border-radius: 8px;
    padding: 20px 24px;
    margin: 24px 0;
}
.arx-legal-ref p { color: rgba(255,255,255,0.85); font-size: 0.85rem; }
.arx-legal-ref strong { color: #c9a84c; }
.arx-cc-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #f4f0ea;
    border: 1px solid #d8d0c4;
    border-radius: 6px;
    padding: 8px 14px;
    font-size: 0.8rem;
    color: #3a3530;
    font-weight: 600;
    margin: 12px 0;
}

@media (max-width: 768px) {
    .arx-privacy-banner { bottom: 16px; right: 16px; left: 16px; width: auto; max-width: none; }
    .arx-a11y-panel { bottom: 90px; left: 16px; right: 16px; width: auto; }
}

/* ================================================================
   OVERRIDE GLOBALE — Sfondo bianco, testo nero su tutto il sito
   ================================================================ */

/* ── Hero & sezioni scure → bianco ──────────────────────────── */
.arx-hero,
.arx-hero--dark,
.arx-section--dark,
.arx-section--blue,
.arx-section--primary {
    background: #fff !important;
    color: #1a1410 !important;
}
.arx-hero h1, .arx-hero h2, .arx-hero h3,
.arx-hero p, .arx-hero li {
    color: #1a1410 !important;
}
.arx-hero__kicker {
    color: #8c4b6c !important;
    background: rgba(140,75,108,0.08) !important;
}
.arx-hero__subtitle { color: #5a5045 !important; }
.arx-hero__actions .arx-btn--ghost {
    border-color: #1a3a6b !important;
    color: #1a3a6b !important;
}
.arx-hero__actions .arx-btn--ghost:hover {
    background: #1a3a6b !important;
    color: #fff !important;
}

/* ── Barra comuni → bianco con bordo sottile ─────────────────── */
.arx-comuni-nav {
    background: #ffffff !important;
    border-bottom: 1px solid #e8e0d4 !important;
    border-top: 1px solid #f0ebe3 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
}
.arx-comuni-nav a {
    color: #5a5045 !important;
    border-right-color: #ece8e0 !important;
}
.arx-comuni-nav a:first-child {
    color: #8c4b6c !important;
    font-weight: 700 !important;
}
.arx-comuni-nav a:hover {
    background: #faf8f4 !important;
    color: #1a3a6b !important;
}
.arx-comuni-nav a.is-active {
    background: transparent !important;
    color: #1a3a6b !important;
    font-weight: 700 !important;
    border-bottom: 2px solid #1a3a6b !important;
    margin-bottom: -1px !important;
}
.arx-comuni-nav a span {
    background: #1a3a6b !important;
}

/* ── Footer → grigio chiarissimo ────────────────────────────── */
.arx-footer {
    background: #f8f5f0 !important;
    color: #3a3530 !important;
    border-top: 1px solid #e8e0d4 !important;
}
.arx-footer h4 { color: #1a3a6b !important; }
.arx-footer a { color: #5a5045 !important; }
.arx-footer a:hover { color: #1a3a6b !important; }
.arx-footer__logo strong { color: #1a1410 !important; }
.arx-footer p { color: #6a5e54 !important; }
.arx-footer__version { color: #a09080 !important; }
.arx-footer__bottom {
    background: #f0ebe3 !important;
    border-top: 1px solid #e0d8cc !important;
}
.arx-footer__bottom p { color: #7a6e64 !important; }
.arx-footer__bottom a { color: #8c4b6c !important; }
.arx-bene-comune-notice {
    background: rgba(201,168,76,0.06) !important;
    color: #5a5045 !important;
}

/* ── Schede archivio / cards ─────────────────────────────────── */
.arx-card,
.arx-doc-card,
.arx-resource-card {
    background: #fff !important;
    color: #1a1410 !important;
    border: 1px solid #e8e0d4 !important;
}
.arx-card h2, .arx-card h3, .arx-card h4 { color: #1a1410 !important; }
.arx-card p { color: #5a5045 !important; }

/* ── Archivio comune header → bianco ────────────────────────── */
.arx-comune-archive-header {
    background: #fff !important;
    border-bottom: 2px solid #c9a84c !important;
    padding: 32px 0 !important;
}
.arx-comune-archive-header__title { color: #1a1410 !important; }
.arx-comune-archive-header__sub { color: #5a5045 !important; }

/* ── Homepage sezioni alternanti ──────────────────────────────── */
.arx-section-alt {
    background: #faf8f4 !important;
}
.arx-section { background: #fff !important; }

/* ── Privacy legal-ref → sfondo neutro ──────────────────────── */
.arx-legal-ref {
    background: #1a3a6b !important; /* manteniamo solo questo blocco scuro come eccezione di design */
}

/* ── Dashboard section headers ───────────────────────────────── */
.arx-dash-header,
.arx-dashboard-header {
    background: #fff !important;
    color: #1a1410 !important;
    border-bottom: 2px solid #c9a84c !important;
}
.arx-dash-header h1, .arx-dashboard-header h1 { color: #1a1410 !important; }
.arx-dash-header p { color: #5a5045 !important; }

/* ── Stat cards ─────────────────────────────────────────────── */
.arx-stat-card {
    background: #fff !important;
    border: 1px solid #e8e0d4 !important;
    color: #1a1410 !important;
}
.arx-stat-card__value { color: #1a3a6b !important; }
.arx-stat-card__label { color: #8a7a6a !important; }

/* ── Icone SVG: stile tecnico ──────────────────────────────── */
.arx-icon {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
}
.arx-resource-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 8px;
    background: #f4f0ea;
    border: 1px solid #e0d8cc;
    flex-shrink: 0;
    transition: background 0.18s;
}
.arx-resource-icon svg { color: #1a3a6b; }

/* ================================================================
   MEGA MENU — Navigazione principale con dropdown
   ================================================================ */

/* Nav principale con mega menu */
.arx-nav--mega .arx-nav__list {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 2px;
}
.arx-nav--mega .arx-nav__item {
    position: static; /* mega menu si estende per tutta la larghezza header */
}
.arx-nav--mega .arx-nav__list > li > a,
.arx-nav__mega-btn {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 8px 14px;
    font-size: 0.83rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #3a3530;
    text-decoration: none;
    border-radius: 6px;
    background: transparent;
    border: none;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s, color 0.15s;
    font-family: inherit;
}
.arx-nav--mega .arx-nav__list > li > a:hover,
.arx-nav__mega-btn:hover,
.arx-nav--mega .arx-nav__item.is-open > .arx-nav__mega-btn {
    background: #f4f0ea;
    color: #1a3a6b;
}
.arx-nav--mega .arx-nav__list > li > a.current-menu-item {
    color: #1a3a6b;
    background: rgba(26,58,107,0.07);
}
.arx-nav__mega-btn svg {
    width: 14px;
    height: 14px;
    transition: transform 0.2s;
    color: #8a7a6a;
    flex-shrink: 0;
}
.arx-nav__item.is-open > .arx-nav__mega-btn svg { transform: rotate(180deg); }

/* Container mega menu — si aggancia all'header */
.arx-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
}
.arx-mega-menu {
    position: fixed;
    top: 80px; /* altezza header */
    left: 0;
    right: 0;
    z-index: 99;
    background: #fff;
    border-top: 2px solid #1a3a6b;
    border-bottom: 1px solid #e8e0d4;
    box-shadow: 0 16px 48px rgba(0,0,0,0.10);
    padding: 28px 0;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity 0.18s, transform 0.18s;
}
.arx-mega-menu.is-open {
    opacity: 1;
    pointer-events: all;
    transform: translateY(0);
}
.arx-mega-menu__inner {
    max-width: var(--arx-max-width, 1200px);
    margin: 0 auto;
    padding: 0 24px;
}

/* Griglia risorse (7 CPT) */
.arx-mega-menu--resources .arx-mega-menu__inner {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 8px;
}
@media (max-width: 960px) {
    .arx-mega-menu--resources .arx-mega-menu__inner {
        grid-template-columns: repeat(4, 1fr);
    }
}

.arx-mega-resource-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 16px 10px;
    border-radius: 10px;
    text-align: center;
    text-decoration: none;
    color: #3a3530;
    border: 1px solid transparent;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.arx-mega-resource-link:hover {
    background: #f4f0ea;
    border-color: #e0d8cc;
    color: #1a3a6b;
}
.arx-mega-resource-link__icon {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8f5f0;
    border-radius: 10px;
    border: 1px solid #e8e0d4;
    transition: background 0.15s, border-color 0.15s;
}
.arx-mega-resource-link:hover .arx-mega-resource-link__icon {
    background: #fff;
    border-color: #1a3a6b;
}
.arx-mega-resource-link__label {
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.01em;
}
.arx-mega-resource-link__count {
    font-size: 0.68rem;
    color: #a09080;
    margin-top: -6px;
}

/* Mega menu Progetto */
.arx-mega-menu--progetto .arx-mega-menu__inner {
    display: grid;
    grid-template-columns: 1fr 1fr 1.5fr;
    gap: 32px;
    align-items: start;
}
.arx-mega-menu__col-title {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #a09080;
    margin: 0 0 14px;
}
.arx-mega-menu__links {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.arx-mega-menu__link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border-radius: 8px;
    text-decoration: none;
    color: #3a3530;
    font-size: 0.88rem;
    font-weight: 600;
    transition: background 0.15s, color 0.15s;
}
.arx-mega-menu__link:hover {
    background: #f4f0ea;
    color: #1a3a6b;
}
.arx-mega-menu__link svg { color: #1a3a6b; flex-shrink: 0; }
.arx-mega-menu__link-desc {
    font-size: 0.75rem;
    font-weight: 400;
    color: #8a7a6a;
    display: block;
    margin-top: 1px;
}

/* Grafica decorativa mega menu */
.arx-mega-menu__visual {
    background: linear-gradient(135deg, #f8f5f0, #f0ebe3);
    border: 1px solid #e8e0d4;
    border-radius: 12px;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 160px;
    position: relative;
    overflow: hidden;
}
.arx-mega-menu__visual-svg {
    width: 100%;
    height: auto;
    max-height: 160px;
}

/* ================================================================
   SIDEBAR SINISTRA — Menu risorse + filtri comuni (pubblico)
   ================================================================ */

/* Layout con sidebar */
.arx-layout-sidebar {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 32px;
    max-width: var(--arx-max-width, 1200px);
    margin: 0 auto;
    padding: 32px 24px;
    align-items: start;
}
@media (max-width: 900px) {
    .arx-layout-sidebar {
        grid-template-columns: 1fr;
    }
    .arx-sidebar { display: none; }
    .arx-sidebar.is-open { display: block; }
    .arx-sidebar-toggle { display: flex !important; }
}

.arx-sidebar {
    position: sticky;
    top: 168px; /* header(80) + comuni-nav(46) + 8px gap */
    background: #fff;
    border: 1px solid #e8e0d4;
    border-radius: 10px;
    overflow: hidden;
}
.arx-sidebar-toggle {
    display: none;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 12px 16px;
    background: #f4f0ea;
    border: 1px solid #e0d8cc;
    border-radius: 8px;
    font-size: 0.83rem;
    font-weight: 600;
    color: #1a3a6b;
    cursor: pointer;
    margin-bottom: 12px;
}

/* Intestazione sidebar */
.arx-sidebar__head {
    background: #1a3a6b;
    color: #fff;
    padding: 12px 16px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

/* Sezioni sidebar */
.arx-sidebar__section { padding: 12px 0; border-bottom: 1px solid #f0ebe3; }
.arx-sidebar__section:last-child { border-bottom: none; }
.arx-sidebar__section-label {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #a09080;
    padding: 0 14px 8px;
}

/* Link risorsa nella sidebar */
.arx-sidebar__resource-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 9px 14px;
    color: #3a3530;
    text-decoration: none;
    font-size: 0.83rem;
    font-weight: 500;
    transition: background 0.14s, color 0.14s;
    border-left: 2px solid transparent;
}
.arx-sidebar__resource-link:hover {
    background: #faf8f4;
    color: #1a3a6b;
    border-left-color: #c9a84c;
}
.arx-sidebar__resource-link.is-active {
    background: #f4f0ea;
    color: #1a3a6b;
    font-weight: 700;
    border-left-color: #1a3a6b;
}
.arx-sidebar__resource-link .arx-icon { color: #1a3a6b; opacity: 0.8; }
.arx-sidebar__resource-link.is-active .arx-icon { opacity: 1; }
.arx-sidebar__resource-count {
    margin-left: auto;
    font-size: 0.7rem;
    color: #b0a090;
    background: #f0ebe3;
    padding: 1px 7px;
    border-radius: 10px;
}

/* Filtri comuni nella sidebar */
.arx-sidebar__comune-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px;
    font-size: 0.79rem;
    color: #5a5045;
    text-decoration: none;
    transition: background 0.14s, color 0.14s;
    border-left: 2px solid transparent;
}
.arx-sidebar__comune-link::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #c9a84c;
    flex-shrink: 0;
}
.arx-sidebar__comune-link:hover {
    background: #faf8f4;
    color: #1a3a6b;
    border-left-color: #c9a84c;
}
.arx-sidebar__comune-link.is-active {
    color: #1a3a6b;
    font-weight: 700;
    border-left-color: #c9a84c;
    background: #faf8f4;
}

/* Filtro Comuni nella colonna sinistra: testo rosso, senza pallino/ovale. */
.arx-sidebar__section--comuni .arx-sidebar__comune-link {
    color: #a3262a;
}
.arx-sidebar__section--comuni .arx-sidebar__comune-link::before {
    display: none;
}
.arx-sidebar__section--comuni .arx-sidebar__comune-link:hover,
.arx-sidebar__section--comuni .arx-sidebar__comune-link.is-active {
    color: #7f171c;
}

/* ================================================================
   GUIDA ALL'USO — Layout e stili
   ================================================================ */

.arx-guide-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 40px;
    max-width: 1140px;
    margin: 0 auto;
    padding: 40px 24px 80px;
    align-items: start;
}
@media (max-width: 900px) {
    .arx-guide-layout { grid-template-columns: 1fr; }
    .arx-guide-sidebar { position: static !important; }
}

.arx-guide-sidebar {
    position: sticky;
    top: 168px;
    background: #fff;
    border: 1px solid #e8e0d4;
    border-radius: 10px;
    overflow: hidden;
    max-height: calc(100vh - 200px);
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #e0d8cc transparent;
}
.arx-guide-sidebar::-webkit-scrollbar { width: 4px; }
.arx-guide-sidebar::-webkit-scrollbar-thumb { background: #e0d8cc; border-radius: 2px; }

.arx-guide-nav__head {
    background: #1a3a6b;
    color: #fff;
    padding: 14px 16px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    position: sticky;
    top: 0;
}
.arx-guide-nav__group {
    padding: 8px 0;
    border-bottom: 1px solid #f0ebe3;
}
.arx-guide-nav__group:last-child { border-bottom: none; }
.arx-guide-nav__group-label {
    font-size: 0.67rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #b0a090;
    padding: 8px 14px 4px;
}
.arx-guide-nav__link {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px 14px;
    font-size: 0.81rem;
    color: #3a3530;
    text-decoration: none;
    border-left: 2px solid transparent;
    transition: background 0.14s, color 0.14s, border-color 0.14s;
    line-height: 1.3;
}
.arx-guide-nav__link:hover {
    background: #faf8f4;
    color: #1a3a6b;
    border-left-color: #c9a84c;
}
.arx-guide-nav__link.is-active {
    background: #f0ebe3;
    color: #1a3a6b;
    font-weight: 700;
    border-left-color: #1a3a6b;
}
.arx-guide-nav__link svg { flex-shrink: 0; color: #1a3a6b; }
.arx-guide-nav__link span { font-size: 0.68rem; font-weight: 400; color: #a09080; display: block; }

/* Contenuto guida */
.arx-guide-content section {
    padding: 48px 0;
    border-bottom: 1px solid #f0ebe3;
    scroll-margin-top: 180px; /* offset per header sticky */
}
.arx-guide-content section:last-child { border-bottom: none; }
.arx-guide-section-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #8c4b6c;
    margin-bottom: 10px;
}
.arx-guide-content h2 {
    font-size: clamp(1.3rem, 2.5vw, 1.8rem);
    color: #1a1410;
    margin: 0 0 12px;
    line-height: 1.25;
}
.arx-guide-content h3 {
    font-size: 1.05rem;
    color: #1a3a6b;
    margin: 24px 0 8px;
    font-weight: 700;
}
.arx-guide-content p, .arx-guide-content li {
    font-size: 0.9rem;
    line-height: 1.75;
    color: #3a3530;
}
.arx-guide-content ul { margin: 8px 0 12px 18px; }
.arx-guide-content li { margin-bottom: 5px; }

/* Box standard archivistico */
.arx-standard-card {
    background: #fff;
    border: 1px solid #e8e0d4;
    border-radius: 10px;
    overflow: hidden;
    margin: 20px 0;
}
.arx-standard-card__head {
    background: #f8f5f0;
    border-bottom: 1px solid #e8e0d4;
    padding: 14px 20px;
    display: flex;
    align-items: center;
    gap: 14px;
}
.arx-standard-card__acronym {
    font-size: 1rem;
    font-weight: 800;
    color: #1a3a6b;
    font-family: 'Source Sans 3', sans-serif;
    letter-spacing: 0.04em;
    white-space: nowrap;
}
.arx-standard-card__full-name {
    font-size: 0.78rem;
    color: #5a5045;
    line-height: 1.4;
}
.arx-standard-card__body { padding: 18px 20px; }
.arx-standard-card__body p { font-size: 0.85rem; line-height: 1.65; color: #3a3530; margin: 0 0 8px; }

.arx-standard-specs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 12px;
}
@media (max-width: 600px) { .arx-standard-specs { grid-template-columns: 1fr; } }
.arx-standard-spec {
    background: #faf8f4;
    border-radius: 6px;
    padding: 10px 14px;
    font-size: 0.78rem;
}
.arx-standard-spec__label {
    font-weight: 700;
    color: #1a3a6b;
    font-size: 0.7rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 3px;
}
.arx-standard-spec__value { color: #3a3530; }

/* Ruolo operatore cards */
.arx-role-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin: 20px 0;
}
@media (max-width: 680px) { .arx-role-cards { grid-template-columns: 1fr; } }
.arx-role-card {
    border: 1px solid #e8e0d4;
    border-radius: 10px;
    overflow: hidden;
}
.arx-role-card__head {
    padding: 14px 16px;
    border-bottom: 1px solid #f0ebe3;
    display: flex;
    align-items: center;
    gap: 10px;
}
.arx-role-card__icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
}
.arx-role-card--responsabile .arx-role-card__icon { background: rgba(26,58,107,0.1); }
.arx-role-card--editore .arx-role-card__icon { background: rgba(45,106,79,0.1); }
.arx-role-card--revisore .arx-role-card__icon { background: rgba(140,75,108,0.1); }
.arx-role-card__name { font-weight: 700; font-size: 0.88rem; color: #1a1410; }
.arx-role-card__body { padding: 14px 16px; }
.arx-role-card__body ul { margin: 0 0 0 14px; padding: 0; }
.arx-role-card__body li { font-size: 0.8rem; color: #5a5045; margin-bottom: 4px; }

/* ================================================================
   SOSTENITORI — Griglia partner
   ================================================================ */
.arx-partners-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
    margin: 24px 0;
}
.arx-partner-card {
    background: #fff;
    border: 1px solid #e8e0d4;
    border-radius: 10px;
    padding: 20px 16px;
    text-align: center;
    transition: box-shadow 0.18s, border-color 0.18s;
}
.arx-partner-card:hover {
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    border-color: #c9a84c;
}
.arx-partner-card__icon {
    font-size: 2rem;
    margin-bottom: 10px;
    display: block;
}
.arx-partner-card__name {
    font-size: 0.85rem;
    font-weight: 700;
    color: #1a1410;
    margin-bottom: 4px;
}
.arx-partner-card__role {
    font-size: 0.72rem;
    color: #8a7a6a;
    line-height: 1.4;
}

.arx-support-cta {
    background: #f8f5f0;
    border: 1px solid #e8e0d4;
    border-radius: 12px;
    padding: 32px;
    margin-top: 40px;
    text-align: center;
}
.arx-support-cta h2 { color: #1a1410; margin-bottom: 12px; }
.arx-support-cta p { color: #5a5045; margin-bottom: 20px; }


/* ================================================================
   PATCH UI — Grigio cards, testo visibile, classi mancanti
   ================================================================ */

/* ── Sfondo grigio chiaro per tutte le cards ─────────────────── */
.arx-card,
.arx-doc-card,
.arx-resource-card,
.arx-type-card,
.arx-stat-card,
.arx-partner-card,
.arx-support-cta__card,
.arx-role-card,
.arx-standard-card {
    background: #f7f5f2 !important;
    border: 1px solid #e8e4de !important;
}
/* I doc-card mantengono l'accent color sul top */
.arx-doc-card { border-top:0 !important; }

/* Le cards pari alternano leggermente il grigio */
.arx-docs-grid .arx-doc-card:nth-child(even),
.arx-partners-grid .arx-partner-card:nth-child(even) {
    background: #f3f0ec !important;
}

/* Hover: bianco per dare l'effetto "sollevato" */
.arx-doc-card:hover,
.arx-type-card:hover,
.arx-partner-card:hover,
.arx-support-cta__card:hover {
    background: #ffffff !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.10) !important;
}

/* ── Testo bianco su bianco — fix hero sections ──────────────── */
.arx-hero__stats {
    color: #5a5045 !important;
}
.arx-hero__stats strong {
    color: #1a3a6b !important;
    display: block;
}
.arx-hero .arx-btn--primary {
    background: #1a3a6b !important;
    color: #fff !important;
}

/* ── Page hero (sostenitori, pagine interne) ─────────────────── */
.arx-page-hero {
    background: #faf8f4;
    border-bottom: 2px solid #c9a84c;
    padding: 56px 24px 40px;
}
.arx-page-hero__inner {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}
.arx-page-hero__inner h1 {
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    color: #1a1410;
    margin: 12px 0 16px;
}
.arx-page-hero__inner svg { color: #1a3a6b; }
.arx-page-hero__lead {
    font-size: 1.05rem;
    color: #5a5045;
    line-height: 1.7;
    max-width: 640px;
    margin: 0 auto;
}

/* ── Page wrap ───────────────────────────────────────────────── */
.arx-page-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px 80px;
}
.arx-page-wrap--wide { max-width: 1280px; }

/* ── Sezione sostenitori ─────────────────────────────────────── */
.arx-supporters-section {
    padding: 56px 0 16px;
    border-bottom: 1px solid #ece8e0;
}
.arx-supporters-section:last-child { border-bottom: none; }
.arx-supporters-section__head {
    margin-bottom: 32px;
}
.arx-supporters-section__head h2 {
    font-size: 1.5rem;
    color: #1a1410;
    margin: 8px 0 10px;
}
.arx-supporters-section__head p {
    color: #5a5045;
    max-width: 680px;
    line-height: 1.7;
}

/* ── Partner grid ────────────────────────────────────────────── */
.arx-partners-grid {
    display: grid;
    gap: 20px;
}
.arx-partners-grid--comuni {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}
.arx-partners-grid--istituzionali {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.arx-partner-card {
    display: flex;
    gap: 18px;
    padding: 20px;
    border-radius: 10px;
    border: 1px solid #e8e4de;
    background: #f7f5f2;
    transition: box-shadow 0.18s, background 0.18s;
}
.arx-partner-card:hover {
    background: #fff;
    box-shadow: 0 4px 18px rgba(0,0,0,0.09);
}
.arx-partner-card__visual {
    width: 64px;
    height: 64px;
    flex-shrink: 0;
    border-radius: 8px;
    background: #f0ebe3;
    border: 1px solid #e0d8cc;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.arx-partner-card__visual svg { width: 52px; height: 52px; }
.arx-partner-card__visual--text {
    font-size: 1rem;
    font-weight: 800;
    color: #1a3a6b;
    font-family: var(--arx-font-serif, serif);
}
.arx-partner-card__body { flex: 1; min-width: 0; }
.arx-partner-card__body h3 {
    font-size: 0.95rem;
    color: #1a1410;
    margin: 0 0 3px;
    font-weight: 700;
}
.arx-partner-card__role {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #8c4b6c;
    margin: 0 0 8px;
}
.arx-partner-card__body p {
    font-size: 0.82rem;
    color: #5a5045;
    line-height: 1.6;
    margin: 0 0 10px;
}
.arx-partner-card__meta {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    font-size: 0.75rem;
    color: #8a7a6a;
}
.arx-partner-card__meta svg { vertical-align: middle; }
.arx-partner-card__link {
    color: #1a3a6b;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.arx-partner-card__link:hover { color: #8c4b6c; }

/* ── Support CTA cards ───────────────────────────────────────── */
.arx-support-cta {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 20px;
}
.arx-support-cta__card {
    display: flex;
    flex-direction: column;
    padding: 28px 24px;
    border-radius: 10px;
    border: 1px solid #e8e4de;
    background: #f7f5f2;
    transition: box-shadow 0.18s, background 0.18s;
}
.arx-support-cta__card:hover {
    background: #fff;
    box-shadow: 0 4px 18px rgba(0,0,0,0.09);
}
.arx-support-cta__icon {
    margin-bottom: 16px;
    color: #1a3a6b;
}
.arx-support-cta__card h3 {
    font-size: 1rem;
    color: #1a1410;
    margin: 0 0 10px;
}
.arx-support-cta__card p {
    font-size: 0.85rem;
    color: #5a5045;
    line-height: 1.65;
    flex: 1;
    margin: 0 0 20px;
}
.arx-support-cta__footer { margin-top: auto; }

/* ── btn--outline alias ──────────────────────────────────────── */
.arx-btn--outline {
    background: transparent;
    color: #1a3a6b;
    border: 1.5px solid #1a3a6b;
    padding: 9px 20px;
    border-radius: var(--arx-radius, 4px);
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}
.arx-btn--outline:hover {
    background: #1a3a6b;
    color: #fff;
}

/* ── Guide section tag (etichetta categoria) ─────────────────── */
.arx-guide-section-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #8c4b6c;
    background: rgba(140,75,108,0.08);
    border-radius: 20px;
    padding: 4px 12px;
    margin-bottom: 8px;
}
.arx-guide-section-tag svg { color: #8c4b6c; }

/* ── Guide sections: titoli e testo visibili ─────────────────── */
.arx-guide-content section {
    padding: 40px 0;
    border-bottom: 1px solid #ece8e0;
}
.arx-guide-content section:last-child { border-bottom: none; }
.arx-guide-content h2 {
    font-size: 1.5rem;
    color: #1a1410;
    margin: 0 0 14px;
}
.arx-guide-content h3 {
    font-size: 1.05rem;
    color: #1a3a6b;
    margin: 20px 0 8px;
}
.arx-guide-content p {
    color: #3a3530;
    line-height: 1.75;
    margin-bottom: 12px;
}
.arx-guide-content ul {
    margin: 8px 0 12px 20px;
}
.arx-guide-content ul li {
    color: #3a3530;
    line-height: 1.65;
    margin-bottom: 4px;
}

/* Standard card (guida) ─────────────────────────────────────── */
.arx-standard-card {
    background: #f7f5f2;
    border: 1px solid #e8e4de;
    border-radius: 10px;
    overflow: hidden;
    margin: 20px 0;
}
.arx-standard-card__head {
    background: #1a3a6b;
    color: #fff;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    gap: 14px;
}
.arx-standard-card__acronym {
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: #c9a84c;
    flex-shrink: 0;
}
.arx-standard-card__full-name {
    font-size: 0.85rem;
    font-weight: 600;
    color: #fff;
    line-height: 1.35;
}
.arx-standard-card__body {
    padding: 20px;
}
.arx-standard-card__body p {
    font-size: 0.88rem;
    color: #3a3530;
    line-height: 1.7;
    margin-bottom: 12px;
}
.arx-standard-card__body h3 {
    font-size: 0.9rem;
    color: #1a3a6b;
    margin: 16px 0 6px;
}
.arx-standard-card__body ul {
    margin: 4px 0 10px 18px;
}
.arx-standard-card__body ul li {
    font-size: 0.85rem;
    color: #3a3530;
    line-height: 1.6;
    margin-bottom: 4px;
}

/* Standard specs grid ────────────────────────────────────────── */
.arx-standard-specs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin: 16px 0 0;
}
@media (max-width: 600px) { .arx-standard-specs { grid-template-columns: 1fr; } }
.arx-standard-spec {
    background: #fff;
    border: 1px solid #ece8e0;
    border-radius: 6px;
    padding: 10px 14px;
}
.arx-standard-spec__label {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #8a7a6a;
    margin-bottom: 4px;
}
.arx-standard-spec__value {
    font-size: 0.82rem;
    color: #1a1410;
    line-height: 1.5;
}

/* Role cards (guida operatori) ──────────────────────────────── */
.arx-role-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 14px;
    margin: 16px 0;
}
.arx-role-card {
    background: #f7f5f2;
    border: 1px solid #e8e4de;
    border-radius: 10px;
    overflow: hidden;
}
.arx-role-card__head {
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid #e8e4de;
}
.arx-role-card__icon { font-size: 1.2rem; }
.arx-role-card__name {
    font-size: 0.82rem;
    font-weight: 700;
    color: #1a1410;
}
.arx-role-card__body { padding: 10px 14px; }
.arx-role-card__body ul { margin: 0 0 0 14px; padding: 0; }
.arx-role-card__body ul li {
    font-size: 0.78rem;
    color: #3a3530;
    line-height: 1.6;
    margin-bottom: 3px;
}
.arx-role-card--responsabile .arx-role-card__head { background: rgba(26,58,107,0.07); }
.arx-role-card--editore .arx-role-card__head      { background: rgba(45,106,79,0.07); }
.arx-role-card--revisore .arx-role-card__head     { background: rgba(181,101,29,0.07); }

/* ── Pagina hero: testo sempre visibile ──────────────────────── */
.arx-page-hero * { color: inherit; }
.arx-page-hero h1 { color: #1a1410 !important; }
.arx-page-hero p  { color: #5a5045 !important; }
.arx-page-hero svg { color: #1a3a6b !important; }

/* ── Sfondo pagina bianco puro ───────────────────────────────── */
body { background: #fafaf8 !important; }
.arx-site-wrap { background: #ffffff; }
.arx-guide-content,
.arx-guide-layout,
.arx-layout-sidebar,
.arx-page-wrap { background: #ffffff; }

/* ── Visibilità testo generico in archivi ────────────────────── */
.arx-archive-header {
    background: #faf8f4 !important;
    border-bottom: 2px solid #c9a84c;
    padding: 32px 24px;
}
.arx-archive-header h1 { color: #1a1410 !important; }
.arx-archive-header p  { color: #5a5045 !important; }

/* Nessun testo bianco residuo su sfondo bianco */
.arx-hero__title   { color: #1a1410 !important; }
.arx-hero__subtitle { color: #5a5045 !important; }
.arx-hero__stats   { color: #5a5045 !important; }
.arx-hero__stats strong { color: #1a3a6b !important; display: block; }


/* ═══════════════════════════════════════════════════════════════
   PATCH: Full-page layout + Homepage 3 colonne
   ═══════════════════════════════════════════════════════════════ */

/* Body background bianco sull'homepage */
body.home,
body.front-page {
    background: #fff;
}

/* Header e comuni nav full-width sulla homepage */
body.home .arx-header__inner,
body.front-page .arx-header__inner,
body.home .arx-comuni-nav__inner,
body.front-page .arx-comuni-nav__inner {
    max-width: 100%;
    padding-left: 28px;
    padding-right: 28px;
}

/* Homepage: barra Comuni amaranto e voci centrate. */
body.home .arx-comuni-nav,
body.front-page .arx-comuni-nav {
    background:#7f171c !important;
    border-top:0 !important;
    border-bottom:2px solid #c9a84c !important;
    box-shadow:0 2px 8px rgba(65,8,12,.18) !important;
}
body.home .arx-comuni-nav__inner,
body.front-page .arx-comuni-nav__inner {
    justify-content:center;
}
body.home .arx-comuni-nav a,
body.front-page .arx-comuni-nav a,
body.home .arx-comuni-nav a:first-child,
body.front-page .arx-comuni-nav a:first-child {
    color:#fff !important;
    border-right-color:rgba(255,255,255,.18) !important;
}
body.home .arx-comuni-nav a:hover,
body.front-page .arx-comuni-nav a:hover {
    color:#fff !important;
    background:rgba(255,255,255,.13) !important;
}
body.home .arx-comuni-nav a.is-active,
body.front-page .arx-comuni-nav a.is-active {
    color:#fff !important;
    background:rgba(255,255,255,.18) !important;
    border-bottom-color:#fff !important;
}
body.home .arx-comuni-nav a span,
body.front-page .arx-comuni-nav a span {
    background:#fff !important;
}

@media (max-width:768px) {
    body.home .arx-comuni-nav__inner,
    body.front-page .arx-comuni-nav__inner { justify-content:flex-start; }
}

/* arx-site-wrap pieno sulla homepage (niente padding extra) */
body.home .arx-site-wrap,
body.front-page .arx-site-wrap {
    padding: 0;
}

/* Nav links colore corretto (testo scuro su sfondo bianco) */
body.home .arx-nav__list a,
body.front-page .arx-nav__list a {
    color: #2a2520;
}
body.home .arx-nav__list a:hover,
body.front-page .arx-nav__list a:hover,
body.home .arx-nav__list .current-menu-item a,
body.front-page .arx-nav__list .current-menu-item a {
    color: var(--arx-primary);
    background: rgba(26,58,107,.07);
}

/* ═══════════════════════════════════════════════════════════════
   FOOTER — prova nera, contenitore editoriale fino a 1600 px
   ═══════════════════════════════════════════════════════════════ */
.arx-footer {
    background: #171717 !important;
    color: rgba(255,255,255,.72) !important;
    border-top: 0 !important;
}

.arx-footer__inner {
    width: min(1600px, 100%);
    max-width: 1600px;
    padding-inline: clamp(20px, 4vw, 64px);
}

.arx-footer h4,
.arx-footer__logo,
.arx-footer__logo strong {
    color: #fff !important;
}

.arx-footer p,
.arx-footer a,
.arx-footer__col ul a,
.arx-footer__nav li a {
    color: rgba(255,255,255,.68) !important;
}

.arx-footer a:hover,
.arx-footer__col ul a:hover,
.arx-footer__nav li a:hover {
    color: #f1dcc0 !important;
}

.arx-footer__version {
    color: rgba(255,255,255,.42) !important;
}

.arx-bene-comune-notice {
    background: rgba(255,255,255,.045) !important;
    color: rgba(255,255,255,.66) !important;
    border-color: rgba(255,255,255,.1) !important;
}

.arx-footer__bottom {
    background: transparent !important;
    border-top-color: rgba(255,255,255,.12) !important;
}

.arx-footer__bottom p,
.arx-footer__bottom a {
    color: rgba(255,255,255,.5) !important;
}

.arx-footer-partners {
    margin-top: 30px;
    padding: clamp(30px, 4vw, 58px) 0 clamp(18px, 3vw, 40px);
    border-top: 1px solid rgba(255,255,255,.13);
    overflow: hidden;
}

.arx-footer-partners img {
    display: block;
    width: min(100%, 1480px);
    height: auto;
    margin: 0 auto;
}

.arx-footer-partners__layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 28px;
}

.arx-footer-partners__group {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(120px, 180px) minmax(0, 1fr);
    align-items: center;
    gap: 22px;
    padding: 18px 0;
    border-top: 1px solid rgba(255,255,255,.12);
}

.arx-footer-partners__group--wide { grid-column: 1 / -1; }

.arx-footer-partners__group h3 {
    margin: 0;
    color: #fff;
    font: 700 clamp(.78rem, 1.2vw, 1rem)/1.25 var(--arx-font-sans);
    letter-spacing: .05em;
    text-transform: uppercase;
}

.arx-footer-partners__group img {
    width: 100%;
    max-width: 100%;
    max-height: 122px;
    object-fit: contain;
    object-position: left center;
    margin: 0;
}

.arx-footer-partners__group:not(.arx-footer-partners__group--wide) img {
    max-height: 105px;
}

/* Homepage: footer essenziale, crediti e prestazioni in chiusura. */
.arx-footer-intro { display: contents; }
body.home .arx-footer__inner,
body.front-page .arx-footer__inner {
    display: flex;
    flex-direction: column;
}
body.home .arx-footer-intro,
body.front-page .arx-footer-intro {
    order: 1;
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(0, 2fr);
    gap: clamp(30px, 5vw, 80px);
    align-items: start;
}
body.home .arx-footer__grid,
body.front-page .arx-footer__grid {
    grid-template-columns: minmax(0, 1fr);
    padding-bottom: 0;
}
body.home .arx-bene-comune-notice,
body.front-page .arx-bene-comune-notice { margin: 0; }
body.home .arx-footer-partners,
body.front-page .arx-footer-partners { order: 5; border-top: 0; }
body.home .arx-footer-partners__group:first-child,
body.front-page .arx-footer-partners__group:first-child { border-top: 0; }
body.home .arx-footer__bottom,
body.front-page .arx-footer__bottom {
    order: 10;
    margin-top: 26px;
    padding-top: 26px;
    font-size: 1.05rem;
    line-height: 1.65;
}
body.home .arx-footer__bottom p,
body.home .arx-footer__bottom a,
body.front-page .arx-footer__bottom p,
body.front-page .arx-footer__bottom a {
    font-size: inherit;
}
body.home .arx-footer-runtime,
body.front-page .arx-footer-runtime {
    order: 11;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 9px 18px;
    margin: 16px 0 0;
    padding-bottom: 8px;
    color: rgba(255,255,255,.52);
    font-size: .9rem;
    text-align: center;
}
body.home .arx-footer-runtime .arx-page-load-time,
body.front-page .arx-footer-runtime .arx-page-load-time { margin: 0; padding: 0; color: inherit; font-size: inherit; }
body.home .arx-footer__home-version,
body.home .arx-footer__home-count,
body.front-page .arx-footer__home-version,
body.front-page .arx-footer__home-count {
    position: relative;
    color: inherit;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .06em;
}
body.home .arx-footer__home-version::before,
body.home .arx-footer__home-count::before,
body.front-page .arx-footer__home-version::before,
body.front-page .arx-footer__home-count::before { content: '•'; margin-right: 18px; color: rgba(255,255,255,.3); }
body.home .arx-bene-comune-notice,
body.home .arx-bene-comune-notice strong,
body.home .arx-bene-comune-notice a,
body.front-page .arx-bene-comune-notice,
body.front-page .arx-bene-comune-notice strong,
body.front-page .arx-bene-comune-notice a {
    color: rgba(255,255,255,.66) !important;
}
@media (max-width: 800px) {
    body.home .arx-footer-intro,
    body.front-page .arx-footer-intro {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 20px 12px 26px;
    }
}
@media (max-width: 520px) {
    body.home .arx-footer-intro,
    body.front-page .arx-footer-intro {
        gap: 20px;
        padding: 18px 4px 24px;
    }
    body.home .arx-bene-comune-notice,
    body.front-page .arx-bene-comune-notice { padding: 14px 16px; }
}

/* Privacy — impaginazione editoriale e decorazione fotografica. */
body.arx-privacy-policy-page .arx-site-wrap {
    position: relative;
    isolation: isolate;
    background-color: #eee8df;
    background-image:
        linear-gradient(90deg, rgba(238,232,223,.9), rgba(238,232,223,.58) 38%, rgba(238,232,223,.82)),
        url("../img/progetto-collage-light-v1.png");
    background-position: center, right top;
    background-size: cover, min(46vw, 700px) auto;
    background-repeat: no-repeat;
}
body.arx-privacy-policy-page .arx-legal-page {
    width: min(900px, calc(100vw - 400px));
    padding: 52px 34px 88px;
    background: rgba(250,248,245,.93);
    box-shadow: 0 0 60px rgba(42,34,27,.08);
}
body.arx-privacy-policy-page .arx-legal-page > h1 {
    position: relative;
    margin: 0 0 18px;
    padding: 22px 0 24px;
    border-bottom: 4px solid #111;
    font-size: clamp(2.15rem, 4vw, 3.8rem);
    line-height: .98;
    letter-spacing: -.035em;
}
body.arx-privacy-policy-page .arx-legal-page > h1::before {
    content: 'Informazioni, diritti e bene comune';
    display: block;
    margin-bottom: 12px;
    color: #71685f;
    font: 800 .7rem/1.2 var(--arx-font-sans);
    letter-spacing: .15em;
    text-transform: uppercase;
}
body.arx-privacy-policy-page .arx-legal-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 8px;
    margin: 0 0 34px;
    padding: 13px 16px;
    border: 1px solid #ddd5cb;
    border-radius: 14px;
    background: rgba(255,255,255,.8);
    color: #625a52;
    font-size: .83rem;
}
body.arx-privacy-policy-page .arx-legal-page > section {
    margin: 0 0 18px;
    padding: 26px 28px 28px;
    border: 1px solid #dfd8cf;
    border-radius: 18px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 10px 30px rgba(49,39,31,.045);
}
body.arx-privacy-policy-page .arx-legal-page > section > h2:first-child {
    margin: 0 0 15px;
    padding: 0 0 12px;
    border-bottom: 1px solid #e5dfd7;
    font-size: clamp(1.18rem, 2vw, 1.5rem);
    line-height: 1.2;
}
body.arx-privacy-policy-page .arx-legal-page p,
body.arx-privacy-policy-page .arx-legal-page li {
    font-size: 1rem;
    line-height: 1.72;
}
body.arx-privacy-policy-page .arx-legal-rail { top: 202px; }
body.arx-privacy-policy-page .arx-legal-rail .arx-legal-toc {
    padding: 22px 20px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 20px;
    background: rgba(12,12,12,.94);
    color: #fff;
    box-shadow: 0 18px 48px rgba(31,25,20,.2);
}
body.arx-privacy-policy-page .arx-legal-rail .arx-legal-toc h2,
body.arx-privacy-policy-page .arx-legal-rail .arx-legal-toc a,
body.arx-privacy-policy-page .arx-legal-rail .arx-legal-to-top {
    color: #fff !important;
}
body.arx-privacy-policy-page .arx-legal-rail .arx-legal-toc h2 { font-size: .78rem; letter-spacing: .14em; }
body.arx-privacy-policy-page .arx-legal-rail .arx-legal-toc li { margin-bottom: 7px; color: rgba(255,255,255,.58); }
body.arx-privacy-policy-page .arx-legal-rail .arx-legal-toc a { font-size: .79rem; font-weight: 700; text-decoration: none; }
body.arx-privacy-policy-page .arx-legal-rail .arx-legal-toc a:hover { color: #f1dcc0 !important; }
body.arx-privacy-policy-page .arx-legal-rail .arx-legal-to-top { border-top-color: rgba(255,255,255,.18); }
body.arx-privacy-policy-page .arx-legal-review { border-radius: 16px; }

@media (max-width: 1100px) {
    body.arx-privacy-policy-page .arx-legal-page {
        width: auto;
        max-width: 900px;
        margin-inline: auto;
        padding-inline: 28px;
    }
    body.arx-privacy-policy-page .arx-legal-rail { position: static; width: auto; max-height: none; margin: 24px 0 32px; }
    body.arx-privacy-policy-page .arx-legal-rail .arx-legal-toc { columns: 2; column-gap: 30px; }
    body.arx-privacy-policy-page .arx-legal-rail .arx-legal-toc h2,
    body.arx-privacy-policy-page .arx-legal-rail .arx-legal-to-top { column-span: all; }
}
@media (max-width: 680px) {
    body.arx-privacy-policy-page .arx-site-wrap { background-size: cover, 100% auto; }
    body.arx-privacy-policy-page .arx-legal-page { padding: 34px 16px 64px; }
    body.arx-privacy-policy-page .arx-legal-page > h1 { font-size: clamp(2rem, 11vw, 2.8rem); }
    body.arx-privacy-policy-page .arx-legal-page > section { padding: 21px 18px 23px; border-radius: 15px; }
    body.arx-privacy-policy-page .arx-legal-rail .arx-legal-toc { columns: 1; }
}

@media (max-width: 800px) {
    .arx-footer-partners__layout { grid-template-columns: 1fr; }
    .arx-footer-partners__group,
    .arx-footer-partners__group--wide { grid-column: 1; grid-template-columns: 1fr; gap: 12px; }
    .arx-footer-partners__group img { width: min(760px, 100%); max-width: 100%; }
}

@media (max-width: 760px) {
    .arx-footer-partners {
        overflow: hidden;
    }

    .arx-footer-partners__group img {
        width: 100%;
        max-width: 100%;
        margin-inline: 0;
    }
}

/* ═══════════════════════════════════════════════════════════════
   PATCH: Ripristino layout flex header (single row)
   ═══════════════════════════════════════════════════════════════ */
.arx-header__inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    height: 80px !important;
    padding: 0 28px !important;
    gap: 24px !important;
}
.arx-header__brand { flex-shrink: 0 !important; }
.arx-nav { flex: 1 !important; min-width: 0 !important; }
.arx-header__user { flex-shrink: 0 !important; }
.arx-search-toggle { flex-shrink: 0 !important; }

/* ─── Biblioteca e Demo riservate ───────────────────────────── */
.arx-section-hero { display:flex; align-items:center; gap:22px; padding:28px 0 32px; margin-bottom:30px; border-bottom:1px solid #e8e0d4; }
.arx-section-hero__icon { width:64px; height:64px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#f1e9dd; color:#8c2633; flex:0 0 auto; }
.arx-section-hero__kicker { margin:0 0 4px; color:#8c2633; font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.arx-section-hero h1 { margin:0 0 5px; color:#1a3a6b; }
.arx-section-hero p:last-child { margin:0; color:#6a5e54; }
.arx-section-hero > .arx-btn { margin-left:auto; flex:0 0 auto; }
.arx-library-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.arx-book-card { display:grid; grid-template-columns:240px minmax(0,1fr); min-height:240px; background:#fff; border:1px solid #e5ded4; border-radius:10px; overflow:hidden; box-shadow:0 5px 18px rgba(35,28,20,.06); }
.arx-book-card__cover { display:flex; align-items:center; justify-content:center; width:240px; height:240px; min-height:0; padding:14px; background:#eee; text-decoration:none; font-size:2.5rem; overflow:hidden; }
.arx-book-card__cover img { width:100%; height:100%; object-fit:contain; display:block; }
.arx-book-card__body { padding:18px; }
.arx-book-card h2 { margin:0 0 5px; font-size:1.08rem; }
.arx-book-card h2 a { color:#1a3a6b; text-decoration:none; }
.arx-book-card__author { color:#8c2633; font-weight:600; margin:0 0 8px; }
.arx-book-card__meta { display:flex; gap:7px; margin-bottom:10px; }
.arx-book-card__meta span { padding:2px 7px; border-radius:12px; background:#f1ede7; color:#6a5e54; font-size:.7rem; }
.arx-book-card__body > p:not(.arx-book-card__author) { font-size:.82rem; color:#6a5e54; }
.arx-book-card__more,.arx-book-detail__back { color:#8c2633; font-size:.8rem; font-weight:700; text-decoration:none; }
.arx-book-detail { max-width:1100px; }
.arx-book-detail__head { display:grid; grid-template-columns:260px 1fr; gap:42px; margin:24px 0 38px; align-items:start; }
.arx-book-detail__cover { min-height:340px; display:flex; align-items:center; justify-content:center; background:#eee7dc; border-radius:8px; overflow:hidden; font-size:4rem; }
.arx-book-detail__cover img { width:100%; height:auto; display:block; }
.arx-book-detail h1 { font-size:clamp(2rem,4vw,3.2rem); margin:4px 0 8px; color:#1a3a6b; }
.arx-book-detail__author { font-size:1.25rem; color:#8c2633; }
.arx-book-facts { display:grid; grid-template-columns:repeat(2,minmax(120px,1fr)); gap:8px 20px; margin:24px 0; }
.arx-book-facts div { border-bottom:1px solid #e8e0d4; padding:7px 0; }
.arx-book-facts dt { color:#8a7c70; font-size:.68rem; text-transform:uppercase; }
.arx-book-facts dd { margin:2px 0 0; font-weight:600; }
.arx-book-section { margin:36px 0; }
.arx-book-section h2 { color:#1a3a6b; border-bottom:1px solid #e8e0d4; padding-bottom:9px; }
.arx-book-lead { font:1.18rem/1.7 var(--arx-font-serif); color:#4a3f35; }
.arx-prose { line-height:1.75; }
.arx-book-reader-cta { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:22px; border:1px solid #ded5c9; border-radius:10px; background:#faf8f4; }
.arx-book-reader-cta > div { flex:1 1 280px; }
.arx-book-reader-cta h2,.arx-book-reader-cta p { margin:0; }
.arx-flipbook-modal { width:100vw; max-width:none; height:100vh; max-height:none; margin:0; padding:0; border:0; background:#171512; color:#fff; }
.arx-flipbook-modal::backdrop { background:rgba(0,0,0,.88); }
.arx-flipbook-shell { position:relative; height:100%; display:grid; grid-template-rows:1fr; }
.arx-flipbook-toolbar { position:absolute; z-index:20; inset:0; opacity:1; visibility:visible; pointer-events:none; transition:opacity .2s ease,visibility .2s ease; }
.arx-flipbook-modal.is-panels-hidden .arx-flipbook-toolbar { opacity:0; visibility:hidden; }
.arx-flipbook-identity { position:absolute; top:14px; left:14px; width:min(260px,28vw); min-height:48px; display:flex; flex-direction:column; justify-content:center; padding:7px 14px; border:1px solid rgba(255,255,255,.16); border-radius:24px; background:rgba(20,18,16,.9); box-shadow:0 10px 28px rgba(0,0,0,.32); backdrop-filter:blur(10px); pointer-events:auto; }
.arx-flipbook-toolbar strong { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.arx-flipbook-kicker { color:#c9a84c; font-size:.62rem; text-transform:uppercase; letter-spacing:.14em; }
.arx-flipbook-actions { display:contents; }
.arx-flipbook-cluster { position:absolute; z-index:2; display:flex; align-items:center; gap:6px; padding:7px; border:1px solid rgba(255,255,255,.18); border-radius:28px; background:rgba(20,18,16,.94); box-shadow:0 12px 34px rgba(0,0,0,.4); backdrop-filter:blur(12px); pointer-events:auto; }
.arx-flipbook-cluster:hover,.arx-flipbook-cluster:focus-within { z-index:100; }
.arx-flipbook-cluster--nav { top:14px; left:50%; transform:translateX(-50%); }
.arx-flipbook-cluster--layout { bottom:18px; left:18px; }
.arx-flipbook-cluster--tools { bottom:18px; right:18px; }
.arx-flipbook-cluster--utility { top:14px; right:14px; }
.arx-flipbook-external { display:inline-flex; align-items:center; gap:7px; min-height:40px; color:#fff; text-decoration:none; padding:8px 12px; border:1px solid rgba(255,255,255,.25); border-radius:20px; font-size:.78rem; }
.arx-flipbook-external:hover { background:#8c2633; border-color:#8c2633; color:#fff; }
.arx-flipbook-actions button { width:40px; height:40px; padding:0; border:1px solid rgba(255,255,255,.3); border-radius:50%; background:#000; color:#fff; font-size:1.25rem; cursor:pointer; }
.arx-flipbook-actions button,.arx-flipbook-actions a { flex:0 0 auto; align-items:center; justify-content:center; }
.arx-viewer-icon { display:block; width:21px; height:21px; margin:auto; pointer-events:none; }
.arx-flipbook-external .arx-viewer-icon { width:18px; height:18px; margin:0; }
.arx-flipbook-actions button:hover:not(:disabled),.arx-flipbook-actions button:focus-visible { background:#fff; border-color:#fff; color:#000; outline:none; }
.arx-flipbook-actions button[aria-pressed="true"] { background:#fff; border-color:#fff; color:#000; box-shadow:0 0 0 3px rgba(255,255,255,.18); }
.arx-flipbook-actions button:disabled { opacity:.3; cursor:default; }
.arx-flipbook-cluster [data-tooltip] { position:relative; }
.arx-flipbook-cluster [data-tooltip]::after { content:attr(data-tooltip); position:absolute; z-index:110; top:calc(100% + 10px); left:50%; width:max-content; max-width:180px; padding:6px 9px; border:1px solid #111; border-radius:7px; background:#fff; color:#111; box-shadow:0 7px 18px rgba(0,0,0,.28); font:700 .68rem/1.25 var(--arx-font-sans); letter-spacing:.02em; text-align:center; opacity:0; pointer-events:none; transform:translate(-50%,-3px); transition:opacity .15s ease,transform .15s ease; }
.arx-flipbook-cluster [data-tooltip]:hover::after,.arx-flipbook-cluster [data-tooltip]:focus-visible::after { opacity:1; transform:translate(-50%,0); }
.arx-flipbook-cluster--layout [data-tooltip]::after,.arx-flipbook-cluster--flow [data-tooltip]::after,.arx-flipbook-cluster--tools [data-tooltip]::after { top:auto; bottom:calc(100% + 10px); }
.arx-flipbook-close { margin-left:2px; }
.arx-flipbook-counter { min-width:70px; text-align:center; font-variant-numeric:tabular-nums; color:#d8d0c6; }
.arx-flipbook-zoom-value { min-width:52px; text-align:center; font-size:.78rem; color:#d8d0c6; }
.arx-flipbook-separator { width:1px; height:28px; background:rgba(255,255,255,.18); margin:0 3px; }
.arx-flipbook-stage { position:relative; min-height:0; display:flex; align-items:center; justify-content:center; overflow:hidden; padding:20px 60px 28px; background:radial-gradient(circle at 50% 45%,#4a4640 0,#27241f 48%,#171512 100%); }
.arx-flipbook-help-panel { position:absolute; z-index:21; top:76px; right:14px; width:min(440px,calc(100vw - 28px)); padding:0; overflow:hidden; border:2px solid #171717; border-radius:18px; background:#fff; color:#171717; box-shadow:0 20px 55px rgba(0,0,0,.48); }
.arx-flipbook-help-panel[hidden] { display:none; }
.arx-flipbook-help-panel > div { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:58px; padding:10px 12px 10px 20px; border-bottom:2px solid #171717; }
.arx-flipbook-help-panel strong { font-size:.78rem; letter-spacing:.11em; }
.arx-flipbook-help-panel ul { margin:0; padding:0; list-style:none; }
.arx-flipbook-help-panel li { display:grid; grid-template-columns:48px 1fr; align-items:center; gap:14px; margin:0; padding:14px 18px; color:#292929; font-size:.86rem; line-height:1.4; }
.arx-flipbook-help-panel li + li { border-top:1px solid #b8b8b8; }
.arx-flipbook-help-panel li > span { display:flex; align-items:center; justify-content:center; width:46px; height:46px; border:1.5px solid #171717; border-radius:50%; background:#f5f3ef; color:#111; }
.arx-flipbook-help-panel li .arx-viewer-icon { width:24px; height:24px; }
.arx-flipbook-help-panel li kbd { font:800 1rem/1 sans-serif; }
.arx-flipbook-help-panel li p { margin:0; }
.arx-flipbook-help-panel li b { display:block; margin-bottom:3px; color:#111; font-size:.69rem; letter-spacing:.08em; }
.arx-flipbook-help-panel button { display:flex; align-items:center; justify-content:center; width:34px; height:34px; padding:0; border:1px solid rgba(255,255,255,.3); border-radius:50%; background:#000; color:#fff; cursor:pointer; }
.arx-native-pdf-stage { padding:0; background:#3b3b3b; }
.arx-native-pdf { width:100%; height:100%; border:0; display:block; background:#fff; }
.arx-pdfjs-stage { padding:0; display:block; background:#383838; }
.arx-pdfjs-container { position:absolute; inset:0; overflow:auto; outline:0; --scale-factor:1; }
.arx-pdfjs-container.is-pan-enabled { cursor:grab; touch-action:none; user-select:none; }
.arx-pdfjs-container.is-dragging { cursor:grabbing; }
.arx-pdfjs-container .pdfViewer { padding:18px 0 36px; }
.arx-pdfjs-container .pdfViewer .page { box-shadow:0 5px 22px rgba(0,0,0,.48); }
.arx-pdfjs-container .pdfViewer .spread { gap:3px; }
.arx-flipbook-modal[data-layout="cover"] .pdfViewer .spread:first-child { text-align:center; }
.arx-flipbook-modal[data-layout="cover"] .pdfViewer .spread:first-child .page { width:var(--arx-cover-width)!important; height:var(--arx-cover-height)!important; }
.arx-flipbook-modal.is-continuous .pdfViewer { padding:86px 0 94px; }
.arx-flipbook-modal.is-multipage .pdfViewer { display:grid; grid-template-columns:repeat(var(--arx-grid-columns),max-content); align-items:start; justify-content:center; gap:14px; width:max-content; min-width:100%; }
.arx-flipbook-modal.is-multipage .pdfViewer .page { margin:0!important; }
.arx-flipbook-modal.is-multipage .pdfViewer .page { cursor:zoom-in; }
.arx-flipbook-modal.is-multipage .arx-pdfjs-container.is-pan-enabled .pdfViewer .page { cursor:grab; }
.arx-flipbook-modal.is-multipage .arx-pdfjs-container.is-dragging .pdfViewer .page { cursor:grabbing; }
.arx-page-zoom { position:absolute; z-index:12; top:8px; right:8px; display:flex; align-items:center; justify-content:center; width:42px; height:42px; padding:0; border:1.5px solid #fff; border-radius:50%; background:#050505; color:#fff; box-shadow:0 5px 18px rgba(0,0,0,.4); opacity:0; pointer-events:none; transform:translateX(6px); transition:opacity .16s ease,transform .16s ease,background .16s ease; cursor:zoom-in; }
.arx-page-zoom svg { width:27px; height:27px; overflow:visible; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.arx-page-zoom .arx-page-zoom__mouse { fill:rgba(255,255,255,.08); }
.arx-flipbook-modal.is-multipage .page:hover .arx-page-zoom,.arx-flipbook-modal.is-multipage .arx-page-zoom:focus-visible { opacity:1; pointer-events:auto; transform:translateX(0); }
.arx-flipbook-modal.is-multipage .arx-page-zoom:hover,.arx-flipbook-modal.is-multipage .arx-page-zoom:focus-visible { background:#fff; color:#000; outline:2px solid #000; outline-offset:2px; }
@media (hover:none) { .arx-flipbook-modal.is-multipage .arx-page-zoom { opacity:.92; pointer-events:auto; transform:none; } }
.arx-flipbook-page-input { width:3.6rem; padding:5px 4px; border:1px solid rgba(255,255,255,.25); border-radius:4px; background:#171512; color:#fff; text-align:center; font:inherit; }
.arx-flipbook-status.is-error span { display:none; }
.arx-flipbook-status.is-error p { max-width:32rem; padding:0 20px; color:#fff; text-align:center; }
.arx-flipbook-viewport { --arx-reader-zoom:1; width:100%; height:100%; min-width:0; min-height:0; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.arx-flipbook-viewport.is-zoomed { overflow:auto; align-items:flex-start; justify-content:flex-start; padding:24px; }
.arx-flipbook-pages { width:100%; height:100%; display:flex; align-items:center; justify-content:center; zoom:var(--arx-reader-zoom); flex:0 0 auto; }
.arx-pdf-page { height:100%; max-height:900px; aspect-ratio:279/480; display:flex; align-items:center; justify-content:center; overflow:hidden; background:#fff; box-shadow:0 14px 38px rgba(0,0,0,.38); transform-origin:center; backface-visibility:hidden; }
.arx-pdf-page + .arx-pdf-page { border-left:1px solid #bbb4aa; }
.arx-pdf-page canvas { width:100%; height:100%; display:block; object-fit:contain; background:#fff; }
.arx-flipbook-pages.is-turning-right .arx-pdf-page:last-child { animation:arx-page-next .42s ease-out; }
.arx-flipbook-pages.is-turning-left .arx-pdf-page:first-child { animation:arx-page-prev .42s ease-out; }
@keyframes arx-page-next { 0%{transform:perspective(1400px) rotateY(-16deg);filter:brightness(.72)} 100%{transform:perspective(1400px) rotateY(0);filter:brightness(1)} }
@keyframes arx-page-prev { 0%{transform:perspective(1400px) rotateY(16deg);filter:brightness(.72)} 100%{transform:perspective(1400px) rotateY(0);filter:brightness(1)} }
.arx-flip-page { background:#fff; box-shadow:inset 0 0 18px rgba(0,0,0,.08); }
.arx-flip-page canvas,.arx-flip-page img { width:100%; height:100%; display:block; object-fit:contain; }
.arx-flip-page__placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:#c8c0b5; font:600 1rem var(--arx-font-serif); background:linear-gradient(90deg,#f4f1eb,#fff 12%,#fff 88%,#f1ede6); }
.arx-flipbook-status { position:absolute; z-index:5; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; background:#27241f; }
.arx-flipbook-status[hidden] { display:none; }
.arx-flipbook-status span { width:42px; height:42px; border:3px solid rgba(255,255,255,.18); border-top-color:#c9a84c; border-radius:50%; animation:arx-spin .8s linear infinite; }
.arx-flipbook-status p { color:#d8d0c6; }
body.arx-flipbook-opened { overflow:hidden; }
.arx-document-cover-trigger { position:relative; display:block; width:min(100%,420px); margin:0 auto 18px; padding:0; overflow:hidden; border:0; border-radius:10px; background:#dedbd5; box-shadow:0 12px 36px rgba(0,0,0,.18); cursor:zoom-in; }
.arx-document-cover-trigger img { display:block; width:100%; max-height:68vh; object-fit:contain; }
.arx-document-cover-trigger span { position:absolute; right:14px; bottom:14px; padding:10px 16px; border-radius:999px; background:#000; color:#fff; font-size:.76rem; font-weight:800; letter-spacing:.05em; box-shadow:0 5px 18px rgba(0,0,0,.35); }
.arx-document-cover-trigger:hover span,.arx-document-cover-trigger:focus-visible span { background:#fff; color:#000; }
.arx-document-cover-trigger:focus-visible { outline:3px solid #111; outline-offset:4px; }
.arx-pdf-actions:has(.arx-document-cover-trigger) { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.arx-pdf-actions .arx-document-cover-trigger { flex:1 0 100%; }
.arx-native-video { margin:0; width:100%; }
.arx-native-video__stage { position:relative; width:100%; }
.arx-native-video video { display:block; width:100%; max-height:min(75vh,780px); background:#000; }
.arx-native-video figcaption { padding-top:8px; text-align:right; }
.arx-native-video figcaption a { color:inherit; font-size:.78rem; font-weight:700; letter-spacing:.04em; }
.arx-native-video__play {
  position:absolute; z-index:3; top:50%; left:50%; display:grid; place-items:center;
  width:108px; height:108px; padding:0; border:0; border-radius:0;
  background:transparent; color:#fff; cursor:pointer; transform:translate(-50%,-50%);
  box-shadow:none; transition:transform .2s;
}
.arx-native-video__play[hidden] { display:none; }
.arx-native-video__play:hover { background:transparent; transform:translate(-50%,-50%) scale(1.06); }
.arx-native-video__play:focus-visible { outline:3px solid #fff; outline-offset:5px; }
.arx-native-video__play svg { width:92px; height:92px; fill:none; stroke:currentColor; stroke-width:4; filter:drop-shadow(0 0 10px rgba(0,0,0,.72)); }
.arx-native-video__play svg circle { fill:rgba(0,0,0,.48); stroke:#fff; stroke-width:4; }
.arx-native-video__play svg path { fill:currentColor; stroke:none; }
.arx-native-video__play:hover svg circle { fill:rgba(0,0,0,.6); }
.arx-native-video__play span {
  position:absolute; top:calc(100% + 2px); width:max-content;
  color:#fff; font-size:.7rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase;
  text-shadow:0 2px 6px #000;
}
@media (max-width:680px) {
  .arx-native-video__play { width:88px; height:88px; }
  .arx-native-video__play svg { width:74px; height:74px; }
}
.arx-dearflip-open { cursor:pointer; }
.arx-book-reader-cta ._df_button.arx-dearflip-open { margin:0; }
.arx-book-cover-trigger { position:relative; cursor:pointer; transition:transform .2s ease,box-shadow .2s ease; }
.arx-book-cover-trigger:hover,.arx-book-cover-trigger:focus-visible { transform:translateY(-3px); box-shadow:0 12px 28px rgba(0,0,0,.22); outline:3px solid #8c2633; outline-offset:4px; }
.arx-book-cover-trigger::after { content:'Sfoglia'; position:absolute; right:10px; bottom:10px; padding:6px 10px; border-radius:18px; background:#8c2633; color:#fff; font-size:.72rem; font-weight:700; letter-spacing:.04em; box-shadow:0 2px 8px rgba(0,0,0,.3); }
.arx-detail-filter-link { color:#8c2633; font-weight:650; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.arx-detail-filter-link:hover,.arx-detail-filter-link:focus-visible { color:#5f111b; text-decoration-thickness:2px; }
.arx-frontend-edit-button { position:fixed; right:22px; bottom:22px; z-index:200; display:flex; align-items:center; gap:7px; padding:11px 17px; border:0; border-radius:24px; background:#7f171c; color:#fff; box-shadow:0 5px 18px rgba(50,5,8,.28); font:600 .85rem inherit; cursor:pointer; }
.arx-frontend-edit-button:hover { background:#5f111b; transform:translateY(-1px); }
.arx-frontend-edit-button--inline { position:static; width:max-content; max-width:100%; margin:0 0 18px auto; border-radius:7px; box-shadow:0 2px 8px rgba(50,5,8,.18); }
.arx-card-edit-button { position:absolute; top:8px; right:8px; z-index:8; display:flex; align-items:center; justify-content:center; width:30px; height:30px; padding:0; border:1px solid rgba(90,80,69,.22); border-radius:50%; background:rgba(255,255,255,.9); color:#7f171c; box-shadow:0 2px 7px rgba(30,22,17,.16); cursor:pointer; backdrop-filter:blur(2px); }
.arx-doc-card { position:relative; }
.arx-card-edit-button:hover,.arx-card-edit-button:focus-visible { color:#fff; background:#7f171c; border-color:#7f171c; transform:scale(1.06); outline:none; }
.arx-frontend-editor { position:fixed; inset:0; margin:auto; width:min(920px,94vw); max-width:none; height:min(86vh,900px); max-height:none; padding:0; border:0; border-radius:12px; box-shadow:0 22px 70px rgba(0,0,0,.35); transform:none !important; }
.arx-frontend-editor::backdrop { background:rgba(20,16,13,.72); backdrop-filter:blur(2px); }
.arx-frontend-editor__shell { height:100%; display:grid; grid-template-rows:auto auto 1fr auto; background:#fff; }
.arx-frontend-editor__shell > header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:16px 20px; border-bottom:1px solid #e5ded4; }
.arx-frontend-editor__shell header small { color:#8c2633; text-transform:uppercase; letter-spacing:.1em; }
.arx-frontend-editor__shell header h2 { margin:2px 0 0; font-size:1.35rem; }
.arx-frontend-editor__close { border:0; background:transparent; color:#5a5045; font-size:2rem; cursor:pointer; }
.arx-frontend-editor__notice { padding:10px 20px; background:#fff4d7; border-bottom:1px solid #ead59d; color:#66521f; font-size:.8rem; }
.arx-frontend-editor__body { overflow:auto; padding:18px 20px 28px; }
.arx-frontend-editor__body section + section { margin-top:24px; padding-top:20px; border-top:1px solid #e5ded4; }
.arx-frontend-editor__body h3 { margin:0 0 12px; color:#1a3a6b; font-size:1rem; }
.arx-frontend-editor__grid { display:grid; grid-template-columns:1fr 1fr; gap:12px 16px; }
.arx-frontend-editor__field { display:flex; flex-direction:column; gap:5px; margin-bottom:12px; color:#5a5045; font-size:.78rem; font-weight:600; }
.arx-frontend-editor__field input,.arx-frontend-editor__field textarea { width:100%; padding:9px 10px; border:1px solid #cfc7bc; border-radius:5px; background:#fff; color:#28231f; font:400 .9rem/1.45 inherit; resize:vertical; }
.arx-frontend-editor__field input:focus,.arx-frontend-editor__field textarea:focus { outline:2px solid rgba(127,23,28,.25); border-color:#7f171c; }
.arx-frontend-editor__shell > footer { display:flex; align-items:center; gap:10px; padding:12px 20px; border-top:1px solid #e5ded4; background:#faf9f7; }
.arx-frontend-editor__full { margin-right:auto; color:#1a3a6b; font-size:.8rem; }
.arx-frontend-editor__status { color:#5a5045; font-size:.78rem; }
.arx-frontend-editor__error { color:#8b0000; }
.arx-scheda__row dt { display:flex; align-items:center; gap:7px; }
.arx-detail-icon { flex:0 0 auto; color:#736e68; stroke:currentColor; }

/* Header coordinato su tutte le pagine interne; homepage esclusa. */
body:not(.home):not(.front-page) .arx-header,
body:not(.home):not(.front-page) .arx-header.arx-header--dark {
    background-color: #f6efe3 !important;
    background-image: url("../img/accessibilita-collage-top-v2.png") !important;
    background-position: center top !important;
    background-size: 100vw auto !important;
    background-repeat: no-repeat !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

body:not(.home):not(.front-page) .arx-header__logo-img,
body:not(.home):not(.front-page) .arx-header--dark .arx-header__logo-img {
    filter: brightness(0) !important;
}

body:not(.home):not(.front-page) .arx-header__brand::before {
    content: '';
    position: absolute;
    z-index: 0;
    inset: -22px -62px;
    border-radius: 50%;
    background: linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.07) 45%, transparent 100%);
    filter: blur(12px);
    pointer-events: none;
}

body:not(.home):not(.front-page) .arx-header__logo-link { position:relative; z-index:1; }

body:not(.home):not(.front-page) .arx-comuni-nav {
    top: 104px;
    margin-block: -1px;
    padding: 11px 24px;
    border: 0 !important;
    background-color: #f6efe3 !important;
    background-image: url("../img/accessibilita-collage-top-v2.png") !important;
    background-position: center -104px !important;
    background-size: 100vw auto !important;
    background-repeat: no-repeat !important;
    box-shadow: none !important;
}

body:not(.home):not(.front-page) .arx-comuni-nav__inner {
    width: max-content;
    max-width: calc(100vw - 48px);
    margin: 0 auto;
    padding: 6px;
    align-items: center;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 999px;
    background: rgba(24,24,24,.92);
    box-shadow: 0 12px 38px rgba(0,0,0,.2);
}

body:not(.home):not(.front-page) .arx-comuni-nav a,
body:not(.home):not(.front-page) .arx-comuni-nav a:first-child {
    min-height: 42px;
    margin-bottom: 0 !important;
    padding: 9px 16px;
    border: 0 !important;
    border-radius: 999px;
    background: transparent !important;
    color: #fff !important;
}

.arx-comuni-nav .arx-comuni-nav__search {
    position: relative !important;
    width: 42px !important;
    height: 42px !important;
    margin: 0 7px !important;
    border: 1px solid rgba(255,255,255,.38) !important;
    background: #fff !important;
    color: #111 !important;
    box-shadow: none !important;
}
.arx-comuni-nav .arx-comuni-nav__search::before,
.arx-comuni-nav .arx-comuni-nav__search::after { display: none !important; }
.arx-comuni-nav .arx-comuni-nav__search:hover,
.arx-comuni-nav .arx-comuni-nav__search:focus-visible {
    border-color: #fff !important;
    background: #222 !important;
    color: #fff !important;
}

body:not(.home):not(.front-page) .arx-comuni-nav a:first-child::after,
body:not(.home):not(.front-page) .arx-comuni-nav a span { display:none; }

body:not(.home):not(.front-page) .arx-comuni-nav a:hover,
body:not(.home):not(.front-page) .arx-comuni-nav a:focus-visible {
    background: #3b3b3b !important;
    color: #fff !important;
    outline: 2px solid #fff;
    outline-offset: -3px;
}

body:not(.home):not(.front-page) .arx-comuni-nav a.is-active {
    background: #fff !important;
    color: #111 !important;
}

body:not(.home):not(.front-page) .arx-comuni-nav a.is-active:hover,
body:not(.home):not(.front-page) .arx-comuni-nav a.is-active:focus-visible {
    background: #e8e8e8 !important;
    color: #111 !important;
    outline-color: #111;
}

@media (max-width:700px) {
    body:not(.home):not(.front-page) .arx-comuni-nav { padding-inline:12px; }
    body:not(.home):not(.front-page) .arx-comuni-nav__inner { width:100%; max-width:100%; margin:0; }
}
.arx-btn .arx-detail-icon,.arx-audio-duration .arx-detail-icon,.arx-media-unavailable .arx-detail-icon,.arx-hotspot-empty .arx-detail-icon,.arx-cartolina-placeholder .arx-detail-icon { display:inline-block; vertical-align:-.2em; margin-right:4px; }
.arx-footer__logo,.arx-footer__col li a { display:flex; align-items:center; gap:7px; }
.arx-footer__col li a .arx-icon,.arx-footer__logo .arx-icon { flex:0 0 auto; color:#aaa59e; stroke:currentColor; }
.arx-legal-page > h1,.arx-legal-page h2 { color:#7f171c; }
.arx-legal-toc h2 { margin:0 0 10px; padding:0; border:0; color:#6c655f; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; }
.arx-legal-toc a { color:#7f171c; }
.arx-legal-page,
.arx-legal-page section[id] { scroll-margin-top:150px; }
.arx-legal-to-top { display:flex; align-items:center; gap:6px; margin-top:13px; padding-top:11px; border-top:1px solid #ddd6cd; font-size:.74rem; font-weight:700; text-decoration:none; }
.arx-legal-to-top svg { flex:0 0 auto; stroke:currentColor; }
.arx-legal-to-top:hover { text-decoration:underline; }
.arx-legal-review { margin:22px 0 28px; padding:18px 20px; border:1px solid #d8c7a2; border-left:4px solid #a37f37; border-radius:8px; background:#fff9ea; }
.arx-legal-review h2 { margin:0 0 8px; padding:0; border:0; color:#6b521d; font-size:1rem; }
.arx-legal-review p { margin:0; color:#5d5139; font-size:.84rem; }
:is(.arx-privacy-policy-page,.arx-accessibility-policy-page) .arx-legal-page { width:min(820px,calc(100vw - 380px)); margin-left:max(340px,calc(50% - 330px)); margin-right:auto; }
:is(.arx-privacy-policy-page,.arx-accessibility-policy-page) .arx-legal-rail { position:fixed; z-index:20; top:150px; left:max(24px,calc(50% - 670px)); width:270px; max-height:calc(100vh - 174px); overflow:auto; scrollbar-width:thin; }
:is(.arx-privacy-policy-page,.arx-accessibility-policy-page) .arx-legal-rail .arx-legal-toc { margin:0; padding:17px 18px; box-shadow:0 8px 28px rgba(55,42,32,.08); }
:is(.arx-privacy-policy-page,.arx-accessibility-policy-page) .arx-legal-rail .arx-legal-toc li { font-size:.75rem; line-height:1.35; margin-bottom:5px; }
:is(.arx-privacy-policy-page,.arx-accessibility-policy-page) .arx-legal-rail .arx-legal-review { margin:12px 0 0; padding:14px 15px; border-left-width:3px; box-shadow:0 8px 28px rgba(55,42,32,.06); }
:is(.arx-privacy-policy-page,.arx-accessibility-policy-page) .arx-legal-rail .arx-legal-review h2 { font-size:.82rem; }
:is(.arx-privacy-policy-page,.arx-accessibility-policy-page) .arx-legal-rail .arx-legal-review p { font-size:.72rem; line-height:1.5; }
.arx-privacy-policy-page .arx-legal-ref { background:#faf8f4 !important; color:#3a3530 !important; border:1px solid #ddd6cd; border-left:4px solid #7f171c; }
.arx-privacy-policy-page .arx-legal-ref h2 { color:#7f171c !important; }
.arx-privacy-policy-page .arx-legal-ref p,.arx-privacy-policy-page .arx-legal-ref li { color:#3a3530 !important; }
.arx-privacy-policy-page .arx-legal-ref strong { color:#7f171c !important; }
.arx-legal-table-wrap { margin:18px 0 24px; overflow-x:auto; border:1px solid #dfd9d1; border-radius:8px; }
.arx-legal-table { width:100%; border-collapse:collapse; min-width:650px; background:#fff; }
.arx-legal-table th,.arx-legal-table td { padding:11px 13px; border-bottom:1px solid #e9e4dd; text-align:left; vertical-align:top; font-size:.8rem; line-height:1.55; }
.arx-legal-table th { background:#f5f2ee; color:#4f4944; letter-spacing:.04em; }
.arx-legal-table tr:last-child td { border-bottom:0; }
.arx-license-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:16px 0 24px; }
.arx-license-grid article { padding:14px 15px; border:1px solid #dfd9d1; border-radius:8px; background:#faf9f7; }
.arx-license-grid h4 { margin:0 0 5px; color:#7f171c; font-size:.85rem; }
.arx-license-grid p { margin:0; color:#625b55; font-size:.78rem; line-height:1.5; }
.arx-legal-closing { margin-top:40px; padding-top:16px; border-top:1px solid #e8e0d4; color:#736b64 !important; font-size:.8rem !important; }
.arx-conformance { display:flex; gap:16px; margin:22px 0 30px; padding:19px 20px; border:1px solid #d7c99d; border-left:4px solid #9b792f; border-radius:8px; background:#fffaf0; }
.arx-conformance__icon { flex:0 0 auto; color:#7f171c; }
.arx-conformance__label { margin:0 0 2px !important; color:#73654b !important; font-size:.7rem !important; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.arx-conformance h2 { margin:0 0 6px; padding:0; border:0; color:#684f18; }
.arx-conformance p:last-child { margin:0; color:#554a35; font-size:.84rem; }
.arx-accessibility-features { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:16px 0 22px !important; padding:0; list-style:none; }
.arx-accessibility-features li { display:flex; align-items:flex-start; gap:10px; margin:0; padding:13px 14px; border:1px solid #e2ddd6; border-radius:8px; background:#faf9f7; }
.arx-accessibility-features .arx-icon { flex:0 0 auto; color:#736e68; }
@media (max-width:680px) { .arx-license-grid { grid-template-columns:1fr; } }
@media (max-width:680px) { .arx-accessibility-features { grid-template-columns:1fr; } .arx-conformance { align-items:flex-start; } }
@media (max-width:1100px) {
    :is(.arx-privacy-policy-page,.arx-accessibility-policy-page) .arx-legal-page { width:auto; max-width:820px; margin-left:auto; margin-right:auto; }
    :is(.arx-privacy-policy-page,.arx-accessibility-policy-page) .arx-legal-rail { position:static; width:auto; max-height:none; overflow:visible; margin:24px 0 38px; }
    :is(.arx-privacy-policy-page,.arx-accessibility-policy-page) .arx-legal-rail .arx-legal-toc { box-shadow:none; }
}

@media (max-width:782px) {
    .arx-legal-page,
    .arx-legal-page section[id] { scroll-margin-top:92px; }
}
@media (max-width:680px) { .arx-frontend-editor__grid { grid-template-columns:1fr; } .arx-frontend-editor__shell > footer { flex-wrap:wrap; } .arx-frontend-editor__status { width:100%; order:-1; } }
@keyframes arx-spin { to { transform:rotate(360deg); } }

.arx-composite-successor { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 18px; padding:14px 16px; border-left:5px solid #751b32; background:#f3e7ea; color:#2b171d; font-weight:700; }
.arx-composite-successor a { display:inline-flex; flex:0 0 auto; padding:9px 13px; border-radius:999px; background:#111; color:#fff; font-size:.76rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.arx-scheda__row--provenance { background:#f3f3f0; }
.arx-scheda__row--provenance dd { font-size:.86rem; }
@media (min-width:680px) and (max-width:1100px) { .arx-flipbook-cluster--layout { bottom:10px; left:10px; transform:none; } .arx-flipbook-cluster--tools { bottom:10px; right:10px; left:auto; transform:none; } .arx-flipbook-modal:not(.is-continuous) .pdfViewer { min-height:100%; box-sizing:border-box; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:74px 12px 78px; } .arx-flipbook-modal:not(.is-continuous) .pdfViewer .spread { margin-left:auto; margin-right:auto; } .arx-flipbook-modal.is-continuous .pdfViewer { padding-bottom:82px; } }
@media (max-width:679px) { .arx-flipbook-identity { display:none; } .arx-flipbook-cluster { gap:4px; padding:5px; } .arx-flipbook-cluster--nav { top:8px; left:8px; transform:none; } .arx-flipbook-cluster--utility { top:8px; right:8px; } .arx-flipbook-cluster--layout,.arx-flipbook-cluster--tools { left:50%; right:auto; transform:translateX(-50%); } .arx-flipbook-cluster--layout { bottom:8px; } .arx-flipbook-cluster--tools { bottom:60px; } .arx-flipbook-actions button { width:34px; height:34px; } .arx-flipbook-external { width:34px; min-height:34px; padding:0; border-radius:50%; } .arx-flipbook-external span { display:none; } .arx-flipbook-help-panel { top:62px; right:8px; max-height:calc(100vh - 130px); overflow:auto; } .arx-flipbook-stage { padding:12px 8px 18px; } .arx-flipbook-counter { min-width:54px; } .arx-flipbook-zoom-value { min-width:42px; } .arx-pdf-page { max-width:100%; } }

html body.arx-dashboard-shell { background:#fff !important; }
body.arx-dashboard-shell .arx-dashboard-minimal-head img { filter:grayscale(1) brightness(0); }
.arx-demo-notice { padding:18px 22px; margin-bottom:24px; border-left:4px solid #c9a84c; background:#fff8e9; color:#5f5039; }
.arx-demo-notice p { margin:4px 0 0; }
.arx-demo-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); gap:22px; }
.arx-demo-card { display:flex; flex-direction:column; gap:15px; padding:22px; border:1px solid #e5ded4; border-radius:10px; background:#fff; }
.arx-demo-card__head { display:flex; gap:14px; color:#1a3a6b; }
.arx-demo-card__head h2 { margin:0 0 4px; font-size:1.2rem; }
.arx-demo-card__head p,.arx-demo-card__spec p { margin:0; color:#6a5e54; font-size:.86rem; }
.arx-demo-card__spec { padding:12px 14px; background:#faf8f4; border-radius:7px; }
.arx-demo-card h3 { margin:0 0 5px; color:#8c2633; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; }
.arx-demo-card__examples { display:flex; flex-direction:column; gap:4px; }
.arx-demo-card__examples a { color:#1a3a6b; font-size:.8rem; }
.arx-demo-card > .arx-btn { align-self:flex-start; margin-top:auto; }
@media (max-width:700px) { .arx-section-hero { align-items:flex-start; flex-wrap:wrap; } .arx-section-hero > .arx-btn { margin-left:0; } .arx-book-detail__head { grid-template-columns:1fr; } .arx-book-detail__cover { max-width:280px; } .arx-demo-grid { grid-template-columns:1fr; } }
@media (max-width:1180px) { .arx-library-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .arx-library-grid { grid-template-columns:1fr; } .arx-book-card { grid-template-columns:180px minmax(0,1fr); min-height:180px; } .arx-book-card__cover { width:180px; height:180px; } }

/* ═══════════════════════════════════════════════════════════════
   HEADER NERO — logo centrale e menu flottante a destra
   ═══════════════════════════════════════════════════════════════ */
.arx-header,
body.home .arx-header,
body.front-page .arx-header {
    height: 104px !important;
    background: #0d0d0d !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
    box-shadow: 0 8px 30px rgba(0,0,0,.16) !important;
}

.arx-header__inner,
body.home .arx-header__inner,
body.front-page .arx-header__inner {
    position: relative !important;
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 104px !important;
    padding: 0 24px !important;
}

.arx-header__brand {
    position: absolute !important;
    grid-column: auto !important;
    grid-row: auto !important;
    left: 50% !important;
    top: 50% !important;
    width: auto !important;
    z-index: 2;
    transform: translate(-50%,-50%) !important;
}

.arx-header__logo-link {
    display: flex;
    justify-content: center;
}

.arx-header__logo-img,
.arx-header--dark .arx-header__logo-img {
    width: clamp(260px, 24vw, 360px) !important;
    max-width: none !important;
    height: auto !important;
    max-height: 84px !important;
    filter: none !important;
}

.arx-header__floating-menu {
    position: fixed;
    z-index: 150;
    top: 20px;
    right: 24px;
    display: flex;
    align-items: center;
    gap: 5px;
    min-height: 62px;
    padding: 7px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 999px;
    background: rgba(24,24,24,.9);
    box-shadow: 0 12px 38px rgba(0,0,0,.28);
}

.arx-header__floating-menu .arx-nav {
    flex: 0 1 auto !important;
    width: auto !important;
}

.arx-header__floating-menu .arx-nav__list > li > a,
.arx-header__floating-menu .arx-nav__mega-btn {
    min-height: 44px;
    padding: 9px 12px;
    border-radius: 999px;
    color: rgba(255,255,255,.86) !important;
}

.arx-header__floating-menu .arx-nav__list > li > a:hover,
.arx-header__floating-menu .arx-nav__mega-btn:hover,
.arx-header__floating-menu .arx-nav__item.is-open > .arx-nav__mega-btn,
.arx-header__floating-menu .arx-nav__list > li > a[aria-current="page"] {
    background: #fff !important;
    color: #111 !important;
}

.arx-header__floating-menu .arx-nav__mega-btn svg {
    color: currentColor;
}

.arx-header__floating-menu .arx-header__user {
    margin: 0 !important;
}

.arx-header__floating-menu .arx-header__user .arx-btn,
.arx-header__floating-menu .arx-user-menu__trigger {
    min-height: 44px;
    border: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #fff !important;
}
.arx-header__login-icon { width: 19px; height: 19px; }
.arx-header-favorites {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 58px;
    height: 44px;
    padding: 0 12px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: transparent;
    color: #fff;
    cursor: pointer;
}
.arx-header-favorites svg { width: 20px; height: 20px; }
.arx-header-favorites__count { min-width: 14px; font-size: .75rem; font-weight: 800; line-height: 1; }
.arx-header-favorites:hover,
.arx-header-favorites:focus-visible { background: #fff; color: #111; }

.arx-header__floating-menu .arx-search-toggle {
    position: static !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    border-color: rgba(255,255,255,.22) !important;
    background: transparent !important;
    color: #fff !important;
}

.arx-header__floating-menu .arx-search-toggle:hover {
    background: #fff !important;
    color: #111 !important;
}

.arx-mega-menu {
    top: 104px;
}

.arx-header__burger {
    position: absolute;
    left: 20px;
    z-index: 4;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;
}

.arx-header__burger span {
    background: #fff !important;
}

@media (min-width:1101px) and (max-width:1380px) {
    .arx-header__floating-menu .arx-header__user { display:none !important; }
}

@media (max-width:1100px) {
    .arx-header,
    body.home .arx-header,
    body.front-page .arx-header,
    .arx-header__inner,
    body.home .arx-header__inner,
    body.front-page .arx-header__inner {
        height: 88px !important;
    }

    .arx-header__logo-img,
    .arx-header--dark .arx-header__logo-img {
        width: clamp(210px, 42vw, 290px) !important;
        max-height: 68px !important;
    }

    .arx-header__floating-menu {
        position: static;
        margin-left: auto;
        min-height: 0;
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
    }

    .arx-header__floating-menu .arx-nav {
        position: fixed;
        top: 98px;
        left: 14px;
        right: 14px;
        width: auto !important;
        padding: 12px;
        border: 1px solid rgba(255,255,255,.2);
        border-radius: 24px;
        background: rgba(15,15,15,.97);
        box-shadow: 0 18px 48px rgba(0,0,0,.3);
    }

    .arx-header.nav-open .arx-header__floating-menu .arx-nav {
        display: block !important;
    }

    .arx-header__floating-menu .arx-nav__list {
        flex-direction: column;
        align-items: stretch;
    }

    .arx-header__floating-menu .arx-nav__list > li > a,
    .arx-header__floating-menu .arx-nav__mega-btn {
        width: 100%;
        justify-content: space-between;
    }

    .arx-header__floating-menu .arx-header__user { display:none !important; }
    .arx-header__floating-menu .arx-search-toggle { display:flex !important; }
    .arx-mega-menu { top: 88px; }
}

@media (max-width:520px) {
    .arx-header__logo-img,
    .arx-header--dark .arx-header__logo-img {
        width: 190px !important;
    }
}

/* Mega-menu come popup centrale, non più dropdown. */
body.arx-menu-modal-open {
    overflow: hidden;
}

.arx-mega-backdrop {
    position: fixed;
    inset: 0;
    z-index: 140;
    background: rgba(0,0,0,.68);
    opacity: 0;
    pointer-events: none;
    transition: opacity .24s ease;
    backdrop-filter: blur(8px);
}

.arx-mega-backdrop.is-visible {
    opacity: 1;
    pointer-events: auto;
}

.arx-mega-menu,
.arx-header__floating-menu .arx-mega-menu {
    position: fixed;
    z-index: 160;
    top: 50%;
    left: 50%;
    right: auto;
    width: min(1120px, calc(100vw - 64px));
    max-height: min(760px, calc(100vh - 96px));
    margin: 0;
    padding: clamp(28px, 4vw, 54px) 0;
    overflow: auto;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 30px;
    background: rgba(250,248,244,.98);
    box-shadow: 0 34px 110px rgba(0,0,0,.48);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%,-46%) scale(.97);
    transition: opacity .22s ease, transform .22s ease;
}

.arx-mega-menu.is-open,
.arx-header__floating-menu .arx-mega-menu.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%,-50%) scale(1);
}

.arx-mega-menu:focus {
    outline: none;
}

.arx-mega-menu__inner {
    max-width: none;
    padding-inline: clamp(24px, 4vw, 54px);
}

@media (max-width:760px) {
    .arx-mega-menu,
    .arx-header__floating-menu .arx-mega-menu {
        width: calc(100vw - 28px);
        max-height: calc(100dvh - 40px);
        padding: 24px 0;
        border-radius: 24px;
    }

    .arx-mega-menu--resources .arx-mega-menu__inner,
    .arx-mega-menu--progetto .arx-mega-menu__inner {
        grid-template-columns: 1fr 1fr;
    }

    .arx-mega-menu__visual {
        display: none;
    }
}

/* ═══════════════════════════════════════════════════════════════
   PRIVACY — palette monocromatica nera
   ═══════════════════════════════════════════════════════════════ */
.arx-privacy-banner__title,
.arx-privacy-banner__icon,
.arx-privacy-banner__text a,
.arx-cookie-modal__intro a {
    color: #111 !important;
}

.arx-privacy-banner__btn--accept,
.arx-cookie-modal__head {
    background: #111 !important;
    color: #fff !important;
}

.arx-privacy-banner__btn--accept:hover {
    background: #333 !important;
}

.arx-privacy-banner__btn--necessary {
    border-color: #111 !important;
    background: #fff !important;
    color: #111 !important;
}

.arx-privacy-banner__btn--necessary:hover {
    background: #f0f0f0 !important;
}

.arx-privacy-banner__btn--settings,
.arx-privacy-banner__btn--settings:hover {
    color: #111 !important;
}

.arx-cookie-modal {
    background: rgba(0,0,0,.72) !important;
}

.arx-cookie-cat__badge--required {
    background: rgba(0,0,0,.08) !important;
    color: #111 !important;
}

.arx-cookie-modal .arx-a11y-switch input:checked + .arx-a11y-switch__track {
    background: #111 !important;
}

.arx-cookie-modal .arx-a11y-switch input:focus-visible + .arx-a11y-switch__track {
    outline-color: #111 !important;
}

.arx-footer__bottom .arx-cookie-reopen {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(255,255,255,.5) !important;
    font: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.arx-footer__bottom .arx-cookie-reopen:hover,
.arx-footer__bottom .arx-cookie-reopen:focus-visible {
    color: #fff !important;
    outline: 2px solid #fff;
    outline-offset: 4px;
}

body.arx-privacy-policy-page .arx-legal-page > h1,
body.arx-privacy-policy-page .arx-legal-page h2,
body.arx-privacy-policy-page .arx-legal-page h3,
body.arx-privacy-policy-page .arx-legal-toc a,
body.arx-privacy-policy-page .arx-legal-to-top,
body.arx-privacy-policy-page .arx-license-grid h4,
body.arx-privacy-policy-page .arx-conformance__icon {
    color: #111 !important;
}

body.arx-privacy-policy-page .arx-legal-ref {
    border-left-color: #111 !important;
}

body.arx-privacy-policy-page .arx-legal-ref h2,
body.arx-privacy-policy-page .arx-legal-ref strong {
    color: #111 !important;
}

body.arx-privacy-policy-page .arx-legal-review {
    border-color: #d7d7d7 !important;
    border-left-color: #111 !important;
    background: #f7f7f7 !important;
}

body.arx-privacy-policy-page .arx-legal-review h2,
body.arx-privacy-policy-page .arx-legal-review p {
    color: #222 !important;
}

/* Accessibilità — controlli e dichiarazione in palette nera. */
.arx-a11y-toggle,
.arx-a11y-panel__head,
.arx-a11y-font-btn[aria-pressed="true"] {
    border-color: #111 !important;
    background: #111 !important;
    color: #fff !important;
}

.arx-a11y-toggle {
    border: 2px solid #fff !important;
}

.arx-a11y-toggle:hover {
    background: #333 !important;
}

.arx-a11y-toggle:focus-visible,
.arx-a11y-font-btn:focus-visible {
    outline-color: #111 !important;
}

.arx-a11y-font-btn {
    color: #111 !important;
}

.arx-a11y-font-btn[aria-pressed="true"] {
    box-shadow: 0 0 0 2px rgba(0,0,0,.12) !important;
}

.arx-a11y-switch input:checked + .arx-a11y-switch__track {
    background: #111 !important;
}

.arx-a11y-switch input:focus-visible + .arx-a11y-switch__track {
    outline-color: #111 !important;
}

.arx-a11y-info-link {
    color: #111 !important;
}

body.arx-accessibility-policy-page .arx-legal-page > h1,
body.arx-accessibility-policy-page .arx-legal-page h2,
body.arx-accessibility-policy-page .arx-legal-page h3,
body.arx-accessibility-policy-page .arx-legal-toc a,
body.arx-accessibility-policy-page .arx-legal-to-top,
body.arx-accessibility-policy-page .arx-conformance__icon,
body.arx-accessibility-policy-page .arx-accessibility-features .arx-icon {
    color: #111 !important;
}

body.arx-accessibility-policy-page .arx-conformance {
    border-color: #d4d4d4 !important;
    border-left-color: #111 !important;
    background: #f7f7f7 !important;
}

body.arx-accessibility-policy-page .arx-conformance__label,
body.arx-accessibility-policy-page .arx-conformance p {
    color: #333 !important;
}

body.arx-accessibility-policy-page .arx-legal-review {
    border-color: #d7d7d7 !important;
    border-left-color: #111 !important;
    background: #f7f7f7 !important;
}

body.arx-accessibility-policy-page .arx-legal-review h2,
body.arx-accessibility-policy-page .arx-legal-review p {
    color: #222 !important;
}

/* Comandi rapidi fissi: cookie e ritorno all'inizio. */
.arx-page-tools {
    position: fixed;
    right: 24px;
    bottom: 28px;
    z-index: 400;
    display: flex;
    flex-direction: column-reverse;
    gap: 12px;
}

.arx-page-tool {
    width: 52px;
    height: 52px;
    padding: 0;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #111;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(0,0,0,.25);
    transition: opacity .2s, visibility .2s, transform .18s, background .18s, box-shadow .18s;
}

.arx-page-tool:hover {
    background: #333;
    transform: scale(1.08);
    box-shadow: 0 6px 24px rgba(0,0,0,.35);
}

.arx-page-tool:focus-visible {
    outline: 3px solid #111;
    outline-offset: 3px;
}

.arx-page-tool svg {
    width: 25px;
    height: 25px;
}

.arx-page-tool__cookie {
    width: 27px;
    height: 27px;
    color: #fff !important;
    fill: none !important;
    stroke: #fff !important;
}

.arx-cookie-reset {
    flex: 0 0 100% !important;
    width: 100%;
    padding: 9px 12px;
    border: 0;
    background: transparent;
    color: #333;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.arx-cookie-reset:hover,
.arx-cookie-reset:focus-visible {
    color: #000;
    outline: 2px solid #111;
    outline-offset: 2px;
}

.arx-cookie-modal__foot {
    flex-wrap: wrap;
}

.arx-back-to-top {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
}

.arx-back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.arx-back-to-top.is-visible:hover {
    transform: scale(1.08);
}

@media (max-width: 600px) {
    .arx-page-tools { right: 14px; bottom: 18px; gap: 9px; }
    .arx-a11y-toggle { left: 14px; bottom: 18px; }
    .arx-page-tool { width: 48px; height: 48px; }
}

/* Indici metadati — pagina ampia e card visuali. */
body.page-template-page-indice .arx-index-layout {
    grid-template-columns: 0 minmax(0, 1fr) 0;
    background: #f4f4f2;
}
body.page-template-page-indice .arx-index-layout > .arx-home-sidebar,
body.page-template-page-indice .arx-index-layout > .arx-home-aside { display: none; }
body.page-template-page-indice .arx-index-layout > .arx-home-main {
    width: 100%;
    max-width: none;
    padding: 48px clamp(24px, 5vw, 72px) 84px;
}
body.page-template-page-indice .arx-indice > * { width: 100%; max-width: none; margin-right: auto; margin-left: auto; }
body.page-template-page-indice .arx-archive-header {
    margin-bottom: 24px;
    padding: 0 0 28px;
    border-bottom: 3px solid #111;
    background: transparent;
}
body.page-template-page-indice .arx-archive-header .arx-breadcrumb {
    display: inline-flex;
    width: auto;
    margin: 0 0 22px;
    padding: 9px 14px;
    border: 1px solid #d2cbc2;
    border-radius: 999px;
    background: rgba(255,255,255,.7);
}
body.page-template-page-indice .arx-archive-header__title {
    margin: 0 0 8px;
    color: #111;
    font-size: clamp(2.5rem, 4vw, 4.5rem);
    line-height: .95;
    letter-spacing: -.045em;
}
body.page-template-page-indice .arx-archive-header__desc { margin: 0; color: #665e56; font-size: 1rem; }
body.page-template-page-indice .arx-indice .arx-index-tabs { gap: 9px; margin-bottom: 28px; }
body.page-template-page-indice .arx-index-tab {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    padding: 9px 16px;
    border: 1px solid #d2ccc4;
    border-radius: 999px;
    background: #ddd9d3;
    color: #111;
    font-size: .82rem;
    font-weight: 750;
}
body.page-template-page-indice .arx-index-tab:hover { border-color: #555; background: #555; color: #fff; }
body.page-template-page-indice .arx-index-tab.is-active { border-color: #111; background: #111; color: #fff; }
body.page-template-page-indice .arx-index-list {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 8px;
}
body.page-template-page-indice .arx-index-item__link {
    min-height: 76px;
    justify-content: flex-start;
    gap: 11px;
    padding: 10px 58px 10px 11px;
    border: 1px solid #dedede;
    border-radius: 12px;
    background: #fff;
    color: #111;
    box-shadow: 0 3px 12px rgba(0,0,0,.035);
    transition: transform .18s, background .18s, color .18s, border-color .18s;
}
body.page-template-page-indice .arx-index-item__link:hover {
    border-color: #a9a9a9;
    background: #e9e9e7;
    color: #111;
    transform: translateY(-2px);
}
body.page-template-page-indice .arx-index-item__person-icon {
    display: grid;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 50%;
    background: #dededb;
    color: #222;
}
body.page-template-page-indice .arx-index-item__person-icon svg { width: 23px; height: 23px; }
body.page-template-page-indice .arx-index-item__link:hover .arx-index-item__person-icon { background: #fff; color: #111; }
body.page-template-page-indice .arx-index-item__person { flex: 1 1 auto; }
body.page-template-page-indice .arx-index-item__name { font-size: 1rem; font-weight: 800; }
body.page-template-page-indice .arx-index-item__meta { margin-top: 3px; color: #746b62; font-size: .76rem; }
body.page-template-page-indice .arx-index-item__link:hover .arx-index-item__meta { color: #5e5e5e; }
body.page-template-page-indice .arx-index-item__count {
    margin-left: auto;
    margin-right: 0;
    padding: 6px 9px;
    border-radius: 999px;
    background: #e7e4df;
    color: #111;
}
body.page-template-page-indice .arx-index-item__link:hover .arx-index-item__count { background: #fff; }
body.page-template-page-indice .arx-index-item { position: relative; }
body.page-template-page-indice .arx-index-item__preview {
    position: absolute;
    z-index: 2;
    top: 50%;
    right: 10px;
    display: grid;
    width: 38px;
    height: 38px;
    padding: 0;
    place-items: center;
    border: 1px solid #555;
    border-radius: 50%;
    background: #555;
    color: #fff;
    cursor: pointer;
    transform: translateY(-50%);
}
body.page-template-page-indice .arx-index-item__preview svg { width: 18px; height: 18px; }
body.page-template-page-indice .arx-index-item__preview:hover,
body.page-template-page-indice .arx-index-item__preview:focus-visible { background: #fff; color: #111; }

.arx-index-preview[hidden] { display: none; }
.arx-index-preview { position: fixed; z-index: 100100; inset: 0; display: grid; place-items: center; padding: 24px; }
.arx-index-preview__backdrop { position: absolute; inset: 0; background: rgba(42,42,42,.58); backdrop-filter: blur(7px); }
.arx-index-preview__panel { position: relative; width: min(1180px, 100%); max-height: calc(100vh - 48px); overflow-y: auto; border: 1px solid #d6d6d4; border-radius: 26px; background: #f1f1ef; box-shadow: 0 32px 90px rgba(0,0,0,.3); }
.arx-index-preview__panel > header { position: sticky; z-index: 2; top: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 22px 28px; border-bottom: 1px solid #d7d7d4; background: rgba(255,255,255,.96); color: #111; }
.arx-index-preview__panel > header span { display: block; margin-bottom: 5px; color: #777; font-size: .66rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.arx-index-preview__panel > header h2 { margin: 0; color: #111; font-size: clamp(1.6rem, 3vw, 2.5rem); }
.arx-index-preview__panel > header p { margin: 5px 0 0; color: #666; }
.arx-index-preview__close { width: 46px; height: 46px; padding: 0; border: 1px solid #bdbdbb; border-radius: 50%; background: #e5e5e3; color: #111; font-size: 2rem; cursor: pointer; }
.arx-index-preview__content { min-height: 260px; padding: 24px; }
.arx-index-preview__loading,.arx-index-preview__empty { padding: 80px 20px; text-align: center; }
.arx-index-preview__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.arx-index-preview-card { min-width: 0; overflow: hidden; border: 1px solid #d6d6d4; border-radius: 15px; background: #fff; color: #111; text-decoration: none; box-shadow: 0 5px 16px rgba(0,0,0,.045); }
.arx-index-preview-card__image { display: block; aspect-ratio: 4/3; overflow: hidden; background: #ddd8d0; }
.arx-index-preview-card__image img,.arx-index-preview-card__image .arx-thumb-placeholder { width: 100%; height: 100%; object-fit: contain; }
.arx-index-preview-card__body { display: flex; flex-direction: column; gap: 5px; padding: 14px; }
.arx-index-preview-card__body small { color: #777067; font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.arx-index-preview-card__body strong { font-size: .9rem; line-height: 1.3; }
.arx-index-preview-card__body em { margin-top: 6px; color: #111; font-size: .72rem; font-style: normal; font-weight: 800; }
body.arx-index-preview-open { overflow: hidden; }

@media (max-width: 850px) { .arx-index-preview__grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 520px) {
    .arx-index-preview { padding: 8px; }
    .arx-index-preview__panel { max-height: calc(100vh - 16px); border-radius: 19px; }
    .arx-index-preview__panel > header { padding: 18px; }
    .arx-index-preview__content { padding: 14px; }
    .arx-index-preview__grid { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
    body.page-template-page-indice .arx-index-layout { grid-template-columns: minmax(0,1fr); grid-template-areas: "main"; }
    body.page-template-page-indice .arx-index-layout > .arx-home-main { padding: 34px 18px 64px; }
}
@media (max-width: 480px) {
    body.page-template-page-indice .arx-index-list { grid-template-columns: 1fr; }
    body.page-template-page-indice .arx-index-item__link { min-height: 70px; padding: 9px 56px 9px 10px; }
}

@media (prefers-reduced-motion: reduce) {
    .arx-page-tool { transition: none; }
}

/* Dichiarazione di accessibilità — impaginazione editoriale ampia. */
body.arx-accessibility-policy-page .arx-site-wrap {
    position: relative;
    width: 100%;
    max-width: none;
    margin: 0;
    overflow: clip;
    background: #fbfaf7;
}

body.arx-accessibility-policy-page .arx-site-wrap::before {
    content: '';
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    width: 100%;
    height: max(420px, calc(56.28vw - 184px));
    aspect-ratio: auto;
    background: url("../img/accessibilita-collage-top-v2.png") center -184px / 100vw auto no-repeat;
    opacity: .4;
    pointer-events: none;
}

/* Accessibilità: header chiaro integrato nel collage superiore. */
body.arx-accessibility-policy-page .arx-header,
body.arx-accessibility-policy-page .arx-header.arx-header--dark {
    background-color: #f6efe3 !important;
    background-image: url("../img/accessibilita-collage-top-v2.png") !important;
    background-position: center top !important;
    background-size: 100vw auto !important;
    background-repeat: no-repeat !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

body.arx-accessibility-policy-page .arx-header__logo-img,
body.arx-accessibility-policy-page .arx-header--dark .arx-header__logo-img {
    filter: brightness(0) !important;
}

body.arx-accessibility-policy-page .arx-header__brand::before {
    content: '';
    position: absolute;
    z-index: 0;
    top: -22px;
    right: -62px;
    bottom: -22px;
    left: -62px;
    border-radius: 50%;
    background: linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.07) 45%, transparent 100%);
    filter: blur(12px);
    pointer-events: none;
}

body.arx-accessibility-policy-page .arx-header__logo-link {
    position: relative;
    z-index: 1;
}

/* Accessibilità: menu Comuni centrato e arrotondato. */
body.arx-accessibility-policy-page .arx-comuni-nav {
    top: 104px;
    padding: 11px 24px;
    margin-top: -1px;
    margin-bottom: -1px;
    border: 0 !important;
    background-color: #f6efe3 !important;
    background-image: url("../img/accessibilita-collage-top-v2.png") !important;
    background-position: center -104px !important;
    background-size: 100vw auto !important;
    background-repeat: no-repeat !important;
    box-shadow: none;
}

body.arx-accessibility-policy-page .arx-comuni-nav__inner {
    width: max-content;
    max-width: calc(100vw - 48px);
    margin: 0 auto;
    padding: 6px;
    align-items: center;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 999px;
    background: rgba(24,24,24,.92);
    box-shadow: 0 12px 38px rgba(0,0,0,.2);
}

body.arx-accessibility-policy-page .arx-comuni-nav a,
body.arx-accessibility-policy-page .arx-comuni-nav a:first-child {
    min-height: 42px;
    padding: 9px 16px;
    border: 0;
    border-radius: 999px;
    color: #fff !important;
}

body.arx-accessibility-policy-page .arx-comuni-nav a:first-child::after {
    display: none;
}

body.arx-accessibility-policy-page .arx-comuni-nav a:hover,
body.arx-accessibility-policy-page .arx-comuni-nav a:focus-visible {
    background: #3b3b3b !important;
    color: #fff !important;
    outline: 2px solid #fff;
    outline-offset: -3px;
}

body.arx-accessibility-policy-page .arx-comuni-nav a.is-active {
    margin-bottom: 0 !important;
    border: 0 !important;
    background: #fff !important;
    color: #111 !important;
}

body.arx-accessibility-policy-page .arx-comuni-nav a.is-active:hover,
body.arx-accessibility-policy-page .arx-comuni-nav a.is-active:focus-visible {
    background: #e8e8e8 !important;
    color: #111 !important;
    outline-color: #111;
}

/* Header compatto: menu unificato a sinistra, ricerca e accesso a destra. */
.arx-unified-menu-trigger {
    position: fixed;
    z-index: 151;
    top: 20px;
    left: 24px;
    min-height: 62px;
    padding: 0 22px;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 999px;
    background: rgba(24,24,24,.92);
    color: #fff;
    display: flex;
    align-items: center;
    gap: 11px;
    font: 700 .82rem var(--arx-font-sans);
    cursor: pointer;
    box-shadow: 0 12px 38px rgba(0,0,0,.25);
}

.arx-unified-menu-trigger__icon { display:grid; gap:4px; width:19px; }
.arx-unified-menu-trigger__icon span { display:block; width:100%; height:2px; border-radius:2px; background:#fff; }

.arx-header-contact-tools {
    position: fixed;
    z-index: 151;
    top: 20px;
    left: 146px;
    display: flex;
    gap: 8px;
}

.arx-header-contact-tools a {
    width: 62px;
    height: 62px;
    border: 1px solid rgba(255,255,255,.3);
    border-radius: 50%;
    background: rgba(24,24,24,.92);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 24px rgba(0,0,0,.2);
}

.arx-header-contact-tools a:hover,
.arx-header-contact-tools a:focus-visible {
    background: #fff;
    color: #111;
    outline: 2px solid #111;
    outline-offset: 2px;
}

.arx-header-contact-tools svg { width:27px; height:27px; }

.arx-header__floating-menu .arx-nav,
.arx-header__burger { display:none !important; }

.arx-header__floating-menu {
    min-width: 0;
}

.arx-header__floating-menu .arx-header__user {
    display: flex !important;
}

.arx-header__floating-menu .arx-header__user .arx-btn {
    border: 0 !important;
    background: transparent !important;
    color: #fff !important;
}

.arx-unified-menu-backdrop {
    position: fixed;
    z-index: 490;
    inset: 0;
    background: rgba(0,0,0,.62);
    backdrop-filter: blur(7px);
    opacity: 0;
    visibility: hidden;
    transition: opacity .22s, visibility .22s;
}

.arx-unified-menu-backdrop.is-visible { opacity:1; visibility:visible; }

.arx-unified-menu {
    position: fixed;
    z-index: 500;
    top: 50%;
    left: 50%;
    width: min(1200px, calc(100vw - 48px));
    max-height: calc(100dvh - 48px);
    padding: 30px 350px 30px 30px;
    overflow: auto;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 30px;
    background: #111;
    color: #fff;
    box-shadow: 0 32px 100px rgba(0,0,0,.45);
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%,-46%) scale(.97);
    transition: opacity .22s, visibility .22s, transform .22s;
}

.arx-unified-menu::before {
    content: '';
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    bottom: 0;
    width: 340px;
    border-radius: 0 30px 30px 0;
    background: url("../img/progetto-collage-light-v1.png") 82% center / cover no-repeat;
    opacity: .72;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.5) 24%, #000 55%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.5) 24%, #000 55%);
}

.arx-unified-menu > * { position:relative; z-index:1; }

.arx-unified-menu.is-open { opacity:1; visibility:visible; transform:translate(-50%,-50%) scale(1); }
.arx-unified-menu__head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:22px; border-bottom:1px solid rgba(255,255,255,.16); }
.arx-unified-menu__head h2 { margin:0; color:#fff; font-size:clamp(1.55rem,3vw,2.5rem); }
.arx-unified-menu__close { width:46px; height:46px; border:1px solid rgba(255,255,255,.3); border-radius:50%; background:transparent; color:#fff; font-size:2rem; cursor:pointer; }
.arx-unified-menu__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; padding-top:26px; }
.arx-unified-menu__grid h3 { margin:0 0 12px; color:rgba(255,255,255,.52); font:700 .72rem var(--arx-font-sans); letter-spacing:.12em; text-transform:uppercase; }
.arx-unified-menu__grid a { display:grid; grid-template-columns:48px minmax(0,1fr); align-items:center; gap:11px; min-height:58px; padding:5px 7px 5px 5px; border:1px solid transparent; border-radius:12px; color:#fff; font-weight:700; }
.arx-unified-menu__grid a > span:last-child { color:#fff; font-size:inherit; line-height:inherit; }
.arx-unified-menu__grid a:hover,.arx-unified-menu__grid a:focus-visible { color:#fff; border-color:rgba(255,255,255,.2); background:rgba(255,255,255,.1); outline:none; transform:translateX(4px); }
.arx-unified-menu__thumb { width:48px; height:48px; border:1px solid rgba(255,255,255,.2); border-radius:10px; background-image:url("../img/menu-concept-thumbnails-v1.png"); background-size:500% 300%; background-repeat:no-repeat; box-shadow:inset 0 0 0 1px rgba(0,0,0,.15),0 4px 12px rgba(0,0,0,.24); }
.arx-unified-menu__thumb--1,.arx-unified-menu__thumb--6,.arx-unified-menu__thumb--11 { background-position-x:0%; }
.arx-unified-menu__thumb--2,.arx-unified-menu__thumb--7,.arx-unified-menu__thumb--12 { background-position-x:25%; }
.arx-unified-menu__thumb--3,.arx-unified-menu__thumb--8,.arx-unified-menu__thumb--13 { background-position-x:50%; }
.arx-unified-menu__thumb--4,.arx-unified-menu__thumb--9,.arx-unified-menu__thumb--14 { background-position-x:75%; }
.arx-unified-menu__thumb--5,.arx-unified-menu__thumb--10,.arx-unified-menu__thumb--15 { background-position-x:100%; }
.arx-unified-menu__thumb--1,.arx-unified-menu__thumb--2,.arx-unified-menu__thumb--3,.arx-unified-menu__thumb--4,.arx-unified-menu__thumb--5 { background-position-y:0%; }
.arx-unified-menu__thumb--6,.arx-unified-menu__thumb--7,.arx-unified-menu__thumb--8,.arx-unified-menu__thumb--9,.arx-unified-menu__thumb--10 { background-position-y:50%; }
.arx-unified-menu__thumb--11,.arx-unified-menu__thumb--12,.arx-unified-menu__thumb--13,.arx-unified-menu__thumb--14,.arx-unified-menu__thumb--15 { background-position-y:100%; }
body.arx-unified-menu-open { overflow:hidden; }

@media (max-width:1000px) {
    .arx-unified-menu { padding:30px; }
    .arx-unified-menu::before { display:none; }
}

@media (max-width:760px) {
    .arx-unified-menu-trigger { left:12px; top:14px; min-height:48px; padding:0 15px; }
    .arx-unified-menu__grid { grid-template-columns:1fr; gap:24px; }
    .arx-unified-menu { padding:22px; border-radius:22px; }
    .arx-unified-menu::before { display:none; }
    .arx-header__floating-menu .arx-header__user { display:none !important; }
    .arx-header-contact-tools { top:14px; left:118px; gap:6px; }
    .arx-header-contact-tools a { width:48px; height:48px; }
    .arx-header-contact-tools svg { width:23px; height:23px; }
}

body.arx-accessibility-policy-page .arx-comuni-nav a span {
    display: none;
}

body.arx-accessibility-policy-page .arx-site-wrap::after {
    content: '';
    position: absolute;
    z-index: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 3;
    background: url("../img/accessibilita-collage-bottom-v2.png") center bottom / 100% auto no-repeat;
    opacity: .32;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.4) 10%, #000 25%, #000 100%);
    mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.4) 10%, #000 25%, #000 100%);
}

body.arx-accessibility-policy-page .arx-legal-page {
    position: relative;
    z-index: 1;
    width: min(1600px, 100%);
    max-width: 1600px;
    margin: 0 auto;
    padding: clamp(60px, 6vw, 96px) clamp(340px, 25vw, 380px) 120px;
}

body.arx-accessibility-policy-page .arx-legal-page a {
    color: #111 !important;
    font-weight: 700;
}

body.arx-accessibility-policy-page .arx-legal-page a::before {
    content: "»\00a0";
    display: inline-block;
    margin: 0;
    padding: 0;
    font-size: 1em;
    font-weight: 700;
    line-height: inherit;
    text-decoration: none;
}

body.arx-accessibility-policy-page .arx-legal-page > h1 {
    max-width: 980px;
    margin-bottom: 14px;
    font-size: clamp(2.1rem, 3.2vw, 3.4rem);
    line-height: 1.08;
    letter-spacing: -.035em;
}

body.arx-accessibility-policy-page .arx-legal-meta {
    max-width: 920px;
    font-size: 1rem;
    line-height: 1.7;
}

body.arx-accessibility-policy-page .arx-legal-page > section,
body.arx-accessibility-policy-page .arx-legal-page > .arx-conformance,
body.arx-accessibility-policy-page .arx-legal-page > .arx-legal-closing {
    max-width: 1040px;
}

body.arx-accessibility-policy-page .arx-legal-page h2 {
    font-size: clamp(1.6rem, 2.2vw, 2.15rem);
    line-height: 1.2;
}

body.arx-accessibility-policy-page .arx-legal-page h3 {
    font-size: 1.35rem;
}

body.arx-accessibility-policy-page .arx-legal-page p,
body.arx-accessibility-policy-page .arx-legal-page li {
    font-size: 1rem;
    line-height: 1.78;
}

body.arx-accessibility-policy-page .arx-conformance {
    max-width: 1040px;
    margin-block: 34px 48px;
    padding: 26px 28px;
}

body.arx-accessibility-policy-page .arx-accessibility-features {
    gap: 14px;
}

body.arx-accessibility-policy-page .arx-accessibility-features li {
    padding: 17px 18px;
}

body.arx-accessibility-policy-page .arx-legal-rail {
    position: fixed;
    z-index: 20;
    top: 168px;
    left: max(24px, calc(50% - 776px));
    width: 280px;
    max-height: calc(100vh - 196px);
    overflow: auto;
    scrollbar-width: thin;
}

body.arx-accessibility-policy-page .arx-legal-rail .arx-legal-toc {
    padding: 22px 22px;
    text-align: left;
    border: 1px solid #ddd;
    border-radius: 16px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 14px 42px rgba(0,0,0,.08);
}

body.arx-accessibility-policy-page .arx-legal-rail .arx-legal-toc h2 {
    font-size: .8rem;
    text-align: left;
}

body.arx-accessibility-policy-page .arx-legal-rail .arx-legal-toc ul {
    margin-left: 0;
    padding-left: 0;
    text-align: left;
}

body.arx-accessibility-policy-page .arx-legal-rail .arx-legal-toc li {
    margin-bottom: 8px;
    font-size: 1rem;
    line-height: 1.5;
}

body.arx-accessibility-policy-page .arx-legal-rail .arx-legal-toc a {
    font-size: 1rem;
    color: #111 !important;
    font-weight: 700;
    text-align: left;
}

body.arx-accessibility-policy-page .arx-legal-rail .arx-legal-review {
    margin-top: 14px;
    padding: 17px 18px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,.06);
}

body.arx-accessibility-policy-page .arx-legal-rail .arx-legal-review h2 {
    font-size: .94rem;
}

body.arx-accessibility-policy-page .arx-legal-rail .arx-legal-review p {
    font-size: .78rem;
    line-height: 1.55;
}

@media (max-width:1180px) {
    body.arx-accessibility-policy-page .arx-legal-page {
        width: min(980px, calc(100vw - 40px));
        padding: 56px 28px 100px;
    }

    body.arx-accessibility-policy-page .arx-legal-rail {
        position: static;
        width: auto;
        max-height: none;
        margin: 30px 0 46px;
        overflow: visible;
    }

    body.arx-accessibility-policy-page .arx-legal-rail .arx-legal-toc {
        box-shadow: none;
    }
}

@media (max-width:700px) {
    body.arx-accessibility-policy-page .arx-site-wrap::before {
        width: 100%;
        height: max(300px, calc(56.28vw - 184px));
        aspect-ratio: auto;
        opacity: .18;
    }

    body.arx-accessibility-policy-page .arx-site-wrap::after {
        opacity: .14;
    }

    body.arx-accessibility-policy-page .arx-comuni-nav {
        padding-inline: 12px;
    }

    body.arx-accessibility-policy-page .arx-comuni-nav__inner {
        width: 100%;
        max-width: 100%;
        margin: 0;
    }

    body.arx-accessibility-policy-page .arx-legal-page {
        width: 100%;
        padding: 42px 20px 80px;
    }

    body.arx-accessibility-policy-page .arx-accessibility-features {
        grid-template-columns: 1fr;
    }
}

/* ═══════════════════════════════════════════════════════════════
   HEADER: menu sinistra, logo centrato, controlli destra
   ═══════════════════════════════════════════════════════════════ */
@media (min-width: 1101px) {
    .arx-header__inner {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(180px, 240px) minmax(0, 1fr) !important;
        position: relative;
        gap: 20px !important;
        max-width: 100% !important;
        width: 100%;
    }
    .arx-nav {
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
        width: auto;
        min-width: 0;
    }
    .arx-nav--mega .arx-nav__list {
        justify-content: flex-start;
        flex-wrap: nowrap;
    }
    .arx-header__brand {
        grid-column: 2;
        grid-row: 1;
        justify-self: center;
        z-index: 2;
    }
    .arx-header__logo-link {
        justify-content: center;
    }
    .arx-header__user {
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
        margin-right: 56px;
        min-width: 0;
    }
    .arx-search-toggle {
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
        z-index: 3;
    }
    .arx-header__burger {
        display: none !important;
    }
}

@media (max-width: 1100px) {
    .arx-header__inner {
        display: flex !important;
        justify-content: space-between;
        gap: 12px !important;
        position: relative;
    }
    .arx-header__brand {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        z-index: 2;
    }
    .arx-search-toggle {
        order: 3;
        margin-left: auto;
    }
    .arx-header__burger {
        order: 1;
        display: flex !important;
        margin-left: 0;
    }
    .arx-nav {
        order: 4;
        display: none !important;
        flex-basis: 100% !important;
    }
    .arx-header__user { display: none !important; }
    .arx-header.nav-open .arx-nav { display: block !important; }
    .arx-header.nav-open .arx-header__inner {
        flex-wrap: wrap !important;
    }
}


/* ─── Scheda risorsa GAIA — aggiunte single-arx_immagine ─────────────── */
.arx-badge--retro { background:#8a2a2a; color:#fff; }
.arx-doc__pages { margin-top:18px; }
.arx-doc__pages-title { font-size:.85rem; text-transform:uppercase; letter-spacing:.04em; color:#6a5e54; margin:0 0 8px; }
.arx-doc__pages-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(90px,1fr)); gap:8px; }
.arx-doc__page { display:block; border:1px solid #ddd; background:#fff; overflow:hidden; border-radius:4px; }
.arx-doc__page img { width:100%; height:100%; object-fit:cover; display:block; aspect-ratio:3/4; }
.arx-doc__internal { margin-top:22px; padding:14px 16px; background:#faf6ef; border:1px dashed #c9b79a; border-radius:6px; }
.arx-doc__internal h3 { margin:0 0 8px; font-size:.95rem; color:#7a5c2e; }
.arx-doc__internal h3 small { font-weight:400; color:#a08a63; }
.arx-scheda--internal .arx-scheda__row dt { color:#7a5c2e; }


/* ─── Scheda GAIA riusabile (video/audio/pdf/cartolina/geografico/hotspot) ─ */
.arx-gaia-scheda { margin-top:26px; padding-top:20px; border-top:2px solid #e8e0d4; }
.arx-gaia-scheda > h3 { display:flex; align-items:baseline; gap:10px; margin:0 0 14px; font-size:1.05rem; color:#3a2f24; }
.arx-gaia-scheda__code { font-family:'Courier New',monospace; font-size:.78rem; color:#a08a63; font-weight:400; letter-spacing:.03em; }
.arx-gaia-scheda__annot { margin-top:14px; }
.arx-gaia-scheda__annot h4 { margin:0 0 6px; font-size:.9rem; color:#6a5e54; }


/* ─── Pagine indice (conferitori, persone, situazioni, luoghi, eventi) ───── */
.arx-indice .arx-index-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 22px; }
.arx-index-tab { padding:6px 14px; border:1px solid #d8ccb8; border-radius:20px; font-size:.85rem; color:#5a4d3f; text-decoration:none; background:#fff; }
.arx-index-tab:hover { background:#f3ece0; }
.arx-index-tab.is-active { background:#3a2f24; color:#fff; border-color:#3a2f24; }
.arx-index-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:8px; }
.arx-index-item__link { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 14px; background:#fff; border:1px solid #e6ddce; border-radius:6px; text-decoration:none; color:#3a2f24; transition:border-color .15s, background .15s; }
.arx-index-item__link:hover { border-color:#c9b79a; background:#faf6ef; }
.arx-index-item__name { font-size:.92rem; line-height:1.3; }
.arx-index-item__person { display:flex; flex-direction:column; gap:3px; min-width:0; }
.arx-index-item__meta { display:flex; flex-wrap:wrap; gap:4px 14px; color:#75695d; font-size:.76rem; line-height:1.35; }
.arx-index-item__count { flex:none; min-width:28px; text-align:center; font-size:.78rem; font-weight:700; color:#7a5c2e; background:#f0e7d8; border-radius:12px; padding:2px 8px; }

/* ─── Misuratore tempo di caricamento ─────────────────────────── */
.arx-page-load-time { display:flex; align-items:center; justify-content:center; gap:6px; margin:14px 0 0; padding-top:12px; border-top:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.58); font-size:.7rem; letter-spacing:.02em; }
.arx-page-load-time svg { flex:0 0 auto; stroke:currentColor; }
.arx-page-load-time.is-ready { color:rgba(255,255,255,.72); }
.arx-debug-open { display:inline-flex; align-items:center; gap:5px; margin-left:5px; padding:4px 9px; border:1px solid #7f171c; border-radius:12px; background:#7f171c; color:#fff !important; font:inherit; font-weight:700; cursor:pointer; }
.arx-debug-open:hover { border-color:#5f1014; background:#5f1014; color:#fff !important; }
.arx-debug-open svg { stroke:#fff !important; }
.arx-debug-modal { display:none; position:fixed; z-index:10050; inset:0; padding:24px; background:rgba(20,16,14,.72); align-items:center; justify-content:center; }
.arx-debug-modal.is-open { display:flex; }
body.arx-debug-is-open { overflow:hidden; }
.arx-debug-modal__box { width:min(900px,100%); max-height:calc(100vh - 48px); overflow:auto; border-radius:12px; background:#fff; color:#332e2a; box-shadow:0 28px 90px rgba(0,0,0,.4); }
.arx-debug-modal__head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 24px; border-bottom:1px solid #e4ddd5; background:#faf8f4; }
.arx-debug-modal__eyebrow { display:block; margin-bottom:4px; color:#8a8178; font-size:.65rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.arx-debug-modal__head h2 { display:flex; align-items:center; gap:8px; margin:0; color:#7f171c; font-size:1.15rem; }
.arx-debug-modal__head button { width:34px; height:34px; border:1px solid #d8d0c8; border-radius:50%; background:#fff; color:#5b5149; font-size:1.4rem; line-height:1; cursor:pointer; }
.arx-debug-panel__body { display:grid; grid-template-columns:1fr 1fr; gap:30px; padding:22px 24px; text-align:left; }
.arx-debug-modal h4 { margin:0 0 10px; color:#7f171c; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.arx-debug-modal dl { margin:0; }
.arx-debug-modal dl > div { display:flex; justify-content:space-between; gap:14px; padding:7px 0; border-bottom:1px dotted #ddd5cd; }
.arx-debug-modal dt { color:#746a62; }
.arx-debug-modal dd { margin:0; color:#2f2925; font-weight:700; text-align:right; overflow-wrap:anywhere; }
.arx-debug-panel__note { margin:0; padding:11px 24px 14px; border-top:1px solid #e4ddd5; color:#7c746d; background:#faf8f4; font-size:.68rem; text-align:center; }
@media (max-width:700px) { .arx-debug-panel__body { grid-template-columns:1fr; } }

/* Schede risorsa — layout interno contemporaneo, senza sidebar storiche. */
body.single .arx-single-layout {
    grid-template-columns: 0 minmax(0, 1fr) 0;
    background: #eee9e1;
}
body.single .arx-single-layout > .arx-home-sidebar,
body.single .arx-single-layout > .arx-home-aside { display: none; }
body.single .arx-single-layout > .arx-home-main {
    width: 100%;
    max-width: none;
    padding: 34px clamp(24px, 4vw, 64px) 76px;
}
body.single .arx-single-layout .arx-container--wide {
    width: min(100%, 1500px);
    max-width: 1500px;
    margin-inline: auto;
}
body.single .arx-single-layout .arx-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin: 0 0 18px;
    padding: 10px 15px;
    border: 1px solid #d5cfc6;
    border-radius: 999px;
    background: rgba(255,255,255,.7);
    color: #70675f;
}
body.single .arx-single-layout .arx-breadcrumb a { color: #111; font-weight: 750; }
body.single .arx-single-layout .arx-doc {
    padding: 20px;
    border: 1px solid #ddd6cc;
    border-radius: 28px;
    background: #f5f2ed;
    box-shadow: 0 24px 60px rgba(37,30,24,.09);
}
body.single .arx-single-layout .arx-doc__layout {
    grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
    gap: 20px;
}
body.single .arx-single-layout .arx-doc__media {
    min-width: 0;
    padding: clamp(18px, 2.5vw, 34px);
    border-radius: 22px;
    background: #d8d8d5;
    color: #111;
}
body.single .arx-single-layout .arx-front-back-pair { gap: 16px; }
body.single .arx-single-layout .arx-front-back-pair__side {
    padding: 12px;
    border: 1px solid #c8c8c5;
    border-radius: 16px;
    background: #ececea;
}
body.single .arx-single-layout .arx-front-back-pair__side > span,
body.single .arx-single-layout .arx-front-back-pair__side figcaption { color: #555; }
body.single .arx-single-layout .arx-front-back-pair__side .arx-doc__img {
    border-radius: 10px;
    background: #d0d0cd;
}
body.single .arx-single-layout .arx-doc__img { border-radius: 14px; box-shadow: none; }
body.single .arx-single-layout .arx-doc__media-actions { flex-wrap: wrap; margin-top: 18px; }
body.single .arx-single-layout .arx-doc__media-actions .arx-btn {
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid #bdbdb9 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #111 !important;
    font-weight: 800;
}
body.single .arx-single-layout .arx-doc__media-actions .arx-btn:hover { background: #d8d8d8 !important; }
body.single .arx-single-layout .arx-doc__info {
    min-width: 0;
    padding: clamp(26px, 3vw, 44px);
    border: 1px solid #e0dad2;
    border-radius: 22px;
    background: #fff;
}
body.single .arx-single-layout .arx-doc__header { padding-bottom: 22px; border-bottom: 1px solid #e4ded7; }
body.single .arx-single-layout .arx-doc__title {
    margin: 15px 0 8px;
    color: #111;
    font-size: clamp(2rem, 4vw, 4rem);
    line-height: 1;
    letter-spacing: -.035em;
}
body.single .arx-single-layout .arx-doc__num { color: #756c63; font-size: .82rem; }
body.single .arx-single-layout .arx-scheda { gap: 8px; }
body.single .arx-single-layout .arx-scheda__row {
    grid-template-columns: minmax(125px, .75fr) minmax(0, 1.25fr);
    align-items: start;
    gap: 12px 18px;
    padding: 13px 14px;
    border: 0;
    border-radius: 11px;
    background: #f3f1ed;
    font-size: .92rem;
}
body.single .arx-single-layout .arx-scheda__row dt { color: #676058; font-weight: 700; }
body.single .arx-single-layout .arx-scheda__row dd { margin: 0; color: #111; font-weight: 600; overflow-wrap: anywhere; }
body.single .arx-single-layout .arx-detail-filter-link { color: #111; font-weight: 800; text-decoration-thickness: 1px; text-underline-offset: 3px; }

@media (max-width: 980px) {
    body.single .arx-single-layout { grid-template-columns: minmax(0, 1fr); grid-template-areas: "main"; }
    body.single .arx-single-layout .arx-doc__layout { grid-template-columns: 1fr; }
    body.single .arx-single-layout > .arx-home-main { padding-inline: 24px; }
}
@media (max-width: 600px) {
    body.single .arx-single-layout > .arx-home-main { padding: 22px 14px 54px; }
    body.single .arx-single-layout .arx-doc { padding: 9px; border-radius: 20px; }
    body.single .arx-single-layout .arx-doc__media,
    body.single .arx-single-layout .arx-doc__info { padding: 18px; border-radius: 16px; }
    body.single .arx-single-layout .arx-doc__title { font-size: clamp(2rem, 11vw, 3rem); }
    body.single .arx-single-layout .arx-scheda__row { grid-template-columns: 1fr; gap: 4px; }
}

/* Team — grafica coordinata con le pagine interne contemporanee. */
body.page-template-page-team .arx-main { background: #f2f2f0; color: #111; }
body.page-template-page-team .arx-container { width: min(100% - 48px, 1500px); max-width: 1500px; }
body.page-template-page-team .arx-container--narrow { max-width: 1040px; }
body.page-template-page-team .arx-team-hero {
    padding: clamp(54px, 7vw, 100px) 0 clamp(48px, 6vw, 82px);
    border-bottom: 1px solid #d2d2cf;
    background: #e4e4e1;
    color: #111;
    text-align: left;
}
body.page-template-page-team .arx-team-hero::before {
    opacity: .5;
    background: radial-gradient(circle at 82% 25%, rgba(255,255,255,.9), transparent 30%), linear-gradient(125deg, transparent 55%, rgba(255,255,255,.62));
}
body.page-template-page-team .arx-team-hero .arx-container { position: relative; z-index: 1; }
body.page-template-page-team .arx-team-hero__kicker,
body.page-template-page-team .arx-team-section__label { color: #595959; font-weight: 800; }
body.page-template-page-team .arx-team-hero__title {
    max-width: 900px;
    margin-bottom: 18px;
    color: #111;
    font-size: clamp(2.6rem, 5vw, 5.2rem);
    font-weight: 650;
    line-height: .95;
    letter-spacing: -.045em;
}
body.page-template-page-team .arx-team-hero__subtitle { max-width: 760px; margin: 0; color: #555; font-size: 1.08rem; }
body.page-template-page-team .arx-team-section { padding: clamp(48px, 6vw, 82px) 0; border-bottom: 1px solid #dededb; }
body.page-template-page-team .arx-team-section:nth-child(even) { background: #fafafa; }
body.page-template-page-team .arx-team-section:nth-child(odd) { background: #eeeeec; }
body.page-template-page-team .arx-team-section__head { margin-bottom: 32px; text-align: left; }
body.page-template-page-team .arx-team-section__title { color: #111; font-size: clamp(1.7rem, 3vw, 2.65rem); font-weight: 650; letter-spacing: -.025em; }
body.page-template-page-team .arx-team-section .arx-container > p[style] { margin: -16px 0 28px !important; color: #626262 !important; text-align: left !important; }
body.page-template-page-team .arx-team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
body.page-template-page-team .arx-team-card {
    padding: 25px;
    border: 1px solid #d5d5d2;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0,0,0,.035);
}
body.page-template-page-team .arx-team-card:hover { border-color: #aaa; box-shadow: 0 14px 34px rgba(0,0,0,.075); }
body.page-template-page-team .arx-team-card--featured { border-color: #aaa; border-top: 5px solid #333; }
body.page-template-page-team .arx-team-card__avatar { width: 58px; height: 58px; background: #dededb; color: #111; font-size: 1.25rem; }
body.page-template-page-team .arx-team-card__name,
body.page-template-page-team .arx-team-card__role,
body.page-template-page-team .arx-team-card__contact a { color: #111; }
body.page-template-page-team .arx-team-card__role { letter-spacing: .07em; }
body.page-template-page-team .arx-team-card__org { color: #6b6b69; }
body.page-template-page-team .arx-team-card__bio { color: #4f4f4d; }
body.page-template-page-team .arx-partner-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
body.page-template-page-team .arx-partner-card { padding: 22px 18px; border: 1px solid #d4d4d1; border-radius: 16px; background: #fff; }
body.page-template-page-team .arx-partner-card__name { color: #111; font-size: .95rem; }
body.page-template-page-team .arx-partner-card__type { color: #666; }
body.page-template-page-team .arx-comuni-grid { justify-content: flex-start; }
body.page-template-page-team .arx-comune-badge { padding: 10px 16px; border-color: #c7c7c4; border-radius: 999px; color: #111; }
body.page-template-page-team .arx-comune-badge::before { color: #555; }
body.page-template-page-team .arx-prose { padding: clamp(24px, 4vw, 42px); border: 1px solid #d5d5d2; border-radius: 20px; background: #fff; }
body.page-template-page-team .arx-prose a { color: #111; font-weight: 800; }
body.page-template-page-team .arx-credits-box { border-color: #d1d1ce; border-left-color: #555; border-radius: 16px; background: #e5e5e2; }
body.page-template-page-team .arx-credits-box__title { color: #111; }

@media (max-width: 980px) {
    body.page-template-page-team .arx-team-grid { grid-template-columns: 1fr; }
    body.page-template-page-team .arx-partner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
    body.page-template-page-team .arx-container { width: min(100% - 28px, 1500px); }
    body.page-template-page-team .arx-team-hero__title { font-size: clamp(2.5rem, 14vw, 4rem); }
    body.page-template-page-team .arx-partner-grid { grid-template-columns: 1fr; }
    body.page-template-page-team .arx-team-card { padding: 20px; }
}

/* Barra operativa frontend — visibile soltanto agli utenti autorizzati. */
.arx-control-bar {
    position: sticky;
    top: 0;
    z-index: 1001;
    margin-bottom: 6px;
    border-bottom: 1px solid #3e3e3c;
    background: #171716;
    color: #fff;
    font-size: .78rem;
}
.arx-control-bar + .arx-header { top: 49px !important; }
.arx-control-bar + .arx-header .arx-unified-menu-trigger,
.arx-control-bar + .arx-header .arx-header-contact-tools,
.arx-control-bar + .arx-header .arx-header__floating-menu { top: 69px; }
.arx-control-bar__inner {
    width: min(100% - 32px, 1500px);
    min-height: 42px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 20px;
}
.arx-control-bar__identity,
.arx-control-bar__account,
.arx-control-bar__actions { display: flex; align-items: center; }
.arx-control-bar__identity { gap: 9px; white-space: nowrap; }
.arx-control-bar__identity > span:last-child { display: flex; align-items: baseline; gap: 7px; }
.arx-control-bar__identity small { color: #aaa; }
.arx-control-bar__mark {
    display: grid;
    place-items: center;
    width: 27px;
    height: 27px;
    border-radius: 6px;
    background: #8c2633;
    font-size: .64rem;
    font-weight: 900;
    letter-spacing: .04em;
}
.arx-control-bar__actions { flex: 1; gap: 4px; }
.arx-control-bar__actions a,
.arx-control-bar__account a {
    padding: 6px 9px;
    border-radius: 5px;
    color: #e8e8e5;
    text-decoration: none;
}
.arx-control-bar__actions a:hover,
.arx-control-bar__actions a:focus-visible,
.arx-control-bar__account a:hover,
.arx-control-bar__account a:focus-visible { background: #333331; color: #fff; }
.arx-control-bar__account { gap: 5px; color: #c5c5c1; white-space: nowrap; }
.arx-control-bar__account a { color: #fff; font-weight: 800; }

@media (max-width: 760px) {
    .arx-control-bar__inner { width: min(100% - 20px, 1500px); min-height: 46px; gap: 8px; }
    .arx-control-bar__identity small,
    .arx-control-bar__account span { display: none; }
    .arx-control-bar__actions { overflow-x: auto; }
    .arx-control-bar__actions a { white-space: nowrap; }
    .arx-control-bar + .arx-header { top: 52px !important; }
    .arx-control-bar + .arx-header .arx-unified-menu-trigger,
    .arx-control-bar + .arx-header .arx-header-contact-tools,
    .arx-control-bar + .arx-header .arx-header__floating-menu { top: 66px; }
}

.arx-image-editor-trigger { border-color: #111 !important; background: #111 !important; color: #fff !important; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.arx-image-edit-result { color: #21633a; font-size: .76rem; font-weight: 900; letter-spacing: .04em; }
.arx-image-editor { position: fixed; inset: 0; width: min(920px, calc(100vw - 32px)); max-width: none; height: min(820px, calc(100dvh - 32px)); max-height: none; margin: auto; padding: 0; border: 0; border-radius: 18px; background: #fff; color: #171716; box-shadow: 0 28px 90px rgba(0,0,0,.42); }
.arx-image-editor::backdrop { background: rgba(12,12,12,.76); backdrop-filter: blur(5px); }
.arx-image-editor__shell { height: 100%; display: grid; grid-template-rows: auto minmax(0,1fr) auto auto; }
.arx-image-editor__shell > header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 22px; border-bottom: 1px solid #ddd; }
.arx-image-editor__shell header small { color: #777; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.arx-image-editor__shell header h2 { margin: 2px 0 0; color: #111; font-size: 1.45rem; }
.arx-image-editor__close { width: 42px; height: 42px; border: 1px solid #111; border-radius: 50%; background: #111; color: #fff; font-size: 1.8rem; line-height: 1; cursor: pointer; }
.arx-image-editor__stage { min-height: 0; display: grid; place-items: center; overflow: hidden; padding: 28px; background: #e7e7e4; }
.arx-image-editor__viewport { position:relative; width:100%; height:100%; min-width:0; min-height:0; overflow:hidden; }
.arx-image-editor__preview { position:absolute; top:50%; left:50%; display:block; max-width:none; max-height:none; object-fit:contain; object-position:center; transform-origin:center; transition:transform .22s ease,width .22s ease,height .22s ease; box-shadow:0 10px 35px rgba(0,0,0,.2); }
.arx-image-editor__tools { display: flex; justify-content: center; gap: 10px; padding: 15px 20px; border-top: 1px solid #d7d7d4; background: #f5f5f3; }
.arx-image-editor__rotate { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border: 1px solid #111; border-radius: 999px; background: #111; color: #fff; font-weight: 800; text-transform: uppercase; cursor: pointer; }
.arx-image-editor__rotate span { font-size: 1.4rem; line-height: 1; }
.arx-image-editor__shell > footer { display: flex; align-items: center; gap: 10px; padding: 14px 20px; border-top: 1px solid #ddd; }
.arx-image-editor__status { margin-right: auto; color: #555; font-size: .78rem; }
.arx-image-editor.is-saving button { pointer-events: none; opacity: .55; }
.arx-image-editor__shell button,
.arx-frontend-editor__shell button { border-color: #111 !important; background: #111 !important; color: #fff !important; text-transform: uppercase; }
.arx-image-editor__shell button:hover,
.arx-image-editor__shell button:focus-visible,
.arx-frontend-editor__shell button:hover,
.arx-frontend-editor__shell button:focus-visible { background: #333 !important; color: #fff !important; }
.arx-image-editor__shell button:disabled,
.arx-frontend-editor__shell button:disabled { background: #555 !important; color: #ddd !important; opacity: .65; }

@media (max-width: 620px) {
    .arx-image-editor { width: calc(100vw - 16px); height: calc(100dvh - 16px); border-radius: 12px; }
    .arx-image-editor__stage { padding: 16px; }
    .arx-image-editor__tools { flex-wrap: wrap; }
    .arx-image-editor__rotate { flex: 1 1 160px; justify-content: center; }
    .arx-image-editor__shell > footer { flex-wrap: wrap; }
    .arx-image-editor__status { width: 100%; }
}

/* Preferiti — cuore riusabile, contatore e raccolta personale. */
.arx-favorite-toggle {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    padding: 0;
    border: 1px solid #111;
    border-radius: 50%;
    background: #111;
    color: #fff;
    cursor: pointer;
}
.arx-favorite-toggle svg { width: 19px; height: 19px; }
.arx-favorite-toggle[aria-pressed="true"] svg { fill: currentColor; }
.arx-favorite-toggle:hover,.arx-favorite-toggle:focus-visible { background: #333; color: #fff; }
.arx-favorite-toggle:disabled { cursor: wait; opacity: .55; }
.arx-doc-card > .arx-favorite-toggle { position: absolute; z-index: 9; top: 8px; left: 8px; }
.arx-doc-card > .arx-card-edit-button + .arx-favorite-toggle { left: 46px; }
.arx-doc__media-actions .arx-favorite-toggle { position: static; }
.arx-public-point-toggle { display:inline-flex !important; align-items:center; gap:6px; }
.arx-public-point-toggle svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.arx-public-point-toggle[aria-pressed="true"] { background:#111 !important; color:#fff !important; }
.arx-public-point-stage { position:relative; width:100%; }
.arx-public-point-stage > .arx-doc__img { width:100%; }
.arx-public-point-layer[hidden] { display:none; }
.arx-public-point-layer { position:absolute; z-index:4; inset:0; overflow:visible; border-radius:14px; pointer-events:none; }
.arx-public-point-marker { position:absolute; display:block; width:18px; height:18px; border:3px solid #fff; border-radius:50%; background:#d50000; box-shadow:0 2px 8px rgba(0,0,0,.65); transform:translate(-50%,-50%); }
.arx-public-point-marker::after { content:attr(data-label); position:absolute; top:calc(100% + 7px); left:50%; width:max-content; max-width:220px; color:#d50000; font:900 12px/1.15 Arial,sans-serif; text-align:center; text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,0 0 3px #fff; -webkit-text-stroke:.35px #fff; transform:translateX(-50%); }

.arx-favorites { min-height: 65vh; padding-block: clamp(48px,7vw,90px); background: #eeeeeb; }
.arx-favorites__header { max-width: 880px; margin-bottom: 34px; }
.arx-favorites__kicker { margin: 0 0 8px; color: #666; font-size: .76rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.arx-favorites__header h1 { margin: 0 0 14px; color: #111; font-size: clamp(2.5rem,6vw,5.5rem); line-height: .95; letter-spacing: -.045em; }
.arx-favorites__header > p:last-child { max-width: 680px; color: #555; }
.arx-favorites__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px; padding-block: 12px; border-block: 1px solid #ccc; }
.arx-favorites__toolbar button,.arx-favorites__empty a { padding: 10px 15px; border: 1px solid #111; border-radius: 999px; background: #111; color: #fff; font-size: .76rem; font-weight: 900; text-decoration: none; cursor: pointer; }
.arx-favorites__loading { padding: 40px 0; color: #555; }
.arx-favorites__grid { margin-top: 0; }
.arx-favorites__empty { padding: clamp(50px,8vw,100px) 20px; border: 1px solid #ccc; border-radius: 20px; background: #fff; text-align: center; }
.arx-favorites__empty > span { display: block; margin-bottom: 12px; color: #111; font-size: 4rem; }
.arx-favorites__empty h2 { margin: 0 0 8px; color: #111; }
.arx-favorites__empty p { margin: 0 0 24px; color: #666; }

/* Workflow filesystem — pannello frontend amministratore. */
.arx-workflow-panel { scroll-margin-top: 145px; display:flex; align-items:center; gap:24px; margin:0 0 22px; padding:18px 22px; border-left:7px solid #6e1532; background:#f1e7ea; color:#171716; }
.arx-workflow-panel small { display:block; margin-bottom:3px; font-size:.68rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.arx-workflow-panel h2 { margin:0; color:#111; font-size:1.2rem; }
.arx-workflow-panel p { margin:4px 0 0; }
.arx-workflow-panel__actions { display:flex; flex-wrap:wrap; gap:8px; margin-left:auto; }
.arx-workflow-panel button,.arx-workflow-dialog button { min-height:40px; padding:0 15px; border:1px solid #111; border-radius:999px; background:#111; color:#fff; font-weight:900; text-transform:uppercase; cursor:pointer; }
.arx-workflow-panel__status { flex:0 0 100%; color:#6e1532; font-size:.75rem; font-weight:900; }
.arx-workflow-panel.is-busy button { pointer-events:none; opacity:.5; }
.arx-workflow-dialog { position:fixed; inset:0; width:min(620px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:0; border:0; border-radius:16px; background:#fff; box-shadow:0 25px 80px #0007; }
.arx-workflow-dialog::backdrop { background:#000b; backdrop-filter:blur(4px); }
.arx-workflow-dialog form { display:grid; gap:18px; padding:22px; }
.arx-workflow-dialog header,.arx-workflow-dialog footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.arx-workflow-dialog header h2 { margin:2px 0 0; color:#111; }
.arx-workflow-dialog header small,.arx-workflow-dialog label { font-size:.7rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.arx-workflow-dialog header button { width:40px; padding:0; font-size:1.4rem; }
.arx-workflow-dialog textarea { width:100%; padding:12px; border:1px solid #777; resize:vertical; }
.arx-workflow-dialog footer { justify-content:flex-end; }
@media(max-width:760px){.arx-workflow-panel{align-items:flex-start;flex-direction:column}.arx-workflow-panel__actions{margin-left:0}.arx-workflow-panel__actions button{width:100%}}

/* Cestino reversibile frontend. */
.arx-trash-mode__head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 20px; padding:18px 20px; color:#fff; background:#111; }
.arx-trash-mode__head small { font-weight:900; letter-spacing:.1em; }
.arx-trash-mode__head h1 { margin:3px 0; color:#fff; font-size:clamp(1.35rem,3vw,2rem); }
.arx-trash-mode__head p { margin:0; color:#ccc; }
.arx-trash-mode__head a,.arx-trash-card-button,.arx-trash-dialog button { padding:10px 15px; border:1px solid #111; border-radius:999px; background:#111; color:#fff; font-weight:900; text-decoration:none; text-transform:uppercase; cursor:pointer; }
.arx-trash-mode__head a { border-color:#fff; }
.arx-trash-card-button { position:absolute; z-index:12; top:9px; right:9px; }
.arx-trash-mode .arx-card-edit-button { display:none; }
.arx-doc-card.is-trashed { opacity:0; transform:scale(.96); transition:.3s ease; }
.arx-trash-dialog { position:fixed; inset:0; width:min(680px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:0; border:0; border-radius:16px; background:#fff; box-shadow:0 25px 80px #0007; }
.arx-trash-dialog::backdrop { background:#000b; backdrop-filter:blur(4px); }
.arx-trash-dialog form { display:grid; gap:20px; padding:22px; }
.arx-trash-dialog header,.arx-trash-dialog footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.arx-trash-dialog header small { font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.arx-trash-dialog header h2 { margin:3px 0 0; color:#111; }
.arx-trash-dialog header button { width:42px; height:42px; padding:0; font-size:1.5rem; }
.arx-trash-dialog__resource { display:grid; grid-template-columns:160px 1fr; align-items:center; gap:20px; }
.arx-trash-dialog__resource img { width:160px; height:160px; object-fit:contain; background:#eee; }
.arx-trash-dialog__resource strong,.arx-trash-dialog__resource span { display:block; }
.arx-trash-dialog__resource span { margin-top:5px; color:#666; }
.arx-trash-dialog footer { justify-content:flex-end; }
.arx-trash-result { position:fixed; z-index:85; right:24px; bottom:24px; max-width:520px; margin:0; padding:12px 18px; background:#111; color:#fff; font-size:.75rem; font-weight:900; }
.arx-trash-result:empty { display:none; }
@media(max-width:700px){.arx-trash-mode__head{align-items:stretch;flex-direction:column}.arx-trash-mode__head a{text-align:center}.arx-trash-dialog__resource{grid-template-columns:1fr}.arx-trash-dialog__resource img{width:100%;height:220px}}

/* Risorse già confluite in una composita definitiva. */
.arx-doc-card__unified { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:38px; padding:8px 12px; background:#761b36; color:#fff !important; font-size:.68rem; font-weight:900; letter-spacing:.045em; line-height:1.2; text-decoration:none; text-transform:uppercase; }
a.arx-doc-card__unified:hover,a.arx-doc-card__unified:focus-visible { background:#541126; color:#fff; }
.arx-doc-card--unified .arx-doc-card__media { border-bottom:0; }
.arx-favorite-card__type { color: #666; font-size: .78rem; }
