/* Solo Music: cumulative layout update 01, revision 5, for the existing modifier. */
@media (max-width:1198px) {
  html.solo-design-active .header__mobile {
    display:grid;
    grid-template-columns:36px minmax(0,1fr) auto;
    align-items:center;
    column-gap:8px;
    min-height:60px;
    padding:6px 12.5px;
  }
  html.solo-design-active .header__mobile > .header__nav {
    grid-column:1; grid-row:1; display:flex; align-items:center;
    width:36px; height:44px; margin:0;
  }
  html.solo-design-active .header__mobile .header__nav > .header__nav-btn {
    position:static; inset:auto; transform:none; margin:0;
    display:flex; align-items:center; justify-content:center;
    width:36px; height:44px; padding:0; color:#f2f3f6;
  }
  html.solo-design-active .header__mobile > .header__logo {
    grid-column:2; grid-row:1; justify-self:start;
    display:flex; align-items:center; width:100%; max-width:150px;
    min-width:0; height:48px; padding:0; margin:0;
  }
  html.solo-design-active .header__mobile > .header__logo img {
    display:block; width:100%; max-width:150px; max-height:38px; height:auto;
  }
  html.solo-design-active .header__mobile > .header__group {
    grid-column:3; grid-row:1; display:flex; align-items:center;
    gap:8px; width:auto; margin:0; padding:0;
  }
  html.solo-design-active .header__mobile > .header__group > :is(.header__search,.header__acc,.header__cart) {
    flex:0 0 28px; width:28px; height:40px; margin:0;
  }
  html.solo-design-active .header__mobile > .header__group :is(.header__search-btn,.header__acc-btn,.header__cart-btn) {
    display:flex; align-items:center; justify-content:center;
    position:relative; width:28px; height:40px; margin:0; padding:0;
  }
  html.solo-design-active .header__mobile > .header__search {
    position:absolute; width:0; height:0; margin:0; padding:0;
  }
}

/* One shared font size, fitted to the widest current category label.
   At 600 weight the longest label measures 10.8965em; reserve a 2% edge inset. */
html.solo-design-active .solo-directions-grid .solo-direction { container-type:inline-size; }
html.solo-design-active .solo-directions-grid .solo-direction span:last-child {
  font-size:calc(98cqi / 10.90); line-height:1.3; min-height:1.3em;
  font-weight:600; white-space:nowrap;
}

@media (min-width:1199px) {
  /* Swiper owns the 6px desktop gap; avoid additional slide padding. */
  html.solo-design-active body.solo-store-home main .solo-home-products .swiper-products { margin-left:0; margin-right:0; }
  html.solo-design-active body.solo-store-home main .solo-home-products .swiper-slide { padding-left:0; padding-right:0; }
  html.solo-design-active body.solo-store-home main .solo-home-products .js-swiper-products > .swiper-wrapper > .swiper-slide {
    width:calc((100% - 30px) / 6)!important; margin-right:6px!important;
  }
  html.solo-design-active body.solo-store-home main .solo-home-products .products__item-in {
    display:grid; grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto 14px 36px 30px; gap:4px;
    width:100%; min-width:0; height:auto;
  }
  html.solo-design-active body.solo-store-home main .solo-home-products .products__item-in > :is(.products__item-image,.products__item-gallery) {
    grid-row:1; height:auto!important; aspect-ratio:1; min-height:0;
    margin:0!important; flex:none;
  }
  html.solo-design-active body.solo-store-home main .solo-home-products .products__item-status {
    grid-row:2; display:block; margin:0; font-size:11px; line-height:14px;
  }
  html.solo-design-active body.solo-store-home main .solo-home-products .products__item-title {
    grid-row:3; height:36px; min-height:0; max-height:36px; margin:0;
    font-size:13px; line-height:18px;
  }
  html.solo-design-active body.solo-store-home main .solo-home-products .products__item-price {
    grid-row:4; display:flex; align-items:center; height:30px; min-height:0;
    margin:0; padding-top:0; padding-bottom:0; font-size:14px; line-height:18px;
  }
  html.solo-design-active body.solo-store-home main .solo-home-products .products__item-action {
    height:26px; min-height:0; bottom:8px!important;
  }
}

@media (min-width:1200px) {
  html.solo-design-active body.solo-store-home main .solo-home-products .js-swiper-products > .swiper-wrapper > .swiper-slide {
    width:calc((100% - 42px) / 8)!important;
  }
}

@media (max-width:767px) {
  html.solo-design-active .solo-directions-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px 12px;
  }
  html.solo-design-active .solo-direction { gap:8px; container-type:inline-size; }
  html.solo-design-active .solo-direction-photo { border-radius:14px; }
  /* Compact mobile cards: flexible photo, two title lines, a fixed price/cart row. */
  html.solo-design-active body.solo-store-home main .solo-home-products .products__item-in {
    display:grid; grid-template-columns:minmax(0,1fr);
    grid-template-rows:minmax(0,1fr) 28px 26px; gap:4px;
    width:100%; min-width:0; height:auto; min-height:164px; aspect-ratio:1 / 1.08;
  }
  html.solo-design-active body.solo-store-home main .solo-home-products .products__item-in > :is(.products__item-image,.products__item-gallery) {
    grid-row:1; align-self:stretch; height:100%!important; min-height:0;
    margin:0!important; aspect-ratio:auto;
  }
  html.solo-design-active body.solo-store-home main .solo-home-products .products__item-status { display:none; }
  html.solo-design-active body.solo-store-home main .solo-home-products .products__item-title {
    grid-row:2; height:28px; min-height:0; max-height:28px; margin:0;
    font-size:11px; line-height:14px;
  }
  html.solo-design-active body.solo-store-home main .solo-home-products .products__item-price {
    grid-row:3; align-self:stretch; align-items:center;
    height:26px; min-height:0; margin:0; padding-top:0; padding-bottom:0;
  }
  html.solo-design-active body.solo-store-home main .solo-home-products .products__item-action {
    height:26px; min-height:0; bottom:6px!important;
  }
  html.solo-design-active body.solo-store-home .solo-home-products { padding-bottom:20px; margin-bottom:0; }
  html.solo-design-active body.solo-store-home .brands-featured.solo-text-brands { padding-top:0; }
  html.solo-design-active .solo-text-brands .solo-brand-heading {
    border-top:1px solid #303139; padding-top:26px;
  }

  html.solo-design-active .footer.footer--v5 { padding:22px 0 20px; }
  html.solo-design-active .footer--v5 .footer__middle { padding:0; margin:0; }
  html.solo-design-active .footer--v5 .footer__middle > .row {
    display:flex; flex-direction:column; gap:20px; padding:0; margin:0;
  }
  html.solo-design-active .footer--v5 .footer__middle > .row::before,
  html.solo-design-active .footer--v5 .footer__middle > .row::after { display:none; }
  html.solo-design-active .footer--v5 .footer__middle > .row > [class*="col-"] {
    flex:none; width:100%; max-width:100%; margin:0; padding:0;
  }
  html.solo-design-active .footer--v5 .footer__middle .footer__logo {
    position:static; transform:none; display:flex; align-items:center;
    width:128px; max-width:100%; height:auto; margin:0 0 10px; padding:0;
  }
  html.solo-design-active .footer--v5 .footer__middle .footer__logo img {
    display:block; width:128px; max-width:100%; height:auto; max-height:32px;
  }
  html.solo-design-active .footer--v5 .footer__caption {
    max-width:none; padding:0; margin:0; font-size:12px; line-height:18px; color:#b8bbc6; opacity:1;
  }
  html.solo-design-active .footer--v5 .footer__subsc {
    min-height:0; padding:0; margin:0; background:transparent;
  }
  html.solo-design-active .footer--v5 .ui-subsc .ui-label {
    padding:0; margin:0 0 6px; font-size:14px; line-height:20px; font-weight:600;
  }
  html.solo-design-active .footer--v5 .ui-subsc .ui-caption {
    padding:0; margin:0 0 10px; font-size:12px; line-height:18px;
  }
  html.solo-design-active .footer--v5 .ui-subsc .ui-group {
    display:flex; align-items:stretch; gap:8px; height:44px; padding:0; margin:0;
  }
  html.solo-design-active .footer--v5 .ui-subsc .ui-group .ui-input {
    flex:1 1 0%; min-width:0; width:0; height:44px; padding:10px 12px; margin:0;
    font-size:13px; line-height:20px;
  }
  html.solo-design-active .footer--v5 .ui-subsc .ui-group .ui-btn {
    position:static; inset:auto; transform:none;
    flex:0 0 auto; min-width:108px; width:auto; height:44px; min-height:44px;
    padding:0 12px; margin:0; font-size:12px; line-height:20px;
  }
  html.solo-design-active .footer--v5 .footer__support { padding:0; margin:0; }
  html.solo-design-active .footer--v5 .footer__support > .row { display:block; padding:0; margin:0; }
  html.solo-design-active .footer--v5 .footer__support > .row > [class*="col"] {
    width:100%; max-width:100%; padding:0; margin:0;
  }
  html.solo-design-active .footer--v5 .footer__support-title {
    display:block; padding:0; margin:0 0 6px; font-size:12px; line-height:18px;
  }
  html.solo-design-active .footer--v5 .footer__support-phones { padding:0; margin:0; }
  html.solo-design-active .footer--v5 .footer__support-phones > li { padding:0; margin:0 0 4px; }
  html.solo-design-active .footer--v5 .footer__support-link { font-size:15px; line-height:20px; }
  html.solo-design-active .footer--v5 .footer__support-link--callback { font-size:12px; line-height:18px; }
  html.solo-design-active .footer--v5 .footer__support-worktime {
    padding:0; margin:8px 0 0; font-size:12px; line-height:18px; opacity:1;
  }
  html.solo-design-active .footer--v5 .footer__bottom {
    min-height:0; padding:14px 0 0; margin:20px 0 0;
  }
  html.solo-design-active .footer--v5 .footer__payments {
    display:flex; flex-wrap:wrap; align-items:center; gap:6px; padding:0; margin:0;
  }
  html.solo-design-active .footer--v5 .footer__payments > li { padding:0; margin:0; }
}

@media (max-width:767px) {
  /* OCFilter moves its existing mobile button here; keep the native handlers. */
  html.solo-design-active .catalog__content:has(> .ocf-btn-mobile-static) { position:relative; }
  html.solo-design-active .catalog__content > .ocf-btn-mobile-static {
    width:104px; height:40px; padding:0; margin:0 0 12px;
    border:0; box-shadow:none;
  }
  html.solo-design-active .catalog__content > .ocf-btn-mobile-static > .ocf-btn {
    display:flex; align-items:center; justify-content:center; gap:7px;
    width:104px; min-height:40px; height:40px; padding:0 10px;
    border:1px solid #464954!important; border-radius:9px; box-shadow:none!important;
    color:#eeeef1!important; background:#272932!important; font-size:13px; font-weight:600;
  }
  html.solo-design-active .catalog__content > .ocf-btn-mobile-static .ocf-btn-name { color:inherit!important; }
  html.solo-design-active .catalog__content:has(> .ocf-btn-mobile-static) > .settings {
    position:absolute; top:0; right:0; width:calc(100% - 116px);
    height:40px; padding:0; margin:0; border:0; background:transparent;
  }
  html.solo-design-active .catalog__content:has(> .ocf-btn-mobile-static) > .settings > .row {
    display:block; padding:0; margin:0;
  }
  html.solo-design-active .catalog__content:has(> .ocf-btn-mobile-static) > .settings::before,
  html.solo-design-active .catalog__content:has(> .ocf-btn-mobile-static) > .settings::after { display:none; }
  html.solo-design-active .catalog__content:has(> .ocf-btn-mobile-static) > .settings > .row > .col {
    width:100%; max-width:none; padding:0; margin:0;
  }
  html.solo-design-active .catalog__content:has(> .ocf-btn-mobile-static) > .settings .ui-select:not(.is-xl-visible) {
    display:block; width:100%; margin:0;
  }
  html.solo-design-active .catalog__content:has(> .ocf-btn-mobile-static) > .settings .ui-select::after { display:none; }
  html.solo-design-active .catalog__content:has(> .ocf-btn-mobile-static) > .settings select {
    width:100%; height:40px; min-height:40px; padding:0 32px 0 10px;
    border:1px solid #464954; border-radius:9px;
    background-color:#272932; color:#eeeef1; font-size:13px; line-height:normal;
    appearance:none; -webkit-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23bfc2ce' stroke-width='1.6'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-size:12px 8px; background-position:right 12px center;
    color-scheme:dark;
  }

  /* The filter drawer is intentionally light, with explicit dark text. */
  html.solo-design-active .ocf-container.ocf-mobile-1 .ocf-content {
    color:#25323f; background:#fff;
  }
  html.solo-design-active .ocf-container.ocf-mobile-1 .ocf-header {
    color:#25323f!important; background:#fff; font-weight:600;
  }
  html.solo-design-active .ocf-container.ocf-mobile-1 .ocf-filter-header {
    color:#25323f!important; background:#eff1f4;
  }
  html.solo-design-active .ocf-container.ocf-mobile-1 :is(.ocf-filter-name,.ocf-value-name,.ocf-selected-filter-name,.ocf-selected-filter,.ocf-value-description) {
    color:#25323f!important;
  }
  html.solo-design-active .ocf-container.ocf-mobile-1 :is(.ocf-value,.ocf-btn-link,.ocf-filter-header-append,.ocf-close-mobile) {
    color:#344252!important;
  }
  html.solo-design-active .ocf-container.ocf-mobile-1 .ocf-value-count {
    color:#44515f!important; background:#e2e6eb;
  }
  html.solo-design-active .ocf-container.ocf-mobile-1 :is(input[type="text"],input[type="number"],input[type="search"],.ocf-form-control) {
    color:#25323f!important; background:#fff; border-color:#b5bdc8;
  }
  html.solo-design-active .ocf-container.ocf-mobile-1 input::placeholder { color:#65717f; opacity:1; }
  html.solo-design-active .ocf-container.ocf-mobile-1 :is(.ocf-search-btn-static,.ocf-search-btn-popover,.ocf-btn-primary) {
    color:#17200a!important; background:#d8ff62; border-color:#c4e858;
  }
}
