/* Kliveer sito vetrina — parte 2 di 2: mockup, sezioni, pagine, responsive. Va caricata DOPO kv-site-1.css */
/* mockup: ticket / chat */
.kv-ticket { display: grid; grid-template-columns: 150px 1fr; gap: 12px; }
.kv-tlist { display: flex; flex-direction: column; gap: 6px; }
.kv-tlist div { border: 1px solid var(--kv-line); border-radius: 10px; padding: 8px 9px; }
.kv-tlist div.is-active { border-color: var(--kv-teal); background: var(--kv-teal-l); }
.kv-tlist b { display: block; font-size: 10.5px; color: var(--kv-navy); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kv-tlist small { font-size: 9.5px; color: var(--kv-muted); }
.kv-conv { background: var(--kv-soft); border-radius: 12px; padding: 12px; display: flex; flex-direction: column; gap: 9px; min-height: 270px; }
.kv-conv__h { display: flex; justify-content: space-between; align-items: center; font-size: 11px; color: var(--kv-navy); font-weight: 600; }
.kv-msg { max-width: 82%; padding: 8px 11px; border-radius: 12px; font-size: 11px; line-height: 1.45; background: #fff; box-shadow: 0 1px 2px rgba(29, 33, 70, .07); opacity: 0; }
.kv-msg small { display: block; font-size: 9.5px; color: var(--kv-muted); margin-top: 3px; }
.kv-msg--me { align-self: flex-end; background: var(--kv-teal); color: #fff; }
.kv-msg--me small { color: rgba(255, 255, 255, .75); }
.kv-msg--note { align-self: center; background: #fff5e1; color: #8a5a00; font-size: 10px; box-shadow: none; }
.kv-msg--1 { animation: kv-m1 12s infinite; }
.kv-msg--2 { animation: kv-m2 12s infinite; }
.kv-msg--3 { animation: kv-m3 12s infinite; }
.kv-msg--4 { animation: kv-m4 12s infinite; }
@keyframes kv-m1 { 0%, 4% { opacity: 0; transform: translateY(8px); } 8%, 94% { opacity: 1; transform: none; } 100% { opacity: 0; } }
@keyframes kv-m2 { 0%, 22% { opacity: 0; transform: translateY(8px); } 26%, 94% { opacity: 1; transform: none; } 100% { opacity: 0; } }
@keyframes kv-m3 { 0%, 42% { opacity: 0; transform: translateY(8px); } 46%, 94% { opacity: 1; transform: none; } 100% { opacity: 0; } }
@keyframes kv-m4 { 0%, 62% { opacity: 0; transform: translateY(8px); } 66%, 94% { opacity: 1; transform: none; } 100% { opacity: 0; } }
.kv-typing { display: inline-flex; gap: 3px; padding: 9px 11px; background: #fff; border-radius: 12px; align-self: flex-start; animation: kv-typing-v 12s infinite; }
.kv-typing i { width: 5px; height: 5px; border-radius: 50%; background: #aab0cc; animation: kv-typing 1s infinite; }
.kv-typing i:nth-child(2) { animation-delay: .15s; }
.kv-typing i:nth-child(3) { animation-delay: .3s; }
@keyframes kv-typing { 0%, 60%, 100% { transform: none; } 30% { transform: translateY(-3px); } }
@keyframes kv-typing-v { 0%, 10% { opacity: 0; } 12%, 22% { opacity: 1; } 24%, 100% { opacity: 0; height: 0; padding: 0; } }
.kv-status { animation: kv-status 12s infinite; }
@keyframes kv-status { 0%, 70% { background: #fff5e1; color: #b97806; } 74%, 96% { background: #e5f7f0; color: #0f9466; } }
.kv-status::after { content: "In lavorazione"; animation: kv-status-t 12s infinite; }
@keyframes kv-status-t { 0%, 70% { content: "In lavorazione"; } 74%, 100% { content: "Risolto"; } }

/* mockup: sala / POS */
.kv-floor { display: grid; grid-template-columns: 1.3fr 1fr; gap: 12px; }
.kv-tables { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; background: var(--kv-soft); border-radius: 12px; padding: 12px; }
.kv-table-t { aspect-ratio: 1; border-radius: 12px; background: #fff; border: 2px solid #d9f0e6; display: grid; place-items: center; font-weight: 700; color: var(--kv-navy); font-size: 12px; position: relative; }
.kv-table-t.is-busy { border-color: var(--kv-teal); background: var(--kv-teal-l); }
.kv-table-t.is-bill { border-color: var(--kv-amber); background: #fff5e1; }
.kv-table-t.is-live { animation: kv-tbl 9s infinite; }
@keyframes kv-tbl { 0%, 30% { border-color: #d9f0e6; background: #fff; } 34%, 66% { border-color: var(--kv-teal); background: var(--kv-teal-l); } 70%, 100% { border-color: var(--kv-amber); background: #fff5e1; } }
.kv-table-t.is-round { border-radius: 50%; }
.kv-legend { display: flex; gap: 10px; margin-top: 8px; font-size: 10px; color: var(--kv-muted); }
.kv-legend span::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 3px; margin-right: 4px; background: var(--c); }
.kv-printer { position: relative; }
.kv-printer__top { height: 26px; border-radius: 10px 10px 4px 4px; background: var(--kv-navy); position: relative; z-index: 2; }
.kv-printer__top::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 6px; height: 3px; border-radius: 3px; background: #0b0e2a; }
.kv-receipt {
    margin: -6px 18px 0; background: #fff; border: 1px solid var(--kv-line); border-top: 0; padding: 14px 12px 16px; font-family: "Courier New", monospace;
    font-size: 10.5px; color: var(--kv-ink); line-height: 1.6; transform-origin: top; animation: kv-print 9s infinite;
    -webkit-mask-image: linear-gradient(#000 92%, transparent); mask-image: linear-gradient(#000 92%, transparent);
}
.kv-receipt b { display: block; text-align: center; font-family: "Poppins", sans-serif; font-size: 11px; margin-bottom: 6px; letter-spacing: .08em; }
.kv-receipt div { display: flex; justify-content: space-between; }
@keyframes kv-print { 0%, 34% { clip-path: inset(0 0 100% 0); } 60%, 94% { clip-path: inset(0 0 0 0); } 100% { clip-path: inset(0 0 100% 0); } }

/* mockup: progetti / team */
.kv-tasks { display: flex; flex-direction: column; gap: 8px; }
.kv-task { display: grid; grid-template-columns: 22px 1fr auto auto; gap: 10px; align-items: center; border: 1px solid var(--kv-line); border-radius: 10px; padding: 9px 10px; }
.kv-task b { font-size: 11.5px; color: var(--kv-navy); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kv-cb { width: 18px; height: 18px; border-radius: 6px; border: 2px solid #cfd4e4; display: grid; place-items: center; color: #fff; }
.kv-cb .kv-i { width: 12px; height: 12px; stroke-width: 3; }
.kv-cb.is-done { background: var(--kv-green); border-color: var(--kv-green); }
.kv-cb.is-live { animation: kv-cb 8s infinite; }
.kv-cb.is-live .kv-i { animation: kv-cbi 8s infinite; }
@keyframes kv-cb { 0%, 45% { background: #fff; border-color: #cfd4e4; } 50%, 95% { background: var(--kv-green); border-color: var(--kv-green); } }
@keyframes kv-cbi { 0%, 45% { opacity: 0; } 50%, 95% { opacity: 1; } }
.kv-av { display: flex; }
.kv-av span { width: 22px; height: 22px; border-radius: 50%; border: 2px solid #fff; margin-left: -6px; background: var(--c); color: #fff; font-size: 9px; font-weight: 700; display: grid; place-items: center; }
.kv-prog { width: 70px; height: 5px; border-radius: 5px; background: var(--kv-line); overflow: hidden; }
.kv-prog span { display: block; height: 100%; width: var(--w); background: var(--kv-teal); border-radius: 5px; }
.kv-prog.is-live span { animation: kv-progw 8s infinite; }
@keyframes kv-progw { 0%, 45% { width: 60%; } 55%, 95% { width: 100%; background: var(--kv-green); } }
.kv-week { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-bottom: 12px; }
.kv-week div { background: var(--kv-soft); border-radius: 8px; padding: 6px; min-height: 70px; font-size: 9.5px; color: var(--kv-muted); }
.kv-week span { display: block; margin-top: 5px; border-radius: 5px; padding: 3px 5px; color: #fff; font-size: 9px; font-weight: 600; background: var(--c); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* mockup: AI bandi */
.kv-ai { display: grid; grid-template-columns: 130px 1fr; gap: 14px; align-items: center; }
.kv-ring { position: relative; width: 120px; height: 120px; }
.kv-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.kv-ring circle { fill: none; stroke-width: 10; }
.kv-ring .bg { stroke: var(--kv-line); }
.kv-ring .fg { stroke: url(#kvRingGrad); stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: 100; transition: stroke-dashoffset 1.8s cubic-bezier(.4, 0, .2, 1) .3s; }
.is-in .kv-ring .fg { stroke-dashoffset: 13; }
.kv-ring b { position: absolute; inset: 0; display: grid; place-items: center; font-size: 24px; color: var(--kv-navy); }
.kv-ring b small { display: block; font-size: 9.5px; color: var(--kv-muted); font-weight: 500; text-align: center; margin-top: -26px; }

/* mockup: negozio online */
.kv-shop { padding: 0 0 14px; }
.kv-shop__nav { display: flex; align-items: center; gap: 14px; padding: 12px 16px; border-bottom: 1px solid var(--kv-line); font-size: 11px; color: var(--kv-muted); }
.kv-shop__nav b { font-size: 13px; color: var(--kv-navy); margin-right: auto; letter-spacing: .02em; }
.kv-shop__cart { position: relative; font-style: normal; color: var(--kv-navy); }
.kv-shop__cart .kv-i { width: 18px; height: 18px; }
.kv-shop__cart em { position: absolute; top: -7px; right: -8px; min-width: 16px; height: 16px; border-radius: 99px; background: var(--kv-coral); color: #fff; font-size: 9.5px; font-style: normal; font-weight: 700; display: grid; place-items: center; animation: kv-badge 8s infinite; }
@keyframes kv-badge { 0%, 52% { transform: scale(0); } 56% { transform: scale(1.35); } 60%, 94% { transform: scale(1); } 100% { transform: scale(0); } }
.kv-shop__hero { margin: 14px 16px; border-radius: 14px; padding: 22px 20px; background: linear-gradient(120deg, #fdf1ea 0%, #f3eefe 100%); }
.kv-shop__hero small { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; color: #b9653f; }
.kv-shop__hero b { display: block; font-size: 17px; color: var(--kv-navy); margin: 4px 0 10px; max-width: 220px; line-height: 1.25; }
.kv-shop__hero span { display: inline-block; font-size: 10.5px; padding: 5px 12px; background: var(--kv-navy); color: #fff; border-radius: 99px; }
.kv-shop__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 0 16px; }
.kv-shop__p { position: relative; border: 1px solid var(--kv-line); border-radius: 12px; padding: 8px; }
.kv-shop__p i { display: block; height: 70px; border-radius: 9px; background: var(--c); margin-bottom: 7px; }
.kv-shop__p b { display: block; font-size: 11px; color: var(--kv-navy); }
.kv-shop__p small { font-size: 10.5px; color: var(--kv-ink); font-weight: 600; }
.kv-shop__p s { color: var(--kv-muted); font-weight: 400; }
.kv-shop__p--add { animation: kv-lift 8s infinite; }
@keyframes kv-lift { 0%, 30% { transform: none; box-shadow: none; } 40%, 60% { transform: translateY(-4px); box-shadow: 0 14px 26px -14px rgba(29, 33, 70, .45); } 70%, 100% { transform: none; box-shadow: none; } }
.kv-shop__btn { position: absolute; left: 8px; right: 8px; top: 48px; text-align: center; font-size: 10px; font-weight: 600; background: var(--kv-green); color: #fff; border-radius: 8px; padding: 4px 0; animation: kv-pop 8s infinite; opacity: 0; }
.kv-shop__pay { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 14px 16px 0; font-size: 10.5px; color: var(--kv-muted); }
.kv-shop__pay em { font-style: normal; font-weight: 600; color: var(--kv-ink); background: var(--kv-soft); border-radius: 6px; padding: 3px 8px; }

/* mockup: permessi */
.kv-table--perm td, .kv-table--perm th { text-align: center; }
.kv-table--perm td:first-child, .kv-table--perm th:first-child { text-align: left; }
.kv-perm { display: inline-grid; place-items: center; min-width: 22px; height: 22px; border-radius: 7px; font-size: 9.5px; font-weight: 600; }
.kv-perm .kv-i { width: 13px; height: 13px; stroke-width: 2.8; }
.kv-perm--y { background: #e5f7f0; color: #0f9466; }
.kv-perm--r { background: var(--kv-teal-l); color: var(--kv-teal-d); padding: 0 7px; }
.kv-perm--n { color: #b8bdd3; }
.kv-row-perm td { animation: kv-row 10s infinite; }

/* sottomenu aperto su mobile */
@media (max-width: 991px) {
    .site-header .site-main-menu li.kv-has-sub.is-open .kv-sub { display: grid; }
}

/* ---------- flusso ordine → fattura ---------- */
.kv-flow { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; margin-top: 10px; }
.kv-flow__line { position: absolute; left: 10%; right: 10%; top: 38px; height: 2px; background: rgba(255, 255, 255, .14); overflow: visible; }
.kv-flow__line::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--kv-teal), #6fe0f0); transform-origin: left; transform: scaleX(0); transition: transform 2.2s cubic-bezier(.5, 0, .2, 1) .3s; }
.is-in .kv-flow__line::before { transform: scaleX(1); }
.kv-flow__pulse { position: absolute; top: -5px; left: 0; width: 12px; height: 12px; border-radius: 50%; background: #6fe0f0; box-shadow: 0 0 0 6px rgba(111, 224, 240, .18), 0 0 18px #6fe0f0; animation: kv-travel 6s cubic-bezier(.45, 0, .55, 1) 2.4s infinite; opacity: 0; }
@keyframes kv-travel { 0% { left: 0; opacity: 0; } 6% { opacity: 1; } 94% { opacity: 1; } 100% { left: 100%; opacity: 0; } }
.kv-flow__step { position: relative; text-align: center; }
.kv-flow__step .kv-tile { margin: 0 auto 18px; width: 76px; height: 76px; border-radius: 22px; background: #262b5a; color: #6fe0f0; --kv-i2: rgba(111, 224, 240, .14); border: 1px solid rgba(255, 255, 255, .08); position: relative; z-index: 1; transition: background .4s, transform .4s; }
.kv-flow__step .kv-tile .kv-i { width: 32px; height: 32px; }
.kv-flow__step b { display: block; color: #fff; font-size: 16px; font-weight: 600; margin-bottom: 6px; }
.kv-flow__step p { font-size: 14px; line-height: 1.55; color: #a9add0; margin: 0; }
.kv-flow__n { position: absolute; top: -6px; left: calc(50% + 24px); z-index: 2; background: var(--kv-teal); color: #fff; font-size: 11px; font-weight: 700; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; }

/* ---------- settori ---------- */
.kv-sectors { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.kv-sector { border-radius: 20px; padding: 26px 22px; background: #fff; border: 1px solid var(--kv-line); transition: transform .3s, box-shadow .3s; display: flex; flex-direction: column; }
.kv-sector:hover { transform: translateY(-5px); box-shadow: var(--kv-shadow); }
.kv-sector .kv-tile { margin-bottom: 18px; }
.kv-sector b { display: block; color: var(--kv-navy); font-size: 17px; font-weight: 600; margin-bottom: 8px; }
.kv-sector p { font-size: 14px; color: var(--kv-muted); line-height: 1.6; margin: 0 0 14px; }
.kv-sector .kv-link { margin-top: auto; font-size: 14px; }

/* ---------- numeri ---------- */
.kv-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border: 1px solid var(--kv-line); border-radius: 22px; background: #fff; overflow: hidden; }
.kv-stat { padding: 34px 28px; border-right: 1px solid var(--kv-line); }
.kv-stat:last-child { border-right: 0; }
.kv-stat b { display: block; font-size: 40px; font-weight: 700; color: var(--kv-navy); letter-spacing: -.02em; line-height: 1.1; }
.kv-stat b em { font-style: normal; color: var(--kv-teal); }
.kv-stat > span { color: var(--kv-muted); font-size: 15px; }

/* ---------- metodo ---------- */
.kv-method { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; counter-reset: kvstep; }
.kv-method__item { position: relative; padding: 28px 24px; border-radius: 20px; background: #fff; border: 1px solid var(--kv-line); }
.kv-method__item::before { counter-increment: kvstep; content: "0" counter(kvstep); font-size: 13px; font-weight: 700; color: var(--kv-teal); letter-spacing: .1em; display: block; margin-bottom: 14px; }
.kv-method__item b { display: block; font-size: 17px; color: var(--kv-navy); font-weight: 600; margin-bottom: 8px; }
.kv-method__item p { font-size: 14.5px; color: var(--kv-muted); line-height: 1.6; margin: 0; }

/* ---------- CTA finale ---------- */
.kv-cta {
    position: relative; overflow: hidden; border-radius: 28px; padding: 64px 60px; color: #fff;
    background: radial-gradient(600px 300px at 90% 0%, rgba(111, 224, 240, .35), transparent 60%), linear-gradient(120deg, #1d2146 0%, #22306a 55%, #0b7f92 100%);
    display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: center;
}
.kv-cta::after { content: ""; position: absolute; right: -80px; bottom: -120px; width: 360px; height: 360px; border-radius: 50%; border: 50px solid rgba(255, 255, 255, .05); }
.kv-cta h2 { color: #fff; font-size: 36px; font-weight: 700; line-height: 1.2; margin: 0 0 14px; }
.kv-cta p { color: #c7cbe6; font-size: 17px; margin: 0; }
.kv-cta .kv-btns { justify-content: flex-end; position: relative; z-index: 1; }
.kv-cta-wrap { padding: 30px 0 110px; }

/* ---------- PANORAMICA: hero pagina interna ---------- */
.kv-pagehero { padding: 170px 0 70px; position: relative; overflow: hidden; background: radial-gradient(800px 400px at 50% 0%, rgba(13, 166, 190, .12), transparent 70%), #fbfdff; text-align: center; }
.kv-pagehero .kv-lead { max-width: 720px; margin: 0 auto; }
.kv-pagehero .kv-btns { justify-content: center; margin-top: 30px; }

/* nav per aree (sticky) */
.kv-areanav { position: sticky; top: 76px; z-index: 50; background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid var(--kv-line); }
.kv-areanav__in { display: flex; gap: 6px; overflow-x: auto; padding: 12px 0; scrollbar-width: none; }
.kv-areanav__in::-webkit-scrollbar { display: none; }
.kv-areanav a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 99px; font-size: 14px; font-weight: 500; color: var(--kv-ink); white-space: nowrap; transition: background .2s, color .2s; }
.kv-areanav a .kv-i { width: 17px; height: 17px; color: var(--kv-teal-d); }
.kv-areanav a:hover { background: var(--kv-soft); }
.kv-areanav a.is-active { background: var(--kv-navy); color: #fff; }
.kv-areanav a.is-active .kv-i { color: #6fe0f0; --kv-i2: rgba(255, 255, 255, .15); }

/* blocco area */
.kv-area { padding: 100px 0; scroll-margin-top: 130px; }
.kv-area--soft { background: var(--kv-soft); }
.kv-area--soft .kv-fn { background: #fff; }
.kv-area__head { display: grid; grid-template-columns: 1fr 1.05fr; gap: 60px; align-items: center; margin-bottom: 56px; }
.kv-area--flip .kv-area__head > :first-child { order: 2; }
.kv-area__title { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.kv-area__title .kv-h2 { margin: 0; font-size: 34px; }
.kv-area__intro .kv-lead { margin-bottom: 22px; }
.kv-area__points { list-style: none; padding: 0; margin: 0 0 26px; display: grid; gap: 10px; }
.kv-area__points li { display: flex; gap: 10px; color: var(--kv-ink); font-size: 15.5px; line-height: 1.5; }
.kv-area__points .kv-i { width: 20px; height: 20px; color: var(--kv-green); stroke-width: 2.4; margin-top: 1px; }
.kv-fns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.kv-fn { display: flex; gap: 14px; padding: 20px; border-radius: 16px; background: #fff; border: 1px solid var(--kv-line); transition: border-color .25s, box-shadow .25s, transform .25s; }
.kv-fn:hover { border-color: rgba(13, 166, 190, .45); box-shadow: 0 10px 24px -16px rgba(13, 166, 190, .6); transform: translateY(-2px); }
.kv-fn .kv-tile { width: 42px; height: 42px; border-radius: 12px; }
.kv-fn .kv-tile .kv-i { width: 21px; height: 21px; }
.kv-fn b { display: block; color: var(--kv-navy); font-size: 15.5px; font-weight: 600; margin-bottom: 4px; }
.kv-fn p { color: var(--kv-muted); font-size: 14px; line-height: 1.55; margin: 0; }

/* griglia integrazioni */
.kv-integr { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.kv-integr__g { background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .1); border-radius: 18px; padding: 24px; }
.kv-integr__g h3 { color: #fff; font-size: 17px; font-weight: 600; margin: 14px 0 12px; }
.kv-integr__g .kv-tile { background: rgba(13, 166, 190, .16); color: #6fe0f0; --kv-i2: rgba(111, 224, 240, .14); }
.kv-integr__g ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.kv-integr__g li { font-size: 13px; color: #d5d8ee; background: rgba(255, 255, 255, .07); padding: 4px 10px; border-radius: 99px; }

/* ---------- ASSISTENZA ---------- */
.kv-help { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.kv-help__card { display: flex; flex-direction: column; padding: 28px 24px; border-radius: 20px; border: 1px solid var(--kv-line); background: #fff; transition: transform .3s, box-shadow .3s; color: inherit !important; }
.kv-help__card:hover { transform: translateY(-5px); box-shadow: var(--kv-shadow); }
.kv-help__card .kv-tile { margin-bottom: 20px; }
.kv-help__card b { font-size: 18px; color: var(--kv-navy); font-weight: 600; margin-bottom: 8px; }
.kv-help__card p { color: var(--kv-muted); font-size: 14.5px; line-height: 1.6; margin: 0 0 18px; }
.kv-help__card .kv-link { margin-top: auto; }
.kv-hours { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; }
.kv-hours__box { border-radius: 22px; background: #fff; border: 1px solid var(--kv-line); padding: 30px; }
.kv-hours__row { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px dashed var(--kv-line); }
.kv-hours__row:last-child { border-bottom: 0; }
.kv-hours__row b { display: block; color: var(--kv-navy); font-weight: 600; }
.kv-hours__row span { color: var(--kv-muted); font-size: 14.5px; }
.kv-hours__row a { color: var(--kv-navy); }

/* ---------- CONTATTI ---------- */
.kv-contact { display: grid; grid-template-columns: 1.25fr 1fr; gap: 50px; align-items: start; }
.kv-form { background: #fff; border: 1px solid var(--kv-line); border-radius: 24px; padding: 38px; box-shadow: var(--kv-shadow); }
.kv-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.kv-field { display: block; margin-bottom: 16px; }
.kv-field span { display: block; font-size: 13.5px; font-weight: 600; color: var(--kv-navy); margin-bottom: 6px; }
.kv-field input, .kv-field textarea, .kv-field select {
    width: 100%; border: 1px solid var(--kv-line) !important; background: var(--kv-soft) !important; border-radius: 12px; padding: 13px 15px;
    font-size: 15px; font-family: inherit; color: var(--kv-ink); transition: border-color .2s, box-shadow .2s, background .2s; margin: 0; height: auto;
}
.kv-field textarea { min-height: 140px; resize: vertical; }
.kv-field input:focus, .kv-field textarea:focus, .kv-field select:focus { outline: none; border-color: var(--kv-teal) !important; background: #fff !important; box-shadow: 0 0 0 4px rgba(13, 166, 190, .15); }
.kv-form__note { font-size: 12.5px; color: var(--kv-muted); margin: 6px 0 18px; }
.kv-alert { border-radius: 12px; padding: 14px 16px; margin-bottom: 20px; font-size: 15px; display: flex; gap: 10px; align-items: center; }
.kv-alert--ok { background: #e5f7f0; color: #0b7a53; }
.kv-alert--ko { background: #fff0eb; color: #b53e20; }
.kv-side { display: grid; gap: 16px; }
.kv-side__item { display: flex; gap: 16px; padding: 22px; border-radius: 18px; border: 1px solid var(--kv-line); background: #fff; color: inherit !important; transition: border-color .2s, transform .2s; }
a.kv-side__item:hover { border-color: var(--kv-teal); transform: translateX(4px); }
.kv-side__item b { display: block; color: var(--kv-navy); font-weight: 600; margin-bottom: 3px; }
.kv-side__item span { color: var(--kv-muted); font-size: 14.5px; line-height: 1.5; }

/* ---------- header / menu ---------- */
.site-header .site-main-menu li.kv-has-sub { position: relative; }
.kv-sub {
    position: absolute; top: 100%; left: 50%; width: 560px; margin-left: -280px; padding: 14px; background: #fff; border-radius: 18px;
    box-shadow: var(--kv-shadow-lg); border: 1px solid var(--kv-line); display: grid; grid-template-columns: 1fr 1fr; gap: 4px;
    opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .25s, transform .25s, visibility 0s .25s; z-index: 99;
}
.site-header .site-main-menu li.kv-has-sub:hover .kv-sub, .site-header .site-main-menu li.kv-has-sub:focus-within .kv-sub { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.site-header .site-main-menu .kv-sub a { display: flex !important; gap: 12px; padding: 10px 12px !important; border-radius: 12px; line-height: 1.35 !important; align-items: flex-start; }
.site-header .site-main-menu .kv-sub a:hover { background: var(--kv-soft); }
.site-header .site-main-menu .kv-sub a:after, .site-header .site-main-menu .kv-sub a:before { display: none !important; }
.kv-sub .kv-tile { width: 36px; height: 36px; border-radius: 10px; }
.kv-sub .kv-tile .kv-i { width: 18px; height: 18px; }
.kv-sub b { display: block; font-size: 14.5px; color: var(--kv-navy); font-weight: 600; }
.kv-sub small { display: block; font-size: 12.5px; color: var(--kv-muted); font-weight: 400; }
.kv-sub__all { grid-column: 1 / -1; border-top: 1px solid var(--kv-line); margin-top: 6px; padding-top: 6px; }
.kv-sub__all a { justify-content: center; align-items: center !important; color: var(--kv-teal-d) !important; font-weight: 600; font-size: 14px; }

/* footer */
#footer .kv-foot-claim { color: #a9add0; font-size: 14.5px; line-height: 1.6; margin: 6px 0 16px; }
#footer .kv-foot-gal { color: #6fe0f0; font-size: 13.5px; }
#footer .social-share-link li a { border-radius: 10px; }
.testimonials-six .swiper-pagination-bullet-active { background: var(--kv-teal) !important; }

/* ---------- responsive ---------- */
@media (max-width: 1199px) {
    .kv-h1 { font-size: 44px; }
    .kv-sectors { grid-template-columns: repeat(3, 1fr); }
    .kv-show { grid-template-columns: 330px 1fr; gap: 32px; }
    .kv-toast--a { left: -10px; }
    .kv-toast--b { right: -10px; }
}
@media (max-width: 991px) {
    .kv-section { padding: 80px 0; }
    .kv-hero { padding: 130px 0 80px; }
    .kv-hero__grid, .kv-area__head, .kv-hours, .kv-contact, .kv-cta { grid-template-columns: 1fr; }
    .kv-area--flip .kv-area__head > :first-child { order: 0; }
    .kv-h1 { font-size: 40px; }
    .kv-h2 { font-size: 32px; }
    .kv-feats, .kv-fns { grid-template-columns: repeat(2, 1fr); }
    .kv-show { grid-template-columns: 1fr; }
    .kv-show__tabs { flex-direction: row; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; }
    .kv-show__tab { flex: 0 0 auto; width: auto; padding: 10px 14px; align-items: center; }
    .kv-show__tab div > span { display: none; }
    .kv-show__tab b { font-size: 14.5px; margin: 0; white-space: nowrap; }
    .kv-show__tab .kv-tile { width: 34px; height: 34px; }
    .kv-show__tab .kv-tile .kv-i { width: 18px; height: 18px; }
    .kv-flow { grid-template-columns: 1fr; gap: 26px; }
    .kv-flow__line { left: 37px; right: auto; top: 30px; bottom: 30px; width: 2px; height: auto; }
    .kv-flow__line::before { transform-origin: top; transform: scaleY(0); }
    .is-in .kv-flow__line::before { transform: scaleY(1); }
    .kv-flow__pulse { display: none; }
    .kv-flow__step { text-align: left; display: grid; grid-template-columns: 76px 1fr; gap: 0 20px; align-items: center; }
    .kv-flow__step .kv-tile { margin: 0; grid-row: span 2; }
    .kv-flow__n { left: 58px; }
    .kv-sectors { grid-template-columns: repeat(2, 1fr); }
    .kv-stats { grid-template-columns: repeat(2, 1fr); }
    .kv-stat:nth-child(2) { border-right: 0; }
    .kv-stat:nth-child(-n+2) { border-bottom: 1px solid var(--kv-line); }
    .kv-method, .kv-help, .kv-integr { grid-template-columns: repeat(2, 1fr); }
    .kv-cta { padding: 46px 34px; }
    .kv-cta .kv-btns { justify-content: flex-start; }
    .kv-areanav { top: 60px; }
    .kv-sub { position: static; width: auto; margin: 0; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding: 0 0 8px; grid-template-columns: 1fr; display: none; }
    .kv-sub small { display: none; }
}
@media (max-width: 767px) {
    .kv-h1 { font-size: 34px; }
    .kv-h2 { font-size: 28px; }
    .kv-lead { font-size: 16.5px; }
    .kv-head { margin-bottom: 40px; }
    .kv-feats, .kv-fns, .kv-method, .kv-help, .kv-integr, .kv-form__row { grid-template-columns: 1fr; }
    .kv-sectors { grid-template-columns: 1fr; }
    .kv-app__body { grid-template-columns: 1fr; }
    .kv-app__side { display: none; }
    .kv-kpis { grid-template-columns: repeat(2, 1fr); }
    .kv-app__grid, .kv-inv, .kv-floor, .kv-ticket, .kv-ai { grid-template-columns: 1fr; }
    .kv-tlist { display: none; }
    .kv-toast { display: none; }
    .kv-kanban { grid-template-columns: repeat(4, 150px); overflow-x: auto; }
    .kv-deal--move { display: none; }
    .kv-show__stage { min-height: 560px; }
    .kv-hub { height: 360px; }
    .kv-node { width: 132px; }
    .kv-stat { padding: 24px 18px; }
    .kv-stat b { font-size: 30px; }
    .kv-cta h2 { font-size: 28px; }
    .kv-form { padding: 26px 20px; }
    .kv-area { padding: 70px 0; }
    .kv-area__title .kv-h2 { font-size: 27px; }
    .kv-table .hide-sm { display: none; }
}

/* ---------- riduci movimento ---------- */
@media (prefers-reduced-motion: reduce) {
    .kv-js .kv-reveal { opacity: 1; transform: none; transition: none; }
    .kv-js .kv-draw .kv-i { stroke-dashoffset: 0; transition: none; }
    .kv-marquee__track, .kv-toast, .kv-float, .kv-deal--move, .kv-won, .kv-stamp, .kv-steps-v i, .kv-swap > *, .kv-bar--live span,
    .kv-row-live td, .kv-mini--pop, .kv-hub__lines path, .kv-hub__center::after, .kv-node small, .kv-msg, .kv-typing, .kv-status,
    .kv-status::after, .kv-table-t, .kv-receipt, .kv-cb, .kv-cb .kv-i, .kv-prog span, .kv-flow__pulse, .kv-feed li, .kv-show__tab::after,
    .kv-shop__cart em, .kv-shop__p--add, .kv-shop__btn, .kv-row-perm td {
        animation: none !important;
    }
    .kv-msg, .kv-won, .kv-stamp, .kv-toast { opacity: 1; }
    .kv-typing { display: none; }
    .kv-deal--move { left: 75%; }
    .kv-chart .line { transition: none; stroke-dashoffset: 0; }
    .kv-chart .area, .kv-chart .dot { opacity: 1; transition: none; }
    .kv-flow__line::before { transform: none; transition: none; }
    .kv-ring .fg { transition: none; }
}

/* ---------- spedizioni: corrieri integrati ---------- */
.kv-ship { display: grid; grid-template-columns: 1.25fr 1fr; gap: 14px; align-items: start; }
.kv-couriers { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.kv-couriers li { display: flex; align-items: center; gap: 10px; padding: 9px 11px; border: 1px solid var(--kv-line); border-radius: 11px; animation: kv-sel 15s infinite; animation-delay: calc(var(--n) * 3s); }
.kv-couriers i { width: 15px; height: 15px; border-radius: 50%; border: 2px solid #cfd4e4; flex: none; animation: kv-sel-dot 15s infinite; animation-delay: calc(var(--n) * 3s); }
.kv-couriers b { display: block; font-size: 11.5px; color: var(--kv-navy); font-weight: 600; }
.kv-couriers small { font-size: 10px; color: var(--kv-muted); }
@keyframes kv-sel { 0% { border-color: var(--kv-line); background: #fff; } 2%, 18% { border-color: var(--kv-teal); background: var(--kv-teal-l); } 20%, 100% { border-color: var(--kv-line); background: #fff; } }
@keyframes kv-sel-dot { 0% { border-color: #cfd4e4; box-shadow: none; } 2%, 18% { border-color: var(--kv-teal); box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 8px var(--kv-teal); } 20%, 100% { border-color: #cfd4e4; box-shadow: none; } }
.kv-label { border: 1.5px dashed #c9cede; border-radius: 12px; padding: 12px; background: #fff; font-size: 10.5px; color: var(--kv-ink); }
.kv-label__h { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.kv-label__h b { font-size: 12px; color: var(--kv-navy); }
.kv-label__h span { font-size: 9.5px; font-weight: 700; color: #fff; background: var(--kv-navy); border-radius: 5px; padding: 2px 6px; }
.kv-label__to { line-height: 1.45; margin-bottom: 10px; }
.kv-label__to small { display: block; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; color: var(--kv-muted); }
.kv-barcode {
    height: 46px; border-radius: 4px; margin-bottom: 8px;
    background: repeating-linear-gradient(90deg, var(--kv-navy) 0 2px, transparent 2px 4px, var(--kv-navy) 4px 5px, transparent 5px 8px, var(--kv-navy) 8px 11px, transparent 11px 12px);
    animation: kv-barcode 3s infinite;
}
@keyframes kv-barcode { 0%, 8% { clip-path: inset(0 100% 0 0); } 40%, 100% { clip-path: inset(0 0 0 0); } }
.kv-label__trk { font-size: 10px; color: var(--kv-muted); }
.kv-label__trk b { color: var(--kv-navy); font-family: "Courier New", monospace; font-size: 11px; letter-spacing: .04em; }
.kv-carriers { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; margin-top: 56px; }
.kv-carrier { background: #fff; border: 1px solid var(--kv-line); border-radius: 18px; padding: 22px 20px; display: flex; flex-direction: column; transition: transform .3s, box-shadow .3s; }
.kv-carrier:hover { transform: translateY(-4px); box-shadow: var(--kv-shadow); }
.kv-carrier__name { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; }
.kv-carrier__name .kv-tile { width: 38px; height: 38px; border-radius: 11px; }
.kv-carrier__name .kv-tile .kv-i { width: 19px; height: 19px; }
.kv-carrier__name b { font-size: 16px; color: var(--kv-navy); font-weight: 600; line-height: 1.25; }
.kv-carrier > small { display: block; text-align: left; font-size: 12px; color: var(--kv-muted); margin: 0 0 14px 48px; }
.kv-carrier ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.kv-carrier li { display: flex; gap: 7px; font-size: 13.5px; line-height: 1.45; color: var(--kv-ink); }
.kv-carrier li .kv-i { width: 16px; height: 16px; color: var(--kv-green); stroke-width: 2.4; margin-top: 2px; }
.kv-carriers-note { margin-top: 26px; text-align: center; color: var(--kv-muted); font-size: 15px; }
.kv-carriers-note a { font-weight: 600; color: var(--kv-teal-d); }
@media (max-width: 1199px) { .kv-carriers { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767px) {
    .kv-carriers { grid-template-columns: 1fr; }
    .kv-ship { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .kv-couriers li, .kv-couriers i, .kv-barcode { animation: none !important; }
}
