.ceed-theme {
    font-family: var(--ceed-font-family);
}

.ceed-theme :focus-visible {
    outline: 2px solid var(--ceed-focus);
    outline-offset: 2px;
    box-shadow: var(--ceed-shadow-focus);
}

.ceed-theme .ceed-container {
    width: 100%;
    max-width: 1280px;
    margin-inline: auto;
    padding-inline: var(--ceed-space-4);
}

.ceed-theme .ceed-section {
    padding-block: var(--ceed-space-12);
}

.ceed-theme .ceed-section-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: var(--ceed-space-4);
    margin-block-end: var(--ceed-space-6);
}

.ceed-theme .ceed-section-title {
    margin: 0;
    color: var(--ceed-text);
    font: var(--ceed-font-h2);
}

.ceed-theme .ceed-section-subtitle {
    margin: var(--ceed-space-2) 0 0;
    color: var(--ceed-text-muted);
    font: var(--ceed-font-small);
}

.ceed-theme .ceed-section-action {
    color: var(--ceed-primary);
    font: var(--ceed-font-button);
}

.ceed-theme .ceed-surface,
.ceed-theme .ceed-card {
    background: var(--ceed-surface);
    border: 1px solid var(--ceed-border);
    border-radius: var(--ceed-radius-md);
}

.ceed-theme .ceed-card {
    padding: var(--ceed-space-4);
}

.ceed-theme .ceed-card--interactive {
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.ceed-theme .ceed-card--interactive:hover {
    border-color: var(--ceed-primary);
    box-shadow: var(--ceed-shadow-raised);
}

.ceed-theme .ceed-card--interactive:active {
    transform: translateY(1px);
}

.ceed-theme .ceed-badge,
.ceed-theme .ceed-chip {
    display: inline-flex;
    align-items: center;
    gap: var(--ceed-space-1);
    padding: var(--ceed-space-1) var(--ceed-space-2);
    color: var(--ceed-primary);
    background: var(--ceed-primary-soft);
    font: var(--ceed-font-caption);
}

.ceed-theme .ceed-badge { border-radius: var(--ceed-radius-xs); }
.ceed-theme .ceed-chip { border-radius: var(--ceed-radius-pill); }

.ceed-theme .ceed-btn,
.ceed-theme .ceed-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--ceed-space-2);
    min-height: 40px;
    padding: var(--ceed-space-2) var(--ceed-space-4);
    border: 1px solid transparent;
    border-radius: var(--ceed-radius-sm);
    font: var(--ceed-font-button);
    text-decoration: none;
    cursor: pointer;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.ceed-theme .ceed-btn--primary { color: var(--ceed-white); background: var(--ceed-primary); }
.ceed-theme .ceed-btn--primary:hover { color: var(--ceed-white); background: var(--ceed-primary-hover); }
.ceed-theme .ceed-btn--secondary { color: var(--ceed-primary); background: var(--ceed-primary-soft); }
.ceed-theme .ceed-btn--secondary:hover { background: var(--ceed-border); }
.ceed-theme .ceed-btn--ghost { color: var(--ceed-primary); background: transparent; border-color: var(--ceed-border); }
.ceed-theme .ceed-btn--ghost:hover { background: var(--ceed-primary-soft); }
.ceed-theme .ceed-icon-btn { width: 40px; padding: 0; color: var(--ceed-primary); background: var(--ceed-surface); border-color: var(--ceed-border); }
.ceed-theme .ceed-icon-btn:hover { background: var(--ceed-primary-soft); }
.ceed-theme .ceed-btn:active,
.ceed-theme .ceed-icon-btn:active { transform: translateY(1px); }
.ceed-theme .ceed-btn:disabled,
.ceed-theme .ceed-icon-btn:disabled,
.ceed-theme .ceed-btn[aria-disabled='true'],
.ceed-theme .ceed-icon-btn[aria-disabled='true'] { opacity: .5; cursor: not-allowed; pointer-events: none; }

@media (min-width: 768px) {
    .ceed-theme .ceed-container { padding-inline: var(--ceed-space-6); }
}

@media (min-width: 1200px) {
    .ceed-theme .ceed-container { padding-inline: var(--ceed-space-8); }
}

@media (max-width: 767px) {
    .ceed-theme .ceed-section { padding-block: var(--ceed-space-8); }
    .ceed-theme input,
    .ceed-theme select,
    .ceed-theme textarea { font-size: max(16px, 1em); }
}

@media (prefers-reduced-motion: reduce) {
    .ceed-theme .ceed-card--interactive,
    .ceed-theme .ceed-btn,
    .ceed-theme .ceed-icon-btn { transition-duration: .01ms; }
}
