/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

/* iPhone: se un campo ha il testo sotto i 16px, Safari ingrandisce la pagina quando lo si tocca
   e lo zoom resta anche nelle pagine successive (la pagina "scappa" di lato). Sul telefono tutti i campi a 16px. */
@media (max-width: 768px) {
  input, select, textarea { font-size: 16px !important; }
}

/* Trasparenza – Sport Bonus */
.transparency { max-width: 820px; display: flex; flex-direction: column; gap: 28px; }
.transparency-card { padding: 24px; display: flex; flex-direction: column; gap: 14px; background: linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .02)); border: 1px solid rgba(197, 0, 15, .3); border-radius: 18px; }
.transparency-title { font-size: 20px; font-weight: 900; color: #fff; text-wrap: balance; }
.transparency-subtitle { font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; color: var(--yellow); margin-top: 10px; }
.transparency-data { display: grid; gap: 0; border: 1px solid rgba(255, 255, 255, .1); border-radius: 12px; overflow: hidden; }
.transparency-data > div { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: 12px; padding: 12px 16px; border-top: 1px solid rgba(255, 255, 255, .08); }
.transparency-data > div:first-child { border-top: 0; }
.transparency-data dt { font-size: 13px; color: #94a3b8; font-weight: 600; }
.transparency-data dd { color: #fff; font-weight: 700; overflow-wrap: anywhere; }
.transparency-amount { font-size: 18px; font-variant-numeric: tabular-nums; }
.transparency-list { list-style: disc; padding-left: 22px; color: #e2e8f0; display: flex; flex-direction: column; gap: 6px; }
.transparency-legal { margin: 0; padding: 12px 16px; border-left: 3px solid var(--yellow); background: rgba(255, 255, 255, .04); border-radius: 0 10px 10px 0; color: #e2e8f0; font-style: italic; line-height: 1.6; }
.transparency-updates { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.transparency-updates li { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 12px; padding: 12px 14px; border-radius: 10px; background: rgba(255, 255, 255, .04); }
.transparency-updates time { font-size: 13px; font-weight: 800; color: var(--yellow); font-variant-numeric: tabular-nums; }
.transparency-used { font-size: 13px; color: #94a3b8; margin-top: 4px; }
.transparency-total { font-size: 14px; color: #cbd5e1; }
@media (max-width: 560px) {
  .transparency-card { padding: 18px 16px; }
  .transparency-data > div, .transparency-updates li { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}

/* ═══ Articoli (editor Lexxy) ═══ */
.news-cover { margin: 0; border-radius: 16px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .08); }
.news-cover img { display: block; width: 100%; max-height: 520px; object-fit: cover; }
.rich-content { color: #cbd5e1; font-size: 1rem; line-height: 1.75; display: flex; flex-direction: column; gap: 1rem; max-width: 70ch; overflow-wrap: anywhere; }
.rich-content > * { margin: 0; }
.rich-content h2, .rich-content h3, .rich-content h4 { color: #fff; font-weight: 900; line-height: 1.25; text-wrap: balance; }
.rich-content h2 { font-size: 1.35rem; } .rich-content h3 { font-size: 1.15rem; } .rich-content h4 { font-size: 1rem; }
.rich-content strong, .rich-content b { color: #fff; }
.rich-content a { color: var(--yellow); text-decoration: underline; text-underline-offset: 3px; }
.rich-content ul, .rich-content ol { padding-left: 1.4rem; display: flex; flex-direction: column; gap: .35rem; }
.rich-content ul { list-style: disc; } .rich-content ol { list-style: decimal; }
.rich-content blockquote { padding: .75rem 1rem; border-left: 3px solid var(--yellow); background: rgba(255, 255, 255, .04); border-radius: 0 10px 10px 0; font-style: italic; }
.rich-content figure { display: flex; flex-direction: column; gap: .4rem; }
.rich-content img { max-width: 100%; height: auto; border-radius: 12px; }
.rich-content figcaption { font-size: .85rem; color: #94a3b8; text-align: center; }
.rich-content hr { border: 0; border-top: 1px solid rgba(255, 255, 255, .12); }
.rich-content pre { overflow-x: auto; padding: .75rem; border-radius: 10px; background: rgba(0, 0, 0, .35); font-size: .85rem; }
.rich-content table { border-collapse: collapse; display: block; overflow-x: auto; }
.rich-content th, .rich-content td { border: 1px solid rgba(255, 255, 255, .12); padding: .4rem .6rem; }

/* ═══ Banner dei cookie ═══ */
.cookie-banner { position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); z-index: 60; max-width: 720px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; padding: 14px 16px; border-radius: 16px; background: #14141c; border: 1px solid rgba(245, 192, 0, .35); box-shadow: 0 12px 40px rgba(0, 0, 0, .5); color: #e2e8f0; font-size: 14px; line-height: 1.5; }
.cookie-banner p { flex: 1 1 280px; margin: 0; }
.cookie-banner a { color: var(--yellow); text-decoration: underline; }
.cookie-actions { display: flex; gap: 8px; margin-left: auto; }
.cookie-btn { padding: 10px 18px; border-radius: 12px; font-weight: 900; font-size: 14px; background: var(--yellow); color: #111; border: 0; cursor: pointer; }
.cookie-btn--ghost { background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, .3); }
.cookie-prefs-link { color: var(--yellow); text-decoration: underline; background: none; border: 0; padding: 0; font: inherit; cursor: pointer; }
@media (max-width: 767px) { .cookie-banner { bottom: calc(80px + env(safe-area-inset-bottom, 0px)); } }
