@charset "utf-8";
/*
 * Шаблон «ТЕХРЕШЕНИЯ» — дополнения для Joomla.
 * Исходные стили вёрстки лежат в template.css и не менялись.
 * Свои правки удобнее писать в user.css (создайте файл рядом — он подключится автоматически).
 */

/* Логотип, вставленный через редактор */
.logo img { max-width: 300px; width: 100%; height: auto; }
.logo p { margin: 0; }

/* Промо-строка и соцсети в шапке */
.t-promo-line p { margin: 0; }
.tr-social img { display: block; }

/* Выпадающее меню: плитки каталога услуг */
.catalog-wrapper {
    position: relative;
    display: block;
    height: 100%;
    min-height: 150px;
    border-radius: var(--radius-md);
    overflow: hidden;
    background: var(--navy);
    text-decoration: none !important;
    box-shadow: var(--shadow-card);
}
.catalog-wrapper img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s cubic-bezier(.2,.7,.2,1);
}
.catalog-wrapper:hover img { transform: scale(1.05); }
.catalog-wrapper .cat-wr-text {
    position: absolute;
    inset: auto 0 0 0;
    padding: 18px 20px;
    background: linear-gradient(0deg, rgba(20,22,24,.85) 0%, rgba(20,22,24,0) 100%);
}
.catalog-wrapper.no-image .cat-wr-text { background: none; }
.catalog-wrapper.no-image { min-height: 96px; }
.catalog-wrapper.no-image { background: linear-gradient(135deg, var(--navy) 0%, var(--navy-soft) 100%); }
.catalog-wrapper.no-image:hover { background: var(--accent); }
.cat-wr-header { color: #fff; font-weight: 600; line-height: 1.3; }
ul.left-menu .nav-header { display: block; padding: 10px 0; color: var(--ink-faint); }
ul.left-menu-sub li a { padding: 6px 0; font-size: .95rem; }

/* Основной материал */
.item-page::after { content: ""; display: table; clear: both; }
.tr-article-body > :last-child { margin-bottom: 0; }
.tr-breadcrumbs .breadcrumb { margin: 1rem 0 0; font-size: .9rem; }

/* Секции: вводный текст справа от заголовка */
.section-lead > :last-child { margin-bottom: 0; }

/* Плашки в первом экране — если пришли списком */
.ht-badges { padding-left: 0; list-style: none; }

/* FAQ: абзацы внутри ответа */
.accordion-body > :last-child { margin-bottom: 0; }
h3.accordion-header { margin: 0; }

/* Блок заявки */
.tr-cta-eyebrow { color: var(--accent-light); }
.tr-cta-text { color: rgba(255,255,255,.72); }
a.tr-cta-phone, a.tr-cta-phone:visited { color: #fff; text-decoration: none; }
.cta-section .social-ic { text-decoration: none; color: #fff;}
/* Кнопка формы — те же стили, что у ссылки a.btn-accent */
button.btn-accent {
    display: inline-block;
    background: linear-gradient(135deg, var(--accent), #DE7A3B);
    color: #fff; border: none; border-radius: 100px;
    padding: 16px 34px; font-weight: 600; font-size: .98rem; line-height: 1.5;
    box-shadow: 0 14px 30px -12px rgba(193,84,31,.55);
    transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s;
    cursor: pointer;
}
button.btn-accent:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.tr-lead-form .form-check-label a { color: inherit; }
.tr-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.tr-form-alert { padding: 14px 18px; border-radius: var(--radius-sm); margin-bottom: 18px; font-size: .95rem; }
.tr-form-alert-ok { background: rgba(255,255,255,.1); color: #fff; }
.tr-form-alert-error { background: var(--accent-soft); color: var(--accent-dark); }

/* Контакты: e-mail и телефон — ссылки, но выглядят как текст */
.tr-contact-value a { color: inherit; text-decoration: none; }
.tr-contact-value a:hover { color: var(--accent); }

/* Подвал */
footer .tr-footer-about { max-width: 320px; font-size: .9rem; }

/* Системные сообщения Joomla */
#system-message-container joomla-alert,
#system-message-container .alert { border-radius: var(--radius-sm); margin: 1rem 0; }

/* Пагинация и списки материалов (страницы категорий/блога) */
.pagination .page-link { color: var(--ink); border-color: var(--line); }
.pagination .page-item.active .page-link { background: var(--accent); border-color: var(--accent); color: #fff; }
.com-content-category-blog__item, .blog-item {
    margin-bottom: 1.5rem; padding: 28px 30px; background: var(--card);
    border-radius: var(--radius-md); box-shadow: var(--shadow-card);
}
.blog-item .page-header h2 { font-family: 'Playfair Display', serif; font-size: 1.35rem; font-weight: 700; margin-bottom: .6rem; }
.blog-item .page-header h2 a { color: var(--ink); text-decoration: none; }
.blog-item .page-header h2 a:hover { color: var(--accent); }
.blog-item > :last-child, .blog-item .item-content > :last-child { margin-bottom: 0; }
.blog-item .item-image img { border-radius: var(--radius-sm); max-width: 100%; height: auto; }
.com-content-category-blog > h1, .com-content-category-blog .page-header h1, .item-page .page-header h1 { margin-bottom: 1.2rem; }
.readmore a.btn { border-radius: 100px; }

/* Страница ошибки */
.tr-error-code { font-family: 'Playfair Display', serif; font-size: clamp(4rem, 12vw, 8rem); font-weight: 800; color: var(--accent); line-height: 1; }
