/* ============================================
   BUTTONS + EXAMPLE CARDS
   Shared by the homepage and /demos/.
   ============================================ */

/* ============================================
   BUTTONS
   ============================================ */
.btn {
    display: inline-flex; align-items: center; gap: 0.55rem;
    font-size: 0.92rem; font-weight: 600; padding: 0.85rem 1.7rem;
    border-radius: var(--radius-pill); transition: all var(--duration-fast) ease;
}
.btn svg { width: 17px; height: 17px; flex-shrink: 0; }
.btn-primary { background: var(--c-accent); color: #00112c; }
[data-theme="light"] .btn-primary { color: #fff; }
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 28px var(--c-accent-soft); filter: brightness(1.08); }
.btn-ghost { border: 1px solid var(--c-border-strong); color: var(--c-text); }
.btn-ghost:hover { border-color: var(--c-accent); color: var(--c-accent); transform: translateY(-2px); }
.btn-sm { font-size: 0.82rem; padding: 0.6rem 1.2rem; }

/* ============================================
   EXAMPLES / DEMO GALLERY
   ============================================ */
.ex-note {
    display: flex; align-items: flex-start; gap: 0.7rem;
    background: var(--c-accent-soft); border: 1px solid var(--c-border);
    border-radius: var(--radius-sm); padding: 0.9rem 1.1rem;
    font-size: 0.84rem; color: var(--c-text-2); font-weight: 300; line-height: 1.6;
    margin-bottom: 2.2rem;
}
.ex-note svg { width: 17px; height: 17px; color: var(--c-accent); flex-shrink: 0; margin-top: 3px; }
.ex-note strong { color: var(--c-text); font-weight: 500; }

.ex-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
.ex-card {
    display: flex; flex-direction: column;
    background: var(--c-surface); border: 1px solid var(--c-border);
    border-radius: var(--radius); overflow: hidden;
    transition: border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease, transform var(--duration-fast) ease;
}
.ex-card:hover { border-color: var(--c-border-strong); box-shadow: var(--c-card-shadow-hover); transform: translateY(-3px); }
.ex-thumb {
    height: 132px; position: relative; overflow: hidden;
    border-bottom: 1px solid var(--c-border);
    display: grid; place-items: center;
}
.ex-thumb svg { width: 100%; height: 100%; display: block; }
.ex-body { padding: 1.4rem 1.5rem 1.5rem; display: flex; flex-direction: column; flex: 1; }
.ex-kind { font-size: 0.68rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-accent); margin-bottom: 0.6rem; }
.ex-card h3 { font-family: var(--f-serif); font-size: 1.55rem; font-weight: 750; letter-spacing: -0.04em; line-height: 1.15; margin-bottom: 0.55rem; }
.ex-card > .ex-body > p { font-size: 0.9rem; color: var(--c-text-2); font-weight: 300; line-height: 1.65; margin-bottom: 1.1rem; }
.ex-feats { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 1.4rem; }
.ex-feat {
    font-size: 0.72rem; font-weight: 500; color: var(--c-text-3);
    border: 1px solid var(--c-border); border-radius: var(--radius-pill);
    padding: 0.28rem 0.7rem;
}
.ex-foot { margin-top: auto; display: flex; align-items: center; gap: 0.9rem; flex-wrap: wrap; }
.ex-open {
    display: inline-flex; align-items: center; gap: 0.45rem;
    font-size: 0.85rem; font-weight: 600; color: var(--c-accent);
}
.ex-open svg { width: 15px; height: 15px; transition: transform var(--duration-fast) ease; }
.ex-card:hover .ex-open svg { transform: translate(2px, -2px); }
.ex-sub { font-size: 0.78rem; color: var(--c-text-3); font-weight: 300; }
@media (max-width: 780px) { .ex-grid { grid-template-columns: 1fr; } }


.ex-more { margin-top: 1.6rem; font-size: 0.88rem; color: var(--c-text-3); font-weight: 300; }
.ex-more a { color: var(--c-accent); font-weight: 500; border-bottom: 1px solid var(--c-accent-soft); }
.ex-more a:hover { border-bottom-color: currentColor; }
