/* ===== Get Ticket（Visitor Pre-registration） ===== */

.vt-banner { width:100%; line-height:0; }
.vt-banner img { display:block; width:100%; height:auto; }

.vt-wrap { background:#f5f6fa; padding:36px 0 60px; }
.vt-card {
    background:#fff; border-radius:14px; box-shadow:0 6px 24px rgba(20,33,99,.08);
    padding:48px 60px;
}
.vt-card h1 {
    text-align:center; font-size:30px; color:#29415d;
    margin:0 0 30px; font-weight:700;
}
.vt-card p { color:#333; line-height:1.9; font-size:15px; margin:0 0 18px; }
.vt-card p strong { color:#29415d; font-weight:700; }
.vt-card .vt-tip { color:#3758e3; font-weight:500; }
.vt-card .vt-tip a { color:#3758e3; text-decoration:underline; }

.vt-form { max-width:560px; margin:32px auto 10px; }
.vt-row { display:flex; align-items:center; gap:14px; margin-bottom:18px; flex-wrap:wrap; }
.vt-row .vt-req { color:#d04545; font-weight:700; width:14px; flex:none; }
.vt-row .vt-lbl { color:#333; font-size:15px; width:60px; flex:none; }
.vt-row input[type=email], .vt-row input[type=text] {
    flex:1; min-width:240px; height:40px; padding:0 14px;
    border:1px solid #d6d6e0; border-radius:6px; font-size:14px;
    outline:none; background:#fff; transition:border-color .2s;
}
.vt-row input:focus { border-color:#1f2e7a; }
.vt-send {
    background:#103bab; color:#fff; border:none; height:40px;
    padding:0 26px; border-radius:6px; font-size:14px; font-weight:600; cursor:pointer;
    transition:background .2s;
}
.vt-send:hover { background:#0b2f92; }
.vt-privacy {
    display:flex; align-items:center; gap:8px; color:#555;
    font-size:14px; margin:8px 0 24px 102px;
}
.vt-privacy label { flex:1; }
.vt-privacy a { color:#1f2e7a; text-decoration:none; }
.vt-privacy a:hover { text-decoration:underline; }

.vt-sub {
    color:#103bab; font-weight:700; font-size:20px;
    margin:30px 0 16px;
}
.vt-list { margin:0 0 18px; padding:0; list-style:none; }
.vt-list li { color:#333; line-height:2; font-size:15px; }
.vt-list li a { color:#1f2e7a; text-decoration:underline; }
.vt-strong { color:#1f2e7a; font-weight:700; }
.vt-strong a { color:inherit; }
.vt-grant { color:#3758e3; }
.vt-grant a { color:#3758e3; }

.vt-info p { margin:0 0 6px; color:#333; font-size:15px; }
.vt-info p b { color:#29415d; }

.vt-h { color:#103bab; font-weight:700; font-size:20px; margin:30px 0 14px; }
.vt-hrs ul { margin:0; padding-left:22px; color:#333; font-size:15px; line-height:1.95; }

.vt-toast {
    position:fixed; top:50%; left:50%; transform:translate(-50%,-50%);
    background:rgba(31,46,122,.95); color:#fff; padding:14px 26px;
    border-radius:8px; font-size:15px; display:none; z-index:9999;
}
.vt-toast.is-show { display:block; }

/* ===== Coming Soon Modal ===== */
.vt-mask {
    position:fixed; inset:0; background:rgba(0,0,0,.5);
    display:flex; align-items:center; justify-content:center;
    z-index:9998;
}
.vt-modal {
    width:90%; max-width:680px; background:#fff; border-radius:8px;
    overflow:hidden; box-shadow:0 12px 40px rgba(0,0,0,.25);
}
.vt-modal-hd {
    background:#2067f4; color:#fff;
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 24px;
}
.vt-modal-hd h3 { margin:0; font-size:24px; font-weight:700; color:#fff; }
.vt-modal-close {
    background:transparent; border:0; color:#fff;
    font-size:32px; line-height:1; cursor:pointer; padding:0 4px;
}
.vt-modal-body { padding:32px 32px 36px; }
.vt-modal-info {
    background:#e6f0ff; border:1px solid #3d71ff; border-left:6px solid #3d71ff;
    border-radius:6px; padding:40px 24px 40px 28px;
    text-align:center; margin-bottom:26px;
}
.vt-modal-icon {
    width:54px; height:54px; margin:0 auto 18px;
}
.vt-modal-icon img { width:100%; height:100%; display:block; object-fit:contain; }
.vt-modal-info p { margin:0; color:#333; font-size:18px; line-height:1.7; }
.vt-modal-tip {
    text-align:center; color:#888; font-size:15px; margin:0 0 22px;
    white-space:nowrap;
}
.vt-modal-tip em {
    color:#2067f4; font-style:normal; font-weight:700;
    font-size:17px; display:inline;
}
.vt-modal-btn {
    display:block; text-align:center; background:#1f67f1; color:#fff;
    text-decoration:none; padding:18px 0; font-size:20px; font-weight:700;
    border-radius:6px; transition:background .2s;
}
.vt-modal-btn:hover { background:#1750c8; }

@media (max-width:768px) {
    .vt-card { padding:28px 18px; margin:0 12px; }
    .vt-card h1 { font-size:24px; }
    .vt-privacy { margin-left:0; }
    .vt-row { gap:8px; }
    .vt-row .vt-lbl { width:auto; }
    .vt-modal { width:94%; }
    .vt-modal-hd { padding:14px 18px; }
    .vt-modal-hd h3 { font-size:18px; }
    .vt-modal-body { padding:22px 18px 26px; }
    .vt-modal-info { padding:30px 14px; }
    .vt-modal-info p { font-size:15px; }
    .vt-modal-btn { font-size:17px; padding:14px 0; }
}
