/* ProBonoV2 - Pro Bono for Purpose V2 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; }

.pv2-hero-cta { margin-top: 1.5rem; }
.pv2-btn-outline-yellow {
    border: 2px solid #fdb913; color: #fdb913; background: transparent; border-radius: 50px;
    padding: 0.65rem 2rem; font-weight: 600; font-size: 0.95rem; cursor: default;
}

/* Sections */
.pv2-section { padding: 5rem 0; }
.pv2-section-light { background: #f8f7fc; }
.pv2-section-heading { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 2rem; color: #170a29; margin-bottom: 1rem; }
.pv2-yellow-rule { width: 60px; height: 4px; background: #fdb913; border: none; margin: 1rem 0 1.5rem; }
.pv2-text { font-size: 1.05rem; line-height: 1.7; color: #444; }
.pv2-feature-img { max-width: 400px; border-radius: 12px; box-shadow: 0 8px 30px rgba(61,26,111,0.18); }

/* Highlight Cards */
.pv2-highlight-card {
    background: #fff; border-radius: 12px; padding: 2rem 1.5rem; text-align: center; height: 100%;
    border: 1px solid #ede8f5; transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.pv2-highlight-card:hover { transform: translateY(-6px); box-shadow: 0 12px 32px rgba(61,26,111,0.15); }
.pv2-highlight-icon {
    width: 56px; height: 56px; border-radius: 50%; display: inline-flex; align-items: center;
    justify-content: center; font-size: 1.4rem; margin-bottom: 1.25rem; color: #fff;
}
.pv2-icon-yellow { background: #fdb913; color: #170a29; }
.pv2-icon-red { background: #ed174c; }
.pv2-icon-purple { background: #7d1d61; }
.pv2-highlight-card h3 { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 1.1rem; color: #170a29; margin-bottom: 0.75rem; }
.pv2-highlight-card p { font-size: 0.95rem; color: #555; line-height: 1.6; margin: 0; }

/* Check List */
.pv2-check-list { list-style: none; padding: 0; margin: 1rem 0 0; }
.pv2-check-list li { padding: 0.5rem 0 0.5rem 2rem; position: relative; font-size: 1rem; line-height: 1.5; color: #444; }
.pv2-check-list li::before { content: '\f00c'; font-family: 'Font Awesome 6 Pro'; font-weight: 900; position: absolute; left: 0; color: #fdb913; }

/* Info List */
.pv2-info-list { list-style: none; padding: 0; margin: 0; }
.pv2-info-list li { padding: 0.6rem 0; font-size: 0.95rem; line-height: 1.5; color: #444; border-bottom: 1px solid #ede8f5; }
.pv2-info-list li:last-child { border-bottom: none; }

/* Buttons */
.pv2-btn-purple { background: #3d1a6f; color: #fff; border: 2px solid #3d1a6f; padding: 0.65rem 2rem; border-radius: 50px; font-weight: 600; transition: all 0.25s ease; margin: 0.25rem; }
.pv2-btn-purple:hover { background: #170a29; border-color: #170a29; color: #fff; text-decoration: none; }
.pv2-btn-red { background: #ed174c; color: #fff; border: 2px solid #ed174c; padding: 0.65rem 2rem; border-radius: 50px; font-weight: 600; transition: all 0.25s ease; margin: 0.25rem; }
.pv2-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 mobile */
@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; } .pv2-section { padding: 3.5rem 0; } }
@media (max-width: 575px) { .wv2-hero-simple { padding: 5rem 0 3rem; } .wv2-page-title { font-size: 1.85rem; } }
