.shop .dis-nav { flex-wrap: wrap; row-gap: 0; }
.shop :is(#dis-map, .dis-delivery-night), .shop[data-shop-document] :is(h2[id], h3[id]) { scroll-margin-top: calc(var(--dis-masthead-height, 65px) + 18px); }

.dis-catalog-with-service {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(330px, .57fr);
    gap: clamp(18px, 2.4vw, 34px);
    align-items: center;
}
.dis-catalog-intro-main { min-width: 0; }
.dis-catalog-service {
    --service-photo-width: max(105px, 34%);
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--service-photo-width);
    overflow: hidden;
    color: #fff;
    background: #133853;
    border-radius: 12px;
    min-width: 0;
}
.dis-service-copy { padding: 15px 15px 16px 17px; }
.dis-catalog-service .dis-service-brand { display: flex; align-items: center; gap: 7px; margin: 0 0 6px; color: #deedfa; font-size: .73rem; font-weight: 680; }
.dis-service-brand img { flex: none; object-fit: contain; background: #fff; border-radius: 50%; }
.shop .dis-catalog-service h2 { margin: 0 0 5px; font: 750 clamp(.99rem, 1.5vw, 1.24rem)/1.23 Inter, sans-serif; color: inherit; }
.shop .dis-catalog-service p:not(.dis-service-brand) { color: #e4eef7; font-size: .81rem; line-height: 1.42; }
.shop .dis-service-link { margin-top: 10px; min-height: 44px; padding: 6px 10px; font-size: .82rem !important; background: #eef6ff; color: #183d60 !important; }
.shop .dis-service-link:hover { background: #d8eaff; }
.dis-service-photo { position: absolute; inset: 0 0 0 auto; width: var(--service-photo-width); height: 100%; object-fit: cover; object-position: 19% 50%; }

.dis-trade-page { padding-bottom: clamp(38px, 6vw, 72px); }
.dis-trade-hero, .dis-trade-exchange {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .95fr);
    gap: clamp(16px, 3vw, 44px);
    padding: clamp(17px, 3vw, 44px);
    border-radius: 16px;
    border: 1px solid #cfdeeb;
    align-items: center;
}
.dis-trade-hero { background: linear-gradient(128deg, #f6faff, #dbe9f8); }
.shop .dis-trade-copy h1 { max-width: 13ch; margin-bottom: 14px; }
.dis-trade-copy > p, .dis-trade-exchange p { color: #41566b; max-width: 61ch; }
.dis-trade-hero .dis-trade-actions, .dis-trade-exchange .dis-trade-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 17px 0; }
.dis-trade-parts { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(6px, 1vw, 12px); min-width: 0; }
.dis-trade-parts figure { margin: 0; min-width: 0; display: grid; grid-template-rows: auto 1fr; overflow: hidden; border: 1px solid #cfdeeb; border-radius: 10px; background: #fff; }
.dis-trade-parts img { display: block; width: 100%; height: auto; aspect-ratio: 1.15; object-fit: contain; background: #f5f5f5; }
.dis-trade-parts figcaption { padding: 8px 9px; font-size: clamp(.76rem, 1vw, .95rem); line-height: 1.35; font-weight: 700; }
.dis-trade-parts small { display: block; color: #46617b; font-size: .89em; margin-top: 2px; }
.dis-trade-process { margin-block: clamp(25px, 4vw, 54px); }
.shop .dis-trade-process h2, .shop .dis-trade-exchange h2 { margin-bottom: 12px; }
.dis-trade-process ol { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 0; margin: 0; }
.dis-trade-process li { border: 1px solid var(--line); border-radius: 10px; background: #fff; padding: clamp(13px, 2vw, 23px); }
.dis-trade-step { display: grid; place-items: center; width: 30px; height: 30px; margin-bottom: 9px; border-radius: 50%; font-weight: 750; color: #18496f; background: #e6f0fb; }
.dis-trade-process li p { margin-top: 6px; color: #41566b; }
.dis-trade-exchange { grid-template-columns: minmax(0, 1fr) auto; background: #e4eff9; }
.dis-trade-exchange .dis-trade-actions { margin: 0; }

.dis-info-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, .57fr);
    gap: 14px;
    align-items: stretch;
    margin-bottom: 17px;
    background: #e5eff9;
    border: 1px solid #d1dfeb;
    border-radius: 13px;
    overflow: hidden;
}
.dis-info-heading > div:first-child { align-self: center; padding: clamp(16px, 3vw, 36px); }
.shop .dis-info-heading h1 { margin-bottom: 9px; }
.dis-info-heading p { color: #3a536b; }
.dis-info-photo-heading img { display: block; width: 100%; height: 100%; max-height: 198px; object-fit: cover; }
.dis-info-payment-heading { grid-template-columns: minmax(0, 1fr) auto; }
.dis-payment-illustration { display: flex; align-items: center; padding: 15px clamp(15px, 5vw, 74px) 15px 0; }
.dis-payment-illustration span { display: grid; place-items: center; width: clamp(42px, 7vw, 83px); aspect-ratio: 1; border-radius: 18%; background: #143955; color: #fff; transform: rotate(-9deg); }
.dis-payment-illustration span + span { margin-left: -4px; background: #fff; color: #153c5a; border: 1px solid #b5cbe0; transform: rotate(7deg); }
.dis-payment-illustration svg { width: 55%; stroke: currentColor; fill: none; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
@media (prefers-reduced-motion: no-preference) {
    .dis-payment-illustration { animation: dis-payment-appear .33s ease-out both; }
    @keyframes dis-payment-appear { from { opacity: .5; transform: translateY(6px); } }
}

.dis-map-stage { position: relative; display: grid; min-width: 0; min-height: 0; background: #e7efe6; }
.dis-map-stage .dis-pickup-map, .dis-map-stage > iframe { grid-area: 1 / 1; width: 100%; height: 100%; min-height: 0; border: 0; }
.dis-map-stage [hidden] { display: none; }
.dis-map-enable { position: absolute; inset: 50% 10px auto; display: grid; justify-items: center; transform: translateY(-50%); }
.dis-map-enable .shop-btn { box-shadow: 0 3px 14px #0d2a4652; }

.shop[data-shop-document] #shop-main .shop-prose { width: 100%; max-width: 95ch; padding: clamp(15px, 3vw, 39px); border-radius: 14px; border: 1px solid var(--line); background: #fff; overflow-wrap: anywhere; }
.shop[data-shop-document] #shop-main .shop-prose h1 { padding-bottom: 14px; border-bottom: 3px solid #c7ddf1; }
.shop[data-shop-document] #shop-main .shop-prose :is(h2, h3) { margin-bottom: 9px; }

@media (max-width: 940px) {
    .dis-catalog-with-service { grid-template-columns: minmax(0, 1fr); }
    .dis-catalog-service { --service-photo-width: max(112px, 27%); }
    .dis-trade-exchange { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .dis-trade-hero { grid-template-columns: minmax(0,1fr); }
    .dis-trade-process ol { grid-template-columns: minmax(0,1fr); gap: 8px; }
    .dis-trade-process li { display: grid; grid-template-columns: 30px minmax(0,1fr); column-gap: 10px; }
    .dis-trade-step { grid-row: span 2; margin: 0; }
    .dis-trade-process li p { grid-column: 2; }
    .dis-info-photo-heading { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .dis-info-photo-heading img { height: 118px; object-position: 50% 46%; }
}
@media (max-width: 380px) {
    .dis-catalog-service { --service-photo-width: max(76px, 28%); }
    .dis-service-copy { padding-inline: 11px 8px; }
    .dis-payment-illustration span:first-child { display: none; }
}
