/*
Theme Name: PC Sudbury Modern Theme
Author: PC Sudbury
Version: 3.0
Description: Professional Lead Generation Landing Theme
*/

/* ================= GLOBAL ================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}
section {
  scroll-margin-top: 100px;
}
body{
    font-family:'Segoe UI', sans-serif;
    background:#f4f6fb;
    color:#2d2d2d;
    line-height:1.6;
}

.container{
    width:90%;
    max-width:1200px;
    margin:auto;
}

.section{
    padding:90px 0;
}

.section-title{
    text-align:center;
    font-size:36px;
    font-weight:700;
    margin-bottom:60px;
}

.light-bg{
    background:#ffffff;
}

/* ================= HEADER ================= */

header{
    background:#ffffff;
    padding:18px 0;
    box-shadow:0 3px 12px rgba(0,0,0,0.05);
    position:sticky;
    top:0;
    z-index:1000;
}

.flex{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

nav ul{
    list-style:none;
    display:flex;
    gap:30px;
}

nav a{
    text-decoration:none;
    color:#333;
    font-weight:600;
    font-size:15px;
}

nav a:hover{
    color:#6c63ff;
}

/* ================= HERO ================= */

.hero{
    background:linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0.55)),
    url('https://images.unsplash.com/photo-1581092918484-8313a2a9c3d2') center/cover no-repeat;
    padding:70px 0;
    color:#ffffff;
}

.hero-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
}

.hero h1{
    font-size:48px;
    font-weight:800;
    margin-bottom:20px;
}

.hero p{
    font-size:18px;
    margin-bottom:25px;
}

.primary-btn{
    display:inline-block;
    background:#6c63ff;
    color:#fff;
    padding:14px 32px;
    border-radius:6px;
    text-decoration:none;
    font-weight:600;
    transition:0.3s ease;
}

.primary-btn:hover{
    background:#574fd6;
}

/* ================= HERO FORM ================= */

.hero-form{
    background:#ffffff;
    padding:35px;
    border-radius:12px;
    box-shadow:0 10px 25px rgba(0,0,0,0.1);
    color:#333;
}

.hero-form h3{
    margin-bottom:20px;
    font-weight:700;
}

.pcs-form label{
    display:block;
    font-weight:600;
    margin-top:15px;
    margin-bottom:6px;
    font-size:14px;
}

.pcs-form input,
.pcs-form select,
.pcs-form textarea{
    width:100%;
    padding:12px;
    border-radius:6px;
    border:1px solid #ddd;
    font-size:14px;
}

.pcs-form textarea{
    min-height:120px;
}

.pcs-form input[type=submit]{
    background:#6c63ff;
    color:#fff;
    border:none;
    padding:14px;
    font-size:16px;
    font-weight:600;
    margin-top:15px;
    cursor:pointer;
    border-radius:6px;
    transition:0.3s;
}

.pcs-form input[type=submit]:hover{
    background:#574fd6;
}

/* ================= SERVICES ================= */

.grid-3{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:40px;
}

.card{
    background:#ffffff;
    padding:30px;
    border-radius:12px;
    box-shadow:0 10px 25px rgba(0,0,0,0.05);
    transition:0.3s ease;
}

.card:hover{
    transform:translateY(-8px);
}

.service-card img{
    width:100%;
    height:200px;
    object-fit:cover;
    border-radius:8px;
    margin-bottom:20px;
}

.card h3{
    margin-bottom:15px;
    font-size:20px;
}

/* ================= FEATURES ================= */

.feature-card{
    text-align:center;
}

/* ================= PROCESS ================= */

.process-section{
    background:#f9fafc;
}

.process-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:40px;
}

.process-card{
    background:#ffffff;
    padding:40px 30px;
    border-radius:12px;
    text-align:center;
    box-shadow:0 10px 25px rgba(0,0,0,0.05);
}

.process-card span{
    display:inline-block;
    font-size:26px;
    font-weight:800;
    color:#6c63ff;
    margin-bottom:15px;
}

/* ================= FAQ ================= */

.faq-item{
    background:#ffffff;
    padding:20px 25px;
    margin-bottom:15px;
    border-radius:8px;
    box-shadow:0 5px 15px rgba(0,0,0,0.04);
}

/* ================= CTA ================= */

.cta{
    background:linear-gradient(90deg,#292A62,#292A62);
    color:#fff;
    text-align:center;
    padding:110px 20px;
}

.cta h2{
    font-size:36px;
    margin-bottom:20px;
}

.white-btn{
    background:#fff;
    color:#333;
}

.white-btn:hover{
    background:#f0f0f0;
}
.cta p{
	margin-bottom:30px;
}

/* ================= FOOTER ================= */

footer{
    background:#ffffff;
    padding:70px 0;
    border-top:1px solid #eee;
}

.footer-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:40px;
}

footer h3,
footer h4{
    margin-bottom:15px;
}

footer p{
    font-size:14px;
    margin-bottom:8px;
	text-decoration:none;
	
}

.footer-grid li{
	list-style:none;
}

.footer-grid li a{
	   font-size:14px;
text-decoration:none;
	color:#000;
	
}

/* Lead Section Above CTA */

.lead-section {
    background: linear-gradient(135deg,#eef2ff,#f8f9ff);
    padding: 100px 0;
}

.lead-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.lead-content h2 {
    font-size: 36px;
    margin-bottom: 20px;
}

.lead-content p {
    font-size: 16px;
    color: #555;
    margin-bottom: 25px;
}

.lead-points {
    list-style: none!important;
    padding: 0;
}

.lead-points li {
    margin-bottom: 12px;
    font-weight: 500;
    color: #333;
}

/* Form Box Styling */

.lead-form {
    background: #ffffff;
    padding: 40px;
    border-radius: 14px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.08);
}

.lead-form h3 {
    margin-bottom: 20px;
}

/* CF7 Styling Enhancement */

.lead-form input,
.lead-form select,
.lead-form textarea {
    width: 100%;
    padding: 14px;
    border-radius: 8px;
    border: 1px solid #ddd;
    margin-bottom: 15px;
    font-size: 14px;
}

.lead-form textarea {
    min-height: 120px;
    resize: vertical;
}

.lead-form input:focus,
.lead-form textarea:focus,
.lead-form select:focus {
    border-color: #6c63ff;
    outline: none;
    box-shadow: 0 0 0 3px rgba(108,99,255,0.15);
}

.lead-form input[type=submit] {
    background: linear-gradient(90deg,#6c63ff,#8e44ad);
    color: #fff;
    border: none;
    padding: 14px;
    font-weight: 600;
    cursor: pointer;
    border-radius: 8px;
    transition: 0.3s;
}

.lead-form input[type=submit]:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(108,99,255,0.3);
}

/* Responsive */

@media(max-width:768px){
    .lead-grid {
        grid-template-columns: 1fr;
    }

    .lead-content h2 {
        font-size: 26px;
    }
}
/* ================= RESPONSIVE ================= */

@media(max-width:992px){
    .hero-grid{
        grid-template-columns:1fr;
    }
    .hero{
        padding:100px 0;
    }
}

@media(max-width:768px){
    .section-title{
        font-size:28px;
    }
    .hero h1{
        font-size:30px;
    }
}

/* FAQ Section */

.faq-section {
    padding: 100px 0;
    background: #f8f9ff;
}

.section-title {
    text-align: center;
    font-size: 36px;
    margin-bottom: 50px;
}

.faq-item {
    background: #ffffff;
    border-radius: 10px;
    margin-bottom: 20px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    overflow: hidden;
}

.faq-question {
    width: 100%;
    padding: 0;
    background: none;
    border: none;
    text-align: left;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    line-height: 23px;
}

.faq-question:hover {
    background: #f2f4ff;
}

.faq-icon {
    font-size: 22px;
    font-weight: bold;
    transition: 0.3s;
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    padding: 0 25px;
    transition: max-height 0.4s ease, padding 0.3s ease;
}

.faq-answer p {
    margin: 15px 0;
    color: #555;
}

.faq-item.active .faq-answer {
    max-height: 300px;
    padding: 0 25px 20px 25px;
}

.faq-item.active .faq-icon {
    transform: rotate(45deg);
}

/* Responsive */

@media(max-width:768px){
    .section-title {
        font-size: 26px;
    }
}