/* ============================================================
   INDEBITAMENTO.IT
   TEMPLATE MASTER PAGINE INTERNE
   Derivato dalla Home V3 approvata
   ============================================================ */

:root{
  --int-blue:#123f5d;
  --int-blue-dark:#0b3f60;
  --int-blue-light:#eaf2f6;
  --int-gold:#d5a75f;
  --int-text:#18394f;
  --int-muted:#587286;
  --int-soft:#f4f7f9;
  --int-line:#e2e9ed;
  --int-white:#ffffff;
}

/* ------------------------------------------------------------
   LAYOUT GENERALE
   ------------------------------------------------------------ */

body:not(.home-v2){
  background:#fff;
  color:var(--int-text);
}

body:not(.home-v2) main{
  min-height:520px;
}

body:not(.home-v2) .container,
body:not(.home-v2) .narrow{
  width:min(1148px,calc(100% - 36px));
  margin-left:auto;
  margin-right:auto;
}

body:not(.home-v2) .narrow{
  max-width:960px;
}

/* ------------------------------------------------------------
   HERO INTERNA
   ------------------------------------------------------------ */

.page-hero{
  position:relative;
  overflow:hidden;
  padding:58px 0 52px;
  background:
    radial-gradient(circle at 83% 35%,rgba(213,167,95,.22),transparent 18%),
    linear-gradient(110deg,#ffffff 0%,#faf7f1 56%,#eef4f7 100%);
  border-bottom:1px solid var(--int-line);
}

.page-hero::after{
  content:"";
  position:absolute;
  width:430px;
  height:150px;
  right:-70px;
  bottom:-105px;
  border:12px solid rgba(255,255,255,.85);
  border-radius:50%;
  transform:rotate(-8deg);
}

.page-hero .eyebrow{
  position:relative;
  z-index:2;
  margin:0 0 10px;
  font-size:11px;
  line-height:1.2;
  letter-spacing:.13em;
  font-weight:800;
  color:#28526b;
}

.page-hero h1{
  position:relative;
  z-index:2;
  max-width:850px;
  margin:0 0 14px;
  color:var(--int-blue);
  font-family:Georgia,"Times New Roman",serif;
  font-size:48px;
  line-height:1.03;
  letter-spacing:-1px;
}

.page-hero .lead{
  position:relative;
  z-index:2;
  max-width:800px;
  margin:0;
  color:#3f6075;
  font-size:18px;
  line-height:1.5;
}

/* ------------------------------------------------------------
   BREADCRUMB
   ------------------------------------------------------------ */

.breadcrumb-wrap{
  background:#fff;
  border-bottom:1px solid #edf1f3;
}

.breadcrumb{
  width:min(1148px,calc(100% - 36px));
  margin:0 auto;
  padding:11px 0;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  font-size:11px;
  color:#6a8190;
}

.breadcrumb a{
  color:#285b79;
}

.breadcrumb .sep{
  opacity:.55;
}

/* ------------------------------------------------------------
   CONTENUTO
   ------------------------------------------------------------ */

.section{
  padding:44px 0;
}

.section:nth-child(even){
  background:#fff;
}

.content{
  color:#29495d;
}

.content > section{
  padding:8px 0 26px;
  margin-bottom:24px;
  border-bottom:1px solid var(--int-line);
}

.content > section:last-child{
  border-bottom:0;
}

.content h2{
  margin:0 0 14px;
  color:var(--int-blue);
  font-family:Georgia,"Times New Roman",serif;
  font-size:30px;
  line-height:1.15;
}

.content h3{
  margin:26px 0 10px;
  color:var(--int-blue);
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px;
}

.content p,
.content li{
  font-size:16px;
  line-height:1.65;
}

.content ul,
.content ol{
  padding-left:22px;
}

.content li{
  margin:7px 0;
}

/* ------------------------------------------------------------
   CARD / TOPIC
   ------------------------------------------------------------ */

.topic-list{
  display:grid;
  gap:14px;
}

.topic-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
  padding:22px 24px;
  background:#fff;
  border:1px solid var(--int-line);
  border-radius:8px;
  box-shadow:0 5px 17px rgba(15,63,93,.04);
  transition:transform .18s ease,box-shadow .18s ease;
}

.topic-row:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 25px rgba(15,63,93,.09);
}

.topic-row h2{
  margin:0 0 4px;
  font-size:25px;
}

.topic-row p{
  margin:0;
  color:var(--int-muted);
  font-size:14px;
}

.topic-row > span{
  color:var(--int-gold);
  font-size:25px;
}

/* ------------------------------------------------------------
   BOX INFORMATIVI
   ------------------------------------------------------------ */

.notice{
  margin:18px 0;
  padding:18px 20px;
  background:#edf5f8;
  border-left:4px solid #5488a4;
  border-radius:5px;
  color:#26495d;
}

.notice.warning,
.warning{
  background:#fff8eb;
  border-left-color:var(--int-gold);
}

.notice strong{
  color:var(--int-blue);
}

/* ------------------------------------------------------------
   COMPONENTI FUTURI RIUTILIZZABILI
   ------------------------------------------------------------ */

.internal-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin:24px 0;
}

.internal-card{
  padding:22px;
  background:#fff;
  border:1px solid var(--int-line);
  border-radius:8px;
  box-shadow:0 5px 18px rgba(13,61,90,.04);
}

.internal-card h3{
  margin-top:0;
}

.solution-strip{
  margin:35px 0 5px;
  padding:26px 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  background:linear-gradient(90deg,#103f5c,#1d5e80);
  color:#fff;
  border-radius:7px;
}

.solution-strip h2,
.solution-strip h3{
  color:#fff;
  margin:0 0 5px;
}

.solution-strip p{
  margin:0;
  color:#dfeaf0;
}

.source-box{
  margin-top:30px;
  padding:20px;
  background:#f7f9fa;
  border:1px solid var(--int-line);
  border-radius:7px;
}

.source-box h3{
  margin-top:0;
}

/* ------------------------------------------------------------
   PAGINE LEGALI
   ------------------------------------------------------------ */

body.page-legal .content{
  max-width:900px;
}

body.page-legal .content h2{
  margin-top:25px;
}

.legal-placeholder{
  color:#9b6423;
  font-weight:700;
}

/* ------------------------------------------------------------
   FORM / FUTURA AREA LOGIN
   ------------------------------------------------------------ */

.form-card{
  max-width:620px;
  margin:0 auto;
  padding:30px;
  background:#fff;
  border:1px solid var(--int-line);
  border-radius:8px;
  box-shadow:0 12px 28px rgba(13,61,90,.07);
}

/* ------------------------------------------------------------
   FOOTER / HEADER
   ------------------------------------------------------------ */

body:not(.home-v2) .site-header{
  font-family:"Segoe UI",Arial,sans-serif;
}

/* ------------------------------------------------------------
   RESPONSIVE
   ------------------------------------------------------------ */

@media(max-width:1050px){

  .page-hero h1{
    font-size:43px;
  }

  .internal-grid{
    grid-template-columns:1fr 1fr;
  }

}

@media(max-width:700px){

  body:not(.home-v2) .container,
  body:not(.home-v2) .narrow,
  .breadcrumb{
    width:min(100% - 24px,1148px);
  }

  .page-hero{
    padding:42px 0 38px;
  }

  .page-hero h1{
    font-size:37px;
  }

  .page-hero .lead{
    font-size:17px;
  }

  .section{
    padding:34px 0;
  }

  .content h2{
    font-size:27px;
  }

  .internal-grid{
    grid-template-columns:1fr;
  }

  .solution-strip{
    flex-direction:column;
    align-items:flex-start;
  }

}

/* ============================================================
   TIPI DI DEBITO / PAGINE VERTICALI
   ============================================================ */

.debt-intro{
  max-width:880px;
  margin:0 0 30px;
  font-size:18px;
  line-height:1.65;
  color:#3b5d72;
}

.debt-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin:25px 0 10px;
}

.debt-card{
  position:relative;
  min-height:190px;
  padding:23px 22px 21px;
  background:#fff;
  border:1px solid var(--int-line);
  border-radius:9px;
  box-shadow:0 6px 18px rgba(13,61,90,.05);
  text-decoration:none;
  color:inherit;
  transition:.18s ease;
}

.debt-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(13,61,90,.10);
}

.debt-card h2{
  margin:0 0 8px;
  font-size:23px;
}

.debt-card p{
  margin:0;
  font-size:14px;
  line-height:1.5;
  color:var(--int-muted);
}

.stage-grid,
.check-grid,
.action-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
  margin:22px 0;
}

.stage-card,
.check-box,
.action-item{
  padding:20px;
  border:1px solid var(--int-line);
  border-radius:8px;
  background:#fff;
}

.action-item{
  border-left:4px solid var(--int-gold);
  background:#faf8f3;
}

.documents-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px 25px;
  margin:18px 0;
  padding:0;
  list-style:none;
}

.documents-list li{
  position:relative;
  padding-left:23px;
}

.documents-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:#4f7f68;
  font-weight:800;
}

.official-sources{
  margin-top:35px;
  padding:24px;
  background:#f7f9fa;
  border:1px solid var(--int-line);
  border-radius:8px;
}

@media(max-width:700px){
  .debt-grid,
  .stage-grid,
  .check-grid,
  .action-list,
  .documents-list{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   FAQ ACCORDION
   ============================================================ */

.faq-list{
  margin:25px 0;
}

.faq-item{
  margin:0 0 12px;
  background:#fff;
  border:1px solid var(--int-line);
  border-radius:8px;
  box-shadow:0 5px 16px rgba(13,61,90,.04);
  overflow:hidden;
}

.faq-item summary{
  position:relative;
  padding:20px 56px 20px 22px;
  cursor:pointer;
  font-weight:700;
  font-size:17px;
  color:#173f58;
  list-style:none;
}

.faq-item summary::-webkit-details-marker{
  display:none;
}

.faq-item summary::after{
  content:"+";
  position:absolute;
  right:22px;
  top:50%;
  transform:translateY(-50%);
  font-size:28px;
  font-weight:400;
  color:var(--int-gold);
}

.faq-item[open] summary::after{
  content:"−";
}

.faq-answer{
  padding:0 22px 20px;
  border-top:1px solid #edf1f3;
}

.faq-answer p{
  margin:16px 0 0;
  line-height:1.65;
  color:var(--int-muted);
}


/* =========================================================
   AREA PERSONALE / AUTENTICAZIONE
   ========================================================= */

.auth-panel {
  max-width: 620px;
  margin: 0 auto;
  padding: 2.2rem;
  background: #fff;
  border: 1px solid rgba(15, 45, 75, .12);
  border-radius: 18px;
  box-shadow: 0 14px 38px rgba(15, 45, 75, .08);
}

.auth-panel h2 {
  margin-top: 0;
}

.auth-form {
  display: grid;
  gap: .8rem;
  margin: 1.5rem 0;
}

.auth-form label {
  font-weight: 700;
}

.auth-form input {
  width: 100%;
  box-sizing: border-box;
  min-height: 50px;
  padding: .8rem 1rem;
  border: 1px solid #c8d1da;
  border-radius: 10px;
  background: #fff;
  font: inherit;
}

.auth-form input:focus {
  outline: 3px solid rgba(183, 145, 67, .20);
  border-color: #8a6b2e;
}

.auth-form button {
  margin-top: .5rem;
  cursor: pointer;
}

.auth-form button:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.auth-message {
  min-height: 1.5rem;
  margin-top: .5rem;
  font-weight: 600;
}

.auth-secondary {
  margin-top: 1.25rem;
  text-align: center;
}

.auth-secondary a {
  font-weight: 700;
}

@media (max-width: 640px) {
  .auth-panel {
    padding: 1.4rem;
    border-radius: 14px;
  }
}

/* AUTH - CONTROLLI ACCESSO E REGISTRAZIONE */

.google-auth-box {
  margin: 1.5rem 0;
}

.google-auth-button {
  width: 100%;
  min-height: 50px;
  padding: .8rem 1rem;
  background: #fff;
  color: #1f2937;
  border: 1px solid #c8d1da;
  border-radius: 10px;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.google-auth-button:hover {
  background: #f7f8fa;
}

.google-auth-button:focus-visible {
  outline: 3px solid rgba(183, 145, 67, .25);
  outline-offset: 2px;
}

.auth-divider {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 1.4rem 0;
  color: #66717d;
  font-size: .9rem;
}

.auth-divider::before,
.auth-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #d9dee4;
}

.auth-check {
  display: grid !important;
  grid-template-columns: 22px 1fr;
  align-items: start;
  gap: .7rem;
  font-weight: 400 !important;
  line-height: 1.45;
}

.auth-check input {
  width: 18px !important;
  min-height: 18px !important;
  height: 18px;
  margin: .15rem 0 0;
}

.auth-forgot {
  margin: -.15rem 0 .25rem;
  text-align: right;
}

.auth-forgot a,
.auth-check a {
  font-weight: 700;
}


/* =========================================================
   AREA PERSONALE / SCRIVANIA UTENTE
   ========================================================= */

.dashboard-page {
  background: #f7f8fb;
}

.dashboard-page .page-hero {
  padding-bottom: 2rem;
}

.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  margin-bottom: 2rem;
}

.dashboard-card {
  background: #fff;
  border: 1px solid rgba(15, 38, 74, .10);
  border-radius: 18px;
  padding: 1.5rem;
  box-shadow: 0 10px 28px rgba(18, 40, 70, .06);
}

.dashboard-card h2 {
  margin-top: 0;
  margin-bottom: .7rem;
  font-size: 1.3rem;
}

.dashboard-card p {
  margin-bottom: 1.2rem;
  line-height: 1.65;
}

.dashboard-card .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 980px) {
  .dashboard-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .dashboard-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-card {
    padding: 1.25rem;
  }
}

/* === Amministrazione utenti === */

.admin-search {
  margin: 0 0 1.5rem;
}

.admin-search label {
  display: block;
  margin-bottom: .5rem;
  font-weight: 700;
}

.admin-search-row {
  display: flex;
  gap: .75rem;
  align-items: center;
}

.admin-search-row input {
  flex: 1;
  min-width: 0;
  padding: .85rem 1rem;
  border: 1px solid rgba(20, 42, 73, .18);
  border-radius: 10px;
  background: #fff;
  font: inherit;
}

.table-responsive {
  width: 100%;
  overflow-x: auto;
  margin-top: 1rem;
}

.admin-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
}

.admin-table th,
.admin-table td {
  padding: .9rem 1rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid rgba(20, 42, 73, .10);
}

.admin-table th {
  font-size: .9rem;
  font-weight: 700;
  white-space: nowrap;
}

.admin-table tbody tr:hover {
  background: rgba(20, 42, 73, .035);
}

.admin-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-top: 1.25rem;
  flex-wrap: wrap;
}

.dashboard-count {
  margin: .35rem 0 .9rem;
  font-size: .95rem;
}

.dashboard-count strong {
  font-size: 1.45rem;
}

@media (max-width: 720px) {
  .admin-search-row {
    flex-direction: column;
    align-items: stretch;
  }

  .admin-search-row .btn {
    width: 100%;
  }

  .admin-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-pagination .btn {
    width: 100%;
  }
}

/* === Amministrazione - dettaglio utente === */
.admin-detail-form {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem 1.25rem;
  margin-top:1rem;
}

.admin-detail-form label {
  display:flex;
  flex-direction:column;
  gap:.45rem;
  font-weight:700;
}

.admin-detail-form input,
.admin-danger-zone input {
  width:100%;
  box-sizing:border-box;
  padding:.85rem 1rem;
  border:1px solid rgba(20,42,73,.18);
  border-radius:10px;
  background:#fff;
  font:inherit;
}

.admin-detail-form .btn {
  align-self:end;
}

#statusActions {
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
  margin-top:1.25rem;
}

.admin-related-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
  margin-top:1.25rem;
}

.admin-related-grid > div {
  padding:1.1rem;
  border:1px solid rgba(20,42,73,.10);
  border-radius:12px;
  background:#fff;
}

.admin-related-grid strong {
  display:block;
  font-size:1.6rem;
  margin-bottom:.25rem;
}

.admin-related-grid span {
  font-size:.92rem;
}

.admin-danger-zone {
  margin-top:2rem;
  border:1px solid rgba(130,30,30,.28);
}

.admin-danger-zone label {
  display:block;
  max-width:620px;
  margin:1rem 0;
  font-weight:700;
}

@media (max-width:800px) {
  .admin-detail-form {
    grid-template-columns:1fr;
  }

  .admin-related-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:480px) {
  .admin-related-grid {
    grid-template-columns:1fr;
  }
}

.admin-detail-form > .btn {
  grid-column: 1 / -1;
  width: 100%;
}

/* === Fascicolo amministrativo utente === */

.admin-related-link {
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease;
}

.admin-related-link:hover,
.admin-related-link:focus {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(15, 70, 101, .10);
  outline: none;
}

.admin-dossier {
  margin-top: 2rem;
}

.admin-dossier-heading {
  display: block;
  margin-bottom: 1.5rem;
}

.admin-dossier-heading > p {
  margin: .75rem 0 0;
  max-width: 760px;
}

.admin-dossier-heading h2 {
  margin-top: .2rem;
}

.dossier-section {
  scroll-margin-top: 2rem;
  padding: 1.5rem 0;
  border-top: 1px solid rgba(15, 70, 101, .14);
}

.dossier-section h3 {
  margin: 0 0 1rem;
}

.dossier-list {
  display: grid;
  gap: .9rem;
}

.dossier-item {
  padding: 1rem 1.1rem;
  border: 1px solid rgba(15, 70, 101, .14);
  border-radius: 12px;
  background: #fff;
}

.dossier-item > strong {
  display: block;
  margin-bottom: .45rem;
}

.dossier-item p {
  margin: .35rem 0;
}

.dossier-item small {
  display: block;
  margin-top: .65rem;
  opacity: .72;
}

.dossier-text {
  margin-top: .65rem;
  padding: .85rem 1rem;
  border-radius: 8px;
  background: rgba(15, 70, 101, .045);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  line-height: 1.55;
}

.dossier-long {
  max-width: 100%;
}

.dossier-empty {
  margin: 0;
  padding: .85rem 1rem;
  border-radius: 8px;
  background: rgba(15, 70, 101, .04);
  opacity: .75;
}

@media (max-width: 760px) {
  .admin-dossier-heading {
    display: block;
  }

  .admin-dossier-heading > p {
    margin-top: .75rem;
  }
}

/* =========================================================
   AREA PERSONALE - QUADRO DEBITORIO
   ========================================================= */

.debt-workspace {
  margin: 2.5rem 0;
}

.workspace-heading {
  max-width: 820px;
  margin-bottom: 1.5rem;
}

.workspace-heading h2 {
  margin: .25rem 0 .65rem;
}

.workspace-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.workspace-card {
  min-width: 0;
}

.workspace-field {
  margin-bottom: 1.15rem;
}

.workspace-field label {
  display: block;
  margin-bottom: .45rem;
  font-weight: 700;
  color: #0f4665;
}

.workspace-field input,
.workspace-field select,
.workspace-field textarea {
  width: 100%;
  box-sizing: border-box;
  padding: .8rem .9rem;
  border: 1px solid rgba(15,70,101,.25);
  border-radius: 8px;
  background: #fff;
  font: inherit;
}

.workspace-field textarea {
  resize: vertical;
}

.workspace-money {
  display: flex;
  align-items: center;
  gap: .65rem;
}

.workspace-money > span {
  font-weight: 700;
}

.workspace-money input {
  flex: 1;
}

.workspace-status {
  min-height: 1.4rem;
  margin: .8rem 0 0;
  font-weight: 600;
}

.workspace-status.is-success {
  color: #27633b;
}

.workspace-status.is-error {
  color: #9b2c2c;
}

.case-list-heading {
  margin-top: 1.75rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(15,70,101,.14);
}

.case-list-heading h3 {
  margin: 0 0 .9rem;
}

.workspace-case {
  padding: 1rem;
  margin-bottom: .75rem;
  border: 1px solid rgba(15,70,101,.14);
  border-radius: 10px;
  background: #f9fbfc;
}

.workspace-case strong {
  display: block;
  margin-bottom: .35rem;
}

.workspace-case p {
  margin: .25rem 0;
}

.workspace-empty {
  color: #607583;
}

@media (max-width: 800px) {
  .workspace-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   DETTAGLIO PRATICA / MAPPA INDEBITAMENTO
   ========================================================= */

.practice-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  margin-bottom: 1.5rem;
}

.practice-summary .dashboard-card {
  text-align: center;
}

.practice-number {
  margin: .4rem 0 0;
  font-size: 1.8rem;
  font-weight: 800;
  color: var(--int-blue);
}

.practice-workspace {
  margin: 2rem 0;
}

.practice-form-card {
  margin-bottom: 2.5rem;
}

.practice-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 1.25rem;
}

.practice-notes {
  grid-column: 1 / -1;
}

.practice-form-actions,
.practice-position-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: center;
}

.practice-list-section {
  margin-top: 2rem;
}

.practice-position {
  margin-bottom: 1rem;
}

.practice-position-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1rem;
}

.practice-position-head h3 {
  margin: .2rem 0 0;
}

.practice-position-amount {
  white-space: nowrap;
  font-size: 1.3rem;
  color: var(--int-blue);
}

.practice-position-data {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .4rem 1.5rem;
  margin-bottom: 1rem;
}

.practice-position-data p {
  margin: 0;
}

.practice-position-notes {
  padding: .85rem 1rem;
  background: #f7f9fb;
  border-radius: 8px;
  line-height: 1.6;
}

@media (max-width: 800px) {
  .practice-summary,
  .practice-form-grid,
  .practice-position-data {
    grid-template-columns: 1fr;
  }

  .practice-position-head {
    display: block;
  }

  .practice-position-amount {
    display: block;
    margin-top: .75rem;
  }
}

/* ACCESSO - GOOGLE E DICHIARAZIONI */
.google-auth-box {
  display: flex;
  justify-content: center;
  width: 100%;
}

.google-signin-render {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  transition: opacity .2s ease;
}

.google-signin-render.is-locked {
  opacity: .45;
  pointer-events: none;
}

.auth-check {
  margin-top: .2rem;
}

.auth-check span {
  font-size: .92rem;
}

.auth-check a {
  color: #0f4665;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ACCESSO - GOOGLE ALLINEATO AL FORM */
.google-signin-render {
  max-width: 400px;
}

.google-signin-render > div {
  max-width: 100%;
}
