.ppe-box{width:100%;max-width:100%;margin:0 auto 40px auto;font-family:inherit;box-sizing:border-box}.ppe-intro{font-size:1.05em;margin-bottom:20px}.ppe-vuoto{padding:16px;background:#f6f7f8;border-radius:8px}.ppe-app{background:#fafbfc;border:1px solid #e5e7eb;border-radius:12px;padding:24px}.ppe-app h3{margin-top:0;font-size:1.15em}.ppe-step{margin-bottom:28px}.ppe-step:last-child{margin-bottom:0}.ppe-griglia-gruppi{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.ppe-card-gruppo{border:2px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#fff;cursor:pointer;transition:border-color .15s ease,transform .1s ease;text-align:center}.ppe-card-gruppo:hover{border-color:#b3c7ff;transform:translateY(-2px)}.ppe-card-gruppo.ppe-selezionato{border-color:#2f5bea;box-shadow:0 0 0 2px rgb(47 91 234 / .15)}.ppe-card-gruppo img{width:100%;height:80px;object-fit:cover;display:block;background:#eee}.ppe-card-gruppo .ppe-card-body{padding:8px 10px 12px}.ppe-card-gruppo .ppe-card-nome{font-weight:600;font-size:.92em;line-height:1.25;display:block;margin-bottom:4px;min-height:2.4em}.ppe-card-gruppo .ppe-card-prezzo{display:inline-block;background:#eef2ff;color:#2f3fa0;border-radius:20px;padding:2px 10px;font-size:.85em;font-weight:700}.ppe-calendario-wrap{max-width:340px;margin:0 auto}.ppe-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.ppe-cal-nav button{border:1px solid #d0d5dd;background:#fff;border-radius:6px;width:30px;height:30px;cursor:pointer}.ppe-cal-griglia{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.ppe-cal-etichetta{text-align:center;font-size:.75em;font-weight:600;color:#888;padding:4px 0}.ppe-cal-giorno{text-align:center;padding:8px 0;border-radius:6px;font-size:.88em;background:#fff;border:1px solid #e5e7eb;cursor:pointer}.ppe-cal-giorno.ppe-occupato{background:#fdeaea;color:#b23;cursor:not-allowed;border-color:#f3c9c9;text-decoration:line-through}.ppe-cal-giorno.ppe-passato{background:#f2f2f2;color:#bbb;cursor:not-allowed}.ppe-cal-giorno.ppe-vuoto-cella{border:none;background:#fff0;cursor:default}.ppe-cal-giorno.ppe-altro-mese{color:#bbb}.ppe-cal-giorno.ppe-in-carrello{background:#eef2ff;color:#2447c2;border-color:#2f5bea;font-weight:700}.ppe-cal-giorno.ppe-settimana-hover{background:#eef2ff;border-color:#2f5bea}.ppe-cal-giorno:not(.ppe-occupato):not(.ppe-passato):not(.ppe-vuoto-cella):not(.ppe-in-carrello):hover{background:#eef2ff;border-color:#2f5bea}.ppe-cal-legenda{font-size:.8em;color:#666;margin-top:10px}.ppe-pallino{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;vertical-align:middle}.ppe-pallino.ppe-libero{background:#fff;border:1px solid #d0d5dd}.ppe-pallino.ppe-occupato{background:#fdeaea;border:1px solid #f3c9c9}.ppe-carrello-tabella{width:100%;border-collapse:collapse;margin-bottom:10px}.ppe-carrello-tabella th,.ppe-carrello-tabella td{text-align:left;padding:8px 6px;border-bottom:1px solid #e5e7eb;font-size:.92em}.ppe-carrello-tabella button.ppe-rimuovi{background:none;border:none;color:#b23;cursor:pointer;font-size:.85em}.ppe-totale{text-align:right;font-size:1.05em}#ppe-form-checkout{display:grid;gap:12px;grid-template-columns:1fr 1fr}#ppe-form-checkout label{display:flex;flex-direction:column;font-size:.9em;font-weight:600;gap:4px}#ppe-form-checkout label:nth-child(5),#ppe-form-checkout label:nth-child(6){grid-column:1 / -1}#ppe-form-checkout input,#ppe-form-checkout textarea{font-weight:400;padding:8px 10px;border:1px solid #d0d5dd;border-radius:6px;font-size:1em}.ppe-btn-invia{grid-column:1 / -1;justify-self:start;background:#2f5bea;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1em;font-weight:700;cursor:pointer}.ppe-btn-invia:hover{background:#2447c2}.ppe-btn-invia:disabled{background:#9aa8d8;cursor:wait}#ppe-esito{margin-top:14px;font-weight:600}#ppe-esito.ppe-ok{color:#155724}#ppe-esito.ppe-errore{color:#b23}@media (max-width:480px){#ppe-form-checkout{grid-template-columns:1fr}#ppe-form-checkout label:nth-child(5),#ppe-form-checkout label:nth-child(6){grid-column:auto}}.ppe-elenco-gruppi-wrap{margin:0 auto}.ppe-elenco-sezione{margin-bottom:48px}.ppe-elenco-sezione:last-child{margin-bottom:0}.ppe-elenco-titolo-sezione{text-align:center;font-size:1.5em;font-weight:700;margin:0 0 30px}.ppe-elenco-gruppi-griglia{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 24px;margin:0 auto 30px}@media (max-width:782px){.ppe-elenco-gruppi-griglia{grid-template-columns:1fr}}.ppe-elenco-gruppo-card,.ppe-elenco-gruppo-hero{display:block;text-decoration:none;color:inherit}.ppe-elenco-gruppo-card img{width:100%;aspect-ratio:390 / 140;object-fit:cover;display:block;background:#eee}.ppe-elenco-gruppo-hero{max-width:1100px;margin:0 auto 30px}.ppe-elenco-gruppo-hero img{width:100%;aspect-ratio:1880 / 696;object-fit:cover;display:block;background:#eee}.ppe-elenco-gruppo-nome{display:block;font-weight:600;font-size:.95em;color:#222;line-height:1.3}.ppe-card-caption-hero .ppe-elenco-gruppo-nome{font-size:1.15em}.ppe-card-caption{min-height:4.6em;display:flex;align-items:center;justify-content:center;text-align:center;padding:14px 6px 18px;box-sizing:border-box;border-bottom:1px solid #222}.ppe-card-caption-hero{min-height:auto;padding:16px 6px 22px}.ppe-card-caption>*{width:100%;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}