/**
 * Pages-common — shared components for non-home pages
 */

/* Page hero (interior pages) */
.page-hero {
    background:
        linear-gradient(135deg, rgba(10,22,40,0.92), rgba(18,34,64,0.88)),
        radial-gradient(ellipse at top right, rgba(212,168,85,0.20), transparent 60%),
        #0a1628;
    color: #fff;
    padding: calc(var(--header-h) + 72px) 0 72px;
    position: relative; overflow: hidden;
}
.page-hero::before {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background-image:
        radial-gradient(2px 2px at 12% 30%, rgba(255,255,255,0.18), transparent 50%),
        radial-gradient(1.5px 1.5px at 68% 60%, rgba(255,255,255,0.14), transparent 50%),
        radial-gradient(2px 2px at 90% 22%, rgba(212,168,85,0.3), transparent 50%);
}
.page-hero > .container { position: relative; z-index: 1; }
.page-hero .eyebrow { color: var(--c-gold-light); }
.page-hero h1 { color: #fff; max-width: 820px; }
.page-hero p { color: rgba(255,255,255,0.8); max-width: 720px; font-size: 1.12rem; margin-top: 18px; }

/* Form styles */
.form { display: flex; flex-direction: column; gap: 20px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
@media (max-width: 640px) { .form-row { grid-template-columns: 1fr; } }
.form-field { display: flex; flex-direction: column; gap: 8px; }
.form-field label {
    font-size: 13px; font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.08em; color: var(--c-text-muted);
}
.form-field input,
.form-field select,
.form-field textarea {
    padding: 14px 18px; border-radius: 8px; border: 1.5px solid var(--c-border);
    font-size: 15px; font-family: inherit; color: var(--c-text);
    background: #fff; transition: var(--trans);
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus { outline: none; border-color: var(--c-gold); }
.form-field textarea { min-height: 140px; resize: vertical; }
.form-submit { align-self: flex-start; }

.form-alert {
    padding: 16px 20px; border-radius: var(--radius);
    font-size: 14px; border: 1px solid;
}
.form-alert.success { background: #f0fdf4; border-color: #86efac; color: #166534; }
.form-alert.error { background: #fef2f2; border-color: #fecaca; color: #991b1b; }
.form-alert ul { margin-left: 20px; margin-top: 6px; }
