/* =================================================================
   DishFlow — registrailtuolocale.css
   Landing conversione pura stile Shopify
   Nessun prezzo visibile · Email-gate · Zero font esterni
   ================================================================= */

:root {
    --bg:     #07090f;
    --bg2:    #0b0e18;
    --card:   #0d1120;
    --gold:   #c9a84c;
    --goldh:  #e8c96a;
    --white:  #ffffff;
    --gray:   #8892a4;
    --gray2:  #4a5568;
    --green:  #22c55e;
    --blue:   #3b82f6;
    --border: rgba(201,168,76,.15);
    --brd2:   rgba(255,255,255,.07);
    --serif:  'Georgia','Times New Roman',serif;
    --sans:   -apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
    --ease:   cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:var(--sans); background:var(--bg); color:var(--white); overflow-x:hidden; }
a { text-decoration:none; color:inherit; }
button { cursor:pointer; font-family:inherit; border:none; background:none; }
img { display:block; }
p { line-height:1.75; }

/* ── NOISE ───────────────────────────────────────────────────── */
.noise {
    position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.022;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    background-size:160px;
}

/* ── AMBIENT ORBS ────────────────────────────────────────────── */
.ambient { position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.orb { position:absolute; border-radius:50%; filter:blur(120px); }
.o1 { width:700px; height:700px; top:-200px; right:-150px; background:radial-gradient(circle,rgba(201,168,76,.07) 0%,transparent 70%); animation:orbD 14s ease-in-out infinite; }
.o2 { width:500px; height:500px; bottom:5vh; left:-80px; background:radial-gradient(circle,rgba(201,168,76,.05) 0%,transparent 70%); animation:orbD 11s ease-in-out 5s infinite reverse; }
.o3 { width:350px; height:350px; top:35vh; left:35%; background:radial-gradient(circle,rgba(59,130,246,.04) 0%,transparent 70%); animation:orbD 9s ease-in-out 2s infinite; }
@keyframes orbD { 0%,100%{transform:translate(0,0)} 50%{transform:translate(25px,-20px)} }

/* ── REVEAL ──────────────────────────────────────────────────── */
.reveal {
    opacity:0; transform:translateY(26px);
    transition:opacity .75s var(--ease), transform .75s var(--ease);
    animation:revFallback 0s 2.5s forwards;
}
.reveal.visible { opacity:1; transform:translateY(0); animation:none; }
@keyframes revFallback { to { opacity:1; transform:translateY(0); } }

/* ── LAYOUT ──────────────────────────────────────────────────── */
.sc { max-width:1200px; margin:0 auto; padding:0 48px; }

.section-tag {
    display:inline-flex; align-items:center; gap:10px;
    font-size:.67rem; font-weight:700; color:var(--gold);
    text-transform:uppercase; letter-spacing:2.5px;
}
.section-tag::before,.section-tag::after { content:''; width:20px; height:1px; background:var(--gold); opacity:.5; }
.section-title { font-family:var(--serif); font-size:clamp(1.9rem,3vw,2.6rem); font-weight:400; line-height:1.15; }
.section-title em { font-style:italic; color:var(--gold); }

/* ── NAVBAR ──────────────────────────────────────────────────── */
.nav {
    position:sticky; top:0; z-index:100;
    display:flex; align-items:center; justify-content:space-between;
    padding:0 48px; height:68px;
    transition:background .4s, border-color .4s;
}
.nav.scrolled {
    background:rgba(7,9,15,.93);
    border-bottom:1px solid var(--border);
    backdrop-filter:blur(20px);
}
.nav-logo { display:flex; align-items:center; }
.nav-logo img { height:32px; object-fit:contain; }
.nav-logo-txt { font-family:var(--serif); font-size:1.3rem; font-weight:700; }
.nav-logo-txt em { font-style:italic; color:var(--gold); }

.nav-right { display:flex; align-items:center; gap:16px; }
.nav-link-ghost { font-size:.82rem; color:var(--gray); transition:color .2s; }
.nav-link-ghost:hover { color:var(--white); }
.nav-back {
    font-size:.82rem; font-weight:600; color:var(--gold);
    border:1px solid var(--border); border-radius:50px; padding:7px 18px;
    transition:all .2s ease;
}
.nav-back:hover { background:rgba(201,168,76,.08); transform:translateY(-1px); }

/* ── HERO ────────────────────────────────────────────────────── */
.hero {
    position:relative; overflow:hidden;
    min-height:calc(100vh - 68px);
    display:flex; align-items:center;
}
.hero-grid { position:absolute; inset:0; pointer-events:none; }
.hg { position:absolute; background:rgba(201,168,76,.05); }
.hg-v1 { width:1px; top:0; bottom:0; left:50%; }
.hg-v2 { width:1px; top:0; bottom:0; right:22%; }
.hg-h1 { height:1px; left:0; right:0; bottom:0; }

.hero-inner {
    position:relative; z-index:2;
    max-width:1200px; margin:0 auto; padding:80px 48px;
    width:100%; display:grid; grid-template-columns:1fr 1fr;
    gap:72px; align-items:center;
}

/* Copy */
.hero-tag {
    display:inline-flex; align-items:center; gap:8px;
    background:rgba(201,168,76,.08); border:1px solid rgba(201,168,76,.25);
    border-radius:50px; padding:6px 16px;
    font-size:.68rem; font-weight:700; color:var(--gold);
    text-transform:uppercase; letter-spacing:2px; margin-bottom:28px;
}
.tag-dot { width:6px; height:6px; border-radius:50%; background:var(--gold); animation:blink 2s ease-in-out infinite; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:.2} }

.hero-title {
    font-family:var(--serif);
    font-size:clamp(3rem,5vw,4.8rem);
    font-weight:400; line-height:1.05;
    letter-spacing:-.02em; margin-bottom:22px;
}
.ht { display:block; }
.ht-gold { color:var(--gold); }
.ht-gold em { font-style:italic; }

.hero-desc {
    font-size:.98rem; color:rgba(255,255,255,.55);
    font-weight:300; line-height:1.85;
    margin-bottom:32px; max-width:420px;
}

.trust-pills { display:flex; flex-direction:column; gap:10px; }
.tpill {
    display:inline-flex; align-items:center; gap:9px;
    font-size:.82rem; color:rgba(255,255,255,.6);
}
.tpill svg { width:15px; height:15px; stroke:var(--green); flex-shrink:0; }

/* Form card */
.hero-form-wrap { display:flex; flex-direction:column; gap:16px; }

.form-card {
    background:rgba(13,16,32,.90);
    border:1px solid rgba(255,255,255,.09);
    border-radius:24px; padding:40px;
    backdrop-filter:blur(28px);
    box-shadow:0 32px 80px rgba(0,0,0,.6), 0 0 0 1px rgba(201,168,76,.06);
    position:relative; overflow:hidden;
}
.form-card::before {
    content:''; position:absolute; top:0; left:10%; right:10%; height:1px;
    background:linear-gradient(90deg,transparent,rgba(201,168,76,.55),transparent);
}

/* Step animation */
.fc-step { animation:stepIn .45s var(--ease) both; }
@keyframes stepIn { from{opacity:0;transform:translateX(18px)} to{opacity:1;transform:translateX(0)} }

.fc-head { margin-bottom:28px; }
.fc-eyebrow {
    font-size:.67rem; font-weight:700; color:var(--gold);
    text-transform:uppercase; letter-spacing:2.5px;
    display:flex; align-items:center; gap:8px; margin-bottom:8px;
}
.fc-eyebrow::before { content:''; width:14px; height:1px; background:var(--gold); opacity:.6; }
.fc-title { font-family:var(--serif); font-size:1.9rem; font-weight:600; line-height:1.15; margin-bottom:5px; }
.fc-title em { font-style:italic; color:var(--gold); }
.fc-sub { font-size:.82rem; color:var(--gray); font-weight:300; }

/* Email confirm badge */
.fc-email-confirm {
    display:inline-flex; align-items:center; gap:7px;
    background:rgba(34,197,94,.10); border:1px solid rgba(34,197,94,.25);
    border-radius:50px; padding:5px 12px;
    font-size:.74rem; font-weight:600; color:var(--green);
    margin-bottom:14px;
}
.fc-email-confirm svg { width:13px; height:13px; stroke:var(--green); }

/* Fields */
.fc-field { display:flex; flex-direction:column; gap:7px; margin-bottom:16px; }
.fc-label { font-size:.72rem; font-weight:600; color:rgba(255,255,255,.5); letter-spacing:.3px; }

.fc-input-wrap { position:relative; display:flex; align-items:center; }
.fc-input-wrap svg {
    position:absolute; left:14px; width:15px; height:15px;
    stroke:rgba(255,255,255,.22); pointer-events:none; transition:stroke .2s;
}
.fc-input {
    width:100%; background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.09); border-radius:12px;
    padding:13px 14px 13px 42px;
    color:var(--white); font-size:.90rem; font-family:var(--sans);
    outline:none; transition:border-color .25s, background .25s, box-shadow .25s;
}
.fc-input::placeholder { color:rgba(255,255,255,.22); }
.fc-input:focus { border-color:rgba(201,168,76,.5); background:rgba(255,255,255,.08); box-shadow:0 0 0 3px rgba(201,168,76,.09); }
.fc-input-wrap:focus-within svg { stroke:rgba(201,168,76,.65); }
.fc-input.error { border-color:rgba(239,68,68,.5); }

/* Select */
.fc-select-wrap { position:relative; display:flex; align-items:center; }
.fc-select-wrap > svg:first-child {
    position:absolute; left:14px; width:15px; height:15px;
    stroke:rgba(255,255,255,.22); pointer-events:none; z-index:1;
}
.select-arrow { position:absolute; right:12px; width:15px; height:15px; stroke:rgba(255,255,255,.3); pointer-events:none; }
.fc-select {
    width:100%; background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.09); border-radius:12px;
    padding:13px 40px 13px 42px;
    color:var(--white); font-size:.90rem; font-family:var(--sans);
    outline:none; appearance:none; cursor:pointer;
    transition:border-color .25s, background .25s;
}
.fc-select:focus { border-color:rgba(201,168,76,.5); background:rgba(255,255,255,.08); }
.fc-select option { background:#0d1120; color:var(--white); }

.fc-err { font-size:.70rem; color:#fc8181; min-height:14px; }

/* Bottoni form */
.fc-btn {
    display:flex; align-items:center; justify-content:center; gap:8px;
    width:100%; padding:15px;
    background:linear-gradient(135deg,#e8c96a 0%,#b8900a 100%);
    color:#07090f; border-radius:13px;
    font-size:.94rem; font-weight:800; letter-spacing:.2px;
    box-shadow:0 6px 22px rgba(201,168,76,.25);
    transition:all .25s var(--ease); position:relative; overflow:hidden;
}
.fc-btn::after {
    content:''; position:absolute; top:0; left:-100%; width:50%; height:100%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);
    transition:left .5s ease;
}
.fc-btn:hover { transform:translateY(-2px); box-shadow:0 12px 30px rgba(201,168,76,.35); }
.fc-btn:hover::after { left:150%; }
.fc-btn:active { transform:scale(.98); }
.fc-btn.flex1 { flex:1; }

.fc-btns { display:flex; gap:10px; align-items:stretch; }
.fc-btn-back {
    display:flex; align-items:center; gap:6px;
    padding:15px 18px; border-radius:13px;
    border:1px solid var(--brd2); color:var(--gray);
    font-size:.86rem; font-weight:600;
    transition:all .2s ease; flex-shrink:0;
}
.fc-btn-back:hover { border-color:rgba(255,255,255,.18); color:var(--white); }

/* Loader */
.fc-loader { display:flex; align-items:center; gap:5px; }
.fc-loader span {
    width:6px; height:6px; border-radius:50%; background:#07090f;
    animation:ldot .8s ease-in-out infinite;
}
.fc-loader span:nth-child(2) { animation-delay:.15s; }
.fc-loader span:nth-child(3) { animation-delay:.3s; }
@keyframes ldot { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-5px)} }

.fc-note { font-size:.70rem; color:rgba(255,255,255,.22); text-align:center; margin-top:14px; }
.fc-note a { color:rgba(255,255,255,.38); text-decoration:underline; text-underline-offset:2px; }

/* Social proof */
.sp-row { display:flex; align-items:center; gap:12px; padding-left:4px; }
.sp-avs { display:flex; }
.sp-av {
    width:32px; height:32px; border-radius:50%;
    border:2px solid var(--bg); flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
    font-size:.62rem; font-weight:800; color:rgba(255,255,255,.9);
    margin-left:-8px;
}
.sp-av:first-child { margin-left:0; }
.sp-row p { font-size:.78rem; color:var(--gray); }
.sp-row strong { color:var(--white); }

/* ── FEATURES ────────────────────────────────────────────────── */
.features-section {
    padding:80px 0;
    border-top:1px solid var(--brd2);
    border-bottom:1px solid var(--brd2);
}
.feat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.feat-item {
    display:flex; gap:20px; align-items:flex-start;
    background:var(--card); border:1px solid var(--brd2);
    border-radius:18px; padding:28px 24px;
    transition:border-color .3s, transform .3s var(--ease);
}
.feat-item:hover { border-color:rgba(201,168,76,.28); transform:translateY(-4px); }
.fi-icon {
    width:46px; height:46px; border-radius:13px; flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
}
.fi-icon svg { width:22px; height:22px; }
.fi-gold   { background:rgba(201,168,76,.10); border:1px solid var(--border); }
.fi-gold svg { stroke:var(--gold); }
.fi-green  { background:rgba(37,211,102,.10); border:1px solid rgba(37,211,102,.2); }
.fi-green svg { fill:#25d366; width:20px; height:20px; }
.fi-blue   { background:rgba(59,130,246,.10); border:1px solid rgba(59,130,246,.2); }
.fi-blue svg { stroke:var(--blue); }
.feat-item h3 { font-family:var(--serif); font-size:.98rem; font-weight:600; margin-bottom:7px; }
.feat-item p  { font-size:.80rem; color:var(--gray); line-height:1.75; }

/* ── TESTIMONIANZE ───────────────────────────────────────────── */
.testi-section { padding:80px 0; }
.testi-header { text-align:center; font-size:.68rem; font-weight:700; color:var(--gold); text-transform:uppercase; letter-spacing:2px; margin-bottom:36px; }
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.testi-card {
    background:var(--card); border:1px solid var(--brd2);
    border-radius:18px; padding:26px;
    display:flex; flex-direction:column; gap:14px;
    transition:border-color .3s, transform .3s var(--ease);
}
.testi-card:hover { border-color:rgba(201,168,76,.25); transform:translateY(-4px); }
.testi-stars { color:var(--gold); letter-spacing:2px; }
.testi-card p { font-size:.83rem; color:var(--gray); line-height:1.8; font-style:italic; flex:1; }
.testi-author { display:flex; align-items:center; gap:11px; }
.tav {
    width:36px; height:36px; border-radius:50%; flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
    font-size:.66rem; font-weight:800; color:#07090f;
}
.tav-1 { background:linear-gradient(135deg,#e8b86d,#c9703a); }
.tav-2 { background:linear-gradient(135deg,#6d9de8,#3a5ec9); }
.tav-3 { background:linear-gradient(135deg,#9de86d,#5ac93a); }
.testi-author div:last-child { display:flex; flex-direction:column; gap:2px; }
.testi-author strong { font-size:.84rem; }
.testi-author span   { font-size:.71rem; color:var(--gray); }

/* ── FAQ ─────────────────────────────────────────────────────── */
.faq-section { padding:80px 0; border-top:1px solid var(--brd2); }
.faq-list { max-width:720px; margin:0 auto; }
.faq-item { border-bottom:1px solid var(--brd2); }
.faq-q {
    width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px;
    padding:20px 0; font-size:.90rem; font-weight:600; color:var(--white);
    text-align:left; transition:color .2s;
}
.faq-q svg { width:17px; height:17px; flex-shrink:0; stroke:var(--gray); transition:transform .3s var(--ease), stroke .2s; }
.faq-q:hover { color:var(--gold); }
.faq-q:hover svg { stroke:var(--gold); }
.faq-q.open { color:var(--gold); }
.faq-q.open svg { transform:rotate(180deg); stroke:var(--gold); }
.faq-a {
    display:none; padding:0 0 20px;
    font-size:.85rem; color:var(--gray); line-height:1.8;
}
.faq-a.open { display:block; animation:fadeA .3s ease; }
@keyframes fadeA { from{opacity:0;transform:translateY(-5px)} to{opacity:1;transform:translateY(0)} }

/* ── FOOTER ──────────────────────────────────────────────────── */
.footer { background:#040608; border-top:1px solid var(--brd2); padding:52px 0 0; }
.footer-inner {
    max-width:1200px; margin:0 auto; padding:0 48px 40px;
    display:grid; grid-template-columns:1.8fr 1fr 1fr 1fr;
    gap:48px; border-bottom:1px solid var(--brd2);
}
.footer-logo { height:30px; object-fit:contain; margin-bottom:10px; }
.footer-logo-txt { font-family:var(--serif); font-size:1.2rem; font-weight:700; display:block; margin-bottom:10px; }
.footer-logo-txt em { font-style:italic; color:var(--gold); }
.footer-brand p { font-size:.80rem; color:var(--gray); }
.footer-col h4 { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--white); margin-bottom:14px; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
.footer-col a { font-size:.82rem; color:var(--gray); transition:color .2s; }
.footer-col a:hover { color:var(--gold); }
.footer-bottom { max-width:1200px; margin:0 auto; padding:16px 48px; text-align:center; font-size:.70rem; color:var(--gray2); }

/* ── RESPONSIVE ──────────────────────────────────────────────── */
@media(max-width:960px) {
    .hero-inner { grid-template-columns:1fr; gap:48px; padding:60px 24px; }
    .hero-copy { text-align:center; }
    .hero-desc { margin:0 auto 32px; }
    .trust-pills { align-items:center; }
    .feat-grid { grid-template-columns:1fr; }
    .testi-grid { grid-template-columns:1fr 1fr; }
    .footer-inner { grid-template-columns:1fr 1fr; padding:0 24px 32px; }
    .sc { padding:0 24px; }
    .nav { padding:0 24px; }
}
@media(max-width:600px) {
    .nav-link-ghost { display:none; }
    .testi-grid { grid-template-columns:1fr; }
    .hero-title { font-size:clamp(2.4rem,8vw,3.5rem); }
    .footer-inner { grid-template-columns:1fr; }
    .form-card { padding:28px 20px; }
}