@font-face {
    font-family: "Vazirmatn";
    src: url("../fonts/vazir/fd/Vazirmatn-FD-Regular.woff2") format("woff2");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Vazirmatn";
    src: url("../fonts/vazir/fd/Vazirmatn-FD-Medium.woff2") format("woff2");
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: "Vazirmatn";
    src: url("../fonts/vazir/fd/Vazirmatn-FD-SemiBold.woff2") format("woff2");
    font-style: normal;
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: "Vazirmatn";
    src: url("../fonts/vazir/fd/Vazirmatn-FD-Bold.woff2") format("woff2");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: "Vazirmatn";
    src: url("../fonts/vazir/fd/Vazirmatn-FD-ExtraBold.woff2") format("woff2");
    font-style: normal;
    font-weight: 800;
    font-display: swap;
}

:root {
    --shop-blue: #173fb3;
    --shop-blue-dark: #0c286f;
    --shop-navy: #071b4a;
    --shop-cyan: #22b8ba;
    --shop-amber: #ffb400;
    --shop-amber-soft: #fff3cf;
    --shop-red: #e94a4f;
    --shop-green: #15976d;
    --shop-ink: #17213b;
    --shop-muted: #6f778a;
    --shop-line: #e8ebf2;
    --shop-surface: #f5f7fb;
    --shop-white: #ffffff;
    --shop-shadow: 0 18px 55px rgba(12, 40, 111, .10);
    --shop-radius: 24px;
}

html {
    scroll-behavior: smooth;
}

html,
body.shop-page,
.shop-shell,
.shop-shell *,
.shop-shell input,
.shop-shell button,
.shop-shell select,
.shop-shell textarea {
    font-family: "Vazirmatn", sans-serif !important;
}

.shop-shell .fa,
.shop-shell .fas,
.shop-shell .far {
    font-family: "Font Awesome 5 Pro" !important;
}

.shop-shell .fa,
.shop-shell .fas {
    font-weight: 900;
}

.shop-shell .far {
    font-weight: 400;
}

body.shop-page {
    margin: 0;
    min-width: 320px;
    overflow-x: hidden;
    color: var(--shop-ink);
    background: var(--shop-surface);
    direction: rtl;
    -webkit-font-smoothing: antialiased;
}

.shop-shell *,
.shop-shell *::before,
.shop-shell *::after {
    box-sizing: border-box;
}

.shop-shell a {
    color: inherit;
    text-decoration: none;
}

.shop-shell button,
.shop-shell input,
.shop-shell select {
    font: inherit;
}

.shop-shell button,
.shop-shell a {
    -webkit-tap-highlight-color: transparent;
}

.shop-shell img {
    max-width: 100%;
}

.shop-container {
    width: min(100% - 40px, 1320px);
    margin-inline: auto;
}

.shop-promo {
    position: relative;
    z-index: 31;
    color: #fff;
    background:
        radial-gradient(circle at 28% 50%, rgba(255, 180, 0, .25), transparent 22%),
        linear-gradient(90deg, var(--shop-blue-dark), var(--shop-blue) 52%, #0a3195);
}

.shop-promo__inner {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    font-size: 13px;
}

.shop-promo__inner span,
.shop-promo__inner a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.shop-promo__inner i {
    color: var(--shop-amber);
}

.shop-header {
    position: sticky;
    top: 0;
    z-index: 30;
    border-bottom: 1px solid rgba(18, 35, 78, .08);
    background: rgba(255, 255, 255, .98);
    transition: box-shadow .25s ease, transform .25s ease;
}

.shop-header.is-scrolled {
    box-shadow: 0 12px 32px rgba(7, 27, 74, .10);
}

.shop-header__main {
    min-height: 88px;
    display: grid;
    grid-template-columns: auto minmax(280px, 1fr) auto;
    align-items: center;
    gap: 34px;
}

.shop-brand {
    min-width: max-content;
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.shop-brand__logo {
    width: 64px;
    height: 60px;
    padding: 7px;
    display: grid;
    place-items: center;
    border: 1px solid #e9edf5;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(13, 40, 105, .08);
}

.shop-brand__logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.shop-brand__copy {
    display: grid;
    line-height: 1.4;
}

.shop-brand__copy strong {
    color: var(--shop-blue-dark);
    font-size: 18px;
    font-weight: 800;
}

.shop-brand__copy small {
    color: var(--shop-muted);
    font-size: 11px;
}

.shop-search {
    height: 52px;
    display: flex;
    align-items: center;
    border: 1px solid transparent;
    border-radius: 17px;
    background: #f1f3f7;
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.shop-search:focus-within {
    border-color: rgba(23, 63, 179, .35);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(23, 63, 179, .08);
}

.shop-search button {
    width: 54px;
    height: 100%;
    flex: 0 0 54px;
    border: 0;
    color: var(--shop-blue);
    background: transparent;
    cursor: pointer;
}

.shop-search input {
    width: 100%;
    height: 100%;
    border: 0;
    outline: 0;
    color: var(--shop-ink);
    background: transparent;
    font-size: 13px;
}

.shop-search input::placeholder {
    color: #979eae;
}

.shop-header__actions {
    display: flex;
    align-items: center;
    gap: 9px;
}

.shop-action {
    height: 46px;
    padding: 0 13px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    border: 1px solid var(--shop-line);
    border-radius: 14px;
    color: var(--shop-ink);
    background: #fff;
    transition: color .2s ease, border-color .2s ease, transform .2s ease;
}

button.shop-action {
    cursor: pointer;
}

.shop-action:hover {
    color: var(--shop-blue);
    border-color: #cfd7eb;
    transform: translateY(-2px);
}

.shop-action > i {
    color: var(--shop-blue);
    font-size: 16px;
}

.shop-action span {
    display: grid;
    line-height: 1.35;
}

.shop-action span small {
    color: var(--shop-muted);
    font-size: 9px;
}

.shop-action span strong {
    font-size: 11px;
    font-weight: 700;
}

.shop-action--icon {
    position: relative;
    width: 46px;
    padding: 0;
    justify-content: center;
}

.shop-action--icon b {
    position: absolute;
    top: -6px;
    left: -5px;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    display: grid;
    place-items: center;
    border: 2px solid #fff;
    border-radius: 999px;
    color: #fff;
    background: var(--shop-red);
    font-size: 9px;
}

.shop-menu-toggle {
    width: 46px;
    height: 46px;
    display: none;
    place-items: center;
    border: 0;
    border-radius: 14px;
    color: #fff;
    background: var(--shop-blue);
    cursor: pointer;
}

.shop-nav {
    position: relative;
    min-height: 52px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 22px;
    border-top: 1px solid #f0f2f7;
}

.shop-categories-menu {
    position: relative;
    align-self: stretch;
}

.shop-categories-menu__trigger {
    height: 100%;
    padding: 0 2px 0 22px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: 0;
    color: var(--shop-navy);
    background: transparent;
    font-weight: 800;
    cursor: pointer;
}

.shop-categories-menu__trigger > i:first-child {
    color: var(--shop-blue);
    font-size: 18px;
}

.shop-categories-menu__trigger > i:last-child {
    color: #9299a9;
    font-size: 10px;
    transition: transform .2s ease;
}

.shop-categories-menu.is-open .shop-categories-menu__trigger > i:last-child {
    transform: rotate(180deg);
}

.shop-categories-menu__trigger::after {
    position: absolute;
    right: 0;
    bottom: 0;
    width: calc(100% - 20px);
    height: 3px;
    border-radius: 999px 999px 0 0;
    background: var(--shop-amber);
    content: "";
}

.shop-categories-panel {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: min(860px, calc(100vw - 40px));
    padding: 18px;
    display: grid;
    grid-template-columns: 235px 1fr;
    gap: 20px;
    border: 1px solid #e7eaf1;
    border-radius: 0 0 22px 22px;
    visibility: hidden;
    opacity: 0;
    background: #fff;
    box-shadow: 0 24px 70px rgba(7, 27, 74, .18);
    transform: translateY(-8px);
    transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
}

.shop-categories-menu.is-open .shop-categories-panel {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

.shop-categories-panel__intro {
    min-height: 190px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 18px;
    overflow: hidden;
    border-radius: 18px;
    color: #fff;
    background:
        radial-gradient(circle at 20% 16%, rgba(255, 180, 0, .5), transparent 30%),
        linear-gradient(145deg, var(--shop-blue), var(--shop-navy));
}

.shop-categories-panel__intro > span {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 16px;
    background: rgba(255, 255, 255, .12);
    font-size: 20px;
}

.shop-categories-panel__intro div {
    display: grid;
    gap: 6px;
}

.shop-categories-panel__intro strong {
    font-size: 17px;
}

.shop-categories-panel__intro small {
    color: rgba(255, 255, 255, .75);
    font-size: 11px;
    line-height: 1.9;
}

.shop-categories-panel__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.shop-categories-panel__grid a {
    min-height: 70px;
    padding: 12px;
    display: flex;
    align-items: center;
    gap: 11px;
    border: 1px solid #eef0f5;
    border-radius: 14px;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.shop-categories-panel__grid a:hover {
    border-color: #d5ddf0;
    background: #f7f9ff;
    transform: translateX(-3px);
}

.shop-categories-panel__grid a > i {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--shop-blue);
    background: #edf1ff;
}

.shop-categories-panel__grid a span {
    display: grid;
    gap: 3px;
}

.shop-categories-panel__grid a strong {
    font-size: 12px;
}

.shop-categories-panel__grid a small {
    color: var(--shop-muted);
    font-size: 10px;
}

.shop-nav__links {
    display: flex;
    align-items: center;
    gap: 2px;
}

.shop-nav__links a {
    padding: 10px 13px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border-radius: 10px;
    color: #50596c;
    font-size: 11px;
    transition: color .2s ease, background .2s ease;
}

.shop-nav__links a i {
    color: #9098a8;
}

.shop-nav__links a:hover {
    color: var(--shop-blue);
    background: #f4f6fc;
}

.shop-nav__promise {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--shop-muted);
    font-size: 10px;
}

.shop-nav__promise i {
    color: var(--shop-amber);
}

.shop-main {
    min-height: 50vh;
}

.shop-hero {
    padding: 24px 0 10px;
}

.shop-hero__card {
    position: relative;
    min-height: 430px;
    display: grid;
    grid-template-columns: 47% 53%;
    overflow: hidden;
    border-radius: 30px;
    color: #fff;
    background:
        linear-gradient(110deg, rgba(7, 27, 74, .22), transparent 55%),
        linear-gradient(135deg, #092366 0%, #163fb5 55%, #147d9f 100%);
    box-shadow: 0 25px 65px rgba(12, 40, 111, .20);
}

.shop-hero__card::before {
    position: absolute;
    inset: 0;
    opacity: .18;
    background-image: radial-gradient(circle at 1px 1px, #fff 1px, transparent 0);
    background-size: 30px 30px;
    content: "";
    pointer-events: none;
}

.shop-hero__copy {
    position: relative;
    z-index: 2;
    padding: 55px 58px 42px 20px;
}

.shop-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #ffe6a2;
    font-size: 12px;
    font-weight: 700;
}

.shop-eyebrow i {
    color: var(--shop-amber);
}

.shop-hero__copy h1 {
    margin: 16px 0 12px;
    color: #fff;
    font-size: clamp(31px, 3.3vw, 52px);
    font-weight: 900;
    line-height: 1.35;
    letter-spacing: -.8px;
}

.shop-hero__copy h1 em {
    color: var(--shop-amber);
    font-style: normal;
}

.shop-hero__copy > p {
    max-width: 530px;
    margin: 0;
    color: rgba(255, 255, 255, .74);
    font-size: 14px;
    line-height: 2.1;
}

.shop-hero__price {
    margin-top: 15px;
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.shop-hero__price small {
    color: rgba(255, 255, 255, .65);
    font-size: 10px;
}

.shop-hero__price strong {
    color: #fff;
    font-size: 28px;
    font-weight: 900;
}

.shop-hero__price span {
    color: #ffe7a6;
    font-size: 11px;
}

.shop-hero__buttons {
    margin-top: 25px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.shop-hero__buttons a {
    min-height: 47px;
    padding: 0 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 14px;
    color: #fff;
    background: rgba(255, 255, 255, .08);
    font-size: 12px;
    font-weight: 700;
    transition: transform .2s ease, background .2s ease;
}

.shop-hero__buttons a:hover {
    transform: translateY(-2px);
    background: rgba(255, 255, 255, .16);
}

.shop-hero__buttons a.is-primary {
    border-color: var(--shop-amber);
    color: #15234c;
    background: var(--shop-amber);
    box-shadow: 0 12px 28px rgba(255, 180, 0, .22);
}

.shop-hero__trust {
    margin-top: 32px;
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    color: rgba(255, 255, 255, .76);
    font-size: 10px;
}

.shop-hero__trust span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.shop-hero__trust i {
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #0c347f;
    background: var(--shop-amber);
    font-size: 9px;
}

.shop-hero__visual {
    position: relative;
    z-index: 1;
    min-height: 430px;
    display: grid;
    place-items: center;
    overflow: hidden;
}

.shop-hero__visual::after {
    position: absolute;
    left: 8%;
    bottom: -28%;
    width: 78%;
    aspect-ratio: 1;
    border-radius: 50%;
    background: rgba(255, 255, 255, .10);
    content: "";
}

.shop-hero__visual > img {
    position: relative;
    z-index: 2;
    width: min(72%, 470px);
    height: 330px;
    padding: 25px;
    object-fit: contain;
    border-radius: 40% 60% 60% 40% / 46% 40% 60% 54%;
    background: rgba(255, 255, 255, .96);
    filter: drop-shadow(0 25px 28px rgba(2, 13, 43, .25));
    transform: rotate(-2deg);
}

.shop-hero__shape {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.shop-hero__shape--one {
    top: 8%;
    left: 8%;
    width: 120px;
    height: 120px;
    border: 25px solid rgba(255, 180, 0, .38);
}

.shop-hero__shape--two {
    right: 8%;
    bottom: 12%;
    width: 72px;
    height: 72px;
    background: rgba(34, 184, 186, .5);
}

.shop-hero__badge {
    position: absolute;
    z-index: 4;
    top: 60px;
    right: 10%;
    padding: 10px 15px;
    border-radius: 12px;
    color: #17213b;
    background: var(--shop-amber);
    font-size: 11px;
    font-weight: 800;
    box-shadow: 0 12px 24px rgba(3, 17, 54, .2);
}

.shop-hero__placeholder {
    position: relative;
    z-index: 2;
    width: min(76%, 430px);
    min-height: 290px;
    padding: 38px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 35% 65% 60% 40% / 44% 38% 62% 56%;
    text-align: center;
    background: rgba(255, 255, 255, .11);
    backdrop-filter: blur(12px);
}

.shop-hero__placeholder i {
    margin-bottom: 13px;
    color: var(--shop-amber);
    font-size: 66px;
}

.shop-hero__placeholder strong {
    font-size: 19px;
}

.shop-hero__placeholder small {
    color: rgba(255, 255, 255, .68);
    font-size: 10px;
    line-height: 1.9;
}

.shop-shortcuts {
    padding: 24px 0 32px;
    background: #fff;
}

.shop-shortcuts__list {
    display: grid;
    grid-template-columns: repeat(9, minmax(90px, 1fr));
    gap: 12px;
}

.shop-shortcuts__list > a {
    min-width: 94px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-align: center;
}

.shop-shortcuts__list > a > span {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border-radius: 21px;
    color: #fff;
    background: var(--shop-blue);
    font-size: 21px;
    box-shadow: 0 10px 24px rgba(23, 63, 179, .16);
    transition: border-radius .2s ease, transform .2s ease;
}

.shop-shortcuts__list > a:hover > span {
    border-radius: 50%;
    transform: translateY(-4px);
}

.shop-shortcuts__list > a > span.is-amber { color: #253157; background: var(--shop-amber); }
.shop-shortcuts__list > a > span.is-muted { color: #5f6879; background: #edf0f5; box-shadow: none; }
.shop-shortcuts__list > a > span.shop-shortcut-color-1 { background: #1667b5; }
.shop-shortcuts__list > a > span.shop-shortcut-color-2 { background: #168f88; }
.shop-shortcuts__list > a > span.shop-shortcut-color-3 { background: #6b55ba; }
.shop-shortcuts__list > a > span.shop-shortcut-color-4 { background: #db6b34; }
.shop-shortcuts__list > a > span.shop-shortcut-color-5 { background: #305173; }

.shop-shortcuts__list strong {
    margin-top: 3px;
    color: var(--shop-ink);
    font-size: 10px;
    font-weight: 700;
}

.shop-shortcuts__list small {
    color: #989ead;
    font-size: 9px;
}

.shop-featured {
    padding: 26px 0 42px;
    background: #fff;
}

.shop-featured__box {
    padding: 18px;
    display: grid;
    grid-template-columns: 205px minmax(0, 1fr);
    gap: 12px;
    overflow: hidden;
    border-radius: 28px;
    background:
        radial-gradient(circle at 8% 15%, rgba(255, 180, 0, .34), transparent 18%),
        linear-gradient(145deg, #0c2c7a, #1949c3);
    box-shadow: 0 22px 55px rgba(12, 44, 122, .20);
}

.shop-featured__heading {
    padding: 26px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
}

.shop-featured__heading > span {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 17px;
    color: #19254a;
    background: var(--shop-amber);
    font-size: 24px;
}

.shop-featured__heading h2 {
    margin: 17px 0 8px;
    color: #fff;
    font-size: 25px;
    font-weight: 900;
    line-height: 1.5;
}

.shop-featured__heading p {
    margin: 0 0 18px;
    color: rgba(255, 255, 255, .65);
    font-size: 10px;
    line-height: 1.9;
}

.shop-featured__heading a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
}

.shop-featured__products {
    min-width: 0;
    display: grid;
    grid-auto-columns: minmax(200px, 1fr);
    grid-auto-flow: column;
    gap: 3px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, .35) transparent;
}

.shop-featured__products .shop-product-card {
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.shop-featured__products .shop-product-card:first-child { border-radius: 0 17px 17px 0; }
.shop-featured__products .shop-product-card:last-child { border-radius: 17px 0 0 17px; }

.shop-catalog {
    padding: 64px 0 70px;
}

.shop-section-heading {
    margin-bottom: 27px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
}

.shop-section-heading > div > span,
.shop-specifications header span,
.shop-rich-content header span {
    display: block;
    margin-bottom: 7px;
    color: var(--shop-blue);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .4px;
}

.shop-section-heading h2,
.shop-specifications h2,
.shop-rich-content h2 {
    margin: 0;
    color: var(--shop-navy);
    font-size: 27px;
    font-weight: 900;
    line-height: 1.5;
}

.shop-section-heading p {
    margin: 5px 0 0;
    color: var(--shop-muted);
    font-size: 11px;
}

.shop-section-heading > strong {
    padding: 8px 13px;
    border: 1px solid #dfe4ef;
    border-radius: 11px;
    color: var(--shop-blue);
    background: #fff;
    font-size: 10px;
}

.shop-section-heading > a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--shop-blue);
    font-size: 11px;
    font-weight: 700;
}

.shop-catalog__layout {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    align-items: start;
    gap: 22px;
}

.shop-filters {
    position: sticky;
    top: 163px;
    padding: 18px;
    border: 1px solid var(--shop-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(23, 33, 59, .05);
}

.shop-filters__title {
    margin-bottom: 17px;
    padding-bottom: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--shop-line);
}

.shop-filters__title span {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--shop-navy);
    font-size: 12px;
    font-weight: 800;
}

.shop-filters__title span i { color: var(--shop-blue); }
.shop-filters__title a { color: var(--shop-red); font-size: 9px; }

.shop-filters form > label:not(.shop-switch) {
    margin-bottom: 16px;
    display: grid;
    gap: 7px;
}

.shop-filters form > label > span {
    color: #4e586c;
    font-size: 10px;
    font-weight: 700;
}

.shop-filters select,
.shop-filter-search {
    width: 100%;
    height: 43px;
    border: 1px solid #e2e6ef;
    border-radius: 12px;
    outline: 0;
    color: #3f485b;
    background: #fafbfc;
    font-size: 10px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.shop-filters select {
    padding: 0 11px;
}

.shop-filter-search {
    display: flex;
    align-items: center;
}

.shop-filter-search input {
    width: 100%;
    height: 100%;
    padding: 0 11px;
    border: 0;
    outline: 0;
    background: transparent;
    font-size: 10px;
}

.shop-filter-search i {
    padding-left: 12px;
    color: #9ba1b0;
}

.shop-filter-search:focus-within,
.shop-filters select:focus {
    border-color: rgba(23, 63, 179, .45);
    box-shadow: 0 0 0 3px rgba(23, 63, 179, .07);
}

.shop-switch {
    margin: 4px 0 17px;
    display: flex;
    align-items: center;
    gap: 9px;
    cursor: pointer;
}

.shop-switch input { position: absolute; opacity: 0; }

.shop-switch > span {
    position: relative;
    width: 38px;
    height: 22px;
    flex: 0 0 38px;
    border-radius: 999px;
    background: #dfe3eb;
    transition: background .2s ease;
}

.shop-switch > span::after {
    position: absolute;
    top: 3px;
    right: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 6px rgba(13, 29, 65, .18);
    content: "";
    transition: transform .2s ease;
}

.shop-switch input:checked + span { background: var(--shop-green); }
.shop-switch input:checked + span::after { transform: translateX(-16px); }
.shop-switch strong { color: #465064; font-size: 10px; font-weight: 600; }

.shop-filters form > button {
    width: 100%;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 0;
    border-radius: 12px;
    color: #fff;
    background: var(--shop-blue);
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 10px 20px rgba(23, 63, 179, .16);
}

.shop-filter-help {
    margin-top: 15px;
    padding: 13px;
    display: flex;
    align-items: center;
    gap: 11px;
    border-radius: 13px;
    color: #203153;
    background: var(--shop-amber-soft);
}

.shop-filter-help > i {
    width: 35px;
    height: 35px;
    display: grid;
    place-items: center;
    flex: 0 0 35px;
    border-radius: 10px;
    color: #fff;
    background: var(--shop-blue-dark);
}

.shop-filter-help div { display: grid; }
.shop-filter-help small { color: #777459; font-size: 8px; }
.shop-filter-help strong { font-size: 9px; }
.shop-filter-help a { margin-top: 2px; color: var(--shop-blue-dark); font-size: 10px; font-weight: 800; direction: ltr; text-align: right; }

.shop-results { min-width: 0; }

.shop-results__toolbar {
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.shop-results__toolbar button {
    display: none;
}

.shop-results__toolbar p {
    margin: 0;
    color: #8d94a4;
    font-size: 9px;
}

.shop-products-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.shop-product-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--shop-line);
    border-radius: 19px;
    background: #fff;
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.shop-product-card:hover {
    border-color: #d5dceb;
    box-shadow: 0 18px 42px rgba(16, 38, 91, .10);
    transform: translateY(-5px);
}

.shop-product-card__media {
    position: relative;
    height: 230px;
    padding: 24px;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: linear-gradient(145deg, #fff, #f5f7fb);
}

.shop-product-card__media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform .35s ease;
}

.shop-product-card:hover .shop-product-card__media img {
    transform: scale(1.055);
}

.shop-product-card__badges,
.shop-product__badges {
    position: absolute;
    z-index: 2;
    top: 13px;
    right: 13px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.shop-product-card__badges span,
.shop-product__badges span {
    padding: 5px 8px;
    border-radius: 8px;
    color: var(--shop-navy);
    background: var(--shop-amber);
    font-size: 8px;
    font-weight: 800;
}

.shop-product-card__badges span.is-discount,
.shop-product__badges span.is-discount {
    color: #fff;
    background: var(--shop-red);
}

.shop-product-card__view {
    position: absolute;
    right: 50%;
    bottom: 14px;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    gap: 6px;
    border-radius: 10px;
    opacity: 0;
    color: #fff;
    background: rgba(7, 27, 74, .88);
    font-size: 9px;
    transform: translate(50%, 12px);
    transition: opacity .2s ease, transform .2s ease;
}

.shop-product-card:hover .shop-product-card__view {
    opacity: 1;
    transform: translate(50%, 0);
}

.shop-product-card__body {
    padding: 15px 16px 17px;
}

.shop-product-card__meta {
    min-height: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 7px;
    color: #9aa1af;
    font-size: 8px;
}

.shop-product-card__meta span:first-child {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.shop-product-card__meta .is-available { color: var(--shop-green); }
.shop-product-card__meta .is-unavailable { color: var(--shop-red); }
.shop-product-card__meta i { font-size: 5px; }

.shop-product-card__body h2 {
    min-height: 48px;
    margin: 8px 0 4px;
    color: var(--shop-ink);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.85;
}

.shop-product-card__body h2 a:hover { color: var(--shop-blue); }

.shop-product-card__body > p {
    min-height: 31px;
    margin: 0;
    display: -webkit-box;
    overflow: hidden;
    color: var(--shop-muted);
    font-size: 9px;
    line-height: 1.8;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.shop-product-card__footer {
    min-height: 61px;
    margin-top: 13px;
    padding-top: 12px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 8px;
    border-top: 1px solid #f0f2f6;
}

.shop-product-card__price {
    display: grid;
    justify-items: start;
}

.shop-product-card__price del {
    color: #a8aebb;
    font-size: 8px;
}

.shop-product-card__price span {
    color: var(--shop-ink);
    font-size: 9px;
}

.shop-product-card__price span strong {
    font-size: 16px;
    font-weight: 900;
}

.shop-product-card__price small {
    color: #a1a7b4;
    font-size: 8px;
}

.shop-product-card__price .is-contact {
    color: var(--shop-blue);
    font-size: 11px;
}

.shop-product-card__action {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    flex: 0 0 36px;
    border-radius: 11px;
    color: #fff !important;
    background: var(--shop-blue);
    font-size: 11px;
    transition: background .2s ease, transform .2s ease;
}

.shop-product-card__action:hover {
    background: var(--shop-blue-dark);
    transform: translateX(-3px);
}

.shop-empty {
    grid-column: 1 / -1;
    min-height: 330px;
    padding: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px dashed #d5dbe7;
    border-radius: 22px;
    text-align: center;
    background: #fff;
}

.shop-empty > i {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border-radius: 20px;
    color: var(--shop-blue);
    background: #edf1ff;
    font-size: 23px;
}

.shop-empty h3 { margin: 18px 0 6px; color: var(--shop-navy); font-size: 16px; font-weight: 800; }
.shop-empty p { margin: 0 0 16px; color: var(--shop-muted); font-size: 11px; }
.shop-empty a { padding: 9px 14px; border-radius: 10px; color: #fff; background: var(--shop-blue); font-size: 10px; }

.shop-pagination {
    margin-top: 28px;
    display: flex;
    justify-content: center;
}

.shop-pagination .pagination {
    margin: 0;
    gap: 5px;
}

.shop-pagination .page-link {
    min-width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border: 1px solid var(--shop-line);
    border-radius: 10px !important;
    color: var(--shop-ink);
    background: #fff;
    font-size: 10px;
}

.shop-pagination .active .page-link {
    border-color: var(--shop-blue);
    color: #fff;
    background: var(--shop-blue);
}

.shop-consult {
    padding: 0 0 70px;
}

.shop-consult .shop-container > div {
    padding: 34px 40px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 22px;
    overflow: hidden;
    border-radius: 26px;
    color: #fff;
    background:
        radial-gradient(circle at 15% 10%, rgba(255, 180, 0, .42), transparent 21%),
        linear-gradient(120deg, var(--shop-navy), var(--shop-blue));
}

.shop-consult .shop-container > div > span {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    border-radius: 20px;
    color: var(--shop-navy);
    background: var(--shop-amber);
    font-size: 25px;
}

.shop-consult small { color: #ffe6a0; font-size: 9px; }
.shop-consult h2 { margin: 3px 0 2px; color: #fff; font-size: 21px; font-weight: 900; }
.shop-consult p { margin: 0; color: rgba(255, 255, 255, .65); font-size: 10px; }
.shop-consult a {
    min-height: 47px;
    padding: 0 19px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 13px;
    color: var(--shop-navy);
    background: #fff;
    font-size: 11px;
    font-weight: 800;
}

.shop-footer {
    color: rgba(255, 255, 255, .74);
    background: var(--shop-navy);
}

.shop-footer__trust {
    padding: 30px 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, .10);
}

.shop-footer__trust > div {
    display: flex;
    align-items: center;
    gap: 12px;
}

.shop-footer__trust > div > i {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 14px;
    color: var(--shop-amber);
    background: rgba(255, 255, 255, .05);
}

.shop-footer__trust span { display: grid; gap: 3px; }
.shop-footer__trust strong { color: #fff; font-size: 11px; }
.shop-footer__trust small { color: rgba(255, 255, 255, .5); font-size: 9px; }

.shop-footer__main {
    padding: 48px 0 40px;
    display: grid;
    grid-template-columns: 1.8fr 1fr 1fr 1.3fr;
    gap: 50px;
}

.shop-brand--footer .shop-brand__logo { border-color: rgba(255, 255, 255, .15); background: #fff; }
.shop-brand--footer .shop-brand__copy strong { color: #fff; }
.shop-brand--footer .shop-brand__copy small { color: rgba(255, 255, 255, .48); }
.shop-footer__about p { max-width: 360px; margin: 18px 0 0; color: rgba(255, 255, 255, .5); font-size: 10px; line-height: 2; }

.shop-footer__main > div:not(.shop-footer__about) {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.shop-footer__main h2 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}

.shop-footer__main > div:not(.shop-footer__about) > a {
    color: rgba(255, 255, 255, .57);
    font-size: 10px;
    transition: color .2s ease, transform .2s ease;
}

.shop-footer__main > div:not(.shop-footer__about) > a:hover { color: var(--shop-amber); transform: translateX(-3px); }
.shop-footer__contact a { display: flex; align-items: center; gap: 8px; direction: ltr; }
.shop-footer__contact a i { color: var(--shop-amber); }
.shop-footer__contact small { color: rgba(255, 255, 255, .42); font-size: 9px; }

.shop-footer__bottom {
    min-height: 66px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-top: 1px solid rgba(255, 255, 255, .10);
}

.shop-footer__bottom p { margin: 0; color: rgba(255, 255, 255, .42); font-size: 9px; }
.shop-footer__bottom a { display: flex; align-items: center; gap: 8px; color: #fff; font-size: 10px; }
.shop-footer__bottom a i { color: var(--shop-amber); }

.shop-toast {
    position: fixed;
    z-index: 100;
    right: 50%;
    bottom: 25px;
    min-width: 280px;
    max-width: calc(100vw - 30px);
    padding: 13px 18px;
    border-radius: 13px;
    visibility: hidden;
    opacity: 0;
    color: #fff;
    text-align: center;
    background: var(--shop-navy);
    box-shadow: 0 16px 40px rgba(4, 16, 47, .25);
    font-size: 10px;
    transform: translate(50%, 15px);
    transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
}

.shop-toast.is-visible { visibility: visible; opacity: 1; transform: translate(50%, 0); }

/* Product detail */
.shop-product-page {
    padding: 27px 0 70px;
}

.shop-breadcrumb {
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #858d9d;
    font-size: 9px;
}

.shop-breadcrumb a:hover { color: var(--shop-blue); }
.shop-breadcrumb i { color: #c1c6d0; font-size: 7px; }
.shop-breadcrumb span { color: #4a5365; }

.shop-product {
    padding: 26px;
    display: grid;
    grid-template-columns: minmax(350px, .85fr) minmax(0, 1.15fr);
    gap: 48px;
    border: 1px solid var(--shop-line);
    border-radius: 28px;
    background: #fff;
    box-shadow: var(--shop-shadow);
}

.shop-product__gallery {
    position: relative;
    min-height: 500px;
    padding: 50px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 22px;
    background:
        radial-gradient(circle at 50% 40%, #fff 0, #fff 34%, transparent 35%),
        linear-gradient(145deg, #f8faff, #edf1f8);
}

.shop-product__gallery::after {
    position: absolute;
    bottom: 10%;
    width: 64%;
    height: 28px;
    border-radius: 50%;
    opacity: .18;
    background: var(--shop-navy);
    filter: blur(14px);
    content: "";
}

.shop-product__gallery > img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 390px;
    object-fit: contain;
}

.shop-product__image-note {
    position: absolute;
    z-index: 2;
    bottom: 17px;
    right: 17px;
    display: flex;
    align-items: center;
    gap: 6px;
    color: #8f97a7;
    font-size: 8px;
}

.shop-product__summary {
    padding: 20px 0 8px;
}

.shop-product__categories {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.shop-product__categories a {
    padding: 6px 10px;
    border-radius: 8px;
    color: var(--shop-blue);
    background: #edf1ff;
    font-size: 9px;
    font-weight: 700;
}

.shop-product__summary h1 {
    margin: 17px 0 6px;
    color: var(--shop-navy);
    font-size: clamp(25px, 3vw, 36px);
    font-weight: 900;
    line-height: 1.55;
}

.shop-product__subtitle {
    margin: 0;
    color: var(--shop-muted);
    font-size: 12px;
}

.shop-product__status {
    margin: 20px 0;
    padding: 13px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 22px;
    border-block: 1px solid var(--shop-line);
    color: #798193;
    font-size: 9px;
}

.shop-product__status span { display: flex; align-items: center; gap: 7px; }
.shop-product__status .is-available { color: var(--shop-green); }
.shop-product__status .is-unavailable { color: var(--shop-red); }

.shop-product__description {
    min-height: 58px;
    color: #596276;
    font-size: 11px;
    line-height: 2.1;
}

.shop-product__buy {
    margin-top: 22px;
    padding: 20px;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: end;
    gap: 25px;
    border: 1px solid #e4e8f0;
    border-radius: 18px;
    background: #f8f9fc;
}

.shop-product__price { min-width: 185px; display: grid; }
.shop-product__price > small { color: #8f96a5; font-size: 9px; }
.shop-product__price del { margin-top: 6px; color: #a2a8b4; font-size: 9px; }
.shop-product__price > div { display: flex; align-items: baseline; gap: 7px; }
.shop-product__price > div strong { color: var(--shop-navy); font-size: 27px; font-weight: 900; }
.shop-product__price > div span { color: #6b7486; font-size: 10px; }
.shop-product__price > strong.is-contact { margin-top: 7px; color: var(--shop-blue); font-size: 14px; }

.shop-product__actions { display: grid; grid-template-columns: 1fr auto; gap: 9px; }
.shop-product__actions button,
.shop-product__actions a {
    min-height: 48px;
    padding: 0 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid #dce1ec;
    border-radius: 13px;
    color: var(--shop-blue);
    background: #fff;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}

.shop-product__actions .is-primary {
    border-color: var(--shop-blue);
    color: #fff;
    background: var(--shop-blue);
    box-shadow: 0 12px 26px rgba(23, 63, 179, .18);
}

.shop-product__benefits {
    margin-top: 20px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 9px;
}

.shop-product__benefits > span {
    min-height: 70px;
    padding: 10px;
    display: grid;
    grid-template-columns: auto 1fr;
    align-content: center;
    column-gap: 8px;
    border: 1px solid #edf0f5;
    border-radius: 13px;
}

.shop-product__benefits i { grid-row: 1 / 3; align-self: center; color: var(--shop-blue); font-size: 17px; }
.shop-product__benefits b { color: var(--shop-ink); font-size: 9px; }
.shop-product__benefits small { color: #9299a8; font-size: 8px; }

.shop-product-content {
    margin-top: 24px;
    display: grid;
    grid-template-columns: minmax(280px, .42fr) minmax(0, 1fr);
    align-items: start;
    gap: 22px;
}

.shop-specifications,
.shop-rich-content {
    padding: 27px;
    border: 1px solid var(--shop-line);
    border-radius: 22px;
    background: #fff;
}

.shop-specifications h2,
.shop-rich-content h2 { font-size: 20px; }
.shop-specifications dl { margin: 21px 0 0; }
.shop-specifications dl > div { padding: 11px 0; display: grid; grid-template-columns: .8fr 1.2fr; gap: 10px; border-bottom: 1px solid #edf0f5; }
.shop-specifications dl > div:last-child { border-bottom: 0; }
.shop-specifications dt { color: #8b92a1; font-size: 9px; font-weight: 500; }
.shop-specifications dd { margin: 0; color: #3e475a; font-size: 10px; font-weight: 700; }
.shop-rich-content > div { margin-top: 20px; color: #535d70; font-size: 11px; line-height: 2.25; }
.shop-rich-content > div img { height: auto; border-radius: 14px; }

.shop-product-consult {
    margin-top: 24px;
    padding: 32px 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    border-radius: 22px;
    color: #fff;
    background: linear-gradient(120deg, var(--shop-blue-dark), var(--shop-blue));
}

.shop-product-consult > div > span { color: #ffe19a; font-size: 9px; }
.shop-product-consult h2 { margin: 4px 0; color: #fff; font-size: 20px; font-weight: 900; }
.shop-product-consult p { margin: 0; color: rgba(255, 255, 255, .62); font-size: 10px; }
.shop-product-consult > a { min-width: 235px; min-height: 60px; padding: 0 18px; display: flex; align-items: center; gap: 12px; border-radius: 16px; color: var(--shop-navy); background: var(--shop-amber); }
.shop-product-consult > a > i { font-size: 21px; }
.shop-product-consult > a span { display: grid; }
.shop-product-consult > a small { font-size: 8px; }
.shop-product-consult > a b { font-size: 13px; direction: ltr; }

.shop-related { padding-top: 58px; }

@media (max-width: 1200px) {
    .shop-header__main { gap: 18px; grid-template-columns: auto minmax(250px, 1fr) auto; }
    .shop-brand__copy { display: none; }
    .shop-nav__links a { padding-inline: 9px; }
    .shop-nav__promise { display: none; }
    .shop-nav { grid-template-columns: auto 1fr; }
    .shop-shortcuts__list { display: flex; overflow-x: auto; padding-bottom: 8px; scrollbar-width: thin; }
    .shop-shortcuts__list > a { flex: 0 0 105px; }
    .shop-products-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .shop-product__buy { grid-template-columns: 1fr; }
}

@media (max-width: 991px) {
    .shop-container { width: min(100% - 28px, 1320px); }
    .shop-promo__inner { min-height: 36px; }
    .shop-promo__inner > span { display: none; }
    .shop-promo__inner { justify-content: center; }
    .shop-header__main { min-height: 76px; grid-template-columns: auto 1fr auto; gap: 12px; }
    .shop-brand__logo { width: 52px; height: 50px; border-radius: 14px; }
    .shop-search { height: 46px; }
    .shop-header__actions > .shop-action:not(.shop-action--icon) { display: none; }
    .shop-header__actions > .shop-action--icon:first-of-type { display: none; }
    .shop-menu-toggle { display: grid; }
    .shop-nav {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        max-height: calc(100vh - 110px);
        padding: 14px;
        display: block;
        overflow-y: auto;
        visibility: hidden;
        opacity: 0;
        border-top: 1px solid var(--shop-line);
        background: #fff;
        box-shadow: 0 22px 40px rgba(7, 27, 74, .14);
        transform: translateY(-8px);
        transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
    }
    .shop-nav.is-open { visibility: visible; opacity: 1; transform: translateY(0); }
    .shop-categories-menu { height: 48px; }
    .shop-categories-menu__trigger { width: 100%; justify-content: flex-start; }
    .shop-categories-menu__trigger > i:last-child { margin-right: auto; }
    .shop-categories-menu__trigger::after { width: 100%; }
    .shop-categories-panel { position: static; width: 100%; max-height: 0; padding: 0; display: block; overflow: hidden; visibility: visible; opacity: 1; border: 0; box-shadow: none; transform: none; transition: max-height .35s ease, padding .35s ease; }
    .shop-categories-menu.is-open { height: auto; }
    .shop-categories-menu.is-open .shop-categories-panel { max-height: 720px; padding: 12px 0; }
    .shop-categories-panel__intro { display: none; }
    .shop-categories-panel__grid { display: grid; }
    .shop-nav__links { margin-top: 8px; display: grid; grid-template-columns: repeat(2, 1fr); }
    .shop-nav__links a { padding: 12px; border: 1px solid #edf0f5; }
    .shop-hero__card { min-height: 380px; grid-template-columns: 55% 45%; }
    .shop-hero__copy { padding: 45px 38px 34px 10px; }
    .shop-hero__visual { min-height: 380px; }
    .shop-hero__visual > img { width: 83%; height: 285px; padding: 18px; }
    .shop-hero__placeholder { width: 85%; padding: 20px; }
    .shop-featured__box { grid-template-columns: 175px minmax(0, 1fr); }
    .shop-catalog__layout { grid-template-columns: 1fr; }
    .shop-filters { position: static; display: none; }
    .shop-filters.is-open { display: block; }
    .shop-results__toolbar { justify-content: space-between; }
    .shop-results__toolbar button { padding: 9px 12px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid #dfe4ee; border-radius: 10px; color: var(--shop-blue); background: #fff; font-size: 10px; }
    .shop-footer__main { grid-template-columns: 1.5fr 1fr 1fr; gap: 28px; }
    .shop-footer__contact { grid-column: 1 / -1; }
    .shop-product { grid-template-columns: .9fr 1.1fr; gap: 25px; }
    .shop-product__gallery { min-height: 410px; padding: 30px; }
    .shop-product__gallery > img { height: 320px; }
    .shop-product__actions { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
    .shop-container { width: min(100% - 22px, 1320px); }
    .shop-promo__inner { font-size: 10px; }
    .shop-header__main { min-height: 69px; grid-template-columns: auto 1fr auto; }
    .shop-brand__logo { width: 47px; height: 45px; padding: 5px; }
    .shop-search { height: 43px; }
    .shop-search button { width: 42px; flex-basis: 42px; }
    .shop-search input { font-size: 10px; }
    .shop-action--icon { display: none; }
    .shop-menu-toggle { width: 43px; height: 43px; }
    .shop-categories-panel__grid { grid-template-columns: 1fr; }
    .shop-hero { padding-top: 13px; }
    .shop-hero__card { min-height: auto; grid-template-columns: 1fr; border-radius: 23px; }
    .shop-hero__copy { padding: 36px 26px 26px; }
    .shop-hero__copy h1 { font-size: 31px; }
    .shop-hero__copy > p { font-size: 11px; }
    .shop-hero__trust { margin-top: 25px; gap: 12px; }
    .shop-hero__visual { min-height: 260px; order: -1; }
    .shop-hero__visual > img { width: 72%; height: 230px; margin-top: 18px; }
    .shop-hero__placeholder { min-height: 205px; margin-top: 20px; }
    .shop-hero__placeholder i { font-size: 48px; }
    .shop-shortcuts { padding-block: 18px 23px; }
    .shop-shortcuts__list > a { flex-basis: 91px; }
    .shop-shortcuts__list > a > span { width: 54px; height: 54px; border-radius: 18px; }
    .shop-featured { padding: 17px 0 32px; }
    .shop-featured__box { padding: 14px; display: block; border-radius: 22px; }
    .shop-featured__heading { padding: 10px 9px 20px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 11px; }
    .shop-featured__heading > span { width: 44px; height: 44px; grid-row: 1 / 3; }
    .shop-featured__heading h2 { margin: 0; font-size: 18px; line-height: 1.45; }
    .shop-featured__heading p { margin: 0; grid-column: 2; }
    .shop-featured__heading a { grid-column: 3; grid-row: 1 / 3; }
    .shop-featured__products { grid-auto-columns: minmax(190px, 68%); }
    .shop-featured__products .shop-product-card { border-radius: 15px !important; }
    .shop-catalog { padding: 48px 0 52px; }
    .shop-section-heading h2 { font-size: 22px; }
    .shop-section-heading p { display: none; }
    .shop-products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .shop-product-card__media { height: 185px; padding: 17px; }
    .shop-product-card__body { padding: 12px; }
    .shop-product-card__body h2 { min-height: 42px; font-size: 11px; }
    .shop-product-card__view { display: none; }
    .shop-consult .shop-container > div { padding: 27px; grid-template-columns: auto 1fr; }
    .shop-consult .shop-container > div > span { width: 54px; height: 54px; }
    .shop-consult a { grid-column: 1 / -1; }
    .shop-footer__trust { grid-template-columns: repeat(2, 1fr); }
    .shop-footer__main { grid-template-columns: repeat(2, 1fr); }
    .shop-footer__about { grid-column: 1 / -1; }
    .shop-footer__bottom { padding: 16px 0; flex-direction: column; align-items: flex-start; }
    .shop-product-page { padding-top: 18px; }
    .shop-product { padding: 15px; grid-template-columns: 1fr; gap: 10px; border-radius: 22px; }
    .shop-product__gallery { min-height: 360px; }
    .shop-product__gallery > img { height: 285px; }
    .shop-product__summary { padding: 15px 5px 5px; }
    .shop-product__buy { grid-template-columns: 1fr; }
    .shop-product-content { grid-template-columns: 1fr; }
    .shop-product-consult { padding: 27px; flex-direction: column; align-items: flex-start; }
    .shop-product-consult > a { min-width: 100%; }
}

@media (max-width: 575px) {
    .shop-promo__inner { min-height: 32px; }
    .shop-search input::placeholder { color: transparent; }
    .shop-nav__links { grid-template-columns: 1fr; }
    .shop-hero__visual { min-height: 230px; }
    .shop-hero__visual > img { height: 205px; }
    .shop-hero__copy { padding: 29px 20px 24px; }
    .shop-hero__copy h1 { margin-top: 11px; font-size: 27px; }
    .shop-hero__buttons a { flex: 1; padding-inline: 11px; font-size: 10px; }
    .shop-hero__trust { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
    .shop-hero__trust span { display: grid; justify-items: center; gap: 5px; text-align: center; font-size: 8px; }
    .shop-featured__heading p { display: none; }
    .shop-featured__heading a { font-size: 9px; }
    .shop-section-heading { align-items: center; }
    .shop-products-grid { grid-template-columns: 1fr; }
    .shop-product-card__media { height: 245px; }
    .shop-consult h2 { font-size: 17px; }
    .shop-footer__trust { grid-template-columns: 1fr; }
    .shop-footer__main { grid-template-columns: 1fr; }
    .shop-footer__about,
    .shop-footer__contact { grid-column: auto; }
    .shop-product__gallery { min-height: 310px; padding: 25px; }
    .shop-product__gallery > img { height: 245px; }
    .shop-product__benefits { grid-template-columns: 1fr; }
    .shop-product__benefits > span { min-height: 60px; }
    .shop-product__status { display: grid; gap: 8px; }
    .shop-product__buy { padding: 15px; }
    .shop-specifications,
    .shop-rich-content { padding: 21px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .shop-shell *, .shop-shell *::before, .shop-shell *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Product detail — gallery-first commerce layout */
.shop-pdp {
    padding-bottom: 0;
}

.shop-pdp__overview {
    padding: 26px;
    display: grid;
    grid-template-columns: minmax(380px, .95fr) minmax(0, 1.05fr) 300px;
    align-items: start;
    gap: 30px;
    border: 1px solid var(--shop-line);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(12, 40, 111, .07);
}

.shop-pdp-gallery {
    position: relative;
    min-width: 0;
}

.shop-pdp-gallery__tools {
    position: absolute;
    z-index: 3;
    top: 7px;
    right: 7px;
    display: grid;
    gap: 7px;
}

.shop-pdp-gallery__tools button {
    width: 39px;
    height: 39px;
    display: grid;
    place-items: center;
    border: 1px solid #e4e8f0;
    border-radius: 12px;
    color: #526078;
    background: rgba(255, 255, 255, .92);
    cursor: pointer;
    box-shadow: 0 7px 18px rgba(14, 35, 80, .07);
    transition: color .2s ease, border-color .2s ease, transform .2s ease;
}

.shop-pdp-gallery__tools button:hover {
    border-color: #cdd6eb;
    color: var(--shop-blue);
    transform: translateY(-2px);
}

.shop-pdp-gallery__badges {
    position: absolute;
    z-index: 3;
    top: 8px;
    left: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.shop-pdp-gallery__badges span {
    padding: 6px 9px;
    border-radius: 9px;
    color: var(--shop-navy);
    background: var(--shop-amber);
    font-size: 8px;
    font-weight: 900;
}

.shop-pdp-gallery__badges .is-discount {
    color: #fff;
    background: var(--shop-red);
}

.shop-pdp-gallery__main {
    position: relative;
    width: 100%;
    height: 445px;
    padding: 42px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 0;
    border-radius: 22px;
    background:
        radial-gradient(circle at 50% 44%, #fff 0, #fff 36%, transparent 37%),
        linear-gradient(145deg, #fafbfe, #eef2f8);
    cursor: zoom-in;
}

.shop-pdp-gallery__main::after {
    position: absolute;
    bottom: 13%;
    width: 54%;
    height: 22px;
    border-radius: 50%;
    opacity: .12;
    background: var(--shop-navy);
    filter: blur(12px);
    content: "";
}

.shop-pdp-gallery__main > img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform .35s ease;
}

.shop-pdp-gallery__main:hover > img {
    transform: scale(1.035);
}

.shop-pdp-gallery__main > span {
    position: absolute;
    z-index: 2;
    right: 50%;
    bottom: 13px;
    padding: 7px 11px;
    display: flex;
    align-items: center;
    gap: 6px;
    border: 1px solid rgba(255, 255, 255, .75);
    border-radius: 9px;
    color: #5e687a;
    background: rgba(255, 255, 255, .88);
    font-size: 8px;
    box-shadow: 0 6px 20px rgba(8, 29, 76, .08);
    transform: translateX(50%);
}

.shop-pdp-gallery__thumbs {
    margin-top: 12px;
    padding: 2px;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: #c6cde0 transparent;
}

.shop-pdp-gallery__thumbs > button {
    position: relative;
    width: 70px;
    height: 70px;
    padding: 6px;
    display: grid;
    place-items: center;
    flex: 0 0 70px;
    overflow: hidden;
    border: 1px solid #dfe4ed;
    border-radius: 13px;
    background: #fff;
    cursor: zoom-in;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.shop-pdp-gallery__thumbs > button:hover,
.shop-pdp-gallery__thumbs > button.is-active {
    border-color: var(--shop-blue);
    box-shadow: 0 0 0 2px rgba(23, 63, 179, .10);
}

.shop-pdp-gallery__thumbs img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.shop-pdp-gallery__thumbs > button.shop-pdp-gallery__all {
    display: flex;
    flex-direction: column;
    gap: 4px;
    color: var(--shop-blue);
    background: #f2f5ff;
    cursor: pointer;
}

.shop-pdp-gallery__all i { font-size: 17px; }
.shop-pdp-gallery__all small { font-size: 8px; }

.shop-pdp-summary {
    min-width: 0;
    padding-top: 7px;
}

.shop-pdp-summary h1 {
    margin: 17px 0 7px;
    color: var(--shop-navy);
    font-size: clamp(23px, 2.3vw, 33px);
    font-weight: 900;
    line-height: 1.65;
}

.shop-pdp-summary__subtitle {
    margin: 0;
    color: var(--shop-muted);
    font-size: 11px;
    line-height: 1.9;
}

.shop-pdp-summary__meta {
    margin-top: 17px;
    padding-bottom: 17px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    border-bottom: 1px solid var(--shop-line);
}

.shop-pdp-summary__meta > * {
    padding: 6px 8px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-radius: 8px;
    color: #697286;
    background: #f5f6f9;
    font-size: 8px;
}

.shop-pdp-summary__meta > *:first-child {
    color: #966600;
    background: #fff5d9;
}

.shop-pdp-summary__meta i { color: var(--shop-blue); }
.shop-pdp-summary__meta > *:first-child i { color: var(--shop-amber); }

.shop-pdp-summary__notice {
    margin-top: 16px;
    padding: 12px 13px;
    display: flex;
    align-items: flex-start;
    gap: 9px;
    border-right: 3px solid var(--shop-cyan);
    border-radius: 11px 3px 3px 11px;
    color: #596477;
    background: #f1fafb;
}

.shop-pdp-summary__notice i {
    margin-top: 3px;
    color: #14989a;
}

.shop-pdp-summary__notice p {
    margin: 0;
    font-size: 9px;
    line-height: 2;
}

.shop-pdp-highlights {
    margin-top: 20px;
}

.shop-pdp-highlights h2 {
    margin: 0 0 11px;
    color: var(--shop-ink);
    font-size: 12px;
    font-weight: 900;
}

.shop-pdp-highlights dl {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.shop-pdp-highlights dl > div {
    min-width: 0;
    padding: 10px 11px;
    border-radius: 10px;
    background: #f6f7f9;
}

.shop-pdp-highlights dt {
    margin-bottom: 3px;
    overflow: hidden;
    color: #9299a8;
    font-size: 8px;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.shop-pdp-highlights dd {
    margin: 0;
    overflow: hidden;
    color: #424c60;
    font-size: 9px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.shop-pdp-highlights > button {
    margin-top: 9px;
    padding: 5px 0;
    display: flex;
    align-items: center;
    gap: 7px;
    border: 0;
    color: var(--shop-blue);
    background: transparent;
    font-size: 9px;
    font-weight: 700;
    cursor: pointer;
}

.shop-pdp-summary__description {
    margin-top: 16px;
    color: #606a7d;
    font-size: 10px;
    line-height: 2.1;
}

.shop-pdp-buybox {
    position: sticky;
    top: 165px;
    padding: 18px;
    border: 1px solid #dfe4ee;
    border-radius: 19px;
    background: #f7f8fa;
    box-shadow: 0 12px 32px rgba(10, 31, 77, .06);
}

.shop-pdp-buybox > header {
    padding-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #e2e5eb;
}

.shop-pdp-buybox > header > span {
    width: 39px;
    height: 39px;
    display: grid;
    place-items: center;
    flex: 0 0 39px;
    border-radius: 12px;
    color: #fff;
    background: var(--shop-blue);
}

.shop-pdp-buybox > header div { display: grid; }
.shop-pdp-buybox > header small { color: #949baa; font-size: 8px; }
.shop-pdp-buybox > header h2 { margin: 1px 0 0; color: var(--shop-navy); font-size: 13px; font-weight: 900; }

.shop-pdp-buybox__status {
    margin: 14px 0;
    padding: 11px;
    display: flex;
    align-items: center;
    gap: 9px;
    border-radius: 11px;
}

.shop-pdp-buybox__status.is-available { color: #137b58; background: #e8f8f1; }
.shop-pdp-buybox__status.is-unavailable { color: #bd3742; background: #fff0f1; }
.shop-pdp-buybox__status > i { font-size: 16px; }
.shop-pdp-buybox__status div { display: grid; }
.shop-pdp-buybox__status strong { font-size: 9px; }
.shop-pdp-buybox__status small { margin-top: 2px; opacity: .7; font-size: 8px; }

.shop-pdp-buybox ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.shop-pdp-buybox li {
    padding: 10px 2px;
    display: flex;
    align-items: center;
    gap: 9px;
    border-bottom: 1px solid #e6e9ef;
}

.shop-pdp-buybox li > i {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    flex: 0 0 30px;
    border-radius: 9px;
    color: var(--shop-blue);
    background: #e9edfa;
    font-size: 12px;
}

.shop-pdp-buybox li span { display: grid; }
.shop-pdp-buybox li b { color: #414a5d; font-size: 8px; }
.shop-pdp-buybox li small { margin-top: 2px; color: #9198a7; font-size: 7px; }

.shop-pdp-buybox__price {
    min-height: 71px;
    padding: 16px 0 10px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.shop-pdp-buybox__price > small { color: #858d9d; font-size: 8px; }
.shop-pdp-buybox__price > div:last-child { display: flex; align-items: baseline; gap: 6px; }
.shop-pdp-buybox__price > div:last-child strong { color: var(--shop-navy); font-size: 23px; font-weight: 900; }
.shop-pdp-buybox__price > div:last-child span { color: #5f697d; font-size: 9px; }
.shop-pdp-buybox__price > .is-contact { margin-top: 8px; color: var(--shop-blue); font-size: 12px; }
.shop-pdp-buybox__discount { display: flex; align-items: center; gap: 6px; }
.shop-pdp-buybox__discount span { padding: 3px 6px; border-radius: 7px; color: #fff; background: var(--shop-red); font-size: 8px; }
.shop-pdp-buybox__discount del { color: #a0a6b2; font-size: 8px; }

.shop-pdp-buybox__primary,
.shop-pdp-buybox__call {
    width: 100%;
    min-height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 12px;
    font-size: 10px;
    font-weight: 900;
}

.shop-pdp-buybox__primary {
    border: 0;
    color: #fff;
    background: linear-gradient(135deg, var(--shop-blue), #0f3298);
    box-shadow: 0 11px 24px rgba(23, 63, 179, .20);
    cursor: pointer;
}

.shop-pdp-buybox__primary:disabled,
.shop-pdp-mobile-buy button:disabled {
    opacity: .48;
    cursor: not-allowed;
    box-shadow: none;
}

.shop-pdp-buybox__call {
    margin-top: 8px;
    border: 1px solid #d8ddea;
    color: var(--shop-blue);
    background: #fff;
}

.shop-pdp-buybox > p {
    margin: 11px 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #8b93a2;
    font-size: 7px;
}

.shop-pdp-buybox > p i { color: var(--shop-green); }

.shop-pdp-services {
    margin-top: 18px;
    padding: 19px 22px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
    border: 1px solid var(--shop-line);
    border-radius: 19px;
    background: #fff;
}

.shop-pdp-services > div {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
}

.shop-pdp-services > div > i {
    color: var(--shop-blue);
    font-size: 20px;
}

.shop-pdp-services span { display: grid; }
.shop-pdp-services strong { color: #4a5366; font-size: 9px; }
.shop-pdp-services small { color: #9aa1ae; font-size: 7px; }

.shop-pdp-related {
    padding-top: 58px;
}

.shop-pdp-tabs {
    margin-top: 58px;
    scroll-margin-top: 155px;
    border: 1px solid var(--shop-line);
    border-radius: 23px;
    background: #fff;
    box-shadow: 0 16px 45px rgba(13, 36, 87, .05);
}

.shop-pdp-tabs__nav {
    position: sticky;
    z-index: 8;
    top: 141px;
    padding: 0 25px;
    display: flex;
    gap: 30px;
    overflow-x: auto;
    border-bottom: 1px solid var(--shop-line);
    border-radius: 23px 23px 0 0;
    background: rgba(255, 255, 255, .96);
    backdrop-filter: blur(12px);
    scrollbar-width: none;
}

.shop-pdp-tabs__nav::-webkit-scrollbar { display: none; }

.shop-pdp-tabs__nav button {
    position: relative;
    min-height: 59px;
    padding: 0 2px;
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
    border: 0;
    color: #737c8e;
    background: transparent;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

.shop-pdp-tabs__nav button::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    border-radius: 999px 999px 0 0;
    opacity: 0;
    background: var(--shop-amber);
    content: "";
    transform: scaleX(.45);
    transition: opacity .2s ease, transform .2s ease;
}

.shop-pdp-tabs__nav button.is-active {
    color: var(--shop-navy);
    font-weight: 900;
}

.shop-pdp-tabs__nav button.is-active::after {
    opacity: 1;
    transform: scaleX(1);
}

.shop-pdp-tabs__nav button span {
    min-width: 19px;
    height: 19px;
    display: grid;
    place-items: center;
    border-radius: 7px;
    color: #697286;
    background: #eef0f4;
    font-size: 8px;
}

.shop-pdp-tabs__panels {
    min-height: 340px;
    padding: 33px;
}

.shop-pdp-tab-panel {
    display: none;
}

.shop-pdp-tab-panel.is-active {
    display: block;
}

.shop-pdp-tab-panel > header {
    margin-bottom: 25px;
}

.shop-pdp-tab-panel > header span {
    display: block;
    margin-bottom: 5px;
    color: var(--shop-blue);
    font-size: 9px;
    font-weight: 800;
}

.shop-pdp-tab-panel > header h2 {
    margin: 0;
    color: var(--shop-navy);
    font-size: 21px;
    font-weight: 900;
}

.shop-pdp-rich-content {
    max-width: 980px;
    color: #515c70;
    font-size: 11px;
    line-height: 2.35;
}

.shop-pdp-rich-content h2,
.shop-pdp-rich-content h3 {
    margin: 23px 0 9px;
    color: var(--shop-ink);
    font-weight: 900;
}

.shop-pdp-rich-content img {
    height: auto;
    border-radius: 15px;
}

.shop-pdp-specifications {
    max-width: 900px;
    margin: 0;
    display: grid;
    gap: 8px;
}

.shop-pdp-specifications > div {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 8px;
}

.shop-pdp-specifications dt,
.shop-pdp-specifications dd {
    margin: 0;
    padding: 13px 15px;
    border-radius: 10px;
    font-size: 10px;
}

.shop-pdp-specifications dt {
    color: #7f8798;
    background: #f3f5f8;
    font-weight: 600;
}

.shop-pdp-specifications dd {
    color: #404a5d;
    background: #fafbfc;
    font-weight: 700;
}

.shop-pdp-empty {
    min-height: 235px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.shop-pdp-empty > i {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border-radius: 20px;
    color: var(--shop-blue);
    background: #eef2ff;
    font-size: 24px;
}

.shop-pdp-empty h3 {
    margin: 15px 0 5px;
    color: var(--shop-navy);
    font-size: 15px;
    font-weight: 900;
}

.shop-pdp-empty p {
    max-width: 440px;
    margin: 0;
    color: var(--shop-muted);
    font-size: 10px;
    line-height: 2;
}

.shop-pdp-empty button {
    margin-top: 13px;
    padding: 9px 15px;
    border: 1px solid var(--shop-blue);
    border-radius: 10px;
    color: var(--shop-blue);
    background: #fff;
    font-size: 9px;
    font-weight: 800;
    cursor: pointer;
}

.shop-pdp .shop-product-consult {
    margin-bottom: 70px;
}

.shop-pdp-mobile-buy {
    display: none;
}

/* Full-screen product gallery */
body.shop-gallery-open {
    overflow: hidden;
}

.shop-gallery-modal {
    position: fixed;
    z-index: 120;
    inset: 0;
    display: grid;
    place-items: center;
    visibility: hidden;
    opacity: 0;
    transition: opacity .22s ease, visibility .22s ease;
}

.shop-gallery-modal.is-open {
    visibility: visible;
    opacity: 1;
}

.shop-gallery-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(2, 8, 24, .84);
    backdrop-filter: blur(6px);
}

.shop-gallery-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(1080px, calc(100vw - 40px));
    height: min(850px, calc(100vh - 40px));
    display: grid;
    grid-template-rows: 62px minmax(0, 1fr) 104px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 24px;
    color: #fff;
    background: #050a17;
    box-shadow: 0 30px 100px rgba(0, 0, 0, .48);
    transform: scale(.97);
    transition: transform .22s ease;
}

.shop-gallery-modal.is-open .shop-gallery-modal__dialog {
    transform: scale(1);
}

.shop-gallery-modal__dialog > header {
    padding: 0 20px;
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 15px;
    border-bottom: 1px solid rgba(255, 255, 255, .10);
}

.shop-gallery-modal__dialog > header strong {
    overflow: hidden;
    color: #fff;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.shop-gallery-modal__dialog > header span {
    color: rgba(255, 255, 255, .52);
    font-size: 9px;
}

.shop-gallery-modal__dialog > header button {
    width: 37px;
    height: 37px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 11px;
    color: #fff;
    background: rgba(255, 255, 255, .07);
    cursor: pointer;
}

.shop-gallery-modal__stage {
    position: relative;
    min-height: 0;
    padding: 30px 78px;
    display: grid;
    place-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at center, rgba(26, 45, 91, .38), transparent 55%),
        #02050d;
    touch-action: pan-y;
}

.shop-gallery-modal__stage > img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    user-select: none;
}

.shop-gallery-modal__stage > button {
    position: absolute;
    z-index: 2;
    top: 50%;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 14px;
    color: #fff;
    background: rgba(255, 255, 255, .08);
    cursor: pointer;
    transform: translateY(-50%);
}

.shop-gallery-modal__stage [data-gallery-prev] { right: 18px; }
.shop-gallery-modal__stage [data-gallery-next] { left: 18px; }

.shop-gallery-modal__thumbs {
    padding: 14px 20px;
    display: flex;
    justify-content: center;
    gap: 8px;
    overflow-x: auto;
    border-top: 1px solid rgba(255, 255, 255, .10);
    scrollbar-width: thin;
}

.shop-gallery-modal__thumbs button {
    width: 72px;
    height: 72px;
    padding: 5px;
    flex: 0 0 72px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 11px;
    opacity: .58;
    background: #fff;
    cursor: pointer;
}

.shop-gallery-modal__thumbs button.is-active {
    border-color: var(--shop-amber);
    opacity: 1;
    box-shadow: 0 0 0 2px rgba(255, 180, 0, .22);
}

.shop-gallery-modal__thumbs img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

@media (max-width: 1200px) {
    .shop-pdp__overview { grid-template-columns: minmax(330px, .9fr) minmax(0, 1.1fr) 270px; gap: 20px; }
    .shop-pdp-gallery__main { height: 395px; padding: 35px; }
    .shop-pdp-buybox { padding: 15px; }
}

@media (max-width: 991px) {
    .shop-pdp__overview { grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr); }
    .shop-pdp-buybox { position: static; grid-column: 1 / -1; display: grid; grid-template-columns: 1.15fr 1fr; gap: 0 24px; }
    .shop-pdp-buybox > header,
    .shop-pdp-buybox__status,
    .shop-pdp-buybox ul { grid-column: 1; }
    .shop-pdp-buybox__price,
    .shop-pdp-buybox__primary,
    .shop-pdp-buybox__call,
    .shop-pdp-buybox > p { grid-column: 2; }
    .shop-pdp-buybox__price { grid-row: 1 / 3; align-self: end; }
    .shop-pdp-services { grid-template-columns: repeat(3, 1fr); }
    .shop-pdp-tabs__nav { top: 76px; }
}

@media (max-width: 767px) {
    .shop-product-page.shop-pdp { padding: 12px 0 96px; }
    .shop-pdp .shop-breadcrumb { padding-inline: 2px; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
    .shop-pdp__overview { padding: 0; display: flex; flex-direction: column; gap: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
    .shop-pdp-gallery,
    .shop-pdp-summary,
    .shop-pdp-buybox { width: 100%; border: 1px solid var(--shop-line); background: #fff; }
    .shop-pdp-gallery { padding: 10px; border-radius: 20px 20px 0 0; }
    .shop-pdp-gallery__main { height: 350px; padding: 35px 27px; border-radius: 15px; }
    .shop-pdp-gallery__main > span { display: none; }
    .shop-pdp-gallery__thumbs { padding: 2px 0 4px; }
    .shop-pdp-gallery__thumbs > button { width: 63px; height: 63px; flex-basis: 63px; }
    .shop-pdp-gallery__tools { top: 17px; right: 17px; }
    .shop-pdp-gallery__badges { top: 17px; left: 17px; }
    .shop-pdp-summary { padding: 23px 18px; border-top: 0; }
    .shop-pdp-summary h1 { margin-top: 14px; font-size: 21px; }
    .shop-pdp-summary__subtitle { font-size: 10px; }
    .shop-pdp-summary__meta { gap: 5px; }
    .shop-pdp-summary__notice { font-size: 9px; }
    .shop-pdp-highlights dl { grid-template-columns: 1fr 1fr; }
    .shop-pdp-summary__description { font-size: 9px; }
    .shop-pdp-buybox { padding: 19px 18px; display: block; border-top: 7px solid var(--shop-surface); border-radius: 0 0 20px 20px; box-shadow: none; }
    .shop-pdp-buybox__price,
    .shop-pdp-buybox__primary { display: none; }
    .shop-pdp-buybox__call { margin-top: 15px; }
    .shop-pdp-services { margin-top: 12px; padding: 15px 8px; display: flex; overflow-x: auto; border-radius: 16px; scrollbar-width: none; }
    .shop-pdp-services > div { min-width: 135px; justify-content: flex-start; }
    .shop-pdp-related { padding-top: 43px; }
    .shop-pdp-tabs { margin-top: 43px; scroll-margin-top: 82px; border-radius: 18px; }
    .shop-pdp-tabs__nav { top: 69px; padding: 0 17px; gap: 24px; border-radius: 18px 18px 0 0; }
    .shop-pdp-tabs__nav button { min-height: 53px; }
    .shop-pdp-tabs__panels { min-height: 300px; padding: 22px 18px; }
    .shop-pdp-tab-panel > header h2 { font-size: 18px; }
    .shop-pdp-specifications > div { grid-template-columns: 120px 1fr; }
    .shop-pdp-specifications dt,
    .shop-pdp-specifications dd { padding: 11px; font-size: 9px; }
    .shop-pdp .shop-product-consult { margin-bottom: 25px; }
    .shop-pdp-mobile-buy {
        position: fixed;
        z-index: 45;
        right: 0;
        bottom: 0;
        left: 0;
        min-height: 75px;
        padding: 10px 14px max(10px, env(safe-area-inset-bottom));
        display: grid;
        grid-template-columns: 1fr 1.35fr;
        align-items: center;
        gap: 12px;
        border-top: 1px solid #e0e4eb;
        background: rgba(255, 255, 255, .97);
        box-shadow: 0 -12px 32px rgba(8, 30, 78, .12);
        backdrop-filter: blur(12px);
    }
    .shop-pdp-mobile-buy__price { display: grid; justify-items: end; }
    .shop-pdp-mobile-buy__price del { color: #a3a9b5; font-size: 8px; }
    .shop-pdp-mobile-buy__price span { color: #4d576b; font-size: 8px; }
    .shop-pdp-mobile-buy__price span strong { color: var(--shop-navy); font-size: 15px; font-weight: 900; }
    .shop-pdp-mobile-buy__price > strong { color: var(--shop-blue); font-size: 11px; }
    .shop-pdp-mobile-buy > button { min-height: 46px; border: 0; border-radius: 12px; color: #fff; background: var(--shop-blue); font-size: 10px; font-weight: 900; box-shadow: 0 9px 22px rgba(23, 63, 179, .2); }
    .shop-pdp-mobile-buy > button i { margin-left: 6px; }
    .shop-gallery-modal { place-items: stretch; }
    .shop-gallery-modal__dialog { width: 100%; height: 100%; grid-template-rows: 58px minmax(0, 1fr) 96px; border: 0; border-radius: 0; }
    .shop-gallery-modal__dialog > header { padding-inline: 14px; }
    .shop-gallery-modal__stage { padding: 22px 12px; }
    .shop-gallery-modal__stage > button { width: 38px; height: 38px; opacity: .88; }
    .shop-gallery-modal__stage [data-gallery-prev] { right: 9px; }
    .shop-gallery-modal__stage [data-gallery-next] { left: 9px; }
    .shop-gallery-modal__thumbs { padding: 12px; justify-content: flex-start; }
    .shop-gallery-modal__thumbs button { width: 67px; height: 67px; flex-basis: 67px; }
}

@media (max-width: 480px) {
    .shop-pdp-gallery__main { height: 310px; padding: 32px 22px; }
    .shop-pdp-gallery__tools { display: flex; }
    .shop-pdp-gallery__tools button { width: 36px; height: 36px; }
    .shop-pdp-gallery__badges { top: 62px; right: 17px; left: auto; }
    .shop-pdp-summary { padding-inline: 15px; }
    .shop-pdp-highlights dl { grid-template-columns: 1fr; }
    .shop-pdp-tabs__nav { gap: 20px; }
    .shop-pdp-tabs__panels { padding-inline: 15px; }
    .shop-pdp-specifications > div { grid-template-columns: 105px 1fr; }
}
