/* Lettera – stili frontend */
.lettera-box{border:1px solid #e5e5e5;border-radius:10px;padding:24px;margin:32px 0;background:#fafafa}
.lettera-box--minimal{border:0;background:transparent;padding:0}
.lettera-box__title{margin:0 0 6px;font-size:1.25em;line-height:1.3}
.lettera-box__desc{margin:0 0 16px;color:#555;font-size:.95em}
.lettera-form__row{display:flex;gap:8px;flex-wrap:wrap}
.lettera-input{flex:1 1 220px;padding:11px 13px;border:1px solid #ccc;border-radius:6px;font-size:16px;background:#fff;color:#111;min-width:0}
.lettera-input:focus{outline:2px solid var(--lettera-accent,#1a5fb4);outline-offset:1px;border-color:transparent}
.lettera-form .lettera-input+.lettera-input,.lettera-form>.lettera-input{margin-bottom:8px;width:100%}
.lettera-btn{display:inline-block;padding:11px 20px;border:0;border-radius:6px;background:var(--lettera-accent,#1a5fb4);color:#fff;font-size:16px;font-weight:600;cursor:pointer;text-decoration:none;line-height:1.2}
.lettera-btn:hover{opacity:.9;color:#fff}
.lettera-btn[disabled]{opacity:.6;cursor:progress}
.lettera-btn--ghost{background:transparent;color:var(--lettera-accent,#1a5fb4);border:1px solid var(--lettera-accent,#1a5fb4)}
.lettera-btn--ghost:hover{color:var(--lettera-accent,#1a5fb4)}
.lettera-btn--pay .lettera-price{font-weight:400;opacity:.85;font-size:.9em}
.lettera-consent{display:flex;gap:8px;align-items:flex-start;margin-top:12px;font-size:.85em;color:#555;line-height:1.4}
.lettera-consent input{margin-top:3px}
.lettera-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}
.lettera-msg{margin-top:12px;font-size:.92em}
.lettera-msg--ok{color:#1a7f37}
.lettera-msg--ko{color:#b42318}
.lettera-notice{padding:14px 18px;border-radius:8px;margin:0 0 24px;font-size:.95em}
.lettera-notice--ok{background:#e8f5ea;color:#1a7f37}
.lettera-notice--error{background:#fdecea;color:#b42318}

/* Paywall */
.lettera-paywall{position:relative;margin-top:-60px;padding:80px 24px 28px;text-align:center;border-radius:10px;background:#fff}
.lettera-paywall__fade{position:absolute;top:0;left:0;right:0;height:120px;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff);pointer-events:none}
.lettera-paywall__title{margin:0 0 8px;font-size:1.3em}
.lettera-paywall__msg{margin:0 auto 20px;max-width:34em;color:#555}
.lettera-paywall .lettera-box{text-align:left;max-width:520px;margin:0 auto}
.lettera-paywall__login{margin-top:16px;font-size:.9em;color:#666}

/* Archivio */
.lettera-archive{list-style:none;margin:24px 0;padding:0}
.lettera-archive__item{padding:16px 0;border-bottom:1px solid #eee}
.lettera-archive__link{display:block;text-decoration:none;color:inherit}
.lettera-archive__date{display:block;font-size:.8em;text-transform:uppercase;letter-spacing:.04em;color:#888}
.lettera-archive__title{font-size:1.15em;font-weight:700;line-height:1.35}
.lettera-archive__excerpt{margin:6px 0 0;color:#555;font-size:.95em}
.lettera-badge{font-size:.7em;vertical-align:middle;color:#888;margin-left:4px}
.lettera-badge--paid{color:#b8860b}

/* Account */
.lettera-account__table{width:100%;border-collapse:collapse;margin:16px 0}
.lettera-account__table th{text-align:left;padding:10px 12px 10px 0;width:34%;color:#555;font-weight:600;vertical-align:top;border-bottom:1px solid #eee}
.lettera-account__table td{padding:10px 0;border-bottom:1px solid #eee}
.lettera-account__actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:20px}
.lettera-link{font-size:.9em;color:#555}
.lettera-link--danger{color:#b42318}
@media(max-width:600px){.lettera-form__row{flex-direction:column}.lettera-btn{width:100%;text-align:center}}

/* Piani, listino per enti, prova e referral */
.lettera-piani{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:24px 0}
.lettera-piano{border:1px solid #e5e5e5;border-radius:10px;padding:20px;background:#fff;display:flex;flex-direction:column}
.lettera-piano--consigliato{border-color:var(--lettera-accent,#1a5fb4);border-width:2px}
.lettera-piano__nome{margin:0 0 6px;font-size:.78em;letter-spacing:.14em;text-transform:uppercase;color:#777}
.lettera-piano__prezzo{margin:0 0 8px;font-size:1.9em;font-weight:700;line-height:1}
.lettera-piano__prezzo small{font-size:.45em;font-weight:400;color:#777;margin-left:4px}
.lettera-piano__nota{margin:0 0 14px;font-size:.88em;color:#555}
.lettera-piano .lettera-btn{margin-top:auto;text-align:center}
.lettera-prova{border:1px dashed #c9c9c9;border-radius:10px;padding:20px;margin:28px 0;background:#fbfbfc}
.lettera-prova h3{margin:0 0 8px;font-size:1.15em}
.lettera-pa{margin:36px 0;padding:24px;border:1px solid #e5e5e5;border-radius:10px;background:#fafafa}
.lettera-pa h3{margin:0 0 8px}
.lettera-pa__blocco{margin-top:22px}
.lettera-pa__blocco h4{margin:0 0 8px;font-size:1em}
.lettera-dati{width:100%;border-collapse:collapse;margin:10px 0}
.lettera-dati th{text-align:left;padding:8px 12px 8px 0;width:38%;color:#555;font-weight:600;vertical-align:top;border-bottom:1px solid #ececec}
.lettera-dati td{padding:8px 0;border-bottom:1px solid #ececec}
.lettera-referral__link{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.lettera-referral__link .lettera-input{flex:1 1 260px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}
.lettera-piccolo{font-size:.85em;color:#666}
