/* Финальный адаптивный слой. Загружается последним и выравнивает все разделы сайта. */
html { overflow-x: hidden; }
body { min-width: 0; overflow-x: hidden; }
img { max-width: 100%; }
.review-source-note { margin: 12px 0 0; padding: 10px 12px; border-left: 3px solid var(--lime); border-radius: 0 9px 9px 0; color: #777075; background: #f3f5e9; font-size: 12px !important; }
.review-source-note a { color: var(--coral-dark); font-weight: 850; }

@media (max-width: 760px) {
    .container { width: min(100% - 28px, 1180px); }
    .site-header { position: sticky; top: 0; z-index: 50; background: rgba(248,247,243,.96); backdrop-filter: blur(12px); }
    .header-inner { min-height: 66px; }
    .brand-name { font-size: 18px; }
    .header-actions > .button { display: none; }
    .menu-button { display: grid; width: 44px; height: 44px; place-content: center; }
    .menu-button span { width: 22px; }
    .mobile-nav { max-height: calc(100vh - 66px); padding: 10px 14px 18px; overflow-y: auto; background: #f8f7f3; border-top: 1px solid #e4e0d9; }
    .mobile-nav a { display: block; min-height: 46px; padding: 12px 8px; border-bottom: 1px solid #e8e4dd; }

    /* На телефоне служебный текст и управляющие элементы остаются читаемыми.
       Эти правила стоят последними и перекрывают старые компактные стили. */
    .button, .button-small, .button-ghost,
    .chip, .result-review-button, .read-review-link, .helpful-button,
    .aside-link, .text-button, .rules-nav a, .directory-sidebar > a,
    .admin-nav a, .admin-filters a, .admin-entity-actions .button,
    .admin-review-actions > a, .admin-review-actions button,
    .claim-admin-actions button, .review-company-choice .button,
    .lookup-row .button, .not-found-card .button, .search-hints button {
        min-height: 44px;
        font-size: 14px !important;
    }
    .chip, .admin-filters a, .rules-nav a, .directory-sidebar > a { padding: 10px 12px; }
    .admin-company-summary small, .admin-company-added, .admin-company-count small,
    .admin-visibility, .admin-review-rating small, .admin-review-copy > small,
    .admin-review-copy p, .admin-empty-reviews, .parser-source-copy a,
    .parser-source-copy small, .parser-source-status, .parser-help,
    .parser-fields span, .parser-monitor-head strong, .parser-target small,
    .directory-sidebar > a, .directory-sidebar a span, .sidebar-city strong,
    .sidebar-city select, .feed-company small, .feed-review-top time,
    .feed-review footer, .city-links a, .rule-good li, .rule-bad li,
    .moderation-steps strong, .moderation-steps small, .demo-label,
    .demo-review p, .demo-answer p, .demo-review small, .demo-answer small {
        font-size: 13px !important;
    }
    .admin-review-copy header > strong, .admin-company-summary strong,
    .feed-company strong, .feed-review h3, .parser-source-copy strong {
        font-size: 16px !important;
    }

    h1, h2, h3, p, a, span, strong, small { overflow-wrap: anywhere; }
    .live-hero, .catalog-hero, .category-company-hero { padding-top: 38px; padding-bottom: 38px; }
    .live-hero h1, .catalog-hero h1, .live-search-head h1,
    .review-start-head h1, .add-company-copy h1, .rules-hero h1,
    .business-hero h1, .review-detail h1 {
        font-size: clamp(38px, 12vw, 52px) !important;
        line-height: 1.02 !important;
        letter-spacing: -.05em !important;
    }
    .section-heading, .category-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
    .section-heading h2, .category-heading h2 { font-size: 34px; line-height: 1.05; }

    .catalog-search, .search-form, .search-input { width: 100%; }
    .catalog-search .button, .search-form .button, .search-input .button { min-height: 48px; }
    .category-section, .company-tile-section, .fresh-review-section { padding-top: 36px; padding-bottom: 60px; }
    .category-card, .company-tile, .fresh-review-card { border-radius: 17px; }
    .category-copy h3, .company-tile h2, .fresh-company h2 { font-size: 20px; }
    .category-copy p, .company-tile > p, .fresh-review-text { font-size: 15px; }
    .company-tile { min-height: 210px; padding: 18px; }
    .company-tile-meta { align-items: flex-start; flex-direction: column; gap: 5px; }
    .fresh-review-card { padding: 18px; }
    .fresh-review-card > header { align-items: flex-start; flex-direction: column; gap: 8px; }
    .fresh-review-card h3 { font-size: 20px; }
    .star-rating { margin-top: 14px; font-size: 22px; }
    .review-grid, .fresh-review-grid { grid-template-columns: 1fr !important; }
    .review-card { min-height: 0; padding: 20px; }

    .anchor-nav { position: static; }
    .anchor-nav .container { flex-wrap: wrap; gap: 0 18px; padding-block: 8px; overflow: visible; }
    .anchor-nav a { min-height: 42px; padding: 10px 0 8px; }

    .live-result { padding: 16px; border-radius: 16px; }
    .live-result-score { width: 100%; }
    .result-review-button { display: block; width: 100%; min-height: 44px; padding: 11px 14px; text-align: center; }
    .directory-pagination { flex-wrap: nowrap; justify-content: flex-start; margin-inline: -14px; padding: 0 14px 7px; overflow-x: auto; }
    .directory-pagination a { flex: 0 0 auto; min-width: 42px; min-height: 42px; }

    .live-company-hero .company-identity { grid-template-columns: 58px minmax(0,1fr); gap: 12px; }
    .live-company-hero .company-logo-large { width: 58px; height: 58px; }
    .live-company-layout, .live-review-layout { gap: 22px; }
    .facts-card, .review-detail, .full-review, .write-card { padding: 20px !important; border-radius: 18px; }
    .review-data-grid, .details-grid, .mini-facts { grid-template-columns: 1fr !important; }
    .review-photo-gallery { grid-template-columns: 1fr; }
    .review-photo-gallery img { height: auto; max-height: 320px; }

    .company-facts, .rating-summary, .details-grid, .review-data-grid,
    .experience-facts, .claim-admin-card dl, .claim-admin-actions > div {
        grid-template-columns: 1fr !important;
    }
    .company-facts > div, .details-grid > div, .details-grid > div.wide,
    .review-data-grid > div, .experience-facts > div { grid-column: auto !important; border-right: 0 !important; }
    .rating-summary { gap: 16px; }
    .rating-distribution { width: 100%; }
    .feed-review-top, .feed-review footer, .business-actions, .company-actions,
    .review-detail-footer { flex-wrap: wrap; }
    .feed-review footer > * { min-height: 32px; }
    .found-company a { margin-left: 0; }
    .text-link-light { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px !important; }

    .review-start-main { padding-bottom: 60px; }
    .review-path { min-height: 92px; }
    .review-company-picker, .create-company-form { padding: 18px; border-radius: 18px; }
    .review-new-company-strip { padding: 18px; }
    .text-field, textarea, select { width: 100%; min-height: 48px; }
    textarea.text-field { min-height: 150px; }
    .create-submit, .review-form .button-primary { width: 100%; min-height: 52px; }

    .site-footer { padding-top: 42px; }
    .footer-grid { grid-template-columns: 1fr 1fr !important; gap: 30px 18px; }
    .footer-grid > div:first-child { grid-column: 1 / -1; }
    .footer-grid a { min-height: 36px; display: flex; align-items: center; }
    .footer-bottom { align-items: flex-start; padding-bottom: 26px; }

    .admin-main { padding-top: 28px; }
    .admin-head { align-items: flex-start; flex-direction: column; }
    .admin-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
    .admin-nav a { display: grid; min-height: 44px; place-items: center; text-align: center; }
    .admin-logout { margin-left: auto; }
    .admin-search { padding: 8px; }
    .admin-search .button { width: 100%; min-height: 46px; }
    .admin-filters { flex-wrap: nowrap; margin-inline: -14px; padding: 0 14px 7px; overflow-x: auto; }
    .admin-filters a { flex: 0 0 auto; min-height: 40px; display: grid; place-items: center; }
    .admin-company-card { border-radius: 16px; }
    .admin-company-card > summary { padding: 14px; }
    .admin-company-summary strong { font-size: 16px; }
    .admin-entity-actions, .admin-date-action { display: grid !important; grid-template-columns: 1fr; width: 100%; }
    .admin-entity-actions form, .admin-entity-actions .button,
    .admin-date-action input { width: 100%; min-height: 44px; }
    .admin-content-review { grid-template-columns: 42px minmax(0,1fr); }
    .admin-review-copy header { align-items: flex-start; flex-direction: column; }
    .admin-review-copy header > strong { font-size: 14px; }
    .admin-review-actions { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
    .admin-review-actions > a, .admin-review-actions form, .admin-review-actions button { min-height: 42px; }
    .admin-review-date { grid-column: 1 / -1; grid-template-columns: 1fr auto !important; }
    .admin-photo-strip { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .admin-photo-strip img { height: 76px; }
}

@media (max-width: 390px) {
    .container { width: min(100% - 22px, 1180px); }
    .footer-grid { grid-template-columns: 1fr !important; }
    .footer-grid > div:first-child { grid-column: auto; }
    .admin-nav, .admin-review-actions { grid-template-columns: 1fr; }
    .admin-review-date { grid-template-columns: 1fr !important; }
    .admin-photo-strip { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .company-identity { grid-template-columns: 58px minmax(0,1fr); gap: 12px; }
    .company-logo-large { width: 58px; height: 58px; font-size: 18px; }
    .company-title-wrap h1 { font-size: 34px; }
    .section-heading h2, .category-heading h2 { font-size: 30px; }
    .admin-company-card > summary, .admin-content-review { gap: 10px; }
    .parser-target input { min-height: 50px; font-size: 20px; }
}
