/* Modulo account e pagamenti — usa i token di cfy.css (--cfy-*, --s-*, --r-*). Mobile first. */
.acc{padding:var(--s-5) 0 var(--s-7);background:var(--cfy-bg-alt);min-height:60vh}
.acc .wrap{max-width:1040px}
.acc--narrow .wrap{max-width:520px}
.acc h1{font-size:var(--cfy-fs-3);margin-bottom:.3em}
.acc-lead{color:var(--cfy-muted);margin:0 0 var(--s-5)}
.acc-card{background:#fff;border:1px solid var(--cfy-line);border-radius:var(--r-md);box-shadow:var(--shadow-1);padding:var(--s-5);margin-bottom:var(--s-5)}
.acc-card>h2{font-size:var(--cfy-fs-1);margin-bottom:var(--s-3)}
.acc-card>h2 .ico{vertical-align:-3px;margin-right:6px;color:var(--cfy-navy)}
.acc-form{display:grid;gap:var(--s-4)}
.acc-form .field label,.acc-form legend{font-weight:600;color:var(--cfy-ink)}
.acc-form input[type=text],.acc-form input[type=email],.acc-form input[type=password],.acc-form input[type=tel],.acc-form input[type=url],
.acc-form input[type=time],.acc-form input[type=search],.acc-form select,.acc-form textarea{
  width:100%;min-height:48px;padding:10px 14px;border:1.5px solid #c9d2e0;border-radius:var(--r-sm);background:#fff;font:inherit;color:var(--cfy-text)}
.acc-form textarea{min-height:160px;resize:vertical;line-height:1.5}
.acc-form input:focus,.acc-form select:focus,.acc-form textarea:focus{outline:none;border-color:var(--cfy-navy);box-shadow:0 0 0 3px rgba(18,48,107,.18)}
.acc-form [aria-invalid=true]{border-color:var(--cfy-red)}
.acc-form input[type=file]{min-height:48px;padding:8px 0;font:inherit}
.acc-help{font-size:.88rem;color:var(--cfy-muted);margin:2px 0 0}
.acc-err{display:flex;gap:.45em;align-items:flex-start;color:#c62828;font-size:.92rem;font-weight:600;margin:4px 0 0}
.acc-err span{display:inline-grid;place-items:center;flex:none;width:18px;height:18px;border-radius:50%;background:#c62828;color:#fff;font-size:.75rem;margin-top:2px}
.acc-msg{padding:var(--s-3) var(--s-4);border-radius:var(--r-sm);border:1px solid #c9d7f2;background:var(--cfy-navy-soft);color:var(--cfy-ink);margin:0 0 var(--s-4);font-weight:500}
.acc-msg--ok{background:#e7f6ef;border-color:#b4e2cd;color:#064e3b}
.acc-msg--err{background:#fdecea;border-color:#f5c2c0;color:#7f1d1d}
.acc-msg--warn{background:#fff7e6;border-color:#ffd88a;color:#5c3b00}
.acc-pw{position:relative}
.acc-pw input{padding-right:120px}
.acc-pw button{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-height:38px;padding:0 .8em;border:0;border-radius:6px;background:var(--cfy-navy-soft);color:var(--cfy-navy);font:600 .88rem var(--cfy-font-text);cursor:pointer}
.acc-links{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4);margin:var(--s-4) 0 0;font-size:.95rem}
.acc-trap{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.acc-row{display:grid;gap:var(--s-4)}
@media (min-width:700px){.acc-row--2{grid-template-columns:1fr 1fr}.acc-row--3{grid-template-columns:repeat(3,1fr)}}

/* navigazione area */
.acc-nav{display:flex;gap:var(--s-2);overflow-x:auto;margin:0 0 var(--s-5);padding:0 0 4px;list-style:none}
.acc-nav a{display:inline-flex;align-items:center;gap:.4em;min-height:44px;padding:0 1em;border-radius:var(--r-pill);background:#fff;border:1.5px solid var(--cfy-line);color:var(--cfy-ink);text-decoration:none;font-weight:600;white-space:nowrap}
.acc-nav a[aria-current=page]{background:var(--cfy-navy);border-color:var(--cfy-navy);color:#fff}
.acc-nav form{margin:0}
.acc-nav button{min-height:44px;padding:0 1em;border-radius:var(--r-pill);background:none;border:1.5px solid transparent;color:var(--cfy-muted);font:600 1rem var(--cfy-font-text);cursor:pointer}

/* schede del titolare */
.acc-list{display:grid;gap:var(--s-4)}
.acc-item{display:grid;grid-template-columns:64px 1fr;gap:var(--s-4);align-items:start;background:#fff;border:1px solid var(--cfy-line);border-radius:var(--r-md);padding:var(--s-4);box-shadow:var(--shadow-1)}
.acc-item__img{width:64px;height:64px;border-radius:12px;object-fit:cover;background:var(--cfy-navy-soft);display:grid;place-items:center;color:var(--cfy-navy)}
.acc-item h3{font-size:1.15rem;margin:0 0 4px}
.acc-item__meta{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center;margin:0 0 var(--s-3);font-size:.92rem;color:var(--cfy-muted)}
.acc-item .btn-row{grid-column:1/-1}
@media (min-width:760px){.acc-item{grid-template-columns:72px 1fr auto}.acc-item .btn-row{grid-column:auto;justify-content:flex-end}.acc-item__img{width:72px;height:72px}}
.pill{display:inline-flex;align-items:center;gap:.35em;min-height:26px;padding:0 .7em;border-radius:var(--r-pill);font-size:.82rem;font-weight:700;background:var(--cfy-navy-soft);color:var(--cfy-navy)}
.pill--ok{background:#e7f6ef;color:#065f46}
.pill--warn{background:#fff3d6;color:#7a4f00}
.pill--err{background:#fdecea;color:#991b1b}

/* orari */
.acc-hours{display:grid;gap:var(--s-2)}
.acc-day{display:grid;gap:var(--s-2);grid-template-columns:1fr;padding:var(--s-3);border:1px solid var(--cfy-line);border-radius:var(--r-sm)}
.acc-day__name{font-weight:700}
.acc-day__ranges{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center}
.acc-day__ranges input[type=time]{width:auto;min-width:118px}
@media (min-width:760px){.acc-day{grid-template-columns:120px 170px 1fr;align-items:center}}

/* foto */
.acc-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--s-3);margin:var(--s-2) 0}
.acc-thumb{position:relative;border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--cfy-line);background:var(--cfy-navy-soft)}
.acc-thumb img{width:100%;aspect-ratio:1;object-fit:cover}
.acc-thumb label{display:flex;align-items:center;gap:.4em;min-height:44px;padding:0 .6em;font-size:.88rem;background:#fff}
.acc-thumb--new{outline:2px dashed var(--cfy-orange);outline-offset:-2px}

/* tabelle (ricevute, admin) */
.acc-table{width:100%;border-collapse:collapse;font-size:.95rem}
.acc-table th,.acc-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--cfy-line);vertical-align:top}
.acc-table th{font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;color:var(--cfy-muted)}
@media (max-width:700px){.acc-table thead{display:none}.acc-table tr{display:block;border-bottom:1px solid var(--cfy-line);padding:8px 0}.acc-table td{display:block;border:0;padding:3px 0}}
.acc-diff{display:grid;grid-template-columns:1fr;gap:var(--s-2);font-size:.92rem}
.acc-diff del{background:#fdecea;text-decoration:line-through;color:#7f1d1d}
.acc-diff ins{background:#e7f6ef;text-decoration:none;color:#064e3b}
.acc-diff dt{font-weight:700;margin-top:var(--s-2)}
.acc-diff dd{margin:0;white-space:pre-wrap;word-break:break-word}

/* piani rinnovo */
.rn-plans{display:grid;gap:var(--s-4);margin:0 0 var(--s-2)}
@media (min-width:640px){.rn-plans{grid-template-columns:1fr 1fr}}
.rn-plan{position:relative;display:block;cursor:pointer}
.rn-plan input{position:absolute;opacity:0}
.rn-plan__box{display:block;border:2px solid var(--cfy-line);border-radius:var(--r-md);padding:var(--s-5);background:#fff;transition:border-color var(--dur),box-shadow var(--dur)}
.rn-plan input:checked+.rn-plan__box{border-color:var(--cfy-orange);box-shadow:0 0 0 3px rgba(232,89,12,.15)}
.rn-plan input:focus-visible+.rn-plan__box{box-shadow:var(--focus)}
.rn-plan__name{display:block;font:700 1.15rem var(--cfy-font-display);color:var(--cfy-ink)}
.rn-plan__price{display:block;font:700 2rem var(--cfy-font-display);color:var(--cfy-ink);margin:.2em 0}
.rn-plan__note{display:block;color:var(--cfy-muted);font-size:.92rem}
.rn-plan__badge{position:absolute;top:-11px;right:16px;background:var(--cfy-gold);color:#3b2600;font-weight:700;font-size:.8rem;padding:2px 10px;border-radius:var(--r-pill)}
.methods{display:grid;gap:var(--s-3)}
.method{display:flex;gap:var(--s-3);align-items:center;min-height:56px;padding:var(--s-3) var(--s-4);border:2px solid var(--cfy-line);border-radius:var(--r-sm);background:#fff;cursor:pointer}
.method:has(input:checked){border-color:var(--cfy-navy);background:var(--cfy-navy-soft)}
.method input{width:20px;height:20px;accent-color:var(--cfy-navy)}
.method small{display:block;color:var(--cfy-muted)}
.iban{font:600 1.1rem ui-monospace,Consolas,monospace;letter-spacing:.04em;word-break:break-all;background:var(--cfy-bg-alt);padding:var(--s-3);border-radius:var(--r-sm)}
.acc-kv{display:grid;grid-template-columns:auto 1fr;gap:6px var(--s-4);margin:0}
.acc-kv dt{color:var(--cfy-muted)}
.acc-kv dd{margin:0;font-weight:600}

/* ricevuta stampabile */
.receipt{background:#fff;max-width:760px;margin:0 auto;padding:var(--s-6);border:1px solid var(--cfy-line);border-radius:var(--r-md)}
.receipt__head{display:flex;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;border-bottom:2px solid var(--cfy-ink);padding-bottom:var(--s-4);margin-bottom:var(--s-4)}
@media print{
  .site-head,.site-foot,.foot-admin,.cookie,.acc-noprint,.skip,.app-banner{display:none!important}
  .acc{background:#fff;padding:0}
  .receipt{border:0;padding:0}
}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.acc-form fieldset{border:0;padding:0;margin:0;min-width:0}.acc-form fieldset.acc-day{border:1px solid var(--cfy-line);padding:var(--s-3)}
