﻿/* =========================================================
   ვივამედი — ბილეთების საიტის საერთო სტილები
   ფაილი: Content/vivamedi.css
   ========================================================= */

/* ================= ფონტი: Google Sans (ლოკალური, Content/fonts) ================= */
@font-face {
    font-family: "Google Sans";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/google-sans-georgian-400-normal.woff2") format("woff2");
    unicode-range: U+0589, U+10A0-10FF, U+1C90-1CBA, U+1CBD-1CBF, U+205A, U+2D00-2D2F, U+2E31;
}

@font-face {
    font-family: "Google Sans";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("fonts/google-sans-georgian-500-normal.woff2") format("woff2");
    unicode-range: U+0589, U+10A0-10FF, U+1C90-1CBA, U+1CBD-1CBF, U+205A, U+2D00-2D2F, U+2E31;
}

@font-face {
    font-family: "Google Sans";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("fonts/google-sans-georgian-600-normal.woff2") format("woff2");
    unicode-range: U+0589, U+10A0-10FF, U+1C90-1CBA, U+1CBD-1CBF, U+205A, U+2D00-2D2F, U+2E31;
}

@font-face {
    font-family: "Google Sans";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("fonts/google-sans-georgian-700-normal.woff2") format("woff2");
    unicode-range: U+0589, U+10A0-10FF, U+1C90-1CBA, U+1CBD-1CBF, U+205A, U+2D00-2D2F, U+2E31;
}

@font-face {
    font-family: "Google Sans";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/google-sans-latin-ext-400-normal.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Google Sans";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("fonts/google-sans-latin-ext-500-normal.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Google Sans";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("fonts/google-sans-latin-ext-600-normal.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Google Sans";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("fonts/google-sans-latin-ext-700-normal.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Google Sans";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/google-sans-latin-400-normal.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Google Sans";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("fonts/google-sans-latin-500-normal.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Google Sans";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("fonts/google-sans-latin-600-normal.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Google Sans";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("fonts/google-sans-latin-700-normal.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    --primary: #0a6b86;
    --primary-dark: #063e50;
    --accent: #1fa9a4; /* ლოგოს ფირუზისფერი */
    --brand-red: #d8262d; /* ლოგოს წითელი */
    --accent-soft: #e5f7f5;
    --gold: #d49a1f;
    --gold-soft: #fff5e1;
    --ink: #0f2a33;
    --muted: #5d7680;
    --line: #e1ebee;
    --bg: #f2f7f9;
}

* {
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

html, body {
    margin: 0;
    padding: 0;
}

html {
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: "Google Sans", "Segoe UI", Arial, sans-serif;
    color: var(--ink);
    background: var(--bg);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* ================= Header ================= */
.vm-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
}

.vm-header-inner {
    max-width: 1080px;
    margin: 0 auto;
    padding: 18px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.vm-logo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    padding: 7px 18px 7px 10px;
    border-radius: 14px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .15);
    text-decoration: none;
}

    .vm-logo img {
        height: 42px;
        width: auto;
        display: block;
    }

.vm-logo-text {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}

.vm-logo-name {
    font-weight: 700;
    font-size: 19px;
    color: var(--accent);
    letter-spacing: .2px;
}

.vm-logo-sub {
    font-size: 11px;
    font-weight: 500;
    color: var(--brand-red);
}

.vm-header-contact {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    padding: 9px 16px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .22);
    backdrop-filter: blur(6px);
}

    .vm-header-contact svg {
        width: 16px;
        height: 16px;
    }

/* ================= Hero ================= */
.vm-hero {
    position: relative;
    overflow: hidden;
    color: #fff;
    text-align: center;
    padding: 130px 24px 150px;
    background-color: var(--primary-dark);
    background-image: url("images/vivamedi-building.jpg");
    background-size: cover;
    background-position: center 30%;
}
    /* სურათზე ფირუზისფერი ფენა — ტექსტი რომ კარგად იკითხებოდეს */
    .vm-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(4, 38, 50, .55) 0%, rgba(4, 38, 50, .25) 35%, rgba(6, 62, 80, .75) 100%), linear-gradient(135deg, rgba(5, 47, 61, .85) 0%, rgba(10, 107, 134, .55) 55%, rgba(22, 179, 164, .45) 100%);
    }
    /* ქვედა ტალღა */
    .vm-hero::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -1px;
        height: 80px;
        background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 40 C360 90 1080 -10 1440 40 L1440 80 L0 80Z' fill='%23f2f7f9'/%3E%3C/svg%3E") no-repeat;
        background-size: 100% 100%;
    }

.vm-hero-content {
    position: relative;
    z-index: 1;
    max-width: 760px;
    margin: 0 auto;
}

.vm-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 16px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .25);
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 20px;
}

.vm-badge-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #5ff0df;
    box-shadow: 0 0 0 4px rgba(95, 240, 223, .25);
    animation: vm-pulse 2s infinite;
}

@keyframes vm-pulse {
    0%, 100% {
        box-shadow: 0 0 0 4px rgba(95, 240, 223, .25);
    }

    50% {
        box-shadow: 0 0 0 8px rgba(95, 240, 223, .05);
    }
}

.vm-hero h1 {
    margin: 0 0 14px;
    font-size: 42px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: .2px;
    text-shadow: 0 2px 18px rgba(0, 0, 0, .35);
}

.vm-hero p {
    margin: 0 0 28px;
    font-size: 17px;
    opacity: .88;
}

.vm-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.vm-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 12px;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .18);
    backdrop-filter: blur(6px);
    font-size: 14px;
    font-weight: 500;
}

    .vm-meta-item svg {
        width: 17px;
        height: 17px;
        color: #7ff3e6;
        flex-shrink: 0;
    }

/* ================= Main ================= */
.vm-main {
    flex: 1;
    width: 100%;
    max-width: 880px;
    margin: -90px auto 0;
    padding: 0 24px 56px;
    position: relative;
    z-index: 2;
}

.vm-panel {
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 24px 60px rgba(6, 62, 80, .14), 0 2px 6px rgba(6, 62, 80, .05);
    padding: 36px;
}

/* ნაბიჯები */
.vm-steps {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 28px;
}

.vm-steps-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 500;
    color: #9ab0b8;
    white-space: nowrap;
}

.vm-steps-num {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 13px;
    font-weight: 700;
    background: #eef4f6;
    color: #9ab0b8;
}

.vm-steps-item.active {
    color: var(--ink);
}

    .vm-steps-item.active .vm-steps-num {
        background: linear-gradient(135deg, var(--primary), var(--accent));
        color: #fff;
        box-shadow: 0 4px 12px rgba(10, 107, 134, .3);
    }

.vm-steps-line {
    flex: 1;
    height: 2px;
    background: var(--line);
    border-radius: 2px;
    min-width: 16px;
}

.vm-panel-head {
    margin-bottom: 24px;
}

    .vm-panel-head h2 {
        margin: 0 0 6px;
        font-size: 24px;
        font-weight: 700;
    }

    .vm-panel-head p {
        margin: 0;
        color: var(--muted);
        font-size: 15px;
    }

/* ================= Ticket cards ================= */
.vm-types {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.vm-type {
    position: relative;
    display: block;
    margin: 0;
}

    .vm-type input {
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }

.vm-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 26px 24px 24px;
    border: 2px solid var(--line);
    border-radius: 20px;
    background: #fff;
    cursor: pointer;
    overflow: hidden;
    transition: border-color .2s, box-shadow .2s, transform .2s, background .2s;
}

    .vm-card:hover {
        border-color: #b7d6de;
        transform: translateY(-3px);
        box-shadow: 0 14px 30px rgba(6, 62, 80, .09);
    }

.vm-type input:checked + .vm-card {
    border-color: var(--accent);
    background: linear-gradient(180deg, #f3fcfb 0%, #fff 60%);
    box-shadow: 0 14px 34px rgba(22, 179, 164, .22);
}

.vm-type input:focus-visible + .vm-card {
    outline: 3px solid rgba(22, 179, 164, .45);
    outline-offset: 3px;
}

.vm-card.vip {
    border-color: #f0dfb8;
}

    .vm-card.vip:hover {
        border-color: #e6c97f;
    }

.vm-type input:checked + .vm-card.vip {
    border-color: var(--gold);
    background: linear-gradient(180deg, #fffaf0 0%, #fff 60%);
    box-shadow: 0 14px 34px rgba(212, 154, 31, .22);
}

.vm-ribbon {
    position: absolute;
    top: 18px;
    right: -34px;
    transform: rotate(45deg);
    background: linear-gradient(135deg, #e7b34a, var(--gold));
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 5px 40px;
    letter-spacing: .5px;
}

.vm-card-top {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}

.vm-card-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: var(--accent-soft);
    color: var(--primary);
    flex-shrink: 0;
}

    .vm-card-icon svg {
        width: 26px;
        height: 26px;
    }

.vm-card.vip .vm-card-icon {
    background: var(--gold-soft);
    color: var(--gold);
}

.vm-name {
    display: block;
    font-weight: 700;
    font-size: 20px;
}

.vm-desc {
    display: block;
    color: var(--muted);
    font-size: 13.5px;
    margin-top: 2px;
}

.vm-price {
    display: flex;
    align-items: baseline;
    gap: 4px;
    padding: 16px 0;
    margin-bottom: 16px;
    border-top: 1px dashed var(--line);
    border-bottom: 1px dashed var(--line);
}

.vm-price-num {
    font-size: 40px;
    font-weight: 700;
    color: var(--primary-dark);
    line-height: 1;
}

.vm-price-cur {
    font-size: 22px;
    font-weight: 700;
    color: var(--primary-dark);
}

.vm-card.vip .vm-price-num, .vm-card.vip .vm-price-cur {
    color: #8a5f08;
}

.vm-features {
    list-style: none;
    margin: 0 0 22px;
    padding: 0;
    display: grid;
    gap: 10px;
}

    .vm-features li {
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 14px;
        color: #33505a;
    }

    .vm-features svg {
        width: 18px;
        height: 18px;
        padding: 3px;
        border-radius: 50%;
        background: var(--accent-soft);
        color: var(--accent);
        flex-shrink: 0;
    }

.vm-card.vip .vm-features svg {
    background: var(--gold-soft);
    color: var(--gold);
}

.vm-select {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px;
    border-radius: 12px;
    border: 1.5px solid var(--line);
    font-size: 14px;
    font-weight: 600;
    color: var(--muted);
    transition: all .2s;
}

.vm-select-circle {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid #c5d6dc;
    display: grid;
    place-items: center;
    transition: all .2s;
}

    .vm-select-circle svg {
        width: 11px;
        height: 11px;
        opacity: 0;
        transition: opacity .2s;
    }

.vm-type input:checked + .vm-card .vm-select {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
}

.vm-type input:checked + .vm-card.vip .vm-select {
    background: var(--gold);
    border-color: var(--gold);
}

.vm-type input:checked + .vm-card .vm-select-circle {
    background: #fff;
    border-color: #fff;
}

    .vm-type input:checked + .vm-card .vm-select-circle svg {
        opacity: 1;
    }

.vm-select .txt-on {
    display: none;
}

.vm-type input:checked + .vm-card .vm-select .txt-on {
    display: inline;
}

.vm-type input:checked + .vm-card .vm-select .txt-off {
    display: none;
}

/* ================= Summary + button ================= */
.vm-summary {
    margin-top: 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 20px;
    border-radius: 16px;
    background: var(--bg);
    border: 1px solid var(--line);
}

.vm-summary-label {
    font-size: 13px;
    color: var(--muted);
}

.vm-summary-value {
    font-size: 17px;
    font-weight: 700;
    margin-top: 2px;
}

    .vm-summary-value.empty {
        color: #9ab0b8;
        font-weight: 500;
        font-size: 15px;
    }

.vm-btn {
    flex-shrink: 0;
    padding: 15px 30px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--primary), var(--accent));
    color: #fff;
    font-family: inherit;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 10px 24px rgba(10, 107, 134, .28);
    transition: transform .2s, box-shadow .2s, opacity .2s;
}

    .vm-btn:hover:not(:disabled) {
        transform: translateY(-2px);
        box-shadow: 0 14px 30px rgba(10, 107, 134, .35);
    }

    .vm-btn:disabled {
        opacity: .4;
        cursor: not-allowed;
        box-shadow: none;
    }

    .vm-btn svg {
        width: 18px;
        height: 18px;
        transition: transform .2s;
    }

    .vm-btn:hover:not(:disabled) svg {
        transform: translateX(3px);
    }

/* ================= Trust row ================= */
.vm-trust {
    margin-top: 24px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.vm-trust-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: var(--muted);
}

    .vm-trust-item svg {
        width: 34px;
        height: 34px;
        padding: 8px;
        border-radius: 10px;
        background: var(--accent-soft);
        color: var(--primary);
        flex-shrink: 0;
    }

/* ================= Footer ================= */
.vm-footer {
    background: var(--primary-dark);
    color: rgba(255, 255, 255, .7);
    font-size: 13px;
}

.vm-footer-inner {
    max-width: 1080px;
    margin: 0 auto;
    padding: 22px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.vm-footer strong {
    color: #fff;
    font-weight: 600;
}

/* ================= სენსორული ეკრანები ================= */
@media (hover: none) {
    .vm-card:hover {
        transform: none;
        box-shadow: none;
        border-color: var(--line);
    }

    .vm-card.vip:hover {
        border-color: #f0dfb8;
    }

    .vm-card:active {
        transform: scale(.985);
    }

    .vm-btn:active:not(:disabled) {
        transform: scale(.97);
    }
}

/* ================= Mobile ================= */
@media (max-width: 720px) {
    body {
        padding-bottom: calc(96px + env(safe-area-inset-bottom));
    }

    /* Header */
    .vm-header-inner {
        padding: 12px 16px;
        padding-top: calc(12px + env(safe-area-inset-top));
    }

    .vm-logo {
        padding: 5px 12px 5px 8px;
        border-radius: 12px;
        gap: 8px;
    }

        .vm-logo img {
            height: 34px;
        }

    .vm-logo-name {
        font-size: 16px;
    }

    .vm-logo-sub {
        font-size: 10px;
    }

    .vm-header-contact {
        padding: 7px 12px;
        font-size: 12px;
        gap: 6px;
    }

        .vm-header-contact svg {
            width: 14px;
            height: 14px;
        }

    /* Hero */
    .vm-hero {
        padding: 84px 16px 96px;
    }

        .vm-hero::after {
            height: 40px;
        }

    .vm-badge {
        font-size: 12px;
        padding: 6px 12px;
        margin-bottom: 14px;
    }

    .vm-hero h1 {
        font-size: 26px;
        margin-bottom: 8px;
    }

    .vm-hero p {
        font-size: 14px;
        margin-bottom: 18px;
    }

    .vm-meta {
        gap: 8px;
    }

    .vm-meta-item {
        font-size: 12.5px;
        padding: 7px 11px;
        border-radius: 10px;
    }

        .vm-meta-item:last-child {
            width: 100%;
            justify-content: center;
        }

    /* Panel */
    .vm-main {
        padding: 0 12px 24px;
        margin-top: -64px;
    }

    .vm-panel {
        padding: 20px 16px;
        border-radius: 20px;
    }

    .vm-steps {
        gap: 6px;
        margin-bottom: 20px;
    }

    .vm-steps-item .lbl {
        display: none;
    }

    .vm-steps-item.active .lbl {
        display: inline;
    }

    .vm-steps-num {
        width: 26px;
        height: 26px;
        font-size: 12px;
    }

    .vm-panel-head {
        margin-bottom: 16px;
    }

        .vm-panel-head h2 {
            font-size: 20px;
        }

        .vm-panel-head p {
            font-size: 13px;
        }

    /* Cards — კომპაქტური */
    .vm-types {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .vm-card {
        padding: 16px;
        border-radius: 16px;
    }

    .vm-ribbon {
        display: none;
    }

    .vm-card-top {
        margin-bottom: 12px;
        gap: 12px;
        padding-right: 36px;
    }

    .vm-card-icon {
        width: 44px;
        height: 44px;
        border-radius: 12px;
    }

        .vm-card-icon svg {
            width: 22px;
            height: 22px;
        }

    .vm-name {
        font-size: 17px;
    }

    .vm-desc {
        font-size: 12.5px;
    }

    .vm-price {
        padding: 10px 0;
        margin-bottom: 12px;
    }

    .vm-price-num {
        font-size: 32px;
    }

    .vm-price-cur {
        font-size: 18px;
    }

    .vm-features {
        gap: 7px;
        margin-bottom: 0;
    }

        .vm-features li {
            font-size: 13px;
            gap: 8px;
        }

        .vm-features svg {
            width: 16px;
            height: 16px;
        }

    /* არჩევის ღილაკი → პატარა წრე მარჯვენა ზედა კუთხეში */
    .vm-select {
        position: absolute;
        top: 16px;
        right: 16px;
        margin: 0;
        padding: 0;
        border: 0;
        background: none !important;
    }

        .vm-select .txt-on, .vm-select .txt-off {
            display: none !important;
        }

    .vm-select-circle {
        width: 26px;
        height: 26px;
        border-width: 2px;
    }

        .vm-select-circle svg {
            width: 14px;
            height: 14px;
        }

    .vm-type input:checked + .vm-card .vm-select-circle {
        background: var(--accent);
        border-color: var(--accent);
    }

    .vm-type input:checked + .vm-card.vip .vm-select-circle {
        background: var(--gold);
        border-color: var(--gold);
    }

    .vm-type input:checked + .vm-card .vm-select-circle svg {
        stroke: #fff;
    }

    /* შეჯამება + ღილაკი → ეკრანის ქვედა ფიქსირებული ზოლი */
    .vm-summary {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 50;
        margin: 0;
        padding: 12px 16px;
        padding-bottom: calc(12px + env(safe-area-inset-bottom));
        border-radius: 18px 18px 0 0;
        border: 0;
        border-top: 1px solid var(--line);
        background: rgba(255, 255, 255, .96);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        box-shadow: 0 -8px 30px rgba(6, 62, 80, .12);
        gap: 12px;
    }

        .vm-summary > div {
            min-width: 0;
        }

    .vm-summary-label {
        font-size: 11.5px;
    }

    .vm-summary-value {
        font-size: 15px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

        .vm-summary-value.empty {
            font-size: 13px;
        }

    .vm-btn {
        padding: 14px 20px;
        font-size: 15px;
        border-radius: 12px;
        min-height: 50px;
    }

    /* Trust */
    .vm-trust {
        grid-template-columns: 1fr;
        gap: 10px;
        margin-top: 20px;
        padding-top: 18px;
        border-top: 1px solid var(--line);
    }

    .vm-trust-item {
        font-size: 12.5px;
    }

        .vm-trust-item svg {
            width: 30px;
            height: 30px;
            padding: 7px;
        }

    /* Footer */
    .vm-footer-inner {
        justify-content: center;
        text-align: center;
        padding: 18px 16px;
        flex-direction: column;
        gap: 4px;
        font-size: 12px;
    }
}

/* ძალიან პატარა ეკრანები (iPhone SE და მსგავსი) */
@media (max-width: 360px) {
    .vm-hero h1 {
        font-size: 23px;
    }

    .vm-header-contact {
        display: none;
    }

    .vm-price-num {
        font-size: 28px;
    }

    .vm-btn {
        padding: 13px 16px;
    }
}

/* =========================================================
   მონაცემების ფორმა (Details გვერდი)
   ========================================================= */

/* დაბალი ბანერი შიდა გვერდებისთვის */
.vm-hero.vm-hero-sm {
    padding: 120px 24px 130px;
}

    .vm-hero.vm-hero-sm h1 {
        font-size: 32px;
        margin-bottom: 8px;
    }

    .vm-hero.vm-hero-sm p {
        margin-bottom: 0;
    }

/* არჩეული ბილეთის ზოლი */
.vm-picked {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border-radius: 16px;
    border: 1.5px solid var(--accent);
    background: linear-gradient(180deg, #f3fcfb 0%, #fff 100%);
    margin-bottom: 26px;
}

    .vm-picked.vip {
        border-color: var(--gold);
        background: linear-gradient(180deg, #fffaf0 0%, #fff 100%);
    }

    .vm-picked .vm-card-icon {
        width: 46px;
        height: 46px;
        margin: 0;
    }

.vm-picked-info {
    flex: 1;
    min-width: 0;
}

.vm-picked-label {
    font-size: 12px;
    color: var(--muted);
}

.vm-picked-name {
    font-size: 17px;
    font-weight: 700;
}

.vm-picked-price {
    font-size: 24px;
    font-weight: 700;
    color: var(--primary-dark);
    white-space: nowrap;
}

.vm-picked.vip .vm-picked-price {
    color: #8a5f08;
}

.vm-picked-change {
    font-size: 13px;
    font-weight: 600;
    color: var(--primary);
    text-decoration: none;
    padding: 8px 12px;
    border-radius: 10px;
    background: var(--accent-soft);
    white-space: nowrap;
}

    .vm-picked-change:hover {
        background: #d3f0ed;
    }

/* შეცდომის შეტყობინება */
.vm-alert {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 16px;
    border-radius: 14px;
    background: #fdecec;
    border: 1px solid #f6c9ca;
    color: #a61b21;
    font-size: 14px;
    margin-bottom: 22px;
}

    .vm-alert svg {
        width: 20px;
        height: 20px;
        flex-shrink: 0;
        margin-top: 1px;
    }

    .vm-alert ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

/* ველები */
.vm-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 18px;
}

.vm-field {
    display: flex;
    flex-direction: column;
}

    .vm-field.full {
        grid-column: 1 / -1;
    }

    .vm-field label {
        font-size: 14px;
        font-weight: 600;
        margin-bottom: 8px;
        color: var(--ink);
    }

        .vm-field label .req {
            color: var(--brand-red);
            margin-left: 2px;
        }

.vm-input-wrap {
    position: relative;
}

    .vm-input-wrap svg {
        position: absolute;
        left: 14px;
        top: 50%;
        transform: translateY(-50%);
        width: 19px;
        height: 19px;
        color: #9ab0b8;
        pointer-events: none;
        transition: color .2s;
    }

.vm-input {
    width: 100%;
    height: 52px;
    padding: 0 16px 0 44px;
    border: 1.5px solid var(--line);
    border-radius: 12px;
    background: #fbfdfd;
    font-family: inherit;
    font-size: 16px; /* 16px — iPhone-ზე ზუმი არ ხდება */
    color: var(--ink);
    transition: border-color .2s, box-shadow .2s, background .2s;
    -webkit-appearance: none;
    appearance: none;
}

    .vm-input::placeholder {
        color: #a9bcc3;
    }

    .vm-input:hover {
        border-color: #c5d9df;
    }

    .vm-input:focus {
        outline: none;
        border-color: var(--accent);
        background: #fff;
        box-shadow: 0 0 0 4px rgba(31, 169, 164, .14);
    }

.vm-input-wrap:focus-within svg {
    color: var(--accent);
}

.vm-input.input-validation-error {
    border-color: #e0555a;
    background: #fff8f8;
}

    .vm-input.input-validation-error:focus {
        box-shadow: 0 0 0 4px rgba(224, 85, 90, .14);
    }

.vm-hint {
    font-size: 12.5px;
    color: var(--muted);
    margin-top: 6px;
}

.vm-field-error, .field-validation-error {
    font-size: 13px;
    color: #c62828;
    margin-top: 6px;
}

.field-validation-valid {
    display: none;
}

.vm-counter {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    color: #9ab0b8;
}

.vm-privacy {
    display: flex;
    gap: 10px;
    margin-top: 22px;
    padding: 14px 16px;
    border-radius: 14px;
    background: var(--bg);
    font-size: 13px;
    color: var(--muted);
    line-height: 1.55;
}

    .vm-privacy svg {
        width: 20px;
        height: 20px;
        color: var(--primary);
        flex-shrink: 0;
        margin-top: 1px;
    }

.vm-btn-ghost {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--muted);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    padding: 10px 4px;
}

    .vm-btn-ghost:hover {
        color: var(--primary);
    }

    .vm-btn-ghost svg {
        width: 16px;
        height: 16px;
    }

.vm-form-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 26px;
}

@media (max-width: 720px) {
    .vm-hero.vm-hero-sm {
        padding: 84px 16px 88px;
    }

        .vm-hero.vm-hero-sm h1 {
            font-size: 23px;
        }

    .vm-picked {
        padding: 12px;
        gap: 12px;
        margin-bottom: 20px;
        flex-wrap: wrap;
    }

        .vm-picked .vm-card-icon {
            width: 40px;
            height: 40px;
        }

    .vm-picked-name {
        font-size: 15px;
    }

    .vm-picked-price {
        font-size: 20px;
    }

    .vm-picked-change {
        padding: 6px 10px;
        font-size: 12px;
    }

    .vm-form-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .vm-input {
        height: 50px;
    }

    /* ქვედა ფიქსირებული ზოლი */
    .vm-form-actions {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 50;
        margin: 0;
        padding: 12px 16px;
        padding-bottom: calc(12px + env(safe-area-inset-bottom));
        border-radius: 18px 18px 0 0;
        border-top: 1px solid var(--line);
        background: rgba(255, 255, 255, .96);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        box-shadow: 0 -8px 30px rgba(6, 62, 80, .12);
    }

        .vm-form-actions .vm-btn-ghost {
            padding: 10px 6px;
            font-size: 13px;
        }

        .vm-form-actions .vm-btn {
            flex: 1;
            width: auto;
        }
}

/* არჩეული ბილეთის ხატულა VIP-ისთვის */
.vm-picked.vip .vm-card-icon {
    background: var(--gold-soft);
    color: var(--gold);
}

/* დასრულებული ნაბიჯი */
.vm-steps-item.done {
    color: var(--primary);
}

    .vm-steps-item.done .vm-steps-num {
        background: var(--accent-soft);
        color: var(--accent);
    }

.vm-steps-line.done {
    background: var(--accent);
}

/* ღილაკის ტექსტი: მობილურზე მოკლე ვერსია */
.vm-btn .lbl-short {
    display: none;
}

@media (max-width: 720px) {
    .vm-form-actions .vm-btn {
        white-space: nowrap;
        justify-content: center;
    }

    .vm-btn .lbl-long {
        display: none;
    }

    .vm-btn .lbl-short {
        display: inline;
    }
}

/* =========================================================
   ადმინ პანელი
   ========================================================= */

/* ---------- შესვლის გვერდი ---------- */
.adm-login-body {
    background: linear-gradient(135deg, rgba(5, 47, 61, .92) 0%, rgba(10, 107, 134, .85) 60%, rgba(31, 169, 164, .8) 100%), url("images/vivamedi-building.jpg") center / cover;
}

.adm-login {
    flex: 1;
    display: grid;
    place-items: center;
    padding: 24px 16px;
}

.adm-login-card {
    width: 100%;
    max-width: 400px;
    background: #fff;
    border-radius: 22px;
    padding: 32px 28px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .25);
}

.adm-login-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
}

    .adm-login-logo img {
        height: 46px;
    }

    .adm-login-logo .vm-logo-name, .adm-login-logo .vm-logo-sub {
        display: block;
    }

.adm-login-card h1 {
    margin: 0 0 4px;
    font-size: 22px;
}

.adm-login-sub {
    margin: 0 0 20px;
    color: var(--muted);
    font-size: 14px;
}

.adm-login-btn {
    width: 100%;
    justify-content: center;
    margin-top: 18px;
}

/* ---------- ზოგადი ---------- */
.adm-body {
    background: #f4f8fa;
}

.adm-header {
    background: #fff;
    border-bottom: 1px solid var(--line);
    position: sticky;
    top: 0;
    z-index: 20;
}

.adm-header-inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 10px 24px;
    padding-top: calc(10px + env(safe-area-inset-top));
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.adm-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
}

    .adm-brand img {
        height: 38px;
    }

    .adm-brand .vm-logo-name, .adm-brand .vm-logo-sub {
        display: block;
        line-height: 1.2;
    }

.adm-header-actions {
    display: flex;
    gap: 6px;
}

.adm-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 14px;
    border-radius: 10px;
    color: var(--muted);
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
}

    .adm-link:hover {
        background: var(--bg);
        color: var(--primary);
    }

    .adm-link svg {
        width: 18px;
        height: 18px;
    }

.adm-main {
    flex: 1;
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 24px 24px 48px;
}

.adm-title h1 {
    margin: 0 0 4px;
    font-size: 24px;
}

.adm-title p {
    margin: 0 0 20px;
    color: var(--muted);
    font-size: 14px;
}

/* ---------- ციფრების ბარათები ---------- */
.adm-stats {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

.adm-stat {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 18px 20px;
    position: relative;
    min-width: 0;
}

.adm-stat-main {
    background: linear-gradient(135deg, var(--primary-dark), var(--primary) 60%, var(--accent));
    border: 0;
    color: #fff;
}

.adm-stat-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: var(--accent-soft);
    color: var(--primary);
    margin-bottom: 12px;
}

    .adm-stat-icon svg {
        width: 21px;
        height: 21px;
    }

    .adm-stat-icon.ok {
        background: #e3f6ec;
        color: #17864a;
    }

    .adm-stat-icon.warn {
        background: #fff3df;
        color: #b7791f;
    }

.adm-stat-main .adm-stat-icon {
    background: rgba(255, 255, 255, .16);
    color: #fff;
}

.adm-stat-label {
    font-size: 13px;
    color: var(--muted);
    font-weight: 500;
}

.adm-stat-main .adm-stat-label {
    color: rgba(255, 255, 255, .8);
}

.adm-stat-value {
    font-size: 30px;
    font-weight: 700;
    margin: 2px 0 4px;
    line-height: 1.2;
}

    .adm-stat-value small {
        font-size: 18px;
    }

.adm-stat-foot {
    font-size: 12.5px;
    color: var(--muted);
}

.adm-stat-main .adm-stat-foot {
    color: rgba(255, 255, 255, .85);
}

/* ---------- ბარათები ---------- */
.adm-grid {
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    gap: 16px;
    margin-bottom: 16px;
}

.adm-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 20px 22px;
    min-width: 0;
}

    .adm-card h2 {
        margin: 0 0 16px;
        font-size: 17px;
    }

        .adm-card h2 small {
            color: var(--muted);
            font-weight: 500;
        }

.adm-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

    .adm-card-head h2 {
        margin: 0;
    }

/* ---------- ბილეთის ტიპები ---------- */
.adm-type {
    padding: 12px 0;
    border-top: 1px solid var(--line);
}

    .adm-type:first-of-type {
        border-top: 0;
        padding-top: 0;
    }

.adm-type-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.adm-type-name {
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
}

    .adm-type-name small {
        color: var(--muted);
        font-weight: 500;
    }

.adm-type-count {
    font-weight: 700;
}

.adm-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--accent);
}

    .adm-dot.vip {
        background: var(--gold);
    }

.adm-bar {
    height: 8px;
    border-radius: 8px;
    background: #edf3f5;
    overflow: hidden;
}

    .adm-bar span {
        display: block;
        height: 100%;
        border-radius: 8px;
        background: var(--accent);
    }

        .adm-bar span.vip {
            background: var(--gold);
        }

.adm-type-foot {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: var(--muted);
    margin-top: 6px;
}

    .adm-type-foot strong {
        color: var(--ink);
    }

/* ---------- დღიური დიაგრამა ---------- */
.adm-legend {
    display: flex;
    gap: 14px;
    font-size: 12.5px;
    color: var(--muted);
}

    .adm-legend span {
        display: inline-flex;
        align-items: center;
        gap: 6px;
    }

    .adm-legend i {
        width: 10px;
        height: 10px;
        border-radius: 3px;
        display: inline-block;
    }

        .adm-legend i.all {
            background: #cfe4ea;
        }

        .adm-legend i.paid {
            background: var(--accent);
        }

.adm-chart {
    display: grid;
    grid-template-columns: repeat(14, 1fr);
    gap: 6px;
    height: 200px;
    align-items: end;
}

.adm-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    min-width: 0;
}

.adm-col-num {
    font-size: 11px;
    font-weight: 600;
    color: var(--muted);
    height: 16px;
}

.adm-col-track {
    flex: 1;
    width: 100%;
    max-width: 28px;
    position: relative;
    border-radius: 6px;
    background: #f3f8f9;
}

    .adm-col-track span {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        border-radius: 6px;
    }

        .adm-col-track span.all {
            background: #cfe4ea;
        }

        .adm-col-track span.paid {
            background: var(--accent);
        }

.adm-col-day {
    font-size: 10.5px;
    color: var(--muted);
    margin-top: 6px;
    white-space: nowrap;
}

.adm-col.today .adm-col-day {
    color: var(--primary);
    font-weight: 700;
}

/* ---------- ფილტრები ---------- */
.adm-export {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    border-radius: 10px;
    background: #e3f6ec;
    color: #17864a;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

    .adm-export:hover {
        background: #d0efdd;
    }

    .adm-export svg {
        width: 18px;
        height: 18px;
    }

.adm-filters {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.adm-search {
    flex: 1;
    min-width: 240px;
}

    .adm-search .vm-input {
        height: 46px;
    }

.adm-tabs {
    display: inline-flex;
    padding: 4px;
    border-radius: 12px;
    background: var(--bg);
    border: 1px solid var(--line);
}

    .adm-tabs label {
        margin: 0;
        cursor: pointer;
    }

    .adm-tabs input {
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }

    .adm-tabs span {
        display: block;
        padding: 8px 14px;
        border-radius: 9px;
        font-size: 13.5px;
        font-weight: 600;
        color: var(--muted);
        white-space: nowrap;
    }

    .adm-tabs input:checked + span {
        background: #fff;
        color: var(--primary);
        box-shadow: 0 2px 6px rgba(6, 62, 80, .1);
    }

.adm-filter-btn {
    padding: 12px 22px;
    box-shadow: none;
    font-size: 15px;
}

.adm-clear {
    font-size: 13.5px;
    color: var(--muted);
}

/* ---------- ცხრილი ---------- */
.adm-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--line);
    border-radius: 14px;
}

.adm-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

    .adm-table th {
        text-align: left;
        font-size: 12.5px;
        font-weight: 600;
        color: var(--muted);
        background: #f7fafb;
        padding: 12px 14px;
        border-bottom: 1px solid var(--line);
        white-space: nowrap;
    }

    .adm-table td {
        padding: 12px 14px;
        border-bottom: 1px solid #eef3f5;
        vertical-align: middle;
    }

    .adm-table tbody tr:last-child td {
        border-bottom: 0;
    }

    .adm-table tbody tr:hover {
        background: #f9fcfc;
    }

    .adm-table .num {
        text-align: right;
        white-space: nowrap;
    }

    .adm-table .strong {
        font-weight: 600;
    }

    .adm-table .muted {
        color: #9ab0b8;
    }

    .adm-table .mono {
        font-variant-numeric: tabular-nums;
        letter-spacing: .3px;
    }

    .adm-table .small {
        font-size: 12px;
        color: var(--muted);
        max-width: 160px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .adm-table .email {
        word-break: break-all;
    }

.adm-tag {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 12.5px;
    font-weight: 600;
    background: var(--accent-soft);
    color: var(--primary);
    white-space: nowrap;
}

    .adm-tag.vip {
        background: var(--gold-soft);
        color: #8a5f08;
    }

.adm-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    font-weight: 600;
    white-space: nowrap;
}

    .adm-status::before {
        content: "";
        width: 8px;
        height: 8px;
        border-radius: 50%;
    }

    .adm-status.ok {
        color: #17864a;
    }

        .adm-status.ok::before {
            background: #22b35e;
        }

    .adm-status.wait {
        color: #b7791f;
    }

        .adm-status.wait::before {
            background: #f0a73a;
        }

.adm-empty {
    padding: 40px 16px;
    text-align: center;
    color: var(--muted);
}

.adm-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 18px;
    font-size: 14px;
    color: var(--muted);
}

    .adm-pager a {
        padding: 8px 14px;
        border-radius: 10px;
        border: 1px solid var(--line);
        color: var(--primary);
        text-decoration: none;
        font-weight: 600;
    }

        .adm-pager a:hover {
            background: var(--bg);
        }

/* ---------- ადმინი: ტაბლეტი ---------- */
@media (max-width: 1020px) {
    .adm-stats {
        grid-template-columns: 1fr 1fr;
    }

    .adm-grid {
        grid-template-columns: 1fr;
    }
}

/* ---------- ადმინი: მობილური ---------- */
@media (max-width: 720px) {
    .adm-body, .adm-login-body {
        padding-bottom: 0;
    }

    .adm-header-inner {
        padding: 8px 12px;
        padding-top: calc(8px + env(safe-area-inset-top));
    }

    .adm-brand img {
        height: 32px;
    }

    .adm-link {
        padding: 9px 10px;
    }

        .adm-link .hide-sm {
            display: none;
        }

    .adm-main {
        padding: 16px 12px 32px;
    }

    .adm-title h1 {
        font-size: 20px;
    }

    .adm-title p {
        font-size: 12.5px;
        margin-bottom: 14px;
    }

    .adm-stats {
        gap: 10px;
    }

    .adm-stat {
        padding: 14px;
        border-radius: 14px;
    }

    .adm-stat-main {
        grid-column: 1 / -1;
    }

    .adm-stat-icon {
        width: 34px;
        height: 34px;
        margin-bottom: 8px;
    }

        .adm-stat-icon svg {
            width: 18px;
            height: 18px;
        }

    .adm-stat-value {
        font-size: 24px;
    }

    .adm-stat-main .adm-stat-value {
        font-size: 30px;
    }

    .adm-stat-foot {
        font-size: 11.5px;
    }

    .adm-card {
        padding: 16px 14px;
        border-radius: 14px;
    }

    .adm-chart {
        height: 160px;
        gap: 3px;
    }

    .adm-col-day {
        font-size: 9px;
        transform: rotate(-50deg);
        margin-top: 10px;
    }

    .adm-col-num {
        font-size: 10px;
    }

    .adm-filters {
        gap: 8px;
    }

    .adm-search {
        min-width: 100%;
    }

    .adm-tabs {
        flex: 1;
    }

        .adm-tabs label {
            flex: 1;
        }

        .adm-tabs span {
            text-align: center;
            padding: 8px 6px;
            font-size: 12.5px;
        }

    .adm-filter-btn {
        padding: 12px 16px;
    }

    .adm-export {
        padding: 8px 12px;
        font-size: 13px;
    }

    /* ცხრილი → ბარათები */
    .adm-table-wrap {
        border: 0;
        overflow: visible;
    }

    .adm-table thead {
        display: none;
    }

    .adm-table, .adm-table tbody, .adm-table tr, .adm-table td {
        display: block;
        width: 100%;
    }

        .adm-table tr {
            border: 1px solid var(--line);
            border-radius: 14px;
            padding: 10px 14px;
            margin-bottom: 10px;
            background: #fff;
        }

        .adm-table tbody tr:hover {
            background: #fff;
        }

        .adm-table td {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 12px;
            padding: 6px 0;
            border-bottom: 1px dashed #eef3f5;
            text-align: right;
        }

        .adm-table tbody tr td:last-child {
            border-bottom: 0;
        }

        .adm-table td::before {
            content: attr(data-label);
            font-size: 12px;
            font-weight: 500;
            color: var(--muted);
            text-align: left;
            flex-shrink: 0;
        }

        .adm-table .num {
            text-align: right;
        }

        .adm-table .small {
            max-width: none;
        }

        .adm-table td[data-label="#"] {
            display: none;
        }
        /* ნომერი მობილურზე არ ჩანს */
        .adm-table td {
            padding: 5px 0;
        }

    /* მცირე ციფრები: სამი ერთ რიგში */
    .adm-stats {
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
    }

    .adm-stat:not(.adm-stat-main) {
        padding: 12px 10px;
        text-align: center;
    }

        .adm-stat:not(.adm-stat-main) .adm-stat-icon {
            margin: 0 auto 6px;
        }

        .adm-stat:not(.adm-stat-main) .adm-stat-foot {
            display: none;
        }

        .adm-stat:not(.adm-stat-main) .adm-stat-label {
            font-size: 11.5px;
        }
}

/* =========================================================
   ბილეთის ძებნა (FindTicket) + მთავარი გვერდის ღილაკები
   ========================================================= */

/* ზედა ზოლის ღილაკი „ბილეთის ძებნა“ — ლინკია, ყოველთვის ჩანს */
a.vm-header-find {
    text-decoration: none;
    transition: background .2s;
}

    a.vm-header-find:hover {
        background: rgba(255, 255, 255, .22);
    }

/* მთავარ გვერდზე: „უკვე დარეგისტრირდით?“ ბანერი */
.vm-find-banner {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    margin: -8px 0 22px;
    border-radius: 14px;
    border: 1.5px dashed #b9dade;
    background: #f6fbfb;
    text-decoration: none;
    color: var(--ink);
    transition: border-color .2s, background .2s;
}

    .vm-find-banner:hover {
        border-color: var(--accent);
        background: var(--accent-soft);
    }

.vm-find-banner-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: #fff;
    color: var(--primary);
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(6, 62, 80, .08);
}

    .vm-find-banner-icon svg {
        width: 22px;
        height: 22px;
    }

.vm-find-banner-text {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

    .vm-find-banner-text strong {
        font-size: 15px;
    }

    .vm-find-banner-text span {
        font-size: 13px;
        color: var(--muted);
    }

.vm-find-banner-arrow {
    width: 20px;
    height: 20px;
    color: var(--accent);
    flex-shrink: 0;
}

/* ვიწრო მთავარი ბლოკი */
.vm-main-narrow {
    max-width: 640px;
}

/* ძებნის ფორმა */
.vm-find-form {
    display: flex;
    gap: 10px;
}

.vm-find-input {
    flex: 1;
}

    .vm-find-input .vm-input {
        height: 56px;
        font-size: 18px;
        letter-spacing: .5px;
    }

.vm-find-btn {
    padding: 0 24px;
    min-height: 56px;
}

.vm-find-result {
    margin-top: 24px;
}

/* ინფორმაციული / გამაფრთხილებელი შეტყობინებები */
.vm-alert-info {
    background: #eaf6f8;
    border-color: #c4e3e8;
    color: var(--primary-dark);
}

    .vm-alert-info a {
        color: var(--primary);
        font-weight: 700;
        white-space: nowrap;
    }

.vm-alert-warn {
    background: #fff6e6;
    border-color: #f5dba8;
    color: #7a5210;
}

/* ---------- ბილეთი ---------- */
.vm-ticket {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(6, 62, 80, .14);
    border: 1px solid var(--line);
    background: #fff;
}

.vm-ticket-top {
    padding: 22px 24px 26px;
    color: #fff;
    background: linear-gradient(135deg, var(--primary-dark), var(--primary) 60%, var(--accent));
}

.vm-ticket.vip .vm-ticket-top {
    background: linear-gradient(135deg, #6b4a08, #b07d14 55%, #e0ad45);
}

.vm-ticket-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .18);
    font-size: 12.5px;
    font-weight: 600;
    margin-bottom: 12px;
}

    .vm-ticket-badge svg {
        width: 14px;
        height: 14px;
    }

.vm-ticket-event {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
}

.vm-ticket-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    margin-top: 8px;
    font-size: 13.5px;
    opacity: .9;
}

/* გახეული ხაზი ორ ნაწილს შორის */
.vm-ticket-cut {
    position: relative;
    height: 0;
    border-top: 2px dashed var(--line);
    margin: 0 18px;
}

    .vm-ticket-cut::before, .vm-ticket-cut::after {
        content: "";
        position: absolute;
        top: -13px;
        width: 24px;
        height: 24px;
        border-radius: 50%;
        background: #fff; /* პანელის ფერი — „ამონაჭერის“ ეფექტი */
        box-shadow: inset 0 0 0 1px var(--line);
    }

    .vm-ticket-cut::before {
        left: -31px;
    }

    .vm-ticket-cut::after {
        right: -31px;
    }

.vm-ticket-body {
    padding: 20px 24px 24px;
}

.vm-ticket-rows {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 20px;
}

    .vm-ticket-rows div {
        display: flex;
        flex-direction: column;
        gap: 2px;
        min-width: 0;
    }

    .vm-ticket-rows span {
        font-size: 12px;
        color: var(--muted);
    }

    .vm-ticket-rows strong {
        font-size: 15px;
        word-break: break-word;
    }

.vm-ticket-qr {
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid var(--line);
    text-align: center;
}

.vm-qr-box {
    width: 220px;
    height: 220px;
    margin: 0 auto;
    padding: 12px;
    background: #fff;
    border-radius: 16px;
    border: 1px solid var(--line);
    box-shadow: 0 6px 20px rgba(6, 62, 80, .08);
}

    .vm-qr-box svg {
        width: 100%;
        height: 100%;
        display: block;
    }

.vm-qr-code {
    margin-top: 12px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--primary-dark);
    word-break: break-all;
}

.vm-qr-download {
    margin: 16px auto 0;
    display: inline-flex;
    text-decoration: none;
}

.vm-qr-note {
    margin: 12px 0 0;
    font-size: 13px;
    color: var(--muted);
}

/* ---------- გადაუხდელის ბილეთის არჩევა (კომპაქტური ბარათები) ---------- */
.vm-types-compact {
    margin-top: 18px;
    gap: 14px;
}

    .vm-types-compact .vm-card {
        padding: 18px;
    }

    .vm-types-compact .vm-card-top {
        margin-bottom: 10px;
    }

    .vm-types-compact .vm-price {
        padding: 10px 0;
        margin-bottom: 14px;
        border-bottom: 0;
    }

    .vm-types-compact .vm-price-num {
        font-size: 30px;
    }

.vm-pay-btn {
    width: 100%;
    justify-content: center;
    margin-top: 18px;
}

/* ---------- ვერ მოიძებნა ---------- */
.vm-empty-state {
    text-align: center;
    padding: 24px 8px 8px;
}

.vm-empty-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 14px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--bg);
    color: var(--muted);
}

    .vm-empty-icon svg {
        width: 30px;
        height: 30px;
    }

.vm-empty-state h3 {
    margin: 0 0 6px;
    font-size: 19px;
}

.vm-empty-state p {
    margin: 0 0 18px;
    color: var(--muted);
    font-size: 14px;
}

.vm-empty-state .vm-btn {
    display: inline-flex;
    text-decoration: none;
}

@media (max-width: 720px) {
    .vm-find-banner {
        margin: -4px 0 16px;
        padding: 12px;
        gap: 12px;
    }

    .vm-find-banner-icon {
        width: 38px;
        height: 38px;
    }

    .vm-find-banner-text strong {
        font-size: 14px;
    }

    .vm-find-banner-text span {
        font-size: 12px;
    }

    .vm-find-form {
        flex-direction: column;
    }

    .vm-find-btn {
        width: 100%;
        justify-content: center;
        min-height: 52px;
    }

    .vm-find-input .vm-input {
        height: 52px;
        font-size: 17px;
    }

    .vm-ticket-top {
        padding: 18px 18px 22px;
    }

    .vm-ticket-event {
        font-size: 19px;
    }

    .vm-ticket-meta {
        font-size: 12.5px;
    }

    .vm-ticket-body {
        padding: 18px;
    }

    .vm-ticket-rows {
        gap: 12px 14px;
    }

        .vm-ticket-rows strong {
            font-size: 14px;
        }

    .vm-qr-box {
        width: 200px;
        height: 200px;
    }

    .vm-qr-download {
        width: 100%;
        justify-content: center;
    }

    .vm-types-compact .vm-card {
        padding: 14px;
    }
}

/* ძებნის ღილაკი პატარა ეკრანზეც ჩანს */
@media (max-width: 360px) {
    .vm-header-contact.vm-header-find {
        display: inline-flex;
    }
}

/* გვერდები ქვედა ფიქსირებული ზოლის გარეშე (მაგ. ბილეთის ძებნა) */
@media (max-width: 720px) {
    body.vm-no-bar {
        padding-bottom: env(safe-area-inset-bottom);
    }

    .vm-types-compact .vm-price {
        margin-bottom: 0;
    }
}

/* მთავარ გვერდზე: პატარა ბმული „უკვე დარეგისტრირდით? ნახეთ ბილეთი“ */
.vm-find-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: -8px 0 20px;
    padding: 8px 14px;
    border-radius: 10px;
    background: var(--accent-soft);
    color: var(--primary-dark);
    font-size: 13.5px;
    text-decoration: none;
    transition: background .2s;
}

    .vm-find-link:hover {
        background: #d3f0ed;
    }

    .vm-find-link strong {
        color: var(--primary);
    }

    .vm-find-link svg {
        flex-shrink: 0;
        color: var(--primary);
    }

@media (max-width: 720px) {
    .vm-find-link {
        margin: -4px 0 16px;
        font-size: 12.5px;
        padding: 7px 12px;
    }
}

/* =========================================================
   ადმინ პანელი — მენიუ, ჩანაწერი, ფასები, სკანერი
   ========================================================= */

/* ---------- მენიუ ---------- */
.adm-nav {
    display: flex;
    gap: 4px;
}

    .adm-nav a {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        padding: 9px 14px;
        border-radius: 10px;
        color: var(--muted);
        text-decoration: none;
        font-size: 14px;
        font-weight: 600;
    }

        .adm-nav a:hover {
            background: var(--bg);
            color: var(--primary);
        }

        .adm-nav a.active {
            background: var(--accent-soft);
            color: var(--primary);
        }

/* ---------- ციფრები / სტატუსები (დამატებები) ---------- */
.adm-stat-icon.in {
    background: #e8eefc;
    color: #3558c7;
}

.adm-stat-of {
    font-size: 16px;
    color: var(--muted);
    font-weight: 600;
}

.adm-status.in {
    color: #3558c7;
}

    .adm-status.in::before {
        background: #4f75e8;
    }

.adm-status.big {
    font-size: 14px;
    padding: 7px 14px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid var(--line);
}

.adm-row-action {
    text-align: right;
    white-space: nowrap;
}

    .adm-row-action a {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        padding: 6px 10px;
        border-radius: 8px;
        color: var(--primary);
        font-size: 13px;
        font-weight: 600;
        text-decoration: none;
    }

        .adm-row-action a:hover {
            background: var(--accent-soft);
        }

/* ---------- ჩანაწერის გვერდი ---------- */
.adm-main-narrow {
    max-width: 980px;
}

.adm-back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--muted);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    margin-bottom: 12px;
}

    .adm-back:hover {
        color: var(--primary);
    }

.adm-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.adm-edit-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 16px;
    align-items: start;
}

.adm-input {
    height: 46px;
    padding-left: 14px;
}

.adm-save-btn {
    margin-top: 18px;
    padding: 13px 22px;
    box-shadow: none;
    font-size: 15px;
}

.adm-info-rows {
    display: grid;
    gap: 12px;
}

    .adm-info-rows div {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
        padding-bottom: 12px;
        border-bottom: 1px dashed var(--line);
    }

        .adm-info-rows div:last-child {
            border-bottom: 0;
            padding-bottom: 0;
        }

    .adm-info-rows span {
        color: var(--muted);
        font-size: 13px;
    }

    .adm-info-rows strong {
        font-size: 14px;
        text-align: right;
        word-break: break-all;
    }

    .adm-info-rows .mono {
        letter-spacing: 1px;
    }

.adm-qr {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
}

    .adm-qr .vm-qr-box {
        width: 170px;
        height: 170px;
    }

.adm-muted {
    color: var(--muted);
    font-size: 14px;
    line-height: 1.6;
    margin: 0 0 14px;
}

.adm-inline-form {
    margin-top: 14px;
}

.adm-btn-soft, .adm-btn-danger {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 14px;
    border-radius: 10px;
    border: 1px solid var(--line);
    background: #fff;
    font-family: inherit;
    font-size: 13.5px;
    font-weight: 600;
    cursor: pointer;
}

.adm-btn-soft {
    color: var(--primary);
}

    .adm-btn-soft:hover {
        background: var(--bg);
    }

.adm-btn-danger {
    color: #c62828;
    border-color: #f3caca;
}

    .adm-btn-danger:hover {
        background: #fdecec;
    }

.adm-tabs-full {
    display: flex;
    width: 100%;
}

    .adm-tabs-full label {
        flex: 1;
    }

    .adm-tabs-full span {
        text-align: center;
    }

/* ---------- ფასები ---------- */
.adm-settings-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.adm-settings-card {
    border-top: 4px solid var(--accent);
}

    .adm-settings-card.vip {
        border-top-color: var(--gold);
    }

    .adm-settings-card .vm-field {
        margin-top: 14px;
    }

.adm-settings-head {
    display: flex;
    align-items: center;
    gap: 8px;
}

    .adm-settings-head h2 {
        margin: 0;
        flex: 1;
    }

.adm-settings-sold {
    font-size: 12.5px;
    color: var(--muted);
    background: var(--bg);
    padding: 4px 10px;
    border-radius: 999px;
}

.adm-price-input {
    position: relative;
}

    .adm-price-input .vm-input {
        padding-right: 40px;
        font-size: 20px;
        font-weight: 700;
    }

    .adm-price-input span {
        position: absolute;
        right: 14px;
        top: 50%;
        transform: translateY(-50%);
        font-weight: 700;
        color: var(--muted);
    }

.adm-textarea {
    height: auto;
    min-height: 100px;
    padding: 12px 14px;
    line-height: 1.6;
    resize: vertical;
}

.adm-note {
    display: flex;
    gap: 10px;
    margin-top: 16px;
    padding: 14px 16px;
    border-radius: 14px;
    background: #fff6e6;
    border: 1px solid #f5dba8;
    color: #7a5210;
    font-size: 13.5px;
    line-height: 1.55;
}

    .adm-note svg {
        flex-shrink: 0;
        margin-top: 1px;
    }

/* ---------- სკანერი ---------- */
.scan-main {
    max-width: 560px;
}

.scan-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

    .scan-top h1 {
        margin: 0;
        font-size: 22px;
    }

.scan-counter {
    text-align: right;
}

    .scan-counter > span {
        display: block;
        font-size: 12px;
        color: var(--muted);
    }

    .scan-counter strong {
        font-size: 22px;
    }

.scan-cam {
    position: relative;
    aspect-ratio: 1 / 1;
    width: 100%;
    border-radius: 22px;
    overflow: hidden;
    background: #0b1f26;
    display: grid;
    place-items: center;
}

    .scan-cam video {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: 0;
    }

    .scan-cam.live video {
        opacity: 1;
    }

.scan-frame {
    position: absolute;
    inset: 14%;
    border-radius: 18px;
    pointer-events: none;
    opacity: .35;
}

.scan-cam.live .scan-frame {
    opacity: 1;
    box-shadow: 0 0 0 999px rgba(0, 0, 0, .35);
    border: 3px solid rgba(255, 255, 255, .9);
}

.scan-frame span {
    position: absolute;
    left: 8%;
    right: 8%;
    top: 50%;
    height: 2px;
    background: #5ff0df;
    box-shadow: 0 0 12px #5ff0df;
    animation: scan-line 2s ease-in-out infinite;
}

@keyframes scan-line {
    0%, 100% {
        top: 12%;
    }

    50% {
        top: 88%;
    }
}

.scan-cam-msg {
    position: relative;
    color: rgba(255, 255, 255, .75);
    font-size: 14px;
    text-align: center;
    padding: 0 24px;
    margin-top: -60px;
}

.scan-cam.live .scan-cam-msg {
    display: none;
}

.scan-cam.error .scan-cam-msg {
    color: #ffb4b4;
}

.scan-start {
    position: absolute;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
}

.scan-manual {
    display: flex;
    gap: 8px;
    margin-top: 14px;
}

    .scan-manual .vm-input {
        padding-left: 14px;
        height: 50px;
        text-transform: uppercase;
    }

        .scan-manual .vm-input::placeholder {
            text-transform: none;
        }

    .scan-manual .vm-btn {
        box-shadow: none;
        padding: 0 18px;
        white-space: nowrap;
    }

.scan-hint {
    font-size: 12.5px;
    color: var(--muted);
    text-align: center;
    margin: 12px 0 0;
}

/* შედეგი — სრულ ეკრანზე */
.scan-result {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(6, 30, 38, .55);
    backdrop-filter: blur(3px);
}

    .scan-result.show {
        display: flex;
    }

.scan-result-box {
    width: 100%;
    max-width: 420px;
    border-radius: 26px;
    padding: 28px 24px 22px;
    text-align: center;
    color: #fff;
    box-shadow: 0 30px 80px rgba(0, 0, 0, .35);
    animation: scan-pop .18s ease-out;
}

@keyframes scan-pop {
    from {
        transform: scale(.92);
        opacity: 0;
    }

    to {
        transform: scale(1);
        opacity: 1;
    }
}

.scan-result.ok .scan-result-box {
    background: linear-gradient(160deg, #1a9b55, #11753f);
}

.scan-result.used .scan-result-box, .scan-result.error .scan-result-box {
    background: linear-gradient(160deg, #d64545, #a82727);
}

.scan-result.unpaid .scan-result-box {
    background: linear-gradient(160deg, #e39a2b, #b8731a);
}

.scan-result.wait .scan-result-box {
    background: linear-gradient(160deg, var(--primary), var(--primary-dark));
}

.scan-result-icon {
    width: 84px;
    height: 84px;
    margin: 0 auto 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .18);
    display: grid;
    place-items: center;
}

    .scan-result-icon svg {
        display: none;
    }

.scan-result.ok .i-ok {
    display: block;
}

.scan-result.used .i-bad, .scan-result.error .i-bad, .scan-result.unpaid .i-bad {
    display: block;
}

.scan-result.wait .i-wait {
    display: block;
}

.scan-result-title {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.25;
}

.scan-result-text {
    font-size: 15px;
    opacity: .9;
    margin-top: 6px;
}

.scan-result-person {
    margin-top: 18px;
    padding: 14px;
    border-radius: 16px;
    background: rgba(255, 255, 255, .14);
}

    .scan-result-person:empty, .scan-result.wait .scan-result-person {
        display: none;
    }

.scan-result-name {
    font-size: 20px;
    font-weight: 700;
}

.scan-result-card {
    font-size: 15px;
    opacity: .9;
    margin-top: 2px;
    letter-spacing: .5px;
}

.scan-result-ticket {
    display: inline-block;
    margin-top: 8px;
    padding: 4px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .22);
    font-weight: 700;
    font-size: 14px;
}

    .scan-result-ticket:empty {
        display: none;
    }

    .scan-result-ticket.vip {
        background: #f3c150;
        color: #5a3d00;
    }

.scan-result-actions {
    display: flex;
    gap: 10px;
    margin-top: 18px;
}

.scan-result.wait .scan-result-actions {
    display: none;
}

.scan-next {
    flex: 1;
    padding: 14px;
    border: 0;
    border-radius: 14px;
    background: #fff;
    color: var(--ink);
    font-family: inherit;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
}

.scan-link {
    display: inline-flex;
    align-items: center;
    padding: 0 14px;
    border-radius: 14px;
    background: rgba(255, 255, 255, .18);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

/* ---------- ადმინი: ტაბლეტი / მობილური ---------- */
@media (max-width: 1020px) {
    .adm-nav a span {
        display: none;
    }
}

@media (max-width: 720px) {
    /* მენიუ → ქვედა ფიქსირებული ზოლი (ტელეფონზე სკანერისთვის მოსახერხებელი) */
    .adm-body {
        padding-bottom: calc(66px + env(safe-area-inset-bottom));
    }

    .adm-nav {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 60;
        background: #fff;
        border-top: 1px solid var(--line);
        padding: 6px 8px;
        padding-bottom: calc(6px + env(safe-area-inset-bottom));
        justify-content: space-around;
        box-shadow: 0 -6px 20px rgba(6, 62, 80, .08);
    }

        .adm-nav a {
            flex-direction: column;
            gap: 2px;
            padding: 6px 10px;
            font-size: 11px;
            flex: 1;
            justify-content: center;
        }

            .adm-nav a span {
                display: block;
            }

            .adm-nav a svg {
                width: 22px;
                height: 22px;
            }

    .adm-edit-grid, .adm-settings-grid {
        grid-template-columns: 1fr;
    }

    .adm-row-action {
        text-align: center;
    }

    .adm-table td.adm-row-action {
        justify-content: center;
        border-bottom: 0;
    }

        .adm-table td.adm-row-action::before {
            display: none;
        }

    .adm-row-action a {
        width: 100%;
        justify-content: center;
        background: var(--accent-soft);
        padding: 9px;
    }

    .scan-top h1 {
        font-size: 19px;
    }

    .scan-cam {
        border-radius: 18px;
    }

    .scan-result-title {
        font-size: 24px;
    }
}

/* ---------- ღონისძიების ინფორმაცია (ფასების გვერდზე) ---------- */
.adm-event-card {
    display: block;
    margin-bottom: 26px;
    border-top: 4px solid var(--primary);
}

    .adm-event-card .adm-settings-head svg {
        color: var(--primary);
    }

.adm-event-grid {
    margin-top: 14px;
}

.adm-optional {
    font-weight: 400;
    color: var(--muted);
    font-size: 12.5px;
}

.adm-section-title {
    margin: 0 0 12px;
    font-size: 18px;
}
