/* ═══════════════════════════════════════════════════════════
   VENDOR SUPPORT LIBRARY – public.css v4.1
   ═══════════════════════════════════════════════════════════ */

/* ── 1. RESET & WRAPPER ─────────────────────────────────── */
/* .aipd-wrap đảm bảo CSS plugin không bị ghi đè bởi theme  */
.aipd-wrap {
    --aipd-primary:       #7c3aed;
    --aipd-primary-dark:  #6d28d9;
    --aipd-primary-light: #ede9fe;
    --aipd-secondary:     #06b6d4;
    --aipd-success:       #22c55e;
    --aipd-danger:        #ef4444;
    --aipd-warning:       #f59e0b;
    --aipd-g50:   #f9fafb;
    --aipd-g100:  #f3f4f6;
    --aipd-g200:  #e5e7eb;
    --aipd-g300:  #d1d5db;
    --aipd-g400:  #9ca3af;
    --aipd-g500:  #6b7280;
    --aipd-g700:  #374151;
    --aipd-g800:  #1f2937;
    --aipd-g900:  #111827;
    --aipd-r:     12px;
    --aipd-shadow: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);
    --aipd-shadow-md: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -2px rgba(0,0,0,.1);
    --aipd-shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);
    box-sizing: border-box;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    color: var(--aipd-g800);
    line-height: 1.6;
    width: 100%;
}
.aipd-wrap *, .aipd-wrap *::before, .aipd-wrap *::after { box-sizing: inherit; }
.aipd-wrap a { text-decoration: none; }
.aipd-wrap img { max-width: 100%; height: auto; }
.aipd-wrap h1,.aipd-wrap h2,.aipd-wrap h3,.aipd-wrap h4 { margin: 0; line-height: 1.3; }
.aipd-wrap p { margin: 0; }

/* ── 2. GRID ─────────────────────────────────────────────── */
.aipd-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(3, 1fr);
}
.aipd-grid--2 { grid-template-columns: repeat(2, 1fr); }
.aipd-grid--3 { grid-template-columns: repeat(3, 1fr); }
.aipd-grid--5 { grid-template-columns: repeat(5, 1fr); }
.aipd-grid--6 { grid-template-columns: repeat(6, 1fr); }

@media (max-width: 1280px) { .aipd-grid, .aipd-grid--4 { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 960px)  { .aipd-grid, .aipd-grid--3,.aipd-grid--4,.aipd-grid--5,.aipd-grid--6 { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px)  { .aipd-grid, .aipd-grid--2,.aipd-grid--3,.aipd-grid--4,.aipd-grid--5,.aipd-grid--6 { grid-template-columns: 1fr; } }

/* ── 3. BUTTONS ──────────────────────────────────────────── */
.aipd-btn {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 9px 18px; border-radius: 8px; font-size: .875rem; font-weight: 600;
    cursor: pointer; border: none; transition: all .18s ease; text-decoration: none;
    white-space: nowrap; line-height: 1.4; font-family: inherit;
}
.aipd-btn:hover { text-decoration: none; }
.aipd-btn--primary  { background: var(--aipd-primary); color: #fff; }
.aipd-btn--primary:hover  { background: var(--aipd-primary-dark); color: #fff; }
.aipd-btn--outline  { background: transparent; color: var(--aipd-primary); border: 2px solid var(--aipd-primary); }
.aipd-btn--outline:hover  { background: var(--aipd-primary-light); }
.aipd-btn--outline-white  { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.6); }
.aipd-btn--outline-white:hover { background: rgba(255,255,255,.15); color: #fff; }
.aipd-btn--white    { background: #fff; color: var(--aipd-primary); font-weight: 700; }
.aipd-btn--white:hover    { background: var(--aipd-g50); }
.aipd-btn--success  { background: var(--aipd-success); color: #fff; }
.aipd-btn--danger   { background: var(--aipd-danger);  color: #fff; }
.aipd-btn--zalo     { background: #0068ff; color: #fff; }
.aipd-btn--fb       { background: #1877f2; color: #fff; }
.aipd-btn--tw       { background: #1da1f2; color: #fff; }
.aipd-btn--sm       { padding: 6px 12px; font-size: .8rem; border-radius: 6px; }
.aipd-btn--lg       { padding: 13px 26px; font-size: 1rem; border-radius: 10px; }
.aipd-btn--block    { width: 100%; justify-content: center; }
.aipd-btn--icon     { padding: 8px; background: var(--aipd-g100); color: var(--aipd-g800); }

/* ── 4. AVATAR ───────────────────────────────────────────── */
.aipd-avatar {
    border-radius: 12px; display: flex; align-items: center; justify-content: center;
    font-weight: 800; color: #fff; flex-shrink: 0; letter-spacing: .5px; user-select: none;
}
.aipd-mini-avatar {
    width: 36px; height: 36px; border-radius: 8px; display: flex; align-items: center;
    justify-content: center; font-size: .75rem; font-weight: 800; color: #fff; flex-shrink: 0;
}

/* ── 5. BADGES ───────────────────────────────────────────── */
.aipd-badge { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: .73rem; font-weight: 700; }
.aipd-badge--free    { background: #dcfce7; color: #15803d; }
.aipd-badge--premium { background: #fef9c3; color: #854d0e; }
.aipd-badge--pro     { background: var(--aipd-primary-light); color: var(--aipd-primary-dark); }
.aipd-badge--featured{ background: #fef3c7; color: #92400e; }
.aipd-badge-info     { background: rgba(255,255,255,.2); color: #fff; padding: 4px 12px; border-radius: 20px; font-size: .8rem; font-weight: 600; }

/* ── 6. META PILLS ───────────────────────────────────────── */
.aipd-mpill {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 3px 10px; border-radius: 20px; font-size: .78rem; font-weight: 500;
    background: var(--aipd-g100); color: var(--aipd-g500); text-decoration: none;
    transition: background .15s;
}
a.aipd-mpill:hover { background: var(--aipd-g200); color: var(--aipd-g700); }
.aipd-mpill--cat  { background: var(--aipd-primary-light); color: var(--aipd-primary); }
.aipd-mpill--cat:hover { background: #ddd6fe; }
.aipd-mpill--tool { background: #e0e7ff; color: #3730a3; }
.aipd-mpill--stars { background: #fffbeb; color: #d97706; }

/* Pill button (for filters) */
.aipd-pill-btn {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 5px 12px; border-radius: 20px; font-size: .8rem; font-weight: 600;
    background: var(--aipd-g100); color: var(--aipd-g700); border: 1.5px solid var(--aipd-g200);
    cursor: pointer; text-decoration: none; transition: all .15s; line-height: 1.4;
}
.aipd-pill-btn:hover, .aipd-pill-btn.is-active {
    background: var(--aipd-primary); color: #fff; border-color: var(--aipd-primary);
}
.aipd-pill-btn--tool:hover, .aipd-pill-btn--tool.is-active  { background: #3730a3; border-color: #3730a3; }
.aipd-pill-btn--diff:hover, .aipd-pill-btn--diff.is-active  { background: #b45309; border-color: #b45309; }
.aipd-pill-btn--lang:hover, .aipd-pill-btn--lang.is-active  { background: #0369a1; border-color: #0369a1; }
.aipd-pill-label { font-size: .78rem; font-weight: 700; color: var(--aipd-g500); white-space: nowrap; }

.aipd-tool-tag {
    display: inline-block; padding: 3px 9px; border-radius: 6px;
    background: #e0e7ff; color: #3730a3; font-size: .75rem; font-weight: 700;
}

/* ── 7. STARS ────────────────────────────────────────────── */
.aipd-stars { color: #f59e0b; }

/* ═══════════════════════════════════════════════════════════
   8. ARCHIVE PAGE
   ═══════════════════════════════════════════════════════════ */
.aipd-archive { max-width: 1280px; margin: 0 auto; padding: 0 16px 60px; }

/* Hero */
.aipd-hero {
    background: linear-gradient(135deg, #5b21b6 0%, var(--aipd-primary) 40%, #a855f7 70%, var(--aipd-secondary) 100%);
    border-radius: var(--aipd-r); margin-bottom: 24px; overflow: hidden;
}
.aipd-hero__inner { padding: 48px 32px 40px; text-align: center; color: #fff; }
.aipd-hero__title { font-size: 2.1rem; font-weight: 800; margin-bottom: 10px; }
.aipd-hero__sub   { font-size: 1rem; opacity: .88; margin-bottom: 24px; }

.aipd-hero__search-box {
    display: flex; max-width: 500px; margin: 0 auto 18px;
    background: rgba(255,255,255,.18); backdrop-filter: blur(6px);
    border-radius: 10px; padding: 6px 6px 6px 14px; gap: 8px; align-items: center;
}
.aipd-hero__search-ico { font-size: 1.1rem; opacity: .7; flex-shrink: 0; }
.aipd-hero__search-box input {
    flex: 1; background: transparent; border: none; outline: none; color: #fff;
    font-size: .95rem; min-width: 0;
}
.aipd-hero__search-box input::placeholder { color: rgba(255,255,255,.65); }

.aipd-hero__stats {
    display: flex; gap: 14px; justify-content: center; font-size: .85rem;
    opacity: .85; flex-wrap: wrap; margin-top: 4px;
}
.aipd-hero__stats .sep { opacity: .4; }

/* Filters panel */
.aipd-filters {
    background: #fff; border-radius: var(--aipd-r); box-shadow: var(--aipd-shadow-md);
    padding: 18px 20px; margin-bottom: 24px;
}
.aipd-filters__dropdowns {
    display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 14px;
    padding-bottom: 14px; border-bottom: 1px solid var(--aipd-g100);
}
.aipd-fgroup { display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 140px; }
.aipd-fgroup label { font-size: .75rem; font-weight: 700; color: var(--aipd-g500); }
.aipd-select {
    padding: 8px 10px; border: 1.5px solid var(--aipd-g200); border-radius: 8px;
    font-size: .875rem; outline: none; background: #fff; cursor: pointer;
    transition: border-color .15s; font-family: inherit;
}
.aipd-select:focus { border-color: var(--aipd-primary); }

.aipd-filters__toolbar {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 8px;
    margin-top: 12px; padding-top: 12px;
    border-top: 1px solid var(--aipd-g100);
}
/* Sort nằm trái */
.aipd-sort-wrap { display: flex; flex-wrap: wrap; gap: 6px; }
/* Count + toggle nằm phải */
.aipd-toolbar-right { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.aipd-sort-btn {
    padding: 6px 13px; border-radius: 20px; border: 1.5px solid var(--aipd-g200);
    background: #fff; font-size: .8rem; font-weight: 600; cursor: pointer;
    transition: all .15s; font-family: inherit; color: var(--aipd-g700);
}
.aipd-sort-btn:hover, .aipd-sort-btn.is-active {
    background: var(--aipd-primary); color: #fff; border-color: var(--aipd-primary);
}
.aipd-count-badge {
    margin-left: auto; font-size: .82rem; color: var(--aipd-g400); font-weight: 600;
    background: var(--aipd-g100); padding: 4px 10px; border-radius: 20px;
}

.aipd-filters__pills { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }

/* Pagination */
.aipd-pagination {
    display: flex; justify-content: center; align-items: center;
    gap: 6px; padding: 32px 0; flex-wrap: wrap;
}
.aipd-page-btn {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 38px; height: 38px; padding: 0 8px; border-radius: 8px;
    font-size: .9rem; font-weight: 600; text-decoration: none;
    background: #fff; color: var(--aipd-g700); border: 1.5px solid var(--aipd-g200);
    transition: all .15s;
}
.aipd-page-btn:hover { border-color: var(--aipd-primary); color: var(--aipd-primary); background: var(--aipd-primary-light); }
.aipd-page-btn.is-active { background: var(--aipd-primary); color: #fff; border-color: var(--aipd-primary); }
.aipd-page-btn--nav { font-size: 1.1rem; }
.aipd-page-dots { display: inline-flex; align-items: center; color: var(--aipd-g400); padding: 0 4px; }

/* Loading */
.aipd-loading { text-align: center; padding: 40px; }
.aipd-spinner {
    display: inline-block; width: 38px; height: 38px;
    border: 4px solid var(--aipd-g200); border-top-color: var(--aipd-primary);
    border-radius: 50%; animation: aipd-spin .65s linear infinite;
}
@keyframes aipd-spin { to { transform: rotate(360deg); } }
.aipd-loading p { margin-top: 10px; color: var(--aipd-g400); font-size: .875rem; }

/* Empty */
.aipd-empty { text-align: center; padding: 60px 20px; }
.aipd-empty p { color: var(--aipd-g400); font-size: 1rem; margin-top: 12px; }
.aipd-empty a { color: var(--aipd-primary); }

/* ═══════════════════════════════════════════════════════════
   9. CARD
   ═══════════════════════════════════════════════════════════ */
.aipd-card {
    background: #fff; border-radius: var(--aipd-r); box-shadow: var(--aipd-shadow);
    padding: 16px; display: flex; flex-direction: column; gap: 10px;
    transition: box-shadow .2s, transform .2s; position: relative; overflow: hidden;
    border: 1px solid var(--aipd-g100);
}
.aipd-card:hover { box-shadow: var(--aipd-shadow-md); transform: translateY(-2px); border-color: var(--aipd-g200); }
/* Card top row: badge + category */
.aipd-card__top {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.aipd-card__top .aipd-badge { flex-shrink: 0; }
.aipd-card__cat-top { font-size: .75rem; color: var(--aipd-g400); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aipd-card__cat-top a { color: var(--aipd-primary); text-decoration: none; }
.aipd-card__cat-top a:hover { text-decoration: underline; }

/* Card header: avatar + title side by side */
.aipd-card__header { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 8px; }
.aipd-card__title { font-size: .92rem; font-weight: 700; margin: 0; line-height: 1.4; }
.aipd-card__title a { color: var(--aipd-g800); text-decoration: none; }
.aipd-card__title a:hover { color: var(--aipd-primary); }

.aipd-card__desc {
    font-size: .84rem; color: var(--aipd-g500); margin: 0; line-height: 1.5;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.aipd-card__tools { display: flex; flex-wrap: wrap; gap: 4px; }
.aipd-card__meta  { display: flex; flex-wrap: wrap; gap: 8px; font-size: .77rem; color: var(--aipd-g400); align-items: center; }
.aipd-card__footer { display: flex; gap: 8px; align-items: center; margin-top: auto; }
.aipd-card__footer .aipd-btn--primary { flex: 1; justify-content: center; font-size: .8rem; padding: 7px 12px; }

/* ═══════════════════════════════════════════════════════════
   10. CATEGORIES GRID
   ═══════════════════════════════════════════════════════════ */
.aipd-cat-card {
    display: flex; flex-direction: column; align-items: center; gap: 8px;
    padding: 22px 14px; background: #fff; border-radius: var(--aipd-r);
    box-shadow: var(--aipd-shadow); text-decoration: none;
    transition: all .2s; border: 2px solid transparent;
}
.aipd-cat-card:hover {
    border-color: var(--cat-color, var(--aipd-primary));
    transform: translateY(-3px); box-shadow: var(--aipd-shadow-md);
}
.aipd-cat-card__icon  { font-size: 2.4rem; line-height: 1; }
.aipd-cat-card__name  { font-size: .9rem; font-weight: 700; color: var(--aipd-g800); text-align: center; }
.aipd-cat-card__count { font-size: .77rem; color: var(--aipd-g400); }

/* ═══════════════════════════════════════════════════════════
   11. SINGLE PROMPT
   ═══════════════════════════════════════════════════════════ */
.aipd-single { max-width: 1200px; margin: 0 auto; padding: 20px 16px 60px; }

/* Breadcrumb */
.aipd-bc {
    display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
    font-size: .84rem; margin-bottom: 24px; color: var(--aipd-g400);
}
.aipd-bc a { color: var(--aipd-primary); text-decoration: none; }
.aipd-bc a:hover { text-decoration: underline; }
.aipd-bc__current { color: var(--aipd-g700); font-weight: 600; }

/* Layout */
.aipd-single__layout {
    display: grid; grid-template-columns: 1fr 320px; gap: 24px; align-items: start;
}
@media (max-width: 960px) { .aipd-single__layout { grid-template-columns: 1fr; } }

/* Header */
.aipd-single__hdr { display: flex; gap: 20px; align-items: flex-start; margin-bottom: 24px; }
.aipd-single__title { font-size: 1.6rem; font-weight: 800; margin-bottom: 8px; color: var(--aipd-g900); }
.aipd-single__sub   { font-size: .96rem; color: var(--aipd-g500); margin-bottom: 12px; }
.aipd-single__meta  { display: flex; flex-wrap: wrap; gap: 6px; }

/* Boxes */
.aipd-box {
    background: #fff; border-radius: var(--aipd-r); box-shadow: var(--aipd-shadow);
    margin-bottom: 20px; overflow: hidden; border: 1px solid var(--aipd-g100);
}
.aipd-box__head {
    display: flex; align-items: center; gap: 10px; padding: 14px 20px;
    border-bottom: 1px solid var(--aipd-g100); font-weight: 700;
    background: var(--aipd-g50);
}
.aipd-box__head h2 { font-size: 1rem; font-weight: 700; margin: 0; }
.aipd-box__head > span { font-size: 1.2rem; }
.aipd-box__body { padding: 20px; }
.aipd-content { line-height: 1.8; font-size: .92rem; color: var(--aipd-g700); }
.aipd-content p { margin-bottom: 12px; }
.aipd-content ul, .aipd-content ol { padding-left: 20px; margin-bottom: 12px; }

/* Prompt text box */
.aipd-prompt-box { background: var(--aipd-g50); }
.aipd-prompt-box pre {
    margin: 0; padding: 20px; white-space: pre-wrap; word-break: break-word;
    font-family: 'Courier New', monospace; font-size: .875rem; line-height: 1.75;
    color: var(--aipd-g800); max-height: 400px; overflow-y: auto;
}

/* Action buttons */
.aipd-ai-btns { display: flex; flex-wrap: wrap; gap: 10px; }
.aipd-ai-btn {
    display: inline-flex; align-items: center; gap: 8px; padding: 10px 20px;
    border-radius: 10px; font-weight: 700; font-size: .9rem; cursor: pointer;
    border: none; text-decoration: none; transition: all .18s; font-family: inherit;
}
.aipd-ai-btn--chatgpt { background: #10a37f; color: #fff; }
.aipd-ai-btn--chatgpt:hover { background: #0d9270; color: #fff; }
.aipd-ai-btn--gemini  { background: #4285f4; color: #fff; }
.aipd-ai-btn--gemini:hover  { background: #3367d6; color: #fff; }
.aipd-ai-btn--claude  { background: #d97706; color: #fff; }
.aipd-ai-btn--claude:hover  { background: #b45309; color: #fff; }

/* Variables table */
.aipd-table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.aipd-table th {
    background: var(--aipd-g50); padding: 10px 14px; text-align: left;
    font-weight: 700; border-bottom: 2px solid var(--aipd-g200); color: var(--aipd-g700);
}
.aipd-table td { padding: 9px 14px; border-bottom: 1px solid var(--aipd-g100); }
.aipd-table code {
    background: var(--aipd-primary-light); color: var(--aipd-primary);
    padding: 2px 7px; border-radius: 4px; font-size: .82rem;
}

/* Tips */
.aipd-tips { padding-left: 20px; }
.aipd-tips li { margin: 9px 0; font-size: .9rem; line-height: 1.6; color: var(--aipd-g500); }

/* Video embed */
.aipd-video-wrap {
    position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;
}
.aipd-video-wrap iframe {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
}

/* Gallery */
.aipd-gallery {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;
}
@media (max-width: 600px) { .aipd-gallery { grid-template-columns: repeat(2, 1fr); } }
.aipd-gallery__item { border-radius: 8px; overflow: hidden; aspect-ratio: 16/10; display: block; }
.aipd-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s; }
.aipd-gallery__item:hover img { transform: scale(1.04); }

/* Combo prompts */
.aipd-combo-list { display: flex; flex-direction: column; gap: 12px; }
.aipd-combo-item {
    display: flex; align-items: center; gap: 12px; padding: 12px 14px;
    background: var(--aipd-g50); border-radius: 10px; border: 1px solid var(--aipd-g200);
    transition: border-color .15s;
}
.aipd-combo-item:hover { border-color: var(--aipd-primary); }
.aipd-combo-item__info { flex: 1; min-width: 0; }
.aipd-combo-item__title {
    display: block; font-weight: 700; font-size: .9rem; color: var(--aipd-g800);
    text-decoration: none; margin-bottom: 3px;
}
.aipd-combo-item__title:hover { color: var(--aipd-primary); }
.aipd-combo-item__cat { font-size: .77rem; color: var(--aipd-g400); }
.aipd-combo-item__actions { display: flex; gap: 6px; flex-shrink: 0; }

/* FAQ */
.aipd-faq-item { border-bottom: 1px solid var(--aipd-g100); }
.aipd-faq-item:last-child { border-bottom: none; }
.aipd-faq-q {
    width: 100%; text-align: left; padding: 15px 20px; background: none; border: none;
    font-size: .92rem; font-weight: 600; cursor: pointer;
    display: flex; justify-content: space-between; align-items: center;
    gap: 12px; color: var(--aipd-g800); font-family: inherit;
}
.aipd-faq-q::after { content: '＋'; font-size: 1.1rem; color: var(--aipd-primary); flex-shrink: 0; transition: transform .2s; }
.aipd-faq-item.is-open .aipd-faq-q::after { transform: rotate(45deg); }
.aipd-faq-a {
    display: none; padding: 0 20px 16px; font-size: .88rem;
    line-height: 1.75; color: var(--aipd-g500);
}

/* Related */
.aipd-related { margin-top: 40px; }

/* Related prompt listing */
.aipd-related-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
}
.aipd-rel-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 16px;
  text-decoration: none;
  color: inherit;
  border-bottom: 1px solid #f3f4f6;
  transition: background .15s;
}
.aipd-rel-item:last-child { border-bottom: none; }
.aipd-rel-item:hover { background: #f8faff; }
.aipd-rel-item__num {
  font-size: .78rem;
  font-weight: 700;
  color: #9ca3af;
  min-width: 20px;
  text-align: center;
}
.aipd-rel-item__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.aipd-rel-item__title {
  font-size: .9rem;
  font-weight: 600;
  color: #111827;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.aipd-rel-item:hover .aipd-rel-item__title { color: var(--aipd-primary); }
.aipd-rel-item__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  font-size: .75rem;
  color: #9ca3af;
}
.aipd-rel-item__arrow {
  color: #d1d5db;
  font-size: .9rem;
  flex-shrink: 0;
}
.aipd-rel-item:hover .aipd-rel-item__arrow { color: var(--aipd-primary); }

/* View toggle toolbar */
.aipd-view-toggle {
  display: flex;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  overflow: hidden;
}
.aipd-view-btn {
  background: none;
  border: none;
  padding: 7px 10px;
  cursor: pointer;
  color: #9ca3af;
  display: flex;
  align-items: center;
  transition: background .15s, color .15s;
}
.aipd-view-btn:hover { background: #f3f4f6; color: #374151; }
.aipd-view-btn.is-active { background: var(--aipd-primary); color: #fff; }

/* Listing view container */
#js-aipd-grid.is-list-view {
  display: flex !important;
  flex-direction: column;
  gap: 0;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
}

/* Listing item styles */
.aipd-list-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  background: #fff;
  border-bottom: 1px solid #f3f4f6;
  transition: background .15s;
}
.aipd-list-item:last-child { border-bottom: none; }
.aipd-list-item:hover { background: #f8faff; }
.aipd-list-item__avatar { flex-shrink: 0; }
.aipd-list-item__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.aipd-list-item__top {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.aipd-list-item__cat { font-size: .75rem; color: var(--aipd-g400); }
.aipd-list-item__cat a { color: var(--aipd-primary); text-decoration: none; }
.aipd-list-item__title {
  font-size: .92rem;
  font-weight: 700;
  color: #111827;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.aipd-list-item__title a { color: inherit; text-decoration: none; }
.aipd-list-item__title a:hover { color: var(--aipd-primary); }
.aipd-list-item__desc {
  font-size: .82rem;
  color: #6b7280;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.aipd-list-item__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.aipd-meta-chip {
  font-size: .75rem;
  color: #6b7280;
  background: #f3f4f6;
  padding: 2px 8px;
  border-radius: 10px;
}
.aipd-list-item__actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

@media (max-width: 600px) {
  .aipd-list-item { padding: 11px 12px; gap: 10px; }
  .aipd-list-item__desc { display: none; }
  .aipd-list-item__avatar { display: none; }
  .aipd-rel-item .aipd-badge { display: none; }
  .aipd-view-toggle { display: none; }
}
.aipd-section-title { font-size: 1.3rem; font-weight: 800; margin: 0 0 20px; }

/* Sidebar boxes */
.aipd-single__sidebar { display: flex; flex-direction: column; gap: 16px; }
.aipd-sbox { background: #fff; border-radius: var(--aipd-r); box-shadow: var(--aipd-shadow); overflow: hidden; border: 1px solid var(--aipd-g100); }
.aipd-sbox__head { padding: 12px 16px; background: var(--aipd-g50); font-weight: 700; font-size: .9rem; border-bottom: 1px solid var(--aipd-g100); color: var(--aipd-g700); }
.aipd-sbox__body { padding: 16px; }
.aipd-sbox--cta { border: 2px solid var(--aipd-primary-light); }

.aipd-price-free { font-size: 1.6rem; font-weight: 800; color: var(--aipd-success); text-align: center; padding: 8px 0; }
.aipd-price-main { font-size: 1.8rem; font-weight: 800; color: var(--aipd-g800); text-align: center; }
.aipd-price-main small { font-size: 1rem; color: var(--aipd-g400); }
.aipd-price-old  { display: block; text-align: center; text-decoration: line-through; color: var(--aipd-g400); font-size: .9rem; }
.aipd-discount   { background: #fee2e2; color: var(--aipd-danger); padding: 2px 8px; border-radius: 20px; font-size: .75rem; font-weight: 700; display: inline-block; }
.aipd-cta-stack  { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; }

.aipd-info-table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.aipd-info-table td { padding: 7px 0; border-bottom: 1px solid var(--aipd-g100); vertical-align: middle; }
.aipd-info-table td:first-child { color: var(--aipd-g400); width: 45%; font-size: .8rem; }
.aipd-info-table a { color: var(--aipd-primary); text-decoration: none; font-weight: 600; }
.aipd-info-table a:hover { text-decoration: underline; }
.aipd-tag-wrap { display: flex; flex-wrap: wrap; gap: 6px; }
.aipd-share { display: flex; flex-wrap: wrap; gap: 6px; }

/* Float chat */
.aipd-float { position: fixed; bottom: 24px; right: 24px; z-index: 9999; display: flex; flex-direction: column; gap: 10px; align-items: flex-end; }
.aipd-float__item { display: flex; align-items: center; gap: 8px; }
.aipd-float__label { background: rgba(0,0,0,.7); color: #fff; padding: 4px 10px; border-radius: 20px; font-size: .77rem; opacity: 0; transition: opacity .2s; pointer-events: none; }
.aipd-float__item:hover .aipd-float__label { opacity: 1; }
.aipd-float__btn {
    width: 50px; height: 50px; border-radius: 50%; display: flex; align-items: center;
    justify-content: center; font-size: 1.35rem; text-decoration: none;
    box-shadow: 0 4px 14px rgba(0,0,0,.22); transition: transform .18s;
}
.aipd-float__btn:hover { transform: scale(1.1); }
.aipd-float__btn--zalo  { background: #0068ff; }
.aipd-float__btn--phone { background: var(--aipd-success); }

/* ═══════════════════════════════════════════════════════════
   12. HOMEPAGE
   ═══════════════════════════════════════════════════════════ */
.aipd-home { max-width: 1280px; margin: 0 auto; padding: 0 16px 60px; }

.aipd-home-hero {
    background: linear-gradient(135deg, #1e1b4b 0%, #5b21b6 35%, var(--aipd-primary) 65%, #a855f7 100%);
    border-radius: var(--aipd-r); margin-bottom: 36px; overflow: hidden;
}
.aipd-home-hero__inner { padding: 64px 32px 56px; text-align: center; color: #fff; }
.aipd-home-hero__badge {
    display: inline-block; background: rgba(255,255,255,.2); padding: 5px 16px;
    border-radius: 20px; font-size: .82rem; font-weight: 600; margin-bottom: 18px;
}
.aipd-home-hero__title { font-size: 2.8rem; font-weight: 900; margin-bottom: 14px; line-height: 1.15; }
.aipd-gradient-text {
    background: linear-gradient(90deg, #fbbf24, #f472b6);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.aipd-home-hero__sub { font-size: 1.1rem; opacity: .88; margin-bottom: 28px; max-width: 600px; margin-left: auto; margin-right: auto; }

.aipd-home-hero__search {
    display: flex; max-width: 540px; margin: 0 auto 24px;
    background: rgba(255,255,255,.15); backdrop-filter: blur(8px);
    border-radius: 12px; padding: 8px 8px 8px 18px; gap: 10px; align-items: center;
}
.aipd-home-hero__search input {
    flex: 1; background: transparent; border: none; outline: none; color: #fff;
    font-size: 1rem; min-width: 0;
}
.aipd-home-hero__search input::placeholder { color: rgba(255,255,255,.6); }

.aipd-home-hero__ctas { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 32px; }

.aipd-home-hero__stats {
    display: flex; gap: 0; justify-content: center; flex-wrap: wrap;
    background: rgba(0,0,0,.2); border-radius: 12px; max-width: 500px;
    margin: 0 auto; overflow: hidden;
}
.aipd-stat { flex: 1; padding: 16px 12px; text-align: center; min-width: 100px; }
.aipd-stat + .aipd-stat { border-left: 1px solid rgba(255,255,255,.15); }
.aipd-stat__num { font-size: 1.6rem; font-weight: 800; color: #fff; line-height: 1; }
.aipd-stat__lbl { font-size: .78rem; color: rgba(255,255,255,.7); margin-top: 4px; }

.aipd-home-section { margin-bottom: 40px; }
.aipd-home-section__hdr {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 18px;
}
.aipd-home-section__hdr h2 { font-size: 1.4rem; font-weight: 800; color: var(--aipd-g900); }
.aipd-link-more { color: var(--aipd-primary); font-size: .88rem; font-weight: 600; text-decoration: none; }
.aipd-link-more:hover { text-decoration: underline; }

/* How it works */
.aipd-how { background: var(--aipd-g50); border-radius: var(--aipd-r); padding: 36px 28px; margin-bottom: 40px; }
.aipd-how__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
@media (max-width: 768px) { .aipd-how__grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 480px) { .aipd-how__grid { grid-template-columns: 1fr; } }
.aipd-how__step { text-align: center; padding: 20px 12px; }
.aipd-how__num {
    width: 32px; height: 32px; border-radius: 50%; background: var(--aipd-primary);
    color: #fff; font-size: .85rem; font-weight: 800; display: flex;
    align-items: center; justify-content: center; margin: 0 auto 10px;
}
.aipd-how__ico { font-size: 2.2rem; margin-bottom: 10px; }
.aipd-how__step h3 { font-size: .95rem; font-weight: 700; margin-bottom: 6px; }
.aipd-how__step p { font-size: .83rem; color: var(--aipd-g500); }

/* CTA band */
.aipd-cta-band {
    background: linear-gradient(135deg, var(--aipd-primary) 0%, #a855f7 100%);
    border-radius: var(--aipd-r); text-align: center; padding: 48px 24px; margin-top: 40px;
}
.aipd-cta-band h2 { color: #fff; font-size: 1.8rem; font-weight: 800; margin-bottom: 8px; }
.aipd-cta-band p  { color: rgba(255,255,255,.85); font-size: 1.05rem; }

/* ═══════════════════════════════════════════════════════════
   13. PAGE TEMPLATES (suggest, contribute)
   ═══════════════════════════════════════════════════════════ */
.aipd-page-content { max-width: 900px; margin: 0 auto; padding: 0 16px 60px; }

.aipd-page-hero {
    text-align: center; padding: 40px 24px 36px; border-radius: var(--aipd-r);
    margin-bottom: 32px; color: #fff;
}
.aipd-page-hero--suggest   { background: linear-gradient(135deg, #0369a1, #0ea5e9); }
.aipd-page-hero--contrib   { background: linear-gradient(135deg, #15803d, #22c55e); }
.aipd-page-hero h1 { font-size: 2rem; font-weight: 800; margin-bottom: 10px; }
.aipd-page-hero p  { font-size: 1rem; opacity: .9; margin-bottom: 14px; }
.aipd-page-hero__badges { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }

/* Alert boxes */
.aipd-alert { padding: 20px 24px; border-radius: var(--aipd-r); margin-bottom: 20px; }
.aipd-alert--success { background: #f0fdf4; border: 1px solid #bbf7d0; color: #166534; }
.aipd-alert--error   { background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; }
.aipd-alert h3 { font-size: 1.1rem; margin-bottom: 8px; }
.aipd-alert p  { margin-bottom: 6px; }

/* Form */
.aipd-form-wrap { background: #fff; border-radius: var(--aipd-r); box-shadow: var(--aipd-shadow-md); padding: 28px; margin-bottom: 32px; }
.aipd-form__section { margin-bottom: 24px; padding-bottom: 24px; border-bottom: 1px solid var(--aipd-g100); }
.aipd-form__section:last-of-type { border-bottom: none; }
.aipd-form__section-title { font-size: 1rem; font-weight: 700; color: var(--aipd-g700); margin-bottom: 16px; }
.aipd-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.aipd-form__field { display: flex; flex-direction: column; gap: 5px; }
.aipd-form__field--full { grid-column: 1 / -1; }
.aipd-form__field label { font-size: .82rem; font-weight: 700; color: var(--aipd-g600, #4b5563); }
.aipd-wrap .req { color: var(--aipd-danger); }
@media (max-width: 600px) { .aipd-form__grid { grid-template-columns: 1fr; } }

.aipd-input {
    padding: 9px 13px; border: 1.5px solid var(--aipd-g200); border-radius: 8px;
    font-size: .9rem; outline: none; transition: border-color .15s;
    font-family: inherit; color: var(--aipd-g800); background: #fff; width: 100%;
}
.aipd-input:focus { border-color: var(--aipd-primary); }
.aipd-wrap textarea.aipd-input { resize: vertical; line-height: 1.6; }
.aipd-textarea--prompt { font-family: 'Courier New', monospace; font-size: .875rem; }
.aipd-textarea-tip { font-size: .78rem; color: var(--aipd-g400); margin-bottom: 5px; }
.aipd-char-count { font-size: .77rem; color: var(--aipd-g400); text-align: right; margin-top: 4px; }

.aipd-form__terms { margin: 20px 0 0; }
.aipd-checkbox-label { display: flex; gap: 10px; align-items: flex-start; font-size: .88rem; color: var(--aipd-g500); cursor: pointer; }
.aipd-checkbox-label input[type="checkbox"] { margin-top: 2px; flex-shrink: 0; }

.aipd-form__footer { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; padding-top: 20px; border-top: 1px solid var(--aipd-g100); margin-top: 20px; }

/* Guidelines */
.aipd-guidelines { background: var(--aipd-g50); border-radius: var(--aipd-r); padding: 24px; margin-top: 32px; }
.aipd-guidelines h3 { font-size: 1.1rem; font-weight: 800; margin-bottom: 18px; }
.aipd-guidelines__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 600px) { .aipd-guidelines__grid { grid-template-columns: 1fr; } }
.aipd-guideline-item { display: flex; gap: 12px; }
.aipd-guideline-item > span { font-size: 1.2rem; flex-shrink: 0; margin-top: 1px; }
.aipd-guideline-item strong { display: block; font-size: .9rem; margin-bottom: 3px; }
.aipd-guideline-item p { font-size: .82rem; color: var(--aipd-g400); margin: 0; }

/* ── 14. TOAST ───────────────────────────────────────────── */
.aipd-toast {
    position: fixed; bottom: 28px; left: 50%; transform: translateX(-50%) translateY(60px);
    background: var(--aipd-g800); color: #fff; padding: 11px 22px; border-radius: 9px;
    font-size: .875rem; font-weight: 600; z-index: 99999; transition: transform .28s ease;
    box-shadow: 0 8px 24px rgba(0,0,0,.25); white-space: nowrap;
}
.aipd-toast.is-show { transform: translateX(-50%) translateY(0); }
.aipd-toast--error { background: var(--aipd-danger); }
.aipd-toast--ok    { background: var(--aipd-success); }

/* ── 15. RESPONSIVE ──────────────────────────────────────── */
@media (max-width: 768px) {
    .aipd-hero__inner { padding: 32px 18px 28px; }
    .aipd-hero__title { font-size: 1.5rem; }
    .aipd-home-hero__title { font-size: 1.9rem; }
    .aipd-single__hdr { flex-direction: column; }
    .aipd-filters__dropdowns { flex-direction: column; }
    .aipd-home-hero__inner { padding: 44px 18px 36px; }
    .aipd-page-hero { padding: 28px 18px 24px; }
    .aipd-page-hero h1 { font-size: 1.5rem; }
    .aipd-form-wrap { padding: 18px; }
}
@media (max-width: 480px) {
    .aipd-home-hero__title { font-size: 1.55rem; }
    .aipd-home-hero__search { flex-direction: column; padding: 12px; border-radius: 12px; }
    .aipd-home-hero__search input { text-align: center; }
}

/* ══════════════════════════════════════════════════════════
   REVIEW SECTION
══════════════════════════════════════════════════════════ */
.aipd-reviews {
  margin: 48px 0 0;
  padding: 0;
}
.aipd-reviews__header {
  margin-bottom: 32px;
}
.aipd-reviews__title {
  font-size: 1.35rem;
  font-weight: 700;
  color: #111827;
  margin: 0 0 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid #e5e7eb;
}
/* Summary box */
.aipd-reviews__summary {
  display: flex;
  gap: 32px;
  align-items: flex-start;
  background: #f8faff;
  border: 1px solid #e0e7ff;
  border-radius: 16px;
  padding: 24px 28px;
}
.aipd-reviews__big-score {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  min-width: 90px;
}
.aipd-reviews__big-num {
  font-size: 3rem;
  font-weight: 800;
  color: #1a56db;
  line-height: 1;
}
.aipd-reviews__big-max {
  font-size: 1rem;
  color: #6b7280;
}
.aipd-reviews__count {
  font-size: .8rem;
  color: #6b7280;
  white-space: nowrap;
}
/* Progress bars */
.aipd-reviews__bars {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
  justify-content: center;
}
.aipd-rbar {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .88rem;
}
.aipd-rbar__label {
  min-width: 140px;
  color: #374151;
}
.aipd-rbar__track {
  flex: 1;
  height: 8px;
  background: #e5e7eb;
  border-radius: 4px;
  overflow: hidden;
}
.aipd-rbar__fill {
  height: 100%;
  background: #f59e0b;
  border-radius: 4px;
  transition: width .6s ease;
}
.aipd-rbar__fill--green  { background: #10b981; }
.aipd-rbar__fill--orange { background: #f97316; }
.aipd-rbar__val {
  min-width: 28px;
  font-weight: 700;
  color: #111827;
  font-size: .88rem;
  text-align: right;
}
/* Stars */
.aipd-stars { display: inline-flex; gap: 1px; }
.aipd-star { color: #d1d5db; font-size: 1.1rem; }
.aipd-star--full, .aipd-star--half { color: #f59e0b; }
.aipd-stars--lg .aipd-star { font-size: 1.4rem; }
.aipd-stars--sm .aipd-star { font-size: .95rem; }
/* Review list */
.aipd-reviews__list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 36px;
}
.aipd-review-item {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 20px 22px;
  transition: box-shadow .2s;
}
.aipd-review-item:hover { box-shadow: 0 4px 18px rgba(0,0,0,.07); }
.aipd-review-item__head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 10px;
}
.aipd-review-item__img {
  border-radius: 50%;
  width: 48px !important;
  height: 48px !important;
}
.aipd-review-item__meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.aipd-review-item__name {
  font-size: .95rem;
  color: #111827;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.aipd-review-item__date {
  font-size: .78rem;
  color: #9ca3af;
}
.aipd-review-item__scores {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 12px;
}
.aipd-review-item__score {
  font-size: .8rem;
  background: #f3f4f6;
  padding: 3px 10px;
  border-radius: 20px;
  color: #374151;
}
.aipd-review-item__body { font-size: .92rem; color: #374151; line-height: 1.65; }
.aipd-review-item__body p { margin: 0 0 6px; }
.aipd-reviews__empty {
  text-align: center;
  padding: 32px;
  color: #9ca3af;
  background: #f9fafb;
  border-radius: 12px;
  margin-bottom: 32px;
}
/* Verified badge */
.aipd-badge--verified {
  background: #d1fae5;
  color: #065f46;
  font-size: .7rem;
  padding: 2px 7px;
  border-radius: 10px;
  font-weight: 600;
}
/* ── Review Form ─────────────────────────────── */
.aipd-review-form {
  background: #f8faff;
  border: 1px solid #e0e7ff;
  border-radius: 16px;
  padding: 28px 28px 24px;
}
.aipd-review-form__title {
  font-size: 1.1rem;
  font-weight: 700;
  color: #111827;
  margin: 0 0 18px;
}
.aipd-review-form__note {
  font-size: .88rem;
  color: #6b7280;
  margin-bottom: 16px;
}
.aipd-review-form__note a { color: #1a56db; }
.aipd-rform { display: flex; flex-direction: column; gap: 16px; }
.aipd-rform__row--2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.aipd-rform__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.aipd-rform__field label {
  font-size: .88rem;
  font-weight: 600;
  color: #374151;
}
.aipd-rform__field .req { color: #ef4444; }
.aipd-rform__field input[type="text"],
.aipd-rform__field input[type="email"],
.aipd-rform__field select,
.aipd-rform__field textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1.5px solid #d1d5db;
  border-radius: 8px;
  font-size: .92rem;
  color: #111827;
  background: #fff;
  transition: border-color .2s, box-shadow .2s;
  box-sizing: border-box;
}
.aipd-rform__field input:focus,
.aipd-rform__field select:focus,
.aipd-rform__field textarea:focus {
  outline: none;
  border-color: #1a56db;
  box-shadow: 0 0 0 3px rgba(26,86,219,.12);
}
.aipd-rform__field textarea { resize: vertical; min-height: 100px; }
/* Star picker */
.aipd-star-picker {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}
.aipd-sp__star {
  font-size: 1.8rem;
  color: #d1d5db;
  cursor: pointer;
  transition: color .15s, transform .1s;
  line-height: 1;
  user-select: none;
}
.aipd-sp__star:hover,
.aipd-sp__star.active { color: #f59e0b; transform: scale(1.15); }
.aipd-sp__label {
  font-size: .78rem;
  color: #9ca3af;
  margin-left: 6px;
}
.aipd-rform__msg {
  padding: 10px 14px;
  border-radius: 8px;
  font-size: .9rem;
  margin-top: 8px;
}
.aipd-rform__msg--success { background: #d1fae5; color: #065f46; }
.aipd-rform__msg--error   { background: #fee2e2; color: #991b1b; }
/* Mobile */
@media (max-width: 600px) {
  .aipd-reviews__summary { flex-direction: column; gap: 16px; }
  .aipd-reviews__big-score { flex-direction: row; align-items: center; gap: 10px; }
  .aipd-rform__row--2col { grid-template-columns: 1fr; }
  .aipd-rbar__label { min-width: 110px; font-size: .8rem; }
}

/* ===== DOCUMENT REVIEW SUMMARY / EDITOR ===== */
.aipd-test-summary .aipd-box__body,
.aipd-test-editor .aipd-box__body{padding:18px}
.aipd-test-grid{display:grid;gap:14px}
.aipd-test-row{display:grid;grid-template-columns:180px 1fr;gap:14px;align-items:start;padding:12px 0;border-bottom:1px solid #eef2f7}
.aipd-test-row:last-child{border-bottom:0;padding-bottom:0}
.aipd-test-label{font-weight:600;color:#111827}
.aipd-test-value{color:#374151;line-height:1.7}
.aipd-test-note{white-space:normal}
.aipd-test-empty{color:#9ca3af;font-style:italic}
.aipd-test-pill-list{display:flex;flex-wrap:wrap;gap:10px}
.aipd-test-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;font-weight:700;font-size:.9rem;border:1px solid #e5e7eb;background:#fff;color:#111827;text-decoration:none}
.aipd-test-pill:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(15,23,42,.08)}
.aipd-test-pill--dung-duoc{background:#ecfdf3;border-color:#bbf7d0;color:#166534}
.aipd-test-pill--xem-xet{background:#fffbeb;border-color:#fde68a;color:#92400e}
.aipd-test-pill--hong-bo{background:#fef2f2;border-color:#fecaca;color:#b91c1c}
.aipd-test-pill--phien-ban-goc{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.aipd-test-pill--phien-ban-khac{background:#f5f3ff;border-color:#ddd6fe;color:#6d28d9}
.aipd-test-pill--type{background:#f8fafc;border-color:#cbd5e1;color:#0f172a}
.aipd-form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.aipd-form-group label{font-weight:600;color:#111827}
.aipd-input,
.aipd-textarea{width:100%;padding:12px 14px;border:1px solid #d1d5db;border-radius:12px;background:#fff;font:inherit;line-height:1.5}
.aipd-input:focus,
.aipd-textarea:focus{outline:none;border-color:var(--aipd-primary);box-shadow:0 0 0 3px rgba(124,58,237,.12)}
.aipd-help{color:#6b7280;font-size:.82rem}
.aipd-test-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.aipd-test-form-msg{font-size:.92rem;font-weight:600}
.aipd-test-form-msg.is-success{color:#166534}
.aipd-test-form-msg.is-error{color:#b91c1c}
.aipd-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.aipd-checkitem{position:relative;display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #e5e7eb;border-radius:14px;background:#fff;cursor:pointer;transition:all .18s ease;font-weight:600;color:#111827}
.aipd-checkitem:hover{border-color:#cbd5e1;transform:translateY(-1px)}
.aipd-checkitem input{width:18px;height:18px;margin:0;accent-color:var(--aipd-primary)}
.aipd-checkitem:has(input:checked){border-color:var(--aipd-primary);background:#f5f3ff;box-shadow:0 0 0 3px rgba(124,58,237,.08)}
.aipd-checklist--classification .aipd-checkitem--dung-duoc:has(input:checked){background:#ecfdf3;border-color:#86efac}
.aipd-checklist--classification .aipd-checkitem--xem-xet:has(input:checked){background:#fffbeb;border-color:#fde68a}
.aipd-checklist--classification .aipd-checkitem--hong-bo:has(input:checked){background:#fef2f2;border-color:#fca5a5}
.aipd-checklist--classification .aipd-checkitem--phien-ban-goc:has(input:checked){background:#eff6ff;border-color:#93c5fd}
.aipd-checklist--classification .aipd-checkitem--phien-ban-khac:has(input:checked){background:#f5f3ff;border-color:#c4b5fd}
@media (max-width: 767px){
  .aipd-test-row{grid-template-columns:1fr;gap:6px}
  .aipd-checklist{grid-template-columns:1fr}
}


/* ===== VENDOR LIBRARY EXTENSIONS ===== */
.aipd-download-box__desc{margin:0 0 14px;color:#6b7280;font-size:.92rem;line-height:1.6}
.aipd-download-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;color:#64748b;font-size:.86rem}
.aipd-download-meta span{display:inline-flex;gap:4px;padding:6px 10px;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0}
.aipd-card__download{text-decoration:none}
.aipd-video-wrap iframe,
.aipd-video-wrap > div,
.aipd-video-wrap .wp-video{width:100%!important;min-height:360px;border:0;border-radius:0;display:block}
.aipd-test-pill--can-cap-nhat{background:#fffbeb;border-color:#fde68a;color:#92400e}
.aipd-test-pill--hong-link{background:#fef2f2;border-color:#fecaca;color:#b91c1c}
.aipd-test-pill--can-phan-loai-lai{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}
.aipd-test-pill--tai-lieu-goc{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.aipd-test-pill--ban-thay-the{background:#f5f3ff;border-color:#ddd6fe;color:#6d28d9}
.aipd-checklist--classification .aipd-checkitem--can-cap-nhat:has(input:checked){background:#fffbeb;border-color:#fde68a}
.aipd-checklist--classification .aipd-checkitem--hong-link:has(input:checked){background:#fef2f2;border-color:#fca5a5}
.aipd-checklist--classification .aipd-checkitem--can-phan-loai-lai:has(input:checked){background:#eef2ff;border-color:#a5b4fc}
@media (max-width: 767px){.aipd-video-wrap iframe,.aipd-video-wrap > div,.aipd-video-wrap .wp-video{min-height:220px}}
