/* ==================== MOBILE RESPONSIVE STYLES ==================== */
/* Адаптивные стили для мобильных устройств и планшетов */
/* Не изменяют десктопную версию - только добавляют media queries */

/* Глобальные правила для предотвращения переполнения */
@media screen and (max-width: 1024px) {
    * {
        box-sizing: border-box;
    }
    
    body {
        overflow-x: hidden;
        max-width: 100vw;
        width: 100%;
    }
    
    img {
        max-width: 100%;
        height: auto;
    }
    
    .container {
        max-width: 100%;
        width: 100%;
        padding-left: 16px;
        padding-right: 16px;
    }
    
    section,
    div,
    article {
        max-width: 100%;
    }
}

/* Планшеты (768px - 1024px) */
@media screen and (max-width: 1024px) {
    /* Top Bar */
    .top-bar {
        padding: 10px 0;
    }
    
    .top-bar .container {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
    
    .top-bar-left {
        font-size: 0.85rem;
    }
    
    .top-bar-right {
        gap: 12px;
    }
    
    .top-bar-contact {
        font-size: 0.85rem;
        padding: 6px 10px;
        white-space: nowrap;
    }
    
    /* Header */
    .header-content {
        flex-wrap: wrap;
        gap: 16px;
    }
    
    .main-nav ul {
        gap: 20px;
    }
    
    .main-nav a {
        font-size: 14px;
    }
    
    .header-actions {
        width: 100%;
        justify-content: center;
    }
    
    /* Hero Section */
    .hero {
        padding: 100px 0 70px;
    }
    
    .hero-left h1 {
        font-size: 3.5rem;
    }
    
    .hero-left .subtitle {
        font-size: 1.1rem;
    }
    
    .hero-actions {
        gap: 12px;
    }
    
    .hero-actions .btn {
        padding: 14px 24px;
        font-size: 1rem;
    }
    
    /* Cards Grid */
    .companies-grid,
    .requests-grid,
    .news-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
    
    /* Steps Section */
    .steps-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
    
    /* Features Grid */
    .features-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
    
    /* Footer */
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 32px;
    }
}

/* Мобильные устройства (до 768px) */
@media screen and (max-width: 820px) {
    /* Container */
    .container {
        padding-left: 16px;
        padding-right: 16px;
        max-width: 100%;
    }
    
    /* Top Bar */
    .top-bar {
        padding: 12px 0;
        width: 100%;
    }
    
    .top-bar .container {
        flex-direction: column;
        gap: 12px;
        width: 100%;
    }
    
    .top-bar-left {
        font-size: 0.9rem;
        text-align: center;
        width: 100%;
    }
    
    .top-bar-right {
        width: 100%;
        justify-content: center;
        gap: 12px;
        flex-wrap: wrap;
    }
    
    .top-bar-contact {
        font-size: 0.9rem;
        padding: 10px 14px;
        white-space: nowrap;
    }
    
    .top-bar-contact svg {
        width: 16px;
        height: 16px;
    }
    
    .top-bar-support {
        padding: 10px 16px;
        font-size: 0.9rem;
    }
    
    /* Header */
    header {
        padding: 12px 0;
        width: 100%;
    }
    
    .header-content {
        flex-direction: column;
        gap: 16px;
        width: 100%;
        position: relative;
    }
    
    .logo {
        text-align: center;
        width: 100%;
    }
    
    .logo a {
        font-size: 24px;
    }
    
    /* Hamburger Menu */
    .mobile-menu-toggle {
        display: block;
        background: none;
        border: none;
        font-size: 28px;
        color: #475569;
        cursor: pointer;
        padding: 10px;
        position: absolute;
        right: 0;
        top: 0;
        z-index: 1001;
    }
    
    .main-nav {
        display: none;
        width: 100%;
        background: white;
    }
    
    .main-nav.active {
        display: block;
    }
    
    .main-nav ul {
        flex-direction: column;
        gap: 0;
        width: 100%;
        padding: 0;
        margin: 0;
    }
    
    .main-nav li {
        width: 100%;
        border-bottom: 1px solid #e2e8f0;
    }
    
    .main-nav a {
        display: block;
        text-align: center;
        padding: 16px;
        width: 100%;
        font-size: 16px;
    }
    
    .main-nav a::after {
        display: none;
    }
    
    .header-actions {
        display: flex;
        flex-direction: row;
        gap: 12px;
        width: 100%;
        justify-content: center;
    }
    
    .header-actions .btn {
        flex: 1;
        padding: 12px 16px;
        font-size: 0.95rem;
        justify-content: center;
    }
    
    .header-actions .btn i {
        display: none;
    }
    
    /* Hero Section */
    .hero {
        padding: 48px 0;
        width: 100%;
    }
    
    .hero-content {
        flex-direction: column;
        gap: 32px;
        width: 100%;
    }
    
    .hero-left {
        text-align: center;
        width: 100%;
    }
    
    .hero-left h1 {
        font-size: 2rem;
        letter-spacing: -0.5px;
        line-height: 1.2;
        margin-bottom: 16px;
    }
    
    .hero-left .subtitle {
        font-size: 1rem;
        line-height: 1.5;
        margin-bottom: 24px;
    }
    
    .hero-actions {
        flex-direction: column;
        width: 100%;
        gap: 12px;
    }
    
    .hero-actions .btn {
        width: 100%;
        justify-content: center;
        padding: 14px 20px;
        font-size: 1rem;
    }
    
    /* Sections */
    .section {
        padding: 48px 0;
        width: 100%;
    }
    
    .section h2 {
        font-size: 1.75rem;
        margin-bottom: 12px;
        text-align: center;
    }
    
    .section .subtitle {
        font-size: 1rem;
        text-align: center;
        margin-bottom: 32px;
    }
    
    /* Cards Grid */
    .companies-grid,
    .requests-grid,
    .news-grid,
    .cards-grid {
        grid-template-columns: 1fr;
        gap: 24px;
        width: 100%;
    }
    
    .company-card,
    .request-card,
    .news-card {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        padding: 20px;
    }
    
    .company-card *,
    .request-card *,
    .news-card * {
        max-width: 100%;
        box-sizing: border-box;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
    
    .company-card h3,
    .request-card h3,
    .news-card h3 {
        font-size: 1.15rem;
        word-wrap: break-word;
        overflow-wrap: break-word;
        width: 100%;
    }
    
    .company-card p,
    .request-card p,
    .news-card p,
    .company-card div,
    .request-card div,
    .news-card div {
        font-size: 1rem;
        word-wrap: break-word;
        overflow-wrap: break-word;
        width: 100%;
    }
    
    .company-card .btn,
    .request-card .btn,
    .news-card .btn {
        font-size: 1rem;
        padding: 12px 20px;
        white-space: normal;
        width: 100%;
    }
    
    .company-logo-img,
    .company-logo-placeholder {
        width: 100%;
        max-width: 120px;
        margin: 0 auto;
    }
    
    .company-details,
    .company-location {
        width: 100%;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        white-space: normal !important;
    }
    
    .verified-badge,
    .unverified-badge {
        font-size: 0.85rem;
        padding: 6px 12px;
        position: relative;
        top: auto;
        right: auto;
        margin-bottom: 8px;
    }
    
    /* Company/Request metadata items */
    .company-item-metadata {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .metadata-item {
        display: flex !important;
        align-items: flex-start !important;
        gap: 8px !important;
        padding: 8px 12px !important;
        font-size: 0.85rem !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    .metadata-item i {
        flex-shrink: 0 !important;
        margin-top: 2px !important;
    }
    
    .metadata-item span {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        flex: 1 !important;
        min-width: 0 !important;
    }
    
    /* Companies page - filters and search */
    .companies-container {
        padding: 20px 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    .companies-hero {
        flex-direction: column !important;
        gap: 16px !important;
        text-align: center !important;
        margin-bottom: 20px !important;
    }
    
    .companies-hero > div {
        width: 100% !important;
    }
    
    .companies-hero h1 {
        font-size: 2rem !important;
        letter-spacing: -0.5px !important;
    }
    
    .companies-hero p {
        font-size: 1rem !important;
    }
    
    .companies-controls {
        flex-direction: column !important;
        gap: 16px !important;
        padding: 16px !important;
    }
    
    .search-form {
        width: 100% !important;
        flex-direction: column !important;
    }
    
    .search-form input[type="text"],
    .search-form select,
    .search-form button {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
    }
    
    .controls-right {
        width: 100% !important;
        justify-content: space-between !important;
    }
    
    .controls-right select {
        width: 100% !important;
    }
    
    /* Company item cards */
    .companies-list {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .company-item {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        padding: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }
    
    .company-item * {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    .company-item-logo {
        width: 100% !important;
        height: auto !important;
        max-width: 120px !important;
        max-height: 120px !important;
        margin: 0 auto !important;
        flex-shrink: 0 !important;
    }
    
    .company-item-logo img {
        max-width: 100% !important;
        max-height: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }
    
    /* Company item header and badges */
    .company-item-header {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
        width: 100% !important;
    }
    
    .company-item-header span {
        margin-left: 0 !important;
        white-space: normal !important;
        max-width: 100% !important;
    }
    
    .company-item-name {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    
    .company-item-fullname,
    .company-item-description {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .company-item-content {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }
    
    .company-item-content * {
        max-width: 100% !important;
    }
    
    .company-item-info,
    .company-item-actions {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .company-item-info div,
    .company-item-info span,
    .company-item-info p {
        width: 100% !important;
        max-width: 100% !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
    
    .company-item-right {
        width: 100% !important;
        flex-direction: row !important;
        justify-content: center !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
    }
    
    .company-item-status {
        font-size: 0.75rem !important;
        padding: 8px 12px !important;
        white-space: nowrap !important;
    }
    
    /* Pagination */
    .pagination {
        gap: 8px !important;
        margin: 20px 0 !important;
    }
    
    .pagination-btn {
        padding: 10px 16px !important;
        font-size: 0.85rem !important;
    }
    
    .pagination-numbers {
        gap: 4px !important;
    }
    
    .pagination-link {
        width: 36px !important;
        height: 36px !important;
        font-size: 0.85rem !important;
    }
    
    /* Request Items (Procedures) */
    .requests-list,
    .procedures-list {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .request-item,
    .procedure-item {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        padding: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }
    
    .request-item *,
    .procedure-item * {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    .procedure-item-logo,
    .request-item-logo {
        width: 100% !important;
        height: auto !important;
        max-width: 120px !important;
        max-height: 120px !important;
        margin: 0 auto !important;
        flex-shrink: 0 !important;
    }
    
    .procedure-item-logo img,
    .request-item-logo img {
        max-width: 100% !important;
        max-height: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }
    
    .procedure-item-content,
    .request-left,
    .request-right {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }
    
    .procedure-item-content *,
    .request-left *,
    .request-right * {
        max-width: 100% !important;
    }
    
    .procedure-item-header,
    .request-left h3 {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
        width: 100% !important;
    }
    
    .procedure-item-name,
    .request-left h3 {
        font-size: 1.1rem !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .procedure-badge {
        margin-right: 0 !important;
        white-space: normal !important;
        max-width: 100% !important;
    }
    
    .procedure-item-fullname,
    .procedure-item-description {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .procedure-item-metadata {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .procedure-item-company-full {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .company-full-content {
        width: 100% !important;
    }
    
    .company-full-content .company-name {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
    }
    
    .procedure-item-right,
    .request-right {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
    }
    
    .procedure-item-right-top {
        width: 100% !important;
        display: flex !important;
        flex-direction: row !important;
        justify-content: center !important;
        flex-wrap: wrap !important;
    }
    
    .procedure-item-budget,
    .procedure-item-status,
    .budget-box {
        white-space: nowrap !important;
        font-size: 0.75rem !important;
        padding: 8px 12px !important;
    }
    
    .request-right .meta-text,
    .request-right .category-tag,
    .category-tag {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        max-width: 100% !important;
        font-size: 0.95rem;
        white-space: normal !important;
        display: inline-block !important;
        box-sizing: border-box !important;
    }
    
    .request-right .btn {
        width: 100%;
        justify-content: center;
        padding: 12px 16px;
        margin-top: 8px;
    }
    
    /* How It Works Section */
    .how-it-works-section {
        padding: 48px 0;
        width: 100%;
    }
    
    .how-it-works-grid {
        grid-template-columns: 1fr;
        gap: 24px;
        width: 100%;
    }
    
    .step-card {
        padding: 24px;
        width: 100%;
        max-width: 100%;
    }
    
    .step-number {
        font-size: 2.5rem;
    }
    
    .step-icon {
        font-size: 2.5rem;
        margin-bottom: 16px;
    }
    
    .step-card h3 {
        font-size: 1.3rem;
        margin: 16px 0 12px;
    }
    
    .step-card p {
        font-size: 1rem;
    }
    
    .step-arrow {
        display: none;
    }
    
    /* Features Grid */
    .features-grid {
        grid-template-columns: 1fr;
        gap: 24px;
        width: 100%;
    }
    
    .feature-card {
        padding: 24px;
        width: 100%;
        max-width: 100%;
    }
    
    .feature-icon {
        font-size: 3rem;
        margin-bottom: 16px;
    }
    
    .feature-card h3 {
        font-size: 1.25rem;
        margin-bottom: 12px;
    }
    
    .feature-card p {
        font-size: 1rem;
    }
    
    /* Search Section */
    .search-section {
        padding: 48px 0;
        width: 100%;
    }
    
    .search-container-full {
        padding: 0;
        width: 100%;
    }
    
    .section-header {
        text-align: center;
        margin-bottom: 24px;
        width: 100%;
    }
    
    .section-header h2 {
        font-size: 1.75rem;
        margin-bottom: 12px;
    }
    
    .section-header p {
        font-size: 1rem;
    }
    
    .search-bar-large {
        flex-direction: column;
        gap: 12px;
        padding: 20px;
        width: 100%;
    }
    
    .search-icon {
        position: absolute;
        left: 32px;
        top: 32px;
        font-size: 1.3rem;
    }
    
    .search-input {
        width: 100%;
        font-size: 1rem;
        padding: 16px 16px 16px 52px;
        border-radius: 8px;
    }
    
    .search-btn {
        width: 100%;
        padding: 16px;
        font-size: 1rem;
        border-radius: 8px;
    }
    
    .search-btn span {
        display: inline;
    }
    
    /* News Section */
    .news-section {
        padding: 48px 0;
        width: 100%;
    }
    
    .news-card {
        width: 100%;
        max-width: 100%;
    }
    
    .news-image {
        height: 220px;
        border-radius: 8px 8px 0 0;
    }
    
    .news-content {
        padding: 20px;
    }
    
    .news-date {
        font-size: 0.9rem;
        margin-bottom: 12px;
    }
    
    .news-content h3 {
        font-size: 1.2rem;
        margin-bottom: 12px;
    }
    
    .news-preview {
        font-size: 1rem;
        line-height: 1.5;
    }
    
    .news-read-more {
        font-size: 1rem;
        padding: 10px 18px;
    }
    
    /* CTA Section */
    .cta-section {
        padding: 56px 16px;
        margin: 48px 0;
        width: 100%;
    }
    
    .cta-section h2 {
        font-size: 2rem;
        margin-bottom: 16px;
    }
    
    .cta-section p {
        font-size: 1rem;
        margin-bottom: 28px;
    }
    
    .cta-actions {
        flex-direction: column;
        gap: 12px;
        width: 100%;
    }
    
    .cta-actions .btn {
        width: 100%;
        padding: 16px 24px;
        font-size: 1rem;
    }
    
    /* Organization Detail Page */
    .org-page-wrapper {
        width: 100% !important;
        overflow-x: hidden !important;
    }
    
    .org-container {
        padding: 20px 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    .org-card-header {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
        padding: 20px 16px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    .org-card-header * {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    .org-card-logo {
        width: 100% !important;
        height: auto !important;
        max-width: 150px !important;
        max-height: 150px !important;
        margin: 0 auto !important;
        flex-shrink: 0 !important;
    }
    
    .org-card-logo img {
        max-width: 100% !important;
        max-height: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }
    
    .org-logo-placeholder {
        width: 100% !important;
        height: 150px !important;
        max-width: 150px !important;
    }
    
    .org-card-title {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .org-card-title > div {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
        width: 100% !important;
    }
    
    .org-card-title h1 {
        font-size: 1.5rem !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        width: 100% !important;
    }
    
    .org-card-title span {
        margin-left: 0 !important;
        white-space: normal !important;
        max-width: 100% !important;
        word-wrap: break-word !important;
    }
    
    .org-card-full-name {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        width: 100% !important;
        font-size: 0.9rem !important;
    }
    
    .org-card-lead {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        width: 100% !important;
        font-size: 1rem !important;
    }
    
    .org-card-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
        width: 100% !important;
    }
    
    .org-card-main,
    .org-card-sidebar {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .org-card-section {
        width: 100% !important;
        max-width: 100% !important;
        padding: 20px 16px !important;
        box-sizing: border-box !important;
        margin-bottom: 20px !important;
    }
    
    .org-section-title {
        font-size: 1.2rem !important;
        word-wrap: break-word !important;
        width: 100% !important;
    }
    
    .org-section-content {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .org-section-content * {
        max-width: 100% !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
    
    .org-list-item,
    .okved-item {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        width: 100% !important;
        padding: 12px !important;
    }
    
    .okved-code,
    .okved-desc {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        width: 100% !important;
    }
    
    .requests-compact-list {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .request-compact-item {
        width: 100% !important;
        max-width: 100% !important;
        padding: 16px 12px !important;
        box-sizing: border-box !important;
    }
    
    .request-compact-header {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        width: 100% !important;
    }
    
    .request-compact-title {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        width: 100% !important;
        font-size: 1rem !important;
    }
    
    .request-compact-type {
        white-space: nowrap !important;
        font-size: 0.75rem !important;
    }
    
    .request-compact-meta {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        width: 100% !important;
    }
    
    .request-compact-meta span {
        font-size: 0.85rem !important;
        word-wrap: break-word !important;
    }
    
    .org-header {
        flex-direction: column !important;
        gap: 16px !important;
        align-items: flex-start !important;
    }
    
    .org-logo {
        width: 100px !important;
        height: 100px !important;
    }
    
    .org-title {
        font-size: 1.75rem !important;
    }
    
    .org-content {
        flex-direction: column !important;
        gap: 24px !important;
    }
    
    .org-main {
        width: 100% !important;
    }
    
    .org-sidebar {
        width: 100% !important;
    }
    
    /* Procedures Page */
    .procedures-container {
        padding: 20px 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    .procedures-hero {
        flex-direction: column !important;
        gap: 16px !important;
        text-align: center !important;
        margin-bottom: 20px !important;
    }
    
    .procedures-hero > div {
        width: 100% !important;
    }
    
    .procedures-hero h1 {
        font-size: 2rem !important;
        letter-spacing: -0.5px !important;
    }
    
    .procedures-hero p {
        font-size: 1rem !important;
    }
    
    .procedures-controls {
        flex-direction: column !important;
        gap: 16px !important;
        width: 100% !important;
    }
    
    .search-form {
        width: 100% !important;
        flex-direction: column !important;
        gap: 12px !important;
    }
    
    .search-form input[type="text"],
    .search-form select,
    .search-form button {
        width: 100% !important;
    }
    
    .procedures-header {
        flex-direction: column !important;
        gap: 16px !important;
    }
    
    .procedures-filters {
        flex-direction: column !important;
        gap: 12px !important;
        width: 100% !important;
    }
    
    .filter-group {
        width: 100% !important;
    }
    
    .filter-group select,
    .filter-group input {
        width: 100% !important;
    }
    
    /* Request Detail Page */
    .request-header {
        flex-direction: column;
        gap: var(--spacing-4);
    }
    
    .request-title {
        font-size: 1.75rem;
    }
    
    .request-meta {
        flex-wrap: wrap;
        gap: var(--spacing-2);
    }
    
    .request-content {
        flex-direction: column;
        gap: var(--spacing-6);
    }
    
    .request-main {
        width: 100%;
    }
    
    .request-sidebar {
        width: 100%;
    }
    
    /* News Page */
    .news-container {
        padding: 20px 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    .news-header {
        flex-direction: column !important;
        gap: 16px !important;
        text-align: center !important;
        margin-bottom: 20px !important;
    }
    
    .news-title {
        font-size: 2rem !important;
    }
    
    .news-list {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
    }
    
    .news-item {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 16px !important;
    }
    
    .news-item * {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    .news-item-image {
        width: 100% !important;
        height: 180px !important;
        max-width: 100% !important;
        flex-shrink: 0 !important;
    }
    
    .news-item-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
    
    .news-item-content {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
        min-width: 100% !important;
    }
    
    .news-item-title {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        width: 100% !important;
        font-size: 1.1rem !important;
    }
    
    .news-item-meta {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        width: 100% !important;
    }
    
    .news-item-meta span {
        white-space: nowrap !important;
        font-size: 0.75rem !important;
    }
    
    .news-item-preview {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        width: 100% !important;
        font-size: 0.9rem !important;
    }
    
    .news-content {
        flex-direction: column !important;
        gap: 24px !important;
    }
    
    .news-main {
        width: 100% !important;
    }
    
    .news-sidebar {
        width: 100% !important;
    }
    
    /* News Detail Page */
    .news-detail-container {
        width: 100% !important;
        max-width: 100% !important;
        padding: 20px 16px !important;
        box-sizing: border-box !important;
    }
    
    .news-detail-container * {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    .back-button {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        margin-bottom: 16px !important;
        font-size: 0.9rem !important;
        padding: 8px 12px !important;
    }
    
    .breadcrumb {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        width: 100% !important;
        margin-bottom: 20px !important;
        font-size: 0.85rem !important;
    }
    
    .breadcrumb a,
    .breadcrumb span {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
    
    .news-detail-card {
        width: 100% !important;
        max-width: 100% !important;
        padding: 20px 16px !important;
        box-sizing: border-box !important;
    }
    
    .news-detail-header {
        width: 100% !important;
        margin-bottom: 20px !important;
    }
    
    .news-detail-title {
        font-size: 1.5rem !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        width: 100% !important;
        margin-bottom: 16px !important;
        line-height: 1.3 !important;
    }
    
    .news-detail-meta {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        width: 100% !important;
        font-size: 0.85rem !important;
    }
    
    .news-detail-meta span {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        word-wrap: break-word !important;
    }
    
    .news-detail-image-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 20px !important;
        overflow: hidden !important;
    }
    
    .news-detail-image {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
        border-radius: 8px !important;
    }
    
    .news-detail-content {
        width: 100% !important;
        max-width: 100% !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        font-size: 1rem !important;
        line-height: 1.7 !important;
    }
    
    .news-detail-content p {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        margin: 12px 0 !important;
    }
    
    .news-detail-content h2,
    .news-detail-content h3,
    .news-detail-content h4 {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        margin: 20px 0 12px 0 !important;
    }
    
    .news-detail-content img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
        margin: 16px 0 !important;
    }
    
    .news-detail-content ul,
    .news-detail-content ol {
        padding-left: 24px !important;
        margin: 16px 0 !important;
    }
    
    .news-detail-content li {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        margin: 8px 0 !important;
    }
    
    .related-news {
        width: 100% !important;
        max-width: 100% !important;
        padding: 20px 0 !important;
        margin-top: 40px !important;
    }
    
    .related-news h2 {
        font-size: 1.5rem !important;
        word-wrap: break-word !important;
        margin-bottom: 20px !important;
    }
    
    .related-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        width: 100% !important;
    }
    
    .related-card {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        padding: 12px !important;
        box-sizing: border-box !important;
        text-decoration: none !important;
    }
    
    .related-image,
    .related-image-placeholder {
        width: 100% !important;
        max-width: 100% !important;
        height: 180px !important;
        object-fit: cover !important;
        border-radius: 8px !important;
    }
    
    .related-image-placeholder {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 3rem !important;
    }
    
    .related-content {
        width: 100% !important;
    }
    
    .related-title {
        font-size: 1.1rem !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        width: 100% !important;
        margin-bottom: 8px !important;
    }
    
    .related-meta {
        font-size: 0.85rem !important;
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
    }
    
    /* Request Detail Page */
    .request-page {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        margin: 0 !important;
    }
    
    .request-page > * {
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }
    
    .request-page *,
    .page-header *,
    .content-layout *,
    .main-content *,
    .meta-sidebar *,
    .company-section *,
    .content-section * {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    .expired-notice {
        width: 100% !important;
        padding: 16px !important;
        margin-bottom: 20px !important;
    }
    
    .expired-notice-content {
        width: 100% !important;
    }
    
    .expired-notice-content h3 {
        font-size: 1.2rem !important;
        word-wrap: break-word !important;
    }
    
    .page-header {
        width: 100% !important;
        padding: 20px 16px !important;
        box-sizing: border-box !important;
    }
    
    .page-header-top {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        width: 100% !important;
    }
    
    .page-header-top h1 {
        font-size: 1.5rem !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        width: 100% !important;
        margin: 0 !important;
    }
    
    .page-subtitle {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        font-size: 0.9rem !important;
    }
    
    .header-actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        width: 100% !important;
    }
    
    .header-actions .btn {
        width: 100% !important;
        text-align: center !important;
        white-space: normal !important;
        padding: 12px 16px !important;
    }
    
    .status-row {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        width: 100% !important;
        margin-top: 16px !important;
    }
    
    .status-row > div {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        width: 100% !important;
    }
    
    .badge {
        font-size: 0.75rem !important;
        padding: 6px 12px !important;
        white-space: nowrap !important;
    }
    
    .status-verified-badge {
        white-space: nowrap !important;
        font-size: 0.85rem !important;
    }
    
    .meta-info {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        width: 100% !important;
        margin-top: 12px !important;
    }
    
    .meta-info-item {
        font-size: 0.85rem !important;
        word-wrap: break-word !important;
    }
    
    .content-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
        width: 100% !important;
    }
    
    .meta-sidebar {
        width: 100% !important;
        max-width: 100% !important;
        order: 2 !important;
    }
    
    .main-content {
        width: 100% !important;
        max-width: 100% !important;
        order: 1 !important;
    }
    
    .meta-card {
        width: 100% !important;
        max-width: 100% !important;
        padding: 16px !important;
        margin-bottom: 20px !important;
    }
    
    .meta-card-title {
        font-size: 1.1rem !important;
        word-wrap: break-word !important;
        margin-bottom: 16px !important;
    }
    
    .meta-item {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        width: 100% !important;
        padding: 12px 0 !important;
    }
    
    .meta-label {
        font-size: 0.85rem !important;
        word-wrap: break-word !important;
    }
    
    .meta-value {
        font-size: 0.95rem !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        width: 100% !important;
    }
    
    .description-section {
        width: 100% !important;
        padding: 20px 16px !important;
    }
    
    .description-section h2 {
        font-size: 1.3rem !important;
        word-wrap: break-word !important;
    }
    
    .description-content {
        width: 100% !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        font-size: 1rem !important;
        line-height: 1.6 !important;
    }
    
    .company-section {
        width: 100% !important;
        max-width: 100% !important;
        padding: 20px 16px !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
    }
    
    .company-icon {
        width: 100% !important;
        max-width: 120px !important;
        height: 120px !important;
        margin: 0 auto !important;
        flex-shrink: 0 !important;
    }
    
    .company-icon img {
        max-width: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
    }
    
    .company-icon i {
        font-size: 4rem !important;
    }
    
    .company-details {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .company-name {
        font-size: 1.3rem !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        width: 100% !important;
    }
    
    .company-text {
        width: 100% !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        font-size: 0.95rem !important;
    }
    
    .company-meta {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        width: 100% !important;
    }
    
    .company-meta-item {
        display: flex !important;
        flex-direction: row !important;
        gap: 8px !important;
        align-items: flex-start !important;
        width: 100% !important;
    }
    
    .company-meta-item i {
        flex-shrink: 0 !important;
        margin-top: 3px !important;
    }
    
    .company-meta-item div {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        width: 100% !important;
        font-size: 0.9rem !important;
    }
    
    .content-section {
        width: 100% !important;
        max-width: 100% !important;
        padding: 20px 16px !important;
        box-sizing: border-box !important;
        margin-bottom: 20px !important;
    }
    
    .section-header {
        font-size: 1.2rem !important;
        word-wrap: break-word !important;
        width: 100% !important;
        margin-bottom: 16px !important;
    }
    
    .description-text {
        width: 100% !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        font-size: 1rem !important;
        line-height: 1.6 !important;
        white-space: pre-wrap !important;
    }
    
    .files-list {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
    }
    
    .file-item {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        padding: 12px !important;
        box-sizing: border-box !important;
    }
    
    .file-left {
        display: flex !important;
        flex-direction: row !important;
        gap: 12px !important;
        width: 100% !important;
        align-items: center !important;
    }
    
    .file-icon {
        flex-shrink: 0 !important;
        width: 40px !important;
        height: 40px !important;
        font-size: 1.5rem !important;
    }
    
    .file-info {
        flex: 1 !important;
        min-width: 0 !important;
        width: 100% !important;
    }
    
    .file-name {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        font-size: 0.9rem !important;
        width: 100% !important;
    }
    
    .file-meta {
        font-size: 0.8rem !important;
        white-space: nowrap !important;
    }
    
    .file-download {
        width: 100% !important;
        text-align: center !important;
        padding: 10px 16px !important;
        font-size: 0.9rem !important;
        white-space: nowrap !important;
    }
    
    .contacts-box {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
    }
    
    .contact-row {
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important;
        width: 100% !important;
        word-wrap: break-word !important;
        font-size: 0.9rem !important;
    }
    
    .contact-row i {
        font-size: 1rem !important;
    }
    
    .contact-row a {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
    
    .contacts-hidden {
        width: 100% !important;
        padding: 20px 16px !important;
        text-align: center !important;
    }
    
    .contacts-hidden h4 {
        font-size: 1.1rem !important;
        word-wrap: break-word !important;
    }
    
    .contacts-hidden p {
        font-size: 0.9rem !important;
        word-wrap: break-word !important;
    }
    
    .company-info-card {
        width: 100% !important;
        max-width: 100% !important;
        padding: 20px 16px !important;
        box-sizing: border-box !important;
    }
    
    .company-info-card * {
        max-width: 100% !important;
    }
    
    .company-header {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        align-items: center !important;
        text-align: center !important;
    }
    
    .company-logo {
        width: 100px !important;
        height: 100px !important;
        flex-shrink: 0 !important;
    }
    
    .company-logo img {
        max-width: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
    }
    
    .company-title {
        width: 100% !important;
    }
    
    .company-title h3 {
        font-size: 1.2rem !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
    }
    
    .company-details {
        width: 100% !important;
    }
    
    .company-detail-item {
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important;
        padding: 10px 0 !important;
        word-wrap: break-word !important;
    }
    
    .company-detail-item strong {
        font-size: 0.85rem !important;
    }
    
    .company-detail-item span,
    .company-detail-item a {
        font-size: 0.9rem !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
    
    .attachments-section {
        width: 100% !important;
        padding: 20px 16px !important;
    }
    
    .attachments-list {
        width: 100% !important;
    }
    
    .attachment-item {
        width: 100% !important;
        padding: 12px !important;
        word-wrap: break-word !important;
    }
    
    .attachment-item a {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        font-size: 0.9rem !important;
    }
    
    .responses-section {
        width: 100% !important;
        padding: 20px 16px !important;
    }
    
    .response-item {
        width: 100% !important;
        padding: 16px 12px !important;
        word-wrap: break-word !important;
    }
    
    .response-header {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }
    
    .response-author {
        font-size: 1rem !important;
        word-wrap: break-word !important;
    }
    
    .response-date {
        font-size: 0.8rem !important;
    }
    
    .response-content {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        font-size: 0.95rem !important;
    }
    
    /* Static Page */
    .static-page-content {
        width: 100% !important;
        max-width: 100% !important;
        padding: 20px 0 !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }
    
    .static-page-content .container {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 16px !important;
        box-sizing: border-box !important;
    }
    
    .static-page-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        padding: 24px 16px !important;
        box-sizing: border-box !important;
        border-radius: 8px !important;
    }
    
    .static-page-wrapper * {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    .static-page-wrapper h1 {
        font-size: 1.75rem !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        padding-bottom: 12px !important;
    }
    
    .static-page-meta {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
        font-size: 0.85rem !important;
    }
    
    .static-page-body {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 0.95rem !important;
        line-height: 1.7 !important;
    }
    
    .static-page-body * {
        max-width: 100% !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
    
    .static-page-body h2 {
        font-size: 1.5rem !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        margin: 24px 0 16px 0 !important;
    }
    
    .static-page-body h3 {
        font-size: 1.25rem !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        margin: 20px 0 12px 0 !important;
    }
    
    .static-page-body h4,
    .static-page-body h5,
    .static-page-body h6 {
        font-size: 1.1rem !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
    }
    
    .static-page-body p {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        margin: 12px 0 !important;
        text-align: left !important;
    }
    
    .static-page-body ul,
    .static-page-body ol {
        padding-left: 24px !important;
        margin: 16px 0 !important;
    }
    
    .static-page-body ul li,
    .static-page-body ol li {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        margin: 8px 0 !important;
    }
    
    .static-page-body table {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        margin: 16px 0 !important;
        font-size: 0.85rem !important;
    }
    
    .static-page-body table td,
    .static-page-body table th {
        padding: 8px 10px !important;
        word-wrap: break-word !important;
        min-width: 80px !important;
    }
    
    .static-page-body img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
        margin: 16px 0 !important;
    }
    
    .static-page-body iframe,
    .static-page-body video {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 16/9 !important;
    }
    
    .static-page-body a {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
    
    .static-page-body blockquote {
        width: 100% !important;
        max-width: 100% !important;
        padding: 12px 16px !important;
        margin: 16px 0 !important;
        border-left-width: 3px !important;
    }
    
    .static-page-body pre,
    .static-page-body code {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        word-wrap: break-word !important;
        white-space: pre-wrap !important;
        font-size: 0.85rem !important;
    }
    
    .static-page-header h1 {
        font-size: 2rem;
    }
    
    /* Footer */
    footer {
        padding: 48px 0 24px;
    }
    
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    
    .footer-col {
        width: 100%;
        text-align: center;
    }
    
    .footer-col h4 {
        font-size: 1.1rem;
        margin-bottom: 16px;
    }
    
    .footer-col p,
    .footer-col a {
        font-size: 0.9rem;
    }
    
    .footer-col ul {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    .footer-col li {
        width: 100%;
        text-align: center;
    }
    
    .footer-col a {
        justify-content: center;
    }
    
    .footer-col a:hover {
        padding-left: 0;
    }
    
    .footer-col a::before {
        display: none;
    }
    
    .social-links {
        justify-content: center;
    }
    
    .footer-bottom {
        flex-direction: column;
        gap: 16px;
        text-align: center;
    }
    
    .footer-bottom-left {
        align-items: center;
        text-align: center;
        width: 100%;
    }
    
    .footer-requisites {
        text-align: center;
    }
    
    .payment-system {
        justify-content: center;
        flex-wrap: wrap;
    }
    
    /* Tables */
    .table-responsive {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    table {
        min-width: 600px;
    }
    
    /* Buttons */
    .btn-group {
        flex-direction: column;
        gap: var(--spacing-2);
    }
    
    .btn-group .btn {
        width: 100%;
    }
    
    /* Modals */
    .modal-content {
        width: 95%;
        max-width: 500px;
        margin: var(--spacing-4);
    }
    
    /* Forms */
    .form-row {
        flex-direction: column;
        gap: var(--spacing-4);
    }
    
    .form-group {
        width: 100%;
    }
}

/* Очень маленькие мобильные устройства (до 480px) */
@media screen and (max-width: 480px) {
    .container {
        padding-left: 12px;
        padding-right: 12px;
    }
    
    .top-bar-left {
        font-size: 0.75rem;
    }
    
    .top-bar-contact {
        font-size: 0.75rem;
        padding: 6px 8px;
        white-space: nowrap;
    }
    
    .top-bar-support {
        font-size: 0.75rem;
        padding: 6px 10px;
    }
    
    .logo a {
        font-size: 18px;
    }
    
    .header-actions .btn {
        padding: 6px 10px;
        font-size: 0.8rem;
    }
    
    .hero {
        padding: 30px 0 20px;
    }
    
    .hero-left h1 {
        font-size: 1.5rem;
    }
    
    .hero-left .subtitle {
        font-size: 0.85rem;
    }
    
    .hero-actions .btn {
        padding: 10px 16px;
        font-size: 0.85rem;
    }
    
    .section {
        padding: 24px 0;
    }
    
    .section h2 {
        font-size: 1.35rem;
    }
    
    .section .subtitle {
        font-size: 0.85rem;
    }
    
    .btn {
        padding: 10px 14px;
        font-size: 0.85rem;
    }
    
    .footer-col h4 {
        font-size: 1rem;
    }
    
    .footer-col p,
    .footer-col a {
        font-size: 0.85rem;
    }
}
