/* Service / wedding R4 mobile correction.
 * Loaded only by svadba/index.html and intentionally leaves desktop untouched.
 */
@media (max-width: 900px) {
  .mobile-wedding-page {
    --service-bg: #000508;
    --service-panel: #111b22;
    --service-panel-deep: #081217;
    --service-line: #354047;
    --service-muted: #aeb5b8;
  }

  .mobile-wedding-page .site-header {
    position: sticky !important;
    top: 0;
    z-index: 100;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 19px !important;
    border-bottom: 1px solid #1e292f;
    background: rgba(2, 8, 11, .98);
  }
  .mobile-wedding-page .site-header .brand::before {
    content: "Юрий Гагарин";
    font-size: 13px;
    font-weight: 500;
  }
  .mobile-wedding-page .menu-toggle {
    position: relative;
    width: 44px !important;
    min-width: 44px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  .mobile-wedding-page .menu-toggle::after { content:""; position:absolute; top:6px; right:0; width:28px; height:28px; border:1px solid #26343b; border-radius:5px; }
  .mobile-wedding-page .menu-icon { z-index:1; width:14px; margin-left:16px; }
  .mobile-wedding-page .menu-icon::before,
  .mobile-wedding-page .menu-icon::after { width:14px; margin-left:0; }
  .mobile-wedding-page .site-header .brand { position:relative; z-index:2; min-width:100px; }
  .mobile-wedding-page .site-nav { inset: 40px 0 auto !important; }

  .mobile-wedding-page .desktop-wedding-hero-media {
    height: 255px;
    min-height: 255px;
  }
  .mobile-wedding-page .desktop-wedding-hero-media img { object-position: 50% 38%; }
  .mobile-wedding-page .desktop-wedding-hero-panel {
    width: calc(100% - 28px);
    margin-top: -22px;
    padding: 20px 24px 13px !important;
    border-color: #354047;
    border-radius: 14px;
    background: #0f1920;
  }
  .mobile-wedding-page .mobile-panel-breadcrumb {
    margin-bottom: 13px;
    color: #a8afb3;
    font-size: 10px;
  }
  .mobile-wedding-page .desktop-wedding-hero-panel h1 {
    margin: 0;
    font-size: 31px !important;
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -.035em;
  }
  .mobile-wedding-page .mobile-title-break { display: inline !important; }
  .mobile-wedding-page .mobile-service-lead {
    margin: 13px 0 2px;
    font-size: 13px;
    line-height: 1.46;
  }
  .mobile-wedding-page .desktop-wedding-hero-panel > .button {
    min-height: 37px;
    margin-top: 10px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 400;
  }
  .mobile-wedding-page .desktop-wedding-hero-panel > .button:first-of-type { margin-top: 14px; }
  .mobile-wedding-page .mobile-service-button-icon {
    display: inline-block;
    margin-right: 9px;
    font-size: 15px;
  }

  .mobile-wedding-page .desktop-wedding-pain-solution {
    display: grid;
    min-height: 272px;
    grid-template-columns: 1fr !important;
    gap: 4px;
    padding: 12px 14px 16px;
    background: var(--service-bg);
  }
  .mobile-wedding-page .desktop-wedding-pains-copy,
  .mobile-wedding-page .desktop-wedding-pains-visual { display: none; }
  .mobile-wedding-page .mobile-pain-card[data-mobile-only] {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 12px;
    min-height: 112px;
    padding: 12px 14px;
    border: 1px solid #26343b;
    border-radius: 7px;
    background: linear-gradient(135deg, #151f26, #1c2730);
  }
  .mobile-wedding-page .mobile-pain-card:nth-of-type(2) { min-height: 148px; }
  .mobile-wedding-page .mobile-pain-card h2 {
    margin: 0 0 3px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0;
  }
  .mobile-wedding-page .mobile-pain-card ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .mobile-wedding-page .mobile-pain-card li {
    position: relative;
    padding-left: 16px;
    color: #c4c9cc;
    font-size: 10px;
    line-height: 1.42;
  }
  .mobile-wedding-page .mobile-pain-card li::before {
    content: "—";
    position: absolute;
    left: 0;
  }
  .mobile-pain-card__icon {
    position: relative;
    display: block;
    width: 56px;
    height: 56px;
    margin-top: 4px;
    border: 1px solid #637078;
    border-radius: 50%;
  }
  .mobile-pain-card__icon::before {
    position: absolute;
    inset: 10px;
    display: grid;
    place-items: center;
    border: 1px solid #7f8a90;
    border-radius: 50%;
    color: #d7dbdd;
    font-size: 17px;
  }
  .mobile-pain-card__icon--concerns::before { content: "⌁"; }
  .mobile-pain-card__icon--solution::before { content: "◎"; }

  .mobile-wedding-page .mobile-service-sequence[data-mobile-only] {
    display: block;
    background: var(--service-bg);
  }
  .mobile-wedding-page .mobile-service-screen {
    box-sizing: border-box;
    min-height: 804px;
    scroll-margin-top: 40px;
    padding: 8px 14px 32px;
    border-top: 0;
    background: var(--service-bg);
  }
  .mobile-wedding-page .mobile-service-screen > nav {
    display: flex;
    align-items: center;
    min-height: 28px;
    gap: 5px;
    color: #aeb4b7;
    font-size: 10px;
  }
  .mobile-wedding-page .mobile-service-screen > nav a { color: inherit; }
  .mobile-wedding-page .mobile-service-screen > h2 {
    margin: 7px 4px 4px;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.16;
    letter-spacing: -.02em;
  }
  .mobile-wedding-page .mobile-service-screen > p {
    margin: 0 4px;
    color: var(--service-muted);
    font-size: 11px;
  }

  .mobile-wedding-page .mobile-stage-rail {
    position: relative;
    display: grid;
    grid-template-columns: repeat(6, 28px);
    justify-content: space-between;
    margin: 9px 17px 8px;
    padding: 0;
    list-style: none;
  }
  .mobile-wedding-page .mobile-service-screen--2 { height:827px; min-height:827px; padding-top:30px; }
  .mobile-wedding-page .mobile-service-screen--2 > nav { min-height: 20px; }
  .mobile-wedding-page .mobile-service-screen--2 > h2 { margin-top:1px; }
  .mobile-wedding-page .mobile-service-screen--2 > p { line-height: 1.1; }
  .mobile-wedding-page .mobile-service-screen--2 .mobile-stage-rail { margin-top:13px; margin-bottom:5px; }
  .mobile-wedding-page .mobile-stage-rail::before {
    content: "";
    position: absolute;
    top: 13px;
    right: -31px;
    left: -31px;
    height: 1px;
    background: #374148;
  }
  .mobile-wedding-page .mobile-stage-rail li {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 1px solid #566067;
    border-radius: 50%;
    background: var(--service-bg);
    font-size: 11px;
  }
  .mobile-wedding-page .mobile-stage-rail li[aria-current] {
    background: #f2f1ee;
    color: #080b0c;
  }
  .mobile-wedding-page .mobile-stage-card {
    position: relative;
    min-height: 281px;
    margin: 0 -1px 14px;
    padding: 0 12px 42px;
    overflow: hidden;
    border: 1px solid var(--service-line);
    border-radius: 7px;
    background: #071116;
  }
  .mobile-wedding-page .mobile-stage-card img {
    width: calc(100% + 24px);
    height: 123px;
    margin-left: -12px;
    object-fit: cover;
    object-position: center 42%;
  }
  .mobile-wedding-page .mobile-stage-card h3 {
    margin: 10px 0 5px;
    font-size: 15px;
    font-weight: 500;
  }
  .mobile-wedding-page .mobile-stage-card p,
  .mobile-wedding-page .mobile-stage-card li {
    color: #c9ced0;
    font-size: 10px;
    line-height: 1.34;
  }
  .mobile-wedding-page .mobile-stage-card p { margin-bottom: 5px; }
  .mobile-wedding-page .mobile-stage-card ul { margin: 0; padding-left: 18px; }
  .mobile-wedding-page .mobile-stage-card__controls {
    position: absolute;
    right: 11px;
    bottom: 11px;
    left: 11px;
    display: flex;
    justify-content: space-between;
  }
  .mobile-wedding-page .mobile-stage-card__controls span {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 1px solid #667178;
    border-radius: 5px;
    color: #d6dadd;
  }
  .mobile-wedding-page .mobile-service-screen details {
    margin: 0 0 14px;
    border: 1px solid var(--service-line);
    border-radius: 6px;
    background: #111a20;
  }
  .mobile-wedding-page .mobile-service-screen details + details { margin-top: 0; }
  .mobile-wedding-page .mobile-service-screen summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 63px;
    padding: 8px 12px;
    cursor: pointer;
    font-size: 16px;
    list-style: none;
  }
  .mobile-wedding-page .mobile-service-screen--2 > details > summary { min-height:61px !important; }
  .mobile-wedding-page .mobile-service-screen--2 > details:first-of-type { margin-bottom:16px; }
  .mobile-wedding-page .mobile-service-screen summary::-webkit-details-marker { display: none; }
  .mobile-wedding-page .mobile-service-screen summary span { display: grid; gap: 3px; }
  .mobile-wedding-page .mobile-service-screen summary small {
    color: #aeb4b7;
    font-size: 10px;
    font-weight: 400;
  }
  .mobile-wedding-page .mobile-service-screen details > p {
    margin: 0;
    padding: 0 12px 12px;
    color: #b9bfc1;
    font-size: 10px;
  }
  .mobile-wedding-page .mobile-scope-tabs {
    height: 206px;
    margin: 3px 0 0;
    padding: 0 12px 10px;
    border: 1px solid var(--service-line);
    border-radius: 6px;
    background: #101a20;
  }
  .mobile-wedding-page .mobile-scope-tabs__nav {
    display: grid !important;
    height: 44px;
    min-height: 44px !important;
    grid-template-columns: 1fr 1fr;
    margin: 0 -12px 3px;
    color: #d8dcde !important;
  }
  .mobile-wedding-page .mobile-scope-tabs__nav a {
    display: grid;
    place-items: center;
    box-sizing: border-box;
    min-height: 44px;
    color: inherit;
    font-size: 10px;
  }
  .mobile-wedding-page .mobile-scope-tabs__nav a[aria-current] {
    margin: 1px;
    border-radius: 4px;
    background: linear-gradient(#f0efec, #f0efec) center top / 100% 27px no-repeat;
    color: #090b0c;
  }
  .mobile-wedding-page .mobile-scope-tabs h3 {
    margin: 0 0 5px;
    font-size: 15px;
    font-weight: 500;
  }
  .mobile-wedding-page .mobile-scope-tabs ul { margin: 0; padding: 0; list-style: none; }
  .mobile-wedding-page .mobile-scope-tabs li {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 26px;
    padding-left: 25px;
    color: #cbd0d2;
    font-size: 10px;
  }
  .mobile-wedding-page .mobile-scope-tabs li::before {
    content: "✓";
    position: absolute;
    left: 0;
    display: grid;
    place-items: center;
    width: 14px;
    height: 14px;
    border: 1px solid #7b858b;
    border-radius: 3px;
    font-size: 9px;
  }

  .mobile-wedding-page .mobile-service-screen--3 { padding-inline: 15px; }
  .mobile-wedding-page .mobile-service-screen--3 { height:844px; min-height:844px; padding-top:50px; }
  .mobile-wedding-page .mobile-service-screen--3 > h2 { margin-top:6px; }
  .mobile-wedding-page .mobile-service-screen--3 > nav,
  .mobile-wedding-page .mobile-service-screen--4 > nav { min-height: 20px; }
  .mobile-wedding-page .mobile-quote-rail,
  .mobile-wedding-page .mobile-related-rail {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 320px;
    gap: 19px;
    margin: 8px -15px 0 4px;
    padding: 0 0 2px;
    overflow-x: auto;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
  }
  .mobile-wedding-page .mobile-quote-rail::-webkit-scrollbar,
  .mobile-wedding-page .mobile-related-rail::-webkit-scrollbar { display: none; }
  .mobile-wedding-page .mobile-quote-card {
    position: relative;
    display: grid;
    height: 318px;
    grid-template-rows: 197px 121px;
    overflow: hidden;
    border: 1px solid var(--service-line);
    border-radius: 8px;
    background: #0b151a;
    scroll-snap-align: start;
  }
  .mobile-wedding-page .mobile-quote-card::after {
    content: "“";
    position: absolute;
    top: 158px;
    left: 10px;
    color: #fff;
    font-size: 50px;
    font-weight: 700;
    line-height: 1;
  }
  .mobile-wedding-page .mobile-quote-card img {
    width: 100%;
    height: 197px;
    object-fit: cover;
    object-position: center 35%;
  }
  .mobile-wedding-page .mobile-quote-card blockquote {
    margin: 0;
    padding: 10px 15px;
    overflow: hidden;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.22;
  }
  .mobile-wedding-page .mobile-pagination {
    margin: 5px 0 10px !important;
    color: #e8e9e7 !important;
    text-align: center;
  }
  .mobile-wedding-page .mobile-evidence-rows {
    margin: 5px 0 13px;
    padding: 0;
    border: 1px solid var(--service-line);
    border-radius: 6px;
    list-style: none;
  }
  .mobile-wedding-page .mobile-evidence-rows li {
    position: relative;
    min-height: 50px;
    padding: 8px 10px 7px 64px;
    border-bottom: 1px solid #253139;
    font-size: 12px;
  }
  .mobile-wedding-page .mobile-evidence-rows li:last-child { border-bottom: 0; }
  .mobile-wedding-page .mobile-evidence-rows li::before {
    position: absolute;
    top: 8px;
    left: 15px;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border: 1px solid #899399;
    border-radius: 50%;
    color: #d9dcdd;
    font-size: 16px;
  }
  .mobile-wedding-page .mobile-evidence-rows__reviews::before { content: "…"; }
  .mobile-wedding-page .mobile-evidence-rows__cases::before { content: "▣"; border-radius: 3px !important; }
  .mobile-wedding-page .mobile-evidence-rows__video::before { content: "▷"; }
  .mobile-wedding-page .mobile-evidence-rows small {
    display: block;
    margin-top: 2px;
    color: #a6adb1;
    font-size: 9px;
  }
  .mobile-wedding-page .mobile-service-screen--3 > details { margin-bottom: 7px; }
  .mobile-wedding-page .mobile-service-screen--3 > details summary {
    min-height: 43px;
    padding: 8px 11px;
    font-size: 13px;
  }
  .mobile-wedding-page .mobile-service-screen--3 > details summary b { margin-left:auto; padding-left:12px; }
  .mobile-wedding-page .mobile-service-screen--3 > details[open] summary { min-height: 36px; }
  .mobile-wedding-page .mobile-service-screen--3 > details > p {
    padding: 2px 11px 12px;
    font-size: 11px;
    line-height: 1.4;
  }

  .mobile-wedding-page .mobile-service-screen--4 { padding: 50px 15px 84px; }
  .mobile-wedding-page .mobile-service-screen--4 > h2 { margin-top:9px; }
  .mobile-wedding-page .mobile-related-rail {
    gap: 17px;
    margin-top: 9px;
  }
  .mobile-wedding-page .mobile-related-card {
    position: relative;
    height: 271px;
    overflow: hidden;
    border: 1px solid var(--service-line);
    border-radius: 10px;
    scroll-snap-align: start;
  }
  .mobile-wedding-page .mobile-related-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(2, 7, 10, .98) 0%, rgba(2, 7, 10, .72) 42%, transparent 72%);
  }
  .mobile-wedding-page .mobile-related-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 32%;
  }
  .mobile-wedding-page .mobile-related-card:first-child img { content:url('/gagarin/assets/desktop-blue-suit-portrait.png'); object-position:center 35%; }
  .mobile-wedding-page .mobile-related-card > div {
    position: absolute;
    right: 16px;
    bottom: 8px;
    left: 16px;
    z-index: 1;
  }
  .mobile-wedding-page .mobile-related-card h3 {
    margin: 0 0 4px;
    font-size: 17px;
    font-weight: 400;
  }
  .mobile-wedding-page .mobile-related-card p {
    margin: 0;
    color: #c3c8ca;
    font-size: 10px;
    line-height: 1.3;
  }
  .mobile-wedding-page .mobile-related-card a {
    display: inline-grid;
    place-items: center;
    min-height: 32px;
    margin-top: 8px;
    padding: 4px 15px;
    border: 1px solid #dae0e2;
    border-radius: 4px;
    color: #f3f3f0;
    font-size: 10px;
  }
  .mobile-wedding-page .mobile-related-dots {
    display: flex;
    justify-content: center;
    gap: 9px;
    margin: 13px 0 14px;
    padding: 0;
    list-style: none;
  }
  .mobile-wedding-page .mobile-related-dots li {
    width: 5px;
    height: 5px;
    overflow: hidden;
    border-radius: 50%;
    background: #3c464c;
    color: transparent;
  }
  .mobile-wedding-page .mobile-related-dots li[aria-current] { background: #f2f2ef; }
  .mobile-wedding-page .mobile-service-cta {
    display: block;
    width: calc(100% - 1px);
    height: 191px;
    min-height: 0;
    margin: 0 -2px 5px 3px;
    padding: 15px 16px 13px;
    border: 1px solid var(--service-line);
    border-radius: 7px;
    background: linear-gradient(135deg, #162128, #111b21);
  }
  .mobile-wedding-page .mobile-service-cta > p {
    margin: 0 0 4px;
    color: #d4d8d9;
    font-size: 12px;
  }
  .mobile-wedding-page .mobile-service-cta h2 {
    max-width: 310px;
    margin: 0 0 3px;
    font-size: 28px;
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -.035em;
  }
  .mobile-wedding-page .mobile-service-cta > small {
    color: #abb2b6;
    font-size: 10px;
  }
  .mobile-wedding-page .mobile-service-cta .button {
    display: flex;
    min-height: 45px;
    gap: 9px;
    margin-top: 11px;
    font-size: 12px;
  }
  .mobile-wedding-page .mobile-service-cta .button > span:last-child { display: grid; line-height: 1.15; }
  .mobile-wedding-page .mobile-service-cta .button small { font-size: 9px; font-weight: 400; }
  .mobile-wedding-page .mobile-service-contacts {
    display: grid;
    height: 147px;
    min-height: 147px;
    gap: 0;
    width: calc(100% - 1px);
    margin: 0 -2px 0 3px;
    padding: 10px 15px;
    border: 1px solid var(--service-line);
    border-radius: 7px;
    background: linear-gradient(135deg, #152027, #111a20);
    font-style: normal;
  }
  .mobile-wedding-page .mobile-service-contacts a,
  .mobile-wedding-page .mobile-service-contacts span {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 31px;
    padding-left: 30px;
    color: #d9dcdd;
    font-size: 12px;
  }
  .mobile-wedding-page .mobile-service-contacts a { margin-block:-6px; }
  .mobile-wedding-page .mobile-service-contacts a::before,
  .mobile-wedding-page .mobile-service-contacts span::before {
    position: absolute;
    left: 0;
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    border: 1px solid #758087;
    border-radius: 50%;
    font-size: 10px;
  }
  .mobile-service-contacts__phone::before { content: "⌕"; }
  .mobile-service-contacts__telegram::before { content: "↗"; }
  .mobile-service-contacts__instagram::before { content: "◎"; }
  .mobile-service-contacts__location::before { content: "•"; }

  .mobile-wedding-page .fixed-actions {
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 120;
    gap: 10px;
    padding: 11px 13px 20px;
    border: 0;
    border-radius: 0;
    background: rgba(0, 5, 8, .98);
    backdrop-filter: none;
  }
  .mobile-wedding-page .fixed-actions a {
    min-height: 44px;
    border: 1px solid #d8dcde;
    border-radius: 4px;
    background: #f0efec !important;
    color: #090b0c !important;
    font-size: 11px;
  }
}

@media (max-width: 900px) {
  .mobile-wedding-page .menu-toggle,
  .mobile-wedding-page .mobile-service-screen > nav a,
  .mobile-wedding-page .mobile-scope-tabs__nav a,
  .mobile-wedding-page .mobile-service-screen summary,
  .mobile-wedding-page .mobile-related-card a,
  .mobile-wedding-page .mobile-service-contacts a { display:inline-flex; align-items:center; min-width:44px; min-height:44px !important; }
  .mobile-wedding-page .mobile-service-screen summary { display:flex; width:100%; }
  .mobile-wedding-page .menu-toggle { height:44px !important; }
  .mobile-wedding-page .mobile-service-screen > nav a { margin-block:-12px; }
}
