/* findglocal.com Canvas01 theme: "Compass". Self-hosted fonts only.
   Built from the logo: its royal blue (#3848d8), its rounded geometric wordmark
   (echoed by Quicksand headings) and its orange crosshair (hero, map keys,
   category icons). */

@font-face { font-family: "Quicksand"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/quicksand-v22-latin-ext_latin-700.woff2") format("woff2"); }
@font-face { font-family: "Open Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/open-sans-v18-latin-ext_latin-regular.woff2") format("woff2"); }
@font-face { font-family: "Open Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("/fonts/open-sans-v18-latin-ext_latin-600.woff2") format("woff2"); }
@font-face { font-family: "Open Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/open-sans-v18-latin-ext_latin-700.woff2") format("woff2"); }

body.cv-theme-compass {
    --cv-font-body: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    --cv-font-display: "Quicksand", "Trebuchet MS", sans-serif;
    --cv-display-weight: 700;
    --cv-display-tracking: -0.01em;

    --cv-bg: #f6f7fc;
    --cv-surface: #ffffff;
    --cv-surface-2: #eef0fb;
    --cv-text: #161a33;
    --cv-muted: #596079;
    --cv-border: #dfe2f2;
    --cv-primary: #3848d8;
    --cv-primary-strong: #2433a8;
    --cv-primary-contrast: #ffffff;
    --cv-accent: #f8a038;
    --cv-accent-contrast: #2a1600;
    --cv-link: #2f3fc8;
    --cv-focus: #f8a038;

    --cv-header-bg: #ffffff;
    --cv-header-text: #161a33;
    --cv-header-border: #dfe2f2;
    --cv-hero-from: #1b2580;
    --cv-hero-to: #3848d8;
    --cv-hero-text: #ffffff;
    --cv-footer-bg: #11163d;
    --cv-footer-text: #c9cde8;
    --cv-footer-heading: #ffc27a;

    --cv-radius: 12px;
    --cv-radius-sm: 8px;
    --cv-shadow: 0 1px 2px rgba(20, 30, 90, .05), 0 6px 18px rgba(20, 30, 90, .07);
    --cv-shadow-hover: 0 2px 6px rgba(20, 30, 90, .08), 0 14px 32px rgba(20, 30, 90, .14);
    --cv-card-border: 1px solid #e6e9f6;
    --cv-card-media: 60px;
    --cv-map-land: #b3bbe8;
    --cv-map-land-hover: #3848d8;
}

.cv-theme-compass .cv-brand img { max-width: min(240px, 56vw); max-height: 37px; }
.cv-theme-compass .cv-nav a { font-family: var(--cv-font-display); font-size: 16px; }

/* Hero: royal blue with the logo's crosshair drawn large on the right. */
.cv-theme-compass .cv-hero {
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cg fill='none' stroke='%23f8a038' stroke-linecap='round'%3E%3Ccircle cx='100' cy='100' r='62' stroke-width='6'/%3E%3Cpath d='M100 14v36M100 150v36M14 100h36M150 100h36' stroke-width='6'/%3E%3C/g%3E%3Ccircle cx='100' cy='100' r='96' fill='none' stroke='%23ffffff' stroke-opacity='.08' stroke-width='2'/%3E%3C/svg%3E") right max(4vw, 24px) center / clamp(180px, 30vw, 380px) no-repeat,
        radial-gradient(circle at 80% 50%, rgba(255, 255, 255, .1) 0, rgba(255, 255, 255, 0) 45%),
        linear-gradient(135deg, var(--cv-hero-from), var(--cv-hero-to));
}
@media (max-width: 720px) {
    /* On phones the crosshair sits behind the text, faded right back. */
    .cv-theme-compass .cv-hero { background-position: right -60px top 20px, center, center; background-size: 220px, auto, auto; }
}
.cv-theme-compass .cv-hero__eyebrow { color: #ffc27a; }

/* Crosshair details: map keys and category icons as targets. */
.cv-theme-compass .cv-card__key {
    min-width: 22px;
    height: 22px;
    padding: 0;
    border-radius: 50%;
    background: #ffffff;
    color: #2433a8;
    box-shadow: 0 0 0 2px #f8a038;
    line-height: 22px;
}
.cv-theme-compass .cv-category__icon {
    border-radius: 50%;
    background: #eef0fb;
    color: #3848d8;
    box-shadow: inset 0 0 0 2px #ffffff, 0 0 0 2px #f8a038;
}
.cv-theme-compass .cv-category:hover .cv-category__icon { background: #3848d8; color: #ffffff; }

.cv-theme-compass .cv-card:hover { border-color: #c3c9ef; }
.cv-theme-compass .cv-card__title { font-family: var(--cv-font-display); }
.cv-theme-compass .cv-chip:hover { border-color: #f8a038; color: #2433a8 !important; }

/* Under page and section headings: a short blue rule ending in an orange dot. */
.cv-theme-compass .cv-section__head h2::after,
.cv-theme-compass .cv-pagehead h1::after {
    content: "";
    display: block;
    width: 64px;
    height: 8px;
    margin-top: 12px;
    background:
        linear-gradient(#3848d8, #3848d8) 0 50% / 50px 3px no-repeat,
        radial-gradient(circle, #f8a038 3.5px, transparent 4px) right center / 8px 8px no-repeat;
}
