/* === THEME STYLES — юристы37.рф === */

/* --- Header --- */
header{position:relative;z-index:100}
.sticky-bar{background:#7c2825;color:#fff;padding:8px 0;display:none;position:fixed;top:0;left:0;width:100%;z-index:9999;box-shadow:0 2px 10px rgba(0,0,0,.2)}
.sticky-bar.scroll{display:block}
.sticky-bar a{color:#fff}
.sticky-bar .btn{background:#fff;color:#7c2825!important;padding:6px 15px;border-radius:4px;font-size:12px;cursor:pointer;display:inline-block;font-weight:600;border:2px solid #fff}
.sticky-bar .phone a{color:#fff;font-weight:600;font-size:14px}
#topbar{background:#f8f8f8;padding:10px 0;border-bottom:1px solid #eee}
#topbar .icon{color:#666;font-size:13px}
#topbar .icon i{color:#7c2825;margin-right:5px}
#topbar .phone{margin:0}
#topbar .phone a{color:#7c2825;font-weight:700;font-size:16px;white-space:nowrap}
#bottombar{background:#fff;padding:15px 0;border-bottom:2px solid #7c2825}
.logo{display:flex;align-items:center;gap:10px}
.logo img{height:45px;width:auto}
.blogname .title{font-size:20px;font-weight:700;color:#7c2825;margin:0;line-height:1.2;text-transform:uppercase}
.blogname .subtitle{font-size:12px;color:#888;margin:0;text-transform:uppercase;letter-spacing:1px}
.top-menu{list-style:none;display:flex;margin:0;padding:0;align-items:center;height:100%;gap:5px}
.top-menu li a{padding:10px 15px;color:#333;font-size:14px;font-weight:500;display:block;border-radius:4px;transition:all .2s}
.top-menu li a:hover,.top-menu li.active a,.top-menu li.current-menu-item a{background:#7c2825;color:#fff;text-decoration:none}
.btn{background:#7c2825;color:#fff!important;padding:10px 20px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;display:inline-block;text-align:center;border:none;transition:all .2s;text-decoration:none!important}
.btn:hover{background:#a0413e;transform:translateY(-1px)}
.btn-primary{background:#7c2825;color:#fff;border:none;padding:12px 25px;border-radius:4px;font-size:15px;cursor:pointer;width:100%;font-weight:500}
.btn-primary:hover{background:#a0413e}
.btn-footer{margin-top:15px;display:inline-block}
.btn-outline{background:transparent;border:2px solid #7c2825;color:#7c2825!important}
.btn-outline:hover{background:#7c2825;color:#fff!important}

/* --- Desktop/Mobile toggle --- */
.desktop{display:block}
.mobile{display:none}
@media(max-width:991px){.desktop{display:none}.mobile{display:block}}
#mobilbar{background:#7c2825;padding:10px 0}
#mobilbar .btn{background:#fff;color:#7c2825!important;font-size:13px;padding:8px 15px}

/* --- Banner / Hero --- */
#banner{background-size:cover!important;background-position:center!important;padding:60px 0;min-height:400px;position:relative;display:flex;align-items:center}
#banner::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.35)}
#banner .container{position:relative;z-index:2}
#banner h1{color:#fff;font-size:36px;font-weight:700;margin-bottom:15px;text-shadow:0 2px 4px rgba(0,0,0,.3)}
#banner .subtitle{color:rgba(255,255,255,.9);font-size:16px;margin-bottom:0;line-height:1.5}
#banner .form{background:#fff;padding:25px;border-radius:8px;box-shadow:0 5px 25px rgba(0,0,0,.2)}
#banner .form .title{font-size:18px;font-weight:600;color:#333;margin-bottom:15px;text-align:center}
.form-control{width:100%;padding:10px 15px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:'Montserrat',sans-serif;transition:border .2s}
.form-control:focus{border-color:#7c2825;outline:none;box-shadow:0 0 0 2px rgba(124,40,37,.15)}
.form-group{margin-bottom:12px}
textarea.form-control{resize:vertical}
.accept label{font-size:12px;color:#666;display:flex;align-items:flex-start;gap:8px;cursor:pointer}
.accept input[type="checkbox"]{margin-top:3px}

/* --- Sections --- */
.index-block{padding:50px 0}
.index-block h2{font-size:26px;text-align:center;margin-bottom:30px;color:#222;position:relative}
.mt-20{margin-top:20px}.mt-40{margin-top:40px}

/* --- Service cards (home) --- */
.type-block{padding:25px 20px;border-radius:8px;margin-bottom:20px;transition:all .3s;background:#fff;border:1px solid #eee}
.type-block:hover{box-shadow:0 5px 20px rgba(0,0,0,.1);transform:translateY(-3px)}
.custom-shadow{box-shadow:0 2px 10px rgba(0,0,0,.06)}
.type-block .img-block{margin-bottom:15px}
.type-block .img-block img{height:50px;width:auto}
.type-block .title-block h3{font-size:16px;font-weight:600;color:#333;margin:0}
.type-block .descr-block{margin-top:10px;font-size:13px;color:#666;line-height:1.5}
.type-block .descr-block p p{margin:0}

/* --- About section --- */
#about .description{font-size:14px;line-height:1.7;color:#555}
#about .description p{margin-bottom:12px}

/* --- Trust/advantages --- */
#trust .type-block{text-align:center;padding:30px 20px}

/* --- Category service blocks (uslugi page) --- */
.cat-service-block{background:#fff;border:1px solid #eee;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.cat-service-block .title-img{height:60px;width:60px;background-size:contain!important;margin-bottom:10px}
.cat-service-block .title-block h2{font-size:18px;text-align:left;margin-bottom:10px}
.cat-service-block .link-block ul{list-style:none;padding:0}
.cat-service-block .link-block li{padding:6px 0;border-bottom:1px solid #f0f0f0;font-size:13px;color:#555}
.cat-service-block .link-block li:last-child{border:none}
.cat-service-block .link-block a{color:#7c2825}
.cat-description{padding:30px 0;font-size:14px;line-height:1.7;color:#555}
.cat-description h2{text-align:left;font-size:22px;margin:25px 0 10px}

/* --- Breadcrumbs --- */
#breadcrumbs{font-size:13px;color:#888;padding:15px 0 5px;margin:0}
#breadcrumbs a{color:#7c2825}

/* --- Price table --- */
.price-table{width:100%;border-collapse:collapse;margin:20px 0}
.price-table th{background:#7c2825;color:#fff;padding:12px 15px;font-weight:500;text-align:left}
.price-table td{padding:10px 15px;border-bottom:1px solid #eee}
.price-table tr:hover{background:#faf5f5}

/* --- Footer --- */
footer{background:#2d2d2d;color:#ccc;padding:40px 0 20px}
footer a{color:#ddd}
footer a:hover{color:#fff}
footer .logo img{height:45px}
footer .widgettitle{color:#fff;font-size:16px;font-weight:600;margin-bottom:15px}
footer .menu{list-style:none;padding:0;margin:0}
footer .menu li{margin-bottom:8px}
footer .menu li a{color:#bbb;font-size:13px}
footer .menu li a:hover{color:#fff}
footer .phone a{color:#fff;font-size:18px;font-weight:700}
footer .footer-icon{margin-bottom:8px;font-size:13px}
footer .footer-icon i{color:#7c2825;width:20px;text-align:center;margin-right:5px}
.sub-footer{background:#222;padding:15px 0;text-align:center}
.sub-footer .copy{color:#888;font-size:12px;margin:0}
.sub-footer a{color:#aaa}

/* --- Telegram button --- */
.telegram-button{position:fixed;bottom:20px;right:20px;background:#0088cc;color:#fff;padding:12px 20px;border-radius:50px;font-size:14px;font-weight:500;box-shadow:0 4px 15px rgba(0,136,204,.4);z-index:999;transition:all .3s}
.telegram-button:hover{background:#006699;transform:scale(1.05)}
.telegram-button i{margin-right:8px;font-size:18px}

/* --- Scroll to top --- */
#wpfront-scroll-top-container{position:fixed;bottom:80px;right:20px;width:40px;height:40px;background:#7c2825;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:998;opacity:0;transition:opacity .3s;box-shadow:0 2px 10px rgba(0,0,0,.2)}
#wpfront-scroll-top-container:hover{background:#a0413e}
#wpfront-scroll-top-container i{color:#fff!important;font-size:16px}

/* --- Mobile menu --- */
.mobmenu-panel{position:fixed;top:0;left:-300px;width:280px;height:100%;background:#2d2d2d;z-index:10001;transition:left .3s;padding:60px 20px 20px;overflow-y:auto}
.mobmenu-panel.active{left:0}
.mobmenu-panel #mobmenuleft{list-style:none;padding:0;margin:0}
.mobmenu-panel #mobmenuleft li{border-bottom:1px solid #444}
.mobmenu-panel #mobmenuleft li a{display:block;padding:12px 0;color:#fff;font-size:15px}
.mobmenu-panel .mob-cancel-button{color:#fff;font-size:20px}
.mobmenu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:10000;display:none}
.mobmenu-overlay.active{display:block}
.mob-menu-header-holder{display:none}
.mob-icon-menu-3::before,.mob-icon-menu::before{content:'\2630';font-size:24px}
.mob-icon-cancel-1::before{content:'\2715';font-size:18px}
.mobmenu-trigger-action{color:#fff;text-decoration:none;font-size:24px}
.mobmenul-container{text-align:right}
.mobmenul-container .mob-cancel-button{display:none}

/* --- PSWP lightbox shell --- */
.pswp{display:none}

/* --- overlay sidebar --- */
#overlay-sidebar-wrap{display:none}
#overlay-sidebar{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;padding:30px;border-radius:8px;box-shadow:0 5px 30px rgba(0,0,0,.3);z-index:10002;max-width:450px;width:90%;display:none}
.overlay-sidebar-close{position:absolute;top:10px;right:15px;cursor:pointer;font-size:20px}
.overlay-sidebar-close::before{content:'\2715'}

/* --- Blog / Article styles --- */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:25px;margin-top:30px}
.blog-card{background:#fff;border:1px solid #eee;border-radius:8px;overflow:hidden;transition:all .3s;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.blog-card:hover{box-shadow:0 5px 20px rgba(0,0,0,.1);transform:translateY(-3px)}
.blog-card-body{padding:20px}
.blog-card-body h3{font-size:17px;margin-bottom:8px}
.blog-card-body h3 a{color:#333}
.blog-card-body h3 a:hover{color:#7c2825}
.blog-card-body p{font-size:13px;color:#666;line-height:1.5}
.blog-card-meta{font-size:12px;color:#999;margin-bottom:8px}
.read-more{display:inline-block;color:#7c2825;font-size:13px;font-weight:500;margin-top:8px}

/* --- Article page --- */
.article-content{max-width:800px;margin:0 auto;padding:30px 0}
.article-content h1{font-size:28px;margin-bottom:20px;line-height:1.3}
.article-content h2{font-size:22px;margin:30px 0 12px;text-align:left}
.article-content h3{font-size:18px;margin:20px 0 10px}
.article-content p{font-size:15px;line-height:1.8;color:#444;margin-bottom:15px}
.article-content ul,.article-content ol{margin-bottom:15px;padding-left:25px}
.article-content li{margin-bottom:6px;font-size:15px;line-height:1.7;color:#444}
.article-content blockquote{border-left:4px solid #7c2825;padding:15px 20px;margin:20px 0;background:#faf5f5;font-style:italic;color:#555}
.article-content a{color:#7c2825;text-decoration:underline}

/* --- CTA block --- */
.cta-block{background:#faf5f5;border:2px solid #7c2825;border-radius:8px;padding:30px;text-align:center;margin:30px 0}
.cta-block h3{color:#7c2825;margin-bottom:10px}
.cta-block p{color:#666;margin-bottom:15px}
.cta-block .btn{font-size:16px;padding:12px 30px}

/* --- Service page template --- */
.service-page{padding:40px 0}
.service-page h1{margin-bottom:20px}
.service-page h2{text-align:left;font-size:22px;margin:30px 0 15px}
.service-page p{font-size:15px;line-height:1.7;color:#444}
.service-page ul{margin-bottom:15px}
.service-page li{margin-bottom:8px;font-size:15px;line-height:1.6;color:#444}
.service-steps{counter-reset:step}
.service-steps .step{display:flex;gap:20px;margin-bottom:20px;align-items:flex-start}
.service-steps .step-num{background:#7c2825;color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;flex-shrink:0}
.service-steps .step-content h3{font-size:16px;margin-bottom:5px}
.service-steps .step-content p{margin:0;font-size:14px;color:#666}

/* --- Contact page --- */
.contact-info{font-size:15px;line-height:1.8}
.contact-info i{color:#7c2825;width:25px;text-align:center;margin-right:10px}
.map-container{width:100%;height:400px;border-radius:8px;overflow:hidden;margin:20px 0;background:#eee;display:flex;align-items:center;justify-content:center;color:#999;font-size:16px;border:1px solid #ddd}

/* --- Reviews --- */
.review-card{background:#fff;border:1px solid #eee;border-radius:8px;padding:20px;margin-bottom:15px;box-shadow:0 2px 6px rgba(0,0,0,.04)}
.review-card .review-name{font-weight:600;color:#333;margin-bottom:5px}
.review-card .review-text{font-size:14px;color:#555;line-height:1.6;font-style:italic}
.review-card .review-placeholder{color:#c00;font-size:12px;margin-top:8px}

/* --- Page hero (inner pages) --- */
.page-hero{background:#7c2825;padding:40px 0;color:#fff}
.page-hero h1{color:#fff;margin:0;font-size:30px}
.page-hero p{color:rgba(255,255,255,.8);margin:5px 0 0}

/* --- Services grid (home) --- */
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px}
.service-card{background:#fff;border:1px solid #eee;border-radius:8px;padding:25px;transition:all .3s;text-decoration:none!important;display:block}
.service-card:hover{box-shadow:0 5px 20px rgba(0,0,0,.1);transform:translateY(-3px);text-decoration:none}
.service-card .service-icon{font-size:32px;margin-bottom:12px}
.service-card h3{font-size:16px;color:#333;margin-bottom:8px}
.service-card p{font-size:13px;color:#666;margin:0;line-height:1.5}

/* --- Why us block --- */
.why-block{display:flex;gap:15px;align-items:flex-start;margin-bottom:20px}
.why-block .why-icon{font-size:28px;flex-shrink:0;width:50px;text-align:center}
.why-block h3{font-size:16px;margin-bottom:5px}
.why-block p{font-size:14px;color:#666;margin:0;line-height:1.5}

/* --- hi class for topbar items --- */
.hi{display:flex;align-items:center}

/* --- Responsive --- */
@media(max-width:767px){
  .row{flex-direction:column}
  [class*="col-xs-"]{width:100%}
  h1{font-size:24px}h2{font-size:20px}
  #banner{padding:40px 0;min-height:auto}
  #banner h1{font-size:26px}
  .index-block{padding:30px 0}
  .blog-grid{grid-template-columns:1fr}
  .services-grid{grid-template-columns:1fr}
  .article-content{padding:20px 0}
  footer .col-xs-12{margin-bottom:25px}
  .page-hero{padding:25px 0}
  .page-hero h1{font-size:24px}
}
@media(min-width:768px) and (max-width:991px){
  [class*="col-sm-6"]{width:50%}
  .blog-grid{grid-template-columns:repeat(2,1fr)}
}
