/* NovaDream Design System 3.0 — reusable semantic component variants. */
.nd-display { font-family: var(--nd-font-display); font-size: var(--nd-type-display); line-height: .98; letter-spacing: -.035em; }
.nd-heading-1 { font-family: var(--nd-font-display); font-size: var(--nd-type-h1); line-height: 1.05; letter-spacing: -.025em; }
.nd-heading-2 { font-family: var(--nd-font-display); font-size: var(--nd-type-h2); line-height: 1.1; letter-spacing: -.018em; }
.nd-heading-3 { font-family: var(--nd-font-display); font-size: var(--nd-type-h3); line-height: 1.15; }
.nd-body { font-size: var(--nd-type-body); }
.nd-small { font-size: var(--nd-type-small); }

.nd-surface { background: var(--nd-color-surface); color: var(--nd-color-text); }
.nd-surface-alt { background: var(--nd-color-surface-alt); color: var(--nd-color-text); }
.nd-surface-inverse { background: var(--nd-color-surface-inverse); color: var(--nd-color-text-inverse); }
.nd-status--success { color: var(--nd-color-success); }
.nd-status--warning { color: var(--nd-color-warning); }
.nd-status--danger { color: var(--nd-color-danger); }
.nd-status--info { color: var(--nd-color-info); }

.nd-ui-card,
.nd-card { border: 1px solid var(--nd-color-border); border-radius: var(--nd-radius-lg); background: var(--nd-color-bg); box-shadow: var(--nd-shadow); }
.nd-ui-card { padding: var(--nd-card-padding); }

.is-style-surface-card { padding: var(--nd-card-padding); border: 1px solid var(--nd-color-border); border-radius: var(--nd-radius-lg); background: var(--nd-color-surface); }
.is-style-elevated-card { padding: var(--nd-card-padding); border: 1px solid var(--nd-color-border); border-radius: var(--nd-radius-lg); background: var(--nd-color-bg); box-shadow: var(--nd-shadow-lg); }
.is-style-glass-panel { padding: var(--nd-card-padding); border: 1px solid color-mix(in srgb, var(--nd-color-border) 72%, transparent); border-radius: var(--nd-radius-lg); background: color-mix(in srgb, var(--nd-color-bg) 78%, transparent); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }

.wp-block-button.is-style-soft .wp-block-button__link { background: var(--nd-color-surface-alt); color: var(--nd-color-primary); }
.wp-block-button.is-style-outline .wp-block-button__link { border: 1px solid var(--nd-color-primary); background: transparent; color: var(--nd-color-primary); }
.wp-block-button.is-style-pill .wp-block-button__link { border-radius: var(--nd-radius-pill); }
.wp-block-image.is-style-rounded img { border-radius: var(--nd-radius-lg); }
.wp-block-image.is-style-framed img { padding: var(--nd-space-2); border: 1px solid var(--nd-color-border); border-radius: var(--nd-radius-lg); background: var(--nd-color-bg); box-shadow: var(--nd-shadow-sm); }

.is-style-editorial-card { border-radius: var(--nd-radius-sm); background: var(--nd-color-bg); box-shadow: none; }
.is-style-cinematic-card { overflow: hidden; border-color: transparent; background: var(--nd-color-surface-inverse); color: var(--nd-color-text-inverse); box-shadow: var(--nd-shadow-lg); }
.is-style-commerce-card { border-radius: var(--nd-radius-md); background: var(--nd-color-bg); box-shadow: var(--nd-shadow-sm); }
.is-style-dashboard-card { border-radius: var(--nd-radius-sm); background: var(--nd-color-bg); box-shadow: none; }

.nd-motion { transition-duration: var(--nd-motion-base); transition-timing-function: var(--nd-motion-ease); }
.nd-motion--fast { transition-duration: var(--nd-motion-fast); }
.nd-motion--slow { transition-duration: var(--nd-motion-slow); }
