/* ==========================
   Global CSS
========================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    color: #333;
    background: #ffffff;
}

a {
    text-decoration: none;
    color: inherit;
}


/* ==========================
   Header
========================== */

.site-header {
    background: #ffffff;
    border-bottom: 1px solid #e5e5e5;
    position: sticky;
    top: 0;
    z-index: 1000;
}


.header-container {
    max-width: 1200px;
    margin: auto;
    padding: 15px 20px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}


/* Logo */

.site-logo a,
.footer-logo {
    font-size: 26px;
    font-weight: 700;
    color: #1f2937;
}

.site-logo span,
.footer-logo span {
    color: #00b67a;
}


/* Navigation */

.main-nav {
    display: flex;
    gap: 25px;
}

.main-nav a {
    font-size: 15px;
    color: #444;
    transition: .3s;
}

.main-nav a:hover {
    color: #00b67a;
}


/* Search */

.header-search form {
    display: flex;
}

.header-search input {
    width: 220px;
    padding: 9px 12px;
    border: 1px solid #ddd;
    border-radius: 5px 0 0 5px;
    outline: none;
}

.header-search button {

    padding: 9px 15px;
    border: none;
    background: #00b67a;
    color: white;
    cursor: pointer;

    border-radius: 0 5px 5px 0;
}


/* User Buttons */

.header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}


.login-link {
    color: #333;
}


.signup-btn,
.logout-btn {

    background: #00b67a;
    color:white;
    padding: 9px 18px;
    border-radius: 5px;
}


.signup-btn:hover,
.logout-btn:hover {
    background:#009966;
}


/* Mobile Button */

.mobile-menu-btn {

    display:none;

    border:none;
    background:none;
    font-size:25px;
    cursor:pointer;

}



/* Mobile Navigation */

.mobile-nav {

    display:none;
    flex-direction:column;
    padding:20px;
    background:white;
    border-top:1px solid #ddd;

}


.mobile-nav a {

    padding:10px 0;

}


.mobile-nav.active {

    display:flex;

}



/* ==========================
   Footer
========================== */


.site-footer {

    background:#111827;
    color:white;
    margin-top:60px;

}


.footer-container {

    max-width:1200px;
    margin:auto;

    padding:50px 20px;

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:40px;

}



.footer-column h3 {

    margin-bottom:20px;
    font-size:18px;

}


.footer-column p {

    color:#cbd5e1;
    line-height:1.7;

}



.footer-column ul {

    list-style:none;

}



.footer-column li {

    margin-bottom:12px;

}



.footer-column a {

    color:#cbd5e1;

}



.footer-column a:hover {

    color:white;

}



.footer-bottom {

    border-top:1px solid #374151;

    padding:20px;

    max-width:1200px;
    margin:auto;

    display:flex;
    justify-content:space-between;
    align-items:center;

    color:#cbd5e1;

}



.footer-social {

    display:flex;
    gap:15px;

}



/* ==========================
 Responsive
========================== */


@media(max-width:1024px){


    .main-nav {

        display:none;

    }


    .mobile-menu-btn {

        display:block;

    }


    .footer-container {

        grid-template-columns:repeat(2,1fr);

    }


}



@media(max-width:768px){


.header-container {

    flex-wrap:wrap;

}


.header-search {

    order:3;
    width:100%;

}


.header-search form {

    width:100%;

}


.header-search input {

    width:100%;

}


.header-actions {

    margin-left:auto;

}



.footer-container {

    grid-template-columns:1fr;

}


.footer-bottom {

    flex-direction:column;
    gap:15px;
    text-align:center;

}


}


@media(max-width:480px){


.site-logo a {

    font-size:22px;

}


.signup-btn,
.logout-btn {

    padding:8px 12px;

}


}

/* ==========================
   Homepage Hero
========================== */

.hero-section {

    background: linear-gradient(135deg, #00b67a, #008f5d);
    padding: 90px 20px;
    text-align: center;
    color: white;

}


.hero-container {

    max-width: 900px;
    margin: auto;

}


.hero-container h1 {

    font-size: 42px;
    line-height: 1.2;
    margin-bottom: 20px;

}


.hero-container p {

    font-size: 18px;
    margin-bottom: 35px;

}


.hero-search {

    display: flex;
    max-width: 650px;
    margin: auto;

}


.hero-search input {

    flex: 1;
    padding: 16px 20px;
    border: none;
    border-radius: 8px 0 0 8px;
    font-size: 16px;
    outline: none;

}


.hero-search button {

    padding: 16px 30px;
    border: none;
    background: #111827;
    color: white;
    font-size:16px;
    cursor:pointer;
    border-radius:0 8px 8px 0;

}




/* ==========================
   Common Sections
========================== */


.section-container {

    max-width:1200px;
    margin:auto;
    padding:60px 20px;

}


.section-container h2 {

    text-align:center;
    font-size:32px;
    margin-bottom:40px;
    color:#111827;

}





/* ==========================
   Categories
========================== */


.category-grid {

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;

}


.category-card {

    background:white;
    border:1px solid #e5e7eb;
    padding:25px;
    text-align:center;
    border-radius:10px;
    transition:.3s;

}


.category-card:hover {

    transform:translateY(-5px);
    box-shadow:0 10px 25px rgba(0,0,0,.08);

}


.category-card a {

    font-size:17px;
    font-weight:600;
    color:#111827;

}





/* ==========================
   Companies
========================== */


.company-grid {

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;

}


.company-card {

    background:white;
    border:1px solid #e5e7eb;
    padding:25px;
    border-radius:12px;
    text-align:center;
    transition:.3s;

}


.company-card:hover {

    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transform:translateY(-5px);

}


.company-card img {

    width:80px;
    height:80px;
    object-fit:contain;
    margin-bottom:15px;

}


.company-card h3 {

    margin-bottom:12px;

}


.company-card h3 a {

    color:#111827;

}


.rating {

    color:#00b67a;
    font-size:18px;
    font-weight:bold;

}


.company-card p {

    color:#666;
    margin-top:8px;

}





/* ==========================
   Reviews
========================== */


.review-grid {

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;

}


.review-card {

    background:#f9fafb;
    padding:25px;
    border-radius:12px;
    border:1px solid #eee;

}


.review-card h4 {

    font-size:18px;
    margin-bottom:12px;

}


.stars {

    color:#00b67a;
    margin-bottom:15px;

}


.review-card p {

    line-height:1.6;
    color:#555;

}


.review-card span {

    display:block;
    margin-top:15px;
    color:#777;
    font-size:14px;

}





/* ==========================
   CTA
========================== */


.cta-section {

    background:#111827;
    color:white;
    text-align:center;
    padding:70px 20px;

}


.cta-container h2 {

    font-size:34px;
    margin-bottom:15px;

}


.cta-container p {

    margin-bottom:30px;

}


.cta-container a {

    display:inline-block;
    background:#00b67a;
    color:white;
    padding:14px 35px;
    border-radius:8px;
    font-weight:bold;

}


.cta-container a:hover {

    background:#009966;

}




/* ==========================
   Homepage Responsive
========================== */


@media(max-width:1024px){


    .category-grid {

        grid-template-columns:repeat(2,1fr);

    }


    .company-grid,
    .review-grid {

        grid-template-columns:repeat(2,1fr);

    }


    .hero-container h1 {

        font-size:34px;

    }


}



@media(max-width:768px){


    .hero-section {

        padding:60px 20px;

    }


    .hero-container h1 {

        font-size:28px;

    }


    .hero-search {

        flex-direction:column;

    }


    .hero-search input {

        border-radius:8px;
        margin-bottom:10px;

    }


    .hero-search button {

        border-radius:8px;

    }


    .category-grid,
    .company-grid,
    .review-grid {

        grid-template-columns:1fr;

    }


}


/* ==========================
   Authentication Pages
========================== */


.auth-page{

    min-height:70vh;
    background:#f8fafc;

    display:flex;
    justify-content:center;
    align-items:center;

    padding:60px 20px;

}



.auth-box{

    background:white;

    width:100%;
    max-width:450px;

    padding:40px;

    border-radius:12px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

}



.auth-box h1{

    text-align:center;

    margin-bottom:10px;

    color:#111827;

}



.auth-box p{

    text-align:center;

    color:#666;

    margin-bottom:30px;

}



.form-group{

    margin-bottom:20px;

}



.form-group label{

    display:block;

    margin-bottom:8px;

    font-weight:600;

}



.form-group input{

    width:100%;

    padding:13px;

    border:1px solid #ddd;

    border-radius:7px;

    font-size:15px;

    outline:none;

}



.form-group input:focus{

    border-color:#00b67a;

}



.auth-btn{

    width:100%;

    padding:14px;

    background:#00b67a;

    color:white;

    border:none;

    border-radius:7px;

    font-size:16px;

    cursor:pointer;

}



.auth-btn:hover{

    background:#009966;

}



.error-message{

    background:#fee2e2;

    color:#b91c1c;

    padding:12px;

    border-radius:6px;

    margin-bottom:20px;

    text-align:center;

}



.auth-footer{

    margin-top:25px;

}



.auth-footer a{

    color:#00b67a;

    font-weight:bold;

}




@media(max-width:480px){

    .auth-box{

        padding:25px;

    }

}

/* ==========================
   Companies Page
========================== */


.companies-page{

    background:#f8fafc;
    min-height:70vh;

}


.companies-page h1{

    text-align:center;
    font-size:36px;
    margin-bottom:10px;

}


.page-description{

    text-align:center;
    color:#666;
    margin-bottom:35px;

}





.company-search{

    max-width:600px;
    margin:0 auto 45px;

    display:flex;

}



.company-search input{

    flex:1;
    padding:14px;

    border:1px solid #ddd;

    border-radius:8px 0 0 8px;

    font-size:16px;

}



.company-search button{

    background:#00b67a;

    color:white;

    border:none;

    padding:0 30px;

    border-radius:0 8px 8px 0;

    cursor:pointer;

}







.company-list-card{

    background:white;

    border:1px solid #e5e7eb;

    border-radius:12px;

    padding:30px;

    text-align:center;

    transition:.3s;

}



.company-list-card:hover{

    transform:translateY(-5px);

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}




.company-logo img{

    width:90px;

    height:90px;

    object-fit:contain;

}



.no-logo{

    width:90px;

    height:90px;

    margin:auto;

    background:#00b67a;

    color:white;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:35px;

    font-weight:bold;

}




.company-list-card h2{

    margin:20px 0 10px;

    font-size:22px;

}



.company-list-card h2 a{

    color:#111827;

}



.company-category{

    color:#777;

}




.company-rating span{

    color:#00b67a;

    font-size:22px;

    font-weight:bold;

}



.company-rating p{

    color:#666;

}




.view-company-btn{

    display:inline-block;

    margin-top:15px;

    background:#111827;

    color:white;

    padding:10px 25px;

    border-radius:6px;

}







.no-results{

    text-align:center;

    width:100%;

}






@media(max-width:768px){


.company-search{

    flex-direction:column;

}


.company-search input{

    border-radius:8px;

    margin-bottom:10px;

}


.company-search button{

    height:45px;

    border-radius:8px;

}

}


/* ==========================
 Company Profile
========================== */


.company-profile-page{

    background:#f8fafc;

}


.company-profile-header{

    background:white;

    padding:40px;

    border-radius:15px;

    display:flex;

    gap:30px;

    align-items:center;

    margin-bottom:30px;

}



.profile-logo img{

    width:130px;
    height:130px;
    object-fit:contain;

}



.profile-no-logo{

    width:130px;
    height:130px;

    background:#00b67a;

    color:white;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:50px;

    font-weight:bold;

}



.profile-info h1{

    font-size:36px;

    margin-bottom:10px;

}



.category{

    color:#777;

}



.big-rating{

    color:#00b67a;

    font-size:28px;

    font-weight:bold;

    margin-top:15px;

}




.profile-info a{

    display:inline-block;

    margin-top:15px;

    background:#111827;

    color:white;

    padding:10px 20px;

    border-radius:6px;

}





.company-description,
.reviews-area{

    background:white;

    padding:35px;

    border-radius:15px;

    margin-bottom:30px;

}



.company-description h2,
.reviews-area h2{

    margin-bottom:20px;

}





.reviews-heading{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:25px;

}



.write-review-btn{

    background:#00b67a;

    color:white;

    padding:12px 20px;

    border-radius:7px;

}




.single-review{

    border-bottom:1px solid #eee;

    padding:25px 0;

}



.review-stars{

    color:#00b67a;

    font-size:20px;

    margin:10px 0;

}



.single-review span{

    color:#777;

    font-size:14px;

}



.no-reviews{

    text-align:center;

    color:#777;

}




@media(max-width:768px){


.company-profile-header{

    flex-direction:column;

    text-align:center;

}


.reviews-heading{

    flex-direction:column;

    gap:15px;

}


}


/* Company Form */


.company-form select,
.company-form textarea{

    width:100%;

    padding:13px;

    border:1px solid #ddd;

    border-radius:7px;

    font-size:15px;

    outline:none;

}


.company-form textarea{

    resize:vertical;

}



.company-form select:focus,
.company-form textarea:focus{

    border-color:#00b67a;

}



.success-message{

    background:#dcfce7;

    color:#166534;

    padding:12px;

    border-radius:6px;

    margin-bottom:20px;

    text-align:center;

}

/* Admin Panel */


.admin-container{

max-width:1200px;
margin:auto;
padding:60px 20px;

}



.admin-container h1{

text-align:center;
margin-bottom:40px;

}



.admin-cards{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:25px;

}



.admin-card{

background:white;
padding:30px;
border-radius:12px;
box-shadow:0 5px 20px rgba(0,0,0,.08);
text-align:center;

}



.admin-company-card{

background:white;
padding:25px;
margin-bottom:20px;
border-radius:12px;
border:1px solid #eee;

}



.approve-btn,
.reject-btn{

display:inline-block;
padding:10px 20px;
border-radius:6px;
color:white;
margin-top:15px;

}



.approve-btn{

background:#00b67a;

}



.reject-btn{

background:#dc2626;

}



@media(max-width:768px){

.admin-cards{

grid-template-columns:1fr;

}

}

/* ==========================
 Review Form
========================== */


.review-form{

    max-width:550px;

}



.rating-input{

    display:flex;

    flex-direction:column;

    gap:10px;

}



.rating-input label{

    cursor:pointer;

    color:#00b67a;

    font-size:24px;

}



.rating-input input{

    margin-right:10px;

}




.review-form textarea{

    width:100%;

    padding:13px;

    border:1px solid #ddd;

    border-radius:7px;

    font-size:15px;

    resize:vertical;

}

/* Admin Reviews */


.admin-review-card{

    background:white;

    padding:30px;

    margin-bottom:25px;

    border-radius:12px;

    border:1px solid #eee;

}



.admin-review-card h2{

    margin-bottom:15px;

}



.review-stars{

    color:#00b67a;

    font-size:20px;

}



.admin-review-card h3{

    margin:15px 0;

}



.admin-review-card p{

    line-height:1.6;

}
/* ==========================
 Business Dashboard
========================== */


.business-container{

    max-width:1200px;
    margin:auto;
    padding:60px 20px;

}



.business-container h1{

    margin-bottom:30px;

}



.business-company-box{

    background:white;

    padding:30px;

    border-radius:12px;

    border:1px solid #eee;

    margin-bottom:30px;

}




.business-stats{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;

    margin-bottom:35px;

}



.business-card{

    background:white;

    padding:30px;

    text-align:center;

    border-radius:12px;

    box-shadow:0 5px 20px rgba(0,0,0,.05);

}



.business-card strong{

    display:block;

    color:#00b67a;

    font-size:28px;

    margin-top:10px;

}



.business-actions{

    display:flex;

    gap:20px;

    margin-bottom:40px;

}



.business-actions a,
.no-company-box a{

    background:#00b67a;

    color:white;

    padding:12px 25px;

    border-radius:7px;

}



.dashboard-title{

    margin-bottom:20px;

}



.business-review{

    background:white;

    padding:25px;

    border-radius:10px;

    border:1px solid #eee;

    margin-bottom:20px;

}



.no-company-box{

    background:white;

    padding:40px;

    text-align:center;

    border-radius:12px;

}



@media(max-width:768px){


.business-stats{

    grid-template-columns:1fr;

}


.business-actions{

    flex-direction:column;

}


}

/* Claim Company */


.auth-box select{

    width:100%;

    padding:13px;

    border:1px solid #ddd;

    border-radius:7px;

    background:white;

    font-size:15px;

}


.auth-box input[type="file"]{

    padding:10px;

    border:1px dashed #ccc;

    width:100%;

}

/* Company Claims */


.admin-company-card{

    background:white;

    padding:30px;

    margin-bottom:25px;

    border-radius:12px;

    border:1px solid #eee;

}


.admin-company-card h2{

    margin-bottom:15px;

}


.admin-company-card p{

    margin-bottom:10px;

    color:#555;

}


.admin-company-card a{

    margin-right:10px;

}



.admin-company-card .approve-btn{

    background:#00b67a;

}


.admin-company-card .reject-btn{

    background:#dc2626;

}

/* ==========================
Business Reviews
========================== */


.business-review-card{

    background:white;

    padding:30px;

    border-radius:12px;

    border:1px solid #eee;

    margin-bottom:25px;

}



.review-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:15px;

}



.review-header h2{

    font-size:20px;

}



.review-text{

    line-height:1.7;

    color:#444;

    margin-bottom:15px;

}



.review-user{

    color:#777;

    margin-bottom:20px;

}



.company-reply{

    background:#f0fdf4;

    border-left:4px solid #00b67a;

    padding:15px;

    margin-top:20px;

}



.reply-btn{

    display:inline-block;

    background:#00b67a;

    color:white;

    padding:10px 20px;

    border-radius:6px;

}



@media(max-width:768px){


.review-header{

    flex-direction:column;

    align-items:flex-start;

    gap:10px;

}


}

/* Reply Review */


.original-review{

    background:#f8fafc;

    padding:20px;

    border-radius:10px;

    margin-bottom:25px;

    border:1px solid #eee;

}



.original-review h3{

    margin-bottom:10px;

}



.original-review span{

    color:#777;

    font-size:14px;

}



.reply-form textarea{

    width:100%;

}

/* ==========================
 Business Analytics
========================== */


.analytics-summary{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;

    margin-bottom:40px;

}



.analytics-card{

    background:white;

    padding:30px;

    border-radius:12px;

    text-align:center;

    border:1px solid #eee;

}



.analytics-card strong{

    display:block;

    margin-top:15px;

    font-size:30px;

    color:#00b67a;

}



.company-name{

    font-size:20px !important;

}



.rating-breakdown{

    background:white;

    padding:35px;

    border-radius:12px;

    border:1px solid #eee;

}



.rating-breakdown h2{

    margin-bottom:30px;

}



.rating-row{

    display:flex;

    align-items:center;

    gap:15px;

    margin-bottom:20px;

}



.rating-label{

    width:50px;

    font-weight:bold;

}



.progress{

    flex:1;

    height:18px;

    background:#e5e7eb;

    border-radius:20px;

    overflow:hidden;

}



.progress-bar{

    height:100%;

    background:#00b67a;

}



.rating-number{

    width:100px;

    color:#555;

}





@media(max-width:768px){


.analytics-summary{

    grid-template-columns:1fr;

}



.rating-row{

    flex-wrap:wrap;

}


.progress{

    width:100%;

    flex:auto;

}


}/* Public Company Reply */


.company-public-reply{

    margin-top:20px;

    background:#f0fdf4;

    border-left:4px solid #00b67a;

    padding:18px;

    border-radius:8px;

}



.company-public-reply strong{

    color:#00b67a;

    display:block;

    margin-bottom:8px;

}



.company-public-reply p{

    color:#444;

    line-height:1.6;

}/* ==========================
Verified Badge & Claim
========================== */


.verified-badge{

    display:inline-block;

    margin-top:15px;

    background:#00b67a;

    color:white;

    padding:8px 15px;

    border-radius:20px;

    font-size:14px;

    font-weight:bold;

}



.claim-box{

    margin-top:20px;

    background:#f8fafc;

    padding:15px;

    border-radius:10px;

    border:1px solid #e5e7eb;

}



.claim-box p{

    margin-bottom:10px;

    color:#555;

}



.claim-btn{

    display:inline-block;

    background:#111827;

    color:white;

    padding:10px 18px;

    border-radius:6px;

    font-size:14px;

}


.claim-btn:hover{

    background:#00b67a;

}/* ==========================
 User Dashboard
========================== */


.dashboard-container{

    max-width:1200px;
    margin:auto;
    padding:60px 20px;

}



.dashboard-container h1{

    margin-bottom:10px;

}



.dashboard-subtitle{

    color:#666;

    margin-bottom:35px;

}



.dashboard-stats{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;

    margin-bottom:35px;

}



.dashboard-card{

    background:white;

    padding:30px;

    border-radius:12px;

    text-align:center;

    border:1px solid #eee;

}



.dashboard-card strong{

    display:block;

    color:#00b67a;

    font-size:35px;

    margin-top:15px;

}





.dashboard-actions{

    display:flex;

    gap:20px;

    margin-bottom:40px;

}



.dashboard-actions a{

    background:#00b67a;

    color:white;

    padding:12px 25px;

    border-radius:7px;

}




.user-review-card{

    background:white;

    padding:25px;

    border-radius:12px;

    border:1px solid #eee;

    margin-bottom:20px;

}



.user-review-card span{

    color:#777;

}





@media(max-width:768px){


.dashboard-stats{

    grid-template-columns:1fr;

}



.dashboard-actions{

    flex-direction:column;

}


}/* ==========================
 My Reviews
========================== */


.my-review-card{

    background:white;

    padding:30px;

    border-radius:12px;

    border:1px solid #eee;

    margin-bottom:25px;

}



.my-review-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:15px;

}



.my-review-header h2{

    font-size:22px;

}



.review-status{

    padding:6px 14px;

    border-radius:20px;

    font-size:13px;

    font-weight:bold;

}



.review-status.approved{

    background:#dcfce7;

    color:#166534;

}



.review-status.pending{

    background:#fef3c7;

    color:#92400e;

}



.review-status.rejected{

    background:#fee2e2;

    color:#991b1b;

}



.review-stars{

    color:#00b67a;

    font-size:20px;

    margin-bottom:15px;

}



.review-date{

    display:block;

    margin-top:15px;

    color:#777;

    font-size:14px;

}



@media(max-width:768px){

    .my-review-header{

        flex-direction:column;

        align-items:flex-start;

        gap:10px;

    }

}/* ==========================
 User Profile
========================== */


.profile-box{

    background:white;

    padding:35px;

    border-radius:12px;

    border:1px solid #eee;

    margin-bottom:30px;

    max-width:600px;

}



.profile-box h2{

    margin-bottom:25px;

}



.profile-box .auth-btn{

    max-width:250px;

}



.success-message{

    background:#dcfce7;

    color:#166534;

    padding:12px;

    border-radius:7px;

    margin-bottom:20px;

}/* ==========================
 Admin Navigation
========================== */


.admin-nav{

    background:white;

    padding:15px 25px;

    border-radius:12px;

    margin:30px auto;

    max-width:1200px;

    display:flex;

    gap:20px;

    flex-wrap:wrap;

    border:1px solid #eee;

}



.admin-nav a{

    color:#111827;

    font-weight:600;

    padding:8px 12px;

    border-radius:6px;

}



.admin-nav a:hover{

    background:#00b67a;

    color:white;

}



@media(max-width:768px){


.admin-nav{

    flex-direction:column;

}



}

.business-nav{

    max-width:1200px;

    margin:25px auto;

    padding:15px 25px;

    background:white;

    border-radius:12px;

    display:flex;

    gap:20px;

    flex-wrap:wrap;

    border:1px solid #eee;

}



.business-nav a{

    text-decoration:none;

    color:#111827;

    font-weight:600;

    padding:8px 15px;

    border-radius:6px;

}



.business-nav a:hover{

    background:#00b67a;

    color:white;

}



@media(max-width:768px){

.business-nav{

    flex-direction:column;

}

}.user-nav{

    max-width:1200px;

    margin:25px auto;

    padding:15px 25px;

    background:white;

    border-radius:12px;

    display:flex;

    gap:20px;

    flex-wrap:wrap;

    border:1px solid #eee;

}



.user-nav a{

    text-decoration:none;

    color:#111827;

    font-weight:600;

    padding:8px 15px;

    border-radius:6px;

}



.user-nav a:hover{

    background:#00b67a;

    color:white;

}



@media(max-width:768px){

.user-nav{

    flex-direction:column;

}

}/* Profile Avatar */

.profile-avatar{

    text-align:center;

    margin-bottom:25px;

}



.profile-img,
.default-avatar{

    width:120px;

    height:120px;

    border-radius:50%;

    object-fit:cover;

}



.default-avatar{

    margin:auto;

    display:flex;

    justify-content:center;

    align-items:center;

    color:white;

    font-size:45px;

    font-weight:700;

}



.profile-img{

    border:4px solid #eee;

}/* Dashboard Profile Header */


.dashboard-profile{

    display:flex;

    align-items:center;

    gap:25px;

    background:white;

    padding:25px;

    border-radius:12px;

    margin-bottom:35px;

    border:1px solid #eee;

}



.dashboard-avatar .profile-img,
.dashboard-avatar .default-avatar{

    width:90px;

    height:90px;

    border-radius:50%;

}



.dashboard-avatar .default-avatar{

    display:flex;

    align-items:center;

    justify-content:center;

    color:white;

    font-size:35px;

    font-weight:bold;

}




@media(max-width:768px){


.dashboard-profile{

    flex-direction:column;

    text-align:center;

}


}/* Admin Profile */


.admin-profile{

    display:flex;

    align-items:center;

    gap:25px;

    background:white;

    padding:25px;

    border-radius:12px;

    margin-bottom:35px;

    border:1px solid #eee;

}



.admin-avatar img,
.admin-avatar div{

    width:90px;

    height:90px;

    border-radius:50%;

}



.admin-avatar div{

    display:flex;

    justify-content:center;

    align-items:center;

    color:white;

    font-size:35px;

    font-weight:bold;

}




.admin-card strong{

    display:block;

    font-size:35px;

    color:#00b67a;

    margin:15px 0;

}





@media(max-width:768px){


.admin-profile{

    flex-direction:column;

    text-align:center;

}


}/* Companies Page */


.company-list-card{

    background:white;

    padding:30px;

    border-radius:15px;

    border:1px solid #eee;

    text-align:center;

    transition:.3s;

}


.company-list-card:hover{

    transform:translateY(-5px);

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}



.company-default-logo{

    width:80px;

    height:80px;

    margin:auto;

    border-radius:50%;

    background:#00b67a;

    color:white;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:35px;

    font-weight:bold;

}



.company-logo img{

    width:80px;

    height:80px;

    border-radius:50%;

    object-fit:contain;

}



.verified-small{

    display:inline-block;

    background:#00b67a;

    color:white;

    padding:5px 12px;

    border-radius:20px;

    font-size:12px;

    margin:10px 0;

}



.stars{

    color:#00b67a;

    font-size:20px;

}



.company-rating strong{

    font-size:22px;

}



.company-card-actions{

    display:flex;

    justify-content:center;

    gap:10px;

    margin-top:20px;

}



.claim-company-btn{

    background:#111827;

    color:white;

    padding:10px 18px;

    border-radius:6px;

}



@media(max-width:768px){


.company-card-actions{

    flex-direction:column;

}


}.company-hero{

display:flex;
gap:35px;
background:white;
padding:40px;
border-radius:15px;

}


.company-profile-logo img,
.company-letter{

width:120px;
height:120px;
border-radius:50%;

}


.company-letter{

display:flex;
align-items:center;
justify-content:center;

background:#00b67a;
color:white;

font-size:50px;
font-weight:bold;

}



.verified-badge{

background:#00b67a;
color:white;

padding:5px 12px;
border-radius:20px;

font-size:14px;

}



.company-rating-big{

font-size:35px;
font-weight:bold;

color:#00b67a;

}



.rating-summary{

margin-top:30px;

background:white;

padding:35px;

border-radius:15px;

display:flex;

gap:50px;

}



.big-score{

font-size:55px;
font-weight:bold;

}



.rating-row{

display:flex;
align-items:center;
gap:15px;

margin-bottom:15px;

}



.bar{

width:300px;
height:12px;
background:#eee;

border-radius:20px;

}


.bar div{

height:100%;
background:#00b67a;

}



.review-user{

display:flex;
align-items:center;
gap:12px;

}



.review-user img,
.review-user div{

width:45px;
height:45px;

border-radius:50%;

}



.review-user div{

background:#2563eb;
color:white;

display:flex;
align-items:center;
justify-content:center;

font-weight:bold;

}



.company-response{

background:#f0fdf4;

padding:20px;

border-left:4px solid #00b67a;

margin-top:20px;

}



@media(max-width:768px){

.company-hero,
.rating-summary{

flex-direction:column;

}

.bar{

width:180px;

}

}/* ==================================
   Company Profile Page
================================== */


.company-profile-page{

    background:#f7f8f9;

    padding:50px 0;

}



.company-hero{

    background:white;

    padding:40px;

    border-radius:18px;

    display:flex;

    gap:35px;

    align-items:center;

    box-shadow:0 5px 20px rgba(0,0,0,0.05);

    margin-bottom:30px;

}





.company-profile-image,
.company-letter{

    width:140px;

    height:140px;

    border-radius:50%;

    object-fit:contain;

    border:1px solid #eee;

    background:white;

}





.company-letter{

    display:flex;

    justify-content:center;

    align-items:center;

    background:#00b67a;

    color:white;

    font-size:55px;

    font-weight:700;

}





.company-info h1{

    font-size:38px;

    margin-bottom:12px;

    display:flex;

    align-items:center;

    gap:15px;

    flex-wrap:wrap;

}





.verified-badge{

    background:#00b67a;

    color:white;

    font-size:14px;

    padding:6px 15px;

    border-radius:20px;

}





.company-category{

    color:#666;

    font-size:17px;

}





.company-rating-big{

    font-size:42px;

    color:#00b67a;

    font-weight:700;

    margin-top:15px;

}



.company-rating-big span{

    font-size:20px;

    color:#555;

}





.website-btn{

    display:inline-block;

    margin-top:15px;

    background:#00b67a;

    color:white;

    padding:12px 25px;

    border-radius:8px;

    text-decoration:none;

}







/* Rating Summary */


.rating-summary{

    background:white;

    padding:35px;

    border-radius:18px;

    display:flex;

    gap:60px;

    margin-bottom:30px;

}





.summary-left{

    text-align:center;

}



.summary-left h2{

    margin-bottom:15px;

}



.big-score{

    font-size:55px;

    font-weight:700;

}





.stars-large{

    color:#00b67a;

    font-size:32px;

}







.rating-row{

    display:flex;

    align-items:center;

    gap:15px;

    margin-bottom:15px;

}



.rating-row span{

    width:50px;

}



.bar{

    width:350px;

    height:12px;

    background:#eee;

    border-radius:20px;

    overflow:hidden;

}



.bar div{

    height:100%;

    background:#00b67a;

}





/* About */


.company-description{

    background:white;

    padding:35px;

    border-radius:18px;

    margin-bottom:30px;

}





.company-description h2{

    margin-bottom:15px;

}








/* Reviews */


.reviews-area{

    background:white;

    padding:35px;

    border-radius:18px;

}





.reviews-heading{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:30px;

}





.write-review-btn{

    background:#00b67a;

    color:white;

    padding:12px 25px;

    border-radius:8px;

    text-decoration:none;

}








.single-review{

    border-bottom:1px solid #eee;

    padding:25px 0;

}





.review-user{

    display:flex;

    align-items:center;

    gap:15px;

    margin-bottom:15px;

}





.review-user img,
.review-user div{

    width:50px;

    height:50px;

    border-radius:50%;

}



.review-user img{

    object-fit:cover;

}



.review-user div{

    background:#2563eb;

    color:white;

    display:flex;

    align-items:center;

    justify-content:center;

    font-weight:bold;

    font-size:22px;

}





.review-stars{

    color:#00b67a;

    font-size:22px;

    margin-bottom:10px;

}






.company-response{

    background:#f0fdf4;

    border-left:5px solid #00b67a;

    padding:20px;

    border-radius:10px;

    margin-top:20px;

}








/* ==================================
   Rating Hover Style
================================== */


.star-rating{

    display:flex;

    flex-direction:row-reverse;

    justify-content:flex-end;

}



.star-rating input{

    display:none;

}



.star-rating label{

    font-size:45px;

    color:#d5d5d5;

    cursor:pointer;

    transition:.2s;

}



.star-rating label:hover,
.star-rating label:hover ~ label{

    color:#00b67a;

}



.star-rating input:checked ~ label{

    color:#00b67a;

}









@media(max-width:768px){


.company-hero{

    flex-direction:column;

    text-align:center;

}



.company-info h1{

    justify-content:center;

}



.rating-summary{

    flex-direction:column;

}



.bar{

    width:200px;

}



.reviews-heading{

    flex-direction:column;

    gap:15px;

}


}/* ===============================
 Write Review Premium UI
================================ */


.write-review-page{

    background:#f7f8f9;

    min-height:80vh;

    padding:60px 20px;

}



.write-review-card{

    max-width:750px;

    margin:auto;

    background:white;

    padding:40px;

    border-radius:20px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

}






.review-company-header{

    display:flex;

    align-items:center;

    gap:25px;

    padding-bottom:30px;

    border-bottom:1px solid #eee;

    margin-bottom:35px;

}



.review-company-logo,
.review-company-avatar{


    width:90px;

    height:90px;

    border-radius:50%;

}





.review-company-logo{

    object-fit:contain;

    border:1px solid #eee;

}



.review-company-avatar{


    background:#00b67a;

    color:white;

    font-size:40px;

    font-weight:bold;

    display:flex;

    justify-content:center;

    align-items:center;

}




.review-company-header h1{

    font-size:30px;

    margin-bottom:8px;

}



.review-company-header p{

    color:#666;

}






.question-title{

    text-align:center;

    margin-bottom:25px;

}








/* Stars */


.star-rating-box{


display:flex;

flex-direction:row-reverse;

justify-content:center;

gap:10px;

margin-bottom:35px;


}



.star-rating-box input{

    display:none;

}



.star-rating-box label{

    font-size:55px;

    color:#dcdcdc;

    cursor:pointer;

    transition:.2s;

}



.star-rating-box label:hover,
.star-rating-box label:hover ~ label{

    color:#00b67a;

}



.star-rating-box input:checked ~ label{

    color:#00b67a;

}









.form-group{

    margin-bottom:25px;

}



.form-group label{

    display:block;

    font-weight:600;

    margin-bottom:10px;

}




.form-group input,
.form-group textarea{


    width:100%;

    padding:16px;

    border:1px solid #ddd;

    border-radius:12px;

    font-size:16px;

    outline:none;

}



.form-group input:focus,
.form-group textarea:focus{


    border-color:#00b67a;

}






.submit-review-btn{


    width:100%;

    padding:16px;

    background:#00b67a;

    color:white;

    border:none;

    border-radius:12px;

    font-size:18px;

    font-weight:bold;

    cursor:pointer;

}



.submit-review-btn:hover{


    background:#009f6b;

}






@media(max-width:600px){


.write-review-card{

    padding:25px;

}



.review-company-header{

    flex-direction:column;

    text-align:center;

}



.star-rating-box label{

    font-size:40px;

}


}/* =====================================
   WRITE REVIEW PAGE FINAL UI
===================================== */


.write-review-page{

    background:#f7f8fa;

    min-height:100vh;

    padding:60px 20px;

}




.write-review-card{

    max-width:850px;

    margin:auto;

    background:#fff;

    padding:45px;

    border-radius:20px;

    box-shadow:0 10px 35px rgba(0,0,0,.08);

}






/* Company Header */


.review-company-header{

    display:flex;

    align-items:center;

    gap:25px;

    padding-bottom:30px;

    border-bottom:1px solid #eee;

    margin-bottom:35px;

}



.review-company-logo,
.review-company-avatar{


    width:90px;

    height:90px;

    border-radius:50%;

}



.review-company-logo{

    object-fit:cover;

    border:1px solid #ddd;

}



.review-company-avatar{

    display:flex;

    align-items:center;

    justify-content:center;

    background:#00b67a;

    color:white;

    font-size:40px;

    font-weight:bold;

}




.review-company-header h1{

    font-size:32px;

    margin:0 0 8px;

}



.review-company-header p{

    color:#666;

    margin:0;

}








/* Rating */


.question-title{

    text-align:center;

    font-size:22px;

    margin-bottom:25px;

}







.star-rating-box{


display:flex;

flex-direction:row-reverse;

justify-content:center;

gap:8px;

margin-bottom:40px;


}



.star-rating-box input{

    display:none;

}



.star-rating-box label{


font-size:55px;

color:#ddd;

cursor:pointer;

transition:.2s;


}




.star-rating-box label:hover,
.star-rating-box label:hover ~ label{

    color:#00b67a;

}



.star-rating-box input:checked ~ label{

    color:#00b67a;

}









/* Extra Ratings */


.rating-grid{


display:grid;

grid-template-columns:repeat(2,1fr);

gap:20px;

margin-bottom:30px;


}



.rating-grid div{


background:#f8fafb;

padding:18px;

border-radius:12px;


}



.rating-grid label{


display:block;

font-weight:600;

margin-bottom:10px;

}




.rating-grid select{


width:100%;

padding:12px;

border-radius:8px;

border:1px solid #ddd;

background:white;

font-size:15px;

cursor:pointer;


}








/* Inputs */


.form-group{

margin-bottom:25px;

}



.form-group label{


display:block;

font-weight:600;

margin-bottom:10px;


}




.form-group input,
.form-group textarea{


width:100%;

padding:16px;

border-radius:12px;

border:1px solid #ddd;

font-size:15px;

font-family:inherit;


}



.form-group textarea{

resize:vertical;

min-height:160px;

}





.form-group input:focus,
.form-group textarea:focus,
.rating-grid select:focus{


outline:none;

border-color:#00b67a;

}








/* Button */


.submit-review-btn{


width:100%;

padding:17px;

border:none;

border-radius:12px;

background:#00b67a;

color:white;

font-size:18px;

font-weight:700;

cursor:pointer;


}



.submit-review-btn:hover{


background:#009c69;


}








/* Messages */


.success-message,
.error-message{


padding:15px;

border-radius:10px;

margin-bottom:25px;

}



.success-message{

background:#ecfdf5;

color:#047857;

}



.error-message{

background:#fef2f2;

color:#b91c1c;

}








@media(max-width:700px){


.write-review-card{

padding:25px;

}



.review-company-header{


flex-direction:column;

text-align:center;


}



.rating-grid{


grid-template-columns:1fr;


}



.star-rating-box label{

font-size:40px;

}


}.write-review-page{

background:#f7f8fa;

padding:60px 20px;

}


.write-review-card{

max-width:850px;

margin:auto;

background:white;

padding:40px;

border-radius:18px;

}



.review-company-header{

display:flex;

gap:20px;

align-items:center;

border-bottom:1px solid #eee;

padding-bottom:25px;

margin-bottom:35px;

}


.review-company-logo,
.review-company-avatar{

width:90px;

height:90px;

border-radius:50%;

}


.review-company-logo{

object-fit:contain;

}


.review-company-avatar{

background:#00b67a;

color:white;

font-size:40px;

display:flex;

align-items:center;

justify-content:center;

font-weight:bold;

}





.trust-stars,
.small-trust-stars{

display:flex;

flex-direction:row-reverse;

justify-content:flex-end;

gap:8px;

margin:20px 0 35px;

}



.trust-stars input,
.small-trust-stars input{

display:none;

}



.trust-stars label{

font-size:55px;

color:#ddd;

cursor:pointer;

}





.small-trust-stars label{

font-size:32px;

color:#ddd;

cursor:pointer;

}




.trust-stars label:hover,
.trust-stars label:hover ~ label,
.trust-stars input:checked ~ label,

.small-trust-stars label:hover,
.small-trust-stars label:hover ~ label,
.small-trust-stars input:checked ~ label{

color:#00b67a;

}





.rating-line{

display:flex;

justify-content:space-between;

align-items:center;

background:#f8fafb;

padding:15px;

border-radius:10px;

margin-bottom:12px;

}




.rating-line span{

font-weight:600;

}





.form-group{

margin-top:25px;

}



.form-group input,
.form-group textarea{

width:100%;

padding:15px;

border-radius:10px;

border:1px solid #ddd;

}



.form-group textarea{

height:160px;

resize:none;

}



.submit-review-btn{

width:100%;

padding:16px;

background:#00b67a;

border:0;

border-radius:10px;

color:white;

font-size:18px;

font-weight:bold;

}





@media(max-width:700px){

.review-company-header{

flex-direction:column;

text-align:center;

}


.rating-line{

flex-direction:column;

gap:10px;

}

}.overall-rating-box{

background:#f8fafb;

padding:25px;

border-radius:15px;

text-align:center;

margin-bottom:30px;

}


#overallNumber{

font-size:42px;

font-weight:700;

color:#00b67a;

}


#overallStars{

font-size:35px;

color:#00b67a;

}



.small-stars{

display:flex;

flex-direction:row-reverse;

}


.small-stars input{

display:none;

}


.small-stars label{

font-size:35px;

color:#ddd;

cursor:pointer;

transition:.2s;

}


.small-stars label:hover,
.small-stars label:hover ~ label,
.small-stars input:checked ~ label{

color:#00b67a;

}


.rating-line{

display:flex;

justify-content:space-between;

align-items:center;

background:#f8fafb;

padding:18px;

border-radius:12px;

margin-bottom:15px;

}/* ==============================
   Trustpilot Style Star Rating
============================== */


.small-stars{

    display:flex;

    flex-direction:row-reverse;

    justify-content:flex-end;

    gap:5px;

}



.small-stars input{

    display:none;

}



.small-stars label{

    font-size:34px;

    color:#dcdcdc;

    cursor:pointer;

    transition:all .2s ease;

}



/* Hover effect */

.small-stars label:hover,
.small-stars label:hover ~ label{

    color:#00b67a;

    transform:scale(1.15);

}



/* Selected rating */

.small-stars input:checked ~ label{

    color:#00b67a;

}





/* Remove hover after selected */

.small-stars:hover input:checked ~ label{

    color:#dcdcdc;

}



/* Keep hovered stars visible */

.small-stars input:checked + label,
.small-stars input:checked + label ~ label{

    color:#00b67a;

}/* =====================================
   PREMIUM HOMEPAGE DESIGN
===================================== */



/* HERO */

.hero-section{

background:linear-gradient(135deg,#00b67a,#008f5f);

padding:90px 20px;

color:white;

}


.hero-container{

max-width:1100px;

margin:auto;

text-align:center;

}



.hero-container h1{

font-size:48px;

line-height:1.2;

margin-bottom:20px;

font-weight:800;

}



.hero-container p{

font-size:20px;

opacity:.95;

max-width:700px;

margin:0 auto 35px;

}






.hero-search{

background:white;

padding:8px;

border-radius:50px;

display:flex;

max-width:650px;

margin:auto;

box-shadow:0 15px 35px rgba(0,0,0,.15);

}



.hero-search input{

flex:1;

border:none;

padding:18px 25px;

font-size:16px;

border-radius:50px;

outline:none;

}



.hero-search button{

background:#00b67a;

color:white;

border:none;

padding:0 35px;

border-radius:50px;

font-size:16px;

font-weight:600;

cursor:pointer;

}








/* HERO STATS */


.hero-stats{

display:flex;

justify-content:center;

gap:25px;

margin-top:50px;

}



.hero-stats div{


background:rgba(255,255,255,.15);

padding:25px 45px;

border-radius:18px;

backdrop-filter:blur(10px);


}



.hero-stats strong{

display:block;

font-size:35px;

}



.hero-stats span{

font-size:15px;

}









/* SECTION */

.section-container{

max-width:1200px;

margin:auto;

padding:70px 20px;

}



.section-container h2{

font-size:34px;

margin-bottom:35px;

text-align:center;

}








/* CATEGORIES */


.category-grid{


display:grid;

grid-template-columns:repeat(4,1fr);

gap:20px;

}



.category-card{


background:white;

padding:30px 20px;

border-radius:18px;

text-align:center;

text-decoration:none;

color:#111;

border:1px solid #eee;

transition:.3s;


}



.category-card:hover{


transform:translateY(-8px);

box-shadow:0 15px 30px rgba(0,0,0,.08);

border-color:#00b67a;


}



.category-icon{


width:55px;

height:55px;

border-radius:50%;

background:#e8fff6;

color:#00b67a;

display:flex;

align-items:center;

justify-content:center;

margin:auto auto 15px;

font-size:25px;

font-weight:bold;


}








/* SECTION HEADER */


.section-heading{


display:flex;

justify-content:space-between;

align-items:center;

}



.section-heading a{


color:#00b67a;

font-weight:600;

text-decoration:none;

}








/* COMPANY CARDS */


.company-grid{


display:grid;

grid-template-columns:repeat(3,1fr);

gap:25px;


}





.company-card{


background:white;

padding:30px;

border-radius:20px;

border:1px solid #eee;

text-align:center;

transition:.3s;


}



.company-card:hover{


transform:translateY(-8px);

box-shadow:0 15px 35px rgba(0,0,0,.1);


}





.company-home-logo{


width:90px;

height:90px;

object-fit:contain;

border-radius:50%;

margin-bottom:15px;

}





.home-company-letter{


width:90px;

height:90px;

margin:auto;

border-radius:50%;

background:#00b67a;

color:white;

font-size:40px;

font-weight:bold;

display:flex;

align-items:center;

justify-content:center;

}






.company-card h3 a{


text-decoration:none;

color:#111;

font-size:22px;


}




.rating{


color:#00b67a;

font-size:22px;

margin:15px 0;


}



.rating strong{

color:#222;

font-size:17px;

}






.view-btn{


display:inline-block;

margin-top:15px;

padding:12px 25px;

background:#00b67a;

color:white;

border-radius:30px;

text-decoration:none;

font-weight:600;

}









/* REVIEWS */


.reviews-section{

background:#f7f8fa;

}




.review-grid{


display:grid;

grid-template-columns:repeat(3,1fr);

gap:25px;


}




.review-card{


background:white;

padding:30px;

border-radius:18px;

border:1px solid #eee;


}





.review-card h3{

margin-bottom:15px;

}



.stars{

color:#00b67a;

font-size:22px;

margin-bottom:15px;

}



.review-card p{


color:#555;

line-height:1.6;


}





.review-author{


display:flex;

align-items:center;

gap:12px;

margin-top:20px;

}




.review-author div{


width:45px;

height:45px;

border-radius:50%;

background:#00b67a;

color:white;

display:flex;

align-items:center;

justify-content:center;

font-weight:bold;


}







/* CTA */


.cta-section{


background:#00b67a;

color:white;

padding:70px 20px;

text-align:center;


}



.cta-container h2{


font-size:38px;


}



.cta-container p{

font-size:18px;

margin:15px 0 30px;

}



.cta-container a{


display:inline-block;

background:white;

color:#00b67a;

padding:15px 35px;

border-radius:30px;

text-decoration:none;

font-weight:bold;


}








/* RESPONSIVE */


@media(max-width:900px){


.hero-container h1{

font-size:36px;

}



.category-grid{

grid-template-columns:repeat(2,1fr);

}



.company-grid,
.review-grid{

grid-template-columns:1fr 1fr;

}



.hero-stats{

flex-wrap:wrap;

}


}




@media(max-width:600px){



.hero-container h1{

font-size:30px;

}



.hero-search{

flex-direction:column;

background:none;

box-shadow:none;

gap:10px;

}



.hero-search input{

border-radius:10px;

}



.hero-search button{

padding:15px;

}



.hero-stats{

flex-direction:column;

}



.category-grid,
.company-grid,
.review-grid{

grid-template-columns:1fr;

}



.section-container h2{

font-size:28px;

}



}/* ==================================
   COMPANIES DIRECTORY PAGE
================================== */


.companies-page{

background:#f7f8fa;

padding:60px 0;

}



.companies-header{

text-align:center;

margin-bottom:35px;

}



.companies-header h1{

font-size:42px;

}



.companies-header p{

color:#666;

font-size:18px;

}






.premium-search{


max-width:650px;

margin:0 auto 45px;

display:flex;

background:white;

padding:8px;

border-radius:50px;

box-shadow:0 10px 25px rgba(0,0,0,.08);


}



.premium-search input{


flex:1;

border:none;

padding:16px 25px;

font-size:16px;

outline:none;


}



.premium-search button{


background:#00b67a;

border:none;

color:white;

padding:0 35px;

border-radius:40px;

font-weight:bold;

cursor:pointer;


}







.company-directory{


display:grid;

grid-template-columns:repeat(2,1fr);

gap:25px;


}





.company-directory-card{


background:white;

border-radius:20px;

padding:30px;

display:flex;

gap:25px;

align-items:center;

border:1px solid #eee;

transition:.3s;


}




.company-directory-card:hover{


transform:translateY(-6px);

box-shadow:0 15px 35px rgba(0,0,0,.08);


}





.directory-logo img,
.directory-letter{


width:100px;

height:100px;

border-radius:50%;


}





.directory-logo img{


object-fit:contain;

border:1px solid #eee;


}




.directory-letter{


background:#00b67a;

color:white;

font-size:40px;

display:flex;

align-items:center;

justify-content:center;

font-weight:bold;


}





.directory-content h2{


margin-bottom:10px;

}


.directory-content h2 a{


color:#111;

text-decoration:none;

}



.verified-small{


background:#00b67a;

color:white;

padding:5px 12px;

font-size:12px;

border-radius:20px;

margin-left:8px;


}




.directory-category{


color:#666;

}



.directory-rating{


display:flex;

align-items:center;

gap:10px;

margin:15px 0;


}



.directory-rating .stars{


color:#00b67a;

font-size:22px;


}



.directory-btn{


display:inline-block;

background:#00b67a;

color:white;

padding:10px 22px;

border-radius:25px;

text-decoration:none;

font-weight:600;


}





@media(max-width:800px){


.company-directory{


grid-template-columns:1fr;


}



.company-directory-card{


flex-direction:column;

text-align:center;


}


}/* ===============================
 SEARCH PAGE
================================ */


.search-page{

background:#f7f8fa;

padding:60px 0;

}



.search-header{

text-align:center;

margin-bottom:30px;

}



.search-header h1{

font-size:40px;

}




.search-box{

margin-bottom:40px;

}






.search-results{


max-width:900px;

margin:auto;


}





.search-company-card{


background:white;

padding:30px;

border-radius:20px;

display:flex;

gap:25px;

align-items:center;

margin-bottom:20px;

border:1px solid #eee;

transition:.3s;


}




.search-company-card:hover{


transform:translateY(-5px);

box-shadow:0 15px 30px rgba(0,0,0,.08);


}







.search-logo img,
.search-letter{


width:100px;

height:100px;

border-radius:50%;


}



.search-logo img{


object-fit:contain;

border:1px solid #eee;


}



.search-letter{


background:#00b67a;

color:white;

font-size:40px;

font-weight:bold;

display:flex;

align-items:center;

justify-content:center;


}





.search-company-info h2{


margin-bottom:10px;


}




.search-company-info h2 a{


text-decoration:none;

color:#111;


}





.category-text{

color:#666;

}




.search-rating{


display:flex;

gap:12px;

align-items:center;

margin:15px 0;


}



.search-rating .stars{


color:#00b67a;

font-size:22px;


}






@media(max-width:700px){


.search-company-card{


flex-direction:column;

text-align:center;


}


}/* ==================================
   CATEGORIES PAGE
================================== */


.categories-page{

background:#f7f8fa;

padding:60px 0;

}





.categories-header{


text-align:center;

margin-bottom:45px;


}



.categories-header h1{


font-size:42px;

margin-bottom:15px;


}



.categories-header p{


color:#666;

font-size:18px;


}








.categories-directory{


display:grid;

grid-template-columns:repeat(3,1fr);

gap:25px;


}






.category-directory-card{


background:white;

padding:30px;

border-radius:18px;

display:flex;

align-items:center;

gap:20px;

text-decoration:none;

color:#111;

border:1px solid #eee;

transition:.3s;


}





.category-directory-card:hover{


transform:translateY(-8px);

box-shadow:0 15px 35px rgba(0,0,0,.08);

border-color:#00b67a;


}







.category-icon{


width:60px;

height:60px;

border-radius:50%;

background:#e8fff6;

color:#00b67a;

font-size:25px;

font-weight:bold;

display:flex;

align-items:center;

justify-content:center;


}







.category-content{


flex:1;


}




.category-content h2{


font-size:22px;

margin-bottom:8px;


}



.category-content p{


color:#666;

margin:0;


}





.category-arrow{


font-size:28px;

color:#00b67a;


}







@media(max-width:900px){


.categories-directory{


grid-template-columns:repeat(2,1fr);


}


}



@media(max-width:600px){


.categories-directory{


grid-template-columns:1fr;


}


}/* =================================
 CATEGORY DETAIL PAGE
================================= */


.category-detail-page{

background:#f7f8fa;

padding:60px 0;

}




.category-detail-header{

text-align:center;

margin-bottom:25px;

}



.category-detail-header h1{

font-size:42px;

margin-bottom:15px;

}



.category-detail-header p{

color:#666;

font-size:18px;

}





.category-company-count{


background:#00b67a;

color:white;

display:table;

margin:0 auto 40px;

padding:12px 30px;

border-radius:30px;

font-weight:600;

}





.category-company-grid{


display:grid;

grid-template-columns:repeat(3,1fr);

gap:25px;


}





.category-company-card{


background:white;

padding:30px;

border-radius:18px;

text-align:center;

border:1px solid #eee;

transition:.3s;


}



.category-company-card:hover{


transform:translateY(-8px);

box-shadow:0 15px 35px rgba(0,0,0,.08);


}





.category-company-logo img,
.category-company-letter{


width:100px;

height:100px;

border-radius:50%;

}



.category-company-logo img{


object-fit:contain;

border:1px solid #eee;


}




.category-company-letter{


background:#00b67a;

color:white;

font-size:40px;

font-weight:bold;

display:flex;

align-items:center;

justify-content:center;

margin:auto;


}





.category-company-card h2 a{


text-decoration:none;

color:#111;

font-size:22px;


}





.category-rating{


margin:15px 0;

}



.category-rating .stars{


color:#00b67a;

font-size:22px;


}




@media(max-width:900px){


.category-company-grid{

grid-template-columns:repeat(2,1fr);

}


}



@media(max-width:600px){


.category-company-grid{

grid-template-columns:1fr;

}


}/* ==========================================
   ADMIN COMPANIES MANAGEMENT
========================================== */


.admin-container{

    max-width:1200px;
    margin:50px auto;
    padding:0 20px;

}



.admin-container h1{

    font-size:36px;
    margin-bottom:30px;
    color:#111;

}




/* Tabs */

.admin-tabs{

    display:flex;
    gap:15px;
    margin-bottom:35px;
    flex-wrap:wrap;

}



.admin-tabs a{

    text-decoration:none;
    background:#fff;
    color:#333;
    padding:12px 25px;
    border-radius:30px;
    border:1px solid #ddd;
    font-weight:600;
    transition:.3s;

}



.admin-tabs a:hover{

    background:#00b67a;
    color:#fff;
    border-color:#00b67a;

}







/* Company Card */


.admin-company-card{


    background:#fff;
    border-radius:18px;
    padding:25px;
    margin-bottom:25px;
    display:flex;
    gap:25px;
    align-items:flex-start;
    border:1px solid #eee;
    box-shadow:0 8px 25px rgba(0,0,0,.05);
    transition:.3s;


}




.admin-company-card:hover{


    transform:translateY(-5px);
    box-shadow:0 15px 35px rgba(0,0,0,.08);


}







/* Logo */


.admin-company-logo{


    width:100px;
    height:100px;
    flex-shrink:0;


}




.admin-company-logo img{


    width:100%;
    height:100%;
    object-fit:contain;
    border-radius:15px;
    border:1px solid #eee;


}




.company-letter{


    width:100px;
    height:100px;
    border-radius:15px;
    background:#00b67a;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:40px;
    font-weight:700;


}







/* Information */


.admin-company-info{


    flex:1;

}




.admin-company-info h2{


    margin:0 0 12px;
    font-size:24px;
    display:flex;
    align-items:center;
    gap:10px;


}




.admin-company-info p{


    color:#666;
    line-height:1.6;
    margin:8px 0;


}






.verified-small{


    background:#e8fff5;
    color:#00a86b;
    padding:5px 12px;
    border-radius:20px;
    font-size:13px;
    font-weight:600;


}







/* Buttons */


.company-actions{


    margin-top:20px;
    display:flex;
    gap:12px;
    flex-wrap:wrap;


}




.company-actions a{


    text-decoration:none;
    padding:10px 22px;
    border-radius:8px;
    font-weight:600;
    font-size:14px;
    transition:.3s;


}




.approve-btn{


    background:#00b67a;
    color:white;


}




.approve-btn:hover{


    background:#009966;


}





.reject-btn{


    background:#fff0f0;
    color:#d63031;
    border:1px solid #ffd0d0;


}



.reject-btn:hover{


    background:#d63031;
    color:white;


}






.delete-btn{


    background:#222;
    color:white;


}



.delete-btn:hover{


    background:#000;


}
/* ADD COMPANY BUTTON */

.add-company-btn{

    display:inline-block;
    background:#00b67a;
    color:white;
    padding:14px 28px;
    border-radius:10px;
    text-decoration:none;
    font-weight:600;
    margin-bottom:30px;
    transition:.3s;

}


.add-company-btn:hover{

    background:#009966;

}.admin-form-box{

background:white;
padding:35px;
border-radius:18px;
max-width:700px;
margin:auto;
box-shadow:0 10px 30px rgba(0,0,0,.06);

}


.admin-form-box label{

display:block;
font-weight:600;
margin:15px 0 8px;

}


.admin-form-box input,
.admin-form-box select,
.admin-form-box textarea{


width:100%;
padding:14px;
border:1px solid #ddd;
border-radius:10px;
font-size:15px;


}


.admin-form-box textarea{

resize:vertical;

}


.admin-form-box button{

border:none;
cursor:pointer;
margin-top:20px;

}

/* ==============================
 ABOUT PAGE
============================== */


.about-hero{

background:#f7f8fa;
padding:80px 0;
text-align:center;

}


.about-hero h1{

font-size:46px;
margin-bottom:20px;

}


.about-hero p{

max-width:750px;
margin:auto;
font-size:19px;
color:#666;
line-height:1.7;

}




.about-content{

padding:70px 0;

}



.about-grid{

display:grid;
grid-template-columns:repeat(2,1fr);
gap:30px;

}



.about-box{

background:white;
padding:35px;
border-radius:18px;
box-shadow:0 10px 30px rgba(0,0,0,.06);

}



.about-box h2{

margin-bottom:15px;

}



.about-box p{

color:#666;
line-height:1.8;

}







.how-section{

background:#f7f8fa;
padding:70px 0;
text-align:center;

}



.how-section h2{

font-size:36px;
margin-bottom:40px;

}





.steps-grid{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:25px;

}





.step-card{

background:white;
padding:35px 25px;
border-radius:18px;

}




.step-number{

width:55px;
height:55px;
background:#00b67a;
color:white;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:25px;
font-weight:bold;
margin:auto auto 20px;

}




.step-card p{

color:#666;
line-height:1.6;

}








.trust-section{

padding:70px 0;

text-align:center;

}




.trust-grid{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:25px;
margin-top:40px;

}



.trust-grid div{

background:white;
padding:30px;
border-radius:18px;
border:1px solid #eee;

}




.trust-grid h3{

color:#00a86b;

}




.trust-grid p{

color:#666;

}








.about-cta{

background:#00b67a;
color:white;
padding:70px 0;
text-align:center;

}




.about-cta a{

display:inline-block;
margin-top:20px;
background:white;
color:#00a86b;
padding:14px 30px;
border-radius:30px;
text-decoration:none;
font-weight:700;

}







@media(max-width:800px){


.about-grid,
.steps-grid,
.trust-grid{

grid-template-columns:1fr;

}


.about-hero h1{

font-size:34px;

}


}




.no-results{


    background:#fff;
    padding:40px;
    text-align:center;
    border-radius:15px;
    color:#777;


}








/* Mobile */


@media(max-width:768px){


.admin-company-card{


    flex-direction:column;


}



.admin-company-info h2{


    flex-direction:column;
    align-items:flex-start;


}


}/* =================================
   PRICING PAGE
================================= */


.pricing-hero{

background:#f7f8fa;
padding:80px 0;
text-align:center;

}



.pricing-hero h1{

font-size:45px;
margin-bottom:20px;

}



.pricing-hero p{

font-size:18px;
color:#666;
max-width:700px;
margin:auto;

}







.pricing-section{

padding:70px 0;

}



.pricing-grid{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:25px;

}




.pricing-card{

background:white;
border-radius:20px;
padding:40px 30px;
text-align:center;
border:1px solid #eee;
position:relative;
transition:.3s;

}




.pricing-card:hover{

transform:translateY(-8px);
box-shadow:0 15px 35px rgba(0,0,0,.08);

}




.pricing-card h2{

font-size:28px;

}





.price{

font-size:45px;
font-weight:700;
margin:20px 0;

}



.price span{

font-size:16px;
color:#777;

}




.pricing-card p{

color:#666;

}




.pricing-card ul{

list-style:none;
padding:20px 0;
text-align:left;

}




.pricing-card li{

padding:10px 0;
color:#555;

}





.pricing-card a{

display:block;
background:#00b67a;
color:white;
padding:14px;
border-radius:10px;
text-decoration:none;
font-weight:700;

}




.popular{

border:2px solid #00b67a;

}





.popular-tag{

position:absolute;
top:-15px;
left:50%;
transform:translateX(-50%);
background:#00b67a;
color:white;
padding:7px 20px;
border-radius:20px;
font-size:13px;
font-weight:bold;

}







.pricing-bottom{

background:#00b67a;
color:white;
text-align:center;
padding:70px 0;

}



.pricing-bottom a{

display:inline-block;
margin-top:20px;
background:white;
color:#00b67a;
padding:14px 35px;
border-radius:30px;
text-decoration:none;
font-weight:bold;

}






@media(max-width:900px){

.pricing-grid{

grid-template-columns:1fr;

}

}/* ==============================
 CONTACT PAGE
============================== */


.contact-hero{

background:#f7f8fa;
padding:80px 0;
text-align:center;

}



.contact-hero h1{

font-size:45px;
margin-bottom:15px;

}



.contact-hero p{

color:#666;
font-size:18px;

}







.contact-section{

padding:70px 0;

}




.contact-grid{

display:grid;
grid-template-columns:1fr 1fr;
gap:40px;

}




.contact-info{

background:#00b67a;
color:white;
padding:40px;
border-radius:20px;

}



.contact-info h2{

font-size:32px;

}



.contact-item{

margin-top:30px;

}



.contact-item p{

opacity:.9;

}







.contact-form-box{

background:white;
padding:40px;
border-radius:20px;
box-shadow:0 10px 30px rgba(0,0,0,.06);

}




.contact-form-box label{

display:block;
font-weight:600;
margin:15px 0 8px;

}




.contact-form-box input,
.contact-form-box textarea{


width:100%;
padding:14px;
border:1px solid #ddd;
border-radius:10px;
font-size:15px;

}



.contact-form-box textarea{

resize:none;

}





.contact-form-box button{


margin-top:20px;
background:#00b67a;
color:white;
border:none;
padding:15px 35px;
border-radius:10px;
font-weight:700;
cursor:pointer;

}





.contact-form-box button:hover{

background:#009966;

}





@media(max-width:800px){


.contact-grid{

grid-template-columns:1fr;

}


}/* ===============================
 LEGAL PAGES
=============================== */


.legal-hero{

background:#f7f8fa;
padding:70px 0;
text-align:center;

}



.legal-hero h1{

font-size:45px;
margin-bottom:15px;

}



.legal-hero p{

color:#666;
font-size:18px;

}







.legal-content{

padding:60px 0;

}



.legal-box{

background:white;
padding:45px;
border-radius:20px;
box-shadow:0 10px 30px rgba(0,0,0,.06);

}



.legal-box h2{

margin-top:35px;
margin-bottom:15px;
font-size:25px;

}



.legal-box h2:first-child{

margin-top:0;

}



.legal-box p{

color:#555;
line-height:1.8;
font-size:16px;

}



.legal-box ul{

padding-left:25px;
color:#555;
line-height:2;

}




@media(max-width:700px){


.legal-box{

padding:25px;

}



.legal-hero h1{

font-size:34px;

}


}/* ===============================
 LEGAL CONTENT ALIGNMENT FIX
=============================== */


.legal-box{

    text-align:left;

}


.legal-box h2{

    text-align:left;
    margin-top:35px;
    margin-bottom:15px;

}


.legal-box p{

    text-align:left;
    line-height:1.8;

}


.legal-box ul{

    text-align:left;

}





/* Only top heading center */

.legal-hero{

    text-align:center;

}/* ===============================
 FAQ PAGE
=============================== */


.faq-hero{

background:#f7f8fa;
padding:70px 0;
text-align:center;

}



.faq-hero h1{

font-size:45px;
margin-bottom:15px;

}



.faq-hero p{

font-size:18px;
color:#666;

}







.faq-section{

padding:60px 0;

}





.faq-container{

max-width:850px;
margin:auto;

}





.faq-item{

background:white;
border-radius:15px;
margin-bottom:15px;
border:1px solid #eee;
overflow:hidden;

}




.faq-question{


width:100%;
background:white;
border:none;
padding:22px 25px;
font-size:18px;
font-weight:600;
display:flex;
justify-content:space-between;
cursor:pointer;
text-align:left;


}



.faq-question span{

font-size:25px;
color:#00b67a;

}





.faq-question.active{

color:#00b67a;

}







.faq-answer{


max-height:0;
overflow:hidden;
transition:.3s;
padding:0 25px;


}




.faq-answer p{


color:#666;
line-height:1.8;
padding-bottom:20px;

}








@media(max-width:700px){


.faq-hero h1{

font-size:34px;

}


}.website-logo{

    width:180px;
    height:auto;
    display:block;

}


.site-logo a{

    display:flex;
    align-items:center;

}/* ===================================
   ADMIN CATEGORY MANAGEMENT
=================================== */


.admin-category-grid{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
    margin-top:35px;

}



.admin-category-card{

    background:#ffffff;
    padding:30px;
    border-radius:18px;
    border:1px solid #eeeeee;
    box-shadow:0 8px 25px rgba(0,0,0,0.05);
    transition:.3s;
    position:relative;

}



.admin-category-card:hover{

    transform:translateY(-5px);
    box-shadow:0 15px 35px rgba(0,0,0,0.08);

}




.admin-category-card h3{

    font-size:22px;
    margin:0 0 25px;
    color:#111827;
    text-transform:capitalize;

}





.admin-category-card div{

    display:flex;
    gap:12px;

}




.admin-category-card a{

    text-decoration:none;
    padding:10px 20px;
    border-radius:8px;
    font-size:14px;
    font-weight:600;
    transition:.3s;

}



/* Edit Button */

.admin-category-card a:first-child{

    background:#2563EB;
    color:white;

}



.admin-category-card a:first-child:hover{

    background:#1D4ED8;

}





/* Delete Button */

.admin-category-card a:last-child{

    background:#FEF2F2;
    color:#DC2626;
    border:1px solid #FECACA;

}



.admin-category-card a:last-child:hover{

    background:#DC2626;
    color:white;

}






/* Add Category Button */

.add-company-btn{

    display:inline-block;
    margin-top:10px;
    background:#2563EB;
    color:white;
    padding:14px 28px;
    border-radius:10px;
    text-decoration:none;
    font-weight:700;
    transition:.3s;

}



.add-company-btn:hover{

    background:#1D4ED8;

}







/* Empty Category */

.admin-category-grid:empty{

    display:block;

}






@media(max-width:900px){


.admin-category-grid{

    grid-template-columns:repeat(2,1fr);

}


}



@media(max-width:600px){


.admin-category-grid{

    grid-template-columns:1fr;

}


.admin-category-card div{

    flex-direction:column;

}


.admin-category-card a{

    text-align:center;

}


}