/*
Theme Name: NetWin Media
Theme URI: https://netwinmedia.com
Author: Fuze Design Studio
Description: Custom WordPress theme for NetWin Media
Version: 1.1.0
Text Domain: nwm
*/

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; -webkit-text-size-adjust: 100%; }
body { font-family: 'Montserrat', sans-serif; font-weight: 400; line-height: 1.6; color: #333; background: #fff; -webkit-font-smoothing: antialiased; }
a { text-decoration: none; color: inherit; transition: color 0.3s ease; }
img { max-width: 100%; height: auto; display: block; }
ul, ol { list-style: none; }
h1, h2, h3, h4, h5, h6 { font-weight: 700; line-height: 1.2; }
.clearfix::after { content: ""; display: table; clear: both; }
.section-inner { max-width: 1200px; margin: 0 auto; padding: 0 30px; }
.col-md-6 { width: 50%; float: left; }
.col-md-8 { width: 66.666%; float: left; }
@media (max-width: 991px) { .col-md-6, .col-md-8 { width: 100%; float: none; } }

/* HEADER */
header { padding: 25px 0; position: relative; z-index: 100; }
header .section-inner { display: flex; align-items: center; justify-content: space-between; }
.wrap-logo h1 { margin: 0; line-height: 1; }
.wrap-logo .logo img { height: 34px; width: auto; }
.wrap-logo .logo-underline { display: block; width: 120px; height: 1px; background: #e74c3c; margin-top: 12px; }
.wrap-menu nav ul.menu { display: flex; gap: 40px; }
.wrap-menu nav ul.menu li a { color: #fff; font-size: 14px; font-weight: 500; letter-spacing: 0.5px; padding: 5px 0; }
.wrap-menu nav ul.menu li a:hover, .wrap-menu nav ul.menu li.current-menu-item a { color: #e74c3c; }
.menu-icon { display: none; cursor: pointer; flex-direction: column; gap: 5px; z-index: 200; }
.menu-icon span { display: block; width: 25px; height: 2px; background: #fff; transition: 0.3s; }
.menu-icon.active span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.menu-icon.active span:nth-child(2) { opacity: 0; }
.menu-icon.active span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }
@media (max-width: 767px) {
    .menu-icon { display: flex; }
    .menu-div { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(30,35,48,0.97); z-index: 150; padding-top: 100px; }
    .menu-div.open { display: block; }
    .wrap-menu nav ul.menu { flex-direction: column; align-items: center; gap: 25px; }
    .wrap-menu nav ul.menu li a { font-size: 20px; }
}

/* HERO — FIXED: no collapse */
.wrap-page-heading, .wrap-page.home-page { background-size: cover; background-position: center; background-repeat: no-repeat; position: relative; }
.wrap-page-heading::before, .wrap-page.home-page::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, rgba(30,35,48,0.85) 0%, rgba(30,35,48,0.6) 100%); z-index: 1; }
.wrap-page-heading > *, .wrap-page.home-page > * { position: relative; z-index: 2; }
.heading-page-section { padding: 40px 0 60px; }
.heading-page-section .section-inner { overflow: visible; }
.heading-page-section .section-inner::after { content: ""; display: table; clear: both; }
.heading-page-section .heading-page h1 { color: #fff; font-size: 42px; font-weight: 700; margin-bottom: 10px; }
.heading-page-section .heading-page p { color: rgba(255,255,255,0.8); font-size: 14px; line-height: 1.6; }

/* HOMEPAGE */
.main-content-section { padding: 80px 0 60px; }
.main-content-section .heading-page h1 { color: #fff; font-size: 44px; font-weight: 700; margin-bottom: 20px; line-height: 1.15; }
.main-content-section .heading-page p { color: rgba(255,255,255,0.8); font-size: 16px; line-height: 1.7; margin-bottom: 30px; }
a.button { display: inline-block; background: #e74c3c; color: #fff; padding: 14px 35px; font-size: 12px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; border-radius: 30px; transition: background 0.3s ease; }
a.button:hover { background: #c0392b; }
.services { padding-top: 60px; clear: both; }
.services .wrap-items { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.services .item { border: 1px solid rgba(255,255,255,0.1); border-radius: 4px; padding: 35px 30px; transition: transform 0.3s ease, background 0.3s ease; }
.services .item:hover { background: rgba(255,255,255,0.12); transform: translateY(-3px); }
.services .item h3 { color: #fff; font-size: 18px; margin-bottom: 15px; line-height: 1.35; }
.services .item p { color: rgba(255,255,255,0.7); font-size: 12px; line-height: 1.4; margin-bottom: 20px; }
a.more-button { color: #e74c3c; font-size: 13px; font-weight: 600; letter-spacing: 0.5px; }
a.more-button:hover { color: #fff; }
@media (max-width: 991px) { .services .wrap-items { grid-template-columns: 1fr; } .main-content-section .heading-page h1 { font-size: 32px; } }

/* SERVICES LISTING */
.services-content-section { padding: 70px 0; background: #fff; }
.service-content { margin-bottom: 60px; padding-bottom: 60px; border-bottom: 1px solid #eee; }
.service-content:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.service-content .heading { display: flex; align-items: center; gap: 20px; margin-bottom: 35px; }
.service-content .heading .icon-image { flex-shrink: 0; }
.service-content .heading .icon-image img { width: 50px; height: 50px; }
.service-content .heading h2 { font-size: 26px; color: #1e2330; text-align: left; }
.service-content .wrap-items { display: flex; flex-wrap: wrap; margin: 0 -15px; }
.service-content .wrap-items .item { padding: 0 15px; margin-bottom: 30px; width: 50%; }
.service-content .wrap-items .item h4 { margin-bottom: 12px; }
.service-content .wrap-items .item h4 a { color: #1e2330; font-size: 17px; font-weight: 600; }
.service-content .wrap-items .item h4 a:hover { color: #e74c3c; }
.service-content .wrap-items .item p { color: #666; font-size: 14px; line-height: 1.7; margin-bottom: 12px; }
@media (max-width: 767px) { .service-content .wrap-items .item { width: 100%; } .service-content .heading h2 { font-size: 20px; } }

/* SERVICE CATEGORY PAGE — matches Accounting/Jurisdiction/Marketing PNGs */
.service-category-page { padding: 50px 0 70px; }
.service-category-page .view-all-link { text-align: right; margin-bottom: 10px; }
.service-category-page .view-all-link a { color: #e74c3c; font-size: 13px; font-weight: 600; }
.service-category-page .view-all-link a:hover { text-decoration: underline; }
.sub-service-block { display: flex; flex-wrap: wrap; margin: 0 -25px; padding: 45px 0; border-bottom: 1px solid #eee; }
.sub-service-block:last-child { border-bottom: none; }
.sub-block-sidebar { width: 35%; padding: 0 25px; }
.sub-block-main { width: 65%; padding: 0 25px; }
.sub-block-sidebar h3 { color: #e74c3c; font-size: 17px; font-weight: 700; margin-bottom: 18px; line-height: 1.4; }
.sub-block-sidebar h3 a { color: #e74c3c; }
.sub-block-sidebar p { font-size: 12.5px; color: #555; line-height: 1.7; margin-bottom: 12px; }
.sub-block-sidebar .read-more-link { color: #e74c3c; font-size: 12px; font-weight: 600; display: inline-block; margin-top: 5px; }
.sub-block-main h4 { font-size: 14px; font-weight: 700; color: #1e2330; margin-bottom: 8px; margin-top: 22px; }
.sub-block-main h4:first-child { margin-top: 0; }
.sub-block-main p { font-size: 12.5px; color: #555; line-height: 1.7; margin-bottom: 8px; }
@media (max-width: 767px) {
    .sub-block-sidebar, .sub-block-main { width: 100%; }
    .sub-block-sidebar { margin-bottom: 25px; }
}

/* SUB-SERVICE (individual page, kept) */
.sub-service-page { padding: 70px 0; }
.sub-service-page .service-icon-title { display: flex; align-items: center; gap: 15px; margin-bottom: 10px; }
.sub-service-page .service-icon-title img { width: 45px; height: 45px; }
.sub-service-page .service-icon-title h2 { font-size: 28px; color: #1e2330; }
.sub-service-page .view-all-services { display: inline-block; color: #e74c3c; font-size: 14px; font-weight: 600; margin-bottom: 50px; }
.sub-service-content { display: flex; flex-wrap: wrap; margin: 0 -20px; }
.sub-service-content .sub-service-sidebar { width: 33.333%; padding: 0 20px; }
.sub-service-content .sub-service-main { width: 66.666%; padding: 0 20px; }
.sub-service-sidebar h3 { font-size: 16px; color: #1e2330; padding-bottom: 15px; border-bottom: 2px solid #e74c3c; margin-bottom: 20px; }
.sub-service-sidebar p { font-size: 14px; color: #666; line-height: 1.7; margin-bottom: 15px; }
.sub-service-main h3 { font-size: 18px; color: #1e2330; margin-bottom: 12px; padding-top: 30px; }
.sub-service-main h3:first-child { padding-top: 0; }
.sub-service-main p { font-size: 14px; color: #555; line-height: 1.8; margin-bottom: 15px; }
@media (max-width: 767px) { .sub-service-content .sub-service-sidebar, .sub-service-content .sub-service-main { width: 100%; } }

/* CONTACT PAGE — matches Contact.png */
.contact-us-page { padding: 70px 0; }
.contact-us-page > .section-inner { display: flex; flex-wrap: wrap; gap: 60px; }
.contact-us-page .office-directory { flex: 1; min-width: 280px; }
.contact-us-page .contact-form-wrap { flex: 1; min-width: 280px; }
.contact-heading { font-size: 22px; font-weight: 700; color: #1e2330; padding-bottom: 15px; border-bottom: 2px solid #e74c3c; margin-bottom: 30px; }
.office-block { margin-bottom: 30px; }
.office-block h3 { font-size: 17px; font-weight: 700; color: #1e2330; margin-bottom: 8px; }
.office-block .office-address { font-size: 14px; color: #666; line-height: 1.6; margin-bottom: 15px; }
.office-contact-box { background: #f5f6f7; border-radius: 4px; padding: 18px 22px; }
.office-contact-box a { display: flex; align-items: center; gap: 14px; font-size: 14px; margin-bottom: 10px; color: #333; }
.office-contact-box a:last-child { margin-bottom: 0; }
.office-contact-box .contact-icon { flex-shrink: 0; }
.contact-form-inner input[type="text"],
.contact-form-inner input[type="email"],
.contact-form-inner input[type="tel"],
.contact-form-inner select,
.contact-form-inner textarea { width: 100%; padding: 12px 0; border: none; border-bottom: 1px solid #ddd; font-family: 'Montserrat', sans-serif; font-size: 14px; color: #333; background: transparent; margin-bottom: 20px; outline: none; border-radius: 0; -webkit-appearance: none; }
.contact-form-inner input:focus, .contact-form-inner select:focus, .contact-form-inner textarea:focus { border-bottom-color: #e74c3c; }
.contact-form-inner textarea { resize: vertical; min-height: 80px; }
.contact-form-inner select { cursor: pointer; color: #999; }
.contact-form-inner .radio-row { display: flex; align-items: center; gap: 12px; margin-bottom: 15px; }
.contact-form-inner .radio-row input[type="radio"] { width: 18px; height: 18px; accent-color: #e74c3c; flex-shrink: 0; cursor: pointer; }
.contact-form-inner .radio-row label { font-size: 14px; color: #333; font-weight: 500; min-width: 55px; cursor: pointer; }
.contact-form-inner .radio-row input[type="email"], .contact-form-inner .radio-row input[type="tel"] { flex: 1; margin-bottom: 0; }
.contact-form-inner h5 { font-size: 14px; font-weight: 600; color: #1e2330; margin: 20px 0 12px; }
.contact-form-inner .checkbox-row { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; }
.contact-form-inner .checkbox-row input[type="checkbox"] { width: 18px; height: 18px; margin-top: 2px; flex-shrink: 0; cursor: pointer; }
.contact-form-inner .checkbox-row label { font-size: 13px; color: #666; cursor: pointer; line-height: 1.5; }
.contact-form-inner .submit-wrap { margin-top: 25px; }
.contact-form-inner input[type="submit"] { background: transparent; color: #e74c3c; border: 2px solid #e74c3c; padding: 14px 45px; font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; cursor: pointer; border-radius: 3px; transition: all 0.3s; font-family: 'Montserrat', sans-serif; }
.contact-form-inner input[type="submit"]:hover { background: #e74c3c; color: #fff; }
.form-message { padding: 15px; margin-bottom: 20px; border-radius: 3px; font-size: 14px; }
.form-message.success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.form-message.error { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
@media (max-width: 767px) { .contact-us-page > .section-inner { flex-direction: column; gap: 40px; } }

/* FAQs */
.faq-section { padding: 70px 0; max-width: 900px; margin: 0 auto; }
.faq-item { border-bottom: 1px solid #eee; }
.faq-item .faq-question { display: flex; align-items: center; justify-content: space-between; padding: 25px 0; cursor: pointer; gap: 20px; }
.faq-item .faq-question h3 { font-size: 17px; font-weight: 600; color: #1e2330; transition: color 0.3s; }
.faq-item.active .faq-question h3 { color: #e74c3c; }
.faq-item .faq-toggle { flex-shrink: 0; width: 20px; height: 20px; position: relative; }
.faq-item .faq-toggle::before, .faq-item .faq-toggle::after { content: ''; position: absolute; background: #999; transition: transform 0.3s; }
.faq-item .faq-toggle::before { width: 14px; height: 2px; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.faq-item .faq-toggle::after { width: 2px; height: 14px; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.faq-item.active .faq-toggle::after { transform: translate(-50%, -50%) rotate(90deg); }
.faq-item .faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.4s ease; }
.faq-item.active .faq-answer { max-height: 500px; padding-bottom: 25px; }
.faq-item .faq-answer p { font-size: 14px; color: #666; line-height: 1.8; }

/* SITEMAP */
.sitemap-section { padding: 70px 0; }
.sitemap-section .sitemap-content { display: flex; flex-wrap: wrap; margin: 0 -20px; }
.sitemap-section .sitemap-left { width: 50%; padding: 0 20px; }
.sitemap-section .sitemap-right { width: 50%; padding: 0 20px; }
.sitemap-group { margin-bottom: 40px; padding-bottom: 30px; border-bottom: 1px solid #eee; }
.sitemap-group:last-child { border-bottom: none; }
.sitemap-group h3 { font-size: 18px; color: #1e2330; font-weight: 700; margin-bottom: 18px; }
.sitemap-group ul li { margin-bottom: 8px; }
.sitemap-group ul li a { font-size: 14px; color: #666; }
.sitemap-group ul li a:hover { color: #e74c3c; }
.sitemap-page-link { display: block; font-size: 16px; font-weight: 600; color: #1e2330; padding: 18px 0; border-bottom: 1px solid #eee; }
.sitemap-page-link:hover { color: #e74c3c; }
@media (max-width: 767px) { .sitemap-section .sitemap-left, .sitemap-section .sitemap-right { width: 100%; } }

/* GENERIC PAGE */
.generic-content-section { padding: 70px 0; }
.generic-content-section .content-area { max-width: 800px; }
.generic-content-section .content-area h2 { font-size: 22px; color: #1e2330; margin: 30px 0 15px; }
.generic-content-section .content-area h3 { font-size: 18px; color: #1e2330; margin: 25px 0 12px; }
.generic-content-section .content-area p { font-size: 14px; color: #555; line-height: 1.8; margin-bottom: 15px; }
.generic-content-section .content-area ul { margin: 0 0 15px 20px; list-style: disc; }
.generic-content-section .content-area ul li { font-size: 14px; color: #555; line-height: 1.7; margin-bottom: 5px; }

/* FOOTER */
.site-footer { background: #f8f9fa; padding: 40px 0; border-top: 1px solid #eee; }
.site-footer .section-inner { display: flex; align-items: center; justify-content: space-between; }
.wrap-footer-logo img { height: 30px; width: auto; }
.wrap-footer-menu nav ul.menu { display: flex; flex-wrap: wrap; gap: 20px; }
.wrap-footer-menu nav ul.menu li a { font-size: 12px; color: #666; font-weight: 500; }
.wrap-footer-menu nav ul.menu li a:hover { color: #e74c3c; }
@media (max-width: 767px) { .site-footer .section-inner { flex-direction: column; gap: 20px; text-align: center; } .wrap-footer-menu nav ul.menu { justify-content: center; } }
