/* Shared storefront design system. Enabled only for the local storefront preview. */
.goti-design {
    --goti-ink: #202628;
    --goti-muted: #61686b;
    --goti-line: #dfe3e3;
    --goti-line-strong: #c9cfcf;
    --goti-accent: #ec5918;
    --goti-accent-hover: #c7460d;
    --goti-dark: #18282e;
    --goti-surface: #f3f5f5;
    --goti-surface-warm: #faf8f6;
    --goti-success: #2f7d4a;
    --goti-danger: #b42318;
    --goti-radius: 4px;
    --goti-shadow: 0 16px 44px rgba(24, 40, 46, .12);
    --goti-font: Arial, Helvetica, sans-serif;
    color: var(--goti-ink);
    background: #fff;
    font: 400 16px/1.55 var(--goti-font);
    -webkit-font-smoothing: antialiased;
}

.goti-design *,
.goti-design *::before,
.goti-design *::after { box-sizing: border-box; }

.goti-design :is(button, input, select, textarea) { font: inherit; }
.goti-design :is(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid rgba(236, 89, 24, .38);
    outline-offset: 3px;
}
.goti-design a { color: inherit; }
.goti-design a:hover { color: var(--goti-accent-hover); }
.goti-design img { max-width: 100%; }

/* Typography and page rhythm */
.goti-design :is(h1, .title, .page-title, .order__h1) {
    margin: 0 0 24px;
    color: var(--goti-ink);
    font-family: var(--goti-font);
    font-size: clamp(30px, 3vw, 44px);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -.035em;
    text-transform: none;
}
.goti-design h2 {
    color: var(--goti-ink);
    font-family: var(--goti-font);
    font-size: clamp(24px, 2.3vw, 34px);
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: -.025em;
}
.goti-design h3 {
    color: var(--goti-ink);
    font-family: var(--goti-font);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
}
.goti-design p { line-height: 1.65; }
.goti-design .color_orange { color: var(--goti-accent); }
.goti-design .text-muted { color: var(--goti-muted); }

.goti-design .page-layout { column-gap: 0; }
.goti-design .page-layout__right { min-width: 0; }
.goti-design .page-section { margin-top: 48px; }
.goti-design .page-section_nmt { margin-top: 0; }
.goti-design .page-redactor { color: var(--goti-ink); font-size: 16px; }
.goti-design .page-redactor :is(p, li) { max-width: 920px; }
.goti-design .page-redactor a {
    border-bottom: 1px solid rgba(236, 89, 24, .55);
    color: var(--goti-accent-hover);
    text-decoration: none;
}
.goti-design .page-redactor a:hover { border-color: currentColor; color: var(--goti-accent); }
.goti-design .page-redactor :is(ul, ol) { padding-left: 24px; }
.goti-design .page-redactor img { height: auto; border-radius: var(--goti-radius); }

/* Legacy content modules: news, actions, contacts and account pages. */
.goti-design :is(.section, .page__section) { color: var(--goti-ink); }
.goti-design :is(.section__header--top, .page__section > .page__cont:first-child) { background: #fff; }
.goti-design :is(.header-top, .header-link) { color: var(--goti-ink); font-family: var(--goti-font); text-transform: none; }
.goti-design .section__header--top { border: 0; }
.goti-design .section__header--top .container { padding-top: 8px; padding-bottom: 22px; }
.goti-design .section__content .container { padding-top: 0; }
.goti-design .aside__block {
    margin-bottom: 18px;
    padding: 18px;
    border: 1px solid var(--goti-line);
    border-radius: var(--goti-radius);
    background: var(--goti-surface);
}
.goti-design .brief {
    margin-bottom: 18px;
    padding: 22px;
    border: 1px solid var(--goti-line);
    border-radius: var(--goti-radius);
    background: #fff;
}
.goti-design .brief__date { color: var(--goti-muted); }
.goti-design .brief__more a { color: var(--goti-accent-hover); font-weight: 700; }
.goti-design .article { color: var(--goti-ink); }
.goti-design .page--action .article,
.goti-design .page__section .article {
    height: 100%;
    padding: 22px;
    border: 1px solid var(--goti-line);
    border-radius: var(--goti-radius);
    background: #fff;
}
.goti-design .img-max { height: auto; border-radius: var(--goti-radius); }
.goti-design.page-contacts .page-section:not(.page-section_nmt) {
    padding: 24px;
    border: 1px solid var(--goti-line);
    border-radius: var(--goti-radius);
    background: var(--goti-surface);
}
.goti-design.page-contacts .page-desc { color: var(--goti-muted); }
.goti-design.page-cabinet .page-layout__right,
.goti-design.page-action--cart .page-layout__right { min-width: 0; }
.goti-design .form-cart {
    max-width: 900px;
    padding: 26px;
    border: 1px solid var(--goti-line);
    border-radius: var(--goti-radius);
    background: var(--goti-surface);
}
.goti-design .form-cart .form-group_flex { border-color: var(--goti-line); }

/* Breadcrumbs */
.goti-design .breadcrumbs {
    display: flex;
    margin: 0 0 24px;
    flex-wrap: wrap;
    gap: 6px 0;
    color: var(--goti-muted);
    font-size: 13px;
}
.goti-design .breadcrumbs__link { color: var(--goti-muted); text-decoration: none; }
.goti-design .breadcrumbs__link:hover { color: var(--goti-accent); }

/* Buttons and form controls */
.goti-design :is(.btn, .button, button[type='submit']) {
    min-height: 46px;
    border-radius: var(--goti-radius);
    padding: 11px 20px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
    box-shadow: none;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}
.goti-design .btn-primary {
    border: 1px solid var(--goti-accent);
    background: var(--goti-accent);
    color: #fff;
}
.goti-design .btn-primary:hover {
    border-color: var(--goti-accent-hover);
    background: var(--goti-accent-hover);
    color: #fff;
}
.goti-design :is(.btn-outline, .btn-secondary) {
    border: 1px solid var(--goti-line-strong);
    background: #fff;
    color: var(--goti-ink);
}
.goti-design :is(.btn-outline, .btn-secondary):hover {
    border-color: var(--goti-accent);
    background: var(--goti-surface-warm);
    color: var(--goti-accent-hover);
}
.goti-design .btn-link { color: var(--goti-accent-hover); text-decoration: underline; text-underline-offset: 3px; }
.goti-design .btn:disabled,
.goti-design button:disabled { opacity: .5; cursor: not-allowed; }

.goti-design :is(.form-control, input[type='text'], input[type='email'], input[type='tel'], input[type='number'], input[type='password'], select, textarea) {
    min-height: 46px;
    border: 1px solid var(--goti-line-strong);
    border-radius: var(--goti-radius);
    background: #fff;
    color: var(--goti-ink);
    box-shadow: none;
}
.goti-design :is(.form-control, input[type='text'], input[type='email'], input[type='tel'], input[type='number'], input[type='password'], select, textarea):focus {
    border-color: var(--goti-accent);
    box-shadow: 0 0 0 3px rgba(236, 89, 24, .1);
    outline: none;
}
.goti-design textarea { min-height: 112px; resize: vertical; }
.goti-design :is(label, .control-label) { color: var(--goti-ink); font-weight: 700; }
.goti-design input[type='checkbox'],
.goti-design input[type='radio'] { accent-color: var(--goti-accent); }

/* Cards, lists and tables */
.goti-design :is(.card, .brief, .favorites, .order-block, .delivery, .registration) {
    border-color: var(--goti-line);
    border-radius: var(--goti-radius);
    box-shadow: none;
}
.goti-design .favorites__head {
    border-radius: var(--goti-radius) var(--goti-radius) 0 0;
    background: var(--goti-dark);
    color: #fff;
}
.goti-design .favorites__card { border-color: var(--goti-line); background: #fff; }
.goti-design .favorites__card:hover { background: var(--goti-surface-warm); }
.goti-design .favorites__card-count-btn {
    border: 1px solid var(--goti-line-strong);
    border-radius: var(--goti-radius);
    background: #fff;
}
.goti-design .favorites__card-count-btn:hover { border-color: var(--goti-accent); color: var(--goti-accent); }
.goti-design table { border-collapse: collapse; }
.goti-design :is(th, td) { border-color: var(--goti-line); }

/* Catalog cards */
.goti-design .catalog-box { gap: 0; }
.goti-design .card-catalog {
    border: 1px solid transparent;
    border-radius: var(--goti-radius);
    background: #fff;
    box-shadow: none;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.goti-design .card-catalog:hover {
    border-color: var(--goti-line-strong);
    box-shadow: 0 14px 34px rgba(24, 40, 46, .1);
    transform: translateY(-2px);
}
.goti-design .card-catalog__title { color: var(--goti-ink); font-weight: 700; }
.goti-design .card-catalog__price { color: var(--goti-accent); font-weight: 700; }
.goti-design .card-catalog__submit { border-radius: var(--goti-radius); }

/* Product page */
.goti-design .product { align-items: flex-start; }
.goti-design .product__carousel { min-width: 0; }
.goti-design .product .gallery-top {
    overflow: hidden;
    border-color: var(--goti-line);
    border-radius: var(--goti-radius);
    background: #fff;
}
.goti-design .product .gallery-thumbs .swiper-slide {
    overflow: hidden;
    border-color: var(--goti-line);
    border-radius: var(--goti-radius);
    background: #fff;
}
.goti-design .product .gallery-thumbs .swiper-slide-thumb-active { border-color: var(--goti-accent); }
.goti-design :is(.swiper-button-next, .swiper-button-prev) {
    display: flex;
    width: 44px;
    height: 44px;
    margin-top: -22px;
    padding: 0;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--goti-line-strong);
    border-radius: var(--goti-radius);
    background: #fff;
    background-image: none;
    color: var(--goti-ink);
    box-shadow: none;
    opacity: 1;
    transition: border-color .16s ease, color .16s ease, background-color .16s ease;
}
.goti-design :is(.swiper-button-next, .swiper-button-prev):hover {
    border-color: var(--goti-accent);
    background: #fff;
    color: var(--goti-accent);
}
.goti-design :is(.swiper-button-next, .swiper-button-prev)::after {
    position: static;
    display: block;
    width: 10px;
    height: 10px;
    border: 0;
    content: '';
    opacity: 1;
    transform: none;
    transition: none;
}
.goti-design .swiper-button-prev::after {
    border-bottom: 2px solid currentColor;
    border-left: 2px solid currentColor;
    transform: rotate(45deg);
}
.goti-design .swiper-button-next::after {
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
}
.goti-design :is(.swiper-button-next, .swiper-button-prev).swiper-button-disabled {
    opacity: .35;
    pointer-events: none;
}
.goti-design .swiper-catalog--recent {
    padding-bottom: 20px !important;
}
.goti-design .product__content { min-width: 0; }
.goti-design .product__title { color: var(--goti-ink); font-size: clamp(28px, 3vw, 40px); font-weight: 700; line-height: 1.12; letter-spacing: -.035em; }
.goti-design .product__desc_bmb { color: var(--goti-accent); font-size: 24px; font-weight: 700; }
.goti-design .good-remains {
    margin: 24px 0;
    padding: 18px;
    border: 1px solid var(--goti-line);
    border-radius: var(--goti-radius);
    background: var(--goti-surface);
}
.goti-design .good-remains h2 { margin: 0 0 12px; font-size: 19px; }
.goti-design .product__btn { display: flex; flex-wrap: wrap; gap: 8px; }
.goti-design .product__btn .btn:first-child { margin-right: 0; }
.goti-design .box-info {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 48px;
    border-top: 1px solid var(--goti-line);
    border-left: 1px solid var(--goti-line);
}
.goti-design .box-info__text {
    min-width: 0;
    padding: 22px;
    border-right: 1px solid var(--goti-line);
    border-bottom: 1px solid var(--goti-line);
}
.goti-design .box-info__title { margin: 0 0 16px; font-size: 19px; }
.goti-design .box-info__text .product__desc { margin: 5px 0; color: var(--goti-muted); font-size: 14px; }
.goti-design .product-similar-async { margin-top: 50px; }

/* Pagination: one implementation for catalog, search and content sections. */
.goti-design .pagination {
    display: flex;
    margin: 36px 0 8px;
    padding: 0;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    list-style: none;
}
.goti-design .pagination > :is(a, span, li),
.goti-design .pagination > li > :is(a, span) { margin: 0; }
.goti-design .pagination > a,
.goti-design .pagination > span,
.goti-design .pagination > li > a,
.goti-design .pagination > li > span {
    display: inline-flex;
    min-width: 42px;
    min-height: 42px;
    padding: 8px 12px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--goti-line);
    border-radius: var(--goti-radius);
    background: #fff;
    color: var(--goti-ink);
    text-decoration: none;
}
.goti-design .pagination > a:hover,
.goti-design .pagination > li > a:hover { border-color: var(--goti-accent); color: var(--goti-accent-hover); }
.goti-design .pagination > .active,
.goti-design .pagination > li.active > :is(a, span) {
    border-color: var(--goti-accent);
    background: var(--goti-accent);
    color: #fff;
}
.goti-design .pagination > .disabled,
.goti-design .pagination > li.disabled > :is(a, span) { opacity: .42; pointer-events: none; }

/* Shared accordion and filter states. */
.goti-design .accordeon--pinned > .accordeon__head { cursor: default; }
.goti-design .filter-choices-status { color: var(--goti-muted); font-size: 14px; }
.goti-design [data-filter-choice][hidden],
.goti-design .filter-is-empty { display: none !important; }
.goti-design [data-filter-facet][data-load='0'] [data-filter-choice]:not(.is-selected),
.goti-design [data-filter-facet][data-load='loading'] [data-filter-choice]:not(.is-selected) { display: none; }

/* Search, image search and their popovers. */
.goti-design .image-search-text-field :is(.header__search-control, .navbar__search-control) {
    border-color: var(--goti-line-strong);
    border-radius: var(--goti-radius);
}
.goti-design .image-search-action { border-color: var(--goti-accent); border-radius: var(--goti-radius); background: var(--goti-accent); color: #fff; }
.goti-design .image-search-action:hover { border-color: var(--goti-accent-hover); background: var(--goti-accent-hover); color: #fff; }
.goti-design .smart-search-help__popover {
    border-color: var(--goti-line);
    border-radius: var(--goti-radius);
    box-shadow: var(--goti-shadow);
    color: var(--goti-ink);
}
.goti-design .image-search-modal__backdrop { background: rgba(24, 40, 46, .72); }
.goti-design .image-search-modal__dialog { border-color: var(--goti-line); border-radius: var(--goti-radius); box-shadow: var(--goti-shadow); }
.goti-design .image-search-modal__close {
    border: 1px solid var(--goti-line);
    border-radius: var(--goti-radius);
    background: var(--goti-surface);
    color: var(--goti-ink);
}
.goti-design .image-search-modal__close:hover { border-color: var(--goti-accent); color: var(--goti-accent); }
.goti-design .image-search-modal__eyebrow,
.goti-design .image-search-results__eyebrow { color: var(--goti-accent-hover); }
.goti-design .image-search-dropzone { border-color: var(--goti-line-strong); border-radius: var(--goti-radius); background: var(--goti-surface); }
.goti-design .image-search-dropzone:hover,
.goti-design .image-search-dropzone.is-drag { border-color: var(--goti-accent); background: var(--goti-surface-warm); }
.goti-design .image-search-dropzone__icon { border-radius: var(--goti-radius); background: var(--goti-accent); }
.goti-design .image-search-edit-controls .btn { border-radius: var(--goti-radius); }
.goti-design .image-search-crop-stage img,
.goti-design .image-search-contour-canvas,
.goti-design .image-search-results__empty { border-radius: var(--goti-radius); }

/* Legacy and Bootstrap/Fancybox popups inherit the same dialog treatment. */
.goti-design :is(.dialog, .modal-content, .fancybox-content, .popup) {
    overflow: hidden;
    border: 1px solid var(--goti-line);
    border-radius: var(--goti-radius);
    background: #fff;
    box-shadow: var(--goti-shadow);
    color: var(--goti-ink);
}
.goti-design .dialog__line { height: 4px; background: var(--goti-accent); }
.goti-design :is(.dialog__title, .modal-title, .popup_header) { color: var(--goti-ink); font-family: var(--goti-font); font-weight: 700; }
.goti-design :is(.modal-header, .modal-footer) { border-color: var(--goti-line); }
.goti-design :is(.fancybox-close-small, .close) { color: var(--goti-ink); }
.goti-design .fancybox-bg { background: var(--goti-dark); }

/* Alerts, cookie notice and back-to-top control. */
.goti-design .alert { border: 1px solid var(--goti-line); border-radius: var(--goti-radius); box-shadow: none; }
.goti-design .alert-info { background: var(--goti-surface); color: var(--goti-ink); }
.goti-design .alert-success { background: #eef8f1; color: var(--goti-success); }
.goti-design .alert-danger { background: #fff1ef; color: var(--goti-danger); }
.goti-design .bottom-line { border-top: 1px solid #42545b; background: var(--goti-dark); color: #fff; }
.goti-design .bottom-line a { color: #fff; text-underline-offset: 3px; }
.goti-design .totop { border: 1px solid var(--goti-line); border-radius: var(--goti-radius); background: #fff; box-shadow: var(--goti-shadow); }
.goti-design .totop__triangle { border-bottom-color: var(--goti-accent); }

/* Header and footer */
.goti-design .navbar { border-bottom: 1px solid var(--goti-line); box-shadow: none; }
.goti-design :is(.navbar__link, .header__menu-link) { color: var(--goti-ink); font-size: 14px; font-weight: 700; }
.goti-design :is(.navbar__link, .header__menu-link):hover { color: var(--goti-accent); }
.goti-design .footer { margin-top: 64px; padding-top: 40px; background: var(--goti-dark); color: #fff; }
.goti-design .footer a { color: #e5edef; }
.goti-design .footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.goti-design .footer :is(.footer__copyright, .footer__info) { color: #b7c7cd; font-size: 13px; }
.goti-design .footer__body { border-top: 1px solid #42545b; padding-top: 24px; }

@media (max-width: 1023px) {
    .goti-design .page-layout { display: block; }
    .goti-design [data-responsive-catalog-picks] { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--goti-line); }
}
@media (max-width: 767px) {
    .goti-design :is(h1, .title, .page-title, .order__h1) { font-size: 30px; letter-spacing: -.025em; }
    .goti-design h2 { font-size: 25px; }
    .goti-design .page-section { margin-top: 36px; }
    .goti-design .page-section_nmt { margin-top: 0; }
    .goti-design .box-info {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        margin-top: 36px;
        border: 0;
        gap: 12px;
    }
    .goti-design .box-info__text {
        width: 100%;
        padding: 18px;
        border: 1px solid var(--goti-line);
        border-radius: var(--goti-radius);
        background: #fff;
    }
    .goti-design .box-info__title { margin-bottom: 12px; }
    .goti-design .box-info__text .product__desc {
        overflow-wrap: normal;
        word-break: normal;
    }
    .goti-design .footer { margin-top: 40px; }
    .goti-design .image-search-modal__dialog { border-radius: var(--goti-radius); }
}
@media (prefers-reduced-motion: reduce) {
    .goti-design *,
    .goti-design *::before,
    .goti-design *::after { scroll-behavior: auto !important; transition: none !important; }
}
