/* Stili condivisi pagine legali (privacy-policy, cookie-policy) */

/* Hero leggermente più compatto per pagine legali */
.page-hero h1 { font-size: clamp(2rem, 4vw, 3rem); }
.page-hero p { font-size: 1rem; color: rgba(255,255,255,0.6); }
.main-content { max-width: 760px; margin: 0 auto; padding: 6rem 2rem 8rem; }
.doc-section { margin-bottom: 3rem; }
.doc-section h2 { font-size: 1.35rem; font-weight: 700; color: var(--night); margin: 0 0 0.85rem; letter-spacing: -0.02em; }
.doc-section p, .doc-section li { font-size: 0.96rem; color: #4a5568; line-height: 1.85; margin: 0 0 0.85rem; }
.doc-section ul { padding-left: 1.4rem; margin: 0 0 0.85rem; }
.doc-section li { margin-bottom: 0.4rem; }
.doc-section a { color: var(--navy); text-decoration: underline; }
.doc-section a:hover { color: var(--red); }
.info-box { background: var(--gray-bg); border-left: 3px solid var(--navy); border-radius: 0 10px 10px 0; padding: 1.25rem 1.5rem; margin-bottom: 1.5rem; }
.info-box p { margin: 0; font-size: 0.92rem; color: #64748b; }
.info-box strong { color: var(--night); }
.update-date { font-size: 0.82rem; color: #94a3b8; margin-bottom: 3rem; }
footer { margin-top: 6rem; }

/* privacy-policy: griglia diritti */
.rights-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1.5rem; }
.right-card { background: var(--gray-bg); border-radius: 12px; padding: 1.25rem; }
.right-card h3 { font-family: 'Outfit', sans-serif; font-size: 0.9rem; font-weight: 700; color: var(--night); margin: 0 0 0.35rem; }
.right-card p { font-size: 0.83rem; color: #64748b; line-height: 1.6; margin: 0; }

/* cookie-policy: tabella */
.table-wrapper { overflow-x: auto; margin-bottom: 1.5rem; }
table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
th { background: var(--navy); color: white; font-family: 'Outfit', sans-serif; font-weight: 600; font-size: 0.8rem; letter-spacing: 0.05em; text-transform: uppercase; padding: 0.75rem 1rem; text-align: left; }
td { padding: 0.75rem 1rem; border-bottom: 1px solid #e2e8f0; color: #4a5568; vertical-align: top; }
tr:last-child td { border-bottom: none; }
tr:nth-child(even) td { background: var(--gray-bg); }

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