.contacts {--cMarble: linear-gradient(160deg, rgb(255 255 255 / 0.35), rgb(243 243 243 / 0.72)), var(--marble);--cLine: rgb(0 0 0 / 0.07);--cShadow: 0 0.75rem 2rem rgb(0 0 0 / 0.08), 0 0.125rem 0.375rem rgb(0 0 0 / 0.05);--cAccent: var(--primaryDarkColor);--cMuted: var(--textMuted);display:flex;flex-direction:column;gap:4rem;padding:3rem var(--gutter) 4rem;}[data-theme='dark'] .contacts {--cMarble: linear-gradient(160deg, rgb(30 30 30 / 0.7), rgb(20 20 20 / 0.86)), var(--marble);--cLine: #ffffff1a;--cShadow: 0 0.75rem 2rem rgb(0 0 0 / 0.45);--cAccent: #7fe3df;}

    /* Мраморные карточки — как у колонки внутренних страниц */.contacts :is(.quickCard, .shopCard, .teamCard, .moreCard) {border:1px solid var(--cLine);border-radius:0.75rem;background:var(--cMarble);background-size:cover;box-shadow:var(--cShadow);}.contacts ul {margin:0;padding:0;list-style:none;}.contacts li {margin:0;list-style:none;}.contacts li::marker {content:none;}.contacts .contactsTitle {margin:0 0 1.5rem;font-size:2rem;letter-spacing:0.05em;}.contacts .contactsTitle.small {font-size:1.35rem;margin-bottom:1rem;}

    /* Начало: заголовок и вступление из текста страницы, под ними — быстрые действия */.contacts .contactsIntro.pageContent {padding:0;font-size:1.1em;}.contacts .contactsIntro h1 {margin:0 0 0.75rem;}.contacts .contactsIntro p {margin:0;color:var(--cMuted);}.contacts .contactsQuick {display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:1.25rem;margin-top:2.5rem;}.contacts .quickCard {display:flex;flex-direction:column;align-items:flex-start;gap:0.5rem;padding:1.5rem;}.contacts .quickIcon {width:2.5rem;height:2.5rem;margin-bottom:0.25rem;border-radius:50%;background:var(--cAccent);-webkit-mask:none;position:relative;}.contacts .quickIcon::after {content:'';position:absolute;inset:0.6rem;background:#fff;mask:var(--icon) center / contain no-repeat;}[data-theme='dark'] .contacts .quickIcon::after {background:#111;}.contacts .quickTitle {margin:0;font-size:1.15rem;letter-spacing:0.02em;}.contacts .quickPhone {font-size:1.3rem;font-weight:700;color:inherit;text-decoration:none;white-space:nowrap;}.contacts .quickPrefix {font-weight:300;}.contacts .quickLink {font-size:1.05rem;overflow-wrap:anywhere;}.contacts .quickNote {margin:0;font-size:0.92rem;line-height:1.4;color:var(--cMuted);}.contacts .quickCard .button {margin:auto 0 0;padding-top:0;width:100%;}.contacts .quickCard .quickNote + .button {margin-top:auto;}

    /* Магазины рядом с картой: карта едет вместе с прокруткой */.contacts .shopsGrid {display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);gap:2rem;align-items:start;}.contacts .shopsList {display:flex;flex-direction:column;gap:1.5rem;}.contacts .shopCard {overflow:hidden;}.contacts .shopPhoto {display:block;width:100%;aspect-ratio:2 / 1;object-fit:cover;}.contacts .shopBody {display:flex;flex-direction:column;gap:0.85rem;padding:1.5rem;}.contacts .shopName {margin:0;font-size:1.4rem;letter-spacing:0.03em;}.contacts .shopFacts {display:flex;flex-direction:column;gap:0.4rem;}.contacts .shopFacts li {display:flex;align-items:center;gap:0.6rem;}.contacts .shopFacts li::before {content:'';flex:none;width:1.25rem;height:1.25rem;background:var(--cAccent);mask:var(--factIcon) center / contain no-repeat;}.contacts .shopAddress {--factIcon: url('/media/theme/i/placeholder.svg');}.contacts .shopAddress[data-city~='минск']::before {background:url('/media/theme/images/cities/minsk-obl.png') center / contain no-repeat;mask:none;}.contacts .shopAddress[data-city~='логойск'] {--factIcon: url('/media/theme/i/factory.svg');}.contacts .shopHours {--factIcon: url('/media/theme/i/date.svg');}.contacts .shopPhone {--factIcon: url('/media/theme/i/phone.svg');}.contacts .shopPhone a {color:inherit;font-weight:600;text-decoration:none;}.contacts .shopAbout {margin:0;font-size:0.95rem;line-height:1.5;color:var(--cMuted);}.contacts .shopActions {display:flex;flex-wrap:wrap;gap:0.6rem;margin-top:0.25rem;}.contacts .shopActions .button {display:inline-flex;align-items:center;gap:0.5rem;margin:0;}.contacts .shopActions .button img {margin:0;}.contacts .shopsMap {position:sticky;top:6.5rem;overflow:hidden;border:1px solid var(--cLine);border-radius:0.75rem;box-shadow:var(--cShadow);}.contacts #mapPlaceholder {display:flex;align-items:center;justify-content:center;width:100%;height:min(calc(100vh - 8rem), 46rem);margin:0;background:var(--baseLightGray);color:var(--cMuted);}.contacts #mapPlaceholder:empty::before {content:'Загрузка карты…';}

    /* Менеджеры */.contacts .teamList {display:grid;grid-template-columns:repeat(auto-fit, minmax(min(24rem, 100%), 1fr));gap:1.25rem;}.contacts .teamCard {display:flex;align-items:center;gap:1.25rem;padding:1.5rem;}.contacts .teamAvatar {flex:none;width:6rem;height:6rem;margin:0;border-radius:50%;object-fit:cover;background:#e9eeed;box-shadow:0 0 0 3px #fff, 0 0.25rem 0.75rem rgb(0 0 0 / 0.15);}[data-theme='dark'] .contacts .teamAvatar {box-shadow:0 0 0 3px #2a2a2a, 0 0.25rem 0.75rem rgb(0 0 0 / 0.4);}.contacts .teamName {margin:0 0 0.2rem;font-size:1.25rem;letter-spacing:0.02em;}.contacts .teamRole {margin:0 0 0.75rem;font-size:0.92rem;color:var(--cMuted);}.contacts .teamActions {display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem 1rem;}.contacts .teamPhone {font-weight:600;color:inherit;text-decoration:none;white-space:nowrap;}.contacts .teamActions .button {margin:0;}

    /* Реквизиты и соцсети */.contacts .contactsMore {display:grid;grid-template-columns:minmax(0, 1.4fr) minmax(0, 1fr);gap:1.25rem;}.contacts .moreCard {padding:1.5rem 1.75rem;}.contacts .legal {display:grid;grid-template-columns:max-content minmax(0, 1fr);gap:0.5rem 1.5rem;margin:0;}.contacts .legal dt {color:var(--cMuted);}.contacts .legal dd {margin:0;}.contacts .socialList {display:flex;flex-wrap:wrap;gap:0.6rem;}.contacts .socialList a {display:inline-flex;align-items:center;gap:0.5rem;min-height:2.75rem;padding:0 1rem;border:1px solid var(--cLine);border-radius:2rem;background:rgb(255 255 255 / 0.55);color:inherit;text-decoration:none;}[data-theme='dark'] .contacts .socialList a {background:#ffffff0d;}.contacts .socialList a:hover {border-color:var(--cAccent);color:var(--cAccent);}.contacts .socialList svg {fill:currentColor;}.contacts .ratingList {display:flex;flex-wrap:wrap;gap:0.5rem 1.5rem;margin-top:1.25rem;}.contacts .ratingList strong {color:var(--cAccent);}

    @media screen and (max-width: 1100px) {.contacts {gap:3rem;padding:2rem var(--gutter) 3rem;}.contacts .contactsQuick {grid-template-columns:repeat(2, minmax(0, 1fr));}.contacts .shopsGrid,
      .contacts .contactsMore {grid-template-columns:minmax(0, 1fr);}.contacts .shopsMap {position:static;}.contacts #mapPlaceholder {height:22rem;}
    }

    @media screen and (max-width: 600px) {.contacts .contactsTitle {font-size:1.45rem;}

      /* Телефон: быстрые действия — по два в ряд, без пояснений (номер и почта — во всю ширину) */.contacts .contactsQuick {grid-template-columns:repeat(2, minmax(0, 1fr));gap:0.75rem;margin-top:1.75rem;}.contacts .quickCard {padding:1rem;}.contacts .quickCard:nth-child(-n + 2) {grid-column:1 / -1;}.contacts .quickCard:nth-child(n + 3) .quickNote {display:none;}.contacts .quickIcon {width:2rem;height:2rem;}.contacts .quickIcon::after {inset:0.45rem;}.contacts .quickCard .button {padding-inline:0.5rem;font-size:0.9rem;}.contacts .shopBody {padding:1.25rem 1rem;}.contacts .shopActions .button {flex:1 1 auto;justify-content:center;}.contacts .shopActions .button.primary {flex-basis:100%;}.contacts .teamCard {align-items:flex-start;}.contacts .teamAvatar {width:4.5rem;height:4.5rem;}.contacts .legal {grid-template-columns:minmax(0, 1fr);gap:0.1rem;}.contacts .legal dd {margin-bottom:0.6rem;}
    }