/* Правки 09.2026: MAX в шапке и подвале, кнопка консультации, чат-виджет, страницы металлов */

/* ---------- Иконки соцсетей ---------- */
.header_social_block .social_link img[alt="logo_max"] {
    width: 25px;
    height: 25px;
    object-fit: contain;
}

footer .footer_social_block {
    gap: 26px;
}

footer .footer_social_block .social_link img {
    width: 26px;
    height: 26px;
    object-fit: contain;
    transition: opacity .3s;
}

footer .footer_social_block .social_link:hover img {
    opacity: .7;
}

/* ---------- Кнопка «Записаться на консультацию» (мобильная шапка) ---------- */
.header_consult_btn {
    display: none;
}

@media (max-width: 540px) {
    .header_consult_btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        float: left;
        max-width: calc(100% - 64px);
        min-height: 44px;
        margin-top: 3px;
        padding: 8px 16px;
        font-size: 14px;
        line-height: 1.2;
        text-align: center;
        color: #fff;
        border-color: #ca9b63;
        background-color: rgba(0, 0, 0, .35);
    }
}

@media (max-width: 360px) {
    .header_consult_btn {
        padding: 8px 10px;
        font-size: 13px;
    }
}

/* ---------- Чат-виджет ---------- */
#fixedSotsials .socials-toggle a {
    --oiz-chat-color: #111;
    position: relative;
    width: 62px;
    height: 62px;
    background: var(--oiz-chat-color);
    box-shadow: 0 4px 14px rgba(0, 0, 0, .35);
    transition: background-color .6s ease, transform .3s ease, box-shadow .3s ease;
}

#fixedSotsials .socials-toggle a[data-chat="wa"]  { --oiz-chat-color: #25d366; }
#fixedSotsials .socials-toggle a[data-chat="tg"]  { --oiz-chat-color: #27a6e5; }
#fixedSotsials .socials-toggle a[data-chat="vk"]  { --oiz-chat-color: #0077ff; }
#fixedSotsials .socials-toggle a[data-chat="max"] { --oiz-chat-color: #6a3cf0; }

#fixedSotsials .socials-toggle a::before,
#fixedSotsials .socials-toggle a::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 50%;
    border: 2px solid var(--oiz-chat-color);
    opacity: 0;
    pointer-events: none;
    animation: oizChatPulse 2.4s ease-out infinite;
    transition: border-color .6s ease;
}

#fixedSotsials .socials-toggle a::after {
    animation-delay: 1.2s;
}

@keyframes oizChatPulse {
    0%   { transform: scale(1);    opacity: .7; }
    100% { transform: scale(1.65); opacity: 0; }
}

#fixedSotsials ul li.socials-toggle:hover a {
    color: #fff;
    background: var(--oiz-chat-color);
    transform: scale(1.06);
    box-shadow: 0 6px 18px rgba(0, 0, 0, .4);
}

.oiz-chat-icons {
    position: relative;
    display: block;
    width: 30px;
    height: 30px;
    margin: auto;
}

.oiz-chat-icon {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: scale(.3) rotate(-45deg);
    transition: opacity .45s ease, transform .45s ease;
}

.oiz-chat-icon.is-active {
    opacity: 1;
    transform: scale(1) rotate(0);
}

#fixedSotsials .oiz-chat-icon i {
    margin: 0;
    font-size: 28px;
    line-height: 1;
    color: #fff;
}

#fixedSotsials .oiz-chat-icon img {
    width: 27px;
    height: 27px;
    margin: 0;
}

#fixedSotsials .socials-toggle .icon-close {
    font-size: 24px;
}

#fixedSotsials.is-open .socials-toggle a {
    --oiz-chat-color: #111;
}

#fixedSotsials.is-open .socials-toggle a::before,
#fixedSotsials.is-open .socials-toggle a::after {
    animation: none;
    opacity: 0;
}

#fixedSotsials ul li:not(.socials-toggle) a {
    width: 50px;
    height: 50px;
    font-size: 24px;
}

#fixedSotsials ul li:not(.socials-toggle) a:has(.fa-whatsapp)   { background: #25d366; }
#fixedSotsials ul li:not(.socials-toggle) a:has(.fa-vk)         { background: #0077ff; }
#fixedSotsials ul li:not(.socials-toggle) a:has(.fa-telegram)   { background: #27a6e5; }
#fixedSotsials ul li:not(.socials-toggle) a:has(img[alt="MAX"]) { background: #6a3cf0; }

#fixedSotsials ul li:not(.socials-toggle):hover a {
    color: #fff;
    transform: scale(1.08);
    box-shadow: 0 4px 14px rgba(0, 0, 0, .35);
}

@media (max-width: 540px) {
    #fixedSotsials .socials-toggle a {
        width: 58px;
        height: 58px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #fixedSotsials .socials-toggle a::before,
    #fixedSotsials .socials-toggle a::after {
        animation: none;
    }
    .oiz-chat-icon {
        transition: none;
    }
}

/* ---------- Страницы металлов: своё золото, серебро, золото 375 ---------- */
.metal_pairs .metal_pairs_btn {
    min-width: 220px;
    margin: 10px 0 30px;
}

@media (max-width: 720px) {
    #a31 .mainPage .metal_pairs .main_gallery_inner > .main_gallery_photo_wrap {
        padding: 0 12px;
        box-sizing: border-box;
    }

    #a31 .mainPage .metal_pairs .main_gallery_photo_wrap {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
        margin-top: 12px;
    }

    #a31 .mainPage .metal_pairs .main_gallery_column {
        display: contents;
    }

    #a31 .mainPage .metal_pairs .main_gallery_column a {
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        aspect-ratio: 4 / 5;
    }

    #a31 .mainPage .metal_pairs .main_gallery_photo_wrap > .main_gallery_column:first-child a:first-child,
    #a31 .mainPage .metal_pairs .main_gallery_column--four a:last-child {
        grid-column: 1 / -1;
        aspect-ratio: 3 / 2;
    }

    #a31 .mainPage .metal_pairs .main_gallery_column a picture,
    #a31 .mainPage .metal_pairs .main_gallery_column a img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}


/* YouTube facade */
.oiz-yt-facade::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 68px;
    height: 48px;
    margin: -24px 0 0 -34px;
    background: rgba(0,0,0,.7);
    border-radius: 12px;
    box-shadow: inset 0 0 0 2px #fff;
}
/* Content pictures only — not header/footer social icons */
.main_banner_pic,
.main_feelings_slider img,
.main_feelings_slider picture img,
.main_gallery_column img,
.main_works_card img {
    width: 100%;
    height: auto;
}


/* PSI pass LCP sizing moved — see wave-bg fix */
.main_banner_pic {
    width: 100%;
    max-width: 427px;
    height: auto;
}
.main_feelings_slider img,
.main_feelings_slider picture {
    width: 100%;
    height: auto;
}


/* OIZ SEO readable + layout restore after heading demotion */
.header_logo_name {
  margin: 0;
  font-weight: 400;
}
.header_logo_name a {
  color: inherit;
  text-decoration: none;
}
.header_phone_num,
.header_address_text,
.header_phone_extra {
  margin: 0;
  font-weight: inherit;
  font-size: inherit;
}

/* Keep visual order: title → H1 → CTA → text (H1 may be first in DOM for SEO) */
.main_banner_content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.main_banner_content .main_banner_title { order: 1; }
.main_banner_content .main_banner_subtitle { order: 2; }
.main_banner_content .btn { order: 3; }
.main_banner_content .main_banner_text { order: 4; }

p.main_banner_title {
  margin: 0 0 10px;
}
p.main_banner_text {
  margin: 0;
}
.container p.main_banner_title,
.container p.main_banner_text {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .page_content,
  .feature_item_text,
  .review_text,
  .question_cont_text,
  .icon_text,
  .mclass_content_list {
    font-size: 16px;
    line-height: 1.5;
  }
  .btn, button.btn, a.btn {
    min-height: 44px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}


/* OIZ SEO readable 20261016 */
.header_logo_name {
  margin: 0;
  font-weight: 400;
}
.header_logo_name a {
  color: inherit;
  text-decoration: none;
}
.header_phone_num,
.header_address_text,
.header_phone_extra {
  margin: 0;
  font-weight: inherit;
  font-size: inherit;
}
p.main_banner_title {
  margin: 0 0 10px;
}
p.main_banner_text {
  margin: 0;
}
@media (max-width: 767px) {
  .page_content, .feature_item_text, .review_text, .question_cont_text, .icon_text, .mclass_content_list {
    font-size: 16px;
    line-height: 1.5;
  }
  .btn, button.btn, a.btn {
    min-height: 44px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

/* OIZ heading hierarchy + 404 20261021 */
div.section_title_title, div.section_title_hand, div.icon_title_title, div.icon_title_hand,
div.mclass_price_value, div.mkprices_form_title, div.main_banner_text, div.contacts_text,
div.footer_info_phone, div.footer_info_email, div.footer_info_address, div.footer_copyright {
  margin-top: 0;
  margin-bottom: 0;
}
div.footer_info_phone { margin-bottom: 25px; }
div.footer_info_email { margin-bottom: 25px; }
h2.question_cont_title { margin-top: 0; font-weight: 400; }
@media (max-width: 768px) {
  body#a22 div.icon_title_hand { text-align: center; }
  section.mclass.new div.section_title_title.ee { margin-left: 37px; letter-spacing: 0; }
  body#a22 div.icon_title_title { font-size: 30px; text-align: center; width: 80%; margin: 0 auto; }
  body section.mclass.new div.section_title_title { font-size: 18px; top: 20px; margin-left: 0; position: relative; font-family: 'Museo Sans Cyrl 300'; letter-spacing: 4px; width: 100%; }
  section.mclass.new .mclass_inner.niz div.section_title_hand { font-family: 'Resagokr'; font-size: 18px; text-transform: uppercase; letter-spacing: 0px !important; margin-top: 25px; }
  body section.mclass.new .mclass_inner.niz div.section_title_hand { width: 100%; font-size: 18px; }
  body section.mclass.new div.section_title_title { margin-left: 32px; }
  html section.mob div.section_title_title.ee { font-size: 16px; position: absolute; margin-top: 0px; margin-left: 19px; }
}
@media (max-width: 600px) {
  body section.mclass.new div.section_title_title { font-size: 18px; top: 20px; margin-left: 0; position: relative; font-family: 'Museo Sans Cyrl 300'; letter-spacing: 4px; width: 100%; }
  body#a22 div.icon_title_title { font-size: 30px; text-align: center; width: 80%; margin: 0 auto; }
  section.mclass.new .mclass_inner.niz div.section_title_hand { font-family: 'Resagokr'; font-size: 18px; text-transform: uppercase; letter-spacing: 0px !important; margin-top: 25px; }
  body section.mclass.new .mclass_inner.niz div.section_title_hand { width: 100%; font-size: 18px; }
  section.mclass.new div.section_title_hand { width: 100%; }
}
.oiz-404 { padding: 170px 0 90px; text-align: center; }
.oiz-404_code { font-family: "Resagokr"; font-size: 90px; line-height: 1; color: #ca9b63; margin-bottom: 10px; }
.oiz-404 h1 { font-size: 34px; margin: 0 0 16px; }
.oiz-404 p { font-size: 18px; line-height: 1.5; margin: 0 auto 30px; max-width: 560px; }
.oiz-404_links { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
@media (max-width: 767px) { .oiz-404 { padding: 130px 0 60px; } .oiz-404_code { font-size: 64px; } .oiz-404 h1 { font-size: 26px; } }

h1.section_title { font-size: inherit; line-height: inherit; font-weight: 400; margin-top: 0; }

/* Thanks page (a29): socials under «Если чат не открылся…», larger icons */
.main_banner_content .footer_social_block {
  order: 5;
  margin-top: 12px;
  gap: 22px;
}
/* Thanks page: no bottom wave — it ate the social row; keep icons on dark hero */
body#a29 .main_banner > .container:after,
body#a29 .main_banner > .container:before {
  display: none;
}
body#a29 .main_banner {
  padding-bottom: 48px;
}
body#a29 .main_banner_content .footer_social_block {
  position: relative;
  z-index: 2;
  margin-bottom: 8px;
}
body#a29 .main_banner_content .footer_social_block .social_link i {
  font-size: 42px;
  line-height: 1;
  color: #ca9b63;
}
body#a29 .main_banner_content .footer_social_block .social_link:hover i {
  color: #fff;
}
body#a29 .main_banner_content .footer_social_block .social_link img {
  width: 42px;
  height: 42px;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(70%) sepia(35%) saturate(600%) hue-rotate(358deg);
}
@media (max-width: 768px) {
  body#a29 .main_banner_content .footer_social_block {
    justify-content: center;
    width: 100%;
  }
}

/* OIZ wave-bg fix 20261028 */
/* Wave BGs must keep alpha (old webp was RGB → solid black wave). */
.mainPage .main_getfile {
  background-image: url("/assets/templates/img/getfile-bg1.webp?v=20261028b") !important;
}
@media (max-width: 960px) {
  .mainPage .main_getfile {
    background-image: url("/assets/templates/img/getfile-bg2.webp?v=20261028b") !important;
  }
}
/*
  getfile pulls next section under its alpha-wave.
  costcalc padding-top MUST stay larger than that pull, otherwise
  «Индивидуальный дизайн» ends up under the wave (broken at 1100–1600
  where main.css shrinks padding-top while margin stays -300px).
  --oiz-wave-pull lives on .mainPage so siblings can share it.
*/
@media (min-width: 1100.1px) {
  .mainPage {
    --oiz-wave-pull: 300px;
  }
  .mainPage .main_getfile {
    padding-bottom: var(--oiz-wave-pull);
    margin-bottom: calc(-1 * var(--oiz-wave-pull));
  }
  .mainPage .main_costcalc {
    padding-top: calc(var(--oiz-wave-pull) + 40px) !important;
  }
}
@media (min-width: 1920.1px) {
  .mainPage {
    --oiz-wave-pull: 15vw;
  }
  .mainPage .main_getfile {
    background-size: 100% auto;
    background-position: right bottom;
  }
  .mainPage .main_costcalc {
    background-color: #b5b4b8;
    background-size: 100% auto;
    background-position: center bottom;
  }
  .mainPage .main_banner > .container:after {
    width: 140vw;
    left: calc(50% - 70vw);
    height: clamp(230px, 12vw, 320px);
    background-size: 100% 100%;
    background-repeat: no-repeat;
  }
}
.mainPage .main_happy {
  background-image: url("/assets/templates/img/happy-bg1.webp?v=20261028b");
}
@media (max-width: 1100px) {
  .mainPage .main_happy {
    background-image: url("/assets/templates/img/happy-bg2.webp?v=20261028b");
  }
}
