/* Desktop fixed header */
@media (min-width: 1200px) {
  .ram-scroll-top { bottom: 30px; }
  .header.sticky-bar {
    position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
    box-shadow: 0 4px 18px rgba(5, 38, 78, 0.08);
  }

  body.has-desktop-fixed-header { padding-top: var(--ram-header-height); }

  .header .main-header {
    display: flex !important; align-items: center; gap: 10px; flex-wrap: nowrap;
  }

  .header .header-left { flex: 0 0 auto; }
  .header-location-filters { flex: 0 0 auto; }
  .header .header-nav { flex: 1 1 auto; display: block !important; }
  .header .header-right { flex: 0 0 auto; display: block !important; }
  .header .header-burger { display: none !important; }

  .header-filter-pill { flex: 0 0 auto; min-width: 120px; max-width: 160px; }
  .project-slider-wrapper { width: 200px; }

  .home-page__content { padding: 20px 20px 28px; }
  .category-tabs-scroll .tab-icon { width: 52px !important; height: 52px !important; }
  .category-tabs-scroll .nav-link span { font-size: 11px; }
  .tab-icon-wrap { width: 56px; height: 56px; font-size: 24px; }
  .places-grid { grid-template-columns: repeat(4, 1fr); }
  .all-listing-grid { grid-template-columns: repeat(4, 1fr); }
  .coupon-pop-grid { grid-template-columns: repeat(3, 1fr); }
  .coupon-featured-card { flex-basis: min(70%, 400px); }
  .job-card__media img { width: 80px; height: 80px; }
  .job-card__title { font-size: 15px; }
}

/* Tablet & mobile header — single row */
@media (max-width: 1199.98px) {
  :root { --ram-header-height-mobile: 64px; }

  body { padding-top: var(--ram-header-height-mobile); padding-bottom: 64px; }

  .header.sticky-bar {
    position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
    background: #fff !important;
    padding: 8px 0;
    box-shadow: 0 2px 14px rgba(5, 38, 78, 0.07);
  }

  .header .container-fluid { padding: 0 10px; }

  .header .main-header {
    display: flex !important;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 6px;
    min-height: 48px;
  }

  .header .header-left {
    flex: 0 0 auto;
    min-width: 0;
    width: auto;
  }

  .header .project-slider-wrapper {
    width: auto;
    max-width: 108px;
    margin: 0;
  }

  .header .project-item img { height: 40px; }

  .header-location-filters {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 4px;
  }

  .header .header-burger,
  .header .ram-burger {
    flex: 0 0 auto;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    width: 38px;
    height: 38px;
    cursor: pointer;
    z-index: 1001;
    border-radius: 10px;
    background: rgba(60, 101, 245, 0.06);
  }

  .header .header-nav,
  .header .header-right { display: none !important; }

  .header-filter-pill {
    flex: 1 1 0;
    min-width: 0;
    height: 36px;
    padding: 0 8px;
    box-shadow: 0 2px 8px rgba(5, 38, 78, 0.06);
  }

  .header-filter-pill__icon { width: 14px; font-size: 11px; }

  .header-filter-select {
    font-size: 11px;
    font-weight: 600;
    height: 34px;
    padding: 0 12px 0 4px;
  }

  .home-hero { padding-top: 10px; }

  .sticky-footer { display: flex; }
  .ram-footer { margin-bottom: 0; padding-top: 32px; }
  .ram-scroll-top { bottom: 78px; right: 16px; width: 44px; height: 44px; }
}

@media (max-width: 1199.98px) {
  .directory-grid { grid-template-columns: repeat(4, 1fr); }
  .places-grid { grid-template-columns: repeat(4, 1fr); }
  .all-listing-grid { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 991.98px) {
  .directory-grid { grid-template-columns: repeat(3, 1fr); }
  .dir-cat-nav__item { min-width: 88px; padding: 10px 12px 8px; }
  .group-cats { grid-template-columns: repeat(3, 1fr); }
  .group-card { grid-template-columns: 110px 1fr auto; }
  .group-card img { width: 110px; height: 88px; }
  .groups-categories-grid { grid-template-columns: repeat(2, 1fr); }
  .property-active-filters__grid { grid-template-columns: repeat(2, 1fr); }
  .property-card { grid-template-columns: 120px 1fr; }
  .property-card__media img { height: 108px; }
  .jobs-type-grid { grid-template-columns: repeat(3, 1fr); }
  .jobs-list { grid-template-columns: 1fr; }
  .local-featured-grid { grid-template-columns: repeat(2, 1fr); }
  .local-pop-item { grid-template-columns: 30px 1fr auto; }
  .help-card-grid { grid-template-columns: repeat(2, 1fr); }
  .help-category-grid { grid-template-columns: repeat(4, 1fr); }

  .services-tab__hero {
    grid-template-columns: 1fr;
    grid-template-areas: "intro" "search" "location";
    gap: 12px;
  }

  .services-tab__subtitle { max-width: 100%; }

  .services-tab__location { justify-self: start; }

  .services-trust {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    padding: 16px 14px;
  }

  .places-tab__hero {
    grid-template-columns: 1fr;
    grid-template-areas: "intro" "search" "actions";
    gap: 12px;
  }

  .places-tab__actions { justify-content: flex-start; }
  .places-grid { grid-template-columns: repeat(3, 1fr); }
  .all-listing-grid { grid-template-columns: repeat(3, 1fr); }
  .coupon-pop-grid { grid-template-columns: repeat(2, 1fr); }
  .coupon-featured-card { flex-basis: min(85%, 360px); }
  .coupon-featured-card__discount { font-size: 1.4rem; }

  .tab-toolbar, .home-jobs-toolbar, .directory-toolbar {
    flex-direction: column; align-items: stretch;
  }

  .tab-toolbar .btn-group, .home-jobs-toolbar .btn-group, .directory-toolbar .btn-group {
    justify-content: flex-start;
  }
}

@media (min-width: 768px) {
  .tab-toolbar, .home-jobs-toolbar, .directory-toolbar { flex-wrap: nowrap; align-items: center; }

  .tab-toolbar .search-box, .home-jobs-toolbar .search-box, .directory-toolbar .search-box {
    flex: 1 1 auto; min-width: 220px; margin: 0;
  }

  .tab-toolbar .btn-group, .tab-toolbar .filter-row, .tab-toolbar .tab-toolbar__actions,
  .home-jobs-toolbar .btn-group, .directory-toolbar .btn-group {
    flex: 0 0 auto; margin-left: auto; justify-content: flex-end;
  }
}

@media (max-width: 767.98px) {
  :root { --ram-gap-x: 8px; --ram-gap-y: 10px; }

  .home-page__content { padding: 12px 10px 18px; border-radius: 14px; }

  .home-hero { padding: 8px 0 2px; }
  .search-box input { padding: 11px 14px; font-size: 14px; }
  .search-box button { min-width: 44px; }

  .directory-toolbar .directory-type-bar {
    flex: 1 1 100%;
    max-width: 100%;
  }

  .directory-type-bar { max-width: 100%; }

  .directory-type-bar__btn { font-size: 11px; padding: 10px 6px; }

  .directory-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .dir-listing-card__cover { height: 88px; }
  .dir-listing-card__name { font-size: 11px; }
  .directory-results-bar { flex-direction: column; align-items: flex-start; }

  .service-card { flex: 0 0 200px; max-width: 200px; }
  .service-card__media img { height: 110px; }
  .service-card__title { font-size: 13px; }
  .service-card__price { font-size: 20px; }

  .services-trust { grid-template-columns: 1fr; gap: 12px; }
  .service-cat-nav__item { min-width: 76px; }
  .service-cat-nav__icon { width: 44px; height: 44px; font-size: 17px; }
  .service-cat-nav__label { font-size: 10px; max-width: 76px; }

  .places-tab__title { font-size: 1.35rem; }
  .places-tab__actions { flex-wrap: wrap; }
  .places-tab__location, .places-tab__map, .places-tab__add { font-size: 11px; padding: 8px 10px; }
  .places-cat-nav__item { min-width: 76px; }
  .places-cat-nav__icon { width: 40px; height: 40px; font-size: 16px; }
  .places-results-bar { flex-direction: column; align-items: flex-start; }
  .places-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .place-card__media img { height: 96px; }

  .all-filter-chip { padding: 7px 12px 7px 8px; }
  .all-filter-chip__icon { width: 26px; height: 26px; font-size: 13px; }
  .all-filter-chip__label { font-size: 12px; }
  .all-tab__section-title { font-size: 1rem; }
  .all-listing-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .all-listing-card__media img { height: 88px; }

  .ram-hscroll { gap: 4px; margin-bottom: 12px; }
  .ram-hscroll__btn { flex: 0 0 28px; width: 28px; height: 28px; font-size: 10px; }

  .coupons-tab__toolbar { flex-direction: column; align-items: stretch; }
  .coupons-tab__add { width: 100%; text-align: center; }
  .coupon-featured-card { flex-basis: 88%; min-height: 156px; }
  .coupon-featured-card__main { padding-right: 88px; }
  .coupon-featured-card__img { width: 76px; height: 76px; }
  .coupon-pop-grid { grid-template-columns: 1fr; gap: 12px; }
  .coupon-cat-nav__icon { width: 48px; height: 48px; font-size: 18px; }
  .coupon-cat-nav__label { font-size: 10px; max-width: 68px; }

  .qa-subtabs__btn { font-size: 13px; padding: 9px 12px; }
  .groups-tab__title { font-size: 1.15rem; }
  .groups-filter-tabs__btn { min-width: 82px; padding: 8px 12px; font-size: 11px; }
  .group-cats { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .group-cats__item { padding: 8px 6px; }
  .group-cats__icon { width: 32px; height: 32px; font-size: 14px; }
  .group-card { grid-template-columns: 92px 1fr auto; gap: 8px; padding: 7px; }
  .group-card img { width: 92px; height: 76px; }
  .group-card h6 { font-size: 12px; }
  .group-card__topic, .group-card__desc, .group-card__members { font-size: 9px; }
  .group-join-btn { padding: 5px 12px; font-size: 10px; }
  .groups-categories-grid { grid-template-columns: repeat(2, 1fr); }
  .property-tab__title { font-size: 1.1rem; }
  .property-filter-chips__chip,
  .property-filter-chips__filters { font-size: 10px; padding: 6px 10px; }
  .property-type-nav__item { font-size: 11px; padding: 7px 12px; }
  .property-active-filters__grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .property-card { grid-template-columns: 100px 1fr; gap: 10px; padding: 8px; }
  .property-card__media img { height: 96px; }
  .property-card__title { font-size: 13px; }
  .property-card__price { font-size: 14px; }
  .property-card__specs,
  .property-card__tags span,
  .property-card__agent { font-size: 9px; }
  .property-fab { flex-direction: column; align-items: stretch; }
  .property-fab__btn { justify-content: center; }
  .jobs-hero { margin: 0 -10px 12px; padding: 14px 12px; }
  .jobs-hero__title { font-size: 1.15rem; }
  .jobs-mode-toggle__btn { font-size: 11px; padding: 9px 10px; }
  .jobs-type-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .jobs-type-card { padding: 10px 6px; }
  .jobs-type-card__icon { width: 34px; height: 34px; font-size: 14px; }
  .jobs-type-card span:not(.jobs-type-card__icon) { font-size: 10px; }
  .jobs-cat-card { min-width: 88px; padding: 10px 8px; }
  .jobs-listing-card { padding: 10px 36px 10px 10px; gap: 10px; }
  .jobs-listing-card h6 { font-size: 12px; }
  .jobs-cta { flex-wrap: wrap; }
  .jobs-cta__btn { width: 100%; text-align: center; }
  .local-pages-tab__title { font-size: 1.1rem; }
  .local-pages-tab__subtitle { font-size: 11px; }
  .local-pages-cat-nav__item { min-width: 66px; }
  .local-pages-cat-nav__icon { width: 30px; height: 30px; font-size: 13px; }
  .local-featured-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .local-featured-card img { height: 78px; }
  .local-pop-item { padding: 8px; }
  .local-follow-btn { padding: 5px 10px; }
  .local-near-map { height: 150px; }
  .qa-hero { padding: 16px 14px; min-height: 140px; }
  .qa-hero__art { flex: 0 0 72px; }
  .qa-hero__bubble--lg { width: 44px; height: 44px; font-size: 18px; }
  .qa-hero__bubble--sm { width: 28px; height: 28px; top: 44px; right: 28px; }
  .qa-actions { gap: 8px; }
  .qa-action-card { padding: 12px 6px; }
  .qa-action-card__icon { width: 38px; height: 38px; font-size: 16px; }
  .qa-action-card__label { font-size: 10px; }
  .qa-question-card { padding: 12px; }
  .qa-question-card__title { font-size: 13px; }
  .qa-cat-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }

  .tab-icon-wrap { width: 44px; height: 44px; font-size: 18px; }
  .category-tabs-grid .nav-link span:last-child { font-size: 9px; }

  .category-tabs-scroll .tab-icon { width: 38px !important; height: 38px !important; }
  .category-tabs-scroll .nav-link { padding: 6px 8px !important; }
  .category-tabs-scroll .nav-link span { font-size: 9px !important; }

  .section-heading { font-size: 0.88rem; margin-top: 0.75rem; }

  .tab-toolbar .btn, .home-jobs-toolbar .btn, .directory-toolbar .btn {
    font-size: 11px !important; padding: 6px 10px !important;
  }

  .job-card__media { padding: 10px 8px 4px; }
  .job-card__media img { width: 54px; height: 54px; }
  .job-card__title { font-size: 11px; }
  .job-card__meta, .job-card__category { font-size: 9px; }
  .job-card__price { font-size: 12px; }
  .job-card__body { padding: 8px; }
  .job-card__footer .btn { font-size: 10px; padding: 4px 8px; }

  .deal-item-card__media img { height: 82px; }
  .deal-item-card__title { font-size: 11px; }
  .deal-item-card__cat { font-size: 9px; }
  .deal-item-card__body { padding: 8px; }

  .deal-card img { height: 68px; }
  .deal-card h6 { font-size: 10px; }

  .deal-category-item, .job-category-item, .service_box { padding: 8px 4px; }
  .deal-category-item__icon, .job-category-item__icon, .service_box .img-box { width: 42px; height: 42px; }
  .deal-category-item__label, .job-category-item__label, .service_box h5 { font-size: 10px; }

  .directory-card__title { font-size: 11px; }
  .directory-card__body { padding: 8px; }

  .faq-accordion .accordion-button { font-size: 11px; padding: 10px 12px; }
  .faq-accordion .accordion-body { font-size: 11px; }
  .help-tab__sos { padding: 10px 12px; }
  .help-tab__sos-text h4 { font-size: 15px; }
  .help-section__title { font-size: 15px; }
  .help-card-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .help-card { min-height: 132px; padding: 8px 7px; }
  .help-card img { height: 50px; }
  .help-card h6 { font-size: 12px; }
  .help-card p { font-size: 9px; }
  .help-category-grid { grid-template-columns: repeat(4, 1fr); gap: 8px; }
  .help-category { min-height: 84px; padding: 8px 6px; }

  .header.sticky-bar { padding: 6px 0; }
  .header .container-fluid { padding: 0 8px; }
  .header .main-header { gap: 4px; min-height: 44px; }
  .header .project-slider-wrapper { max-width: 88px; }
  .header .project-item img { height: 34px; }
  .header-filter-pill { height: 34px; padding: 0 6px; }
  .header-filter-pill__icon { display: none; }
  .header-filter-select { font-size: 10px; height: 32px; padding-right: 12px; }
  .header .header-burger,
  .header .ram-burger { width: 34px; height: 34px; }
  :root { --ram-header-height-mobile: 56px; }

  .all-module-section { padding: 12px 10px 10px; border-radius: 14px; }
  .all-module-section__title { font-size: 0.95rem; }
  .all-module-section__grid { padding: 4px 24px 12px; }
  .all-module-section__grid .all-listing-card { flex-basis: 168px; max-width: 168px; }
  .all-module-slider__btn { width: 30px; height: 30px; font-size: 11px; }
  .all-listing-card__media img { height: 96px; }
  .all-listing-card__body { padding: 10px; }
  .all-tab__section-title { font-size: 1.05rem; }
}

@media (max-width: 575.98px) {
  .tab-icon-wrap { width: 40px; height: 40px; font-size: 16px; }
  .places-grid { grid-template-columns: repeat(2, 1fr); }
  .group-cats { grid-template-columns: repeat(2, 1fr); }
  .group-card { grid-template-columns: 74px 1fr; }
  .group-card img { width: 74px; height: 66px; }
  .group-join-btn { grid-column: 2; justify-self: end; margin-top: 4px; }
  .group-new-card { flex-basis: 90px; }
  .groups-categories-grid { grid-template-columns: repeat(2, 1fr); }
  .jobs-type-grid { grid-template-columns: repeat(2, 1fr); }
  .jobs-cta { flex-direction: column; align-items: stretch; }
  .local-featured-grid { grid-template-columns: repeat(2, 1fr); }
  .local-pop-item { grid-template-columns: 28px 1fr auto; gap: 8px; }
  .local-pop-item__logo { width: 28px; height: 28px; font-size: 11px; }
  .local-pop-item h6 { font-size: 11px; }
  .local-near-map { height: 136px; }
  .help-card-grid { grid-template-columns: repeat(2, 1fr); }
  .help-category-grid { grid-template-columns: repeat(3, 1fr); }

  .header-location-filters { gap: 3px; }
  .header-filter-pill { height: 32px; padding: 0 5px; border-radius: 999px; }
  .header-filter-select { font-size: 9px; height: 30px; padding-right: 10px; }
  .header .project-slider-wrapper { max-width: 76px; }
  .header .project-item img { height: 30px; }
  .header .header-burger,
  .header .ram-burger { width: 32px; height: 32px; }
  .header .ram-burger__line { width: 18px; margin-left: -9px; }
  :root { --ram-header-height-mobile: 52px; }

  /* Keep header single-row: hide Km on very small screens */
  .header-location-filters .header-filter-pill:first-child { display: none; }

  .ram-login-modal { padding: 22px 16px 24px; border-radius: 16px; }
  .ram-login-role { font-size: 9px; padding: 7px 3px; }

  .content-grid > [class*="col-"] { padding-left: 6px; padding-right: 6px; }
}

@media (max-width: 380px) {
  .category-tabs-scroll .tab-icon { width: 32px !important; height: 32px !important; }
  .category-tabs-scroll .nav-link span { font-size: 8px !important; }
}

@media (max-width: 767.98px) {
  .ram-stats { padding: 32px 0 36px; }
  .ram-stats__number { font-size: 2rem; }
  .ram-stats__title { font-size: 0.95rem; }
  .ram-stats__desc { font-size: 12px; max-width: 280px; }

  .ram-footer__desc, .ram-footer__app-text { max-width: 100%; }
  .ram-footer__legal { margin-top: 10px; }
  .ram-footer .footer-bottom { padding: 20px 0 24px; margin-top: 24px; }
  .home-section-toolbar { gap: 6px; }
  .home-section-toolbar__hint { font-size: 12px; }
}
