/* GPI Design System v2.1 — 2026-04-26 */
:root {
    --gpi-accent-1: var(--global-palette1, #2563eb);
    --gpi-accent-2: var(--global-palette2, #0f766e);
    --gpi-text: #0f172a;
    --gpi-muted: #64748b;
    --gpi-border: rgba(15, 23, 42, 0.08);
    --gpi-surface: #ffffff;
    --gpi-accent1: #06b58a;
    --gpi-accent2: #059674;
    --gpi-card: #ffffff;
    --gpi-soft-bg: #f5f7fb;
    --gpi-heart: #f97373;
}

/* Single Prompt Styles */
.gpi-wrap { max-width: 1180px; margin: 2rem auto; padding: 0 1rem; color: var(--gpi-text); font-family: var(--global-body-font-family, Inter, system-ui, sans-serif); }
.gpi-breadcrumbs { margin-bottom: 1rem; color: var(--gpi-muted); font-size: 0.92rem; }
.gpi-breadcrumbs-list, .gpi-kicker-group, .gpi-hero-actions, .gpi-meta-row, .gpi-chip-row, .gpi-anchor-links, .gpi-inline-actions { display: flex; flex-wrap: wrap; gap: 0.7rem; }
.gpi-breadcrumbs-list { list-style: none; padding: 0; margin: 0; gap: 0.45rem; }
.gpi-breadcrumb-item { display: inline-flex; align-items: center; gap: 0.45rem; }
.gpi-breadcrumb-item:not(:last-child)::after { content: "/"; color: #94a3b8; }
.gpi-breadcrumbs a, .gpi-small-link { color: var(--gpi-accent-1); text-decoration: none; }
.gpi-breadcrumbs a:hover, .gpi-small-link:hover { text-decoration: underline; }
.gpi-hero { margin-bottom: 1.25rem; }
.gpi-hero-inner { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 1.25rem; align-items: start; }
@media (max-width: 980px) { .gpi-hero-inner { grid-template-columns: 1fr; } }
.gpi-kicker { display: inline-flex; align-items: center; padding: 0.35rem 0.72rem; border-radius: 999px; background: linear-gradient(90deg, var(--gpi-accent-1), var(--gpi-accent-2)); color: #fff; font-size: 0.82rem; font-weight: 700; text-decoration: none; }
.gpi-title { margin: 0 0 0.65rem; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.05; letter-spacing: -0.03em; }
.gpi-sub { margin: 0 0 1rem; max-width: 68ch; color: var(--gpi-muted); line-height: 1.7; }
.gpi-answer-box, .gpi-card, .gpi-anchor-nav { background: var(--gpi-surface); border: 1px solid var(--gpi-border); border-radius: 18px; box-shadow: 0 14px 40px rgba(15, 23, 42, 0.06); }
.gpi-answer-box { margin: 0 0 1rem; padding: 1rem 1.1rem; background: linear-gradient(135deg, rgba(37, 99, 235, 0.05), rgba(15, 118, 110, 0.06), #fff); }
.gpi-answer-title, .gpi-section-title { margin: 0; font-size: 1.15rem; line-height: 1.2; }
.gpi-answer-title { margin-bottom: 0.5rem; }
.gpi-card, .gpi-anchor-nav { margin-bottom: 1.25rem; }
.gpi-card-inner { padding: 1.25rem; }
.gpi-section-head { display: flex; justify-content: space-between; gap: 1rem; align-items: start; margin-bottom: 0.85rem; }
@media (max-width: 720px) { .gpi-section-head { flex-direction: column; } }
.gpi-section-kicker { margin: 0.4rem 0 0; color: var(--gpi-muted); line-height: 1.6; }
.gpi-btn { display: inline-flex; align-items: center; justify-content: center; padding: 0.68rem 1rem; border-radius: 12px; border: 1px solid transparent; cursor: pointer; text-decoration: none; font-weight: 700; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.gpi-btn:hover, .gpi-btn:focus-visible { transform: translateY(-1px); }
.gpi-primary { color: #fff; background: linear-gradient(90deg, var(--gpi-accent-1), var(--gpi-accent-2)); }
.gpi-outline, .gpi-ghost { color: var(--gpi-text); background: #fff; border-color: var(--gpi-border); }
.gpi-meta-row { color: var(--gpi-muted); font-size: 0.93rem; margin-bottom: 0.9rem; }
.gpi-pill, .gpi-chip { display: inline-flex; align-items: center; border-radius: 999px; padding: 0.35rem 0.7rem; font-size: 0.86rem; font-weight: 700; }
.gpi-pill { background: #eef2ff; color: #3730a3; }
.gpi-chip { background: #f1f5f9; color: #334155; }
.gpi-chip-strong { background: linear-gradient(90deg, rgba(37, 99, 235, 0.12), rgba(15, 118, 110, 0.12)); color: var(--gpi-text); }
.gpi-featured { overflow: hidden; border-radius: 18px; border: 1px solid var(--gpi-border); box-shadow: 0 16px 44px rgba(15, 23, 42, 0.08); }
.gpi-featured-img, .gpi-example-img { display: block; width: 100%; height: auto; }
.gpi-anchor-nav { padding: 1rem 1.1rem; }
.gpi-anchor-links a { display: inline-flex; align-items: center; padding: 0.45rem 0.82rem; border-radius: 999px; background: #f8fafc; color: var(--gpi-text); font-weight: 600; text-decoration: none; }
.gpi-anchor-links a:hover { background: #eef2ff; }
.gpi-code-block { margin: 0; padding: 1rem; border-radius: 14px; background: #f8fafc; color: #334155; border: 1px solid #e2e8f0; white-space: pre-wrap; word-break: break-word; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; line-height: 1.7; overflow-x: auto; }
.gpi-details { margin-top: 1rem; }
.gpi-details summary { cursor: pointer; font-weight: 700; color: var(--gpi-accent-1); }
.gpi-rich-text p:last-child, .gpi-answer-text p:last-child { margin-bottom: 0; }
.gpi-list { margin: 0; padding-left: 1.2rem; }
.gpi-list li + li { margin-top: 0.55rem; }
.gpi-tab-buttons { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-bottom: 1rem; }
.gpi-tab-btn { padding: 0.58rem 0.86rem; border-radius: 12px; border: 1px solid var(--gpi-border); background: #fff; color: var(--gpi-text); font-weight: 700; cursor: pointer; }
.gpi-tab-btn[aria-selected="true"] { color: #fff; background: linear-gradient(90deg, var(--gpi-accent-1), var(--gpi-accent-2)); border-color: transparent; }
.gpi-tab-panels { border-top: 1px dashed rgba(15, 23, 42, 0.08); padding-top: 1rem; }
.gpi-panel:focus { outline: none; }
.gpi-example-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 1rem; align-items: start; }
@media (max-width: 900px) { .gpi-example-grid { grid-template-columns: 1fr; } }
.gpi-example-heading { margin-top: 0; margin-bottom: 0.75rem; font-size: 1rem; }
.gpi-media { position: relative; overflow: hidden; border-radius: 16px; border: 1px solid var(--gpi-border); background: #f8fafc; }
.gpi-view { position: absolute; right: 0.8rem; bottom: 0.8rem; color: #fff; background: rgba(15, 23, 42, 0.78); }
.gpi-faq-list { display: grid; gap: 0.75rem; }
.gpi-faq-item { border: 1px solid rgba(15, 23, 42, 0.08); border-radius: 14px; background: #fff; overflow: hidden; }
.gpi-faq-question { list-style: none; display: flex; gap: 0.7rem; padding: 1rem 1.1rem; cursor: pointer; font-weight: 700; }
.gpi-faq-question::-webkit-details-marker { display: none; }
.gpi-faq-question::after { content: "+"; margin-left: auto; color: var(--gpi-accent-1); font-size: 1.2rem; }
.gpi-faq-item[open] .gpi-faq-question::after { content: "−"; }
.gpi-faq-counter { color: var(--gpi-accent-1); }
.gpi-faq-answer { padding: 0 1.1rem 1rem; }
.gpi-footer-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.85rem; color: var(--gpi-muted); }
@media (max-width: 900px) { .gpi-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .gpi-footer-grid { grid-template-columns: 1fr; } }
.gpi-muted { color: var(--gpi-muted); }
.gpi-lightbox { position: fixed; inset: 0; display: none; align-items: center; justify-content: center; background: rgba(2, 6, 23, 0.78); padding: 1rem; z-index: 99999; }
.gpi-lightbox[aria-hidden="false"] { display: flex; }
.gpi-lightbox img { max-width: 95vw; max-height: 92vh; border-radius: 18px; box-shadow: 0 24px 70px rgba(2, 6, 23, 0.65); }
.gpi-lightbox-close { position: fixed; top: 1rem; right: 1rem; border: 0; background: transparent; color: #fff; font-size: 2rem; cursor: pointer; }
.gpi-toast { position: fixed; right: 1rem; bottom: 1rem; padding: 0.75rem 1rem; border-radius: 12px; color: #fff; background: #111827; z-index: 100000; }

/* UI/UX Density & Typography Improvements */
.gpi-card-inner { padding: 16px 24px; }
.gpi-title { font-weight: 800; letter-spacing: -0.02em; }
.gpi-section-title { font-weight: 700; color: #1e293b; margin-bottom: 8px; }
.gpi-section-kicker { margin-top: 0; margin-bottom: 16px; font-size: 0.95rem; }

/* Micro-interactions & Hovers */
.gpi-btn:active, .gpi-tab-btn:active, .gpi-icon-btn:active { transform: scale(0.97); }
.gpi-tab-btn { transition: all 0.2s ease; }
.gpi-tab-btn:hover:not([aria-selected="true"]) { background: #f1f5f9; color: var(--gpi-accent-1); }
.gpi-faq-item { transition: background-color 0.2s ease; }
.gpi-faq-item:hover { background-color: #f8fafc; }

/* Better Badges for Statuses */
.gpi-badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 4px 10px; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.02em; }
.gpi-badge-success { background: #dcfce7; color: #166534; }
.gpi-badge-info { background: #e0f2fe; color: #075985; }

/* Empty States */
.gpi-empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 32px; background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: 12px; color: var(--gpi-muted); text-align: center; gap: 8px; margin: 16px 0; }
.gpi-empty-state svg { color: #94a3b8; }
.gpi-empty-state p { margin: 0; font-size: 0.9rem; font-weight: 500; }
.gpi-empty-small { padding: 16px; min-height: 120px; }

/* Compact Icon Controls & Tooltips */
[data-tooltip] { position: relative; }
[data-tooltip]::after {
    content: attr(data-tooltip); position: absolute; bottom: 100%; left: 50%;
    transform: translateX(-50%) translateY(-4px); background: #000; color: #fff;
    padding: 4px 8px; border-radius: 4px; font-size: 0.75rem; font-weight: 500;
    opacity: 0; pointer-events: none; transition: opacity 0.2s ease, transform 0.2s ease;
    white-space: nowrap; z-index: 100;
}
[data-tooltip]:hover::after, .gpi-tooltip-active::after { opacity: 1; transform: translateX(-50%) translateY(-8px); }
.gpi-icon-btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 38px; height: 38px; border-radius: 8px; border: 1px solid var(--gpi-border);
    background: var(--gpi-surface); color: var(--gpi-text); cursor: pointer; transition: all 0.2s ease;
}
.gpi-icon-btn:hover { background: #f8fafc; border-color: #cbd5e1; color: var(--gpi-accent-1); }
.gpi-primary-icon { background: linear-gradient(90deg, var(--gpi-accent-1), var(--gpi-accent-2)); color: #fff; border: none; }
.gpi-primary-icon:hover { opacity: 0.9; color: #fff; }

/* Copyable Box Animations */
.gpi-copyable-box { border: 2px solid transparent; cursor: pointer; transition: all 0.6s ease; border-radius: 14px; }
.gpi-copyable-box:hover { border-color: rgba(16, 185, 129, 0.4); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(16, 185, 129, 0.08); transition: all 0.2s ease; }
.gpi-copyable-box:active { transform: scale(0.99); transition: all 0.1s ease; }
.gpi-copy-success, .gpi-copy-success:hover { border-color: #10b981 !important; background-color: rgba(16, 185, 129, 0.1) !important; box-shadow: 0 0 15px rgba(16, 185, 129, 0.2) !important; color: inherit; transition: all 0.2s ease; }

/* Archive Styles */
.gpi-archive-wrap{
    max-width:1200px;
    margin:48px auto 56px;
    padding:0 20px;
    font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
    color:#020617;
}

.gpi-archive-hero{margin-bottom:1.6rem;}
.gpi-archive-hero h1{
    margin:0 0 .5rem;
    font-size:2.2rem;
    line-height:1.08;
    letter-spacing:-0.03em;
    font-weight:700;
}
.gpi-archive-hero p{
    margin:0;
    color:#4b5563;
    font-size:1rem;
    line-height:1.5;
    max-width:720px;
}

.gpi-cat-filter-wrap{
    position:relative;
    z-index:5;
    background:transparent;
    padding:0 0 .6rem;
    margin-bottom:.4rem;
}
.gpi-cat-filter{
    display:flex;
    flex-wrap:nowrap;
    gap:.5rem;
    overflow-x:auto;
    padding:.25rem .1rem;
    scrollbar-width:none;
}
.gpi-cat-filter::-webkit-scrollbar{display:none;}
.gpi-filter-pill{
    white-space:nowrap;
    border-radius:999px;
    padding:.32rem .9rem;
    font-size:.8rem;
    border:1px solid rgba(148,163,184,.7);
    background:#f8fafc;
    color:#0f172a;
    text-decoration:none;
}
.gpi-filter-pill:hover{background:#e5e7eb;}
.gpi-filter-pill.is-active{
    background:#0f766e;
    color:#ecfdf5;
    border-color:#0f766e;
}

/* ===== TOOLBAR (view mode + sort, inline row) ===== */
.gpi-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:.75rem 1.5rem;
    margin:1.3rem 0 1.4rem;
    font-size:.88rem;
    color:var(--gpi-muted);
}
.gpi-view-toggle{
    display:flex;
    align-items:center;
    gap:.65rem;
    font-size:.88rem;
    color:var(--gpi-muted);
}
/* Standalone (not inside toolbar) gets its own margin */
.gpi-view-toggle:not(.gpi-toolbar .gpi-view-toggle){
    margin:1.3rem 0 1.4rem;
}
.gpi-toggle-label{font-weight:500;}
.gpi-toggle-buttons{
    display:inline-flex;
    background:#e5e7eb;
    border-radius:999px;
    padding:2px;
}
.gpi-toggle-btn{
    border:0;
    background:transparent;
    padding:.28rem .9rem;
    font-size:.8rem;
    border-radius:999px;
    cursor:pointer;
    color:#4b5563;
    transition:background .15s, color .15s;
}
.gpi-toggle-btn.is-active{
    background:#0f766e;
    color:#ecfdf5;
}

/* Sort bar (inline with toolbar) */
.gpi-sort-bar{
    display:flex;
    align-items:center;
    gap:.45rem;
}
.gpi-sort-bar label{
    font-size:.8rem;
    color:#64748b;
    font-weight:500;
}
.gpi-sort-btn{
    border:1px solid rgba(148,163,184,.4);
    background:transparent;
    color:#64748b;
    padding:.3rem .8rem;
    font-size:.78rem;
    font-weight:500;
    border-radius:999px;
    cursor:pointer;
    transition:background .15s, color .15s, border-color .15s;
}
.gpi-sort-btn:hover,
.gpi-sort-btn.active{
    background:#f1f5f9;
    color:#1e293b;
    border-color:rgba(148,163,184,.7);
}

/* ===== PAGINATION ===== */
.gpi-pagination{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:.35rem;
    margin:2rem 0 .5rem;
    flex-wrap:wrap;
    list-style:none;
    padding:0;
}
.gpi-pagination ul, .gpi-pagination li {
    list-style: none;
    margin: 0;
    padding: 0;
}
.gpi-pagination .page-numbers::before,
.gpi-pagination .page-numbers::after {
    display: none !important;
}
.gpi-pagination .page-numbers{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:36px;
    height:36px;
    padding:0 .6rem;
    border-radius:8px;
    font-size:.85rem;
    font-weight:500;
    text-decoration:none;
    color:#475569;
    background:#f8fafc;
    border:1px solid rgba(148,163,184,.3);
    transition:background .15s, color .15s, border-color .15s;
}
.gpi-pagination .page-numbers:hover{
    background:#f1f5f9;
    border-color:rgba(148,163,184,.6);
    color:#1e293b;
}
.gpi-pagination .page-numbers.current{
    background:#0f766e;
    color:#fff;
    border-color:#0f766e;
    font-weight:600;
}
.gpi-pagination .page-numbers.dots{
    border:0;
    background:transparent;
    min-width:auto;
    padding:0 .2rem;
    color:#94a3b8;
}
.gpi-pagination .page-numbers.prev,
.gpi-pagination .page-numbers.next{
    font-weight:600;
    color:#0f766e;
}

.gpi-cat-section{
    margin-bottom:2.5rem;
}
.gpi-cat-inner{
    padding:1.25rem 1.4rem 1.6rem;
    border-radius:22px;
    background: radial-gradient(circle at top left,rgba(124,58,237,.15),transparent 55%), radial-gradient(circle at top right,rgba(6,182,212,.15),transparent 60%), linear-gradient(135deg,#f9fafb,#eef2ff);
    box-shadow:0 14px 38px rgba(15,23,42,.1);
    border:1px solid rgba(148,163,184,.35);
}

.gpi-cat-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    margin-bottom:1rem;
    gap:1rem;
}
.gpi-cat-title-wrap{
    display:flex;
    flex-direction:column;
    gap:.25rem;
}
.gpi-cat-eyebrow{
    font-size:.78rem;
    text-transform:uppercase;
    letter-spacing:.16em;
    color:#64748b;
    display:flex;
    align-items:center;
    gap:.4rem;
}
.gpi-cat-icon{
    width:16px;
    height:16px;
    stroke:#4f46e5;
    fill:none;
}
.gpi-cat-title{
    margin:0;
    font-size:1.5rem;
    font-family: Georgia, Cambria, "Times New Roman", Times, serif;
    letter-spacing:-0.02em;
    font-weight:600;
    color: #1e293b;
}
.gpi-cat-title a{
    color:inherit;
    text-decoration:none;
}
.gpi-cat-desc{
    margin:0;
    color:#6b7280;
    font-size:.95rem;
    max-width:800px;
    line-height:1.5;
}
.gpi-cat-link{
    font-size:.875rem;
    padding:.45rem 1rem;
    border-radius:999px;
    text-decoration:none;
    background:rgba(16, 185, 129, 0.15);
    color:#047857;
    font-weight:600;
    white-space:nowrap;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    transition: background 0.2s;
}
.gpi-cat-link:hover{background:rgba(16, 185, 129, 0.25);}

.gpi-archive-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:1.3rem;
}
@media (max-width:900px){
    .gpi-archive-grid{
        grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    }
}
@media (max-width:640px){
    .gpi-archive-grid{
        grid-template-columns:1fr;
    }
}

.gpi-load-more-wrap{
    text-align:center;
    margin-top:1rem;
}
.gpi-load-more-btn{
    border:1px solid rgba(148,163,184,.4);
    background:transparent;
    color:#64748b;
    padding:.5rem 1.5rem;
    font-size:.85rem;
    font-weight:500;
    border-radius:999px;
    cursor:pointer;
    transition:background .2s, color .2s, border-color .2s;
}
.gpi-load-more-btn:hover{
    background:#f1f5f9;
    color:#1e293b;
    border-color:rgba(148,163,184,.7);
}

.gpi-list-card{
    width:100%;
    margin:0 0 1.1rem;
    background:#ffffff;
    border-radius:18px;
    overflow:hidden;
    border:1px solid rgba(148,163,184,.28);
    box-shadow:0 10px 30px rgba(15,23,42,.07);
    backdrop-filter:blur(16px);
    transform:translateY(0) scale(1);
    transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
    position:relative;
}
.gpi-list-card:hover{
    transform:translateY(-3px);
    box-shadow:0 18px 46px rgba(15,23,42,.12);
    border-color:rgba(22,163,74,.4);
}

.gpi-ribbon{
    position:absolute;
    top:10px;
    left:-32px;
    background:linear-gradient(90deg,#f97316,#ec4899);
    color:#fff;
    font-size:.7rem;
    font-weight:700;
    text-transform:uppercase;
    padding:4px 36px;
    transform:rotate(-40deg);
    box-shadow:0 12px 30px rgba(15,23,42,.35);
    pointer-events:none;
    z-index: 9;
}

.gpi-list-thumb{
    position:relative;
    border-radius:18px 18px 0 0;
    overflow:hidden;
    background:#e5e7eb;
    aspect-ratio:16/10;
}
.gpi-thumb-img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.gpi-thumb-skeleton{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,#e5e7eb 0,#f3f4f6 50%,#e5e7eb 100%);
    background-size:200% 100%;
    animation:gpi-skel 1.3s infinite linear;
}
.gpi-thumb-img.is-loaded + .gpi-thumb-skeleton{display:none;}
@keyframes gpi-skel{
    0%{background-position:0 0;}
    100%{background-position:-200% 0;}
}

html.gpi-mode-prompts .gpi-list-thumb,
html.gpi-mode-compact .gpi-list-thumb{
    height:0;
    min-height:0;
    padding:0;
    border:none;
}
html.gpi-mode-prompts .gpi-view-sample,
html.gpi-mode-compact .gpi-view-sample{
    display:none !important;
}

.gpi-view-sample{
    border:0;
    background:rgba(15,23,42,.74);
    color:#e5e7eb;
    font-size:.75rem;
    padding:.25rem .55rem;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    gap:.25rem;
    cursor:pointer;
}
.gpi-view-sample svg{
    width:14px;
    height:14px;
    stroke:currentColor;
}

.gpi-list-body{
    padding:1rem 1.15rem 1.2rem;
    display:flex;
    flex-direction:column;
    row-gap:.4rem;
}
.gpi-card-header-row{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:.4rem;
}
.gpi-list-kicker{
    font-size:.76rem;
    text-transform:uppercase;
    letter-spacing:.16em;
    color:#0f766e;
}

.gpi-fav-toggle{
    border:0;
    background:transparent;
    cursor:pointer;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top: 4px;
}
.gpi-heart{
    width:20px;
    height:20px;
    fill:none;
    stroke:#9ca3af;
    stroke-width:2;
    transition:fill .16s,stroke .16s,transform .16s;
}
.gpi-fav-toggle.is-active .gpi-heart{
    fill:#ef4444;
    stroke:#ef4444;
    transform:scale(1.1);
}

.gpi-list-title{
    margin:0 0 .5rem 0;
    font-size:1.15rem;
    line-height:1.4;
    font-family: Georgia, Cambria, "Times New Roman", Times, serif;
    font-weight: 600;
    color: #1e293b;
    flex: 1;
}
.gpi-list-title a{
    color:inherit;
    text-decoration:none;
}
.gpi-list-title a:hover{color:#0f766e;}

.gpi-list-preview{
    margin:1rem 0;
    background:#f8fafc;
    border-radius:12px;
    padding:1rem;
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
    font-size:.85rem;
    color:#334155;
    white-space:pre-wrap;
    max-height:8rem;
    overflow:hidden;
    line-height:1.6;
}

.gpi-icon-row{
    display:flex;
    align-items:center;
    gap:.6rem;
    margin-bottom: .5rem;
}
.gpi-icon-badge{
    width:28px;
    height:28px;
    background:#f1f5f9;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    cursor:default;
    transition:background .2s,transform .15s;
}
.gpi-icon-badge svg{
    width:16px;
    height:16px;
    stroke:#64748b;
}
.gpi-icon-badge:hover{
    background:#e2e8f0;
    transform:translateY(-1px);
}

/* Tooltip Styles — appears BELOW to avoid card overflow clipping */
[data-tip] {
    position: relative;
}
[data-tip]::after {
    content: attr(data-tip);
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(4px);
    background: #1e293b;
    color: #f8fafc;
    padding: 5px 10px;
    border-radius: 6px;
    font-size: 0.75rem;
    font-family: ui-sans-serif, system-ui, -apple-system, sans-serif;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
    z-index: 100;
    font-weight: 500;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.2);
}
[data-tip]::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(-4px);
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent #1e293b transparent;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
    z-index: 100;
}
[data-tip]:hover::after {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(8px);
}
[data-tip]:hover::before {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

/* Copy button success feedback */
.gpi-copy-success{
    background:#059669 !important;
    color:#fff !important;
    transform:scale(1.05);
}
.copy-btn.gpi-copy-success{
    background:#059669;
    color:#fff;
}

.gpi-list-actions{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    margin-top:auto;
    padding-top: .5rem;
}
.gpi-list-actions div {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.gpi-btn-small{
    border:0;
    border-radius:999px;
    background:#10b981;
    color:#fff;
    padding:.45rem 1.25rem;
    font-size:.875rem;
    font-weight:600;
    cursor:pointer;
    box-shadow:0 4px 14px rgba(16, 185, 129, 0.3);
    transition: background 0.2s, transform 0.15s;
}
.gpi-btn-small:hover{
    background:#059669;
    transform: translateY(-1px);
}
.gpi-link-text{
    color:#10b981;
    text-decoration:none;
    font-weight:600;
    font-size:.875rem;
    display: flex;
    align-items: center;
    gap: 0.25rem;
    transition: color 0.2s;
}
.gpi-link-text:hover{
    color:#059669;
}

html.gpi-mode-compact .gpi-list-preview{display:none;}
html.gpi-mode-compact .gpi-list-body{padding:.7rem .85rem .85rem;}
html.gpi-mode-compact .gpi-list-title{font-size:.95rem;}

.gpi-hover-preview{
    position:fixed;
    z-index:200;
    pointer-events:none;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 18px 40px rgba(15,23,42,.32);
    border:1px solid rgba(148,163,184,.6);
    background:#000;
    display:none;
}
.gpi-hover-preview img{
    display:block;
    width:260px;
    height:auto;
    max-height:200px;
    object-fit:cover;
}

#gpi-lightbox-archive{
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.86);
    backdrop-filter:blur(14px);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:250;
}
#gpi-lightbox-archive[aria-hidden="false"]{display:flex;}
.gpi-lightbox-inner{
    position:relative;
    width:min(100vw - 40px, 980px);
    max-height:90vh;
    background:rgba(15,23,42,.96);
    border-radius:18px;
    padding:14px 14px 18px;
    box-shadow:0 26px 70px rgba(0,0,0,.85);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:.6rem;
}
.gpi-lightbox-inner img{
    max-width:100%;
    max-height:70vh;
    border-radius:12px;
    object-fit:contain;
    background:#020617;
}
.gpi-lightbox-caption{
    margin:0;
    align-self:flex-start;
    color:#e5e7eb;
    font-size:.85rem;
    opacity:.9;
}
.gpi-lightbox-close{
    position:absolute;
    top:8px;
    right:10px;
    border:0;
    background:rgba(15,23,42,.7);
    color:#e5e7eb;
    font-size:1.6rem;
    line-height:1;
    width:32px;
    height:32px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}
.gpi-lightbox-close:hover{background:rgba(15,23,42,.95);}


/* Front Page Styles */

/* Minified & Structured Critical CSS */
.gpt-hero{background:linear-gradient(180deg,#071226 0%,#041122 100%);color:#fff;padding:80px 20px;}
.gpt-hero .wrap{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;}
.gpt-hero h1{font-size:3.2rem;line-height:1.1;margin:0 0 16px;color:#fff;font-weight:800;letter-spacing:-0.02em;}
.gpt-hero p.lead{margin:0 auto 32px;opacity:.95;color:#e6f8f2;font-size:1.15rem;max-width:800px;}
.gpt-search-bar{width:100%;max-width:700px;margin:0 auto 24px;display:flex;position:relative;}
.gpt-search-bar input[type="search"]{width:100%;padding:18px 24px;font-size:1.1rem;border-radius:50px;border:none;box-shadow:0 10px 30px rgba(0,0,0,0.3);outline:none;color:#071226;}
.gpt-search-bar button{position:absolute;right:8px;top:8px;bottom:8px;background:#06b58a;color:#05120a;border:none;padding:0 24px;border-radius:40px;font-weight:700;cursor:pointer;transition:background 0.2s;}
.gpt-search-bar button:hover{background:#059c76;}
.gpt-tags{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;font-size:0.9rem;}
.gpt-tags span{opacity:0.6;}
.gpt-tags a{color:#9ff7e3;text-decoration:none;background:rgba(255,255,255,0.1);padding:4px 12px;border-radius:20px;}
.gpt-tags a:hover{background:rgba(255,255,255,0.2);}

.gpt-btn{background:#06b58a;color:#05120a;padding:12px 18px;border-radius:10px;text-decoration:none;font-weight:700;display:inline-block;cursor:pointer;}
.gpt-btn.secondary{background:transparent;border:1px solid #cbd5e1;color:#0f172a;padding:8px 14px;font-size:0.9rem;border-radius:8px;transition:background .2s, border-color .2s;}
.gpt-btn.secondary:hover{background:#f1f5f9;border-color:#94a3b8;}

.category-desc{color:#475569;font-size:0.95rem;margin:0 0 16px;line-height:1.5;}
.category-actions{margin-top:auto;}

.section-head{max-width:1200px;margin:48px auto 20px;padding:0 20px;}
.section-head h2{font-size:2rem;margin:0 0 8px;}
.section-head p{color:#6b7280;margin:0;}

.category-grid, .blog-grid{max-width:1200px;margin:0 auto 48px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;padding:0 20px;}
.prompt-grid{max-width:1200px;margin:0 auto 48px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:0 20px;}

.prompt-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px rgba(15,23,42,.03);display:flex;flex-direction:row;align-items:center;padding:12px;gap:14px;border:1px solid #f1f5f9;transition:border-color 0.2s;}
.prompt-card:hover{border-color:#06b58a;}
.prompt-card .thumb{width:70px;height:70px;flex-shrink:0;border-radius:8px;overflow:hidden;display:block;}
.prompt-card .thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.prompt-card .meta{flex:1;min-width:0;padding:0;}
.prompt-card .meta h3{margin:0 0 4px;font-size:1rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.prompt-card .meta h3 a{color:#0f172a;text-decoration:none;}
.prompt-card .meta .desc{font-size:0.85rem;color:#64748b;margin:0 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.prompt-card .copy-btn{background:#e6f8f2;color:#059c76;border:none;padding:6px 12px;font-weight:700;border-radius:6px;font-size:0.75rem;cursor:pointer;transition:all 0.2s;display:inline-block;}
.prompt-card .copy-btn:hover{background:#06b58a;color:#fff;}

.category-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 8px 30px rgba(15,23,42,.06);display:flex;flex-direction:column;border:1px solid #f1f5f9;transition:transform 0.2s;}
.category-card:hover{transform:translateY(-4px);}
.category-card .thumb img{width:100%;height:180px;object-fit:cover;display:block;}
.category-card .meta{padding:20px;display:flex;flex-direction:column;flex:1;}
.category-card h3{margin:0 0 8px;font-size:1.2rem;}
.category-card h3 a{color:#0f172a;text-decoration:none;}

.semantic-box{background:#f8fafc;padding:32px;border-radius:16px;border:1px solid #e2e8f0;margin-bottom:24px;}
.semantic-box h3{margin:0 0 16px;font-size:1.4rem;}

@media (max-width:1024px) {
	.prompt-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:900px) {
	.gpt-hero h1{font-size:2.2rem;}
	.category-grid, .blog-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));}
}
@media (max-width:600px) {
	.prompt-grid{grid-template-columns:1fr;}
}


/* Page 46 Styles */

	/* ===== GOOGLE FONT ===== */
	@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

	/* ===== CONTACT PAGE CRITICAL CSS ===== */
	.ct-page * {
		box-sizing: border-box;
		font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
	}

	/* --- Hero Section --- */
	.ct-hero {
		background: linear-gradient(170deg, #071226 0%, #0a1a3a 40%, #041122 100%);
		color: #fff;
		padding: 90px 20px 70px;
		position: relative;
		overflow: hidden;
	}

	.ct-hero::before {
		content: '';
		position: absolute;
		top: -60%;
		right: -20%;
		width: 600px;
		height: 600px;
		background: radial-gradient(circle, rgba(6, 181, 138, 0.12) 0%, transparent 70%);
		border-radius: 50%;
		pointer-events: none;
	}

	.ct-hero::after {
		content: '';
		position: absolute;
		bottom: -40%;
		left: -10%;
		width: 500px;
		height: 500px;
		background: radial-gradient(circle, rgba(6, 181, 138, 0.08) 0%, transparent 70%);
		border-radius: 50%;
		pointer-events: none;
	}

	.ct-hero .wrap {
		max-width: 800px;
		margin: 0 auto;
		text-align: center;
		position: relative;
		z-index: 2;
	}

	.ct-hero .badge {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		background: rgba(6, 181, 138, 0.12);
		border: 1px solid rgba(6, 181, 138, 0.25);
		color: #6ee7c2;
		font-size: 0.85rem;
		font-weight: 600;
		padding: 8px 20px;
		border-radius: 50px;
		margin-bottom: 24px;
		letter-spacing: 0.02em;
	}

	.ct-hero h1 {
		font-size: 3rem;
		font-weight: 800;
		line-height: 1.1;
		margin: 0 0 18px;
		color: #fff;
		letter-spacing: -0.025em;
	}

	.ct-hero h1 span {
		background: linear-gradient(135deg, #06b58a, #6ee7c2);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		background-clip: text;
	}

	.ct-hero p.lead {
		margin: 0 auto 16px;
		color: #94a3b8;
		font-size: 1.15rem;
		line-height: 1.7;
		max-width: 620px;
	}

	/* --- Breadcrumb --- */
	.ct-breadcrumb {
		display: flex;
		justify-content: center;
		gap: 8px;
		font-size: 0.85rem;
		color: #64748b;
		margin-top: 10px;
	}

	.ct-breadcrumb a {
		color: #06b58a;
		text-decoration: none;
		transition: color 0.2s;
	}

	.ct-breadcrumb a:hover {
		color: #6ee7c2;
	}

	/* --- Main Layout --- */
	.ct-main {
		max-width: 1200px;
		margin: -40px auto 0;
		padding: 0 20px;
		position: relative;
		z-index: 5;
	}

	.ct-grid {
		display: grid;
		grid-template-columns: 1fr 380px;
		gap: 32px;
		align-items: start;
	}

	/* --- Form Card --- */
	.ct-form-card {
		background: #fff;
		border-radius: 20px;
		padding: 48px;
		box-shadow: 0 20px 60px rgba(7, 18, 38, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04);
		border: 1px solid #f1f5f9;
		position: relative;
		overflow: hidden;
	}

	.ct-form-card::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		height: 4px;
		background: linear-gradient(90deg, #06b58a, #10b981, #06b58a);
		background-size: 200% 100%;
		animation: ct-shimmer 3s ease infinite;
	}

	@keyframes ct-shimmer {
		0% {
			background-position: 200% 0;
		}

		100% {
			background-position: -200% 0;
		}
	}

	.ct-form-card h2 {
		font-size: 1.6rem;
		font-weight: 800;
		color: #0f172a;
		margin: 0 0 6px;
		letter-spacing: -0.02em;
	}

	.ct-form-card .subtitle {
		color: #64748b;
		font-size: 0.95rem;
		margin: 0 0 32px;
		line-height: 1.5;
	}

	/* --- CF7 Form Styling Override --- */
	.ct-form-card .wpcf7 {
		margin: 0;
	}

	.ct-form-card .wpcf7-form p {
		margin: 0 0 20px;
	}

	.ct-form-card .wpcf7-form label {
		display: block;
		font-size: 0.88rem;
		font-weight: 600;
		color: #334155;
		margin-bottom: 8px;
		letter-spacing: 0.01em;
	}

	.ct-form-card .wpcf7-form-control:not(.wpcf7-submit) {
		width: 100%;
		padding: 14px 18px;
		font-size: 0.95rem;
		border: 1.5px solid #e2e8f0;
		border-radius: 12px;
		background: #f8fafc;
		color: #0f172a;
		outline: none;
		transition: all 0.25s ease;
		font-family: 'Inter', sans-serif;
	}

	.ct-form-card .wpcf7-form-control:not(.wpcf7-submit):focus {
		border-color: #06b58a;
		background: #fff;
		box-shadow: 0 0 0 4px rgba(6, 181, 138, 0.1);
	}

	.ct-form-card .wpcf7-form-control.wpcf7-textarea {
		min-height: 140px;
		resize: vertical;
	}

	.ct-form-card .wpcf7-form-control.wpcf7-select {
		appearance: none;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2364748b' viewBox='0 0 16 16'%3E%3Cpath d='M8 11.5l-5-5h10l-5 5z'/%3E%3C/svg%3E");
		background-repeat: no-repeat;
		background-position: right 16px center;
		padding-right: 40px;
		cursor: pointer;
	}

	.ct-form-card .wpcf7-submit {
		width: 100%;
		padding: 16px 32px;
		font-size: 1.05rem;
		font-weight: 700;
		color: #05120a;
		background: linear-gradient(135deg, #06b58a, #0dd9a4);
		border: none;
		border-radius: 14px;
		cursor: pointer;
		transition: all 0.3s ease;
		font-family: 'Inter', sans-serif;
		letter-spacing: 0.01em;
		position: relative;
		overflow: hidden;
	}

	.ct-form-card .wpcf7-submit:hover {
		transform: translateY(-2px);
		box-shadow: 0 8px 25px rgba(6, 181, 138, 0.35);
	}

	.ct-form-card .wpcf7-submit:active {
		transform: translateY(0);
	}

	.ct-form-card .wpcf7-response-output {
		margin: 16px 0 0 !important;
		padding: 14px 18px !important;
		border-radius: 12px !important;
		font-size: 0.9rem !important;
	}

	.ct-form-card .wpcf7-not-valid-tip {
		color: #ef4444;
		font-size: 0.82rem;
		margin-top: 4px;
	}

	.ct-form-card .wpcf7 form.sent .wpcf7-response-output {
		border-color: #06b58a !important;
		background: #ecfdf5 !important;
		color: #065f46 !important;
	}

	.ct-form-card .wpcf7 form.invalid .wpcf7-response-output,
	.ct-form-card .wpcf7 form.failed .wpcf7-response-output {
		border-color: #fca5a5 !important;
		background: #fef2f2 !important;
		color: #991b1b !important;
	}

	/* --- Sidebar --- */
	.ct-sidebar {
		display: flex;
		flex-direction: column;
		gap: 24px;
	}

	.ct-info-card {
		background: #fff;
		border-radius: 16px;
		padding: 28px;
		box-shadow: 0 8px 30px rgba(7, 18, 38, 0.06);
		border: 1px solid #f1f5f9;
		transition: transform 0.25s ease, box-shadow 0.25s ease;
	}

	.ct-info-card:hover {
		transform: translateY(-3px);
		box-shadow: 0 12px 40px rgba(7, 18, 38, 0.1);
	}

	.ct-info-card .icon-wrap {
		width: 48px;
		height: 48px;
		border-radius: 14px;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 1.3rem;
		margin-bottom: 16px;
		flex-shrink: 0;
	}

	.ct-info-card h3 {
		font-size: 1rem;
		font-weight: 700;
		color: #0f172a;
		margin: 0 0 6px;
	}

	.ct-info-card p {
		font-size: 0.9rem;
		color: #64748b;
		margin: 0;
		line-height: 1.6;
	}

	.ct-info-card a {
		color: #06b58a;
		text-decoration: none;
		font-weight: 600;
		transition: color 0.2s;
	}

	.ct-info-card a:hover {
		color: #059c76;
	}

	/* Icon color variants */
	.icon-email {
		background: linear-gradient(135deg, #ecfdf5, #d1fae5);
		color: #059669;
	}

	.icon-time {
		background: linear-gradient(135deg, #eff6ff, #dbeafe);
		color: #2563eb;
	}

	.icon-social {
		background: linear-gradient(135deg, #fdf4ff, #f3e8ff);
		color: #9333ea;
	}

	.icon-faq {
		background: linear-gradient(135deg, #fef3c7, #fde68a);
		color: #d97706;
	}

	/* --- Social Links --- */
	.ct-social-links {
		display: flex;
		gap: 10px;
		margin-top: 12px;
	}

	.ct-social-links a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		border-radius: 10px;
		background: #f1f5f9;
		color: #64748b;
		font-size: 1.1rem;
		text-decoration: none;
		transition: all 0.25s ease;
	}

	.ct-social-links a:hover {
		background: #06b58a;
		color: #fff;
		transform: translateY(-2px);
	}

	/* --- Trust Bar --- */
	.ct-trust-bar {
		max-width: 1200px;
		margin: 60px auto;
		padding: 0 20px;
	}

	.ct-trust-grid {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 20px;
	}

	.ct-trust-item {
		text-align: center;
		padding: 32px 20px;
		background: #f8fafc;
		border-radius: 16px;
		border: 1px solid #e2e8f0;
		transition: all 0.25s ease;
	}

	.ct-trust-item:hover {
		background: #fff;
		box-shadow: 0 8px 25px rgba(7, 18, 38, 0.06);
		transform: translateY(-2px);
	}

	.ct-trust-item .trust-icon {
		font-size: 2rem;
		margin-bottom: 12px;
		display: block;
	}

	.ct-trust-item h4 {
		font-size: 1.1rem;
		font-weight: 700;
		color: #0f172a;
		margin: 0 0 6px;
	}

	.ct-trust-item p {
		font-size: 0.85rem;
		color: #64748b;
		margin: 0;
		line-height: 1.5;
	}

	/* --- FAQ Section --- */
	.ct-faq {
		max-width: 800px;
		margin: 0 auto 70px;
		padding: 0 20px;
	}

	.ct-faq h2 {
		text-align: center;
		font-size: 2rem;
		font-weight: 800;
		color: #0f172a;
		margin: 0 0 8px;
		letter-spacing: -0.02em;
	}

	.ct-faq .faq-sub {
		text-align: center;
		color: #64748b;
		font-size: 1rem;
		margin: 0 0 32px;
	}

	.ct-faq-list {
		background: #fff;
		border-radius: 16px;
		padding: 8px;
		border: 1px solid #e2e8f0;
		box-shadow: 0 4px 15px rgba(7, 18, 38, 0.04);
	}

	.ct-faq-list details {
		border-bottom: 1px solid #f1f5f9;
	}

	.ct-faq-list details:last-child {
		border-bottom: none;
	}

	.ct-faq-list summary {
		cursor: pointer;
		font-weight: 700;
		color: #0f172a;
		font-size: 1rem;
		padding: 20px 24px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		list-style: none;
		transition: color 0.2s;
		border-radius: 12px;
	}

	.ct-faq-list summary:hover {
		color: #06b58a;
	}

	.ct-faq-list summary::-webkit-details-marker {
		display: none;
	}

	.ct-faq-list summary .faq-icon {
		width: 28px;
		height: 28px;
		border-radius: 8px;
		background: #f1f5f9;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 1rem;
		color: #06b58a;
		flex-shrink: 0;
		transition: all 0.3s ease;
	}

	.ct-faq-list details[open] summary .faq-icon {
		background: #06b58a;
		color: #fff;
		transform: rotate(45deg);
	}

	.ct-faq-list .faq-body {
		padding: 0 24px 20px;
		color: #475569;
		font-size: 0.95rem;
		line-height: 1.7;
	}

	/* --- CTA Section --- */
	.ct-cta {
		max-width: 1200px;
		margin: 0 auto 70px;
		padding: 0 20px;
	}

	.ct-cta-inner {
		background: linear-gradient(135deg, #071226 0%, #0a1a3a 100%);
		border-radius: 24px;
		padding: 70px 40px;
		text-align: center;
		position: relative;
		overflow: hidden;
	}

	.ct-cta-inner::before {
		content: '';
		position: absolute;
		top: -50%;
		left: 50%;
		transform: translateX(-50%);
		width: 500px;
		height: 500px;
		background: radial-gradient(circle, rgba(6, 181, 138, 0.15) 0%, transparent 70%);
		border-radius: 50%;
		pointer-events: none;
	}

	.ct-cta-inner h2 {
		font-size: 2.2rem;
		font-weight: 800;
		color: #fff;
		margin: 0 0 14px;
		position: relative;
		z-index: 2;
		letter-spacing: -0.02em;
	}

	.ct-cta-inner p {
		color: #94a3b8;
		font-size: 1.05rem;
		max-width: 550px;
		margin: 0 auto 28px;
		line-height: 1.7;
		position: relative;
		z-index: 2;
	}

	.ct-cta-btn {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		background: linear-gradient(135deg, #06b58a, #0dd9a4);
		color: #05120a;
		padding: 16px 36px;
		border-radius: 14px;
		font-weight: 700;
		font-size: 1.05rem;
		text-decoration: none;
		transition: all 0.3s ease;
		position: relative;
		z-index: 2;
	}

	.ct-cta-btn:hover {
		transform: translateY(-2px);
		box-shadow: 0 8px 30px rgba(6, 181, 138, 0.35);
		color: #05120a;
	}

	/* --- Entrance Animations --- */
	@keyframes ct-fadeUp {
		from {
			opacity: 0;
			transform: translateY(24px);
		}

		to {
			opacity: 1;
			transform: translateY(0);
		}
	}

	.ct-animate {
		animation: ct-fadeUp 0.6s ease forwards;
		opacity: 0;
	}

	.ct-animate-d1 {
		animation-delay: 0.1s;
	}

	.ct-animate-d2 {
		animation-delay: 0.2s;
	}

	.ct-animate-d3 {
		animation-delay: 0.3s;
	}

	.ct-animate-d4 {
		animation-delay: 0.4s;
	}

	/* --- Responsive --- */
	@media (max-width: 1024px) {
		.ct-grid {
			grid-template-columns: 1fr;
		}

		.ct-sidebar {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
		}

		.ct-trust-grid {
			grid-template-columns: repeat(2, 1fr);
		}
	}

	@media (max-width: 768px) {
		.ct-hero {
			padding: 70px 20px 50px;
		}

		.ct-hero h1 {
			font-size: 2.2rem;
		}

		.ct-form-card {
			padding: 32px 24px;
		}

		.ct-sidebar {
			grid-template-columns: 1fr;
		}

		.ct-trust-grid {
			grid-template-columns: 1fr 1fr;
		}

		.ct-cta-inner {
			padding: 50px 24px;
		}

		.ct-cta-inner h2 {
			font-size: 1.7rem;
		}
	}

	@media (max-width: 480px) {
		.ct-hero h1 {
			font-size: 1.8rem;
		}

		.ct-hero p.lead {
			font-size: 1rem;
		}

		.ct-trust-grid {
			grid-template-columns: 1fr;
		}

		.ct-form-card {
			padding: 24px 18px;
		}
	}

/* ===== ERROR PAGES (404/500) ===== */
.gpi-error-page .ct-hero{
    min-height:70vh;
    display:flex;
    align-items:center;
    justify-content:center;
}
.gpi-error-page .wrap{
    text-align:center;
}
.gpi-error-page .badge{
    display:inline-block;
    background:rgba(239, 68, 68, 0.12);
    color:#fca5a5;
    border:1px solid rgba(239, 68, 68, 0.25);
    padding:.4rem 1rem;
    border-radius:999px;
    font-size:.85rem;
    font-weight:600;
    margin-bottom:1rem;
}
.gpi-error-page h1{
    font-size:4rem;
    letter-spacing:-0.03em;
    margin:0 0 .5rem;
}
.gpi-error-page h1 span{
    background:linear-gradient(135deg, #f97316, #ec4899);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
}
.gpi-error-page .lead{
    margin-bottom:40px;
    font-size:1.15rem;
    color:#94a3b8;
}
.ct-cta-btn{
    display:inline-block;
    padding:.7rem 1.8rem;
    background:linear-gradient(135deg, #10b981, #10b981);
    color:#fff;
    border-radius:999px;
    font-weight:600;
    font-size:.95rem;
    text-decoration:none;
    box-shadow:0 6px 20px rgba(16, 185, 129, 0.3);
    transition:transform .15s, box-shadow .15s;
}
.ct-cta-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 28px rgba(16, 185, 129, 0.4);
}

/* Fade-in animation for error pages */
.ct-animate{
    animation:gpi-fadeUp .5s ease-out both;
}
.ct-animate-d1{ animation-delay:.1s; }
.ct-animate-d2{ animation-delay:.2s; }
.ct-animate-d3{ animation-delay:.3s; }
@keyframes gpi-fadeUp{
    from{ opacity:0; transform:translateY(16px); }
    to{ opacity:1; transform:translateY(0); }
}

/* ===== SINGLE PAGE: Meta row & badges ===== */
.gpi-meta-row{
    align-items:center;
}
.gpi-badge[data-tooltip]{
    padding:6px;
    cursor:help;
    border-radius:999px;
}
.gpi-kicker{
    margin-left:2px;
    padding:4px 10px;
    font-size:0.72rem;
}

/* ===== SINGLE PAGE: Related prompts ===== */
.gpi-related-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(230px, 1fr));
    gap:26px;
    margin-top:16px;
}
.gpi-related-card{
    text-decoration:none;
    color:inherit;
    display:block;
    border-radius:12px;
    overflow:hidden;
    border:1px solid rgba(15,23,42,0.08);
    transition:transform 0.2s, box-shadow 0.2s;
}
.gpi-related-card:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 30px rgba(15,23,42,.1);
}
.gpi-related-card img,
.gpi-related-card .gpi-related-placeholder{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    display:block;
}
.gpi-related-placeholder{
    background:#e2e8f0;
}
.gpi-related-card .gpi-related-body{
    padding:12px;
}
.gpi-related-card h3{
    margin:0;
    font-size:0.95rem;
    line-height:1.3;
    font-weight:700;
    color:#0f172a;
}

/* ===== 404 SMART DISCOVERY ===== */
.gpi-404-search{
    max-width:500px;
    margin:0 auto 2rem;
}
.gpi-404-search form{
    display:flex;
    border-radius:999px;
    overflow:hidden;
    border:1px solid rgba(148,163,184,.4);
    background:#fff;
}
.gpi-404-search input[type="search"]{
    flex:1;
    border:0;
    padding:.65rem 1.2rem;
    font-size:.9rem;
    outline:none;
    background:transparent;
    color:#1e293b;
}
.gpi-404-search button{
    border:0;
    background:linear-gradient(135deg, #10b981, #10b981);
    color:#fff;
    padding:.65rem 1.4rem;
    font-weight:600;
    font-size:.85rem;
    cursor:pointer;
    transition:opacity .2s;
}
.gpi-404-search button:hover{
    opacity:.85;
}
.gpi-404-recent{
    max-width:700px;
    margin:0 auto;
}
.gpi-404-recent h2{
    font-size:1.1rem;
    color:#94a3b8;
    margin:0 0 1rem;
    font-weight:500;
}
.gpi-404-recent-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));
    gap:16px;
}
.gpi-404-card{
    text-decoration:none;
    color:inherit;
    display:block;
    border-radius:12px;
    overflow:hidden;
    border:1px solid rgba(148,163,184,.2);
    background:#fff;
    transition:transform .15s, box-shadow .15s;
}
.gpi-404-card:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 24px rgba(15,23,42,.1);
}
.gpi-404-card img{
    width:100%;
    aspect-ratio:16/10;
    object-fit:cover;
    display:block;
}
.gpi-404-card .gpi-404-card-body{
    padding:10px 12px;
}
.gpi-404-card h3{
    margin:0;
    font-size:.85rem;
    font-weight:600;
    color:#1e293b;
    line-height:1.3;
}

/* ===== ARCHIVE SEO INTRO ===== */
.gpi-archive-intro{
    max-width:680px;
    margin:0 auto 1.5rem;
    color:#64748b;
    font-size:.95rem;
    line-height:1.6;
    text-align:center;
}
.gpi-taxonomy-intro{
    max-width:680px;
    margin:0 0 1.5rem;
    color:#475569;
    font-size:.95rem;
    line-height:1.6;
}

/* ===== 404 SMART DISCOVERY ===== */
.gpi-404-search{
    max-width:420px;
    margin:1.5rem auto;
}
.gpi-404-search form{
    display:flex;
    gap:0;
    border-radius:999px;
    overflow:hidden;
    border:1px solid rgba(148,163,184,.35);
    background:#fff;
}
.gpi-404-search input[type="search"]{
    flex:1;
    border:0;
    padding:.6rem 1.2rem;
    font-size:.9rem;
    outline:none;
    background:transparent;
    color:#1e293b;
}
.gpi-404-search button{
    border:0;
    background:linear-gradient(135deg, #0f766e, #0d9488);
    color:#fff;
    padding:.6rem 1.4rem;
    font-weight:600;
    font-size:.85rem;
    cursor:pointer;
    transition:opacity .2s;
}
.gpi-404-search button:hover{
    opacity:.9;
}
.gpi-404-recent{
    margin-top:2.5rem;
}
.gpi-404-recent h2{
    font-size:1.1rem;
    color:#94a3b8;
    font-weight:500;
    margin:0 0 1rem;
}
.gpi-404-recent-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1rem;
    max-width:640px;
    margin:0 auto;
}
.gpi-404-card{
    text-decoration:none;
    color:inherit;
    border-radius:12px;
    overflow:hidden;
    border:1px solid rgba(148,163,184,.2);
    background:#fff;
    transition:transform .15s, box-shadow .15s;
}
.gpi-404-card:hover{
    transform:translateY(-3px);
    box-shadow:0 8px 24px rgba(15,23,42,.1);
}
.gpi-404-card img{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    display:block;
}
.gpi-404-card-body{
    padding:10px 12px;
}
.gpi-404-card-body h3{
    margin:0;
    font-size:.85rem;
    font-weight:600;
    color:#1e293b;
    line-height:1.3;
}
@media (max-width:640px){
    .gpi-404-recent-grid{
        grid-template-columns:1fr;
        max-width:300px;
    }
}
