/**
 * template-base.css
 * Базовые стили шаблона ДельтаБезопасность
 * Содержит: Reset, Typography, Container, Header, Footer, Fixed elements
 */

/* ========== BASE STYLES ========== */
* { box-sizing: border-box; margin: 0; padding: 0; }
a { text-decoration: none; }
img { vertical-align: middle; max-width: 100%; }
ul, ol { margin: 0; padding: 0; }
textarea, input, a, button { outline: none !important; font-family: 'Noto Sans', sans-serif; }
button { cursor: pointer; }
html { scroll-behavior: smooth; }
body { font: 400 14px 'Noto Sans', sans-serif; color: #50545c; background: #fff; }
.main_wrp { width: 1160px; max-width: 100%; margin: 0 auto; padding: 0 10px; }

/* ========== HEADER ========== */
.header_top { display: flex; align-items: flex-start; padding-top: 5px; padding-bottom: 5px; }
.logo { margin-right: 20px; flex: 0 0 auto; margin-top: 6px; }
.logo img { height: 50px; }
.header_top_cont { flex: 1 1 auto; }
.header_top_info { display: flex; justify-content: space-between; border-bottom: 1px solid #dfdfdf; padding-bottom: 5px; }
.header_top_info_left .ttl { margin: 0; font-weight: 400; color: #121426; font-size: 18px; line-height: 24px; }
.header_top_info_left .sub_ttl { font-size: 12px; color: #4f505a; }
.header_phone {
    color: #121426;
    font-size: 24px;
    line-height: 24px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    transition: color 0.3s;
}
.header_phone:hover { color: #b12413; }
.header_phone .svgicon { width: 20px; height: 20px; }
.header_phone_txt { font-size: 12px; color: #4f505a; }
.nav { display: flex; justify-content: space-between; list-style: none; padding: 10px 0; }
.nav li a { color: #121426; font-size: 14px; transition: color 0.3s; }
.nav li a:hover { color: #b12413; text-decoration: underline; }

/* ========== CONTENT SECTIONS ========== */
.content_wrp { background: #fff; padding: 40px 0; }
.article-content { max-width: 1160px; margin: 0 auto; }
.article-content h2 { color: #121426; font-size: 24px; font-weight: 700; margin: 35px 0 20px; padding-bottom: 12px; border-bottom: 2px solid #b12413; }
.article-content h2:first-child { margin-top: 0; }
.article-content h3 { color: #121426; font-size: 18px; font-weight: 700; margin: 25px 0 15px; }
.article-content p { margin-bottom: 15px; color: #50545c; line-height: 1.7; }
.article-content ul, .article-content ol { margin: 15px 0 15px 25px; color: #50545c; }
.article-content li { margin-bottom: 8px; }
.article-content a { color: #0b56b4; text-decoration: underline; }

/* Block title styles */
.about_wrp { background: #eee; padding: 40px 0; }
.block_title { text-align: center; color: #121426; position: relative; margin-bottom: 30px; }
.block_title .ttl { font-weight: 700; font-size: 32px; margin: 0 0 10px; line-height: 1em; text-transform: uppercase; }
.block_title .sub_ttl { font-size: 22px; }
.block_title::before { content: ""; display: block; margin: 0 auto 10px; width: 2px; height: 70px; background: #b12413; }
.block_title::after { content: ""; display: block; margin: 10px auto 0; width: 2px; height: 30px; background: #b12413; }

/* ========== FOOTER ========== */
footer { background: #121426; color: #fff; padding: 25px 0; }
.footer_txt { font-size: 12px; }
.footer_txt a { color: #ffffff; }
.footer_txt a:hover { text-decoration: underline; }
.footer_txt.links { padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1px solid #2b2b2b; }

/* ========== FIXED BUTTON ========== */
.try_btn { position: fixed; right: 30px; bottom: 30px; z-index: 3; color: #fff; text-transform: uppercase; background: #b12413; font-weight: 700; padding: 15px 20px; display: inline-block; text-align: center; box-shadow: 0px 5px 40px 0px rgba(0,0,0,0.17); width: 150px; font-size: 13px; }
.try_btn:hover { background: #c32815; }

/* Blockquote styles */
blockquote {
    border-left: 4px solid #b12413;
    padding: 20px 25px;
    margin: 25px 0;
    background: linear-gradient(135deg, rgba(177,36, 19, 0.05) 0%, rgba(177, 36, 19, 0.02) 100%);
    font-style: italic;
    color: #121426;
}
blockquote p {
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
}
