/* ============================================================
   Location Page — Base: Design Tokens & Shared Utilities
   File: assets/css/location/lp-base.css
   Scope: :root tokens, shared utility classes used across sections
   ============================================================ */


/* ============================
   DESIGN TOKENS
   ============================ */

:root {
    /* Colors */
    --lp-navy:          #01011e;   /* Primary — headings, dark bg, tiles */
    --lp-blue:          #3d69df;   /* Brand — eyebrows, CTAs, icons, links */
    --lp-cream:         #f5f0eb;   /* Page bg, light text on dark */
    --lp-white:         #ffffff;   /* Card backgrounds */
    --lp-grey-light:    #f4f2f0;   /* Icon container bg */
    --lp-input-bg:      #f5f5f5;   /* Form field bg */
    --lp-deep-navy:     #00002e;   /* Fine print, disclaimers */
    --lp-glass:         rgba(32,32,46,0.7); /* How It Works glass panels */

    /* Typography */
    --lp-font-serif:    'Hedvig Letters Serif', serif;
    --lp-font-sans:     'DM Sans', sans-serif;
    --lp-font-mono:     'DM Mono', monospace;

    /* Radius */
    --lp-radius-card:   16px;
    --lp-radius-card-lg: 24px;
    --lp-radius-btn:    8px;

    /* Spacing */
    --lp-gap-cards:     24px;
    --lp-section-pad:   100px;
}


/* ============================
   SHARED UTILITIES
   ============================ */

/* Shared CTA button — solid blue */
.lp-hero__cta-primary,
.lp-local__cta,
.lp-hiw__step-cta,
.lp-hiw__cta,
.lp-service-area__cta,
.lp-faqs__cta,
.lp-blog__cta,
.lp-claims__cta,
.lp-results__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--lp-blue);
    color: var(--lp-cream);
    font-family: var(--lp-font-sans);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    padding: 0 28px;
    height: 50px;
    border-radius: var(--lp-radius-btn);
    text-decoration: none;
    transition: opacity 0.15s;
    cursor: pointer;
    border: none;
    white-space: nowrap;
}

.lp-hero__cta-primary:hover,
.lp-local__cta:hover,
.lp-hiw__step-cta:hover,
.lp-hiw__cta:hover,
.lp-service-area__cta:hover,
.lp-faqs__cta:hover,
.lp-blog__cta:hover,
.lp-claims__cta:hover,
.lp-results__cta:hover {
    opacity: 0.88;
    color: var(--lp-cream);
    text-decoration: none;
}

/* Shared eyebrow label */
.lp-hero__eyebrow,
.lp-local__eyebrow,
.lp-testimonials__eyebrow,
.lp-hiw__eyebrow,
.lp-hiw__step-label,
.lp-claims__eyebrow,
.lp-service-area__eyebrow,
.lp-contractors__eyebrow {
    font-family: var(--lp-font-sans);
    font-size: 14px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--lp-blue);
    margin: 0;
}

/* Shared check-icon bullet lists */
.lp-hero__bullets,
.lp-local__bullets,
.lp-contractors__panel-bullets {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.lp-hero__bullet,
.lp-local__bullet,
.lp-contractors__panel-bullet {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.lp-hero__bullet-icon,
.lp-local__bullet-icon,
.lp-contractors__panel-bullets img {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px;
    max-width: 16px;
    flex-shrink: 0;
    margin-top: 3px;
    object-fit: contain;
}

.lp-hero__bullet-text,
.lp-local__bullet-text {
    font-family: var(--lp-font-sans);
    font-size: 18px;
    font-weight: 600;
    color: var(--lp-navy);
    line-height: 1.5;
}
