/* ============================================================
   ekb-zapravka.ru — Modern redesign (spektr-ekb style, red)
   Поверх темы Initio (Bootstrap 3)
   Подключён из header.php после wp_head.
   ============================================================ */

:root{
	--zp-red:#d92534;
	--zp-red-dark:#b81c29;
	--zp-red-soft:#fdecee;
	--zp-dark:#1e2733;
	--zp-dark-2:#141c26;
	--zp-gray:#5b6675;
	--zp-bg:#f4f6f8;
	--zp-border:#e6e9ee;
	--zp-radius:12px;
	--zp-shadow:0 8px 30px rgba(15,25,40,.08);
	--zp-grad:linear-gradient(135deg,#e23c4a 0%,#c1212f 100%);
}

/* ---------- Base ---------- */
body{
	background:var(--zp-bg) !important;
	color:#2a323d;
	font-family:'Roboto',Arial,Helvetica,sans-serif;
}
a{ color:var(--zp-red); transition:color .2s ease; }
a:hover,a:focus{ color:var(--zp-red-dark); }
img{ max-width:100%; }
::selection{ background:var(--zp-red); color:#fff; }
::-webkit-scrollbar{ width:11px; }
::-webkit-scrollbar-track{ background:#eef1f5; }
::-webkit-scrollbar-thumb{ background:var(--zp-grad); border-radius:8px; }

/* ---------- Header top ---------- */
#header-holder{
	background:#fff !important;
	border-bottom:none !important;
	box-shadow:0 2px 18px rgba(15,25,40,.06);
}
#header-top{
	background:var(--zp-dark) !important;
	padding:9px 0 !important;
	border-bottom:3px solid var(--zp-red);
}
#header-top .pagetop-inner{
	max-width:1240px !important;
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	width:100%;
}
#header-top .top-header{
	font-size:14px !important;
	line-height:1.5;
	display:flex;
	align-items:center;
	flex-wrap:wrap;
}
#header-top .top-header p{ margin:0 !important; }
#header-top .top-header i{ color:#fff; margin-right:7px; }
#header-top .top-phone a{ color:#fff; font-weight:600; letter-spacing:.3px; white-space:nowrap; }
#header-top .top-phone i{ margin-right:6px; }
#header-top .top-phone{ margin:0 6px; }
#header-top .top-phone a:hover{ color:#ff9aa4; }
#header-top .inst{ opacity:.9; transition:opacity .2s; }
#header-top .inst:hover{ opacity:1; }
#header-top .icc{ display:flex; align-items:center; gap:4px; }
#header-top .icc i{ font-size:20px !important; margin:0 6px; color:#c5ccd6; }
#header-top .icc i:hover{ color:#fff; }

/* CTA button "Получить скидку" */
.top_header_n_btn{
	background:var(--zp-grad) !important;
	color:#fff !important;
	margin-top:0 !important;
	padding:8px 20px !important;
	border:none !important;
	border-radius:999px !important;
	font-weight:600 !important;
	font-size:12px !important;
	letter-spacing:.4px;
	box-shadow:0 6px 16px rgba(217,37,66,.35);
	transition:transform .2s,box-shadow .2s !important;
}
.top_header_n_btn:hover{
	transform:translateY(-2px);
	box-shadow:0 10px 22px rgba(217,37,66,.45) !important;
	color:#fff !important;
}
.top_header_n_btn .sales{
	position:static !important;
	background:#fff !important;
	color:var(--zp-red-dark) !important;
	font-weight:700;
	width:24px !important;
	height:24px;
	line-height:24px;
	border-radius:50% !important;
	padding:0 !important;
	margin:0 8px 0 0 !important;
	box-shadow:none !important;
}
.top_header_n_btn .sales:before{ display:none; }

/* ---------- Header / logo / nav ---------- */
#header-wrap{ background:#fff; }
#logo{ margin:0 30px 0 0; display:flex; align-items:center; }
#logo a img{
	height:44px !important;
	max-width:250px !important;
	object-fit:contain;
}
.navbar{ max-width:1240px !important; margin:0 auto !important; }
.navbar-default{
	background:#fff !important;
	border:none !important;
	border-radius:0 !important;
	min-height:64px;
}
.navbar-nav{ background:transparent !important; }
.navbar-nav > li{ position:relative; }
.navbar-nav > li > a{
	padding:22px 16px !important;
	color:var(--zp-dark) !important;
	font-size:13px !important;
	font-weight:600 !important;
	letter-spacing:.4px;
	line-height:20px;
	text-transform:uppercase;
}
.navbar-nav > li > a::after{ display:none; }
.navbar-nav > li > a::before{
	content:'';
	position:absolute;
	left:16px; right:16px; bottom:12px;
	height:3px;
	background:var(--zp-grad);
	border-radius:3px;
	transform:scaleX(0);
	transform-origin:left;
	transition:transform .25s ease;
}
.navbar-nav > li > a:hover::before,
.navbar-nav > li.open > a::before,
.navbar-nav > li.current-menu-item > a::before,
.navbar-nav > li.active > a::before{
	transform:scaleX(1);
}
.navbar-nav > li > a:hover,
.navbar-nav > li.open > a,
.navbar-nav > li.current-menu-item > a,
.navbar-nav > li.active > a{
	color:var(--zp-red) !important;
	background:transparent !important;
}

/* Dropdown menus */
.navbar .dropdown-menu{
	background:#fff !important;
	border:none !important;
	border-radius:0 0 14px 14px !important;
	border-top:3px solid var(--zp-red) !important;
	box-shadow:0 20px 44px rgba(15,25,40,.16);
	padding:10px 0 !important;
	min-width:235px;
}
.dropdown-menu li a{
	color:var(--zp-dark) !important;
	padding:11px 20px !important;
	font-weight:500 !important;
	font-size:14px !important;
	line-height:1.4 !important;
	border-bottom:1px solid #f2f4f7;
	min-height:auto !important;
	height:auto !important;
}
.dropdown-menu li a:hover,
.dropdown-menu li a:focus,
.dropdown-menu li a.active{
	background:#fdecee !important;
	color:var(--zp-red) !important;
	padding-left:26px !important;
}
.dropdown-menu li a:before{ display:none !important; }

/* Mobile toggle */
.navbar-toggle{
	border:none !important;
	background:var(--zp-red) !important;
	border-radius:8px;
}
.navbar-toggle .icon-bar{ background:#fff !important; }

/* ---------- Page title + breadcrumbs ---------- */
.content-posts-wrap{ max-width:1240px !important; }
#post-body #post-title{
	color:var(--zp-dark) !important;
	font-size:34px !important;
	font-weight:700;
	line-height:1.15;
	letter-spacing:-.4px;
	margin:10px 0 20px !important;
	position:relative;
	padding-bottom:16px;
}
#post-body #post-title:after{
	content:'';
	position:absolute;
	left:0; bottom:0;
	width:74px; height:5px;
	background:var(--zp-grad);
	border-radius:4px;
}
.breadcrumbs{
	background:transparent !important;
	border:none !important;
	padding:0 0 14px !important;
	font-size:13px !important;
}
.breadcrumbs-wrap{ overflow:visible !important; }
.breadcrumbs .breadcrumbs-wrap ul li,
.breadcrumbs .breadcrumbs-wrap ul li a{
	font-style:normal !important;
}
.breadcrumbs .breadcrumbs-wrap ul li a{ color:#7a8495 !important; }
.breadcrumbs .breadcrumbs-wrap ul li a:hover{ color:var(--zp-red) !important; }
.breadcrumbs .breadcrumbs-wrap ul li.separator{ color:#c3c9d2 !important; }

/* ---------- Articles ---------- */
#article p{ color:#44505f; line-height:1.75; margin:0 0 18px; font-size:16px; }
#article h2,#article h3,#article h4{ color:var(--zp-dark); font-weight:700; letter-spacing:-.2px; }
#article h2{
	font-size:26px; margin:36px 0 16px;
	padding-left:14px; border-left:5px solid var(--zp-red); border-radius:3px;
}
#article h3{ font-size:21px; margin:30px 0 14px; color:var(--zp-red-dark); }
#article li{ font-size:16px; line-height:1.7; margin-bottom:8px; }

/* ---------- Price tables (TablePress) ---------- */
#main table.tablepress{
	border:1px solid var(--zp-border) !important;
	border-radius:var(--zp-radius) !important;
	overflow:hidden;
	box-shadow:var(--zp-shadow);
	width:100%;
	margin:22px 0 30px !important;
	border-collapse:separate;
	border-spacing:0;
	font-size:15px;
}
#main table.tablepress thead th{
	background:var(--zp-grad) !important;
	color:#fff !important;
	font-weight:700 !important;
	font-size:13px !important;
	letter-spacing:.4px;
	text-transform:uppercase;
	padding:18px 20px !important;
	border:none !important;
}
#main table.tablepress tbody td{
	padding:14px 20px !important;
	border-bottom:1px solid #eef1f5 !important;
	border-top:none !important;
	vertical-align:middle;
	line-height:1.5;
}
#main table.tablepress tbody tr:nth-child(even) td{ background:#fafbfd !important; }
#main table.tablepress tbody tr:hover td{ background:#fdf0f1 !important; }
#main table.tablepress td.column-1{ font-weight:600; color:var(--zp-dark); }
#main table.tablepress td.column-2,
#main table.tablepress td.column-3,
#main table.tablepress td.column-4{
	font-weight:700;
	color:var(--zp-red-dark);
	white-space:nowrap;
	text-align:center;
}
#main table.tablepress tbody td a{ color:var(--zp-red); }

/* ---------- Home / services blocks ---------- */
.services{ padding:26px 0 !important; }
h2.section-title,
.services-left h2,
.services .section-title{
	color:var(--zp-dark);
	font-size:28px;
	font-weight:700;
	letter-spacing:-.3px;
	position:relative;
	margin-bottom:26px !important;
}
h2.section-title::after{
	content:'';
	display:block;
	width:52px; height:5px;
	background:var(--zp-grad);
	border-radius:4px;
	margin-top:12px;
}
.services-blocks{
	border-radius:var(--zp-radius) !important;
	overflow:hidden;
	box-shadow:0 6px 18px rgba(15,25,40,.08);
	transition:transform .22s ease,box-shadow .22s ease;
}
.services-blocks:hover{ transform:translateY(-4px); box-shadow:0 14px 30px rgba(15,25,40,.14); }
#services .block_0{ background:var(--zp-dark) !important; }
#services .block_1{ background:var(--zp-red) !important; }
#services .block_2{ background:#c22f3a !important; }
#services .block_3{ background:#e2535f !important; }
#services .block_4{ background:var(--zp-red-dark) !important; }
#services .block_5{ background:#8f1b26 !important; }
#services .services-blocks a{ color:#fff !important; }
#services .services-blocks h3{ margin:0; }

/* Quick order */
.quick-order__heading{
	font-size:26px; font-weight:700; color:var(--zp-dark);
}
.buttons-wrapper{ gap:16px; }
.btn-new{
	width:auto !important;
	height:52px !important;
	padding:0 26px !important;
	border-radius:999px !important;
	font-weight:600 !important;
	font-size:14px !important;
	box-shadow:0 8px 20px rgba(15,25,40,.12) !important;
	transition:all .25s ease;
}
.btn-new:hover{ transform:translateY(-2px); box-shadow:0 12px 26px rgba(15,25,40,.18) !important; }
.btn-new_grad-1,
.btn-new_grad-2,
.btn-new_grad-3{
	background:var(--zp-grad) !important;
	border:none !important;
}
.btn-new .quick-order__btn-text{ padding-left:10px; color:#fff; }
.btn-new .services__icon{ width:22px; height:auto; filter:brightness(0) invert(1); }

/* ---------- Features / about ---------- */
.feature .circle{ background:var(--zp-grad) !important; box-shadow:0 10px 24px rgba(217,37,66,.3); }
.index_about--left ul li.dot{ list-style:none; position:relative; padding-left:26px; }
.index_about--left ul li.dot::before{
	content:"\2713";
	position:absolute; left:0; top:0;
	color:var(--zp-red);
	font-weight:700;
}
.sub{ font-weight:700; color:var(--zp-dark); font-size:16px; margin-bottom:14px; }

/* ---------- Testimonials ---------- */
.testimonial_rotator_slide_title{ color:var(--zp-dark); font-weight:700; }
#testimonial_rotator_936 .testimonial_rotator_img.img img,
#testimonial_rotator_942 .testimonial_rotator_img.img img{
	border-radius:12px !important;
	box-shadow:var(--zp-shadow);
}

/* ---------- Footer ---------- */
#footer{ background:var(--zp-dark) !important; }
#footer,#footer a{ color:#aeb7c4 !important; }
#footer-wrap{ max-width:1240px; margin:0 auto; padding:46px 20px 20px; }
.footer-widget-col{ padding:0 18px; }
.footer-widget-col h4{
	color:#fff !important;
	font-size:16px !important;
	font-weight:700 !important;
	letter-spacing:.4px;
	border-bottom:none !important;
	position:relative;
	padding-bottom:12px !important;
	margin-bottom:18px !important;
}
.footer-widget-col h4::after{
	content:'';
	display:block;
	width:34px; height:4px;
	background:var(--zp-grad);
	border-radius:3px;
	margin-top:10px;
}
.footer-widget-col ul li{ border-bottom:1px solid #33404f !important; padding:6px 0 !important; }
.footer-widget-col a{ color:#c6cfda !important; }
.footer-widget-col a:hover{ color:var(--zp-red) !important; }

#copyright-links{
	background:var(--zp-dark-2) !important;
	padding:18px 20px !important;
	text-align:center;
	font-size:13px !important;
	color:#9aa6b4 !important;
}
#copyright-links a{ color:#c6cfda !important; text-decoration:none !important; margin:0 8px; }
#copyright-links a:hover{ color:var(--zp-red) !important; text-decoration:underline !important; }

/* ---------- Forms (CF7) ---------- */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea,
.wpcf7-form select{
	border:1px solid var(--zp-border) !important;
	border-radius:10px !important;
	padding:12px 16px !important;
	font-size:15px !important;
	background:#fff;
	box-shadow:none !important;
	transition:border-color .2s,box-shadow .2s;
}
.wpcf7-form input:focus,
.wpcf7-form textarea:focus{
	border-color:var(--zp-red) !important;
	box-shadow:0 0 0 3px rgba(217,37,66,.12) !important;
	outline:none !important;
}
.wpcf7-submit{
	background:var(--zp-grad) !important;
	color:#fff !important;
	border:none !important;
	border-radius:999px !important;
	padding:13px 34px !important;
	font-size:15px !important;
	font-weight:600 !important;
	letter-spacing:.4px;
	cursor:pointer;
	box-shadow:0 8px 20px rgba(217,37,66,.28);
	transition:all .25s ease;
}
.wpcf7-submit:hover{ transform:translateY(-2px); box-shadow:0 12px 26px rgba(217,37,66,.35); }

/* ---------- Generic WC / buttons ---------- */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.post-button,
.content-btn{
	background:var(--zp-grad) !important;
	color:#fff !important;
	border:none !important;
	border-radius:999px !important;
	font-weight:600 !important;
	transition:all .25s ease;
}
.woocommerce a.button:hover{ color:#fff !important; transform:translateY(-2px); }
.btn-default{
	background:var(--zp-grad) !important;
	color:#fff !important;
	border:none !important;
	border-radius:8px !important;
}

/* ---------- Scroll up ---------- */
.back-to-top{
	background:var(--zp-red) !important;
	color:#fff !important;
	border-radius:10px !important;
	box-shadow:0 8px 20px rgba(217,37,66,.3);
}

/* ---------- Sticky header ---------- */
.isStuck{
	background:#fff !important;
	box-shadow:0 6px 22px rgba(15,25,40,.12);
	border-bottom:3px solid var(--zp-red);
}
.admin-bar .isStuck{ top:0 !important; }

/* ===================================================================
   Media queries
   =================================================================== */
@media (max-width:1025px){
	#logo{ width:auto !important; }
	#logo a img{ max-width:220px !important; }
	#header-top .pagetop-inner{ justify-content:center; gap:8px; }
	.navbar-nav > li > a{ padding:14px 12px !important; font-size:12px !important; }
	#main table{ display:block; overflow-x:auto; }
}

@media (max-width:767px){
	#header-top .pagetop-inner{ flex-direction:column; align-items:flex-start; }
	#header-top .top-header{ font-size:13px !important; margin:2px 0; }
	.navbar-collapse{ background:#fff; }
	.navbar-nav > li{ width:100%; }
	.navbar-nav > li > a{ padding:14px 16px !important; }
	.navbar-nav > li > a::before{ display:none; }
	.navbar .dropdown-menu{ position:static; box-shadow:none; }
	#post-body #post-title{ font-size:26px !important; }
	.buttons-wrapper{ flex-direction:column; align-items:center; gap:10px; }
	.btn-new{ width:100% !important; }
	#footer-wrap{ padding:34px 14px 14px; }
	.footer-widget-col{ margin-bottom:26px; }
	#main table.tablepress{ font-size:13px; }
	#main table.tablepress thead th,
	#main table.tablepress tbody td{ padding:10px 12px !important; }
}