/* Guest FAQ landing page; keep article pages and shared forms independent. */
.guest-faq-page { background: #fff; color: #222; }
.guest-faq-main {
    width: calc(100% - 64px);
    max-width: 1080px;
    margin: 0 auto;
    padding-bottom: 64px;
}
.guest-faq-hero { padding: 56px 0 32px; border-bottom: 1px solid #e8e8e8; }
.guest-faq-hero--no-divider { border-bottom: 0; }
.guest-faq-hero h1 {
    margin: 0 0 12px;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -.6px;
}
.guest-faq-hero p { margin: 0; color: #555; font-size: 16px; line-height: 1.6; }
.guest-faq-content .breadcrumb1 { margin: 20px 0 28px; padding: 0; }
.guest-faq-content .breadcrumb1 a,
.guest-faq-content .breadcrumb1 span { color: #555; font-size: 14px; }
.guest-faq-content .breadcrumb1 li::after { color: #999; }
.guest-faq-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.guest-faq-card { min-width: 0; padding: 28px; border: 1px solid #e8e8e8; border-radius: 12px; }
.guest-faq-card ul.faq-category { margin: 0; padding: 0; list-style: none; color: #222; font-size: 15px; }
.guest-faq-card h2.faq-category {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 16px;
    color: #222;
    font-size: 23px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: -.3px;
}
.guest-faq-card .faq-icon {
    display: inline-flex;
    flex: 0 0 52px;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 16px;
    font-size: 24px;
    text-align: center;
}
/* Use the airKitchen accent across every category. */
.guest-faq-card .faq-icon { color: #ff5055; background: #fff0f1; }
.guest-faq-card li.faq-category { margin: 0; border-bottom: 1px solid #eee; }
.guest-faq-card li.faq-category > a {
    display: block;
    padding: 13px 0;
    color: #222;
    font-size: 15px;
    line-height: 1.65;
    overflow-wrap: anywhere;
    text-decoration: none;
}
.guest-faq-card a.visited:visited { color: #222; }
.guest-faq-card li.faq-category > a:hover { color: #222; text-decoration: underline; text-underline-offset: 3px; }
.guest-faq-all { padding-top: 20px; }
.guest-faq-all a, .guest-faq-all a:visited { color: #222; font-size: 14px; font-weight: 600; }
.guest-faq-all span { margin-left: 6px; }
.guest-faq-main a:focus-visible { outline: 2px solid #222; outline-offset: 3px; border-radius: 3px; }
.guest-faq-page .guest-faq-contact {
    width: 100%;
    margin: 56px 0 0;
    padding: 48px 0 0;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
    align-items: start;
    gap: 64px;
}
.guest-faq-contact .home-contact-intro { padding-top: 0; }
.guest-faq-contact .home-contact-intro h2 { color: #222; scroll-margin-top: 88px; }
.guest-faq-contact .home-contact-intro p { max-width: 300px; }
.guest-faq-contact form {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}
.guest-faq-contact .form-style-1 { gap: 20px; list-style: none; background: transparent; }
.guest-faq-contact .form-style-1 label { display: block; }
.guest-faq-contact .form-style-1 textarea.form-control { height: 144px; }
.guest-faq-contact .form-style-1 button[type=submit] { margin: 0; }
@media (max-width: 767px) {
    .guest-faq-main { width: calc(100% - 40px); padding-bottom: 40px; }
    .guest-faq-hero { padding: 32px 0 24px; }
    .guest-faq-hero h1 { font-size: 30px; }
    .guest-faq-hero p { font-size: 15px; }
    .guest-faq-content .breadcrumb1 { margin: 16px 0 24px; }
    .guest-faq-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .guest-faq-card { padding: 22px; }
    .guest-faq-card h2.faq-category { font-size: 21px; }
    .guest-faq-page .guest-faq-contact {
        grid-template-columns: minmax(0, 1fr);
        margin: 36px 0 0;
        padding: 32px 0 0;
        gap: 24px;
    }
    .guest-faq-contact .home-contact-intro { padding-top: 0; }
    .guest-faq-contact .home-contact-intro p { max-width: none; }
    .guest-faq-contact .form-style-1 { gap: 20px; }
}
@media (max-width: 359px) {
    .guest-faq-main { width: calc(100% - 24px); }
    .guest-faq-card { padding: 18px; }
}
