/* Releviis Compositore v2 - stili isolati sotto .rlvc (resistono ai reset di Hello Elementor) */
.rlvc{
	--rlvc-green:#26372F; --rlvc-ivory:#F7ECDE; --rlvc-paper:#FBF5EC; --rlvc-bronze:#A98258; --rlvc-bronze-dark:#765638;
	--rlvc-charcoal:#383532; --rlvc-muted:#6c645c; --rlvc-line:#dccfbf; --rlvc-danger:#9b3b2f;
	--rlvc-display:'Sanchez', Georgia, serif; --rlvc-body:'Montserrat', 'Segoe UI', Roboto, Arial, sans-serif;
	color:var(--rlvc-charcoal); font-family:var(--rlvc-body); font-size:14px; line-height:1.5; text-align:left; color-scheme:light;
}
.rlvc[data-rlvc-root]{container-type:inline-size; container-name:rlvc; clear:both; width:100%; max-width:100%; margin:16px 0 22px; padding:0}
.rlvc *,.rlvc *::before,.rlvc *::after{box-sizing:border-box}
.rlvc [hidden],.rlvc[hidden]{display:none !important}
.rlvc p{margin:0}
.rlvc svg{overflow:hidden}
.rlvc button,.rlvc button:hover,.rlvc button:focus,.rlvc button:active{
	font-family:inherit; font-size:inherit; line-height:1.3; text-transform:none; letter-spacing:normal; font-weight:400;
	white-space:normal; text-decoration:none; box-shadow:none; min-height:0; min-width:0; width:auto; margin:0;
	transition:background-color .15s, border-color .15s, color .15s, transform .15s; text-align:center; cursor:pointer;
}
.rlvc button:disabled{opacity:.35; cursor:default}
.rlvc button:focus-visible,.rlvc input:focus-visible{outline:2px solid var(--rlvc-bronze); outline-offset:2px}
.rlvc input[type=text]{font:inherit; font-size:15px; color:var(--rlvc-charcoal); border:1px solid var(--rlvc-line); background:#fff; padding:10px 12px; border-radius:4px; min-width:0; width:100%; height:auto; margin:0; box-shadow:none; line-height:1.4}
.rlvc input[type=text]:focus{border-color:var(--rlvc-bronze)}
.rlvc-eb{display:block; font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; font-weight:600; color:var(--rlvc-bronze-dark)}
.rlvc .rlvc-title{font-family:var(--rlvc-display); font-weight:400; font-size:24px; line-height:1.2; margin:2px 0 10px; color:var(--rlvc-charcoal); text-transform:none; letter-spacing:0}

/* pulsanti "+" dei componenti */
/* passi: 1 pietra e misura, 2 famiglia, 3 scritta */
.rlvc-step{margin:0 0 14px}
.rlvc-num{display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%; background:var(--rlvc-bronze); color:#fff; font-family:Arial,Helvetica,sans-serif; font-size:12px; font-weight:700; margin-right:8px; vertical-align:2px}
.rlvc .rlvc-card h4.rlvc-h4b{margin-top:14px}
.rlvc .rlvc-steph{font-family:var(--rlvc-display); font-weight:400; font-size:17px; line-height:1.3; margin:0 0 2px; color:var(--rlvc-charcoal)}
.rlvc-famline{display:grid; grid-template-columns:minmax(0,2fr) minmax(0,3fr); gap:8px}
/* scelta del tipo di figura (dentro il selettore) */
.rlvc-kinds{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:4px 0 12px}
.rlvc .rlvc-kinds .rlvc-addbtn{padding:12px 4px 10px; font-size:14px}
.rlvc .rlvc-kinds .rlvc-addbtn__ic{width:64px; height:64px}
.rlvc .rlvc-kinds .rlvc-addbtn__ic img{width:54px; height:54px}
.rlvc-pk.is-kind .rlvc-pk__tabs,.rlvc-pk.is-kind .rlvc-pk__filters,.rlvc-pk.is-kind [data-pk-move],.rlvc-pk.is-kind [data-pk-remove]{display:none !important}
.rlvc .rlvc-addbtn{position:relative; display:flex; flex-direction:column; align-items:center; gap:3px; padding:8px 4px 7px; border:1px solid var(--rlvc-line); border-radius:10px; background:#fff; color:var(--rlvc-charcoal); font-size:12.5px; font-weight:500}
.rlvc .rlvc-addbtn:hover{border-color:var(--rlvc-bronze); background:var(--rlvc-paper); color:var(--rlvc-charcoal)}
.rlvc .rlvc-addbtn:active{transform:scale(.97)}
.rlvc-addbtn__ic{width:44px; height:44px; border-radius:50%; background:var(--rlvc-ivory); display:flex; align-items:center; justify-content:center; overflow:hidden}
.rlvc .rlvc-addbtn__ic img{width:36px; height:36px; object-fit:contain; margin:0; max-width:none; border:0; box-shadow:none; border-radius:0}
.rlvc-addbtn__t{line-height:1.15; overflow-wrap:anywhere}
.rlvc-addbtn__plus{position:absolute; top:5px; right:6px; width:20px; height:20px; border-radius:50%; background:var(--rlvc-bronze); color:#fff; font-size:15px; line-height:20px; font-weight:600}

/* palco */
.rlvc-app{display:grid; grid-template-columns:minmax(0,1fr); gap:12px; align-items:start}
@container rlvc (min-width:860px){
	.rlvc-app{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:22px}
	.rlvc-stage{position:sticky; top:calc(16px + var(--wp-admin--admin-bar--height, 0px))}
}
.rlvc-stage{display:flex; flex-direction:column; gap:8px; min-width:0}
.rlvc-wall{background:linear-gradient(160deg,#ddd5ca,#c9c0b4); padding:clamp(4px,2.5cqi,24px); border-radius:8px}
.rlvc-canvas{position:relative}
.rlvc-plaque{width:100%; height:auto; display:block; aspect-ratio:1/1; filter:drop-shadow(0 10px 14px rgba(40,30,20,.35))}
.rlvc-hits{position:absolute; inset:0}
.rlvc .rlvc-hit{position:absolute; background:transparent; border:1.5px dashed transparent; border-radius:10px; padding:0}
.rlvc .rlvc-hit:hover,.rlvc .rlvc-hit:focus-visible{background:rgba(255,255,255,.12); border-color:rgba(118,86,56,.7)}
.rlvc .rlvc-hit--slot:hover,.rlvc .rlvc-hit--slot:focus-visible{background:rgba(255,255,255,.25); border-color:transparent}
.rlvc .rlvc-unslot{position:absolute; transform:translate(-70%,-30%); width:22px; height:22px; padding:0; border-radius:50%; border:1px solid var(--rlvc-line); background:#fff; color:var(--rlvc-muted); font-size:15px; line-height:20px; font-weight:600; box-shadow:0 1px 3px rgba(0,0,0,.15)}
.rlvc .rlvc-unslot:hover{background:#fff; color:var(--rlvc-danger); border-color:var(--rlvc-danger)}
.rlvc-start{position:absolute; left:12%; right:12%; top:50%; transform:translateY(-50%); margin:0; background:rgba(255,255,255,.9); border:1px solid var(--rlvc-line); border-radius:8px; padding:12px 14px; text-align:center; font-size:14px; line-height:1.4; color:var(--rlvc-charcoal); pointer-events:none}
.rlvc.is-nosize .rlvc-plaque{opacity:.55}
.rlvc .rlvc-namepill{position:absolute; transform:translate(-50%,-50%); background:rgba(255,255,255,.82); border:1px dashed var(--rlvc-bronze); color:var(--rlvc-bronze-dark); border-radius:999px; padding:2px 8px; font-size:11px; font-weight:600; white-space:nowrap; line-height:1.4}
.rlvc .rlvc-namepill:hover{background:#fff; color:var(--rlvc-bronze-dark)}
.rlvc .rlvc-namepill.is-narrow{padding:1px 5px; font-size:10px}
.rlvc .rlvc-namepill.is-tiny{padding:0; width:18px; height:18px; font-size:12px; line-height:16px}
.rlvc-tap{font-size:12px; color:var(--rlvc-muted); text-align:center}
.rlvc-note{display:flex; gap:10px; align-items:flex-start; background:#f3ece1; border:1px solid var(--rlvc-line); border-left:3px solid var(--rlvc-bronze); padding:9px 12px; border-radius:4px; font-size:12.5px; line-height:1.45}
.rlvc-note svg{flex:none; width:18px; height:18px; margin-top:1px; color:var(--rlvc-bronze-dark)}
.rlvc-count{font-size:13px; font-weight:500; color:var(--rlvc-green); background:#fff; border:1px solid var(--rlvc-line); border-radius:4px; padding:8px 12px}
.rlvc-alert{background:#fbeeea; border:1px solid #e3b9ae; border-left:3px solid var(--rlvc-danger); color:#5a2018; padding:10px 12px; border-radius:4px; font-size:13px}
.rlvc-alert .rlvc-row{margin-top:8px}

.rlvc-panel{display:flex; flex-direction:column; gap:12px; min-width:0}
.rlvc-card{background:#fff; border:1px solid var(--rlvc-line); border-radius:6px; padding:14px; min-width:0}
.rlvc .rlvc-card h4{font-family:var(--rlvc-display); font-weight:400; font-size:17px; line-height:1.3; margin:0 0 10px; color:var(--rlvc-charcoal); text-transform:none; letter-spacing:0}
.rlvc-row{display:flex; gap:6px; flex-wrap:wrap}
.rlvc .rlvc-chip{border:1px solid var(--rlvc-line); background:var(--rlvc-paper); color:var(--rlvc-charcoal); padding:7px 12px; border-radius:999px; font-size:13px}
.rlvc .rlvc-chip:hover{border-color:var(--rlvc-bronze); background:var(--rlvc-paper); color:var(--rlvc-charcoal)}
.rlvc .rlvc-chip.is-on,.rlvc .rlvc-chip.is-on:hover{background:var(--rlvc-green); border-color:var(--rlvc-green); color:var(--rlvc-ivory)}

.rlvc-stones{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px}
@container rlvc (min-width:520px){.rlvc-stones{grid-template-columns:repeat(3,minmax(0,1fr))}}
.rlvc .rlvc-stone{display:flex; align-items:center; gap:8px; padding:6px 8px 6px 6px; border:1px solid var(--rlvc-line); border-radius:8px; background:#fff; color:var(--rlvc-charcoal); text-align:left; font-size:13px}
.rlvc .rlvc-stone:hover{border-color:var(--rlvc-bronze); background:#fff; color:var(--rlvc-charcoal)}
.rlvc .rlvc-stone.is-on,.rlvc .rlvc-stone.is-on:hover{border-color:var(--rlvc-green); box-shadow:inset 0 0 0 1.5px var(--rlvc-green); background:var(--rlvc-paper)}
.rlvc-stone i{flex:none; width:34px; height:34px; border-radius:6px; background:#e9dfd1 center/cover; border:1px solid rgba(0,0,0,.12)}
.rlvc-stone span{display:flex; flex-direction:column; line-height:1.25; min-width:0}
.rlvc-stone small{font-size:11px; color:var(--rlvc-muted)}
.rlvc-sizes{display:flex; gap:6px; flex-wrap:wrap}
.rlvc .rlvc-size{display:inline-flex; align-items:center; gap:7px; padding:6px 10px; border:1px solid var(--rlvc-line); border-radius:8px; background:#fff; color:var(--rlvc-charcoal); font-size:13px; font-variant-numeric:tabular-nums}
.rlvc .rlvc-size:hover{border-color:var(--rlvc-bronze); background:#fff; color:var(--rlvc-charcoal)}
.rlvc .rlvc-size.is-on,.rlvc .rlvc-size.is-on:hover{background:var(--rlvc-green); border-color:var(--rlvc-green); color:var(--rlvc-ivory)}
.rlvc-size i{display:block; border:1.5px solid currentColor; border-radius:2px; opacity:.75}
.rlvc-size i.is-irr{border-radius:3px 2px 2px 3px; clip-path:polygon(7% 0,100% 0,96% 40%,2% 100%,0 60%)}
.rlvc-size small{font-size:11px; opacity:.75; margin-left:-3px}
.rlvc-hint{font-size:12px; color:var(--rlvc-muted); margin:6px 0 0 !important}
.rlvc-fields{display:grid; gap:10px}
.rlvc-fields label{display:grid; gap:4px; font-size:12px; color:var(--rlvc-muted); margin:0; font-weight:400}
.rlvc-lab{font-size:11px; letter-spacing:.12em; text-transform:uppercase; font-weight:600; margin:14px 0 6px; display:block}
.rlvc-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(76px,1fr)); gap:6px}
.rlvc-grid--deco{margin-top:10px; grid-template-columns:repeat(auto-fill,minmax(58px,1fr))}
.rlvc .rlvc-opt{border:1px solid var(--rlvc-line); background:#fff; border-radius:8px; padding:4px; display:flex; align-items:center; justify-content:center; aspect-ratio:1/1.12; color:var(--rlvc-charcoal)}
.rlvc .rlvc-opt:hover{background:#fff; border-color:var(--rlvc-bronze); color:var(--rlvc-charcoal)}
.rlvc .rlvc-opt img,.rlvc .rlvc-opt svg{width:100%; height:100%; max-width:100%; object-fit:contain; display:block; margin:0; border:0; border-radius:0; box-shadow:none}
.rlvc .rlvc-grid--deco .rlvc-opt{aspect-ratio:1}
.rlvc .rlvc-opt.is-on,.rlvc .rlvc-opt.is-on:hover{border-color:var(--rlvc-green); box-shadow:inset 0 0 0 2.5px var(--rlvc-green); background:var(--rlvc-paper)}
.rlvc-empty{padding:16px; color:var(--rlvc-muted); font-size:13px; text-align:center; grid-column:1/-1}
.rlvc-sentinel{height:1px}
.rlvc-toast{position:fixed; left:50%; bottom:calc(20px + env(safe-area-inset-bottom,0px)); transform:translateX(-50%); background:var(--rlvc-green); color:var(--rlvc-ivory); padding:12px 18px; border-radius:6px; font-size:13.5px; box-shadow:0 10px 30px rgba(0,0,0,.25); max-width:calc(100% - 32px); z-index:100001; text-align:center}

/* selettore a schermo intero */
html.rlvc-lock,html.rlvc-lock body{overflow:hidden !important}
.rlvc-pk{position:fixed; inset:0; z-index:100000; background:var(--rlvc-paper); display:flex; flex-direction:column}
.rlvc-pk__stage{flex:none; height:38vh; height:38svh; min-height:190px; background:linear-gradient(160deg,#ddd5ca,#c9c0b4); display:flex; align-items:center; justify-content:center; padding:10px}
.rlvc-pk__wall{width:100%; height:100%; display:flex; align-items:center; justify-content:center}
.rlvc-pk__svg{width:100%; height:100%; display:block; filter:drop-shadow(0 8px 12px rgba(40,30,20,.3))}
.rlvc-pk__mark{fill:none; stroke:#765638; stroke-width:2; stroke-dasharray:6 5; opacity:.85}
.rlvc-pk__panel{flex:1; min-height:0; display:flex; flex-direction:column; background:var(--rlvc-paper)}
.rlvc-pk__head{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 14px 6px}
.rlvc-pk__title{font-family:var(--rlvc-display); font-weight:400; font-size:19px; display:block; line-height:1.2}
.rlvc-pk__tabs{display:flex; gap:4px; padding:0 14px; border-bottom:1px solid var(--rlvc-line)}
.rlvc .rlvc-pk__tabs button{flex:1; border:0; border-bottom:3px solid transparent; border-radius:0; background:none; padding:10px 6px; font-size:14px; font-weight:600; color:var(--rlvc-muted); text-transform:uppercase; letter-spacing:.08em}
.rlvc .rlvc-pk__tabs button:hover{background:none; color:var(--rlvc-charcoal)}
.rlvc .rlvc-pk__tabs button.is-on{border-bottom-color:var(--rlvc-bronze); color:var(--rlvc-charcoal)}
.rlvc-pk__filters{display:flex; gap:6px; padding:10px 14px 4px; overflow-x:auto; scrollbar-width:none; flex:none}
.rlvc-pk__filters:empty{display:none}
.rlvc .rlvc-pk__filters button{flex:none; border:1px solid var(--rlvc-line); border-radius:999px; padding:6px 12px; font-size:13px; background:#fff; color:var(--rlvc-charcoal); white-space:nowrap}
.rlvc .rlvc-pk__filters button:hover{background:#fff; color:var(--rlvc-charcoal); border-color:var(--rlvc-bronze)}
.rlvc .rlvc-pk__filters button.is-on,.rlvc .rlvc-pk__filters button.is-on:hover{background:var(--rlvc-charcoal); border-color:var(--rlvc-charcoal); color:#fff}
.rlvc-pk__body{flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:10px 14px 14px}
.rlvc-pk__body .rlvc-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr)); gap:8px}
.rlvc-pk__body .rlvc-grid--heads{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}
.rlvc-pk__body .rlvc-grid--heads .rlvc-opt{aspect-ratio:1}
.rlvc-pk__name label{display:grid; gap:6px; font-size:13px; font-weight:600}
.rlvc-pk__name small{font-weight:400; color:var(--rlvc-muted)}
.rlvc-pk__foot{display:flex; gap:8px; align-items:center; padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px)); border-top:1px solid var(--rlvc-line); background:#fff}
.rlvc-pk__foot .rlvc-btn{margin-left:auto !important; min-width:120px}
.rlvc .rlvc-btn{border:0; background:var(--rlvc-bronze); color:#fff; padding:11px 20px; border-radius:6px; font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase}
.rlvc .rlvc-btn:hover,.rlvc .rlvc-btn:focus{background:var(--rlvc-bronze-dark); color:#fff}
.rlvc .rlvc-ghost{border:1px solid var(--rlvc-line); background:#fff; color:var(--rlvc-charcoal); padding:9px 12px; border-radius:6px; font-size:13px}
.rlvc .rlvc-ghost:hover{background:var(--rlvc-paper); color:var(--rlvc-charcoal); border-color:var(--rlvc-bronze)}
.rlvc .rlvc-ghost--danger,.rlvc .rlvc-ghost--danger:hover{color:var(--rlvc-danger)}
.rlvc-pk__head .rlvc-btn{display:none}
@media (min-width:900px){
	.rlvc-pk{flex-direction:row}
	.rlvc-pk__stage{flex:1; height:auto; padding:40px}
	.rlvc-pk__panel{flex:none; width:460px; border-left:1px solid var(--rlvc-line)}
	.rlvc-pk__head{padding-top:18px}
}

/* modulo WooCommerce */
.rlvc-hidden-row{display:none !important}
.rlvc-auto-row select{pointer-events:none; background-color:#f4efe7}
.rlvc-auto-note{display:block; font-size:11.5px; color:#6c645c; margin-top:4px}
@container rlvc (max-width:420px){
	.rlvc-card{padding:12px}
	.rlvc .rlvc-addbtn{font-size:12px}
}
/* il tema colora i pulsanti al focus: qui restano neutri */
.rlvc .rlvc-addbtn:focus{background:var(--rlvc-paper); color:var(--rlvc-charcoal); border-color:var(--rlvc-bronze)}
.rlvc .rlvc-unslot:focus{background:#fff; color:var(--rlvc-danger)}
.rlvc .rlvc-namepill:focus{background:#fff; color:var(--rlvc-bronze-dark)}
.rlvc .rlvc-hit:focus{background:rgba(255,255,255,.12)}
