/* ============================================================
   Gospel Mobile App â€” Base App Styles
   (variables.css and component CSS files loaded via wp_enqueue_style in functions.php)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&family=Merriweather:ital,wght@0,400;0,700;1,400&display=swap');

/* â”€â”€ Reset & Base â”€â”€ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
[hidden] { display: none !important; } /* ensure hidden attribute is never overridden by component CSS */

html {
    font-size: var(--font-size-md);
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
    overscroll-behavior: none;
    /* Aurora base â€” liquid glass background */
    background: var(--aurora-base);
    min-height: 100dvh;
    position: relative;
}

/* Aurora orbs â€” fixed behind everything */
html::before {
    content: '';
    position: fixed;
    inset: 0;
    background:
        radial-gradient(ellipse 80% 70% at 15%   0%,  var(--aurora-1) 0%, transparent 70%),
        radial-gradient(ellipse 65% 80% at 88%   8%,  var(--aurora-2) 0%, transparent 70%),
        radial-gradient(ellipse 90% 55% at 55%  98%,  var(--aurora-3) 0%, transparent 70%),
        radial-gradient(ellipse 55% 60% at  4%  88%,  var(--aurora-4) 0%, transparent 70%);
    z-index: -1;
    pointer-events: none;
}

body {
    font-family: var(--font-base);
    background: transparent;  /* aurora from html shows through */
    color: var(--text);
    min-height: 100dvh;
    max-width: var(--app-max-width);
    margin: 0 auto;
    position: relative;
    overflow-x: hidden;
}

a { color: var(--color-primary); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; display: block; }
button { cursor: pointer; font-family: inherit; }

/* â”€â”€ App Layout â”€â”€ */
#app {
    display: flex;
    flex-direction: column;
    min-height: 100dvh;
}

#app-header {
    position: sticky;
    top: 0;
    z-index: 100;
    height: var(--header-height);
    /* â€” Liquid glass â€” */
    background: var(--glass-bg-header);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    color: var(--text);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 var(--space-4);
    border-bottom: 1px solid var(--glass-border);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(255,255,255,0.80);
}
.header-brand {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}
.header-cross {
    font-size: 1.7rem;
    opacity: .90;
    filter: drop-shadow(0 1px 3px rgba(80,20,130,.25));
}
.header-title-wrap {
    display: flex;
    flex-direction: column;
}
#app-header .app-title {
    font-size: var(--font-size-lg);
    font-weight: 800;
    letter-spacing: -.4px;
    line-height: 1.15;
    color: var(--color-primary);
}
.header-date {
    font-size: 10px;
    color: var(--text-muted);
    font-weight: 500;
    letter-spacing: .2px;
    margin-top: 1px;
}
#app-header .header-actions {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}
#app-header button {
    background: var(--glass-bg-subtle);
    backdrop-filter: var(--glass-blur-light);
    -webkit-backdrop-filter: var(--glass-blur-light);
    border: 1px solid var(--glass-border);
    color: var(--color-primary);
    font-size: 1.2rem;
    width: 36px; height: 36px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    transition: background var(--transition-fast), box-shadow var(--transition-fast);
    box-shadow: 0 2px 8px rgba(0,0,0,0.06), inset 0 1px 0 rgba(255,255,255,0.70);
}
#app-header button:hover {
    background: rgba(255,255,255,.62);
    box-shadow: 0 4px 12px rgba(0,0,0,0.10), inset 0 1px 0 rgba(255,255,255,0.80);
}
#btn-header-share svg {
    width: 18px;
    height: 18px;
    display: block;
}

.global-share-title {
    margin: 0 0 6px;
    font-size: 1.08rem;
    font-weight: 800;
    color: var(--text);
}
.global-share-sub {
    margin: 0 0 12px;
    font-size: .86rem;
    color: var(--text-muted);
}
.global-share-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}
.global-share-btn {
    min-height: 44px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,.5);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: .86rem;
    font-weight: 700;
    cursor: pointer;
    transition: transform var(--transition-fast), box-shadow var(--transition-fast), filter var(--transition-fast);
    text-decoration: none;
}
.global-share-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(15,23,42,.16);
    filter: saturate(1.06);
}
.global-share-btn:active {
    transform: scale(.98);
}
.global-share-btn__icon {
    font-size: 1rem;
    line-height: 1;
}
.global-share-btn--zalo {
    color: #fff;
    background: linear-gradient(145deg, #1677ff, #0052d8);
}
.global-share-btn--fb {
    color: #fff;
    background: linear-gradient(145deg, #2f89ff, #1668dc);
}
.global-share-btn--copy {
    color: #fff;
    background: linear-gradient(145deg, var(--color-primary), var(--color-primary-dark));
}
.global-share-close {
    width: 100%;
    margin-top: 10px;
    min-height: 42px;
    border-radius: 12px;
    border: 1px solid rgba(148,163,184,.36);
    background: rgba(255,255,255,.72);
    color: var(--text-secondary);
    font-size: .9rem;
    font-weight: 700;
}

#app-main {
    flex: 1;
    padding-bottom: calc(var(--nav-height) + var(--safe-bottom) + var(--space-4));
    overflow-y: auto;
}

#app-nav {
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    
    height: calc(var(--nav-height) + var(--safe-bottom));
    padding-bottom: var(--safe-bottom);
    /* â€” Liquid glass nav â€” */
    background: var(--glass-bg-strong);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border-top: 1px solid var(--glass-border);
    display: flex;
    align-items: stretch;
    z-index: 100;
    isolation: isolate;
    overflow: visible;
    box-shadow: 0 -4px 24px rgba(0,0,0,0.08), inset 0 1px 0 rgba(255,255,255,0.72);
}
#app-nav::before {
    content: '';
    position: absolute;
    left: 50%;
    top: -27px;
    transform: translateX(-50%);
    width: 80px;
    height: 26px;
    background: var(--glass-bg-strong);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border: 1px solid var(--glass-border);
    border-bottom: none;
    border-radius: 34px 35px 0 0;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.68);
    pointer-events: none;
    z-index: 0;
}
.nav-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    color: var(--text-muted);
    font-size: var(--font-size-xs);
    border: none;
    background: none;
    padding-top: 6px;
    transition: color var(--transition-fast);
    position: relative;
    z-index: 1;
}
.nav-item.active { color: var(--color-primary); }
.nav-item .nav-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px; height: 24px;
}
.nav-item .nav-icon svg { width: 24px; height: 24px; }
.nav-item .nav-label {font-size: 13px;font-weight: 600;}

/* â”€â”€ Loading spinner â”€â”€ */
.spinner {
    width: 40px; height: 40px;
    border: 3px solid var(--border);
    border-top-color: var(--color-primary);
    border-radius: 50%;
    animation: spin .7s linear infinite;
    margin: 40px auto;
}
@keyframes spin { to { transform: rotate(360deg); } }

.page-loading {
    display: flex; align-items: center; justify-content: center;
    padding: var(--space-8);
}

/* â”€â”€ Section headers â”€â”€ */
.section-title {
    font-size: var(--font-size-sm);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .8px;
    color: var(--text-muted);
    padding: var(--space-4) var(--space-4) var(--space-2);
}

/* â”€â”€ Cards â€” glass â”€â”€ */
.card {
    background: var(--glass-bg);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border-radius: var(--radius-md);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow);
    overflow: hidden;
}
.card + .card { margin-top: var(--space-3); }

/* â”€â”€ Buttons â”€â”€ */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-5);
    border-radius: var(--radius-full);
    font-size: var(--font-size-sm);
    font-weight: 600;
    border: none;
    transition: background var(--transition-fast), transform var(--transition-fast);
    user-select: none;
}
.btn:active { transform: scale(.97); }
.btn-primary { background: var(--color-primary); color: #fff; }
.btn-primary:hover { background: var(--color-primary-dark); }
.btn-outline { background: transparent; color: var(--color-primary); border: 1px solid var(--color-primary); }
.btn-ghost   { background: transparent; color: var(--text-muted); }
.btn-full    { width: 100%; }

/* Profile modal buttons / links */
.btn-profile-glass {
    background: linear-gradient(145deg, rgba(255,255,255,.82), rgba(255,255,255,.52));
    border: 1px solid var(--glass-border);
    color: var(--color-primary);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .12), inset 0 1px 0 rgba(255,255,255,.7);
    backdrop-filter: var(--glass-blur-light);
    -webkit-backdrop-filter: var(--glass-blur-light);
    font-weight: 700;
}
.btn-profile-glass:hover {
    background: linear-gradient(145deg, rgba(255,255,255,.9), rgba(255,255,255,.62));
    text-decoration: none;
}
.btn-profile-edit {
    padding: 6px 12px;
    font-size: .76rem;
    min-height: 30px;
    border-radius: 999px;
    gap: 6px;
}
.btn-profile-logout {
    color: var(--vestment-red);
}
.profile-community-link-wrap {
    margin-top: var(--space-3);
    text-align: center;
}
.profile-community-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: .86rem;
    font-weight: 700;
    color: var(--color-primary);
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid var(--glass-border);
    background: linear-gradient(145deg, rgba(255,255,255,.82), rgba(255,255,255,.5));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.68);
    backdrop-filter: var(--glass-blur-light);
    -webkit-backdrop-filter: var(--glass-blur-light);
}
.profile-community-link:hover {
    text-decoration: none;
    background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(255,255,255,.62));
}
.profile-community-link.is-disabled {
    opacity: .7;
    pointer-events: none;
}

/* â”€â”€ Input fields â”€â”€ */
.form-group { display: flex; flex-direction: column; gap: var(--space-1); margin-bottom: var(--space-4); }
.form-group label { font-size: var(--font-size-sm); font-weight: 600; color: var(--text-muted); }
input[type="text"], input[type="tel"], input[type="search"], select, textarea {
    width: 100%;
    padding: var(--space-3) var(--space-4);
    border: 1.5px solid var(--glass-border);
    border-radius: var(--radius-sm);
    font-size: var(--font-size-md);
    font-family: inherit;
    background: var(--glass-bg-strong);
    backdrop-filter: var(--glass-blur-light);
    -webkit-backdrop-filter: var(--glass-blur-light);
    color: var(--text);
    transition: border-color var(--transition-fast);
}
input:focus, select:focus, textarea:focus {
    outline: none;
    border-color: var(--color-primary);
}

/* â”€â”€ Badges â”€â”€ */
.badge {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 10px;
    border-radius: var(--radius-full);
    font-size: var(--font-size-xs);
    font-weight: 600;
}
.badge-primary { background: var(--color-primary-light); color: var(--color-primary); }
.badge-accent  { background: var(--color-accent-light);  color: #7a5c00; }
.badge-success { background: #d1fae5; color: #065f46; }

/* â”€â”€ Streak bar â€” glass pill â”€â”€ */
.streak-bar {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    background: rgba(255, 248, 210, 0.65);
    backdrop-filter: var(--glass-blur-light);
    -webkit-backdrop-filter: var(--glass-blur-light);
    border-radius: 5px;
    padding: var(--space-2) var(--space-4);
    margin: var(--space-3) var(--space-2) 0;
    border: 1px solid rgba(252, 211, 77, 0.50);
    box-shadow: 0 4px 16px rgba(249,168,37,.12), inset 0 1px 0 rgba(255,255,255,0.70);
}
.streak-bar .streak-fire  { font-size: 1.5rem; flex-shrink: 0; }
.streak-bar .streak-num   { font-size: var(--font-size-xl); font-weight: 700; color: #b07c00; }
.streak-bar .streak-label { font-size: var(--font-size-xs); color: #7a5c00; }
.streak-bar .streak-medal { font-size: 1.4rem; flex-shrink: 0; }
.streak-progress-track {
    flex: 1;
    height: 6px;
    background: #f0d060;
    border-radius: 3px;
    overflow: hidden;
    min-width: 40px;
}
.streak-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #f9a825, #ff8f00);
    border-radius: 3px;
    transition: width .6s ease;
}
.streak-bar .streak-score      { font-size: var(--font-size-sm); font-weight: 700; color: #b07c00; margin-left: auto; }
.streak-bar .streak-score-unit { font-size: var(--font-size-xs); color: #7a5c00; }

/* â”€â”€ Toast notifications â”€â”€ */
#toast-container {
    position: fixed;
    bottom: calc(var(--nav-height) + var(--safe-bottom) + var(--space-4));
    left: 50%;
    transform: translateX(-50%);
    z-index: 500;
    width: calc(100% - var(--space-8));
    max-width: 400px;
    pointer-events: none;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}
.toast {
    position: relative;
    background: linear-gradient(135deg, rgba(255,255,255,0.28), rgba(255,255,255,0.14));
    backdrop-filter: blur(14px) saturate(1.15);
    -webkit-backdrop-filter: blur(14px) saturate(1.15);
    color: #1f2937;
    padding: 12px 14px;
    border-radius: 16px;
    font-size: .92rem;
    font-weight: 600;
    border: 1px solid rgba(255,255,255,0.55);
    box-shadow: 0 14px 34px rgba(15,23,42,.22), inset 0 1px 0 rgba(255,255,255,.7);
    animation: toast-in .24s cubic-bezier(.2,.8,.2,1) forwards;
    display: flex;
    align-items: center;
    gap: 10px;
    overflow: hidden;
}
.toast::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(120deg, rgba(255,255,255,.35), transparent 45%, rgba(255,255,255,.12));
}
.toast-icon {
    width: 26px;
    height: 26px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: .84rem;
    color: #ffffff;
    background: linear-gradient(135deg, #475569, #1f2937);
    box-shadow: 0 4px 14px rgba(15,23,42,.28);
    flex-shrink: 0;
}
.toast-text {
    min-width: 0;
    line-height: 1.35;
}
.toast.success .toast-icon {
    background: linear-gradient(135deg, #22c55e, #0f766e);
}
.toast.error .toast-icon {
    background: linear-gradient(135deg, #ef4444, #b91c1c);
}
@keyframes toast-in {
    from { opacity:0; transform:translateY(10px) scale(.98); }
    to   { opacity:1; transform:translateY(0); }
}
@keyframes toast-out {
    from { opacity:1; transform:translateY(0) scale(1); }
    to   { opacity:0; transform:translateY(-6px) scale(.98); }
}

/* â”€â”€ Page sections â”€â”€ */
.page { display: none; }
.page.active { display: block; }

/* â”€â”€ Empty state â”€â”€ */
.empty-state {
    text-align: center;
    padding: var(--space-8) var(--space-4);
    color: var(--text-muted);
}
.empty-state .empty-icon { font-size: 3rem; margin-bottom: var(--space-3); }
.empty-state p { font-size: var(--font-size-sm); }

/* ── Daily Prayer Popup (Centered Overlay) ─────────────────────────────── */
.daily-prayer-overlay {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px calc(var(--safe-bottom) + 16px);
}
.daily-prayer-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(12, 14, 28, 0.48);
    backdrop-filter: blur(6px) saturate(1.06);
    -webkit-backdrop-filter: blur(6px) saturate(1.06);
}
.daily-prayer-center-card {
    position: relative;
    width: min(100%, 520px);
    border-radius: 22px;
    padding: 52px 20px 18px;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(255, 255, 255, 0.86);
    box-shadow:
        0 28px 64px rgba(10, 14, 35, 0.36),
        0 8px 24px rgba(16, 24, 40, 0.22),
        inset 0 1px 0 rgba(255,255,255,0.92);
}
.daily-prayer-center-icon {
    position: absolute;
    left: 50%;
    top: -36px;
    transform: translateX(-50%);
    width: 76px;
    height: 76px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(160deg, rgba(255,255,255,0.96), rgba(238,242,255,0.96));
    border: 4px solid #fff;
    box-shadow:
        0 10px 24px rgba(79, 70, 229, 0.30),
        inset 0 1px 0 rgba(255,255,255,.95);
}
.daily-prayer-center-icon svg {
    width: 62px;
    height: 62px;
    display: block;
}
.daily-prayer-title {
    margin: 0 0 10px;
    text-align: center;
    font-size: 1.22rem;
    font-weight: 800;
    color: var(--color-primary);
    letter-spacing: .01em;
}
.daily-prayer-content {
    margin: 0 0 14px;
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(138, 114, 210, 0.18);
    color: var(--text);
    font-size: 1.03rem;
    line-height: 1.62;
    max-height: min(38vh, 320px);
    overflow-y: auto;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
.daily-prayer-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
#btn-daily-prayer-amen,
#btn-daily-prayer-close {
    min-height: 48px;
    font-size: 1.1rem;
    font-weight: 700;
}
#btn-daily-prayer-amen:disabled {
    opacity: .9;
    cursor: not-allowed;
    background: rgba(149, 117, 235, .20);
    color: var(--color-primary);
}
#btn-daily-prayer-close {
    color: #667085;
}
@media (max-width: 420px) {
    .daily-prayer-center-card {
        border-radius: 20px;
        padding: 48px 14px 14px;
    }
    .daily-prayer-title {
        font-size: 1.14rem;
    }
    .daily-prayer-content {
        font-size: 0.98rem;
    }
}

/* ================================================================
   NEW FOOTER & DANH Má»¤C  (v1.3.0)
   ================================================================ */

/* â”€â”€ Center prominent nav button â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.nav-item--center {
    flex: 1.25;
    position: relative;
    padding-top: 0;
    color: var(--color-primary);
    transform: translateY(-10px);
}
.nav-center-icon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 60px;
    border-radius: 50%;
    margin-bottom: 8px;
    transform: translateY(0);
    background-image:
        linear-gradient(160deg, rgba(255,255,255,.20) 0%, rgba(255,255,255,0) 45%, rgba(0,0,0,.10) 100%),
        linear-gradient(145deg, var(--color-primary-dark, #003e80) 0%, var(--color-primary) 70%, #28b9d4 100%);
    border: 1px solid rgba(255,255,255,.42);
    box-shadow:
        0 12px 30px rgba(0, 85, 165, .34),
        0 2px 10px rgba(0, 45, 110, .25),
        inset 0 1px 0 rgba(255,255,255,.42),
        inset 0 -1px 0 rgba(0,0,0,.18);
    backdrop-filter: blur(8px) saturate(1.3);
    -webkit-backdrop-filter: blur(8px) saturate(1.3);
    transition: transform var(--transition-fast), box-shadow var(--transition-fast), filter var(--transition-fast);
}
.nav-center-icon::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,.24) 0%, transparent 56%);
    pointer-events: none;
}
.nav-center-icon::after {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.38);
    opacity: .8;
    pointer-events: none;
}
.nav-center-icon svg {
    width: 35px;
    height: 45px;
    color: #fff;
    stroke: #fff;
    stroke-width: 2.2;
    filter: drop-shadow(0 2px 6px rgba(0,0,0,.28));
}
.nav-item--center .nav-label {
    transform: translateY(0);
    font-weight: 800;
    letter-spacing: .01em;
}
.nav-item--center.active .nav-center-icon {
    filter: saturate(1.1);
    box-shadow:
        0 14px 34px rgba(0, 85, 165, .42),
        0 4px 12px rgba(0, 45, 110, .30),
        inset 0 1px 0 rgba(255,255,255,.48),
        inset 0 -1px 0 rgba(0,0,0,.24);
}
.nav-item--center:active .nav-center-icon { transform: scale(.96); }

/* â”€â”€ Danh má»¥c bottom sheet â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.danh-muc-sheet {
    position: fixed;
    inset: 0;
    z-index: 400;
}
.danh-muc-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.40);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.danh-muc-panel {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    max-width: var(--app-max-width);
    margin: 0 auto;
    background: var(--glass-bg-strong, rgba(255,255,255,0.96));
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border-radius: 24px 24px 0 0;
    padding: 16px 20px calc(env(safe-area-inset-bottom, 0px) + calc(var(--nav-height) + 8px));
    box-shadow: 0 -8px 40px rgba(0,0,0,0.15), inset 0 1px 0 rgba(255,255,255,0.60);
    border-top: 1px solid var(--glass-border);
    transform: translateY(100%);
    transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1);
}
.danh-muc-sheet.is-open .danh-muc-panel { transform: translateY(0); }
.danh-muc-handle {
    width: 36px; height: 4px;
    background: rgba(0,0,0,0.18);
    border-radius: 2px;
    margin: 0 auto 16px;
}
.danh-muc-title {
    font-size: var(--font-size-md);
    font-weight: 800;
    color: var(--text);
    text-align: center;
    margin: 0 0 16px;
}
.danh-muc-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 16px;
}
.danh-muc-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 14px 8px;
    border-radius: 16px;
    background: var(--glass-bg-subtle);
    border: 1px solid var(--glass-border);
    box-shadow: 0 2px 8px rgba(0,0,0,0.06), inset 0 1px 0 rgba(255,255,255,0.70);
    cursor: pointer;
    transition: background var(--transition-fast), transform var(--transition-fast);
}
.danh-muc-item:hover  { background: rgba(255,255,255,0.80); }
.danh-muc-item:active { transform: scale(.95); }
.danh-muc-icon { font-size: 1.8rem; line-height: 1; }
.danh-muc-icon svg {
    width: 24px;
    height: 24px;
    display: block;
    color: color-mix(in srgb, var(--color-primary) 78%, #64748b 22%);
}
.danh-muc-label {
    font-size: 11px;
    font-weight: 700;
    color: var(--text);
    text-align: center;
    line-height: 1.3;
}
.danh-muc-close {
    display: block;
    width: 100%;
    padding: 12px;
    border-radius: var(--radius-full);
    background: var(--glass-bg-subtle);
    border: 1px solid var(--glass-border);
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-muted);
    cursor: pointer;
    transition: background var(--transition-fast);
}
a:hover{text-decoration: none;}
.danh-muc-close:hover { background: rgba(255,255,255,0.75); }
.header-logo {
    height: 36px;
    width: auto;
    display: block;
}
/* Dark mode */
@media (prefers-color-scheme: dark) {
    .danh-muc-panel { background: rgba(25,25,35,0.97); }
    .nav-center-icon {
        border-color: rgba(255,255,255,.20);
        box-shadow:
            0 14px 34px rgba(0, 0, 0, .45),
            0 4px 12px rgba(0, 0, 0, .30),
            inset 0 1px 0 rgba(255,255,255,.20),
            inset 0 -1px 0 rgba(0,0,0,.28);
    }
    .nav-center-icon::after { border-color: rgba(255,255,255,.18); }
    .danh-muc-item { background: rgba(255,255,255,0.08); }
}
.modal-overlay input[type="text"],.modal-overlay  input[type="tel"],.modal-overlay  input[type="search"], .modal-overlay select,.modal-overlay  textarea {
    
    border: 1.5px solid rgba(155, 155, 155, 0.52);
    
}
.pq-overlay input[type="text"],.pq-overlay  input[type="tel"],.pq-overlay  input[type="search"], .pq-overlay select,.pq-overlay  textarea {
    
    border: 1.5px solid rgba(155, 155, 155, 0.52);
    
}
#pq-lib-search{border: 0px !important;}
@media (min-width: 768px) {
     body {
    
    max-width: 100%;
   
}
}
@media (min-width: 1024px) {
     body {
    
    max-width:1024px;
   
}
}
