/* ==========================================================
   GLAM TOURING V68 - Contratto a distanza per soggiorni con tutti ospiti minorenni
   ========================================================== */

html{scroll-behavior:smooth}
#percorsoMinori,#contrattoMinoriPec,#minorContractForm,#minorAuthForm{scroll-margin-top:118px}


/* V69 - scelta percorso corretto minorenni */
.v69-minor-routing{
  margin:42px 0 34px;
  padding:clamp(24px,3.5vw,42px);
  border-radius:34px;
  background:linear-gradient(135deg,#fffdf8 0%,#f6ead4 100%);
  border:1px solid rgba(189,146,81,.22);
  box-shadow:0 18px 58px rgba(19,35,28,.08);
}

.v69-routing-head{
  max-width:980px;
  margin-bottom:22px;
}

.v69-routing-head h2{
  margin:0 0 12px;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(34px,4.2vw,58px);
  line-height:1.02;
  letter-spacing:-.045em;
  color:#13231c;
}

.v69-routing-head p{
  margin:0;
  color:#607067;
  font-size:1.03rem;
  line-height:1.65;
}

.v69-route-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.v69-route-card{
  background:#fff;
  border:1px solid rgba(19,35,28,.10);
  border-radius:28px;
  padding:24px;
  box-shadow:0 14px 42px rgba(19,35,28,.07);
}

.v69-route-card.is-only-minors{
  border-color:rgba(189,146,81,.34);
  background:linear-gradient(180deg,#fff,#fff8ea);
}

.v69-route-badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:#163e32;
  color:#fff;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:7px 11px;
  margin-bottom:14px;
}

.v69-route-card h3{
  margin:0 0 10px;
  color:#13231c;
  font-size:1.55rem;
  line-height:1.08;
  letter-spacing:-.03em;
}

.v69-route-card p{
  margin:0 0 14px;
  color:#53655c;
  line-height:1.62;
}

.v69-route-card ul{
  margin:0 0 18px 18px;
  padding:0;
  color:#53655c;
  line-height:1.55;
}

.v69-route-card li{margin:6px 0}

.v69-route-summary{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  padding:16px 18px;
  border-radius:22px;
  background:#13231c;
  color:#fff;
}

.v69-route-summary span{
  color:rgba(255,255,255,.86);
}

.v69-route-summary b{color:#fff}

.v68-minori-pec{
  margin:42px 0 56px;
}

.v68-pec-hero{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:22px;
  align-items:stretch;
  padding:clamp(24px,3.5vw,44px);
  border-radius:34px;
  background:linear-gradient(135deg,#13231c 0%,#244535 54%,#73512a 100%);
  color:#fff;
  box-shadow:0 26px 70px rgba(19,35,28,.18);
  overflow:hidden;
  position:relative;
}

.v68-pec-hero:after{
  content:"";
  position:absolute;
  right:-70px;
  top:-80px;
  width:240px;
  height:240px;
  border-radius:999px;
  background:rgba(255,255,255,.09);
}

.v68-pec-hero h2{
  margin:0 0 12px;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(36px,5vw,68px);
  line-height:.96;
  letter-spacing:-.055em;
  color:#fff;
}

.v68-pec-hero p{
  margin:0;
  max-width:820px;
  color:rgba(255,255,255,.84);
  font-size:1.05rem;
  line-height:1.68;
}

.v68-pec-alert{
  position:relative;
  z-index:2;
  border-radius:28px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.22);
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:9px;
  backdrop-filter:blur(12px);
}

.v68-pec-alert strong{
  font-size:1.35rem;
  letter-spacing:-.02em;
}

.v68-pec-alert span{
  color:rgba(255,255,255,.86);
  line-height:1.6;
}

.v68-pec-alert a{
  color:#fff;
  font-weight:900;
}

.v68-pec-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin:22px 0;
}

.v68-pec-steps article{
  background:#fffdf8;
  border:1px solid rgba(19,35,28,.09);
  border-radius:26px;
  padding:22px;
  box-shadow:0 16px 44px rgba(19,35,28,.07);
}

.v68-pec-steps span{
  display:inline-flex;
  width:34px;
  height:34px;
  border-radius:999px;
  align-items:center;
  justify-content:center;
  background:#163e32;
  color:#fff;
  font-weight:900;
  margin-bottom:12px;
}

.v68-pec-steps strong{
  display:block;
  color:#13231c;
  font-size:1.05rem;
  margin-bottom:7px;
}

.v68-pec-steps p{
  margin:0;
  color:#607067;
  line-height:1.58;
  font-size:.95rem;
}

.v68-documents-box{
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
  border-radius:30px;
  padding:24px;
  background:linear-gradient(135deg,#fff,#f5ead8);
  border:1px solid rgba(189,146,81,.20);
  box-shadow:0 16px 48px rgba(19,35,28,.07);
  margin-bottom:28px;
}

.v68-documents-box h3{
  margin:0 0 8px;
  color:#13231c;
  font-size:1.5rem;
  letter-spacing:-.03em;
}

.v68-documents-box p{
  margin:0;
  color:#607067;
  line-height:1.6;
}

.v68-documents-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.v68-contract-layout{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:24px;
  align-items:start;
}

.v68-contract-form,.v68-contract-preview{
  background:#fff;
  border:1px solid rgba(19,35,28,.10);
  border-radius:34px;
  box-shadow:0 18px 48px rgba(19,35,28,.08);
  padding:clamp(24px,3vw,38px);
}

.v68-contract-form h2,.v68-contract-preview h2{
  margin:0 0 14px;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(30px,3.4vw,48px);
  line-height:1.04;
  letter-spacing:-.04em;
  color:#13231c;
}

.v68-contract-form p,.v68-contract-preview p{
  color:#607067;
  line-height:1.62;
}

.v61-field select{
  width:100%;
  border:1px solid rgba(19,35,28,.14);
  border-radius:15px;
  padding:12px 13px;
  background:#fffdfa;
  color:#13231c;
  outline:none;
  box-sizing:border-box;
}

.v61-field select:focus{
  border-color:#bd9251;
  box-shadow:0 0 0 4px rgba(189,146,81,.14);
}

.v68-contract-paper{
  background:#fffdfa;
  border:1px solid rgba(19,35,28,.10);
  border-radius:24px;
  padding:28px;
  color:#1a2b23;
  line-height:1.55;
}

.v68-contract-paper .logo-line{
  display:flex;
  justify-content:space-between;
  gap:16px;
  border-bottom:2px solid #163e32;
  padding-bottom:14px;
  margin-bottom:20px;
}

.v68-contract-paper .logo-line strong{color:#163e32;font-size:20px}
.v68-contract-paper h3{text-align:center;margin:18px 0;font-size:22px;color:#13231c;text-transform:uppercase}
.v68-contract-paper .v68-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}
.v68-contract-paper .v68-mini-grid div{border:1px solid rgba(19,35,28,.10);border-radius:14px;padding:10px;background:#fff}
.v68-contract-paper .v68-mini-grid b{display:block;font-size:12px;color:#607067;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}
.v68-contract-paper .v68-fill{font-weight:850;color:#13231c;border-bottom:1px solid rgba(19,35,28,.25);padding:0 4px}
.v68-contract-paper .v68-minor-list{white-space:pre-wrap;border:1px solid rgba(19,35,28,.12);background:#fff;border-radius:16px;padding:14px;margin:10px 0;color:#13231c}
.v68-contract-paper .v68-pec-note{margin-top:14px;padding:15px;border-radius:18px;background:#f6ead4;border:1px solid rgba(189,146,81,.22);color:#4d463b;font-weight:750}

@media(max-width:1120px){
  .v68-pec-hero,.v68-contract-layout{grid-template-columns:1fr}
  .v68-pec-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v68-documents-box{grid-template-columns:1fr}
  .v68-documents-actions{justify-content:flex-start}
}

@media(max-width:720px){
  #percorsoMinori,#contrattoMinoriPec,#minorContractForm,#minorAuthForm{scroll-margin-top:96px}
  .v69-minor-routing,.v68-pec-hero,.v68-contract-form,.v68-contract-preview{border-radius:26px;padding:22px}
  .v69-route-grid{grid-template-columns:1fr}
  .v69-route-summary{align-items:flex-start;flex-direction:column}
  .v68-pec-steps{grid-template-columns:1fr}
  .v68-documents-box{border-radius:24px;padding:20px}
  .v68-documents-actions{display:grid;grid-template-columns:1fr;width:100%}
  .v68-contract-paper{padding:20px;border-radius:20px}
  .v68-contract-paper .v68-mini-grid{grid-template-columns:1fr}
}

@media print{
  #print-auth-document .contract-page{
    width:190mm;
    min-height:277mm;
    margin:0 auto;
    padding:8mm 9mm;
    box-sizing:border-box;
    font-family:Arial,sans-serif;
    font-size:8.1pt;
    line-height:1.18;
    color:#000;
    page-break-after:always;
  }
  #print-auth-document .contract-page:last-child{page-break-after:auto}
  #print-auth-document .contract-head{
    display:flex;
    justify-content:space-between;
    gap:10mm;
    align-items:flex-start;
    border-bottom:2px solid #6f9726;
    padding-bottom:3mm;
    margin-bottom:3mm;
  }
  #print-auth-document .contract-head strong{font-size:13pt;text-transform:uppercase;display:block}
  #print-auth-document .contract-head span{font-size:8pt;color:#333}
  #print-auth-document .contract-title{text-align:right;font-size:15pt;font-weight:900;line-height:1.05;margin:0;text-transform:uppercase}
  #print-auth-document .contract-subtitle{text-align:right;font-size:8.4pt;color:#333;margin-top:1mm}
  #print-auth-document .contract-locator{font-size:7.8pt;margin:2.5mm 0 3mm;color:#000}
  #print-auth-document .contract-pec-box{border:1px solid #000;background:#f2f2f2;padding:2mm;margin:2mm 0 3mm;font-weight:700}
  #print-auth-document .contract-section-title{background:#6f9726;color:#fff;font-weight:900;text-transform:uppercase;padding:1.5mm 2mm;margin:2.4mm 0 1.6mm;font-size:8.8pt;letter-spacing:.02em}
  #print-auth-document .contract-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #999;border-left:1px solid #999;margin-bottom:2mm}
  #print-auth-document .contract-cell{border-right:1px solid #999;border-bottom:1px solid #999;min-height:10mm;padding:1.4mm;background:#fff;box-sizing:border-box}
  #print-auth-document .contract-cell.wide{grid-column:span 2}
  #print-auth-document .contract-cell.full{grid-column:1/-1;min-height:15mm}
  #print-auth-document .contract-cell b{display:block;font-size:6.9pt;color:#333;margin-bottom:1mm}
  #print-auth-document .contract-value{font-weight:700;white-space:pre-wrap}
  #print-auth-document .contract-clause{margin:1.35mm 0;text-align:left}
  #print-auth-document .contract-list{margin:1mm 0 1.4mm 4mm;padding:0}
  #print-auth-document .contract-list li{margin:.8mm 0}
  #print-auth-document .contract-sign-grid{display:grid;grid-template-columns:1fr 1fr;gap:8mm;margin-top:5mm}
  #print-auth-document .contract-sign{border:1px solid #999;min-height:24mm;padding:3mm;box-sizing:border-box;text-align:center}
  #print-auth-document .contract-sign div{border-top:1px solid #000;margin-top:14mm;padding-top:2mm;text-align:left}
  #print-auth-document .contract-note-small{font-size:7.2pt;color:#222;margin-top:1.5mm}
  #print-auth-document .contract-footer{position:absolute;bottom:6mm;left:9mm;right:9mm;display:flex;justify-content:space-between;font-size:6.8pt;color:#666}
}

/* V70 - percorso minori: avviso dati prenotazione e stampa contratto più compatta */
.v70-contract-warning{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:16px 18px;
  margin:0 0 22px;
  border-radius:22px;
  background:#fff7e6;
  border:1px solid rgba(189,146,81,.32);
  color:#423826;
  line-height:1.55;
}
.v70-contract-warning strong{
  color:#13231c;
  font-size:1rem;
}
.v70-contract-warning span{
  color:#5d5547;
}

@media print{
  @page{size:A4;margin:6mm}
  #print-auth-document .contract-page{
    width:198mm!important;
    min-height:auto!important;
    margin:0 auto!important;
    padding:0!important;
    font-size:7.35pt!important;
    line-height:1.08!important;
    page-break-after:always;
    page-break-inside:avoid;
  }
  #print-auth-document .contract-head{
    gap:6mm!important;
    padding-bottom:2mm!important;
    margin-bottom:1.8mm!important;
  }
  #print-auth-document .contract-head strong{font-size:11pt!important}
  #print-auth-document .contract-head span{font-size:6.8pt!important}
  #print-auth-document .contract-title{font-size:12.5pt!important;line-height:1!important}
  #print-auth-document .contract-subtitle{font-size:7.2pt!important;margin-top:.6mm!important}
  #print-auth-document .contract-locator{font-size:6.75pt!important;margin:1.3mm 0 1.5mm!important}
  #print-auth-document .contract-pec-box{padding:1.15mm 1.35mm!important;margin:1.2mm 0 1.5mm!important;font-size:6.85pt!important;line-height:1.08!important}
  #print-auth-document .contract-section-title{padding:.95mm 1.3mm!important;margin:1.3mm 0 .8mm!important;font-size:7.3pt!important}
  #print-auth-document .contract-grid{margin-bottom:1mm!important}
  #print-auth-document .contract-cell{min-height:7.2mm!important;padding:.75mm 1mm!important}
  #print-auth-document .contract-cell.full{min-height:10mm!important}
  #print-auth-document .contract-cell b{font-size:5.95pt!important;margin-bottom:.35mm!important}
  #print-auth-document .contract-value{font-size:6.95pt!important;line-height:1.05!important}
  #print-auth-document .contract-clause{margin:.7mm 0!important;line-height:1.08!important;text-align:left!important}
  #print-auth-document .contract-list{margin:.5mm 0 .8mm 3.5mm!important;padding:0!important}
  #print-auth-document .contract-list li{margin:.35mm 0!important}
  #print-auth-document .contract-sign-grid{gap:5mm!important;margin-top:2.5mm!important}
  #print-auth-document .contract-sign-grid-second{margin-top:1.5mm!important}
  #print-auth-document .contract-sign{min-height:14mm!important;padding:1.6mm!important}
  #print-auth-document .contract-sign small{display:block;font-size:5.9pt;margin-top:.4mm;color:#333}
  #print-auth-document .contract-sign div{margin-top:7mm!important;padding-top:1mm!important}
  #print-auth-document .contract-note-small{font-size:6.4pt!important;margin-top:.7mm!important}
  #print-auth-document .contract-final-reminder{margin-top:1.5mm!important}
}

/* V71 - stampa robusta contratto + autorizzazione minore */
@media print{
  @page{size:A4;margin:6mm}
  body *{visibility:hidden!important}
  #print-auth-document,#print-auth-document *{visibility:visible!important}
  #print-auth-document{
    display:block!important;
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:100%!important;
    background:#fff!important;
    color:#000!important;
  }

  #print-auth-document[data-print-mode="contract"] .contract-page{
    width:198mm!important;
    min-height:auto!important;
    margin:0 auto!important;
    padding:0!important;
    font-family:Arial,sans-serif!important;
    font-size:7.05pt!important;
    line-height:1.05!important;
    page-break-after:always!important;
    page-break-inside:avoid!important;
    box-sizing:border-box!important;
    color:#000!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-page:last-child{page-break-after:auto!important}
  #print-auth-document[data-print-mode="contract"] .contract-head{
    display:flex!important;
    justify-content:space-between!important;
    gap:5mm!important;
    align-items:flex-start!important;
    border-bottom:2px solid #6f9726!important;
    padding-bottom:1.6mm!important;
    margin-bottom:1.3mm!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-head.compact{margin-bottom:1mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-head strong{font-size:10.5pt!important;text-transform:uppercase!important;display:block!important}
  #print-auth-document[data-print-mode="contract"] .contract-head span{font-size:6.4pt!important;color:#333!important}
  #print-auth-document[data-print-mode="contract"] .contract-title{text-align:right!important;font-size:12pt!important;font-weight:900!important;line-height:1!important;margin:0!important;text-transform:uppercase!important}
  #print-auth-document[data-print-mode="contract"] .contract-subtitle{text-align:right!important;font-size:6.7pt!important;color:#333!important;margin-top:.4mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-locator{font-size:6.45pt!important;margin:1mm 0 1.2mm!important;color:#000!important}
  #print-auth-document[data-print-mode="contract"] .contract-pec-box{border:1px solid #444!important;background:#f3f3f3!important;padding:.95mm 1.15mm!important;margin:.9mm 0 1.1mm!important;font-weight:700!important;font-size:6.55pt!important;line-height:1.05!important}
  #print-auth-document[data-print-mode="contract"] .contract-section-title{background:#6f9726!important;color:#fff!important;font-weight:900!important;text-transform:uppercase!important;padding:.75mm 1.05mm!important;margin:.95mm 0 .55mm!important;font-size:6.9pt!important;letter-spacing:.015em!important}
  #print-auth-document[data-print-mode="contract"] .contract-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;border-top:1px solid #999!important;border-left:1px solid #999!important;margin-bottom:.75mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-cell{border-right:1px solid #999!important;border-bottom:1px solid #999!important;min-height:6.3mm!important;padding:.55mm .75mm!important;background:#fff!important;box-sizing:border-box!important;overflow:hidden!important}
  #print-auth-document[data-print-mode="contract"] .contract-cell.wide{grid-column:span 2!important}
  #print-auth-document[data-print-mode="contract"] .contract-cell.full{grid-column:1/-1!important;min-height:8.2mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-cell b{display:block!important;font-size:5.55pt!important;color:#333!important;margin-bottom:.25mm!important;line-height:1!important}
  #print-auth-document[data-print-mode="contract"] .contract-value{font-weight:700!important;white-space:pre-wrap!important;font-size:6.45pt!important;line-height:1.02!important}
  #print-auth-document[data-print-mode="contract"] .contract-clause{margin:.48mm 0!important;line-height:1.05!important;text-align:left!important}
  #print-auth-document[data-print-mode="contract"] .contract-list{margin:.35mm 0 .55mm 3.4mm!important;padding:0!important}
  #print-auth-document[data-print-mode="contract"] .contract-list li{margin:.18mm 0!important;line-height:1.02!important}
  #print-auth-document[data-print-mode="contract"] .contract-sign-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:4mm!important;margin-top:1.8mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-sign-grid-second{margin-top:1mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-sign{border:1px solid #999!important;min-height:12mm!important;padding:1.25mm!important;box-sizing:border-box!important;text-align:center!important}
  #print-auth-document[data-print-mode="contract"] .contract-sign small{display:block!important;font-size:5.55pt!important;margin-top:.25mm!important;color:#333!important}
  #print-auth-document[data-print-mode="contract"] .contract-sign div{border-top:1px solid #000!important;margin-top:5.8mm!important;padding-top:.75mm!important;text-align:left!important}
  #print-auth-document[data-print-mode="contract"] .contract-note-small{font-size:6pt!important;color:#222!important;margin-top:.45mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-final-reminder{margin-top:.8mm!important}

  #print-auth-document[data-print-mode="auth"] .auth-page{
    width:198mm!important;
    min-height:auto!important;
    margin:0 auto!important;
    padding:0!important;
    box-sizing:border-box!important;
    font-family:Arial,sans-serif!important;
    font-size:9.2pt!important;
    line-height:1.18!important;
    color:#000!important;
  }
  #print-auth-document[data-print-mode="auth"] .auth-head{
    display:grid!important;
    grid-template-columns:1.1fr .9fr!important;
    gap:8mm!important;
    align-items:start!important;
    border-bottom:2px solid #6f9726!important;
    padding-bottom:2.4mm!important;
    margin-bottom:3mm!important;
  }
  #print-auth-document[data-print-mode="auth"] .auth-head strong{display:block!important;font-size:13pt!important;text-transform:uppercase!important;letter-spacing:.01em!important}
  #print-auth-document[data-print-mode="auth"] .auth-head span{display:block!important;font-size:7.3pt!important;color:#333!important;margin-top:.8mm!important}
  #print-auth-document[data-print-mode="auth"] .auth-head b{display:block!important;text-align:right!important;font-size:12pt!important;text-transform:uppercase!important}
  #print-auth-document[data-print-mode="auth"] h1{font-size:16pt!important;text-align:center!important;text-transform:uppercase!important;margin:3mm 0 3.2mm!important;color:#000!important;line-height:1.05!important}
  #print-auth-document[data-print-mode="auth"] .auth-warning{border:1px solid #444!important;background:#f3f3f3!important;padding:2mm!important;margin:0 0 3mm!important;font-size:8.1pt!important;font-weight:700!important}
  #print-auth-document[data-print-mode="auth"] .auth-section-title{background:#6f9726!important;color:#fff!important;font-weight:900!important;text-transform:uppercase!important;padding:1.3mm 1.8mm!important;margin:2.4mm 0 1.2mm!important;font-size:8.7pt!important;letter-spacing:.02em!important}
  #print-auth-document[data-print-mode="auth"] .auth-grid{display:grid!important;grid-template-columns:1fr 1fr!important;border-top:1px solid #999!important;border-left:1px solid #999!important;margin-bottom:1.2mm!important}
  #print-auth-document[data-print-mode="auth"] .auth-field{border-right:1px solid #999!important;border-bottom:1px solid #999!important;min-height:11mm!important;padding:1.35mm!important;box-sizing:border-box!important;background:#fff!important}
  #print-auth-document[data-print-mode="auth"] .auth-field.wide{grid-column:span 2!important}
  #print-auth-document[data-print-mode="auth"] .auth-field b{display:block!important;font-size:7pt!important;color:#333!important;margin-bottom:1mm!important;text-transform:uppercase!important;letter-spacing:.02em!important}
  #print-auth-document[data-print-mode="auth"] .auth-field span{display:block!important;font-size:9.5pt!important;font-weight:700!important;min-height:4.5mm!important;white-space:pre-wrap!important}
  #print-auth-document[data-print-mode="auth"] .auth-declaration{border:1px solid #999!important;padding:2.3mm!important;margin:2.6mm 0!important;text-align:left!important;font-size:9.1pt!important;line-height:1.22!important}
  #print-auth-document[data-print-mode="auth"] .auth-place-date .auth-field{min-height:9mm!important}
  #print-auth-document[data-print-mode="auth"] .auth-note{border:1px solid #999!important;min-height:13mm!important;padding:2mm!important;margin:2mm 0!important;box-sizing:border-box!important}
  #print-auth-document[data-print-mode="auth"] .auth-attachments{border:1px solid #444!important;background:#f3f3f3!important;padding:2mm!important;font-size:8pt!important;margin:2mm 0 4mm!important}
  #print-auth-document[data-print-mode="auth"] .auth-signatures{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12mm!important;margin-top:12mm!important}
  #print-auth-document[data-print-mode="auth"] .auth-signatures div{min-height:20mm!important}
  #print-auth-document[data-print-mode="auth"] .auth-signatures b{display:block!important;text-align:center!important;font-size:8.5pt!important;margin-bottom:12mm!important}
  #print-auth-document[data-print-mode="auth"] .auth-signatures span{display:block!important;border-top:1px solid #000!important;height:1px!important}
}

/* V71 hotfix: niente pagine bianche in stampa */
@media print{
  html,body{margin:0!important;padding:0!important;background:#fff!important;height:auto!important;overflow:visible!important}
  body > *:not(#print-auth-document){display:none!important}
  #print-auth-document{
    display:block!important;
    position:static!important;
    left:auto!important;
    top:auto!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    color:#000!important;
  }
}

/* V71 hotfix: contratto continuo senza vuoti e autorizzazione su una pagina */
@media print{
  #print-auth-document[data-print-mode="contract"] .contract-page{
    page-break-after:auto!important;
    page-break-inside:auto!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-sign-grid,
  #print-auth-document[data-print-mode="contract"] .contract-final-reminder{
    page-break-inside:avoid!important;
  }
  #print-auth-document[data-print-mode="auth"] .auth-page{
    font-size:8.35pt!important;
    line-height:1.1!important;
  }
  #print-auth-document[data-print-mode="auth"] .auth-head{padding-bottom:1.6mm!important;margin-bottom:2mm!important}
  #print-auth-document[data-print-mode="auth"] .auth-head strong{font-size:11.5pt!important}
  #print-auth-document[data-print-mode="auth"] .auth-head b{font-size:10.7pt!important}
  #print-auth-document[data-print-mode="auth"] h1{font-size:14pt!important;margin:2mm 0 2.3mm!important}
  #print-auth-document[data-print-mode="auth"] .auth-warning{padding:1.25mm!important;margin-bottom:2mm!important;font-size:7.35pt!important;line-height:1.05!important}
  #print-auth-document[data-print-mode="auth"] .auth-section-title{padding:.8mm 1.2mm!important;margin:1.5mm 0 .75mm!important;font-size:7.7pt!important}
  #print-auth-document[data-print-mode="auth"] .auth-field{min-height:8.3mm!important;padding:.8mm 1mm!important}
  #print-auth-document[data-print-mode="auth"] .auth-field b{font-size:6.25pt!important;margin-bottom:.45mm!important}
  #print-auth-document[data-print-mode="auth"] .auth-field span{font-size:8.4pt!important;min-height:3.6mm!important}
  #print-auth-document[data-print-mode="auth"] .auth-declaration{padding:1.4mm!important;margin:1.6mm 0!important;font-size:8pt!important;line-height:1.12!important}
  #print-auth-document[data-print-mode="auth"] .auth-place-date .auth-field{min-height:7.2mm!important}
  #print-auth-document[data-print-mode="auth"] .auth-note{min-height:8mm!important;padding:1.2mm!important;margin:1.2mm 0!important}
  #print-auth-document[data-print-mode="auth"] .auth-attachments{padding:1.2mm!important;font-size:7.2pt!important;margin:1.2mm 0 2mm!important;line-height:1.08!important}
  #print-auth-document[data-print-mode="auth"] .auth-signatures{gap:10mm!important;margin-top:5mm!important;page-break-inside:avoid!important}
  #print-auth-document[data-print-mode="auth"] .auth-signatures div{min-height:10mm!important}
  #print-auth-document[data-print-mode="auth"] .auth-signatures b{font-size:7.6pt!important;margin-bottom:5mm!important}
}
@media print{
  #print-auth-document[data-print-mode="contract"] .contract-page-break{break-before:page!important;page-break-before:always!important;height:0!important;margin:0!important;padding:0!important}
}

/* V72 - contratto minori: testo più grande e stampa più piena su due pagine */
@media print{
  @page{size:A4;margin:7mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-page{
    width:196mm!important;
    min-height:283mm!important;
    margin:0 auto!important;
    padding:0!important;
    font-family:Arial,sans-serif!important;
    font-size:8.55pt!important;
    line-height:1.17!important;
    color:#000!important;
    box-sizing:border-box!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-head{
    gap:7mm!important;
    padding-bottom:2.6mm!important;
    margin-bottom:2.2mm!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-head strong{font-size:13.2pt!important;line-height:1!important}
  #print-auth-document[data-print-mode="contract"] .contract-head span{font-size:7.6pt!important;line-height:1.15!important}
  #print-auth-document[data-print-mode="contract"] .contract-title{font-size:15.2pt!important;line-height:1.03!important}
  #print-auth-document[data-print-mode="contract"] .contract-subtitle{font-size:7.8pt!important;margin-top:.8mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-locator{font-size:7.35pt!important;line-height:1.16!important;margin:1.8mm 0 2.1mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-pec-box{
    padding:1.7mm 1.9mm!important;
    margin:1.6mm 0 1.9mm!important;
    font-size:7.55pt!important;
    line-height:1.16!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-section-title{
    padding:1.25mm 1.7mm!important;
    margin:1.8mm 0 1.05mm!important;
    font-size:8.15pt!important;
    line-height:1.08!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-grid{margin-bottom:1.25mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-cell{
    min-height:8.15mm!important;
    padding:1.05mm 1.15mm!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-cell.full{min-height:12.5mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-cell b{
    font-size:6.65pt!important;
    line-height:1.05!important;
    margin-bottom:.5mm!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-value{
    font-size:7.7pt!important;
    line-height:1.12!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-clause{
    margin:1.05mm 0!important;
    font-size:8.55pt!important;
    line-height:1.18!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-list{
    margin:.9mm 0 1.15mm 5mm!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-list li{
    margin:.42mm 0!important;
    font-size:8.45pt!important;
    line-height:1.13!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-sign-grid{
    gap:5.5mm!important;
    margin-top:4.2mm!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-sign-grid-second{margin-top:2.8mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-sign{
    min-height:23mm!important;
    padding:2.2mm!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-sign b{font-size:8pt!important;line-height:1.1!important}
  #print-auth-document[data-print-mode="contract"] .contract-sign small{font-size:6.8pt!important;margin-top:.7mm!important;line-height:1.15!important}
  #print-auth-document[data-print-mode="contract"] .contract-sign div{
    margin-top:12.8mm!important;
    padding-top:1.1mm!important;
    font-size:8.1pt!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-note-small{
    font-size:7.25pt!important;
    line-height:1.15!important;
    margin-top:2.2mm!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-final-reminder{
    margin-top:2.3mm!important;
    font-size:7.5pt!important;
    line-height:1.15!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-page-break{
    break-before:page!important;
    page-break-before:always!important;
  }
}

/* V72 final - ingrandimento controllato per restare su 2 pagine */
@media print{
  @page{size:A4;margin:6mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-page{
    width:198mm!important;
    min-height:auto!important;
    padding:0!important;
    font-size:8.05pt!important;
    line-height:1.12!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-head{gap:6mm!important;padding-bottom:2.1mm!important;margin-bottom:1.8mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-head strong{font-size:12.2pt!important;line-height:1!important}
  #print-auth-document[data-print-mode="contract"] .contract-head span{font-size:7.05pt!important;line-height:1.12!important}
  #print-auth-document[data-print-mode="contract"] .contract-title{font-size:14pt!important;line-height:1.02!important}
  #print-auth-document[data-print-mode="contract"] .contract-subtitle{font-size:7.35pt!important;margin-top:.55mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-locator{font-size:7pt!important;line-height:1.12!important;margin:1.45mm 0 1.7mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-pec-box{padding:1.25mm 1.45mm!important;margin:1.15mm 0 1.45mm!important;font-size:7.05pt!important;line-height:1.12!important}
  #print-auth-document[data-print-mode="contract"] .contract-section-title{padding:1mm 1.35mm!important;margin:1.35mm 0 .8mm!important;font-size:7.65pt!important;line-height:1.05!important}
  #print-auth-document[data-print-mode="contract"] .contract-grid{margin-bottom:1mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-cell{min-height:7.35mm!important;padding:.82mm 1mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-cell.full{min-height:10.5mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-cell b{font-size:6.15pt!important;line-height:1.02!important;margin-bottom:.35mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-value{font-size:7.15pt!important;line-height:1.08!important}
  #print-auth-document[data-print-mode="contract"] .contract-clause{margin:.72mm 0!important;font-size:8.05pt!important;line-height:1.13!important;text-align:left!important}
  #print-auth-document[data-print-mode="contract"] .contract-list{margin:.55mm 0 .8mm 4.2mm!important;padding:0!important}
  #print-auth-document[data-print-mode="contract"] .contract-list li{margin:.25mm 0!important;font-size:7.95pt!important;line-height:1.08!important}
  #print-auth-document[data-print-mode="contract"] .contract-sign-grid{gap:5mm!important;margin-top:2.9mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-sign-grid-second{margin-top:1.8mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-sign{min-height:18mm!important;padding:1.75mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-sign b{font-size:7.55pt!important;line-height:1.08!important}
  #print-auth-document[data-print-mode="contract"] .contract-sign small{font-size:6.25pt!important;margin-top:.45mm!important;line-height:1.1!important}
  #print-auth-document[data-print-mode="contract"] .contract-sign div{margin-top:9.2mm!important;padding-top:.9mm!important;font-size:7.65pt!important}
  #print-auth-document[data-print-mode="contract"] .contract-note-small{font-size:6.85pt!important;line-height:1.1!important;margin-top:1.4mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-final-reminder{margin-top:1.5mm!important;font-size:6.95pt!important;line-height:1.1!important}
}

/* V72 final - aree firma più ampie per occupare meglio la seconda pagina */
@media print{
  #print-auth-document[data-print-mode="contract"] .contract-sign{min-height:25mm!important;padding:2mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-sign div{margin-top:15mm!important;padding-top:1mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-sign-grid{margin-top:4mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-sign-grid-second{margin-top:3mm!important}
  #print-auth-document[data-print-mode="contract"] .contract-final-reminder{padding:1.7mm 1.9mm!important;margin-top:2.3mm!important}
}


/* GLAM V231 MOBILE PRINT FIX START */
@page{size:A4 portrait;margin:8mm!important}
@media print{
  html,body{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
  body>*:not(#print-auth-document){display:none!important}
  #print-auth-document{
    display:block!important;
    position:static!important;
    inset:auto!important;
    left:auto!important;
    top:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    transform:none!important;
    zoom:1!important;
    box-sizing:border-box!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-page{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:auto!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    transform:none!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-page,
  #print-auth-document[data-print-mode="contract"] .contract-page *{
    box-sizing:border-box!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-head{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    gap:4mm!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-head>*{
    min-width:0!important;
    max-width:50%!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-title,
  #print-auth-document[data-print-mode="contract"] .contract-subtitle,
  #print-auth-document[data-print-mode="contract"] .contract-locator,
  #print-auth-document[data-print-mode="contract"] .contract-pec-box,
  #print-auth-document[data-print-mode="contract"] .contract-clause,
  #print-auth-document[data-print-mode="contract"] .contract-value,
  #print-auth-document[data-print-mode="contract"] .contract-note-small,
  #print-auth-document[data-print-mode="contract"] .contract-final-reminder{
    max-width:100%!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    hyphens:auto!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-grid{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-cell{
    min-width:0!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-sign-grid{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:4mm!important;
  }
  #print-auth-document[data-print-mode="contract"] .contract-sign{
    min-width:0!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  #print-auth-document[data-print-mode="contract"] img,
  #print-auth-document[data-print-mode="contract"] svg,
  #print-auth-document[data-print-mode="contract"] table{
    max-width:100%!important;
  }
}
/* GLAM V231 MOBILE PRINT FIX END */
