/* payplan.css — pagamento in tranche (README, sezione 42): selettore nel carrello e pagina pay-tranche.php.
   Autosufficiente (colori di riserva): funziona anche nelle pagine che non usano c-style.css. */
.payplan-box{ margin:16px 0 8px; }
.payplan-box[hidden]{ display:none; }
.pp-fs{ margin:0; padding:14px 14px 12px; border:2px solid var(--ink,#15131F); border-radius:12px; background:#fff; min-width:0; }
.pp-fs legend{ padding:0 8px; font-weight:900; font-size:14px; text-transform:uppercase; letter-spacing:.7px; color:var(--ink,#15131F); }
.pp-opt{ display:block; position:relative; margin:8px 0 0; padding:11px 14px 11px 46px; border:2px solid #D9D6EC; border-radius:10px; background:#fff; cursor:pointer; color:var(--ink,#15131F); }
.pp-opt input{ position:absolute; left:14px; top:14px; width:20px; height:20px; margin:0; accent-color:var(--indigo,#3A2FD6); }
.pp-opt.on{ border-color:var(--indigo,#3A2FD6); background:var(--lav,#ECE9FF); }
.pp-opt:focus-within{ outline:3px solid var(--amber,#FFB547); outline-offset:2px; }
.pp-opt b{ display:block; font-size:16px; font-weight:900; line-height:1.25; }
.pp-opt small{ display:block; margin-top:3px; font-size:13.5px; line-height:1.45; color:#4A465E; font-weight:500; }
.pp-today{ margin:10px 2px 0; font-size:15px; font-weight:800; color:var(--ink,#15131F); }
.pp-note{ margin:6px 2px 0; font-size:12.5px; line-height:1.5; color:#5C5870; }
.pp-note a{ color:var(--indigo,#3A2FD6); font-weight:700; }

/* pagina pay-tranche.php */
.pt-main{ max-width:880px; margin:0 auto; padding:34px 20px 64px; display:grid; gap:26px; }
.pt-card{ background:#fff; border:2px solid var(--ink,#15131F); border-radius:12px; box-shadow:8px 8px 0 var(--ink,#15131F); padding:26px 26px 22px; min-width:0; }
.pt-card h2{ margin:0 0 10px; font-weight:900; font-stretch:106%; text-transform:uppercase; font-size:clamp(20px,2.6vw,26px); line-height:1.1; letter-spacing:-.3px; overflow-wrap:anywhere; }
.pt-ref{ margin:0 0 12px; font-weight:800; font-size:13px; text-transform:uppercase; letter-spacing:1.2px; color:var(--indigo,#3A2FD6); }
.pt-amount{ display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 16px; margin:4px 0 10px; }
.pt-amount span{ font-weight:800; font-size:14px; text-transform:uppercase; letter-spacing:1px; color:#5C5870; }
.pt-amount b{ font-weight:900; font-stretch:112%; font-size:clamp(40px,8vw,64px); line-height:1; letter-spacing:-1.5px; }
.pt-desc{ margin:0 0 16px; max-width:60ch; font-size:16px; line-height:1.55; color:#3F3B52; }
.pt-paywith{ margin:6px 0 8px; font-weight:800; font-size:13px; text-transform:uppercase; letter-spacing:1px; }
.pt-pay{ display:flex; flex-wrap:wrap; gap:12px; }
.pt-pay .btn{ min-width:150px; }
.pt-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; }
.pt-note{ margin:14px 0 0; font-size:14px; line-height:1.55; color:#5C5870; }
.pt-note a{ color:var(--indigo,#3A2FD6); font-weight:700; }
.pt-warn{ padding:10px 14px; border:2px solid var(--ink,#15131F); border-radius:8px; background:#FFF1D6; color:var(--ink,#15131F); }
.pt-err{ min-height:1.2em; font-weight:700; color:#B3261E; }
.pt-ok{ color:#1F7A3E; }
.pt-sum{ display:flex; flex-wrap:wrap; gap:10px 34px; margin:22px 0 0; padding-top:16px; border-top:2px solid var(--ink,#15131F); }
.pt-sum div{ min-width:140px; }
.pt-sum dt{ font-weight:800; font-size:12.5px; text-transform:uppercase; letter-spacing:1px; color:#5C5870; }
.pt-sum dd{ margin:2px 0 0; font-weight:900; font-size:22px; }
.pt-table .pt-cur{ background:var(--lav,#ECE9FF); }
.pt-table td, .pt-table th{ vertical-align:top; }
.pt-spin{ width:34px; height:34px; margin:14px 0; border:4px solid #ECE9FF; border-top-color:#3A2FD6; border-radius:50%; animation:ptspin 1s linear infinite; }
@keyframes ptspin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce){ .pt-spin{ animation:none; } }
@media (max-width:560px){ .pt-card{ padding:20px 16px 18px; box-shadow:5px 5px 0 var(--ink,#15131F); } .pt-pay .btn{ flex:1 1 100%; } }

/* area cliente: calendario dei pagamenti di un ordine */
.pp-acct-sum{ margin:0 0 10px; font-weight:800; font-size:15px; }
.pp-acct-list{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.pp-acct-list li{ display:flex; align-items:center; gap:12px; padding:10px 12px; border:2px solid #D9D6EC; border-radius:10px; background:#fff; }
.pp-acct-list li.due{ border-color:var(--ink,#15131F); background:#FFF6E4; }
.pp-acct-list li.paid{ background:#F3F8F4; }
.pp-n{ flex:none; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--ink,#15131F); color:#fff; font-weight:900; font-size:14px; }
.pp-what{ flex:1; min-width:0; font-size:15px; overflow-wrap:anywhere; }
.pp-what small{ display:block; margin-top:2px; font-size:13px; color:#5C5870; }
.pp-pay{ flex:none; min-height:44px; padding:8px 16px; font-size:15px; }
@media (max-width:520px){ .pp-acct-list li{ flex-wrap:wrap; } .pp-pay{ flex:1 1 100%; } }
.pt-card .lp-tablewrap, .pt-card .lp-table{ box-shadow:none; }
/* c-style.css nasconde la 4ª colonna delle tabelle «lp-table» sui telefoni (pensata per i confronti): qui la 4ª colonna è lo STATO e deve restare */
.pt-table th:nth-child(4), .pt-table td:nth-child(4){ display:table-cell; }
.pt-num{ display:none; }
@media (max-width:560px){
  .pt-table thead{ position:absolute; left:-9999px; }                  /* resta per i lettori di schermo */
  .pt-table, .pt-table tbody, .pt-table tr, .pt-table td{ display:block; width:100%; box-sizing:border-box; }
  .pt-table tr{ padding:12px 14px; border-bottom:1px solid #D9D6EC; }
  .pt-table td{ padding:2px 0; border:0; }
  .pt-table td:first-child{ display:none; }
  .pt-table td:nth-child(4){ display:block; }
  .pt-table td:nth-child(2){ font-weight:900; font-size:16px; }
  .pt-table .pt-num{ display:inline-grid; place-items:center; width:24px; height:24px; margin-right:8px; border-radius:50%; background:var(--ink,#15131F); color:#fff; font-size:13px; }
  .pt-table td[data-label]::before{ content:attr(data-label) ': '; font-weight:800; color:#5C5870; font-size:12.5px; text-transform:uppercase; letter-spacing:.6px; }
}
