/* Area riservata — allineato al tema kiboko (Archivo, marroni #71503E / #B38A74, angoli in basso a destra).
   Le variabili sono sovrascrivibili dal tema su .pac-front. */
.pac-front {
  --pac-primary: #71503e;
  --pac-primary-light: #b38a74;
  --pac-primary-lightest: #f4f0ed;
  --pac-text: #494948;
  --pac-muted: #8a8a89;
  --pac-grey: #b1b1b1;
  --pac-grey-light: #f7f7f7;
  --pac-white: #fff;
  --pac-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --pac-font: "Archivo", sans-serif;
  font-family: var(--pac-font);
  color: var(--pac-text);
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 0 5rem;
}
.pac-front *, .pac-front *::before, .pac-front *::after { box-sizing: border-box; }

/* Intestazione app */
.pac-front__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.5rem; flex-wrap: wrap; padding-bottom: 1.5rem; margin-bottom: 2.5rem; border-bottom: 1px solid var(--pac-primary-light); }
.pac-front__title { margin: 0 0 .25rem; font-size: 1.75rem; line-height: 1.1; font-weight: 800; font-stretch: 112.5%; color: var(--pac-primary); }
.pac-front__sub { margin: 0; color: var(--pac-muted); font-size: 1rem; }
.pac-front__head > div:first-child { flex: 1 1 auto; min-width: 0; }
.pac-front__nav { display: flex; gap: .75rem; flex-wrap: wrap; flex-shrink: 0; }

/* Bottoni: replicano .cta del tema */
.pac-btn { display: inline-flex; align-items: center; justify-content: center; padding: 1rem 1.5rem; border: 0; border-bottom-right-radius: 1rem; font: inherit; font-size: 1rem; font-weight: 700; font-stretch: 112.5%; text-transform: uppercase; text-decoration: none !important; line-height: 1; cursor: pointer; transition: .3s all var(--pac-ease); }
.pac-btn--primary { background: var(--pac-primary); color: var(--pac-white) !important; }
.pac-btn--primary:hover { background: var(--pac-primary-light); }
.pac-btn--ghost { background: var(--pac-primary-lightest); color: var(--pac-primary) !important; }
.pac-btn--ghost:hover { background: var(--pac-primary-light); color: var(--pac-white) !important; }
.pac-btn--sm { padding: .75rem 1.125rem; font-size: .85rem; }

/* Card unità: come card-immobile__content */
.pac-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5rem; }
.pac-card { display: flex; flex-direction: column; gap: .35rem; padding: 2.5rem 2.5rem 3rem; background: var(--pac-grey-light); border-bottom-right-radius: 2.5rem; text-decoration: none !important; color: var(--pac-text) !important; transition: .3s all var(--pac-ease); }
.pac-card:hover { background: var(--pac-primary-lightest); transform: translateY(-3px); }
.pac-card__cantiere { display: inline-block; max-width: max-content; padding: .5rem .75rem; margin-bottom: 1rem; border: 1px solid var(--pac-primary); border-bottom-right-radius: .5rem; font-size: .85rem; font-weight: 600; font-stretch: 112.5%; text-transform: uppercase; color: var(--pac-primary); }
.pac-card__nome { font-size: 1.5rem; font-weight: 800; font-stretch: 112.5%; color: var(--pac-primary); line-height: 1.15; }
.pac-card__desc { color: var(--pac-muted); font-size: 1rem; }
.pac-card__cta { margin-top: 1.25rem; font-weight: 700; font-stretch: 112.5%; text-transform: uppercase; font-size: .9rem; color: var(--pac-primary); }

/* Gruppi e categorie */
.pac-group { margin-bottom: 3rem; }
.pac-group__title { margin: 0 0 1rem; font-size: 1.35rem; font-weight: 800; font-stretch: 112.5%; color: var(--pac-primary); }
.pac-cat { margin: 1.5rem 0 .5rem; font-size: .85rem; font-weight: 700; font-stretch: 112.5%; text-transform: uppercase; color: var(--pac-primary-light); }

/* Elenco documenti */
.pac-docs { list-style: none; margin: 0; padding: 0; background: var(--pac-grey-light); border-bottom-right-radius: 1.5rem; overflow: hidden; }
.pac-doc { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.5rem; border-bottom: 1px solid var(--pac-white); }
.pac-doc:last-child { border-bottom: 0; }
.pac-doc__icon { flex: 0 0 3rem; height: 3rem; display: inline-flex; align-items: center; justify-content: center; border-bottom-right-radius: .75rem; background: var(--pac-primary-lightest); color: var(--pac-primary); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.pac-ext--pdf { background: #f3e2e2; color: #8a3b3b; }
.pac-ext--dwg, .pac-ext--dxf { background: #e3e8f0; color: #3b5580; }
.pac-ext--jpg, .pac-ext--jpeg, .pac-ext--png, .pac-ext--webp, .pac-ext--heic { background: #e4ece4; color: #3f6b45; }
.pac-doc__body { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.pac-doc__title { font-weight: 600; font-stretch: 112.5%; font-size: 1.05rem; overflow-wrap: anywhere; color: var(--pac-text); }
.pac-doc__meta { font-size: .85rem; color: var(--pac-muted); }
.pac-muted { color: var(--pac-muted); }
.pac-notice, .pac-error { padding: 1rem 1.5rem; border-bottom-right-radius: 1rem; background: var(--pac-grey-light); }
.pac-error { background: #f3e2e2; color: #8a3b3b; }

/* Login: input come i Gravity Forms del tema (solo bordo inferiore) */
.pac-login { display: flex; justify-content: flex-start; padding: 0 0 4rem; }
.pac-login__form { width: 100%; max-width: 480px; padding: 2.5rem 2.5rem 3rem; background: var(--pac-grey-light); border-bottom-right-radius: 2.5rem; }
.pac-login__title { margin: 0 0 .5rem; font-size: 1.5rem; font-weight: 800; font-stretch: 112.5%; color: var(--pac-primary); }
.pac-login__intro { margin: 0 0 2rem; color: var(--pac-text); font-size: 1.05rem; line-height: 1.5; }
.pac-field { display: block; margin-bottom: 1.5rem; }
.pac-field span { display: block; margin-bottom: .35rem; font-size: .9rem; font-weight: 700; font-stretch: 112.5%; text-transform: uppercase; color: var(--pac-primary-light); }
.pac-field input { width: 100%; padding: 0 0 .75rem; border: 0; border-bottom: 1px solid var(--pac-primary-light); border-radius: 0; background: transparent; font: inherit; font-size: 1.25rem; font-weight: 500; font-stretch: 112.5%; color: var(--pac-text); appearance: none; }
.pac-field input:focus { outline: none; border-bottom-color: var(--pac-primary); }
.pac-check { display: flex; gap: .6rem; align-items: center; margin-bottom: 1.75rem; font-size: .95rem; }
.pac-check input { accent-color: var(--pac-primary); width: 1.1rem; height: 1.1rem; }
.pac-login__form .pac-btn { width: 100%; }
.pac-login__help { margin: 1.25rem 0 0; font-size: .9rem; }
.pac-login__help a { color: var(--pac-primary); text-decoration: underline; }
.pac-login .pac-error { margin-bottom: 1.5rem; }

@media (max-width: 767px) {
  .pac-front__title { font-size: 1.4rem; }
  .pac-card { padding: 1.75rem 1.5rem 2rem; }
  .pac-doc { flex-wrap: wrap; }
  .pac-doc .pac-btn { width: 100%; }
  .pac-login__form { padding: 1.75rem 1.5rem 2rem; }
}

/* Link legali sotto il login */
.pac-login__legal { margin: .75rem 0 0; font-size: .8rem; color: var(--pac-muted); }
.pac-login__legal a { color: var(--pac-muted); text-decoration: underline; }

/* Conferma informativa al primo accesso */
.pac-consent { max-width: 640px; padding: 2.5rem 2.5rem 3rem; background: var(--pac-grey-light); border-bottom-right-radius: 2.5rem; }
.pac-consent__title { margin: 0 0 .75rem; font-size: 1.5rem; font-weight: 800; font-stretch: 112.5%; color: var(--pac-primary); }
.pac-consent__text { margin: 0 0 1.5rem; line-height: 1.6; }
.pac-consent__docs { display: flex; gap: .75rem; flex-wrap: wrap; margin: 0 0 1.75rem; }
.pac-consent .pac-check { align-items: flex-start; margin-bottom: 1rem; line-height: 1.45; }
.pac-consent .pac-check input { margin-top: .15rem; flex-shrink: 0; }
.pac-consent .pac-btn[disabled] { opacity: .45; cursor: not-allowed; }
.pac-consent__version { margin: 1.25rem 0 0; font-size: .8rem; color: var(--pac-muted); }

/* Cartella dei documenti comuni: si distingue dalle unità */
.pac-card--comune { background: var(--pac-primary-lightest); }
.pac-card--comune:hover { background: #ece3dc; }

/* Cartelle per categoria dentro l'unità: apribili e richiudibili */
.pac-folder { margin-bottom: .75rem; background: var(--pac-grey-light); border-bottom-right-radius: 1.5rem; overflow: hidden; }
.pac-folder__head { display: flex; align-items: center; gap: .85rem; padding: 1.1rem 1.5rem; cursor: pointer; list-style: none; user-select: none; transition: background .2s var(--pac-ease); }
.pac-folder__head::-webkit-details-marker { display: none; }
.pac-folder__head:hover { background: var(--pac-primary-lightest); }
.pac-folder__icon { display: inline-flex; color: var(--pac-primary-light); flex-shrink: 0; }
.pac-folder[open] .pac-folder__icon { color: var(--pac-primary); }
.pac-folder__nome { flex: 1; font-weight: 700; font-stretch: 112.5%; text-transform: uppercase; font-size: .9rem; letter-spacing: .02em; color: var(--pac-primary); }
.pac-folder__conta { font-size: .85rem; color: var(--pac-muted); }
.pac-folder__head::after { content: '+'; margin-left: .5rem; font-size: 1.2rem; font-weight: 700; color: var(--pac-primary); line-height: 1; }
.pac-folder[open] .pac-folder__head::after { content: '–'; }
.pac-folder .pac-docs { border-radius: 0; background: transparent; border-top: 1px solid var(--pac-white); }
