/* PALETTE TYNEX
   Blu notte, avorio e bordeaux ripresi dal marchio.
   Modifica qui i colori. Testi e immagini rimangono nei file originali. */
:root {
  --ink: #112d40;
  --muted: #52616b;
  --paper: #f5f3ee;
  --white: #ffffff;
  --line: #d7d9d7;
  --accent: #8c233c;
  --accent-hover: #701a30;
  --night: #0b2233;
  --sand: #d5c3a4;
  --light-text: #c9d3d9;
  --sage: #e8ece3;
  --green: #325342;
  --sector-paper: #e8d6be;
}

/* Dati societari. */
.footer-company { min-width: 0; }
.footer-legal-details { display: grid; gap: 18px; margin-top: 30px; color: var(--light-text); font-size: 14px; line-height: 1.7; }
.footer-legal-details dt { margin-bottom: 3px; color: var(--sand); font-size: 12px; line-height: 1.5; font-weight: 700; }
.footer-legal-details dd { margin: 0; overflow-wrap: anywhere; }
.data-placeholder { overflow-wrap: anywhere; }
.company-details { position: sticky; top: 136px; padding: 32px; border-top: 4px solid var(--accent); background: var(--white); }
.company-details h2 { font-size: clamp(27px, 2.4vw, 34px); }
.company-name { margin-top: 22px; color: var(--ink); font-size: 19px; line-height: 1.5; font-weight: 700; }
.company-legal-details { margin-top: 24px; font-size: 16px; line-height: 1.7; }
.company-legal-details > div { display: grid; grid-template-columns: minmax(130px, .4fr) minmax(0, 1fr); gap: 8px 24px; }
.company-legal-details > div + div { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line); }
.company-legal-details dt { color: var(--ink); font-size: 14px; line-height: 1.6; font-weight: 700; }
.company-legal-details dd { margin: 0; color: var(--muted); overflow-wrap: anywhere; }
.company-details .company-legal-details > div { grid-template-columns: 1fr; gap: 6px; }
.privacy-configuration { padding: 20px 24px; border-left: 3px solid var(--accent); background: var(--paper); }
.contact-values a.social-reference { cursor: pointer; text-decoration: none; }
.social-pending-label { display: block; margin-top: 6px; color: var(--muted); font-size: 13px; font-weight: 400; }

@media (max-width: 1000px) {
  .company-details { position: static; }
  .company-details .company-legal-details { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1.3fr); gap: 28px; }
  .company-details .company-legal-details > div + div { margin: 0; padding: 0; border: 0; }
}
@media (max-width: 719px) {
  .company-details { padding: 28px 24px; }
  .company-details .company-legal-details { grid-template-columns: 1fr; gap: 20px; }
  .company-details .company-legal-details > div + div { padding-top: 20px; border-top: 1px solid var(--line); }
  .company-legal-details > div { grid-template-columns: 1fr; gap: 6px; }
  .footer-legal-details { font-size: 14px; }
}
@media print {
  .company-details { position: static; background: white; }
}
