/* Витринные блоки стартовой страницы на base_standard.html. */

.detail-hero--wide{
  max-width:100%;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  align-items:center;
}

.detail-hero--wide .detail-hero-media{
  display:flex;
  width:100%;
  justify-content:center;
}

.detail-hero-image--showcase{
  width:min(100%,460px);
  height:auto;
  aspect-ratio:40 / 21;
  border-radius:28px;
  object-fit:cover;
}

.home-mobile-screen{
  display:none;
}

.home-actions--desktop{
  display:flex;
}

@media(max-width:900px){
  .detail-hero--wide{
    grid-template-columns:1fr;
  }

  .detail-hero-image--showcase{
    width:100%;
    max-width:520px;
  }
}

@media(max-width:640px){
  .home-page{
    width:100%;
    gap:12px;
  }

  .home-page .panel{
    border-radius:22px;
  }

  .home-hero{
    width:100%;
    max-width:430px;
    margin:0 auto;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
  }

  .home-hero__content{
    display:block;
    width:100%;
  }

  .home-hero__badge,
  .home-hero__title,
  .home-hero__description,
  .home-hero__media,
  .home-actions--desktop{
    display:none;
  }

  .home-mobile-screen{
    display:grid;
    gap:12px;
    box-sizing:border-box;
    width:100%;
    min-width:0;
    padding:0 2px 8px;
  }

  .home-mobile-topbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-width:0;
    padding:2px 2px 4px;
  }

  .home-mobile-brand{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
  }

  .home-mobile-brand__logo{
    flex:0 0 38px;
    width:38px;
    height:38px;
    border-radius:13px;
    object-fit:cover;
    box-shadow:0 10px 24px rgba(15,23,42,.12);
  }

  .home-mobile-brand__text{
    display:grid;
    gap:1px;
    min-width:0;
  }

  .home-mobile-brand__text b{
    color:var(--ink,#111827);
    font-size:19px;
    font-weight:950;
    line-height:1.05;
    letter-spacing:-.03em;
  }

  .home-mobile-brand__text span{
    color:var(--muted,#6b7280);
    font-size:12px;
    font-weight:800;
    line-height:1.2;
  }

  .home-mobile-topbar__link{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 12px;
    border:1px solid color-mix(in srgb,var(--line,#b9e3e3) 72%,transparent);
    border-radius:999px;
    background:var(--card,#fff);
    color:var(--ink,#111827);
    font-size:13px;
    font-weight:900;
    line-height:1;
    text-decoration:none;
    box-shadow:0 8px 18px rgba(15,23,42,.05);
  }

  .home-mobile-hero-card{
    display:grid;
    gap:8px;
    box-sizing:border-box;
    width:100%;
    min-width:0;
    padding:18px;
    border:1px solid color-mix(in srgb,var(--accent,#009c9b) 22%,var(--line,#b9e3e3) 78%);
    border-radius:26px;
    background:
      radial-gradient(circle at 92% 8%, color-mix(in srgb,var(--accent,#009c9b) 20%,transparent) 0 80px, transparent 82px),
      linear-gradient(135deg,var(--card,#fff),color-mix(in srgb,var(--accent,#009c9b) 7%,var(--card,#fff) 93%));
    box-shadow:0 18px 42px rgba(15,23,42,.08);
  }

  .home-mobile-eyebrow{
    width:max-content;
    max-width:100%;
    padding:5px 9px;
    border-radius:999px;
    background:color-mix(in srgb,var(--accent,#009c9b) 12%,transparent);
    color:var(--accent,#009c9b);
    font-size:11px;
    font-weight:950;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.04em;
  }

  .home-mobile-hero-card h2{
    margin:0;
    max-width:320px;
    color:var(--ink,#111827);
    font-size:28px;
    font-weight:950;
    line-height:1.02;
    letter-spacing:-.055em;
  }

  .home-mobile-hero-card p{
    margin:0;
    max-width:320px;
    color:var(--muted,#6b7280);
    font-size:14px;
    font-weight:700;
    line-height:1.38;
  }

  .home-mobile-business-card{
    display:grid;
    gap:4px;
    box-sizing:border-box;
    width:100%;
    min-width:0;
    padding:14px 15px;
    border:1px solid color-mix(in srgb,var(--line,#b9e3e3) 72%,transparent);
    border-radius:22px;
    background:linear-gradient(135deg,color-mix(in srgb,var(--accent,#009c9b) 8%,var(--card,#fff) 92%),var(--card,#fff));
    color:var(--ink,#111827);
    text-decoration:none;
    box-shadow:0 12px 28px rgba(15,23,42,.055);
  }

  .home-mobile-business-card__label{
    color:var(--accent,#009c9b);
    font-size:11px;
    font-weight:950;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.04em;
  }

  .home-mobile-business-card b{
    color:var(--ink,#111827);
    font-size:14px;
    font-weight:950;
    line-height:1.22;
  }

  .home-mobile-business-card small{
    color:var(--muted,#6b7280);
    font-size:12px;
    font-weight:800;
    line-height:1.2;
  }

  .action-card:active,
  .quick-action:active,
  .home-mobile-business-card:active,
  .home-mobile-topbar__link:active{
    transform:scale(.988);
  }

  .home-desktop-section{
    display:none;
  }

  .home-organizations-section{
    max-width:430px;
    margin:0 auto;
    padding:14px;
    border-radius:22px;
  }

  .home-organizations-section .section-title-row{
    align-items:center;
    margin-bottom:10px;
  }

  .home-organizations-section .section-title-row h2{
    font-size:17px;
    line-height:1.15;
  }

  .home-organizations-section .section-title-row .btn{
    min-height:32px;
    padding:0 10px;
    font-size:12px;
  }

  .home-page .catalog-card-grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .home-page .catalog-item-card{
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    gap:7px 11px;
    align-items:start;
    border-radius:18px;
    padding:11px;
  }

  .home-page .catalog-card-media{
    grid-row:1 / span 4;
  }

  .home-page .catalog-card-photo{
    width:58px;
    height:58px;
  }

  .home-page .catalog-card-title,
  .home-page .catalog-card-title-row{
    min-width:0;
  }

  .home-page .catalog-card-services,
  .home-page .catalog-card-address{
    margin:0;
    font-size:12px;
    line-height:1.25;
  }
}

@media(max-width:380px){
  .home-mobile-hero-card{
    padding:16px;
  }

  .home-mobile-hero-card h2{
    font-size:25px;
  }

  .home-mobile-screen .action-card{
    min-height:61px;
    padding:11px 12px;
  }

}
