/* Partner (page-partner.php). Carica anche chi-siamo.css: .cs-num, .cs-fare, .cs-intro vengono da li'. */

.pt-azioni { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }

/* elenco dei partner, per tipo */
.pt-gruppo { display: flex; flex-direction: column; gap: 12px; }
.pt-gruppo h2 { font-size: 20px; }
.pt-lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 720px) { .pt-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .pt-lista { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pt-lista li { flex-direction: row; align-items: center; gap: 14px; padding: 12px; }
.pt-lista li > div { min-width: 0; }
.pt-lista b { display: block; font-size: 15px; }
.pt-lista b a { display: inline-block; padding: 12px 0; margin: -12px 0; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--line-strong); }
.pt-lista li:not(:has(.plogo)) { min-height: 64px; }
.pt-lista span:not(.pname) { display: block; font-size: 13px; color: var(--text-2); }
.pt-lista .plogo { width: 128px; height: 64px; }

/* nessun partner ancora */
.pt-vuoto { flex-direction: row; align-items: center; gap: 16px; padding: 20px; }
.pt-vuoto .ic { width: 48px; height: 48px; border-radius: 50%; background: var(--surface-2); color: var(--rosso); display: inline-flex; align-items: center; justify-content: center; flex: none; }
.pt-vuoto .ic svg { width: 22px; height: 22px; }
.pt-vuoto h2 { font-size: 20px; }
.pt-vuoto p { font-size: 14px; color: var(--text-2); margin-top: 4px; }

/* pubblico */
.pt-num { margin-top: 0; }
@media (min-width: 720px) { .pt-num { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px) { .pt-num { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* come collaborare */
@media (min-width: 720px) { .pt-modi { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .pt-modi { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.pt-modi .per { margin-top: auto; padding-top: 4px; font-size: 12px; font-weight: 700; letter-spacing: .04em; color: var(--text-3); }

/* Punto I Love Lake Iseo: formula e posti liberi (inc/locali.php) */
.pt-punto { display: grid; grid-template-columns: 1fr; gap: 14px; align-items: start; }
@media (min-width: 900px) { .pt-punto { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.pt-punto .tile { padding: 22px; gap: 14px; }
.pt-punto .tile > p { font-size: 14px; color: var(--text-2); }
.pt-punto h3 { font-size: 20px; }
.pt-prezzo { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border-radius: var(--radius-s); background: var(--surface-2); }
.pt-prezzo b { font-family: var(--font-display); font-size: 24px; }
.pt-prezzo span { font-size: 13px; color: var(--text-2); }
.posti { width: 100%; border-collapse: collapse; font-size: 14px; }
.posti th { text-align: left; font-size: var(--text-micro); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); padding: 0 8px 8px 0; }
.posti td { padding: 9px 8px 9px 0; border-top: 1px solid var(--line); vertical-align: middle; }
.posti td:first-child { font-weight: 700; width: 38%; }
.posti .lib { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; font-size: 13px; font-weight: 600; }
.posti .lib i { display: inline-flex; gap: 3px; }
.posti .lib i b { width: 10px; height: 10px; border-radius: 3px; background: var(--rosso); }
.posti .lib i b.free { background: transparent; box-shadow: inset 0 0 0 1.5px var(--line-strong); }
.posti .pieno { font-size: var(--text-micro); font-weight: 700; color: var(--text-2); background: var(--surface-2); padding: 4px 8px; border-radius: 999px; }
.pt-nonce { font-size: 13px; color: var(--text-2); }
.pt-nonce a { color: var(--accent); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.pt-vicini summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-weight: 700; font-size: 14px; }

/* regole + contatto */
.pt-fine { display: grid; grid-template-columns: 1fr; gap: 14px; }
@media (min-width: 720px) { .pt-fine { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pt-fine .tile, .pt-fine .wa { padding: 22px; }
.pt-fine .wa { border: 1px solid var(--line); }
.pt-fine .wa p { font-size: 14px; }
.pt-fine .wa .cta { margin-top: auto; }
.pt-fine h3 { font-size: 20px; }
.pt-regole { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.pt-regole li { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--text-2); }
.pt-regole svg { width: 18px; height: 18px; flex: none; margin-top: 2px; color: var(--ok); }

/* riquadri che non sono link: fermi */
.pt-lista li:hover, .pt-vuoto:hover, .pt-num .tile:hover, .pt-modi .tile:hover, .pt-fine .tile:hover, .pt > .tile:hover, .pt-punto .tile:hover { transform: none; box-shadow: none; }
