/*
 * Cổng công khai /Portal (Views/Shared/_Portal.cshtml + Views/Portal/*).
 * Cùng tông HỒNG SEN với trang đăng nhập (css/pages/login.css) — đổi tông chỉ cần sửa nhóm biến :root.
 * Không dùng font/tài nguyên ngoài: cổng có thể chạy trong mạng không ra Internet.
 */
:root {
    --pt-primary: #c2185b;
    --pt-primary-dark: #880e4f;
    --pt-primary-light: #ec6f9a;
    --pt-primary-rgb: 194, 24, 91;
    --pt-bg: #fbf3f6;
    --pt-surface: #ffffff;
    --pt-text: #2b2d31;
    --pt-muted: #6b7280;
    --pt-border: #ead7df;
    --pt-radius: .75rem;
    --pt-shadow: 0 6px 24px rgba(136, 14, 79, .08);
}

body.pt-body {
    background: var(--pt-bg);
    color: var(--pt-text);
    font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.pt-skip {
    position: absolute;
    left: -999px;
    top: 0;
    background: #fff;
    padding: .5rem 1rem;
    z-index: 2000;
}
.pt-skip:focus { left: 1rem; }

/* ===== Đầu trang ===== */
.pt-header {
    background: linear-gradient(120deg, var(--pt-primary-dark) 0%, var(--pt-primary) 60%, var(--pt-primary-light) 100%);
    color: #fff;
    position: relative;
    overflow: hidden;   /* đầu trang tách khỏi thanh menu nên cắt họa tiết không đụng dropdown */
}
.pt-header-inner { position: relative; z-index: 1; }

/* ----- Họa tiết bông sen ẩn hiện (đầu trang + chân trang) -----
   Nét trắng (images/portal/lotus.svg), độ mờ thấp + "thở" chậm; ai tắt hiệu ứng chuyển động thì đứng yên. */
.pt-header::before, .pt-header::after,
.pt-footer::before, .pt-footer::after {
    content: "";
    position: absolute;
    pointer-events: none;
    background: url("/images/portal/lotus.svg") no-repeat center / contain;
}
.pt-header::before {   /* bông lớn bên phải, phía sau số tổng đài */
    width: 240px; height: 168px; right: 12%; bottom: -46px;
    animation: pt-lotus 7s ease-in-out infinite;
}
.pt-header::after {    /* bông nhỏ giữa đầu trang, lệch nhịp */
    width: 120px; height: 84px; right: 38%; top: -18px; transform: rotate(-12deg);
    animation: pt-lotus 7s ease-in-out -3.5s infinite;
}
.pt-footer { position: relative; overflow: hidden; }
.pt-footer > .container { position: relative; z-index: 1; }
.pt-footer::before {   /* bông lớn góc dưới phải */
    width: 300px; height: 210px; right: -40px; bottom: -40px;
    animation: pt-lotus-soft 8s ease-in-out infinite;
}
.pt-footer::after {    /* hàng sen nhỏ chạy dọc mép dưới */
    left: 0; right: 0; bottom: 6px; height: 34px;
    background-repeat: repeat-x; background-size: 48px 34px; background-position: left bottom;
    opacity: .05;
}
@keyframes pt-lotus      { 0%, 100% { opacity: .07; } 50% { opacity: .2; } }
@keyframes pt-lotus-soft { 0%, 100% { opacity: .04; } 50% { opacity: .11; } }
@media (prefers-reduced-motion: reduce) {
    .pt-header::before, .pt-header::after { animation: none; opacity: .12; }
    .pt-footer::before { animation: none; opacity: .07; }
}
@media (max-width: 767.98px) {   /* màn hẹp: chỉ giữ bông lớn, nhỏ lại cho khỏi đè chữ */
    .pt-header::after { display: none; }
    .pt-header::before { width: 150px; height: 105px; right: -20px; bottom: -30px; }
    .pt-footer::before { width: 200px; height: 140px; }
}
.pt-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: .9rem;
    padding-bottom: .9rem;
}
.pt-brand {
    display: flex;
    align-items: center;
    gap: .85rem;
    color: #fff;
    min-width: 0;
}
.pt-brand:hover { color: #fff; text-decoration: none; }
.pt-brand img {
    width: 58px;
    height: 58px;
    object-fit: contain;
    background: #fff;
    border-radius: 50%;
    padding: 4px;
    flex: 0 0 auto;
}
.pt-brand-text { display: flex; flex-direction: column; min-width: 0; }
.pt-brand-org { font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; opacity: .9; }
.pt-brand-name { font-size: 1.35rem; font-weight: 700; line-height: 1.25; }
.pt-hotline {
    display: flex;
    align-items: center;
    gap: .6rem;
    color: #fff;
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 999px;
    padding: .35rem 1rem .35rem .45rem;
    white-space: nowrap;
}
.pt-hotline:hover { color: #fff; text-decoration: none; background: rgba(255, 255, 255, .22); }
.pt-hotline i {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #fff;
    color: var(--pt-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.pt-hotline span { display: flex; flex-direction: column; line-height: 1.1; }
.pt-hotline small { opacity: .85; }
.pt-hotline b { font-size: 1.4rem; }

/* ===== Menu ===== */
.pt-nav {
    background: #fff;
    border-bottom: 3px solid var(--pt-primary);
    box-shadow: 0 2px 10px rgba(0, 0, 0, .04);
    padding-top: 0;
    padding-bottom: 0;
    position: sticky;
    top: 0;
    z-index: 1020;
}
.pt-nav .nav-link {
    color: var(--pt-text);
    font-weight: 600;
    padding: .95rem .8rem !important;
    border-bottom: 3px solid transparent;
    margin-bottom: -3px;
    white-space: nowrap;
}

/* Cổng rộng hơn khung chuẩn Bootstrap (1140px) để thanh menu đủ chỗ trên một dòng */
@media (min-width: 1200px) {
    .pt-body .container { max-width: 1320px; }
}
/* Màn hình trung bình (laptop nhỏ): thu khoảng cách + cỡ chữ menu, ẩn biểu tượng để không tràn dòng */
@media (min-width: 992px) and (max-width: 1399.98px) {
    .pt-nav .nav-link { padding: .95rem .55rem !important; font-size: .92rem; }
    .pt-nav .pt-btn-login { padding-left: .8rem; padding-right: .8rem; font-size: .92rem; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .pt-nav .navbar-nav > .nav-item > .nav-link > i { display: none; }
    .pt-nav .nav-link { padding: .95rem .45rem !important; font-size: .88rem; }
}
.pt-nav .nav-link:hover,
.pt-nav .nav-item.active > .nav-link {
    color: var(--pt-primary);
    border-bottom-color: var(--pt-primary);
}
.pt-nav .dropdown-menu { border-color: var(--pt-border); border-radius: .5rem; box-shadow: var(--pt-shadow); }
.pt-nav .dropdown-item { white-space: normal; padding: .55rem 1rem; }
.pt-nav .dropdown-item:active { background: var(--pt-primary); }

/* Menu xổ rộng, từng mục dạng thẻ — cùng kiểu danh sách chọn của select2 */
.pt-nav .pt-dd {
    min-width: 360px; padding: .4rem; margin-top: .4rem;
    border: 1px solid var(--pt-border); border-radius: .65rem;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .12);
}
.pt-nav .pt-dd .dropdown-item {
    display: flex; align-items: center; gap: .75rem;
    padding: .6rem .8rem; border-radius: .45rem;
    color: var(--pt-text); font-weight: 500; line-height: 1.3;
    transition: background-color .12s ease, color .12s ease;
}
.pt-nav .pt-dd .dropdown-item + .dropdown-item { margin-top: .15rem; }
.pt-nav .pt-dd .dropdown-item > i:first-child {
    flex: 0 0 2rem; height: 2rem; border-radius: .45rem;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(var(--pt-primary-rgb), .08); color: var(--pt-primary);
}
.pt-nav .pt-dd .dropdown-item > span { flex: 1 1 auto; min-width: 0; }
.pt-nav .pt-dd .dropdown-item small { display: block; margin-top: .1rem; font-weight: 400; font-size: .8rem; color: var(--pt-muted); }
.pt-nav .pt-dd .pt-dd-ext { font-size: .75rem; color: var(--pt-muted); }
.pt-nav .pt-dd .dropdown-item:hover,
.pt-nav .pt-dd .dropdown-item:focus,
.pt-nav .pt-dd .dropdown-item:active { background: var(--pt-primary); color: #fff; }
.pt-nav .pt-dd .dropdown-item:hover small, .pt-nav .pt-dd .dropdown-item:focus small,
.pt-nav .pt-dd .dropdown-item:hover .pt-dd-ext, .pt-nav .pt-dd .dropdown-item:focus .pt-dd-ext { color: rgba(255, 255, 255, .8); }
.pt-nav .pt-dd .dropdown-item:hover > i:first-child,
.pt-nav .pt-dd .dropdown-item:focus > i:first-child { background: rgba(255, 255, 255, .2); color: #fff; }
.pt-nav .pt-dd .dropdown-item.active { background: rgba(var(--pt-primary-rgb), .1); color: var(--pt-primary-dark); font-weight: 600; }
.pt-nav .navbar-toggler { color: var(--pt-primary); border: 0; padding: .75rem 0; font-weight: 600; }
.pt-btn-login {
    background: var(--pt-primary);
    color: #fff;
    border-radius: 999px;
    padding: .4rem 1.1rem;
    font-weight: 600;
}
.pt-btn-login:hover { background: var(--pt-primary-dark); color: #fff; }

/* ===== Thân trang ===== */
.pt-main { flex: 1 0 auto; padding: 1.75rem 0 2.5rem; }
.pt-breadcrumb {
    background: transparent;
    padding: 0;
    margin-bottom: 1rem;
    font-size: .9rem;
}
.pt-breadcrumb a { color: var(--pt-primary); }
.pt-page-title {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--pt-primary-dark);
    margin-bottom: 1.25rem;
}
.pt-card {
    background: var(--pt-surface);
    border: 1px solid var(--pt-border);
    border-radius: var(--pt-radius);
    box-shadow: var(--pt-shadow);
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}
.pt-card-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--pt-primary-dark);
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: .5rem;
}
.pt-card-title i { color: var(--pt-primary); }
.pt-article { line-height: 1.7; text-align: justify; }
.pt-article p:last-child { margin-bottom: 0; }
.pt-article table { width: 100%; margin-bottom: 1rem; }
.pt-article table td, .pt-article table th { border: 1px solid #dee2e6; padding: .4rem .6rem; }

.btn-pt {
    background: var(--pt-primary);
    border-color: var(--pt-primary);
    color: #fff;
    font-weight: 600;
}
.btn-pt:hover, .btn-pt:focus { background: var(--pt-primary-dark); border-color: var(--pt-primary-dark); color: #fff; }
.btn-pt-outline { border: 1px solid var(--pt-primary); color: var(--pt-primary); background: #fff; font-weight: 600; }
.btn-pt-outline:hover { background: var(--pt-primary); color: #fff; }

/* ===== Trang chủ ===== */
.pt-hero {
    background: #fff;
    border: 1px solid var(--pt-border);
    border-radius: var(--pt-radius);
    box-shadow: var(--pt-shadow);
    padding: 2rem;
    margin-bottom: 1.5rem;
    position: relative;
    overflow: hidden;
}
.pt-hero::after {
    content: "";
    position: absolute;
    right: -60px;
    top: -60px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(var(--pt-primary-rgb), .14) 0, transparent 70%);
}
.pt-hero h1 { font-size: 1.7rem; font-weight: 700; color: var(--pt-primary-dark); }
.pt-hero p { color: var(--pt-muted); font-size: 1.05rem; max-width: 46rem; }
.pt-quick { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-bottom: 1.5rem; }
.pt-quick a {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    background: #fff;
    border: 1px solid var(--pt-border);
    border-radius: var(--pt-radius);
    padding: 1.25rem;
    color: var(--pt-text);
    box-shadow: var(--pt-shadow);
    transition: transform .15s ease, border-color .15s ease;
}
.pt-quick a:hover { text-decoration: none; transform: translateY(-2px); border-color: var(--pt-primary-light); }
.pt-quick i {
    font-size: 1.3rem;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, var(--pt-primary-dark), var(--pt-primary-light));
}
.pt-quick b { display: block; font-size: 1.05rem; color: var(--pt-primary-dark); }
.pt-quick span { color: var(--pt-muted); font-size: .92rem; }

/* Số liệu: mỗi chỉ số một dòng gọn (nhãn trái - số phải) để số lớn (hàng trăm nghìn) vẫn vừa khung hẹp */
.pt-stats { display: flex; flex-direction: column; gap: .4rem; }
.pt-stat {
    display: flex; align-items: center; justify-content: space-between; gap: .75rem;
    padding: .5rem .75rem; border-radius: .5rem; background: #fafafa; border: 1px solid var(--pt-border);
}
.pt-stat span { display: inline-flex; align-items: center; gap: .45rem; color: var(--pt-muted); font-size: .88rem; white-space: nowrap; }
.pt-stat span i { width: 1rem; text-align: center; font-size: .85rem; }
.pt-stat b { font-size: 1.05rem; line-height: 1.2; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pt-stat.is-received b, .pt-stat.is-received i { color: #2e7d32; }
.pt-stat.is-processing b, .pt-stat.is-processing i { color: #ef6c00; }
.pt-stat.is-resolved b, .pt-stat.is-resolved i { color: var(--pt-primary); }

.pt-list { list-style: none; padding: 0; margin: 0; }
.pt-list li { padding: .65rem 0; border-bottom: 1px dashed var(--pt-border); }
.pt-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.pt-list a { color: var(--pt-text); font-weight: 600; }
.pt-list a:hover { color: var(--pt-primary); }
.pt-list .pt-meta { display: block; color: var(--pt-muted); font-size: .85rem; margin-top: .15rem; }

/* ===== Gửi PAKN ===== */
.pt-form label { font-weight: 600; }
.pt-form .form-control { border-radius: .5rem; }
.pt-form .form-control:focus { border-color: var(--pt-primary-light); box-shadow: 0 0 0 .2rem rgba(var(--pt-primary-rgb), .15); }
.pt-radio-group { display: flex; flex-wrap: wrap; gap: .25rem 1.75rem; padding-top: .15rem; }
.pt-radio-group .icheck-inline + .icheck-inline { margin-left: 0; }

/* icheck-bootstrap (AdminLTE) màu hồng của cổng — plugin không có sẵn màu này */
.icheck-pink > label { color: var(--pt-text); }
.icheck-pink > input:first-child + label::before { border-color: #d9c2cc; background: #fff; transition: border-color .15s ease, background-color .15s ease; }
.icheck-pink > input:first-child:not(:checked):not(:disabled):hover + label::before { border-color: var(--pt-primary); }
.icheck-pink > input:first-child:checked + label::before { background-color: var(--pt-primary); border-color: var(--pt-primary); }
.icheck-pink > input:first-child:checked + label { color: var(--pt-primary-dark); font-weight: 600; }
.icheck-pink > input:first-child:focus-visible + label::before { box-shadow: 0 0 0 .2rem rgba(var(--pt-primary-rgb), .2); }
.pt-captcha { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.pt-captcha img { height: 46px; border: 1px solid var(--pt-border); border-radius: .5rem; background: #fff; }
.pt-captcha .form-control { max-width: 180px; text-transform: uppercase; letter-spacing: .15em; }
.pt-trap { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.pt-drop {
    border: 2px dashed var(--pt-border);
    border-radius: .6rem;
    padding: 1rem;
    text-align: center;
    color: var(--pt-muted);
    cursor: pointer;
    background: #fff;
}
.pt-drop.is-over { border-color: var(--pt-primary); background: rgba(var(--pt-primary-rgb), .04); }
.pt-files { list-style: none; padding: 0; margin: .5rem 0 0; }
.pt-files li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .5rem;
    padding: .35rem .6rem;
    border: 1px solid var(--pt-border);
    border-radius: .4rem;
    margin-bottom: .35rem;
    font-size: .92rem;
}
.pt-files li .btn { padding: 0 .4rem; }
.pt-note { background: #fff8e1; border: 1px solid #ffe08a; border-radius: var(--pt-radius); padding: 1.25rem; }
.pt-note .pt-card-title { color: #8a6100; }
.pt-note .pt-card-title i { color: #e0a800; }

.pt-success { text-align: center; padding: 2.5rem 1.5rem; }
.pt-success .pt-success-icon {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    background: #e8f5e9;
    color: #2e7d32;
    font-size: 2.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
}
.pt-code {
    display: inline-block;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: .08em;
    color: var(--pt-primary-dark);
    background: rgba(var(--pt-primary-rgb), .07);
    border: 1px dashed var(--pt-primary-light);
    border-radius: .6rem;
    padding: .35rem 1.25rem;
    margin: .5rem 0 1rem;
}

/* ===== Tra cứu ===== */
.pt-search { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: 1rem; }
.pt-search .form-control { flex: 1 1 260px; border-radius: .5rem; }
.pt-search select.form-control,
.pt-search .select2-container { flex: 0 1 300px; }

/* ---------- Select2 theo tông cổng ---------- */
.select2-container--bootstrap4 .select2-selection { border-radius: .5rem; }
.select2-container--bootstrap4.select2-container--focus .select2-selection,
.select2-container--bootstrap4.select2-container--open .select2-selection {
    border-color: var(--pt-primary-light);
    box-shadow: 0 0 0 .2rem rgba(var(--pt-primary-rgb), .15);
}
.select2-container--bootstrap4 .select2-results__option--highlighted,
.select2-container--bootstrap4 .select2-results__option--highlighted.select2-results__option[aria-selected=true] {
    background-color: var(--pt-primary); color: #fff;
}
.select2-container--bootstrap4 .select2-results__option[aria-selected=true] { background-color: rgba(var(--pt-primary-rgb), .08); color: var(--pt-text); }
.dataTables_length .select2-container { min-width: 4.5rem; display: inline-block; vertical-align: middle; margin: 0 .25rem; }
/* table-layout: fixed -> cột nội dung lấy phần rộng còn lại thay vì giãn theo tiêu đề dài (để cắt "..." được);
   màn hẹp giữ tối thiểu 640px và cuộn ngang trong .table-responsive */
.pt-results { width: 100% !important; table-layout: fixed; min-width: 560px; }
.pt-results thead th { background: rgba(var(--pt-primary-rgb), .06); border-bottom-width: 1px; white-space: nowrap; }
.pt-results td { vertical-align: top; padding-top: .6rem; padding-bottom: .6rem; }
/* Cột nội dung: cả ô là link sang chi tiết — tiêu đề 1 dòng, nội dung 2 dòng, dư thì "..." */
.pt-results .pt-r-link { display: block; color: var(--pt-text); text-decoration: none; min-width: 0; }
.pt-results .pt-r-link:hover .pt-r-title { color: var(--pt-primary); text-decoration: underline; }
.pt-results .pt-r-link:focus-visible { outline: 2px solid rgba(var(--pt-primary-rgb), .4); outline-offset: 2px; border-radius: .2rem; }
.pt-results .pt-r-title {
    display: block; font-weight: 600; color: var(--pt-text); line-height: 1.45;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color .15s ease;
}
/* Cột người phản ánh: tên 1 dòng, dưới là SĐT + ngày nhận (chữ nhỏ, có biểu tượng) */
.pt-results .pt-r-caller { font-weight: 500; line-height: 1.45; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pt-results .pt-r-meta { font-size: .8rem; color: var(--pt-muted); line-height: 1.5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pt-results .pt-r-meta i { width: 1rem; margin-right: .3rem; text-align: center; opacity: .75; }
.pt-results .pt-r-summary {
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2;
    overflow: hidden; color: var(--pt-muted); font-size: .9rem; line-height: 1.45; margin-top: .15rem; word-break: break-word;
}
.page-item.active .page-link { background-color: var(--pt-primary); border-color: var(--pt-primary); }
.page-link { color: var(--pt-primary); }
.pt-side .pt-card { padding: 1.15rem; }

/* ===== Chi tiết ===== */
.pt-qa { display: flex; gap: 1rem; margin-bottom: 1.25rem; }
.pt-qa-icon {
    flex: 0 0 46px;
    height: 46px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    color: #fff;
}
.pt-qa.is-question .pt-qa-icon { background: #607d8b; }
.pt-qa.is-answer .pt-qa-icon { background: var(--pt-primary); }
.pt-qa-body { flex: 1; min-width: 0; }
.pt-qa-label { font-weight: 700; margin-bottom: .35rem; }
.pt-qa.is-answer .pt-qa-body { background: rgba(var(--pt-primary-rgb), .04); border-radius: .6rem; padding: 1rem; }
.pt-post-meta { color: var(--pt-muted); font-size: .9rem; display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; margin-bottom: 1rem; }
.pt-rate { display: flex; gap: .5rem; justify-content: flex-end; flex-wrap: wrap; }
.pt-rate .btn { border-radius: 999px; font-weight: 600; }

/* ===== Hướng dẫn ===== */
.pt-guide-group { font-size: 1.15rem; font-weight: 700; color: var(--pt-primary-dark); margin: 1.5rem 0 .75rem; }
.pt-guide-group:first-child { margin-top: 0; }
.pt-guide-files { list-style: none; padding: 0; margin: 1rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.pt-guide-files a {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    border: 1px solid var(--pt-border);
    border-radius: 999px;
    padding: .35rem .9rem;
    color: var(--pt-primary-dark);
    background: #fff;
    font-size: .92rem;
}
.pt-guide-files a:hover { border-color: var(--pt-primary); text-decoration: none; background: rgba(var(--pt-primary-rgb), .05); }

/* ===== Chân trang ===== */
.pt-footer {
    /* position/overflow + họa tiết bông sen: xem mục "Họa tiết bông sen" ở đầu file */
    background: #3a0a22;
    color: rgba(255, 255, 255, .85);
    padding: 2.25rem 0 1rem;
    font-size: .93rem;
}
.pt-footer a { color: #ffc1d8; }
.pt-footer-title { color: #fff; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; margin-bottom: .75rem; }
.pt-footer-info p { margin-bottom: .45rem; }
.pt-contacts, .pt-footer-links { list-style: none; padding: 0; margin: 0; }
.pt-contacts li, .pt-footer-links li { margin-bottom: .4rem; }
.pt-contacts i { color: #ff8fb8; margin-right: .35rem; }
.pt-contact-label { color: rgba(255, 255, 255, .65); }
/* ===== Nút về đầu trang (hồng, góc dưới phải, hiện khi cuộn sâu) ===== */
.pt-to-top {
    position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 1030;
    width: 46px; height: 46px; border: 0; border-radius: 50%;
    background: linear-gradient(135deg, var(--pt-primary-light), var(--pt-primary) 55%, var(--pt-primary-dark));
    color: #fff; font-size: 1.05rem;
    box-shadow: 0 6px 18px rgba(var(--pt-primary-rgb), .35);
    opacity: 0; visibility: hidden; transform: translateY(12px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s, box-shadow .15s ease;
    cursor: pointer;
}
.pt-to-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.pt-to-top:hover { transform: translateY(-3px); box-shadow: 0 10px 22px rgba(var(--pt-primary-rgb), .45); }
.pt-to-top:focus-visible { outline: 3px solid rgba(var(--pt-primary-rgb), .35); outline-offset: 3px; }
@media (max-width: 575.98px) { .pt-to-top { right: .85rem; bottom: .85rem; width: 42px; height: 42px; } }
@media (prefers-reduced-motion: reduce) { .pt-to-top { transition: none; } }

.pt-copy { border-top: 1px solid rgba(255, 255, 255, .12); padding-top: .9rem; text-align: center; color: rgba(255, 255, 255, .55); }

@media (max-width: 991.98px) {
    .pt-quick { grid-template-columns: 1fr; }
    .pt-nav .nav-link { padding: .65rem .25rem !important; border-bottom: 0; margin: 0; }
    .pt-nav .pt-dd { min-width: 0; margin-top: 0; box-shadow: none; }
    .pt-btn-login { margin: .5rem 0 1rem; }
}
@media (max-width: 575.98px) {
    .pt-brand img { width: 44px; height: 44px; }
    .pt-brand-name { font-size: 1.05rem; }
    .pt-hotline span { display: none; }
    .pt-hotline { padding: .35rem; }
    .pt-card, .pt-hero { padding: 1.1rem; }
    .pt-qa { flex-direction: column; gap: .5rem; }
}

.pt-about p { margin-bottom: .45rem; }
.pt-about p:last-child { margin-bottom: 0; }
.pt-icon-warn { background: #fff4e5 !important; color: #e65100 !important; }
