/* CampaignBriefV2 Styles */
/* Brand: #3d1a6f (purple), #170a29 (dark), #fdb913 (yellow), #ed174c (red) */

.wv2-hero-simple { background: linear-gradient(135deg, #3d1a6f 0%, #170a29 100%); color: #fff; padding: 7rem 0 4rem; text-align: center; }
.wv2-page-title { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 3rem; margin-bottom: 1rem; }
.wv2-accent { color: #fdb913; }
.wv2-page-subtitle { font-size: 1.15rem; opacity: 0.9; max-width: 600px; margin: 0 auto 2rem; line-height: 1.6; }

/* Sections */
.cbv2-section { padding: 5rem 0; }
.cbv2-section-light { background: #f8f7fc; }
.cbv2-section-heading { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 2rem; color: #170a29; margin-bottom: 1rem; }
.cbv2-yellow-rule { width: 60px; height: 4px; background: #fdb913; border: none; margin: 1rem 0 1.5rem; }
.cbv2-yellow-rule-center { margin-left: auto; margin-right: auto; }
.cbv2-text { font-size: 1.05rem; line-height: 1.7; color: #444; }

/* Check List */
.cbv2-check-list { list-style: none; padding: 0; margin: 1rem 0 0; }
.cbv2-check-list li { padding: 0.5rem 0 0.5rem 2rem; position: relative; font-size: 1rem; line-height: 1.5; color: #444; }
.cbv2-check-list li::before { content: '\f00c'; font-family: 'Font Awesome 6 Pro'; font-weight: 900; position: absolute; left: 0; color: #fdb913; }

/* Step Cards */
.cbv2-step-card {
    background: #fff; border-radius: 12px; padding: 1.5rem; text-align: center; height: 100%;
    border: 1px solid #ede8f5; transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.cbv2-step-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(61,26,111,0.12); }
.cbv2-step-num {
    width: 44px; height: 44px; border-radius: 50%; background: #fdb913; color: #170a29;
    font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 1.25rem;
    display: inline-flex; align-items: center; justify-content: center; margin-bottom: 1rem;
}
.cbv2-step-card h4 { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 1rem; color: #170a29; margin-bottom: 0.5rem; }
.cbv2-step-card p { font-size: 0.9rem; color: #555; line-height: 1.5; margin: 0; }

/* Buttons */
.cbv2-btn-red,
a.btn.cbv2-btn-red,
a.BHSurvey.btn.cbv2-btn-red {
    background: #ed174c !important; color: #fff !important; border: 2px solid #ed174c !important;
    padding: 0.75rem 2.5rem !important;
    border-radius: 50px !important; font-weight: 600; font-size: 1rem; transition: all 0.25s ease;
    white-space: nowrap !important; display: inline-block !important;
    max-width: none !important; overflow: visible !important;
    width: auto !important; height: auto !important;
    text-overflow: clip; word-break: keep-all;
    line-height: 1.5 !important;
}
.cbv2-btn-red:link, .cbv2-btn-red:visited, .cbv2-btn-red:hover, .cbv2-btn-red:active, .cbv2-btn-red:focus {
    color: #fff;
}
.cbv2-btn-red:hover { background: #d1133f; border-color: #d1133f; color: #fff; text-decoration: none; }

/* CTA */
.hv2-cta { background: #fdb913; color: #170a29; padding: 4rem 0; text-align: center; }
.hv2-cta h2 { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 2rem; margin-bottom: 0.75rem; }
.hv2-cta p { font-size: 1.1rem; max-width: 550px; margin: 0 auto 1.5rem; }
.hv2-btn-purple { background: #3d1a6f; color: #fff; border: 2px solid #3d1a6f; padding: 0.75rem 2.5rem; border-radius: 50px; font-weight: 600; font-size: 1rem; transition: all 0.25s ease; }
.hv2-btn-purple:hover { background: #170a29; border-color: #170a29; color: #fff; text-decoration: none; }

/* Fancybox overrides */
.fancybox-wrap { z-index: 99999 !important; }
.fancybox-overlay { z-index: 99998 !important; }

@media (max-width: 989px) {
    .fancybox-overlay { width: 100% !important; height: 100% !important; }
    .fancybox-opened { width: 100% !important; top: 0 !important; left: 0 !important; height: 100% !important; }
    .fancybox-skin { height: 100% !important; padding: 0 !important; }
    .fancybox-inner, .fancybox-outer { width: 100% !important; height: 100% !important; }
    .fancybox-close { position: absolute; top: 115px; right: 20px; }
}

@media (max-width: 991px) { .wv2-page-title { font-size: 2.25rem; } .cbv2-section { padding: 3.5rem 0; } }
@media (max-width: 575px) { .wv2-hero-simple { padding: 5rem 0 3rem; } .wv2-page-title { font-size: 1.85rem; } }
