/* QuickPartner Homepage — Premium Marketplace Design */
:root {
    --qp-primary: #2563EB;
    --qp-secondary: #1E293B;
    --qp-accent: #0EA5E9;
    --qp-bg: #F8FAFC;
    --qp-success: #22C55E;
    --qp-white: #FFFFFF;
    --qp-radius: 16px;
    --qp-btn-radius: 12px;
    --qp-shadow-sm: 0 2px 8px rgba(30, 41, 59, 0.06);
    --qp-shadow-md: 0 8px 30px rgba(30, 41, 59, 0.08);
    --qp-shadow-lg: 0 20px 50px rgba(37, 99, 235, 0.12);
    --qp-gradient-hero: linear-gradient(135deg, #EFF6FF 0%, #F0F9FF 50%, #F8FAFC 100%);
    --qp-gradient-cta: linear-gradient(135deg, #2563EB 0%, #0EA5E9 100%);
}

body.qp-home { font-family: 'Inter', sans-serif; color: var(--qp-secondary); background: var(--qp-white); }
.qp-home h1, .qp-home h2, .qp-home h3, .qp-home h4, .qp-home h5 { font-weight: 800; letter-spacing: -0.02em; }

/* Header */
.qp-header {
    position: sticky; top: 0; z-index: 1030;
    background: rgba(255,255,255,.92); backdrop-filter: blur(12px);
    border-bottom: 1px solid transparent; transition: all .3s ease;
}
.qp-header.scrolled { border-color: #E2E8F0; box-shadow: var(--qp-shadow-sm); }
.qp-logo { font-size: 1.4rem; font-weight: 800; color: var(--qp-primary); text-decoration: none; }
.qp-logo span { color: var(--qp-secondary); }
.qp-nav-link {
    color: #64748B; font-weight: 500; font-size: .92rem; text-decoration: none;
    padding: .5rem .75rem; border-radius: 8px; transition: all .2s;
}
.qp-nav-link:hover, .qp-nav-link.active { color: var(--qp-primary); background: #EFF6FF; }
.qp-btn {
    border-radius: var(--qp-btn-radius); font-weight: 600; font-size: .9rem;
    padding: .55rem 1.25rem; transition: all .25s ease;
}
.qp-btn-primary {
    background: var(--qp-primary); border: none; color: #fff;
    box-shadow: 0 4px 14px rgba(37,99,235,.35);
}
.qp-btn-primary:hover { background: #1D4ED8; transform: translateY(-1px); color: #fff; box-shadow: 0 6px 20px rgba(37,99,235,.4); }
.qp-btn-outline { background: transparent; border: 1.5px solid #CBD5E1; color: var(--qp-secondary); }
.qp-btn-outline:hover { border-color: var(--qp-primary); color: var(--qp-primary); background: #EFF6FF; }
.qp-btn-accent { background: var(--qp-accent); border: none; color: #fff; }
.qp-btn-accent:hover { background: #0284C7; color: #fff; }
.qp-btn-white { background: #fff; color: var(--qp-primary); border: none; }
.qp-btn-white:hover { background: #F8FAFC; color: var(--qp-primary); transform: translateY(-1px); }

/* Hero */
.qp-hero {
    background: var(--qp-gradient-hero); padding: 5rem 0 4rem;
    position: relative; overflow: hidden;
}
.qp-hero::before {
    content: ''; position: absolute; top: -50%; right: -20%; width: 600px; height: 600px;
    background: radial-gradient(circle, rgba(37,99,235,.08) 0%, transparent 70%);
    border-radius: 50%;
}
.qp-badge {
    display: inline-flex; align-items: center; gap: .4rem;
    background: #fff; color: var(--qp-primary); font-size: .82rem; font-weight: 600;
    padding: .45rem 1rem; border-radius: 50px; border: 1px solid #DBEAFE;
    box-shadow: var(--qp-shadow-sm); margin-bottom: 1.25rem;
}
.qp-hero-title { font-size: clamp(2rem, 5vw, 3.25rem); line-height: 1.15; margin-bottom: 1.25rem; color: var(--qp-secondary); }
.qp-hero-sub { font-size: 1.1rem; color: #64748B; line-height: 1.7; max-width: 520px; }
.qp-trust-row { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; margin-top: 2rem; }
.qp-trust-item { display: flex; align-items: center; gap: .4rem; font-size: .85rem; font-weight: 500; color: #475569; }
.qp-trust-item i { color: var(--qp-success); font-size: 1rem; }
.qp-hero-visual {
    position: relative; background: #fff; border-radius: var(--qp-radius);
    padding: 2rem; box-shadow: var(--qp-shadow-lg); border: 1px solid #E2E8F0;
}
.qp-hero-visual svg { width: 100%; height: auto; }

/* Stats */
.qp-stats { background: var(--qp-secondary); padding: 3.5rem 0; }
.qp-stat-card {
    text-align: center; padding: 1.5rem; border-radius: var(--qp-radius);
    background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1);
    transition: transform .3s;
}
.qp-stat-card:hover { transform: translateY(-4px); background: rgba(255,255,255,.08); }
.qp-stat-icon { font-size: 2rem; color: var(--qp-accent); margin-bottom: .75rem; }
.qp-stat-value { font-size: 2.25rem; font-weight: 800; color: #fff; line-height: 1; }
.qp-stat-label { font-size: .88rem; color: #94A3B8; margin-top: .5rem; font-weight: 500; }

/* Section */
.qp-section { padding: 5rem 0; }
.qp-section-alt { background: var(--qp-bg); }
.qp-section-heading { text-align: center; max-width: 640px; margin: 0 auto 3rem; }
.qp-section-heading .eyebrow {
    display: inline-block; font-size: .78rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: .08em; color: var(--qp-primary); margin-bottom: .75rem;
}
.qp-section-heading h2 { font-size: clamp(1.75rem, 3vw, 2.25rem); margin-bottom: .75rem; }
.qp-section-heading p { color: #64748B; font-size: 1.05rem; margin: 0; }

/* Service Cards */
.qp-service-card {
    background: #fff; border-radius: var(--qp-radius); padding: 2rem 1.5rem;
    border: 1px solid #E2E8F0; height: 100%; transition: all .35s cubic-bezier(.4,0,.2,1);
    position: relative; overflow: hidden;
}
.qp-service-card::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: var(--qp-gradient-cta); transform: scaleX(0); transition: transform .35s;
}
.qp-service-card:hover { transform: translateY(-8px); box-shadow: var(--qp-shadow-lg); border-color: #BFDBFE; }
.qp-service-card:hover::before { transform: scaleX(1); }
.qp-service-card:hover .qp-service-icon { transform: scale(1.1) rotate(-3deg); background: var(--qp-primary); color: #fff; }
.qp-service-icon {
    width: 64px; height: 64px; border-radius: 14px; display: flex; align-items: center; justify-content: center;
    font-size: 1.75rem; background: #EFF6FF; color: var(--qp-primary); margin-bottom: 1.25rem;
    transition: all .35s;
}
.qp-service-card h3 { font-size: 1.1rem; margin-bottom: .5rem; }
.qp-service-card p { font-size: .88rem; color: #64748B; line-height: 1.6; margin-bottom: 1rem; }
.qp-service-price { font-size: .95rem; font-weight: 700; color: var(--qp-primary); margin-bottom: 1rem; }
.qp-service-card .qp-btn { font-size: .82rem; padding: .45rem 1rem; }

/* How It Works */
.qp-step-card {
    text-align: center; padding: 2rem 1.5rem; background: #fff; border-radius: var(--qp-radius);
    border: 1px solid #E2E8F0; height: 100%; position: relative; transition: all .3s;
}
.qp-step-card:hover { box-shadow: var(--qp-shadow-md); border-color: #BFDBFE; }
.qp-step-num {
    width: 40px; height: 40px; border-radius: 50%; background: var(--qp-primary); color: #fff;
    font-weight: 800; font-size: 1rem; display: flex; align-items: center; justify-content: center;
    margin: 0 auto 1rem;
}
.qp-step-icon { font-size: 2.5rem; color: var(--qp-accent); margin-bottom: 1rem; }
.qp-step-card h4 { font-size: 1.05rem; margin-bottom: .5rem; }
.qp-step-card p { font-size: .85rem; color: #64748B; margin: 0; }

/* Feature / Glass Cards */
.qp-glass-card {
    background: rgba(255,255,255,.7); backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.8); border-radius: var(--qp-radius);
    padding: 1.75rem; box-shadow: var(--qp-shadow-sm); height: 100%;
    transition: all .3s;
}
.qp-glass-card:hover { transform: translateY(-4px); box-shadow: var(--qp-shadow-md); }
.qp-glass-card .icon-wrap {
    width: 52px; height: 52px; border-radius: 12px; background: var(--qp-gradient-cta);
    display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.35rem;
    margin-bottom: 1rem;
}
.qp-glass-card h4 { font-size: 1rem; margin-bottom: .4rem; }
.qp-glass-card p { font-size: .85rem; color: #64748B; margin: 0; }

/* Partner Cards */
.qp-partner-card {
    background: #fff; border-radius: var(--qp-radius); overflow: hidden;
    border: 1px solid #E2E8F0; transition: all .35s; height: 100%;
}
.qp-partner-card:hover { transform: translateY(-6px); box-shadow: var(--qp-shadow-lg); }
.qp-partner-img {
    width: 100%; height: 200px; object-fit: cover; background: linear-gradient(135deg, #EFF6FF, #DBEAFE);
}
.qp-partner-img-placeholder {
    width: 100%; height: 200px; display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #EFF6FF, #DBEAFE); font-size: 4rem; color: var(--qp-primary);
}
.qp-partner-body { padding: 1.25rem; }
.qp-partner-rating { color: #F59E0B; font-size: .85rem; font-weight: 600; }
.qp-partner-meta { font-size: .82rem; color: #64748B; }
.qp-partner-tags { display: flex; flex-wrap: wrap; gap: .35rem; margin: .75rem 0; }
.qp-partner-tag {
    font-size: .72rem; padding: .2rem .6rem; border-radius: 50px;
    background: #F1F5F9; color: #475569; font-weight: 500;
}

/* Testimonials */
.qp-testimonial-card {
    background: #fff; border-radius: var(--qp-radius); padding: 2rem;
    border: 1px solid #E2E8F0; text-align: center; height: 100%;
}
.qp-testimonial-avatar {
    width: 72px; height: 72px; border-radius: 50%; object-fit: cover; margin: 0 auto 1rem;
    border: 3px solid #EFF6FF;
}
.qp-testimonial-avatar-placeholder {
    width: 72px; height: 72px; border-radius: 50%; margin: 0 auto 1rem;
    background: var(--qp-gradient-cta); color: #fff; display: flex; align-items: center;
    justify-content: center; font-size: 1.5rem; font-weight: 700;
}
.qp-stars { color: #F59E0B; font-size: .9rem; margin-bottom: .75rem; }

/* Trust & Safety */
.qp-trust-card {
    text-align: center; padding: 2rem 1.25rem; background: #fff; border-radius: var(--qp-radius);
    border: 1px solid #E2E8F0; height: 100%; transition: all .3s;
}
.qp-trust-card:hover { border-color: var(--qp-primary); box-shadow: var(--qp-shadow-md); }
.qp-trust-card i { font-size: 2.5rem; color: var(--qp-primary); margin-bottom: 1rem; display: block; }

/* Cities */
.qp-city-chip {
    display: flex; align-items: center; gap: .75rem; padding: 1rem 1.25rem;
    background: #fff; border-radius: var(--qp-radius); border: 1px solid #E2E8F0;
    text-decoration: none; color: var(--qp-secondary); font-weight: 600; font-size: .95rem;
    transition: all .25s;
}
.qp-city-chip:hover { border-color: var(--qp-primary); color: var(--qp-primary); background: #EFF6FF; transform: translateY(-2px); }
.qp-city-chip i { font-size: 1.25rem; color: var(--qp-accent); }

/* Partner CTA */
.qp-partner-cta {
    background: var(--qp-gradient-cta); padding: 5rem 0; position: relative; overflow: hidden;
}
.qp-partner-cta::before {
    content: ''; position: absolute; inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.qp-benefit-item { display: flex; align-items: center; gap: .6rem; color: rgba(255,255,255,.9); font-size: .95rem; margin-bottom: .6rem; }
.qp-benefit-item i { color: #fff; }

/* Blog */
.qp-blog-card {
    background: #fff; border-radius: var(--qp-radius); overflow: hidden;
    border: 1px solid #E2E8F0; height: 100%; transition: all .3s;
}
.qp-blog-card:hover { box-shadow: var(--qp-shadow-md); transform: translateY(-4px); }
.qp-blog-img { width: 100%; height: 200px; object-fit: cover; background: #EFF6FF; }
.qp-blog-img-placeholder {
    width: 100%; height: 200px; display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #EFF6FF, #E0F2FE); color: var(--qp-primary); font-size: 2.5rem;
}
.qp-blog-body { padding: 1.5rem; }

/* FAQ */
.qp-faq .accordion-item {
    border: 1px solid #E2E8F0; border-radius: var(--qp-radius) !important;
    margin-bottom: .75rem; overflow: hidden; background: #fff;
}
.qp-faq .accordion-button {
    font-weight: 600; font-size: .95rem; color: var(--qp-secondary);
    background: #fff; box-shadow: none; padding: 1.25rem 1.5rem;
}
.qp-faq .accordion-button:not(.collapsed) { color: var(--qp-primary); background: #EFF6FF; }
.qp-faq .accordion-body { color: #64748B; font-size: .92rem; line-height: 1.7; padding: 0 1.5rem 1.25rem; }

/* Footer */
.qp-footer { background: var(--qp-secondary); color: #94A3B8; padding: 4rem 0 0; }
.qp-footer h5 { color: #fff; font-size: .95rem; font-weight: 700; margin-bottom: 1.25rem; }
.qp-footer a { color: #94A3B8; text-decoration: none; font-size: .88rem; display: block; padding: .3rem 0; transition: color .2s; }
.qp-footer a:hover { color: #fff; }
.qp-footer-brand { font-size: 1.5rem; font-weight: 800; color: #fff; margin-bottom: 1rem; }
.qp-footer-brand span { color: var(--qp-accent); }
.qp-social a {
    display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; border-radius: 10px; background: rgba(255,255,255,.08);
    color: #94A3B8; margin-right: .5rem; transition: all .25s;
}
.qp-social a:hover { background: var(--qp-primary); color: #fff; }
.qp-footer-bottom { border-top: 1px solid rgba(255,255,255,.1); padding: 1.5rem 0; margin-top: 3rem; }

/* Mobile */
@media (max-width: 991px) {
    .qp-hero { padding: 3rem 0 2.5rem; }
    .qp-hero-visual { margin-top: 2rem; }
    .qp-section { padding: 3.5rem 0; }
    .qp-mobile-nav { display: none; }
    .qp-mobile-nav.show { display: block; position: absolute; top: 100%; left: 0; right: 0; background: #fff; border-bottom: 1px solid #E2E8F0; padding: 1rem; box-shadow: var(--qp-shadow-md); }
}
@media (min-width: 992px) {
    .qp-mobile-toggle { display: none; }
}
