/* Shared scaffolding for all Phase 9 public-site pages.
   Loaded globally by App.razor so each page doesn't have to redefine
   the section grid + compact page hero. Page-specific tweaks live in
   their own scoped razor.css files. */

/* Compact page hero — used by Features, Pricing, Testimonials, FAQ,
   Contact, FreeTrial, About. Less tall than the home hero. */
.px-hero {
    background: linear-gradient(135deg, #1B365D 0%, #102648 100%);
    color: #FFFFFF;
    padding: 4rem 1.5rem 3.5rem;
    text-align: center;
    font-family: 'Sofia Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.px-hero-inner { max-width: 56rem; margin: 0 auto; }
.px-hero-eyebrow {
    color: #88CCEB;
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin: 0 0 0.75rem;
}
.px-hero-h1 {
    font-weight: 700;
    font-size: clamp(2rem, 4.5vw, 3.25rem);
    line-height: 1.1;
    letter-spacing: -0.01em;
    margin: 0 0 1rem;
    color: #FFFFFF;
}
.px-hero-sub {
    font-weight: 300;
    font-size: 1.0625rem;
    color: #88CCEB;
    margin: 0 auto;
    max-width: 38rem;
    line-height: 1.55;
}
.px-hero-disclaimer {
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(136, 204, 235, 0.4);
    color: #88CCEB;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    display: inline-block;
    font-size: 0.875rem;
    margin: 1.25rem 0 0;
}

/* Section scaffolding — same tokens as the home page. */
.ph-section { padding: 5rem 1.5rem; font-family: 'Sofia Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.ph-section-light { background: #FFFFFF; }
.ph-section-off { background: #F7F9FB; }
.ph-section-navy { background: #1B365D; color: #FFFFFF; }

.ph-narrow { max-width: 56rem; margin: 0 auto; }
.ph-wide { max-width: 76rem; margin: 0 auto; }
.ph-center { text-align: center; }

.ph-grid { display: grid; gap: 1.5rem; margin-top: 2rem; }
.ph-grid-2 { grid-template-columns: repeat(2, 1fr); }
.ph-grid-3 { grid-template-columns: repeat(3, 1fr); }
.ph-grid-4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 900px) {
    .ph-grid-3, .ph-grid-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .ph-grid-2, .ph-grid-3, .ph-grid-4 { grid-template-columns: 1fr; }
}

/* Body paragraphs — used by intro / contact / about copy */
.ph-body {
    font-family: 'Sofia Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 1.125rem;
    line-height: 1.65;
    color: #5A6878;
    margin: 0 0 1rem;
}

/* FAQ list reset (used by Faq.razor) */
.ph-faq {
    list-style: none;
    padding: 0;
    margin: 2rem 0 0;
}

/* Form scaffolding shared by Contact + FreeTrial pages. Form components
   are interactive Blazor islands so the styles need to be globally
   loaded (scoped CSS would only apply to elements rendered by the page
   that owns the file). */
.pcf-form {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    font-family: 'Sofia Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.pcf-row { display: flex; flex-direction: column; gap: 0.375rem; }
.pcf-row label { color: #1B365D; font-weight: 600; font-size: 0.9375rem; }
.pcf-req { color: #C0392B; }

.pcf-input,
.pcf-textarea {
    border: 1px solid #C7D1DC;
    border-radius: 4px;
    padding: 0.625rem 0.75rem;
    font-size: 1rem;
    font-family: inherit;
    color: #1B365D;
    background: #FFFFFF;
    transition: border 0.15s ease, box-shadow 0.15s ease;
    width: 100%;
}
.pcf-input:focus,
.pcf-textarea:focus {
    outline: none;
    border-color: #2384C6;
    box-shadow: 0 0 0 3px rgba(35, 132, 198, 0.15);
}
.pcf-textarea {
    resize: vertical;
    min-height: 8rem;
    line-height: 1.5;
}
.pcf-submit {
    align-self: flex-start;
    background: #2384C6;
    color: #FFFFFF;
    border: 1px solid transparent;
    padding: 0.75rem 1.75rem;
    font-weight: 600;
    border-radius: 4px;
    font-size: 1rem;
    cursor: pointer;
    transition: background 0.15s ease;
    font-family: inherit;
}
.pcf-submit:hover { background: #1c6ca0; }
.pcf-submit:disabled { background: #88A4BB; cursor: wait; }

.pcf-form .validation-message {
    color: #C0392B;
    font-size: 0.8125rem;
}

.pcf-note {
    margin-top: 1.5rem;
    color: #5A6878;
    font-size: 0.875rem;
    font-family: 'Sofia Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.pcf-note a { color: #2384C6; }

.pcf-thanks {
    text-align: center;
    padding: 3rem 1rem;
    font-family: 'Sofia Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.pcf-thanks h2 { color: #1B365D; font-size: 2rem; margin: 0 0 1rem; font-weight: 700; }
.pcf-thanks p { color: #5A6878; font-size: 1.0625rem; line-height: 1.6; margin: 0 0 0.75rem; }
.pcf-thanks a { color: #2384C6; font-weight: 600; }

/* Generic 'Coming soon' / 'Page missing' placeholder */
.ph-missing {
    font-family: 'Sofia Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    max-width: 32rem;
    margin: 6rem auto;
    padding: 2rem;
    text-align: center;
    color: #5A6878;
}
.ph-missing h1 {
    color: #1B365D;
    font-size: 2rem;
    margin-bottom: 1rem;
}
.ph-missing a { color: #2384C6; }
