:root{--primary:#0066cc;--primary-dark:#004d99;--secondary:#00a86b;--accent:#ff6b35;--dark:#1a2332;--gray:#6b7280;--light:#f8f9fa;--white:#fff;--shadow:0 4px 6px rgba(0,0,0,0.1);--radius:8px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',sans-serif;line-height:1.6;color:var(--dark);background:var(--light)}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
.section{padding:60px 0}
.section-title{font-size:2rem;font-weight:700;text-align:center;margin-bottom:40px}
.btn{display:inline-block;padding:5px 10px;border:none;border-radius:var(--radius);font-weight:600;text-decoration:none;cursor:pointer;transition:all 0.3s}
.btn-primary{background:var(--primary);color:var(--white)}
.btn-primary:hover{background:var(--primary-dark)}
.btn-outline{background:transparent;border:2px solid var(--primary);color:var(--primary)}
.btn-outline:hover{background:var(--primary);color:var(--white)}
.btn-lg{padding:16px 32px;font-size:1.1rem}
.btn-sm{padding:8px 16px;font-size:0.9rem}
.btn-block{display:block;width:100%;text-align:center}
.header{background:var(--white);box-shadow:var(--shadow);position:sticky;top:0;z-index:1000}
.navbar{display:flex;align-items:center;justify-content:space-between;padding:15px 0}
.logo{text-decoration:none}
.logo-text{font-size:1.5rem;font-weight:700;color:var(--primary)}
.nav-menu{display:flex;list-style:none;gap:30px}
.nav-link{text-decoration:none;color:var(--dark);font-weight:500;transition:color 0.3s}
.nav-link:hover{color:var(--primary)}
.nav-actions{display:flex;gap:15px}
.hero{background:linear-gradient(135deg,var(--primary),var(--secondary));color:var(--white);padding:100px 0;text-align:center}
.hero h1{font-size:3rem;margin-bottom:20px}
.hero p{font-size:1.2rem;margin-bottom:30px;opacity:0.9}
.hero-buttons{display:flex;gap:15px;justify-content:center}
.categories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px}
.category-card{background:var(--white);padding:30px;border-radius:var(--radius);text-align:center;text-decoration:none;color:var(--dark);box-shadow:var(--shadow);transition:transform 0.3s}
.category-card:hover{transform:translateY(-5px)}
.category-icon{font-size:3rem;color:var(--primary);margin-bottom:15px}
.category-card h3{margin-bottom:10px}
.category-card p{color:var(--gray);font-size:0.9rem}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}
.service-card{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.service-content{padding:20px}
.service-category{color:var(--primary);font-size:0.85rem;font-weight:600}
.service-card h3{margin:10px 0}
.service-card p{color:var(--gray);font-size:0.9rem;margin-bottom:15px}
.service-meta{display:flex;gap:15px;color:var(--gray);font-size:0.85rem;margin-bottom:15px}
.service-footer{display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:1px solid #eee}
.service-price{font-size:1.25rem;font-weight:700;color:var(--primary)}
.stats{background:var(--dark);color:var(--white)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}
.stat-number{display:block;font-size:2.5rem;font-weight:700;color:var(--secondary)}
.stat-label{color:rgba(255,255,255,0.8)}
.faq-list{max-width:800px;margin:0 auto}
.faq-item{background:var(--white);margin-bottom:10px;border-radius:var(--radius);overflow:hidden}
.faq-question{width:100%;padding:20px;text-align:left;background:none;border:none;font-size:1rem;font-weight:600;cursor:pointer;display:flex;justify-content:space-between}
.faq-answer{padding:0 20px 20px;color:var(--gray)}
.cta{background:linear-gradient(135deg,var(--primary),var(--secondary));color:var(--white);text-align:center}
.cta h2{font-size:2rem;margin-bottom:15px}
.cta p{margin-bottom:30px;opacity:0.9}
.footer{background:var(--dark);color:var(--white);padding:60px 0 20px}
.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px;margin-bottom:40px}
.footer-col h3,.footer-col h4{margin-bottom:20px}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:10px}
.footer-col a{color:rgba(255,255,255,0.8);text-decoration:none}
.footer-col a:hover{color:var(--white)}
.footer-bottom{text-align:center;padding-top:20px;border-top:1px solid rgba(255,255,255,0.1);color:rgba(255,255,255,0.6)}
.page-header{background:linear-gradient(135deg,var(--primary),var(--secondary));color:var(--white);padding:60px 0;text-align:center}
.page-header h1{font-size:2.5rem}
.services-layout{display:grid;grid-template-columns:250px 1fr;gap:40px}
.filters-sidebar{background:var(--white);padding:20px;border-radius:var(--radius);height:fit-content}
.filter-section h3{margin-bottom:15px}
.category-list{list-style:none}
.category-list li{margin-bottom:10px}
.category-list a{text-decoration:none;color:var(--gray);transition:color 0.3s}
.category-list a:hover,.category-list a.active{color:var(--primary);font-weight:600}
.services-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}
.sort-select{padding:10px 15px;border:1px solid #ddd;border-radius:var(--radius)}
.pagination{display:flex;justify-content:center;gap:10px;margin-top:40px}
.page-link{padding:10px 15px;border:1px solid #ddd;border-radius:var(--radius);text-decoration:none;color:var(--dark)}
.page-link.active{background:var(--primary);color:var(--white);border-color:var(--primary)}
.service-details-grid{display:grid;grid-template-columns:1fr 350px;gap:40px}
.service-info h1{font-size:2rem;margin:15px 0}
.service-description{color:var(--gray);line-height:1.8;margin-bottom:30px}
.service-options{margin-bottom:30px}
.service-options h3{margin-bottom:15px}
.option-item{display:flex;justify-content:space-between;padding:15px;background:var(--light);margin-bottom:10px;border-radius:var(--radius)}
.option-price{color:var(--primary);font-weight:600}
.booking-card{background:var(--white);padding:30px;border-radius:var(--radius);box-shadow:var(--shadow);position:sticky;top:100px}
.price-display{text-align:center;margin-bottom:20px}
.price-label{display:block;color:var(--gray);font-size:0.9rem}
.price-value{font-size:2rem;font-weight:700;color:var(--primary)}
.service-meta-list{margin-bottom:20px}
.meta-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eee;color:var(--gray)}
.service-reviews{margin-top:40px}
.service-reviews h3{margin-bottom:20px}
.review-item{background:var(--white);padding:20px;border-radius:var(--radius);margin-bottom:15px}
.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.review-rating i{color:#ddd}
.review-rating i.active{color:#ffc107}
.related-services{margin-top:60px}
.related-services h2{margin-bottom:30px}
.auth-section{min-height:80vh;display:flex;align-items:center;justify-content:center;padding:40px 20px}
.auth-container{width:100%;max-width:450px}
.auth-card{background:var(--white);padding:40px;border-radius:var(--radius);box-shadow:var(--shadow)}
.auth-card h1{margin-bottom:10px}
.auth-card>p{color:var(--gray);margin-bottom:30px}
.auth-form .form-group{margin-bottom:20px}
.auth-form label{display:block;margin-bottom:8px;font-weight:500}
.auth-footer{text-align:center;margin-top:30px;padding-top:20px;border-top:1px solid #eee}
.auth-footer a{color:var(--primary);text-decoration:none;font-weight:600}
.form-control{width:100%;padding:12px 15px;border:1px solid #ddd;border-radius:var(--radius);font-size:1rem;transition:border-color 0.3s}
.form-control:focus{outline:none;border-color:var(--primary)}
.form-group{margin-bottom:20px}
.form-group label{display:block;margin-bottom:8px;font-weight:500}
.form-check{display:flex;align-items:center;gap:10px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.text-danger{color:#dc3545;font-size:0.85rem;display:block;margin-top:5px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.contact-form-wrapper h2,.contact-info-wrapper h2{margin-bottom:30px}
.contact-info-item{display:flex;gap:15px;margin-bottom:20px}
.contact-info-item i{font-size:1.5rem;color:var(--primary)}
.contact-info-item h4{margin-bottom:5px}
.contact-info-item p{color:var(--gray)}
.booking-grid{display:grid;grid-template-columns:1fr 350px;gap:40px}
.booking-form-wrapper{background:var(--white);padding:30px;border-radius:var(--radius)}
.booking-summary{position:sticky;top:100px}
.summary-card{background:var(--white);padding:30px;border-radius:var(--radius);box-shadow:var(--shadow)}
.summary-card h3{margin-bottom:20px}
.summary-item{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #eee}
.summary-total{display:flex;justify-content:space-between;padding-top:15px;font-size:1.25rem}
.booking-actions{display:flex;gap:15px;margin-top:30px}
.booking-actions .btn{flex:1}
.alert{padding:15px 20px;border-radius:var(--radius);margin-bottom:20px}
.alert-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}
.alert-danger{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}
@media(max-width:992px){.services-layout{grid-template-columns:1fr}.filters-sidebar{display:none}.service-details-grid{grid-template-columns:1fr}.booking-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:1fr}}
@media(max-width:768px){.nav-menu{display:none}.hero h1{font-size:2rem}.hero-buttons{flex-direction:column}.footer-content{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}}
