@charset "UTF-8";

/*
@copyright: CAFFEINAPURA Srls Unipersonale - All right reserved
Version: 2026.01 - 2026-06-22 00:00
Author: Roberto Cheli
Pagina: /registra-agriturismo — SCHELETRO (hero, stepper, progress, card, nav).
Gli stili dei singoli step si aggiungono nei turni successivi.
Eredita token, nav, footer, btn, FAQ da base.css
*/

/* ── Hero (stile pillar: immagine sfondo + overlay) ── */
.ra-hero{position:relative;min-height:var(--hero-img-min);max-height:var(--hero-img-max);height:var(--hero-img-h);overflow:hidden;display:flex;background:var(--hero-bg);}
.ra-hero-bg{position:absolute;inset:0;background-image:url('/assets/img/registra-agriturismo.webp');background-size:cover;background-position:center 45%;}
.ra-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(18,24,14,.35) 0%,rgba(18,24,14,.72) 100%);pointer-events:none;}
.ra-hero-content{position:relative;z-index:1;max-width:1180px;width:100%;margin:0 auto;padding:0 var(--gutter) 40px;align-self:flex-end;}
.ra-hero-eye{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.1);color:var(--g200);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.3rem 1rem;border-radius:20px;border:1px solid rgba(255,255,255,.14);margin-bottom:14px;}
h1.ra-hero-h{font-family:var(--ff-d);font-size:clamp(1.9rem,4vw,3rem);font-weight:600;color:#fff;letter-spacing:-.035em;line-height:1.08;margin-bottom:12px;}
h1.ra-hero-h em{font-style:italic;color:var(--g200);}
.ra-hero-sub{font-size:1rem;color:rgba(255,255,255,.6);line-height:1.7;max-width:560px;}
@media(max-width:640px){.ra-hero-content{padding:0 var(--gutter) 28px;}}

/* ── Section + form wrapper ── */
.ra-section{max-width:1180px;margin:0 auto;padding:32px var(--gutter) 80px;}
@media(max-width:640px){.ra-section{padding:24px var(--gutter) 60px;}}
.ra-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}

/* ── Toast errore ── */
.ra-toast{border-radius:var(--r);padding:14px 18px;margin-bottom:20px;font-size:.875rem;display:flex;align-items:center;gap:10px;}
.ra-toast.err{background:var(--r-bg,#fdf0ee);border:1px solid #f0c4c4;border-left:4px solid var(--r400,#c0392b);color:var(--t700);}

/* ── Progress header ── */
.ra-progress{background:var(--white);border:1px solid var(--border);border-radius:var(--r-xl);padding:24px 28px 20px;box-shadow:var(--sh-xs);margin-bottom:24px;}
.ra-prog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:16px;}
.ra-prog-title{font-family:var(--ff-d);font-size:1.1rem;font-weight:600;color:var(--t900);}
.ra-prog-sub{font-size:.82rem;color:var(--t300);margin-top:2px;}
.ra-prog-pct{font-family:var(--ff-d);font-size:1.6rem;font-weight:600;color:var(--g500);line-height:1;flex-shrink:0;}
.ra-track{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:20px;}
.ra-bar{height:100%;background:linear-gradient(90deg,var(--g400),var(--g300));border-radius:3px;transition:width .4s ease;}

/* ── Stepper ── */
.ra-stepper{display:flex;align-items:flex-start;justify-content:space-between;gap:4px;overflow-x:auto;padding-bottom:4px;}
.ra-step{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;flex:1;min-width:60px;padding:4px;border:none;background:none;position:relative;}
.ra-step::after{content:'';position:absolute;top:18px;left:calc(50% + 18px);width:calc(100% - 36px);height:1.5px;background:var(--border);z-index:0;}
.ra-step:last-child::after{display:none;}
.ra-step.done::after{background:var(--g400);}
.ra-step-circle{width:36px;height:36px;border-radius:50%;border:2px solid var(--border);background:var(--white);display:flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--t300);position:relative;z-index:1;transition:all var(--ease-m);}
.ra-step.active .ra-step-circle{border-color:var(--g500);color:var(--g500);box-shadow:0 0 0 4px var(--g50);}
.ra-step.done .ra-step-circle{background:var(--g500);border-color:var(--g500);color:#fff;}
.ra-step-label{font-size:.62rem;font-weight:500;color:var(--t300);text-align:center;line-height:1.3;white-space:nowrap;}
.ra-step.active .ra-step-label{color:var(--g600);font-weight:700;}
.ra-step.done .ra-step-label{color:var(--g500);}
@media(max-width:640px){.ra-step-label{display:none;}.ra-stepper{gap:0;}}

/* ── Card + panels ── */
.ra-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-xs);}
.ra-panels{padding:28px;}
@media(max-width:640px){.ra-panels{padding:18px 16px;}}
.ra-panel-placeholder{padding:48px 20px;text-align:center;color:var(--t300);font-size:.9rem;}
/* ogni step: .ra-panel (nascosto tranne l'attivo) — definito col contenuto step */
.ra-panel{display:none;}
.ra-panel.active{display:block;}

/* ── Navigazione ── */
.ra-nav{display:flex;align-items:center;gap:12px;padding:20px 28px;border-top:1px solid var(--border);background:var(--bg);}
@media(max-width:640px){.ra-nav{padding:16px;}}
.ra-draft{margin-left:auto;font-family:var(--ff-b);font-size:.82rem;font-weight:600;background:none;border:1px solid var(--border);border-radius:var(--r-s);padding:.5rem .9rem;color:var(--t500);cursor:pointer;transition:all var(--ease);display:inline-flex;align-items:center;gap:6px;}
.ra-draft:hover,.ra-draft.saved{background:var(--g50);border-color:var(--g400);color:var(--g600);}
.ra-btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--g500);color:#fff;font-family:var(--ff-b);font-size:.875rem;font-weight:600;padding:.7rem 1.5rem;border-radius:var(--r);border:none;cursor:pointer;transition:background var(--ease);text-decoration:none;}
.ra-btn-primary:hover{background:var(--g600);}
.ra-btn-primary:disabled{opacity:.6;cursor:not-allowed;}
.ra-btn-ghost{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--g600);border:1.5px solid var(--g400);font-family:var(--ff-b);font-size:.875rem;font-weight:600;padding:.7rem 1.4rem;border-radius:var(--r);cursor:pointer;transition:all var(--ease);}
.ra-btn-ghost:hover{background:var(--g50);}

/* ── Stato successo ── */
.ra-success{background:var(--white);border:1px solid var(--border);border-radius:var(--r-xl);padding:56px 32px;text-align:center;box-shadow:var(--sh-xs);}
.ra-success-ic{font-size:3rem;color:var(--g500);margin-bottom:18px;}
.ra-success-t{font-family:var(--ff-d);font-size:1.6rem;font-weight:600;color:var(--t900);margin-bottom:10px;}
.ra-success-p{font-size:.95rem;color:var(--t500);line-height:1.7;max-width:440px;margin:0 auto 24px;}

/* ── Campi form (step) ── */
.ra-panel-head{margin-bottom:24px;}
.ra-step-num{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--g500);margin-bottom:4px;}
.ra-panel-title{font-family:var(--ff-d);font-size:1.35rem;font-weight:600;color:var(--t900);margin-bottom:4px;}
.ra-panel-sub{font-size:.875rem;color:var(--t500);line-height:1.5;}
.ra-field{margin-bottom:18px;}
.ra-label{display:block;font-size:.8rem;font-weight:600;color:var(--t700);margin-bottom:6px;}
.ra-req{color:var(--g500);}
.ra-opt{font-weight:400;color:var(--t300);}
.ra-input,.ra-select,.ra-textarea{width:100%;font-family:var(--ff-b);font-size:.9rem;color:var(--t900);background:var(--white);border:1.5px solid var(--border);border-radius:var(--r);padding:.65rem .85rem;transition:border-color var(--ease),box-shadow var(--ease);appearance:none;}
.ra-input:focus,.ra-select:focus,.ra-textarea:focus{border-color:var(--g400);box-shadow:0 0 0 3px var(--g50);outline:none;}
.ra-input.error,.ra-select.error,.ra-textarea.error{border-color:var(--r400,#c0392b);box-shadow:0 0 0 3px var(--r-bg,#fdf0ee);}
.ra-textarea{resize:vertical;min-height:120px;line-height:1.6;}
.ra-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a9882' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;cursor:pointer;}
.ra-icon-wrap{position:relative;}
.ra-field-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--t300);font-size:.78rem;pointer-events:none;}
.ra-icon-wrap .ra-input{padding-left:2.1rem;}
.ra-field-foot{display:flex;justify-content:space-between;align-items:center;margin-top:5px;gap:12px;}
.ra-hint{font-size:.74rem;color:var(--t300);line-height:1.5;}
.ra-count{font-size:.72rem;color:var(--t300);font-variant-numeric:tabular-nums;flex-shrink:0;}
.ra-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:540px){.ra-row{grid-template-columns:1fr;}}
.ra-divider{display:flex;align-items:center;gap:10px;margin:24px 0 16px;font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--t300);}
.ra-divider::before,.ra-divider::after{content:'';flex:1;height:1px;background:var(--border);}

/* ── Step 2: griglia 3 colonne, maiuscolo, note box ── */
.ra-row-3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;}
@media(max-width:540px){.ra-row-3{grid-template-columns:1fr;}}
.ra-upper{text-transform:uppercase;}
.ra-note-box{display:flex;align-items:flex-start;gap:10px;background:var(--g50);border:1px solid var(--g100);border-radius:var(--r);padding:12px 14px;margin-top:6px;}
.ra-note-box i{color:var(--g500);font-size:.85rem;margin-top:2px;flex-shrink:0;}
.ra-note-box span{font-size:.78rem;color:var(--t500);line-height:1.55;}

/* ── Step 3: pill-checkbox (tipologie alloggio) ── */
.ra-pills{display:flex;flex-wrap:wrap;gap:8px;}
.ra-pill{cursor:pointer;}
.ra-pill input{position:absolute;opacity:0;width:0;height:0;}
.ra-pill-inner{display:inline-block;font-size:.82rem;font-weight:500;color:var(--t500);background:var(--bg);border:1.5px solid var(--border);border-radius:20px;padding:.45rem 1rem;transition:all var(--ease);user-select:none;}
.ra-pill input:checked + .ra-pill-inner{background:var(--g500);border-color:var(--g500);color:#fff;font-weight:600;}
.ra-pill input:focus-visible + .ra-pill-inner{outline:2px solid var(--g400);outline-offset:2px;}
.ra-pill-inner:hover{border-color:var(--g300);color:var(--g700);}
.ra-pill input:checked + .ra-pill-inner:hover{color:#fff;}

/* ── Step 4: contatore + griglia servizi ── */
.ra-srv-counter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap;}
.ra-srv-lbl{font-size:.82rem;color:var(--t500);}
.ra-srv-num{font-weight:700;color:var(--g600);}
.ra-srv-actions{display:flex;align-items:center;gap:8px;}
.ra-srv-act{font-family:var(--ff-b);font-size:.78rem;font-weight:600;color:var(--g600);background:none;border:none;cursor:pointer;padding:0;}
.ra-srv-act:hover{text-decoration:underline;}
.ra-srv-sep{color:var(--border-2);}
.ra-srv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
@media(max-width:760px){.ra-srv-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:520px){.ra-srv-grid{grid-template-columns:repeat(2,1fr);}}
.ra-srv-card{cursor:pointer;}
.ra-srv-card input{position:absolute;opacity:0;width:0;height:0;}
.ra-srv-inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:16px 10px;background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-l);transition:all var(--ease);height:100%;}
.ra-srv-inner:hover{border-color:var(--g300);}
.ra-srv-ic{width:38px;height:38px;border-radius:50%;background:var(--g50);color:var(--g500);display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:all var(--ease);}
.ra-srv-name{font-size:.76rem;font-weight:500;color:var(--t700);line-height:1.3;}
.ra-srv-check{position:absolute;top:8px;right:8px;width:18px;height:18px;border-radius:50%;background:var(--g500);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.55rem;opacity:0;transform:scale(.5);transition:all var(--ease);}
.ra-srv-card input:checked + .ra-srv-inner{border-color:var(--g500);background:var(--g50);}
.ra-srv-card input:checked + .ra-srv-inner .ra-srv-ic{background:var(--g500);color:#fff;}
.ra-srv-card input:checked + .ra-srv-inner .ra-srv-check{opacity:1;transform:scale(1);}
.ra-srv-card input:focus-visible + .ra-srv-inner{outline:2px solid var(--g400);outline-offset:2px;}

/* ── Step 5: eco-score ── */
.ra-eco{display:grid;grid-template-columns:160px 1fr;gap:28px;align-items:start;}
@media(max-width:600px){.ra-eco{grid-template-columns:1fr;gap:20px;}.ra-eco-ring-wrap{margin:0 auto;}}
.ra-eco-ring-wrap{position:relative;width:160px;text-align:center;position:sticky;top:88px;}
.ra-eco-ring{display:block;margin:0 auto;}
.ra-eco-bg{fill:none;stroke:var(--border);stroke-width:9;}
.ra-eco-fill{fill:none;stroke:var(--g500);stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset .5s ease,stroke .3s ease;}
.ra-eco-center{position:absolute;top:60px;left:0;right:0;transform:translateY(-50%);display:flex;flex-direction:column;}
.ra-eco-num{font-family:var(--ff-d);font-size:1.8rem;font-weight:700;color:var(--t900);line-height:1;}
.ra-eco-tot{font-size:.7rem;color:var(--t300);margin-top:2px;}
.ra-eco-badge{margin-top:14px;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:.3rem .8rem;border-radius:20px;background:var(--surface);color:var(--t500);display:inline-block;transition:all var(--ease);}
.ra-eco-badge.bronze{background:#f3e3d0;color:#9a6a3a;}
.ra-eco-badge.silver{background:#e6e8eb;color:#6b7280;}
.ra-eco-badge.gold{background:#f7ecc8;color:#9a7d28;}
.ra-eco-list{display:flex;flex-direction:column;gap:8px;}
.ra-eco-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--white);border:1.5px solid var(--border);border-radius:var(--r);cursor:pointer;transition:all var(--ease);}
.ra-eco-item:hover{border-color:var(--g300);}
.ra-eco-chk{position:absolute;opacity:0;width:0;height:0;}
.ra-eco-info{flex:1;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.ra-eco-name{font-size:.85rem;color:var(--t700);font-weight:500;}
.ra-eco-pts{font-size:.72rem;font-weight:700;color:var(--g500);flex-shrink:0;}
.ra-eco-tick{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.6rem;color:transparent;flex-shrink:0;transition:all var(--ease);}
.ra-eco-chk:checked ~ .ra-eco-info .ra-eco-name{color:var(--g700);font-weight:600;}
.ra-eco-item:has(.ra-eco-chk:checked){border-color:var(--g500);background:var(--g50);}
.ra-eco-item:has(.ra-eco-chk:checked) .ra-eco-tick{background:var(--g500);border-color:var(--g500);color:#fff;}
.ra-eco-chk:focus-visible ~ .ra-eco-info{outline:2px solid var(--g400);outline-offset:3px;border-radius:var(--r-s);}

/* ── Step 6: dropzone + griglia foto ── */
.ra-dropzone{position:relative;border:2px dashed var(--border-2);border-radius:var(--r-l);padding:40px 24px;text-align:center;background:var(--bg);transition:all var(--ease);cursor:pointer;}
.ra-dropzone:hover,.ra-dropzone.drag{border-color:var(--g400);background:var(--g50);}
.ra-dropzone input[type="file"]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;}
.ra-dropzone-ic{font-size:2rem;color:var(--g400);margin-bottom:12px;}
.ra-dropzone-t{font-family:var(--ff-d);font-size:1rem;font-weight:600;color:var(--t700);margin-bottom:4px;}
.ra-dropzone-sub{font-size:.76rem;color:var(--t300);}
.ra-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px;}
@media(max-width:600px){.ra-photo-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:400px){.ra-photo-grid{grid-template-columns:repeat(2,1fr);}}
.ra-photo{position:relative;aspect-ratio:1;border-radius:var(--r);overflow:hidden;border:1px solid var(--border);background:var(--surface);}
.ra-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.ra-photo-cover{position:absolute;top:6px;left:6px;background:var(--g500);color:#fff;font-size:.6rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.18rem .5rem;border-radius:20px;}
.ra-photo-del{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;background:rgba(18,24,14,.6);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.7rem;transition:background var(--ease);}
.ra-photo-del:hover{background:var(--r400,#c0392b);}

/* ── Step 7: prezzi stagionali + consenso ── */
.ra-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:560px){.ra-price-grid{grid-template-columns:1fr;}}
.ra-price-card{border:1px solid var(--border);border-radius:var(--r-l);padding:16px 18px;background:var(--white);}
.ra-price-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.ra-price-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;}
.ra-price-name{font-family:var(--ff-d);font-size:.95rem;font-weight:600;color:var(--t900);}
.ra-price-note{font-size:.7rem;color:var(--t300);}
.ra-price-range{display:flex;align-items:center;gap:6px;}
.ra-price-range .ra-input{padding:.5rem .6rem;text-align:center;}
.ra-price-cur{color:var(--t500);font-size:.85rem;}
.ra-price-sep{color:var(--t300);}
.ra-consent{display:flex;align-items:flex-start;gap:12px;background:var(--g50);border:1px solid var(--g100);border-radius:var(--r-l);padding:16px 18px;}
.ra-consent-chk{margin-top:3px;width:18px;height:18px;flex-shrink:0;accent-color:var(--g500);cursor:pointer;}
.ra-consent-lbl{font-size:.82rem;color:var(--t700);line-height:1.6;cursor:pointer;}
.ra-consent-lbl a{color:var(--g600);text-decoration:underline;text-underline-offset:2px;}
.ra-consent.error{border-color:var(--r400,#c0392b);background:var(--r-bg,#fdf0ee);}
