/* ========== SERVICE PAGE BASE RESET ========== */
html, body { overflow-x: hidden; margin: 0; }
body { font-family: 'Roboto', sans-serif; }

.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* ========== SERVICE PAGE CSS ========== */
.service-container { max-width:1200px; margin:0 auto; padding:0 20px; }
.service-section-title { text-align:center; font-family:'Montserrat',sans-serif; font-size:32px; font-weight:700; margin-bottom:40px; color:#2C4E5E; position:relative; padding-bottom:15px; }
.service-section-title::after { content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:60px; height:4px; background:#E67E22; border-radius:2px; }

/* BLOCK 1 — Breadcrumbs + Rating */
.service-breadcrumbs { background:#f8f9fa; padding:12px 0; border-bottom:1px solid #e0e0e0; }
.service-breadcrumbs-content { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; }
.breadcrumbs-list { display:flex; align-items:center; gap:8px; font-size:13px; }
.breadcrumbs-list a { color:#5a6c7d; text-decoration:none; transition:color 0.3s ease; }
.breadcrumbs-list a:hover { color:#E67E22; }
.breadcrumbs-list .separator { color:#E67E22; }
.breadcrumbs-list .current { font-weight:700; color:#2C4E5E; }
.service-rating { display:flex; align-items:center; gap:8px; font-size:14px; }
.service-rating .stars { color:#F39C12; font-size:16px; letter-spacing:1px; }
.service-rating .rating-text { color:#5a6c7d; }
.service-rating .rating-source { background:#fff; border:1px solid #d1d8dd; border-radius:4px; padding:2px 8px; font-size:11px; color:#5a6c7d; }
@media (max-width:768px) { .service-breadcrumbs-content { flex-direction:column; align-items:flex-start; } }

/* BLOCK 2 — Hero */
.service-hero { padding:20px 0 30px; background:#fff; }
.service-hero-grid { display:grid; grid-template-columns:1fr 420px; gap:40px; align-items:start; }
.service-hero-main { display:flex; flex-direction:column; }
.service-hero-main h1 { font-family:'Montserrat',sans-serif; font-size:36px; font-weight:800; color:#2C4E5E; margin:0 0 15px 0; line-height:1.2; }
.service-hero-subtitle { font-size:16px; color:#5a6c7d; line-height:1.7; margin-bottom:15px; }
.service-hero-image { width:100%; height:380px; border-radius:12px; overflow:hidden; background:#2C4E5E; display:flex; align-items:center; justify-content:center; color:#fff; flex-direction:column; gap:15px; }
.service-hero-image i { font-size:60px; opacity:0.5; }
.service-hero-image span { font-size:14px; opacity:0.7; }
.service-hero-image img { width:100%; height:100%; object-fit:cover; }
.service-hero-card { background:#fff; border:1px solid #d1d8dd; border-radius:12px; padding:28px; border-top:4px solid #E67E22; box-shadow:0 4px 20px rgba(44,78,94,0.1); }
.service-hero-price { font-family:'Montserrat',sans-serif; font-size:32px; font-weight:800; color:#E67E22; margin-bottom:5px; }
.service-hero-price-note { font-size:12px; color:#5a6c7d; margin-bottom:15px; }
.service-hero-time { display:flex; align-items:center; gap:8px; font-size:14px; color:#2C4E5E; margin-bottom:20px; padding-bottom:20px; border-bottom:1px solid #e0e0e0; }
.service-hero-time i { color:#E67E22; }
.service-btn-primary { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; padding:14px 16px; background:#E67E22; color:#fff; border:none; border-radius:8px; font-family:'Montserrat',sans-serif; font-size:14px; font-weight:700; cursor:pointer; transition:all 0.3s ease; text-decoration:none; margin-bottom:12px; box-sizing:border-box; text-align:center; white-space:normal; line-height:1.3; }
.service-btn-primary:hover { background:#F39C12; transform:translateY(-2px); box-shadow:0 4px 15px rgba(230,126,34,0.35); }
.service-btn-secondary { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; padding:14px 16px; background:transparent; color:#2C4E5E; border:2px solid #2C4E5E; border-radius:8px; font-family:'Montserrat',sans-serif; font-size:14px; font-weight:700; cursor:pointer; transition:all 0.3s ease; text-decoration:none; margin-bottom:15px; box-sizing:border-box; text-align:center; white-space:normal; line-height:1.3; }
.service-btn-secondary:hover { background:#2C4E5E; color:#fff; }
.service-hero-messengers { display:flex; justify-content:center; gap:10px; margin-bottom:15px; }
.service-hero-messengers a { display:flex; align-items:center; justify-content:center; gap:6px; padding:8px 16px; border-radius:6px; font-size:13px; font-weight:600; text-decoration:none; transition:all 0.3s ease; }
.service-hero-wa { background:#25d366; color:#fff; }
.service-hero-wa:hover { background:#20bd5a; }
.service-hero-tg { background:#0088cc; color:#fff; }
.service-hero-tg:hover { background:#0077b5; }
.service-hero-guarantee { display:flex; align-items:center; justify-content:center; gap:8px; font-size:13px; color:#27ae60; padding-top:15px; border-top:1px solid #e0e0e0; }
.service-hero-guarantee i { font-size:16px; }

/* Accordion in Hero */
.service-hero-accordion { margin-top:20px; border-top:1px solid #e0e0e0; padding-top:15px; }
.accordion-item { border-bottom:1px solid #e0e0e0; }
.accordion-header { display:flex; align-items:center; justify-content:space-between; padding:12px 0; cursor:pointer; font-size:14px; font-weight:500; color:#2C4E5E; transition:color 0.3s ease; }
.accordion-header:hover { color:#E67E22; }
.accordion-header i { font-size:12px; color:#E67E22; transition:transform 0.3s ease; }
.accordion-header.active i { transform:rotate(90deg); }
.accordion-content { display:none; padding:0 0 14px 0; font-size:13px; color:#5a6c7d; line-height:1.7; background:#f8f9fa; padding:14px 16px; border-radius:6px; margin-bottom:10px; }
.accordion-content.show { display:block; }
.accordion-content ul { margin:10px 0 0 0; padding-left:20px; }
.accordion-content ul li { margin-bottom:6px; }

@media (max-width:1024px) { .service-hero-grid { grid-template-columns:1fr 360px; } }
@media (max-width:768px) {
    .service-hero-grid { grid-template-columns:1fr; }
    .service-hero-main { order:1; }
    .service-hero-card { order:2; }
    .service-hero-main h1 { font-size:28px; }
}

/* BLOCK 2a — Sticky Price Bar */
.service-sticky-prices { background:#fff; border-bottom:2px solid #e0e0e0; box-shadow:0 2px 10px rgba(44,78,94,0.1); }
.service-sticky-prices .service-container { max-width:1200px; margin:0 auto; padding:0 20px; }
.sticky-prices-header { background:#2C4E5E; color:#fff; padding:12px 20px; font-family:'Montserrat',sans-serif; font-size:14px; font-weight:700; }
.sticky-prices-table { padding:0; }
.sticky-price-row { display:grid; grid-template-columns:1fr auto auto; gap:15px; align-items:center; padding:12px 20px; border-bottom:1px solid #e0e0e0; }
.sticky-price-row:last-child { border-bottom:none; }
.sticky-price-name { font-size:14px; color:#2C4E5E; }
.sticky-price-value { font-family:'Montserrat',sans-serif; font-weight:700; color:#E67E22; white-space:nowrap; }
.sticky-price-btn { padding:8px 16px; background:transparent; border:1.5px solid #E67E22; color:#E67E22; border-radius:6px; font-size:12px; font-weight:600; cursor:pointer; transition:all 0.3s ease; white-space:nowrap; }
.sticky-price-btn:hover { background:#E67E22; color:#fff; }
@media (max-width:768px) {
    .service-sticky-prices { display:none; }
    .service-sticky-prices.mobile-show { display:block; }
    .service-sticky-mobile-toggle { display:block; background:#2C4E5E; color:#fff; width:100%; padding:15px 20px; font-family:'Montserrat',sans-serif; font-size:14px; font-weight:700; border:none; cursor:pointer; text-align:center; }
    .sticky-prices-table { display:none; }
    .sticky-prices-table.show { display:block; }
}

/* BLOCK 3 — Mobile CTA bar */
.service-mobile-cta-bar { display:none; position:sticky; top:0; z-index:150; background:#fff; box-shadow:0 2px 10px rgba(44,78,94,0.15); padding:10px 20px; }
.service-mobile-cta-bar-content { display:flex; justify-content:space-around; gap:10px; }
.mobile-cta-btn { display:flex; flex-direction:column; align-items:center; gap:4px; padding:10px 15px; background:#f8f9fa; border-radius:8px; text-decoration:none; color:#2C4E5E; font-size:11px; font-weight:600; transition:all 0.3s ease; flex:1; }
.mobile-cta-btn i { font-size:20px; color:#E67E22; }
.mobile-cta-btn:hover { background:#E67E22; color:#fff; }
.mobile-cta-btn:hover i { color:#fff; }
@media (max-width:768px) { .service-mobile-cta-bar { display:block; } }

/* BLOCK 4 — Service description */
.service-description { padding:30px 0; background:#fff; }
.service-description-content { max-width:800px; margin:0 auto; }
.service-description h2 { font-family:'Montserrat',sans-serif; font-size:28px; font-weight:700; color:#2C4E5E; margin-bottom:25px; position:relative; padding-bottom:15px; }
.service-description h2::after { content:''; position:absolute; bottom:0; left:0; width:60px; height:4px; background:#E67E22; border-radius:2px; }
.service-description p { font-size:16px; line-height:1.8; color:#444; margin-bottom:20px; }
.service-when-needed { margin-top:30px; }
.service-when-needed h3 { font-family:'Montserrat',sans-serif; font-size:20px; font-weight:700; color:#2C4E5E; margin-bottom:20px; }
.service-when-list { list-style:none; padding:0; margin:0; }
.service-when-list li { display:flex; align-items:flex-start; gap:12px; margin-bottom:12px; font-size:15px; color:#444; line-height:1.6; }
.service-when-list li i { color:#E67E22; font-size:16px; margin-top:3px; flex-shrink:0; }
@media (max-width:768px) { .service-description { padding:30px 0; } .service-description h2 { font-size:22px; } }

/* BLOCK 5 — How it works */
.service-how-it-works { padding:30px 0; background:#f8f9fa; }
.how-it-works-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:25px; }
.how-step-card { background:#fff; border-radius:10px; padding:25px; box-shadow:0 2px 10px rgba(44,78,94,0.08); display:flex; gap:20px; align-items:flex-start; transition:all 0.3s ease; }
.how-step-card:hover { transform:translateY(-3px); box-shadow:0 5px 20px rgba(44,78,94,0.12); }
.how-step-number { width:50px; height:50px; border-radius:50%; background:#E67E22; color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-size:20px; font-weight:800; flex-shrink:0; }
.how-step-text h4 { font-family:'Montserrat',sans-serif; font-size:16px; font-weight:600; color:#2C4E5E; margin:0 0 8px 0; }
.how-step-text p { font-size:14px; color:#5a6c7d; line-height:1.6; margin:0; }
@media (max-width:768px) {
    .service-how-it-works { padding:30px 0; }
    .how-it-works-grid { grid-template-columns:1fr; }
    .how-step-card { flex-direction:row; }
    .how-step-number { width:44px; height:44px; font-size:18px; }
}

/* BLOCK 6a — Trust banner */
.service-trust-banner { background:linear-gradient(135deg,#E67E22,#F39C12); padding:30px 0; }
.trust-banner-inner { display:flex; align-items:center; gap:50px; max-width:1000px; margin:0 auto; }
.trust-banner-photo { flex-shrink:0; text-align:center; }
.trust-banner-photo img { width:130px; height:130px; border-radius:50%; border:4px solid #fff; object-fit:cover; box-shadow:0 8px 30px rgba(0,0,0,0.15); display:block; margin:0 auto; }
.trust-banner-photo-placeholder { width:130px; height:130px; border-radius:50%; border:4px solid #fff; background:rgba(255,255,255,0.2); display:flex; align-items:center; justify-content:center; box-shadow:0 8px 30px rgba(0,0,0,0.15); }
.trust-banner-photo-placeholder i { font-size:50px; color:rgba(255,255,255,0.7); }
.trust-banner-name { font-family:'Montserrat',sans-serif; font-size:18px; font-weight:700; color:#fff; margin:15px 0 4px 0; }
.trust-banner-role { font-size:13px; color:rgba(255,255,255,0.85); margin:0; }
.trust-banner-content { flex:1; }
.trust-banner-content h2 { font-family:'Montserrat',sans-serif; font-size:24px; font-weight:700; color:#fff; margin:0 0 15px 0; line-height:1.3; }
.trust-banner-content p { font-size:16px; color:rgba(255,255,255,0.95); line-height:1.7; margin:0 0 25px 0; }
.trust-banner-btn { display:inline-flex; align-items:center; gap:10px; padding:16px 32px; background:#fff; color:#E67E22; border-radius:8px; font-family:'Montserrat',sans-serif; font-size:15px; font-weight:700; text-decoration:none; transition:all 0.3s ease; box-shadow:0 4px 15px rgba(0,0,0,0.1); }
.trust-banner-btn:hover { transform:translateY(-3px); box-shadow:0 8px 25px rgba(0,0,0,0.2); }
@media (max-width:768px) {
    .service-trust-banner { padding:40px 0; }
    .trust-banner-inner { flex-direction:column; text-align:center; gap:30px; }
    .trust-banner-content { text-align:center; }
    .trust-banner-btn { width:100%; justify-content:center; box-sizing:border-box; }
}

/* BLOCK 6 — Pricing table */
.service-pricing { padding:30px 0; background:#fff; }
.pricing-table { width:100%; }
.pricing-row { display:grid; grid-template-columns:1fr auto; gap:20px; padding:15px 20px; border-bottom:1px dotted #e0e0e0; align-items:center; transition:background 0.3s ease; }
.pricing-row:hover { background:#f8f9fa; }
.pricing-row.header { background:#2C4E5E; color:#fff; border-radius:8px 8px 0 0; border-bottom:none; }
.pricing-row.header .pricing-name, .pricing-row.header .pricing-value { font-weight:700; }
.pricing-name { font-size:15px; color:#2C4E5E; }
.pricing-value { font-family:'Montserrat',sans-serif; font-weight:700; color:#E67E22; white-space:nowrap; }
.pricing-note { display:flex; align-items:center; gap:10px; margin-top:25px; padding:15px 20px; background:rgba(230,126,34,0.08); border:1px solid rgba(230,126,34,0.2); border-radius:8px; font-size:14px; color:#2C4E5E; }
.pricing-note i { color:#2C4E5E; font-size:16px; }
.pricing-cta { display:flex; gap:15px; justify-content:center; margin-top:30px; flex-wrap:wrap; }
.pricing-cta a { padding:15px 30px; border-radius:8px; font-family:'Montserrat',sans-serif; font-size:15px; font-weight:700; text-decoration:none; transition:all 0.3s ease; }
.pricing-cta .btn-primary { background:#E67E22; color:#fff; }
.pricing-cta .btn-primary:hover { background:#F39C12; transform:translateY(-2px); }
.pricing-cta .btn-tertiary { background:transparent; color:#0088cc; }
.pricing-cta .btn-tertiary:hover { text-decoration:underline; }
@media (max-width:768px) { .service-pricing { padding:30px 0; } }

/* BLOCK 7a — Workspace */
.service-workspace { padding:30px 0; background:#fff; }
.workspace-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.workspace-image { aspect-ratio:4/3; border-radius:12px; overflow:hidden; background:#e8ecef; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:15px; color:#aaa; }
.workspace-image i { font-size:60px; }
.workspace-image span { font-size:14px; }
.workspace-image img { width:100%; height:100%; object-fit:cover; }
.workspace-text h2 { font-family:'Montserrat',sans-serif; font-size:22px; font-weight:700; color:#2C4E5E; margin:0 0 15px 0; }
.workspace-text p { font-size:15px; color:#5a6c7d; line-height:1.7; margin-bottom:20px; }
.workspace-list { list-style:none; padding:0; margin:0; }
.workspace-list li { display:flex; align-items:flex-start; gap:12px; margin-bottom:12px; font-size:14px; color:#444; }
.workspace-list li i { color:#E67E22; margin-top:3px; }
@media (max-width:768px) { .workspace-grid { grid-template-columns:1fr; } }

/* BLOCK 7 — Photo gallery */
.service-gallery { padding:30px 0; background:#f8f9fa; }
.gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.gallery-item { position:relative; aspect-ratio:4/3; border-radius:10px; overflow:hidden; cursor:pointer; background:#e0e0e0; }
.gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform 0.4s ease; }
.gallery-item:hover img { transform:scale(1.05); }
.gallery-item-overlay { position:absolute; inset:0; background:rgba(44,78,94,0.65); display:flex; align-items:flex-end; padding:20px; opacity:0; transition:opacity 0.3s ease; }
.gallery-item:hover .gallery-item-overlay { opacity:1; }
.gallery-item-caption { color:#fff; font-size:14px; font-weight:600; }
.gallery-placeholder { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:10px; color:#aaa; font-size:13px; }
.gallery-placeholder i { font-size:40px; }
@media (max-width:768px) { .gallery-grid { grid-template-columns:repeat(2,1fr); } .service-gallery { padding:30px 0; } }
@media (max-width:480px) { .gallery-grid { grid-template-columns:1fr; } }

/* Lightbox */
.lightbox { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.95); z-index:2000; align-items:center; justify-content:center; }
.lightbox.show { display:flex; }
.lightbox-content { position:relative; max-width:90vw; max-height:90vh; }
.lightbox-content img { max-width:100%; max-height:90vh; border-radius:8px; }
.lightbox-close { position:absolute; top:-40px; right:0; background:none; border:none; color:#fff; font-size:30px; cursor:pointer; }
.lightbox-nav { position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,0.2); border:none; color:#fff; font-size:24px; width:50px; height:50px; border-radius:50%; cursor:pointer; transition:background 0.3s ease; }
.lightbox-nav:hover { background:rgba(255,255,255,0.4); }
.lightbox-prev { left:-70px; }
.lightbox-next { right:-70px; }
@media (max-width:768px) { .lightbox-prev { left:10px; } .lightbox-next { right:10px; } }

/* BLOCK 7b — Additional text block */
.service-text-block { padding:0 0 60px; background:#fff; }
.service-text-block .service-section-title::after { display:none; }
.text-block-content { margin-bottom:40px; }
.text-block-content p { font-size:16px; line-height:1.7; color:#5a6c7d; margin-bottom:20px; }
.text-block-content p:last-child { margin-bottom:0; }
.text-block-items { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; }
.text-block-item { background:#f8f9fa; border:1px solid #e0e0e0; border-radius:12px; padding:25px; transition:all 0.3s ease; }
.text-block-item:hover { border-color:#E67E22; box-shadow:0 5px 20px rgba(44,78,94,0.1); }
.text-block-item h4 { font-family:'Montserrat',sans-serif; font-size:15px; font-weight:700; color:#2C4E5E; margin:0 0 10px 0; padding-bottom:10px; border-bottom:2px solid #E67E22; }
.text-block-item p { font-size:14px; line-height:1.6; color:#5a6c7d; margin:0; }
@media (max-width:768px) { .text-block-items { grid-template-columns:repeat(2,1fr); } .service-text-block { padding:30px 0; } }
@media (max-width:480px) { .text-block-items { grid-template-columns:1fr; } }

/* BLOCK Expert Sections */
.service-expert { padding:40px 0; background:#fff; }
.expert-sections { display:flex; flex-direction:column; gap:12px; }
.expert-section { background:#f8f9fa; border:1px solid #e0e8ec; border-radius:10px; overflow:hidden; transition:border-color 0.3s; }
.expert-section.open { border-color:#E67E22; }
.expert-header { display:flex; justify-content:space-between; align-items:center; padding:18px 22px; cursor:pointer; transition:background 0.2s; }
.expert-header:hover { background:#f0f4f7; }
.expert-header h3 { font-family:'Montserrat',sans-serif; font-size:15px; font-weight:700; color:#2C4E5E; margin:0; }
.expert-header i { font-size:12px; color:#E67E22; transition:transform 0.3s; }
.expert-section.open .expert-header i { transform:rotate(180deg); }
.expert-body { display:none; padding:0 22px 20px; font-size:14px; line-height:1.8; color:#444; }
.expert-section.open .expert-body { display:block; }
.expert-body p { margin:0 0 12px; }
.expert-body ul, .expert-body ol { padding-left:20px; margin:8px 0 12px; }
.expert-body li { margin-bottom:6px; }
.expert-body strong { color:#2C4E5E; }
@media (max-width:768px) {
    .expert-header { padding:14px 16px; }
    .expert-header h3 { font-size:14px; }
    .expert-body { padding:0 16px 16px; font-size:13px; }
    .service-expert { padding:30px 0; }
}

/* BLOCK FAQ */
.service-faq { padding:30px 0; background:#f8f9fa; }
.faq-list { max-width:900px; margin:0 auto; }
.faq-item { background:#fff; border:1px solid #e0e0e0; border-radius:10px; margin-bottom:15px; overflow:hidden; transition:all 0.3s ease; }
.faq-item.active { border-color:#E67E22; box-shadow:0 5px 20px rgba(230,126,34,0.15); }
.faq-question { display:flex; justify-content:space-between; align-items:center; padding:0 25px; cursor:pointer; font-family:'Montserrat',sans-serif; font-size:16px; font-weight:600; color:#2C4E5E; transition:all 0.3s ease; }
.faq-question:hover { background:#f8f9fa; }
.faq-question i { font-size:14px; color:#E67E22; transition:transform 0.3s ease; }
.faq-item.active .faq-question i { transform:rotate(180deg); }
.faq-answer { display:none; padding:0 25px 20px; font-size:15px; line-height:1.7; color:#5a6c7d; }
.faq-item.active .faq-answer { display:block; }
@media (max-width:768px) { .faq-question { font-size:14px; padding:0 20px; } .faq-answer { padding:0 20px 15px; font-size:14px; } .service-faq { padding:30px 0; } }

/* BLOCK 8 — Related services */
.service-related { padding:30px 0; background:#fff; }
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; }
.related-card { background:#f8f9fa; border:1px solid #d1d8dd; border-radius:12px; overflow:hidden; transition:all 0.3s ease; text-decoration:none; display:block; }
.related-card:hover { transform:translateY(-5px); box-shadow:0 8px 30px rgba(230,126,34,0.15); border-color:#E67E22; }
.related-card-image { position:relative; aspect-ratio:3/2; background:linear-gradient(135deg,#2C4E5E,#1f3541); }
.related-card-image img { width:100%; height:100%; object-fit:cover; }
.related-card-icon { position:absolute; top:15px; left:15px; width:50px; height:50px; background:#E67E22; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-size:20px; }
.related-card-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:10px; color:rgba(255,255,255,0.25); }
.related-card-placeholder i { font-size:50px; }
.related-card-content { padding:20px; }
.related-card-content h4 { font-family:'Montserrat',sans-serif; font-size:16px; font-weight:600; color:#2C4E5E; margin:0 0 8px 0; }
.related-card-content h3 { font-family:'Montserrat',sans-serif; font-size:16px; font-weight:600; color:#2C4E5E; margin:0 0 8px 0; }
.related-card-content p { font-size:13px; color:#5a6c7d; line-height:1.5; margin:0 0 12px 0; height:40px; overflow:hidden; }
.related-card-price { font-family:'Montserrat',sans-serif; font-size:16px; font-weight:700; color:#E67E22; margin-bottom:15px; }
.related-card-buttons { display:flex; gap:10px; }
.related-card-buttons a { flex:1; padding:10px; border-radius:6px; font-size:13px; font-weight:600; text-align:center; text-decoration:none; transition:all 0.3s ease; }
.related-card-buttons .btn-outline { border:1.5px solid #2C4E5E; color:#2C4E5E; background:transparent; }
.related-card-buttons .btn-outline:hover { background:#2C4E5E; color:#fff; }
.related-card-buttons .btn-fill { background:#E67E22; color:#fff; border:none; }
.related-card-buttons .btn-fill:hover { background:#F39C12; }
.related-card-arrow { color:#E67E22; margin-left:auto; }
@media (max-width:1024px) { .related-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:768px) { .related-grid { grid-template-columns:1fr; } .service-related { padding:30px 0; } }

/* BLOCK 9 — Advantages */
.service-advantages { padding:30px 0; background:linear-gradient(135deg,#f8f9fa,#ffffff); }
.advantages-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:25px; }
.advantage-card { background:#fff; border-radius:12px; padding:28px; box-shadow:0 2px 10px rgba(44,78,94,0.08); text-align:center; transition:all 0.3s ease; border-top:3px solid transparent; }
.advantage-card:hover { transform:translateY(-5px); border-top-color:#E67E22; box-shadow:0 8px 25px rgba(44,78,94,0.12); }
.advantage-card i { font-size:48px; color:#E67E22; margin-bottom:20px; }
.advantage-card h3 { font-family:'Montserrat',sans-serif; font-size:18px; font-weight:600; color:#2C4E5E; margin:0 0 12px 0; }
.advantage-card p { font-size:14px; color:#5a6c7d; line-height:1.6; margin:0; }
@media (max-width:1024px) { .advantages-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:768px) { .advantages-grid { grid-template-columns:1fr; } .service-advantages { padding:30px 0; } }

/* BLOCK 10 — Master profile */
.service-master-profile { padding:50px 0; background:#2C4E5E; }
.master-profile-grid { display:grid; grid-template-columns:1fr 2fr; gap:50px; align-items:center; }
.master-photo { text-align:center; }
.master-photo img { width:200px; height:200px; border-radius:50%; border:4px solid #E67E22; object-fit:cover; display:block; margin:0 auto; }
.master-photo-placeholder { width:200px; height:200px; border-radius:50%; border:4px solid #E67E22; background:rgba(255,255,255,0.1); display:flex; align-items:center; justify-content:center; margin:0 auto; }
.master-photo-placeholder i { font-size:80px; color:rgba(255,255,255,0.5); }
.master-info h3, .master-info .master-name { font-family:'Montserrat',sans-serif; font-size:26px; font-weight:700; color:#fff; margin:0 0 5px 0; display:block; }
.master-info .role { font-size:16px; color:rgba(255,255,255,0.7); margin-bottom:20px; }
.master-info p { font-size:15px; color:rgba(255,255,255,0.85); line-height:1.7; margin-bottom:20px; }
.master-credentials { list-style:none; padding:0; margin:0 0 25px 0; }
.master-credentials li { display:flex; align-items:center; gap:10px; margin-bottom:10px; font-size:14px; color:rgba(255,255,255,0.9); }
.master-credentials li i { color:#E67E22; }
.master-contact-phone { font-family:'Montserrat',sans-serif; font-size:22px; font-weight:700; color:#E67E22; margin-bottom:15px; }
.master-contact-phone a { color:#E67E22; text-decoration:none; }
.master-contact-phone a:hover { text-decoration:underline; }
.master-messengers { display:flex; gap:10px; }
.master-messengers a { display:flex; align-items:center; gap:6px; padding:10px 20px; border-radius:6px; font-size:14px; font-weight:600; text-decoration:none; transition:all 0.3s ease; }
.master-wa { background:#25d366; color:#fff; }
.master-wa:hover { background:#20bd5a; }
.master-tg { background:#0088cc; color:#fff; }
.master-tg:hover { background:#0077b5; }
@media (max-width:768px) {
    .master-profile-grid { grid-template-columns:1fr; text-align:center; gap:30px; }
    .master-photo img, .master-photo-placeholder { width:140px; height:140px; }
    .master-credentials { display:inline-block; text-align:left; }
    .master-messengers { justify-content:center; }
}

/* BLOCK 11 — Booking CTA */
.service-booking { padding:70px 0; background:linear-gradient(135deg,#1f3541,#2C4E5E); }
.booking-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.booking-text h2 { font-family:'Montserrat',sans-serif; font-size:32px; font-weight:800; color:#fff; margin:0 0 15px 0; }
.booking-text p { font-size:16px; color:rgba(255,255,255,0.75); line-height:1.7; margin-bottom:25px; }
.booking-badges { display:flex; flex-wrap:wrap; gap:12px; }
.booking-badge { display:flex; align-items:center; gap:8px; padding:10px 16px; background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.2); border-radius:6px; font-size:13px; color:#fff; }
.booking-badge i { color:#F39C12; }
.booking-form { background:#fff; border-radius:14px; padding:32px; box-shadow:0 10px 40px rgba(0,0,0,0.2); }
.booking-form h3 { font-family:'Montserrat',sans-serif; font-size:22px; font-weight:700; color:#2C4E5E; margin:0 0 25px 0; text-align:center; }
.form-group { margin-bottom:18px; }
.form-group label { display:block; font-size:13px; font-weight:600; color:#2C4E5E; margin-bottom:6px; }
.form-group input, .form-group select, .form-group textarea { width:100%; padding:12px 15px; border:1.5px solid #d1d8dd; border-radius:8px; font-size:15px; font-family:'Roboto',sans-serif; color:#2C4E5E; background:#fff; transition:border-color 0.3s ease; outline:none; box-sizing:border-box; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:#E67E22; box-shadow:0 0 0 3px rgba(230,126,34,0.1); }
.form-group textarea { resize:vertical; min-height:80px; }
.form-submit { width:100%; padding:15px; background:#E67E22; color:#fff; border:none; border-radius:8px; font-family:'Montserrat',sans-serif; font-size:16px; font-weight:700; cursor:pointer; transition:all 0.3s ease; }
.form-submit:hover { background:#F39C12; transform:translateY(-2px); box-shadow:0 4px 15px rgba(230,126,34,0.35); }
.form-note { text-align:center; margin-top:12px; font-size:11px; color:#5a6c7d; }
.consent-label { display:flex; align-items:flex-start; gap:8px; font-size:12px; color:#5a6c7d; margin:12px 0 14px; cursor:pointer; line-height:1.4; }
.consent-label input[type="checkbox"] { margin-top:2px; flex-shrink:0; width:16px; height:16px; accent-color:#E67E22; cursor:pointer; }
.consent-label a { color:#E67E22; text-decoration:underline; }
.consent-label a:hover { color:#D35400; }
@media (max-width:1024px) { .booking-grid { grid-template-columns:1fr; gap:30px; } .booking-form { order:-1; } }
@media (max-width:768px) { .service-booking { padding:40px 0; } .booking-text h2 { font-size:24px; } .booking-form { padding:24px; } }

/* Popup + Success */
.popup-overlay { position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,.55); backdrop-filter:blur(4px); display:flex; align-items:center; justify-content:center; padding:20px; animation:popupFadeIn .25s ease; }
@keyframes popupFadeIn { from{opacity:0} to{opacity:1} }
.popup-form-card { background:#fff; border-radius:14px; padding:36px 32px; width:100%; max-width:460px; box-shadow:0 20px 60px rgba(0,0,0,.25); position:relative; animation:popupSlideUp .3s ease; }
@keyframes popupSlideUp { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }
.popup-form-card h3 { color:#2C4E5E; margin-bottom:22px; font-size:1.35rem; font-family:'Montserrat',sans-serif; }
.popup-close { position:absolute; top:14px; right:16px; background:none; border:none; font-size:28px; color:#999; cursor:pointer; line-height:1; padding:0 4px; transition:color .2s; }
.popup-close:hover { color:#E67E22; }
.form-success-msg { text-align:center; padding:20px 10px; animation:popupFadeIn .4s ease; }
.form-success-icon { width:72px; height:72px; margin:0 auto 18px; background:linear-gradient(135deg,#27ae60,#2ecc71); border-radius:50%; color:#fff; font-size:36px; line-height:72px; box-shadow:0 6px 20px rgba(39,174,96,.3); }
.form-success-title { font-family:'Montserrat',sans-serif; font-size:1.3rem; font-weight:700; color:#2C4E5E; margin-bottom:8px; }
.form-success-text { font-size:1rem; color:#555; margin-bottom:22px; line-height:1.5; }
.form-success-fallback { background:#f8f9fa; border-radius:10px; padding:14px 18px; font-size:0.85rem; color:#666; line-height:1.5; display:flex; flex-direction:column; align-items:center; gap:12px; }
.form-success-phone { display:inline-flex; align-items:center; gap:6px; padding:8px 18px; background:#E67E22; color:#fff; border-radius:6px; text-decoration:none; font-weight:700; font-size:0.9rem; font-family:'Montserrat',sans-serif; transition:background .2s; }
.form-success-phone:hover { background:#D35400; }
.form-success-phone i { font-size:13px; }
@media(max-width:500px) { .popup-form-card { padding:28px 20px; } }

/* BLOCK 12 — Reviews */
.service-reviews { padding:30px 0; background:#fff; overflow:hidden; }
/* compact ratings row */
.service-ratings-row { display:flex; gap:14px; margin-bottom:32px; flex-wrap:wrap; }
.svc-rating-pill { display:flex; align-items:center; gap:8px; background:#f8f9fa; border:1px solid #e0e8ec; border-radius:10px; padding:10px 16px; flex:1; min-width:140px; text-decoration:none; transition:box-shadow .2s; }
.svc-rating-pill:hover { box-shadow:0 4px 16px rgba(44,78,94,.12); border-color:#E67E22; }
.svc-plat-badge { border-radius:5px; padding:3px 7px; font-size:11px; font-weight:800; font-family:'Montserrat',sans-serif; color:#fff; white-space:nowrap; flex-shrink:0; }
.svc-plat-ya   { background:#f00; }
.svc-plat-at   { background:#1e5799; }
.svc-plat-yell { background:#ff6600; }
.svc-plat-zoon { background:#6c3de0; }
.svc-rating-info { display:flex; flex-direction:column; gap:1px; }
.svc-rating-stars { color:#F39C12; font-size:13px; letter-spacing:1px; line-height:1; }
.svc-rating-score { font-family:'Montserrat',sans-serif; font-size:12px; font-weight:700; color:#2C4E5E; }
/* review card with photo */
.review-author-photo { width:44px; height:44px; border-radius:50%; object-fit:cover; flex-shrink:0; border:2px solid #E67E22; }
.review-author-job { font-size:11px; color:#8a9baa; margin-top:1px; }
.review-vk-link { display:inline-flex; align-items:center; gap:4px; margin-top:4px; background:#4680c2; color:#fff; border-radius:4px; padding:2px 7px; font-size:10px; font-weight:600; text-decoration:none; }
.review-vk-link:hover { background:#2d5e96; }
.reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; }
.review-card { background:#f8f9fa; border:1px solid #d1d8dd; border-radius:12px; padding:28px; position:relative; transition:all 0.3s ease; }
.review-card:hover { box-shadow:0 8px 25px rgba(44,78,94,0.12); transform:translateY(-4px); border-color:#E67E22; }
.review-source-badge { position:absolute; top:16px; right:16px; font-size:11px; color:#5a6c7d; background:#fff; border:1px solid #d1d8dd; border-radius:4px; padding:3px 8px; }
.review-stars { color:#F39C12; font-size:18px; margin-bottom:14px; letter-spacing:2px; }
.review-text { font-size:15px; line-height:1.75; color:#444; margin-bottom:20px; font-style:italic; }
.review-author { display:flex; align-items:center; gap:12px; border-top:1px solid #d1d8dd; padding-top:16px; }
.review-avatar { width:44px; height:44px; border-radius:50%; background:#E67E22; color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-size:18px; font-weight:700; flex-shrink:0; }
.review-author-info .name { font-family:'Montserrat',sans-serif; font-size:14px; font-weight:700; color:#2C4E5E; }
.review-author-info .car { font-size:12px; color:#5a6c7d; margin-top:2px; }
.reviews-cta { text-align:center; margin-top:35px; }
.reviews-cta a { display:inline-flex; align-items:center; gap:8px; padding:14px 30px; border:2px solid #E67E22; color:#E67E22; border-radius:8px; font-family:'Montserrat',sans-serif; font-size:15px; font-weight:700; text-decoration:none; transition:all 0.3s ease; }
.reviews-cta a:hover { background:#E67E22; color:#fff; }
@media (max-width:768px) {
    .reviews-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:15px; padding-bottom:15px; scrollbar-width:none; -ms-overflow-style:none; }
    .reviews-grid::-webkit-scrollbar { display:none; }
    .review-card { min-width:85vw; scroll-snap-align:start; flex-shrink:0; }
    .service-reviews { padding:30px 0; }
}

/* BLOCK 13 — Contacts + Map */
.service-contacts { padding:30px 0 0; background:#fff; }
.service-contacts .service-container { max-width:100%; padding:0; }
.service-contacts .service-section-title { padding:0 20px 15px; max-width:1200px; margin:0 auto 40px; }
.contacts-grid { display:grid; grid-template-columns:1fr 2fr; gap:0; overflow:hidden; }
.contacts-info { background:#2C4E5E; padding:40px; display:flex; flex-direction:column; gap:24px; min-height:450px; }
.contacts-info h3, .contacts-info .master-name { font-family:'Montserrat',sans-serif; font-size:22px; font-weight:700; color:#fff; margin:0 0 10px 0; display:block; }
.contact-item { display:flex; gap:15px; align-items:flex-start; }
.contact-item i { color:#E67E22; font-size:20px; margin-top:2px; flex-shrink:0; }
.contact-item-text strong { display:block; color:#fff; font-size:14px; font-weight:600; margin-bottom:3px; }
.contact-item-text span { color:rgba(255,255,255,0.7); font-size:13px; line-height:1.5; }
.contact-item-text a { color:#E67E22; text-decoration:none; font-size:16px; font-weight:700; }
.contact-item-text a:hover { text-decoration:underline; }
.contacts-map-btn { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; padding:14px; border:2px solid #E67E22; background:transparent; color:#E67E22; border-radius:8px; font-family:'Montserrat',sans-serif; font-size:14px; font-weight:700; text-decoration:none; transition:all 0.3s ease; margin-top:auto; }
.contacts-map-btn:hover { background:#E67E22; color:#fff; }
.contacts-map { display:flex; flex-direction:column; height:100%; }
.contacts-map iframe { width:100%; height:100%; min-height:450px; border:0; display:block; flex:1; }
@media (max-width:768px) {
    .contacts-grid { grid-template-columns:1fr; }
    .contacts-map iframe { min-height:260px; }
    .service-contacts { padding:30px 0 0; }
    .service-contacts .service-section-title { padding:0 10px 15px; }
}

