/* Honey Bee Cleaning - yellow & black, friendly bumblebee brand */
@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&family=Nunito:wght@400;600;700&display=swap');

:root {
    --eg-cream: #fffdf5;
    --eg-cream-dark: #f5ebc8;
    --eg-paper: #ffffff;
    --eg-red: #1a1a1a;
    --eg-red-bright: #2d2d2d;
    --eg-green: #1a1a1a;
    --eg-green-dark: #0d0d0d;
    --eg-gold: #f5c518;
    --eg-gold-light: #ffd84d;
    --eg-brown: #1a1a1a;
    --eg-text: #1a1a1a;
    --eg-muted: #4a4a4a;
    --eg-white: #ffffff;
    --eg-black: #0d0d0d;
    --eg-shadow: rgba(26, 26, 26, 0.12);
    --hbc-yellow: #f5c518;
    --hbc-yellow-light: #ffe566;
    --hbc-yellow-pale: #fff9e0;
    --hbc-blue: #5eb8e0;
    --hbc-blue-light: #9dd4f0;
    --hbc-blue-pale: #e8f6fc;
    --hbc-blue-deep: #3a9fd4;
    --hbc-blue-glow: rgba(94, 184, 224, 0.45);
    --hbc-black: #1a1a1a;
    --hbc-black-soft: #2d2d2d;
}

html {
    scroll-behavior: smooth;
}

body {
    background-color: var(--eg-cream);
    background-image:
        radial-gradient(circle at 100% 0%, rgba(157, 212, 240, 0.18) 0%, transparent 28%),
        radial-gradient(circle at 0% 100%, rgba(157, 212, 240, 0.12) 0%, transparent 22%);
    color: var(--eg-text);
    font-family: 'Nunito', system-ui, sans-serif;
}

[id] {
    scroll-margin-top: 5.5rem;
}

h1, h2, h3, h4, h5, h6,
.eg-section__title,
.eg-menu-card__title,
.eg-service-card__title,
.eg-faq .accordion-button {
    font-family: 'Fredoka', sans-serif;
    letter-spacing: 0.01em;
}

/* Decorative soap bubbles (logo accent) */
.hbc-bubbles {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
}

.hbc-bubble {
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(
        circle at 32% 28%,
        rgba(255, 255, 255, 0.95) 0%,
        rgba(255, 255, 255, 0.35) 12%,
        rgba(157, 212, 240, 0.55) 38%,
        rgba(94, 184, 224, 0.28) 72%,
        rgba(94, 184, 224, 0.08) 100%
    );
    border: 1px solid rgba(255, 255, 255, 0.45);
    box-shadow:
        inset -4px -6px 12px rgba(58, 159, 212, 0.15),
        0 4px 14px rgba(94, 184, 224, 0.2);
    opacity: 0.85;
    animation: hbc-bubble-float 9s ease-in-out infinite;
}

.hbc-bubble--1 { width: 52px; height: 52px; top: 12%; left: 6%; animation-delay: 0s; }
.hbc-bubble--2 { width: 36px; height: 36px; top: 28%; right: 12%; animation-delay: -2s; opacity: 0.7; }
.hbc-bubble--3 { width: 68px; height: 68px; bottom: 18%; left: 14%; animation-delay: -4s; }
.hbc-bubble--4 { width: 28px; height: 28px; bottom: 32%; right: 8%; animation-delay: -1s; opacity: 0.65; }
.hbc-bubble--5 { width: 44px; height: 44px; top: 55%; right: 22%; animation-delay: -3s; opacity: 0.75; }

.hbc-bubbles--light .hbc-bubble {
    background: radial-gradient(
        circle at 32% 28%,
        rgba(255, 255, 255, 0.98) 0%,
        rgba(255, 255, 255, 0.5) 14%,
        rgba(157, 212, 240, 0.65) 42%,
        rgba(94, 184, 224, 0.35) 100%
    );
    border-color: rgba(255, 255, 255, 0.7);
    box-shadow:
        inset -3px -5px 10px rgba(58, 159, 212, 0.12),
        0 6px 18px rgba(94, 184, 224, 0.25);
}

.hbc-bubbles--subtle .hbc-bubble {
    opacity: 0.5;
}

@keyframes hbc-bubble-float {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-10px) scale(1.03); }
}

@media (prefers-reduced-motion: reduce) {
    .hbc-bubble {
        animation: none;
    }
}

/* Site header */
.site-header {
    background:
        radial-gradient(circle at 92% 0%, rgba(94, 184, 224, 0.2) 0%, transparent 40%),
        radial-gradient(circle at 8% 100%, rgba(94, 184, 224, 0.12) 0%, transparent 35%),
        linear-gradient(180deg, var(--hbc-black) 0%, var(--hbc-black-soft) 100%);
    border-bottom: 4px solid var(--hbc-yellow);
    box-shadow:
        0 4px 20px var(--eg-shadow),
        inset 0 -1px 0 rgba(94, 184, 224, 0.35);
}

.site-header .navbar {
    background: transparent;
    padding-top: 0.45rem;
    padding-bottom: 0.45rem;
}

.site-header-logo {
    max-height: 56px;
    width: auto;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.25));
}

.eg-page-logo {
    max-width: min(240px, 72vw);
    height: auto;
    margin-left: auto;
    margin-right: auto;
    display: block;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.2));
}

@media (min-width: 992px) {
    .site-header-logo {
        max-height: 100px;
    }
}

.site-navbar-toggler {
    border: 2px solid var(--hbc-yellow);
    padding: 0.35rem 0.6rem;
}

.site-navbar-toggler:focus {
    box-shadow: 0 0 0 0.2rem rgba(245, 197, 24, 0.45);
}

.site-navbar-toggler-icon {
    color: var(--eg-white);
    font-size: 1.5rem;
    line-height: 1;
}

.site-header .nav-link {
    color: var(--eg-white);
    font-weight: 600;
    padding: 0.5rem 0.85rem !important;
    font-size: 0.95rem;
}

.site-header .nav-link:hover,
.site-header .nav-link:focus {
    color: var(--hbc-blue-light);
}

.site-header-cta {
    font-weight: 700;
    white-space: nowrap;
}

.site-header-phone {
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.9rem;
    text-decoration: none;
    white-space: nowrap;
    font-weight: 600;
}

.site-header-phone:hover {
    color: var(--hbc-yellow-light);
}

.hbc-contact-info__link {
    color: inherit;
    text-decoration: none;
    font-weight: 600;
}

.hbc-contact-info__link:hover,
.hbc-contact-info__link:focus-visible {
    color: var(--hbc-yellow-light);
    text-decoration: underline;
}

.site-footer .hbc-contact-info__link {
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.95rem;
}

.site-footer .hbc-contact-info__link:hover,
.site-footer .hbc-contact-info__link:focus-visible {
    color: var(--hbc-yellow-light);
}

.fpp-contact-info .hbc-contact-info__link {
    color: var(--hbc-black);
    font-size: 1rem;
}

.fpp-contact-info .hbc-contact-info__link:hover,
.fpp-contact-info .hbc-contact-info__link:focus-visible {
    color: #8a7000;
}

/* Site footer */
.site-footer {
    background:
        radial-gradient(circle at 15% 20%, rgba(94, 184, 224, 0.14) 0%, transparent 45%),
        radial-gradient(circle at 88% 60%, rgba(94, 184, 224, 0.1) 0%, transparent 40%),
        linear-gradient(180deg, var(--hbc-black) 0%, #0d0d0d 100%);
    color: var(--eg-white);
    border-top: 4px solid var(--hbc-yellow);
    box-shadow: inset 0 1px 0 rgba(94, 184, 224, 0.25);
}

.site-footer-logo {
    max-width: 200px;
    height: auto;
}

.site-footer a {
    color: var(--eg-white);
    text-decoration: none;
}

.site-footer a:hover {
    color: var(--hbc-yellow-light);
}

.site-footer-link {
    color: rgba(255, 255, 255, 0.82);
    text-decoration: none;
    display: block;
    margin-bottom: 0.35rem;
}

.site-footer-link:hover {
    color: var(--hbc-yellow-light);
}

.eg-footer-heading {
    letter-spacing: 0.06em;
    color: var(--hbc-blue-light);
    font-family: 'Fredoka', sans-serif;
}

.site-footer-bar {
    background-color: #000;
    color: rgba(255, 255, 255, 0.65);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.site-footer-bar a {
    color: rgba(255, 255, 255, 0.65);
}

.site-footer-bar a:hover {
    color: var(--hbc-yellow-light);
}

/* Shared buttons - solid fills only (avoids gradient hover flicker with Bootstrap) */
.btn.eg-btn-primary,
.btn.eg-btn-gold,
.btn.eg-btn-contact,
.btn.eg-btn-outline,
.btn.eg-btn-outline-dark,
.btn.eg-btn-dark,
.btn.fpp-btn-primary,
.btn.fpp-btn-outline {
    --bs-btn-active-bg: var(--hbc-yellow-light);
    --bs-btn-active-border-color: #c9a000;
    --bs-btn-active-color: var(--hbc-black);
    background-image: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
    transform: none;
    border-width: 2px;
    font-weight: 700;
}

.btn.eg-btn-primary,
.btn.eg-btn-gold,
.btn.fpp-btn-primary {
    --bs-btn-bg: var(--hbc-yellow);
    --bs-btn-border-color: #c9a000;
    --bs-btn-color: var(--hbc-black);
    --bs-btn-hover-bg: var(--hbc-yellow-light);
    --bs-btn-hover-border-color: #c9a000;
    --bs-btn-hover-color: var(--hbc-black);
    --bs-btn-focus-shadow-rgb: 94, 184, 224;
    background-color: var(--hbc-yellow);
    border-color: #c9a000;
    color: var(--hbc-black);
}

.btn.eg-btn-primary:hover,
.btn.eg-btn-gold:hover,
.btn.fpp-btn-primary:hover,
.btn.eg-btn-primary:focus-visible,
.btn.eg-btn-gold:focus-visible,
.btn.fpp-btn-primary:focus-visible {
    background-color: var(--hbc-yellow-light);
    border-color: #c9a000;
    color: var(--hbc-black);
    box-shadow: 0 4px 14px rgba(26, 26, 26, 0.18);
}

.btn.eg-btn-outline {
    --bs-btn-bg: transparent;
    --bs-btn-border-color: var(--eg-white);
    --bs-btn-color: var(--eg-white);
    --bs-btn-hover-bg: var(--eg-white);
    --bs-btn-hover-border-color: var(--eg-white);
    --bs-btn-hover-color: var(--hbc-black);
    background-color: transparent;
    border-color: var(--eg-white);
    color: var(--eg-white);
}

.btn.eg-btn-outline:hover,
.btn.eg-btn-outline:focus-visible {
    background-color: var(--eg-white);
    border-color: var(--eg-white);
    color: var(--hbc-black);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
}

.btn.eg-btn-dark {
    background-color: var(--hbc-black);
    border-color: var(--hbc-black);
    color: var(--eg-white);
}

.btn.eg-btn-dark:hover,
.btn.eg-btn-dark:focus-visible {
    background-color: var(--hbc-black-soft);
    border-color: var(--hbc-black-soft);
    color: var(--eg-white);
}

.btn.fpp-btn-outline {
    --bs-btn-bg: transparent;
    --bs-btn-border-color: var(--hbc-black);
    --bs-btn-color: var(--hbc-black);
    --bs-btn-hover-bg: var(--hbc-black);
    --bs-btn-hover-border-color: var(--hbc-black);
    --bs-btn-hover-color: var(--eg-white);
    background-color: transparent;
    border-color: var(--hbc-black);
    color: var(--hbc-black);
}

.btn.fpp-btn-outline:hover,
.btn.fpp-btn-outline:focus-visible,
.btn.eg-btn-outline-dark:hover,
.btn.eg-btn-outline-dark:focus-visible {
    background-color: var(--hbc-black);
    border-color: var(--hbc-black);
    color: var(--eg-white);
}

.btn.eg-btn-outline-dark {
    --bs-btn-bg: transparent;
    --bs-btn-border-color: var(--hbc-black);
    --bs-btn-color: var(--hbc-black);
    --bs-btn-hover-bg: var(--hbc-black);
    --bs-btn-hover-border-color: var(--hbc-black);
    --bs-btn-hover-color: var(--eg-white);
    background-color: transparent;
    border-color: var(--hbc-black);
    color: var(--hbc-black);
}

.btn.eg-btn-contact {
    --bs-btn-bg: var(--eg-white);
    --bs-btn-border-color: var(--hbc-black);
    --bs-btn-color: var(--hbc-black);
    --bs-btn-hover-bg: var(--hbc-black);
    --bs-btn-hover-border-color: var(--hbc-black);
    --bs-btn-hover-color: var(--eg-white);
    background-color: var(--eg-white);
    border-color: var(--hbc-black);
    color: var(--hbc-black);
}

.btn.eg-btn-contact:hover,
.btn.eg-btn-contact:focus-visible {
    background-color: var(--hbc-black);
    border-color: var(--hbc-black);
    color: var(--eg-white);
    box-shadow: 0 4px 14px rgba(26, 26, 26, 0.18);
}

.eg-cta-text {
    color: var(--eg-muted);
    font-size: 1rem;
}

.eg-cta-text a {
    color: var(--hbc-blue-deep);
    font-weight: 700;
    text-decoration: none;
}

.eg-cta-text a:hover {
    text-decoration: underline;
}

.eg-section--green .eg-cta-text {
    color: rgba(255, 255, 255, 0.88);
}

.eg-section--green .eg-cta-text a {
    color: var(--hbc-yellow-light);
}

/* Homepage */
.eg-page {
    background-color: var(--eg-cream);
    color: var(--eg-text);
}

.eg-text-muted {
    color: var(--eg-muted);
}

.eg-eyebrow {
    color: var(--hbc-blue-light);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-size: 0.78rem;
    font-weight: 700;
    font-family: 'Fredoka', sans-serif;
}

.eg-section--cream .eg-eyebrow,
.eg-section--paper .eg-eyebrow {
    color: var(--hbc-blue-deep);
}

.eg-section {
    padding: 4rem 0;
}

.eg-section--paper {
    position: relative;
    background-color: var(--eg-paper);
    background-image:
        radial-gradient(circle at 95% 8%, rgba(157, 212, 240, 0.22) 0%, transparent 24%),
        radial-gradient(circle at 4% 92%, rgba(157, 212, 240, 0.14) 0%, transparent 20%);
    border-top: 1px solid var(--eg-cream-dark);
    border-bottom: 1px solid var(--eg-cream-dark);
    overflow: hidden;
}

.eg-section--cream {
    position: relative;
    background:
        radial-gradient(circle at 8% 15%, rgba(157, 212, 240, 0.35) 0%, transparent 32%),
        radial-gradient(circle at 92% 85%, rgba(157, 212, 240, 0.25) 0%, transparent 28%),
        linear-gradient(165deg, var(--hbc-blue-pale) 0%, #f8fcff 35%, var(--hbc-yellow-pale) 100%);
    overflow: hidden;
}

.eg-section--has-bubbles > .container {
    position: relative;
    z-index: 1;
}

.eg-section--green {
    background: linear-gradient(135deg, var(--hbc-black) 0%, var(--hbc-black-soft) 100%);
    color: var(--eg-white);
}

.eg-section__title {
    font-weight: 700;
    margin-bottom: 0.75rem;
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    color: var(--hbc-black);
}

.eg-section__title span {
    color: var(--hbc-blue-deep);
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}

.eg-section--green .eg-section__title {
    color: var(--hbc-yellow);
}

.eg-section--green .eg-section__title span {
    color: var(--eg-white);
}

.eg-section__subtitle {
    max-width: 42rem;
    color: var(--eg-muted);
    font-size: 1.05rem;
}

/* About */
.eg-about-photo {
    border-radius: 1rem;
    overflow: hidden;
    border: 4px solid var(--hbc-yellow);
    box-shadow:
        0 12px 32px var(--eg-shadow),
        0 0 0 3px var(--hbc-blue-pale),
        0 8px 24px rgba(94, 184, 224, 0.2);
    background: linear-gradient(145deg, var(--hbc-blue-pale) 0%, var(--hbc-yellow-pale) 100%);
    min-height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.eg-about-photo img {
    display: block;
    width: 100%;
    height: auto;
    min-height: 280px;
    object-fit: cover;
    object-position: center;
}

.eg-about-placeholder {
    text-align: center;
    padding: 2rem;
    color: var(--eg-muted);
}

.eg-about-placeholder i {
    font-size: 4rem;
    color: var(--hbc-blue);
    display: block;
    margin-bottom: 1rem;
}

.eg-badge-est {
    display: inline-block;
    background: linear-gradient(135deg, var(--hbc-blue-pale) 0%, var(--hbc-yellow) 100%);
    color: var(--hbc-black);
    font-family: 'Fredoka', sans-serif;
    font-weight: 600;
    letter-spacing: 0.08em;
    padding: 0.3rem 0.85rem;
    font-size: 0.82rem;
    border-radius: 999px;
    border: 2px solid var(--hbc-blue);
}

/* Services grid */
.eg-services-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
}

@media (min-width: 576px) {
    .eg-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 992px) {
    .eg-services-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.eg-service-card {
    background: var(--eg-white);
    border: 2px solid var(--eg-cream-dark);
    border-radius: 0.75rem;
    padding: 1.5rem;
    height: 100%;
    box-shadow: 0 4px 16px var(--eg-shadow);
    transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.eg-service-card:hover {
    border-color: var(--hbc-blue);
    box-shadow:
        0 10px 28px var(--eg-shadow),
        0 4px 16px rgba(94, 184, 224, 0.2);
}

@media (hover: hover) and (pointer: fine) {
    .eg-service-card:hover {
        transform: translateY(-3px);
    }
}

.eg-service-card__icon {
    width: 3rem;
    height: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, var(--hbc-blue-pale) 0%, rgba(157, 212, 240, 0.5) 100%);
    border: 2px solid var(--hbc-blue);
    border-radius: 50%;
    color: var(--hbc-blue-deep);
    font-size: 1.35rem;
    margin-bottom: 1rem;
    box-shadow: inset 2px 2px 6px rgba(255, 255, 255, 0.8);
}

.eg-service-card__title {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--hbc-black);
    margin-bottom: 0.5rem;
}

.eg-service-card__text {
    color: var(--eg-muted);
    font-size: 0.95rem;
    margin-bottom: 0;
    line-height: 1.5;
}

/* Service areas */
.eg-area-list {
    list-style: none;
    padding: 0;
    margin: 0 0 1.25rem;
}

.eg-area-list li {
    padding: 0.35rem 0;
    padding-left: 1.75rem;
    position: relative;
}

.eg-area-list li::before {
    content: '\F4A6';
    font-family: 'bootstrap-icons';
    position: absolute;
    left: 0;
    color: var(--hbc-blue);
    font-weight: 700;
}

.eg-callout {
    background: linear-gradient(105deg, var(--hbc-blue-pale) 0%, rgba(255, 249, 224, 0.9) 100%);
    border-left: 4px solid var(--hbc-blue);
    border-radius: 0 0.5rem 0.5rem 0;
    padding: 1rem 1.25rem;
    margin-top: 1rem;
    box-shadow: 0 4px 16px rgba(94, 184, 224, 0.12);
}

.eg-callout p:last-child {
    margin-bottom: 0;
}

/* FAQ */
.eg-faq .accordion-item {
    border: 1px solid var(--eg-cream-dark);
    border-radius: 0.5rem !important;
    overflow: hidden;
    margin-bottom: 0.75rem;
    background: var(--eg-white);
}

.eg-faq .accordion-button {
    font-weight: 600;
    color: var(--hbc-black);
    background: var(--eg-white);
    box-shadow: none;
}

.eg-faq .accordion-button:not(.collapsed) {
    background: linear-gradient(90deg, var(--hbc-blue-pale) 0%, var(--hbc-yellow-pale) 100%);
    color: var(--hbc-black);
}

.eg-faq .accordion-button:focus {
    box-shadow: 0 0 0 0.2rem rgba(94, 184, 224, 0.4);
}

.eg-faq .accordion-button::after {
    filter: none;
}

.eg-faq .accordion-body {
    color: var(--eg-muted);
    line-height: 1.6;
}

/* Promo banner */
.eg-promo-banner {
    background: linear-gradient(105deg, var(--hbc-blue-pale) 0%, var(--hbc-yellow) 55%, var(--hbc-yellow-light) 100%);
    border: 2px solid var(--hbc-blue);
    border-radius: 0.75rem;
    padding: 1.25rem 1.5rem;
    color: var(--hbc-black);
    box-shadow: 0 4px 18px rgba(94, 184, 224, 0.18);
}

.eg-promo-banner strong {
    font-family: 'Fredoka', sans-serif;
}

.eg-contact-link {
    color: var(--eg-white);
    text-decoration: none;
    font-weight: 600;
}

.eg-contact-link:hover {
    color: var(--hbc-yellow-light);
    text-decoration: underline;
}

/* Legacy menu styles (unused but kept for compatibility) */
.eg-section--menu {
    background: var(--hbc-black);
}

.eg-inline-photo {
    border-radius: 0.75rem;
    overflow: hidden;
    border: 3px solid var(--hbc-yellow);
    box-shadow: 0 8px 28px var(--eg-shadow);
}

.eg-inline-photo img {
    display: block;
    width: 100%;
    height: auto;
}

/* Contact page */
.fpp-page,
.eg-contact-page {
    background-color: var(--eg-cream);
    color: var(--eg-text);
}

.fpp-eyebrow,
.eg-eyebrow {
    color: var(--hbc-yellow);
}

.fpp-contact-page .fpp-contact-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 75% 20%, rgba(94, 184, 224, 0.25) 0%, transparent 45%),
        linear-gradient(135deg, var(--hbc-black) 0%, var(--hbc-black-soft) 50%, #1a2830 120%);
    border-bottom: 4px solid var(--hbc-yellow);
}

.fpp-contact-page .fpp-contact-hero .container {
    position: relative;
    z-index: 2;
}

.fpp-contact-page .fpp-contact-hero .hbc-bubbles {
    z-index: 1;
}

.fpp-contact-page .fpp-contact-intro {
    color: var(--eg-white);
}

.fpp-contact-page .fpp-contact-intro .fpp-hero__title,
.fpp-contact-page .fpp-contact-intro .fpp-hero__lead {
    color: var(--eg-white);
}

.fpp-contact-page .fpp-contact-intro .fpp-eyebrow {
    color: var(--hbc-yellow);
}

.fpp-contact-page .fpp-contact-body {
    color: var(--eg-text);
    padding-top: 0.5rem;
}

.fpp-contact-page .fpp-contact-body .fpp-text-muted {
    color: var(--eg-muted);
}

.fpp-contact-page .fpp-contact-body .form-label,
.fpp-contact-page .fpp-contact-body .form-check-label {
    color: var(--eg-text);
}

.fpp-contact-page .fpp-contact-body .fpp-contact-panel__title {
    color: var(--hbc-black);
}

.fpp-contact-panel {
    background: var(--eg-paper);
    border: 2px solid var(--hbc-blue-pale);
    border-radius: 0.75rem;
    box-shadow:
        0 6px 24px var(--eg-shadow),
        0 0 0 1px rgba(94, 184, 224, 0.15);
}

.fpp-contact-panel__title {
    color: var(--hbc-black);
    font-family: 'Fredoka', sans-serif;
}

.fpp-contact-info-link {
    color: var(--hbc-black);
    text-decoration: none;
    font-weight: 600;
}

.fpp-contact-info-link:hover {
    color: #8a7000;
}

.fpp-contact-page .form-label {
    color: var(--eg-text);
    font-weight: 600;
}

.fpp-form-control {
    background-color: var(--eg-white);
    border: 1px solid var(--eg-cream-dark);
    color: var(--eg-text);
}

.fpp-form-control:focus {
    background-color: var(--eg-white);
    border-color: var(--hbc-blue);
    color: var(--eg-text);
    box-shadow: 0 0 0 0.2rem rgba(94, 184, 224, 0.3);
}

.fpp-contact-page .form-check-input:checked {
    background-color: var(--hbc-black);
    border-color: var(--hbc-black);
}

.fpp-contact-page .form-check-label {
    color: var(--eg-text);
}

.fpp-appointment-fields {
    background: var(--hbc-blue-pale);
    border: 1px solid rgba(94, 184, 224, 0.35);
}

.fpp-contact-page .alert-success {
    background-color: rgba(245, 197, 24, 0.2);
    border-color: var(--hbc-yellow);
    color: var(--hbc-black);
}

.fpp-contact-page .alert-danger {
    background-color: rgba(26, 26, 26, 0.08);
    border-color: var(--hbc-black);
    color: var(--hbc-black);
}
