/* BDI Proofing — Design System. Mirrors bdiphotography.com:
   light, editorial, image-forward. Playfair (serif) display + Inter (sans) UI. */

:root {
    --bdi-font-heading: 'Playfair Display', Georgia, 'Times New Roman', serif;
    --bdi-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    --bdi-bg: #ffffff;
    --bdi-bg-alt: #f8f8f8;
    --bdi-bg-subtle: #f0f0f0;
    --bdi-border: #e6e6e6;
    --bdi-text: #222222;
    --bdi-text-soft: #555555;
    --bdi-text-mute: #767676;
    --bdi-brand: #005f73;
    --bdi-brand-hover: #0d3b66;
    --bdi-gold: #d4a853;

    --bdi-space-1: 4px;  --bdi-space-2: 8px;  --bdi-space-3: 16px;
    --bdi-space-4: 24px; --bdi-space-5: 40px; --bdi-space-6: 64px;

    --bdi-radius: 6px;
    --bdi-radius-lg: 10px;
    --bdi-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 10px 30px rgba(0,0,0,0.07);
    --bdi-container: 1200px;
}

/* Headings */
.bdi-h1 { font-family: var(--bdi-font-heading); font-weight: 400; font-size: 40px;
    line-height: 1.15; color: var(--bdi-text); margin: 0; }
.bdi-h2 { font-family: var(--bdi-font-heading); font-weight: 400; font-size: 26px;
    line-height: 1.2; color: var(--bdi-text); margin: 0; }
.bdi-eyebrow { font-family: var(--bdi-font-body); font-size: 12px; font-weight: 600;
    letter-spacing: 1.5px; text-transform: uppercase; color: var(--bdi-text-mute); margin: 0 0 8px; }

/* Buttons */
.bdi-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    font-family: var(--bdi-font-body); font-size: 14px; font-weight: 500; line-height: 1;
    padding: 11px 24px; border-radius: var(--bdi-radius); border: 1px solid transparent;
    cursor: pointer; text-decoration: none;
    transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.bdi-btn--primary { background: var(--bdi-brand); color: #fff; }
.bdi-btn--primary:hover { background: var(--bdi-brand-hover); color: #fff; }
.bdi-btn--ghost { background: transparent; color: var(--bdi-text); border-color: var(--bdi-text); }
.bdi-btn--ghost:hover { background: var(--bdi-text); color: #fff; }
.bdi-btn:disabled, .bdi-btn[disabled] { opacity: .4; cursor: not-allowed; }

/* Card */
.bdi-card { background: var(--bdi-bg); border: 1px solid var(--bdi-border);
    border-radius: var(--bdi-radius-lg); }

/* Form fields */
.bdi-field { display: block; margin-bottom: var(--bdi-space-3); }
.bdi-field > span { display: block; font-family: var(--bdi-font-body); font-size: 13px;
    font-weight: 600; color: var(--bdi-text); margin-bottom: 6px; }
.bdi-input { width: 100%; box-sizing: border-box; padding: 11px 13px;
    font-family: var(--bdi-font-body); font-size: 15px; color: var(--bdi-text); background: #fff;
    border: 1px solid var(--bdi-border); border-radius: var(--bdi-radius); }
.bdi-input:focus { outline: none; border-color: var(--bdi-brand);
    box-shadow: 0 0 0 3px rgba(0,95,115,0.12); }

/* Container */
.bdi-container { max-width: var(--bdi-container); margin: 0 auto;
    padding-left: var(--bdi-space-4); padding-right: var(--bdi-space-4); }
