/* Releviis Personalizza - stili isolati sotto .rlvp (stessa palette del compositore) */
.rlvp{
	--rlvp-green:#26372F; --rlvp-ivory:#F7ECDE; --rlvp-paper:#FBF5EC; --rlvp-bronze:#A98258; --rlvp-bronze-dark:#765638;
	--rlvp-charcoal:#383532; --rlvp-muted:#6c645c; --rlvp-line:#dccfbf; --rlvp-danger:#9b3b2f;
	--rlvp-display:'Sanchez', Georgia, serif; --rlvp-body:'Montserrat', 'Segoe UI', Roboto, Arial, sans-serif;
	clear:both; width:100%; max-width:100%; margin:14px 0 18px; padding:0;
	color:var(--rlvp-charcoal); font-family:var(--rlvp-body); font-size:14px; line-height:1.5; text-align:left; color-scheme:light;
}
.rlvp *,.rlvp *::before,.rlvp *::after{box-sizing:border-box}
.rlvp [hidden]{display:none !important}
.rlvp p{margin:0}
.rlvp-card{background:var(--rlvp-paper); border:1px solid var(--rlvp-line); border-radius:10px; padding:16px 14px 6px}
.rlvp-eb{display:block; font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; font-weight:600; color:var(--rlvp-bronze-dark)}
.rlvp .rlvp-title{font-family:var(--rlvp-display); font-weight:400; font-size:21px; line-height:1.25; margin:2px 0 4px; color:var(--rlvp-charcoal); text-transform:none; letter-spacing:0}
.rlvp-intro{color:var(--rlvp-muted); font-size:13px; margin:0 0 14px !important}

/* campi */
.rlvp .rlvp-field{margin:0 0 16px; padding:0; border:0; min-width:0}
.rlvp .rlvp-label{display:block; font-size:14px; font-weight:600; line-height:1.35; color:var(--rlvp-charcoal); margin:0 0 6px; padding:0; vertical-align:baseline; float:none; width:auto}
.rlvp-req{color:var(--rlvp-bronze-dark); font-weight:700}
.rlvp-lim{font-weight:400; color:var(--rlvp-muted)}
.rlvp .rlvp-input{
	display:block; width:100%; min-width:0; max-width:none; height:auto; margin:0; box-shadow:none;
	font:inherit; font-size:16px; /* 16px: niente zoom automatico su iPhone */ line-height:1.4; color:var(--rlvp-charcoal);
	background:#fff; border:1px solid var(--rlvp-line); border-radius:6px; padding:11px 12px; transition:border-color .15s, box-shadow .15s;
}
.rlvp textarea.rlvp-input{resize:vertical; min-height:78px}
.rlvp .rlvp-input::placeholder{color:#a69c90; opacity:1}
.rlvp .rlvp-input:focus{outline:none; border-color:var(--rlvp-bronze); box-shadow:0 0 0 3px rgba(169,130,88,.18)}
.rlvp .is-invalid .rlvp-input{border-color:var(--rlvp-danger)}
.rlvp-meta{display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin-top:5px; font-size:12px; line-height:1.4; color:var(--rlvp-muted)}
.rlvp-count{margin-left:auto; white-space:nowrap; font-variant-numeric:tabular-nums}
.rlvp-count.is-near{color:var(--rlvp-bronze-dark); font-weight:600}
.rlvp-fmt{margin-left:auto; white-space:nowrap}
.rlvp .rlvp-err{margin:6px 0 0; color:var(--rlvp-danger); font-size:13px; font-weight:500}

.rlvp-count.is-over{color:var(--rlvp-danger); font-weight:700}
.rlvp .rlvp-limhint{margin:5px 0 0; font-size:12.5px; color:var(--rlvp-bronze-dark); font-weight:500}

/* frasi consigliate */
.rlvp-sugg{margin-top:9px}
.rlvp-sugg__t{display:block; font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:var(--rlvp-bronze-dark); margin-bottom:6px}
.rlvp-sugg__list{display:flex; flex-wrap:wrap; gap:6px}
.rlvp .rlvp-sugg__b,.rlvp .rlvp-sugg__b:hover,.rlvp .rlvp-sugg__b:focus,.rlvp .rlvp-sugg__more,.rlvp .rlvp-sugg__more:hover,.rlvp .rlvp-sugg__more:focus{
	display:inline-block; width:auto; min-width:0; min-height:0; margin:0; padding:7px 11px; border:1px solid var(--rlvp-line); border-radius:16px;
	background:#fff; color:var(--rlvp-charcoal); font:inherit; font-size:13px; line-height:1.3; font-weight:400; text-align:left; text-transform:none;
	letter-spacing:0; white-space:normal; box-shadow:none; cursor:pointer; transition:background-color .15s, border-color .15s, color .15s;
}
.rlvp .rlvp-sugg__b:hover{border-color:var(--rlvp-bronze); background:var(--rlvp-paper)}
.rlvp .rlvp-sugg__b--none,.rlvp .rlvp-sugg__b--none:hover{font-style:italic; color:var(--rlvp-muted)}
.rlvp .rlvp-sugg__b[aria-pressed="true"]{background:var(--rlvp-green); border-color:var(--rlvp-green); color:var(--rlvp-ivory); font-style:normal}
.rlvp .rlvp-sugg__b:focus-visible,.rlvp .rlvp-sugg__more:focus-visible{outline:2px solid var(--rlvp-bronze); outline-offset:2px}
.rlvp .rlvp-sugg__more,.rlvp .rlvp-sugg__more:hover{margin-top:7px; padding:4px 2px; border:0; background:transparent; color:var(--rlvp-bronze-dark); font-weight:600; text-decoration:underline; text-underline-offset:3px}

/* scelta del simbolo */
.rlvp-chips{display:flex; flex-wrap:wrap; gap:8px}
.rlvp .rlvp-chip{position:relative; display:inline-flex; margin:0; line-height:1; cursor:pointer}
.rlvp .rlvp-chip input{position:absolute; opacity:0; width:1px; height:1px; margin:0; pointer-events:none}
.rlvp .rlvp-chip span{display:inline-block; padding:10px 14px; border:1px solid var(--rlvp-line); border-radius:999px; background:#fff; color:var(--rlvp-charcoal); font-size:14px; line-height:1.2; transition:background-color .15s, border-color .15s, color .15s}
.rlvp .rlvp-chip:hover span{border-color:var(--rlvp-bronze)}
.rlvp .rlvp-chip input:checked + span{background:var(--rlvp-green); border-color:var(--rlvp-green); color:var(--rlvp-ivory)}
.rlvp .rlvp-chip input:focus-visible + span{outline:2px solid var(--rlvp-bronze); outline-offset:2px}

/* foto */
.rlvp-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(104px,1fr)); gap:10px; max-width:420px}
.rlvp-thumb,.rlvp .rlvp-add{position:relative; aspect-ratio:1/1; border-radius:8px; overflow:hidden; min-width:0}
.rlvp-thumb{background:var(--rlvp-ivory); border:1px solid var(--rlvp-line)}
.rlvp .rlvp-thumb img{display:block; width:100%; height:100%; object-fit:cover; margin:0; max-width:none; border:0; border-radius:0; box-shadow:none}
.rlvp-thumb__ph{position:absolute; inset:0; background:linear-gradient(110deg,var(--rlvp-ivory) 30%,#fff 50%,var(--rlvp-ivory) 70%); background-size:220% 100%; animation:rlvp-sh 1.2s linear infinite}
@keyframes rlvp-sh{to{background-position:-120% 0}}
.rlvp-thumb__heic{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-weight:700; letter-spacing:.08em; color:var(--rlvp-bronze-dark); font-size:13px}
.rlvp-thumb.is-loading img{opacity:.55}
.rlvp-prog{position:absolute; left:0; right:0; bottom:9px; text-align:center; font-size:11.5px; font-weight:600; color:var(--rlvp-charcoal); text-shadow:0 0 3px #fff}
.rlvp-bar{position:absolute; left:0; bottom:0; height:4px; width:4%; background:var(--rlvp-bronze); transition:width .2s}
.rlvp-thumb.is-done::after{content:''; position:absolute; left:6px; bottom:6px; width:20px; height:20px; border-radius:50%; background:var(--rlvp-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5.5 10.5 3 3 6-6.5' fill='none' stroke='%23F7ECDE' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.rlvp .rlvp-x,.rlvp .rlvp-x:hover,.rlvp .rlvp-x:focus{
	position:absolute; top:5px; right:5px; width:30px; height:30px; min-width:0; min-height:0; padding:0; margin:0;
	border:1px solid var(--rlvp-line); border-radius:50%; background:rgba(255,255,255,.94); color:var(--rlvp-charcoal);
	font:600 19px/27px Arial,Helvetica,sans-serif; text-align:center; text-transform:none; letter-spacing:0; box-shadow:0 1px 3px rgba(0,0,0,.18); cursor:pointer;
}
.rlvp .rlvp-x:hover{background:#fff; color:var(--rlvp-danger); border-color:var(--rlvp-danger)}
.rlvp .rlvp-x:focus-visible{outline:2px solid var(--rlvp-bronze); outline-offset:1px}
.rlvp .rlvp-add{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; margin:0; padding:6px; border:1.5px dashed var(--rlvp-bronze); background:#fff; color:var(--rlvp-bronze-dark); text-align:center; cursor:pointer; line-height:1.2; transition:background-color .15s, border-color .15s}
.rlvp .rlvp-add:hover{background:var(--rlvp-ivory); border-color:var(--rlvp-bronze-dark)}
.rlvp .rlvp-add:focus-within{outline:2px solid var(--rlvp-bronze); outline-offset:2px}
.rlvp .rlvp-file{position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; font-size:0; margin:0; padding:0; border:0}
.rlvp-add__plus{display:flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; background:var(--rlvp-bronze); color:#fff; font:600 20px/1 Arial,Helvetica,sans-serif}
.rlvp-add__t{font-size:12.5px; font-weight:600}
.rlvp-field--foto.is-invalid .rlvp-add{border-color:var(--rlvp-danger); border-style:solid}

/* avviso bozza, subito sopra il pulsante */
.rlvp .rlvp-status{margin:10px 0 0; padding:9px 12px; border-radius:6px; background:#f6e3df; color:var(--rlvp-danger); font-size:13.5px; font-weight:500}
.rlvp-notice{display:flex; gap:10px; align-items:flex-start; margin:12px 0 0; padding:12px 14px; background:var(--rlvp-ivory); border-left:3px solid var(--rlvp-bronze); border-radius:0 8px 8px 0; color:var(--rlvp-green)}
.rlvp-notice svg{flex:0 0 22px; width:22px; height:22px; color:var(--rlvp-bronze-dark); margin-top:1px}
.rlvp-notice p{font-size:13.5px; line-height:1.5; font-weight:500}

@media (min-width:600px){
	.rlvp-card{padding:20px 20px 8px}
	.rlvp-grid{grid-template-columns:repeat(4,minmax(0,1fr)); max-width:440px}
	.rlvp .rlvp-title{font-size:23px}
}
@media (prefers-reduced-motion:reduce){.rlvp-thumb__ph{animation:none}}
.rlvp-field--foto .rlvp-meta{flex-direction:column; gap:2px}
.rlvp-field--foto .rlvp-fmt{margin-left:0}
