/* Shared storefront theme; loaded after legacy styles. Prototype stays isolated. */
:root {
    color-scheme: light;
    --shop-bg:#f7f9fc; --shop-surface:#fff; --shop-raised:#fff;
    --shop-text:#263448; --shop-muted:#647287; --shop-border:#dbe5f0;
    --shop-tint:#edf3fb; --shop-blue:#4a85dc; --shop-blue-text:#2f67b6;
    --shop-yellow:#f4ce5c; --shop-footer:#172234; --shop-footer-text:#e6edf8;
    --shop-green:#2d7250; --shop-green-bg:#edf7f0; --shop-amber:#836016; --shop-amber-bg:#fff5d9;
    --shop-red:#ac4036; --shop-red-bg:#fff1ef; --shop-shadow:0 8px 28px #243b5810;
    --primary:var(--shop-blue); --third:var(--shop-yellow); --secondery:var(--shop-tint);
    --border:var(--shop-border); --light-border:var(--shop-border); --light-background:var(--shop-tint);
    --text-color-dark:var(--shop-text); --text-color-light:var(--shop-muted); --bd-main:var(--shop-bg);
}
html[data-theme="dark"] {
    color-scheme:dark;
    --shop-bg:#121a27; --shop-surface:#1b2637; --shop-raised:#223047;
    --shop-text:#e4ebf5; --shop-muted:#a7b6ca; --shop-border:#354359;
    --shop-tint:#25344b; --shop-blue:#78aaf7; --shop-blue-text:#a4c8ff;
    --shop-yellow:#f4ce5c; --shop-footer:#0d1521; --shop-footer-text:#e4ebf5;
    --shop-green:#99d7b6; --shop-green-bg:#213d32; --shop-amber:#f3d188; --shop-amber-bg:#403722;
    --shop-red:#f6aaa1; --shop-red-bg:#452c32; --shop-shadow:0 8px 28px #0002;
}
html { scroll-padding-top:24px; }
.shop-body { background:var(--shop-bg); color:var(--shop-text); font-family:Montserrat,Arial,sans-serif; font-size:14px; line-height:1.6; }
.shop-body *, .shop-body *::before, .shop-body *::after { box-sizing:border-box; letter-spacing:normal; }
.shop-body [hidden] { display:none!important; }
.shop-body button,.shop-body input,.shop-body select,.shop-body textarea { font:inherit; }
.shop-body a { color:inherit; text-decoration:none; }
.shop-body button { cursor:pointer; }
.shop-body button:disabled { cursor:not-allowed; }
.shop-body :is(button,a,select,summary):focus-visible { outline:3px solid var(--shop-blue); outline-offset:3px; }
.shop-body input,.shop-body textarea { outline:none!important; }
.shop-body :is(input,textarea):focus-visible { border-color:var(--shop-blue); box-shadow:0 0 0 2px var(--shop-tint); }
.shop-body ::selection { background:var(--shop-yellow); color:#263448; }
.shop-container { width:calc(100% - 64px); max-width:1400px; margin-inline:auto; }
.shop-visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.shop-skip { position:fixed; top:-100px; left:20px; padding:10px 16px; z-index:99999; background:var(--shop-surface); border:2px solid var(--shop-blue); }
.shop-skip:focus { top:12px; }
.shop-header { background:var(--shop-surface); border-bottom:1px solid var(--shop-border); }
.shop-header-top { border-bottom:1px solid var(--shop-border); }
.shop-top-inner { display:flex; justify-content:space-between; align-items:center; min-height:54px; gap:20px; }
.shop-navigation { display:flex; align-items:center; gap:28px; }
.shop-navigation a { font-size:12px; font-weight:600; padding-block:17px; color:var(--shop-muted); }
.shop-navigation a:hover,.shop-navigation a[aria-current="page"] { color:var(--shop-blue-text); }
.shop-top-actions { display:flex; align-items:center; gap:20px; }
.shop-theme-button { border:0; background:transparent; color:var(--shop-muted); display:flex; align-items:center; gap:8px; padding:8px; font-size:12px!important; white-space:nowrap; }
.shop-theme-button svg { width:19px; height:19px; }
.shop-menu-button { display:none; background:transparent; border:0; color:var(--shop-text); align-items:center; gap:8px; }
.shop-middle-inner { display:grid; grid-template-columns:1.3fr 1fr auto; align-items:center; gap:32px; padding-block:26px; }
.shop-brand { display:flex; align-items:center; gap:14px; width:fit-content; }
.shop-logo-tile { display:inline-flex; align-items:center; justify-content:center; background:var(--shop-raised); border-radius:10px; padding:7px; flex-shrink:0; }
.shop-logo-tile img { width:62px; height:54px; object-fit:contain; }
.shop-brand-name { font-size:26px; font-weight:750; line-height:1.3; overflow-wrap:anywhere; }
.shop-brand-name small { display:block; font-size:9px; letter-spacing:1px; margin-top:4px; font-weight:500; color:var(--shop-muted); }
.shop-partner-caption { display:block; margin:8px 0 0 25px; color:var(--shop-muted)!important; font-size:10px; }
.shop-contact a { display:block; font-weight:700; font-size:22px; letter-spacing:-.3px; white-space:nowrap; }
.shop-contact span { color:var(--shop-muted); display:block; font-size:11px; margin-top:4px; }
.shop-header .header-middle__cart { display:flex!important; width:auto; padding:0; }
.shop-header .header-middle__cart > div { display:flex; align-items:center; gap:12px; }
.shop-header .header-middle__cart .icon-circle-container { margin:0!important; width:42px; height:42px; border-radius:12px; background:var(--shop-tint); color:var(--shop-blue-text); display:grid; place-items:center; }
.shop-header .header-middle__cart .icon-circle { position:static; font-size:18px; width:auto; height:auto; background:none; border:0; padding:0; color:inherit; }
.shop-header .header__cart-count { font-size:13px; font-weight:600; display:block; }
.shop-header .header__cart-total { font-size:12px; color:var(--shop-muted); display:block; }
.shop-header-bottom { background:var(--shop-tint); border-top:1px solid var(--shop-border); }
.shop-search-inner { display:grid; grid-template-columns:170px 1fr; gap:26px; padding-block:18px; align-items:start; }
.shop-catalog-link { display:flex; align-items:center; justify-content:center; gap:12px; border:1px solid var(--shop-border); border-radius:10px; padding:12px 20px; background:var(--shop-surface); font-weight:600; min-height:48px; }
.shop-catalog-link svg { width:20px; height:20px; }
.shop-search-field { display:flex; min-width:0; }
.shop-search-field input { min-width:0; flex:1; background:var(--shop-surface); color:var(--shop-text); border:1px solid var(--shop-border); border-right:0; padding:12px 18px; border-radius:10px 0 0 10px; height:48px; }
.shop-search-field input::placeholder { color:var(--shop-muted); opacity:1; }
.shop-search-field button { display:flex; gap:10px; align-items:center; justify-content:center; border:0; padding:12px 24px; border-radius:0 10px 10px 0; color:#253448; background:var(--shop-yellow); font-weight:600; }
.shop-search-field svg { width:19px; height:19px; }
.shop-clean-search { display:flex; align-items:center; gap:8px; color:var(--shop-muted); font-size:11px; margin-top:9px; width:fit-content; }
.shop-clean-search input { accent-color:var(--shop-blue); width:14px; height:14px; }
.shop-side-actions { align-items:flex-end; position:fixed; right:0; top:44%; z-index:90; display:flex; flex-direction:column; gap:5px; }
.shop-side-button { width:46px; height:48px; display:grid; place-items:center; border:1px solid var(--shop-border); border-right:0; border-radius:12px 0 0 12px; background:var(--shop-surface); color:var(--shop-blue-text)!important; box-shadow:var(--shop-shadow); }
.shop-side-button svg { width:21px; height:21px; }
.shop-side-button .side-menu__hover { display:none; position:absolute; right:52px; width:190px; font-size:12px; color:var(--shop-text); background:var(--shop-surface); border:1px solid var(--shop-border); padding:12px; border-radius:10px; }
.shop-side-button:hover .side-menu__hover,.shop-side-button:focus-visible .side-menu__hover { display:block; }
.shop-side-search { position:absolute; right:54px; top:40px; width:270px; display:grid; gap:10px; padding:20px; border:1px solid var(--shop-border); border-radius:14px; background:var(--shop-surface); box-shadow:var(--shop-shadow); }
.shop-side-search input { width:100%; border:1px solid var(--shop-border); background:var(--shop-bg); color:var(--shop-text); padding:10px; border-radius:8px; }
.shop-side-search button { background:var(--shop-yellow); color:#263448; border:0; border-radius:8px; padding:9px; }
.shop-main { flex:1; padding:26px 0 64px; min-width:0; }
.shop-main > .container,.shop-main .ds-search { max-width:1400px; width:calc(100% - 64px); padding-inline:0; }
.shop-body .breadcrumb { background:transparent; padding:0; font-size:11px; margin-bottom:24px; color:var(--shop-muted); }
.shop-body .breadcrumb a { color:var(--shop-muted); }
.shop-body .breadcrumb .active { color:var(--shop-text); }
.shop-page-title { font-size:30px; line-height:1.3; letter-spacing:-.7px!important; font-weight:700; margin:0 0 10px; }
.shop-eyebrow { color:var(--shop-blue-text); font-size:10px; font-weight:700; letter-spacing:1.3px!important; text-transform:uppercase; margin:0 0 10px; }
.shop-lead { color:var(--shop-muted); max-width:700px; font-size:14px; margin:0; }
.shop-page-head { margin:0 0 30px; }
.shop-panel { background:var(--shop-surface); border:1px solid var(--shop-border); border-radius:16px; padding:28px; box-shadow:0 2px 6px #34476108; }
.shop-body .text { color:var(--shop-text); }
.shop-body .text_color_ptimary,.shop-body .text_color_primary { color:var(--shop-blue-text); }
.shop-body :is(.input,.input_style,.select select) { color:var(--shop-text); background:var(--shop-surface); border-color:var(--shop-border); border-radius:8px; }
.shop-body :is(.button_color,.button_shadowin,.button_checkin) { background:var(--shop-yellow); color:#263448; border:0; border-radius:9px; padding:10px 16px; }
.shop-body .button_link,.shop-body .user-dropdown__info { background:transparent; color:var(--shop-text); }
.shop-body .user-dropdown__menu { background:var(--shop-raised); color:var(--shop-text); border-color:var(--shop-border); border-radius:12px; }
.shop-body .user-dropdown__item { color:var(--shop-text); }
.shop-body .user-dropdown__item:hover { background:var(--shop-tint); }
.shop-body .button_logout { color:inherit; background:transparent; }
.shop-body :is(.article-list,.product-list,.best-price,.catalog-list,.list-group,.menu) { background:var(--shop-surface); border-color:var(--shop-border); border-radius:12px; }
.shop-body :is(.article-list__title,.product-list__title,.article-list__item,.product-list__item,.catalog-list__item,.list-group-item) { color:var(--shop-text); border-color:var(--shop-border); background:var(--shop-surface); }
.shop-body :is(.article-list__item:hover,.catalog-list__item:hover,.list-group-item:hover) { background:var(--shop-tint); }
.shop-body :is(th,td) { border-color:var(--shop-border); }
.shop-body th { background:var(--shop-tint); }
.shop-body :is(.slider,.modal-window,.popup-modal .container) { background:var(--shop-surface); color:var(--shop-text); }
.shop-body .popup-modal { background:#0a142680; }
.shop-body .modal-window { border:1px solid var(--shop-border); border-radius:18px; }
.shop-body .modal-window__body { color:var(--shop-text); }
.shop-body img { max-width:100%; }
.shop-main iframe { max-width:100%; }
.shop-footer { margin-top:auto; background:var(--shop-footer); color:var(--shop-footer-text); padding:48px 0 0; }
.shop-footer-grid { display:grid; grid-template-columns:1.1fr .9fr 1fr 1.25fr; gap:40px; padding-bottom:40px; }
.shop-footer h2 { font-size:13px; color:#fff; font-weight:600; margin:0 0 18px; }
.shop-footer p,.shop-footer-contacts > span { color:#acbad0; font-size:11px; margin:12px 0; }
.shop-footer nav,.shop-footer-contacts { display:flex; flex-direction:column; gap:10px; }
.shop-footer nav a,.shop-footer-contacts a { font-size:12px; width:fit-content; }
.shop-footer a:hover { color:var(--shop-yellow); }
.shop-footer .shop-footer-phone { font-size:17px; font-weight:600; }
.shop-footer .shop-logo-tile img { width:140px; height:64px; }
.shop-partner-logo { display:flex; align-items:center; gap:12px; margin-top:24px; }
.shop-partner-logo img { width:76px; height:48px; object-fit:contain; background:#fff; border-radius:8px; padding:6px; }
.shop-partner-logo span { font-size:10px; max-width:140px; color:#acbad0; }
.shop-footer .shop-search-field input { background:#25344b; border-color:#455269; color:#f0f4fa; font-size:12px; }
.shop-footer .shop-search-field input::placeholder { color:#acbad0; }
.shop-footer .shop-search-field button { padding-inline:16px; font-size:12px; }
.shop-footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-block:20px; border-top:1px solid #ffffff20; font-size:10px; color:#acbad0; }
.shop-about-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:center; }
.shop-about-grid img { width:100%; border-radius:16px; object-fit:cover; }
.shop-about-grid .shop-panel { padding:36px; }
.shop-about-grid p { margin:18px 0 24px; }
.shop-map { overflow:hidden; margin-top:30px; padding:0; }
.shop-map iframe { display:block; width:100%; height:420px; border:0; }
.shop-payment-content { max-width:960px; }
.shop-payment-content .text_style_bold { margin-top:26px; }
.shop-payment-content img { background:#fff; border-radius:10px; padding:8px; object-fit:contain; height:auto!important; max-width:100%; }
.shop-client-grid { display:grid; grid-template-columns:230px minmax(0,1fr); gap:26px; }
.shop-rich-content { overflow-wrap:anywhere; }
.shop-rich-content :is(h1,h2,h3) { margin:24px 0 12px; }
.shop-rich-content :is(p,ul,ol) { margin-bottom:16px; }
.shop-rich-content table { display:block; overflow:auto; max-width:100%; }
.shop-brand-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(290px,100%),1fr)); gap:18px; }
.shop-brand-card { display:flex; flex-direction:column; gap:14px; padding:24px; border:1px solid var(--shop-border); border-radius:16px; background:var(--shop-surface); transition:border-color .15s,transform .15s; }
.shop-brand-card:hover { border-color:var(--shop-blue); transform:translateY(-2px); }
.shop-brand-card h2 { font-size:20px; font-weight:700; margin:0; color:var(--shop-blue-text); }
.shop-brand-card p { margin:0; color:var(--shop-muted); font-size:12px; }
.shop-brand-card .shop-brand-next { margin-top:8px; display:flex; justify-content:space-between; font-size:12px; font-weight:600; }
.ds-search { padding-top:0; padding-bottom:0; }
.ds-search-head,.ds-search-form,.ds-search-actions,.ds-search-pages { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.ds-search-head { justify-content:space-between; margin-bottom:24px; }
.ds-search-head h1 { font-size:30px; font-weight:700; }
.ds-search-form { margin-bottom:24px; padding:18px; border:1px solid var(--shop-border); background:var(--shop-surface); border-radius:14px; }
.ds-search-form input { flex:1; min-width:160px; padding:10px 14px; }
.ds-search-form select { max-width:100%; padding:10px; }
.ds-search-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr)); gap:20px; }
.ds-search-card { padding:20px; border:1px solid var(--shop-border); border-radius:16px; background:var(--shop-surface); display:flex; flex-direction:column; gap:12px; }
.ds-search-card h2 { font-size:16px; margin:0; overflow-wrap:anywhere; }
.ds-search-image { height:120px; display:flex; align-items:center; justify-content:center; color:var(--shop-blue-text); background:var(--shop-tint); border-radius:10px; }
.ds-search-image img { max-height:100%; object-fit:contain; }
.ds-search-price { margin-top:auto; font-size:24px; font-weight:700; }
.ds-search-actions .changesize { display:flex; margin-right:auto; }
.ds-search-actions button { min-height:36px; }
.shop-body .changesize { border:1px solid var(--shop-border); border-radius:8px; background:var(--shop-bg); display:flex; align-items:center; height:38px; }
.shop-body .changesize input { background:transparent; color:var(--shop-text); border:0; width:42px; padding:0; text-align:center; min-width:0; }
.shop-body .changesize button { background:transparent; color:var(--shop-text); border:0; width:30px; padding:0; font-size:18px; min-height:34px; }
.shop-body .button_icon-cart { background-color:var(--shop-yellow); border-radius:8px; width:40px; height:38px; }
.ds-search-pages { margin-top:28px; justify-content:center; }
.ds-search-categories { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:24px; }
.ds-search-categories a { font-size:12px; padding:7px 12px; background:var(--shop-tint); border:1px solid var(--shop-border); border-radius:20px; }
.ap-body.shop-body { --ap-blue:var(--shop-blue); --ap-yellow:var(--shop-yellow); --ap-tint:var(--shop-tint); --ap-border:var(--shop-border); --ap-text:var(--shop-text); --ap-muted:var(--shop-muted); background:var(--shop-bg); }
.ap-body .shop-footer p,.ap-body .shop-footer h2 { margin-bottom:12px; }
.shop-auth-theme { position:fixed; top:12px; right:16px; z-index:1100; border:1px solid var(--shop-border); border-radius:10px; background:var(--shop-surface); }
.shop-user { position:relative; font-size:12px; }
.shop-user summary { cursor:pointer; padding:8px 0; max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.shop-user summary:focus-visible { outline:3px solid var(--shop-blue); outline-offset:3px; }
.shop-user-menu { position:absolute; right:0; top:calc(100% + 8px); background:var(--shop-raised); border:1px solid var(--shop-border); border-radius:12px; box-shadow:var(--shop-shadow); padding:10px; min-width:180px; z-index:110; display:grid; gap:4px; }
.shop-user-menu a,.shop-user-menu button { padding:8px 12px; display:block; background:transparent; border:0; color:var(--shop-text); text-align:left; width:100%; }
.shop-user-menu a:hover,.shop-user-menu button:hover { background:var(--shop-tint); border-radius:7px; }
.shop-main .catalog-list { border:1px solid var(--shop-border); padding:18px; }
.shop-main .catalog-list__item { padding:12px 8px; font-size:13px; }
.shop-main .catalog-list__char { color:var(--shop-blue-text); font-weight:700; }
.ap-body.shop-body > .shop-footer { margin-top:40px; }
.ap-body.shop-body .ap-dialog-backdrop { z-index:1200; }
.ap-body.shop-body .ap-toast { z-index:1300; color:var(--shop-text); background:var(--shop-raised); border:1px solid var(--shop-border); }
.shop-body :is(.form-control,.form-select) { color:var(--shop-text); background:var(--shop-surface); border-color:var(--shop-border); }
.shop-results-toolbar { display:flex; gap:20px; align-items:center; justify-content:space-between; margin-bottom:20px; }
.shop-price-summaries { display:flex; flex-wrap:wrap; gap:16px; margin-bottom:24px; }
.shop-best-card { display:grid; grid-template-columns:1fr auto; gap:8px 30px; padding:18px 22px; min-width:270px; border:1px solid var(--shop-border); border-radius:14px; background:var(--shop-surface); }
.shop-best-card p { grid-column:1/-1; font-size:10px; color:var(--shop-muted); margin:0; }
.shop-best-card strong { color:var(--shop-blue-text); font-size:12px; }
.shop-best-card > span { font-size:16px; font-weight:700; }
.shop-brand-filters { display:flex; flex-wrap:wrap; gap:8px; }
.shop-brand-filters label { display:flex; gap:7px; align-items:center; padding:7px 12px; border:1px solid var(--shop-border); background:var(--shop-surface); border-radius:20px; font-size:11px; cursor:pointer; }
.shop-brand-filters label:has(input:checked) { background:var(--shop-tint); border-color:var(--shop-blue); color:var(--shop-blue-text); }
.shop-results input[type="checkbox"] { accent-color:var(--shop-blue); }
.shop-stock-filter { font-size:11px; white-space:nowrap; color:var(--shop-muted); }
.shop-stock-filter label { display:flex; align-items:center; gap:8px; }
.shop-loading-status { display:flex; gap:10px; align-items:center; border:1px solid var(--shop-border); background:var(--shop-tint); color:var(--shop-muted); border-radius:10px; padding:12px 16px; margin-bottom:24px; font-size:11px; }
.shop-status-dot { display:none; width:16px; height:16px; border:2px solid var(--shop-border); border-top-color:var(--shop-blue); border-radius:50%; flex-shrink:0; }
.shop-loading-status[data-state="pending"] .shop-status-dot { display:block; animation:shop-loading-turn .8s linear infinite; }
@keyframes shop-loading-turn { to { transform:rotate(360deg); } }
.shop-loading-status[data-state="error"] { background:var(--shop-amber-bg); color:var(--shop-amber); }
.shop-loading-status[data-state="error"] .shop-status-dot { background:var(--shop-amber); }
.shop-loading-status button { border:0; border-bottom:1px solid currentColor; background:transparent; color:inherit; padding:0; margin-left:auto; white-space:nowrap; }
.shop-offer-group { margin-bottom:26px; border:1px solid var(--shop-border); border-radius:16px; background:var(--shop-surface); overflow-anchor:none; }
.shop-offer-group-head { padding:22px 24px 16px; display:flex; justify-content:space-between; align-items:center; gap:14px; }
.shop-offer-group-head h2 { font-size:17px; font-weight:700; margin:0; }
.shop-offer-group-head > span { color:var(--shop-muted); font-size:11px; }
.shop-offer-columns,.shop-offer-row { display:grid; grid-template-columns:minmax(180px,1.6fr) minmax(145px,1.3fr) 90px minmax(100px,1fr) 208px; gap:20px; align-items:center; padding:18px 24px; }
.shop-offer-columns { padding-block:10px; background:var(--shop-tint); color:var(--shop-muted); font-size:10px; }
.shop-offer-row { border-top:1px solid var(--shop-border); }
.shop-offer-row[data-stock="true"] { border-left:3px solid var(--shop-blue); padding-left:21px; }
.shop-offer-part > div { display:flex; gap:10px; flex-wrap:wrap; font-size:11px; }
.shop-offer-part strong { color:var(--shop-blue-text); }
.shop-offer-part h3 { font-size:12px; font-weight:500; line-height:1.6; margin:5px 0 0; overflow-wrap:anywhere; }
.shop-offer-delivery { display:grid; gap:4px; font-size:11px; }
.shop-offer-delivery small { color:var(--shop-muted); font-size:10px; }
.shop-stock-badge { color:var(--shop-green); background:var(--shop-green-bg); border-radius:5px; padding:3px 6px; width:fit-content; font-size:9px; }
.shop-offer-stock { font-size:12px; }
.shop-offer-price { font-size:16px; white-space:nowrap; }
.shop-offer-buy { display:flex; align-items:center; gap:8px; position:relative; padding-block:5px; }
.shop-add-button { display:grid; place-items:center; width:38px; height:38px; background:var(--shop-yellow); color:#263448; border:0; border-radius:8px; }
.shop-add-button svg { width:21px; height:21px; }
.shop-add-button[aria-busy="true"] { opacity:.6; }
.shop-offer-buy .account-favorite-button { flex-shrink:0; width:34px; height:38px; padding:0; margin:0!important; color:var(--shop-blue-text); border:1px solid var(--shop-border); background:var(--shop-surface); border-radius:8px; display:grid; place-items:center; }
.shop-body :is(.menu-vert,.menu-vert-catalog,.product-content,.product-content__images,.detail-image,.table-container-detail) { background:var(--shop-surface); border:1px solid var(--shop-border); border-radius:14px; padding:20px; color:var(--shop-text); }
.shop-body :is(.menu-vert__label,.menu-vert__link,.menu-vert-catalog__label,.menu-vert-catalog__link,.product-content__title,.product-content__subtitle,.detail-title) { color:var(--shop-text); }
.shop-body .menu-vert__link:hover,.shop-body .menu-vert-catalog__link:hover { color:var(--shop-blue-text); }
.shop-body :is(.table-container-detail,.shop-rich-content) { min-width:0; }
.shop-body .table-container-detail { overflow:auto; }
.shop-body :is(.table__row,.table__item,.table-detail) { color:var(--shop-text); background:var(--shop-surface); border-color:var(--shop-border); }
.shop-body .table__row:hover,.shop-body .table__row.active { background:var(--shop-tint); }
.shop-body :is(.detail-image__image,.product-content__image) { background:#fff; border-radius:8px; object-fit:contain; max-width:100%; }
.shop-body .product-content__price { color:var(--shop-text); font-weight:700; }
.shop-body .product-content__button { background:var(--shop-yellow); color:#263448; border:0; border-radius:9px; }
.shop-body .find-vehicle-form__input,.shop-body .searchinput { color:var(--shop-text); background:var(--shop-surface); border:1px solid var(--shop-border); border-radius:9px; max-width:100%; }
.shop-body :is(.menu-vert__span,.product-content__vendor,.product-content__weight,.product-content__delivery,.product-content__warehouse) { color:var(--shop-muted); }
.shop-cart-quantity { position:absolute; top:-11px; right:8px; font-size:9px; color:var(--shop-blue-text); }
.shop-cart-quantity:empty { display:none; }
.shop-cart-quantity:not(:empty)::before { content:'В корзине: '; }
.shop-offers-more { display:block; width:100%; border:0; border-top:1px solid var(--shop-border); background:transparent; color:var(--shop-blue-text); padding:13px; font-size:11px!important; border-radius:0 0 16px 16px; }
.shop-offers-more:hover { background:var(--shop-tint); }
.shop-mobile-label { display:none; }
.shop-empty-results p { margin-top:10px; color:var(--shop-muted); }
.shop-auth-body .popup-modal { background:var(--shop-bg); }
.shop-auth-body .modal-window { box-shadow:var(--shop-shadow); }
@media (max-width:1100px) {
    .shop-offer-row { grid-template-columns:1.4fr 1fr 1fr; gap:14px 20px; } .shop-offer-columns { display:none; } .shop-offer-buy { grid-column:3; grid-row:1/3; } .shop-offer-stock { grid-column:1; } .shop-offer-price { grid-column:2; }
    .shop-navigation { gap:18px; } .shop-top-actions { gap:10px; } .shop-top-actions .shop-theme-button span { display:none; }
    .shop-middle-inner { gap:24px; grid-template-columns:1.3fr 1fr; } .shop-header .header-middle__cart { display:none!important; }
    .shop-footer-grid { gap:24px; grid-template-columns:1fr 1fr; } .shop-brand-name { font-size:24px; }
}
@media (max-width:767px) {
    .shop-best-card { width:100%; min-width:0; gap:8px 16px; } .shop-price-summaries { gap:10px; }
    .shop-main .row > :is(.col-3,.col-4,.col-6,.col-8,.col-9) { width:100%; margin-bottom:16px; }
    .shop-body .detail-image { max-height:400px; } .shop-body .product-content__images { margin-bottom:20px; }
    .shop-results-toolbar { flex-direction:column; align-items:start; gap:14px; } .shop-offer-group-head { padding:20px 18px 14px; } .shop-offer-group-head h2 { font-size:15px; }
    .shop-offer-row { padding:18px; grid-template-columns:1fr 1fr; gap:14px; } .shop-offer-row[data-stock="true"] { padding-left:15px; } .shop-offer-part { grid-column:1/-1; } .shop-offer-delivery { grid-column:1/-1; }
    .shop-offer-stock { grid-column:1; } .shop-offer-price { grid-column:2; text-align:right; } .shop-offer-buy { grid-column:1/-1; grid-row:auto; justify-content:flex-end; } .shop-mobile-label { display:block; font-size:10px; color:var(--shop-muted); margin-bottom:2px; }
    .shop-offer-buy .changesize { margin-right:auto; } .shop-cart-quantity { position:static; margin-left:8px; } .shop-add-button { order:3; } .shop-loading-status { align-items:flex-start; flex-wrap:wrap; }
    .shop-main .catalog-list { width:100%; margin-bottom:14px; } .shop-user summary { max-width:150px; }
    .shop-container,.shop-main > .container,.shop-main .ds-search { width:calc(100% - 36px); }
    .shop-top-inner { gap:12px; min-height:52px; position:relative; }
    .shop-menu-button { display:flex; font-size:12px!important; }
    .shop-navigation { display:none; position:absolute; top:52px; left:-18px; right:-18px; flex-direction:column; align-items:stretch; gap:0; padding:8px 18px 14px; background:var(--shop-surface); border-bottom:1px solid var(--shop-border); box-shadow:var(--shop-shadow); z-index:100; }
    .shop-navigation.is-open { display:flex; } .shop-navigation a { padding:12px; }
    .shop-top-actions .button_checkin { font-size:11px; padding:8px 10px; } .shop-top-actions .btn-email-auth--js { margin-inline:6px!important; font-size:11px; }
    .shop-top-actions .btn-email-auth--js .icon { display:none; } .shop-top-actions .user-dropdown__info { max-width:145px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; padding:8px 0; }
    .shop-middle-inner { padding-block:18px; gap:14px; } .shop-brand-name { font-size:19px; } .shop-brand-name small { font-size:7px; letter-spacing:.6px; }
    .shop-brand { gap:9px; } .shop-logo-tile img { width:38px; height:38px; } .shop-partner-caption { margin:6px 0 0; font-size:9px; }
    .shop-contact a { font-size:14px; } .shop-contact span { font-size:9px; max-width:135px; } .shop-contact { justify-self:end; }
    .shop-search-inner { grid-template-columns:1fr; gap:12px; padding-block:14px; } .shop-catalog-link { display:none; }
    .shop-search-field input { font-size:12px; padding-inline:12px; height:46px; } .shop-search-field button { padding-inline:16px; } .shop-clean-search { font-size:10px; }
    .shop-main { padding:22px 0 40px; } .shop-page-title,.ds-search-head h1 { font-size:25px; } .shop-panel { padding:22px; }
    .shop-side-actions { top:auto; bottom:24px; } .shop-side-button { width:38px; height:42px; } .shop-side-button .side-menu__hover { display:none!important; } .shop-side-search { right:44px; top:auto; bottom:0; width:min(270px,calc(100vw - 64px)); }
    .shop-footer { padding-top:32px; } .shop-footer-grid { grid-template-columns:1fr 1fr; gap:30px 18px; } .shop-footer-search { grid-column:1/-1; } .shop-footer h2 { font-size:12px; }
    .shop-footer .shop-footer-phone { font-size:14px; } .shop-footer .shop-logo-tile img { width:105px; height:48px; } .shop-partner-logo { flex-wrap:wrap; }
    .shop-about-grid,.shop-client-grid { grid-template-columns:1fr; } .shop-about-grid .shop-panel { padding:24px; } .shop-map iframe { height:300px; }
    .ds-search-form { gap:10px; padding:14px; } .ds-search-form input { flex-basis:100%; } .ds-search-form select { flex:1; min-width:0; font-size:11px; }
}
@media (prefers-reduced-motion:reduce) { .shop-body *, .shop-body *::before,.shop-body *::after { animation-duration:.01ms!important; transition-duration:0s!important; scroll-behavior:auto!important; } }

.shop-page-title,.shop-brand-card h2,.shop-offer-part > div > * { overflow-wrap:anywhere; min-width:0; }
.shop-body .changesize input { appearance:textfield; }
.shop-body .changesize input::-webkit-inner-spin-button,.shop-body .changesize input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }

.shop-body .button_shadowin,.shop-body .button_shadowin:hover { color:#263448!important; text-shadow:none; }

html[data-theme="dark"] .shop-logo-custom-dark { background:transparent; }
.ap-body.shop-body .ap-preview-bar { padding-right:24px; }
.shop-auth-body .form { width:100%; max-width:360px; }
.shop-auth-body .modal-window { width:min(560px,calc(100% - 36px)); margin:72px auto 32px; max-height:calc(100dvh - 104px); overflow:auto; }
@media (max-width:767px) { .ap-body.shop-body .ap-preview-bar { padding-right:0; } }

/* Search filters and storefront navigation */
.shop-notifications { position:relative; display:grid; place-items:center; width:36px; height:36px; padding:0; background:transparent; border:1px solid var(--shop-border); border-radius:10px; color:var(--shop-text); }
.shop-notifications svg { width:20px; height:20px; }
.shop-notifications .ap-dot { position:absolute; right:4px; top:4px; }
.shop-mobile-drawer { display:contents; }
.shop-drawer-heading,.shop-drawer-actions,.shop-menu-backdrop,.shop-mobile-only { display:none; }
.shop-partner-logo { flex-direction:column; align-items:flex-start; gap:8px; }
.shop-partner-logo img { width:148px; height:72px; padding:8px; background:var(--shop-raised); }
.shop-partner-logo span { max-width:none; font-size:11px; }
.shop-side-cart { overflow:hidden; }
.shop-side-search-wrap { position:relative; }
.shop-back-to-top { position:fixed; right:18px; bottom:24px; z-index:89; display:flex; align-items:center; gap:7px; padding:11px 15px; border:1px solid var(--shop-border); border-radius:12px; color:var(--shop-blue-text); background:var(--shop-surface); box-shadow:var(--shop-shadow); font-size:12px; }
.shop-back-to-top svg { width:21px; height:21px; }
.shop-results-toolbar { gap:16px; justify-content:flex-start; flex-wrap:wrap; }
.shop-filter-button { display:flex; align-items:center; justify-content:center; gap:10px; min-height:46px; padding:10px 20px; border:1px solid var(--shop-border); border-radius:11px; background:var(--shop-surface); color:var(--shop-text); font-weight:600; }
.shop-filter-button svg { width:20px; height:20px; }
.shop-filter-button [data-filter-count] { background:var(--shop-blue); color:var(--shop-surface); border-radius:20px; padding:0 7px; font-size:11px; }
.shop-sort-label { display:flex; align-items:center; gap:12px; color:var(--shop-muted); font-size:12px; }
.shop-sort-label select { min-height:46px; padding:10px 36px 10px 14px; border:1px solid var(--shop-border); border-radius:11px; background:var(--shop-surface); color:var(--shop-text); max-width:100%; }
.shop-filter-summary { display:flex; align-items:center; gap:16px; justify-content:space-between; margin:-4px 0 20px; font-size:12px; color:var(--shop-muted); }
.shop-filter-summary span { min-width:0; overflow-wrap:anywhere; }
.shop-filter-summary button,.shop-brand-tools button { padding:3px 0; border:0; background:transparent; color:var(--shop-blue-text); font-size:12px; white-space:nowrap; }
html.shop-filter-open,html.shop-menu-open { overflow:hidden; }
.shop-filter-dialog { width:min(680px,calc(100vw - 36px)); max-height:calc(100dvh - 48px); padding:0; margin:auto; border:1px solid var(--shop-border); border-radius:20px; color:var(--shop-text); background:var(--shop-surface); box-shadow:0 24px 80px #0005; }
.shop-filter-dialog::backdrop { background:#0d172a99; backdrop-filter:blur(3px); }
.shop-filter-dialog form { display:flex; flex-direction:column; max-height:calc(100dvh - 48px); }
.shop-filter-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 28px; border-bottom:1px solid var(--shop-border); flex-shrink:0; }
.shop-filter-heading h2 { font-size:22px; font-weight:600; margin:0; }
.shop-filter-heading p { margin:0 0 4px; }
.shop-filter-heading button { display:grid; place-items:center; width:36px; height:36px; border:1px solid var(--shop-border); border-radius:10px; background:var(--shop-raised); color:var(--shop-text); }
.shop-filter-body { overflow:auto; overscroll-behavior:contain; padding:24px 28px; scrollbar-gutter:stable; }
.shop-filter-body fieldset { margin:0 0 24px; padding:0; border:0; min-width:0; }
.shop-filter-body fieldset:last-child { margin-bottom:0; }
.shop-filter-body legend { float:none; width:auto; margin:0 0 12px; font-weight:600; font-size:14px; color:var(--shop-text); }
.shop-filter-body :is(input:not([type=checkbox]):not([type=range]),select) { width:100%; height:44px; min-width:0; padding:10px 12px; border:1px solid var(--shop-border); border-radius:9px; color:var(--shop-text); background:var(--shop-bg); font-size:13px; }
.shop-filter-body input::placeholder { color:var(--shop-muted); }
.shop-price-inputs,.shop-filter-extra { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.shop-price-inputs label,.shop-filter-extra label { display:grid; gap:6px; font-size:12px; color:var(--shop-muted); }
.shop-price-ranges { display:grid; align-items:center; margin:18px 0 12px; min-height:26px; position:relative; }
.shop-price-ranges::before { content:""; grid-area:1/1; height:4px; border-radius:4px; background:linear-gradient(to right,var(--shop-border) var(--low,0%),var(--shop-blue) var(--low,0%),var(--shop-blue) var(--high,100%),var(--shop-border) var(--high,100%)); }
.shop-price-ranges input { grid-area:1/1; width:100%; margin:0; appearance:none; pointer-events:none; background:transparent; height:26px; }
.shop-price-ranges input::-webkit-slider-runnable-track { background:transparent; height:4px; }
.shop-price-ranges input::-webkit-slider-thumb { appearance:none; pointer-events:auto; width:20px; height:20px; margin-top:-8px; border:3px solid var(--shop-surface); border-radius:50%; background:var(--shop-blue); box-shadow:0 0 0 1px var(--shop-blue); cursor:ew-resize; }
.shop-price-ranges input::-moz-range-track { background:transparent; height:4px; }
.shop-price-ranges input::-moz-range-thumb { pointer-events:auto; width:15px; height:15px; border:3px solid var(--shop-surface); border-radius:50%; background:var(--shop-blue); cursor:ew-resize; }
.shop-price-ranges input:focus-visible { outline:2px solid var(--shop-blue); outline-offset:4px; }
.shop-filter-hint { font-size:11px; color:var(--shop-muted); margin:8px 0 0; }
.shop-brand-tools { display:flex; justify-content:space-between; gap:12px; align-items:center; margin:12px 0; font-size:11px; color:var(--shop-muted); }
.shop-filter-dialog .shop-brand-filters { display:grid; grid-template-columns:1fr 1fr; gap:8px; max-height:240px; overflow:auto; overscroll-behavior:contain; padding:3px; scrollbar-gutter:stable; }
.shop-filter-dialog .shop-brand-filters label { border-radius:9px; padding:9px 12px; font-size:12px; min-width:0; }
.shop-filter-dialog .shop-brand-filters label span { overflow-wrap:anywhere; }
.shop-filter-dialog input[type=checkbox] { appearance:auto; width:16px; height:16px; margin:0; accent-color:var(--shop-blue); flex-shrink:0; }
.shop-filter-dialog .shop-stock-filter { display:flex; align-items:center; gap:9px; font-size:13px; margin-bottom:16px; }
.shop-filter-footer { padding:18px 28px 24px; border-top:1px solid var(--shop-border); background:var(--shop-surface); flex-shrink:0; }
.shop-filter-footer > p { margin:0 0 12px; font-size:12px; color:var(--shop-muted); }
.shop-filter-footer > div { display:flex; gap:12px; }
.shop-filter-footer button { padding:11px 20px; border-radius:10px; font-weight:600; font-size:13px; }
.shop-filter-reset { border:1px solid var(--shop-border); background:var(--shop-raised); color:var(--shop-text); }
.shop-filter-apply { border:1px solid var(--shop-yellow); background:var(--shop-yellow); color:#263448; flex:1; }
.shop-filter-apply:disabled { opacity:.5; }
.shop-filter-footer .shop-filter-error { color:var(--shop-red); }
@media (min-width:768px) and (hover:hover) and (pointer:fine) {
    .shop-side-cart { width:46px; height:auto; min-height:48px; display:flex; align-items:center; gap:14px; padding:12px; transition:width .22s ease; }
    .shop-side-cart svg { flex:0 0 21px; }
    .shop-side-cart .side-menu__hover { display:block; position:static; inset:auto; z-index:auto; transform:none; width:205px; min-width:0; flex:0 0 205px; white-space:normal; padding:0; border:0; background:transparent; box-shadow:none; opacity:0; visibility:hidden; transition:opacity .25s; line-height:1.5; color:var(--shop-text); }
    .shop-side-cart:is(:hover,:focus-visible) { width:280px; }
    .shop-side-cart:is(:hover,:focus-visible) .side-menu__hover { opacity:1; visibility:visible; }
    .shop-side-search-wrap { display:flex; width:46px; transition:width .22s ease; border:1px solid var(--shop-border); border-right:0; border-radius:12px 0 0 12px; background:var(--shop-surface); box-shadow:var(--shop-shadow); }
    .shop-side-search-wrap.is-open { width:320px; }
    .shop-side-search-wrap > .shop-side-button { flex:0 0 45px; border:0; box-shadow:none; background:transparent; }
    .shop-side-search-wrap .shop-side-search { position:static; width:274px; flex:0 0 274px; padding:8px 12px 8px 0; border:0; border-radius:0; background:transparent; box-shadow:none; display:flex; align-items:center; gap:0; }
    .shop-side-search-wrap .shop-side-search > label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
    .shop-side-search-wrap .shop-side-search input[type=search] { border-radius:8px 0 0 8px; font-size:12px; height:34px; }
    .shop-side-search-wrap .shop-side-search button { border-radius:0 8px 8px 0; font-size:12px; height:34px; padding:5px 10px; }
}
@media (max-width:767px) {
    html { scroll-padding-top:72px; }
    .shop-header { display:contents; }
    .shop-header-top { position:sticky; top:0; z-index:120; background:var(--shop-surface); box-shadow:0 3px 16px #0001; }
    .shop-top-inner { position:static; }
    .shop-mobile-drawer { display:flex; flex-direction:column; position:fixed; inset:0 auto 0 0; width:min(340px,88vw); height:100dvh; z-index:3; background:var(--shop-surface); box-shadow:12px 0 36px #0003; padding:24px 20px max(24px,env(safe-area-inset-bottom)); overflow:auto; overscroll-behavior:contain; transform:translateX(-105%); visibility:hidden; transition:transform .32s cubic-bezier(.2,.7,.2,1); }
    .shop-mobile-drawer.is-open { transform:translateX(0); visibility:visible; transition-delay:0s; }
    .shop-mobile-drawer.is-closing { visibility:visible; }
    .shop-menu-backdrop { display:block; position:fixed; inset:0; width:100%; height:100dvh; border:0; background:#0d172a88; z-index:2; }
    .shop-drawer-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:24px; }
    .shop-drawer-heading strong { display:grid; overflow-wrap:anywhere; font-size:22px; font-weight:700; }
    .shop-drawer-heading small { color:var(--shop-muted); font-size:11px; font-weight:400; }
    .shop-drawer-heading button { width:36px; height:36px; border:1px solid var(--shop-border); border-radius:10px; background:var(--shop-raised); color:var(--shop-text); flex-shrink:0; }
    .shop-navigation { display:flex; position:static; flex-direction:column; align-items:stretch; gap:4px; padding:0; background:transparent; border:0; box-shadow:none; }
    .shop-navigation a,.shop-navigation a.shop-mobile-only { display:block; font-size:14px; padding:12px 14px; border-radius:10px; background:var(--shop-tint); color:var(--shop-text); }
    .shop-drawer-actions { display:grid; gap:12px; margin-top:auto; padding-top:28px; }
    .shop-drawer-actions :is(a,button) { display:flex; justify-content:space-between; align-items:center; width:100%; padding:12px 14px; border:1px solid var(--shop-border); border-radius:10px; font-size:13px; background:var(--shop-raised); color:var(--shop-text); }
    .shop-drawer-actions .shop-drawer-account { border-color:var(--shop-blue); background:var(--shop-tint); color:var(--shop-blue-text); }
    .shop-drawer-actions form { margin:0; }
    .shop-partner-logo img { width:148px; height:72px; }
    .shop-top-actions { gap:8px; }
    .shop-user summary { max-width:115px; }
    .shop-results-toolbar { flex-direction:row; align-items:stretch; flex-wrap:nowrap; gap:10px; }
    .shop-filter-button { padding:10px 12px; font-size:12px; flex-shrink:0; }
    .shop-sort-label { flex:1; min-width:0; display:grid; gap:4px; font-size:10px; }
    .shop-sort-label select { width:100%; font-size:11px; padding:8px 24px 8px 10px; min-height:40px; }
    .shop-filter-summary { align-items:start; flex-direction:column; gap:6px; }
    .shop-filter-dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); border-radius:16px; }
    .shop-filter-dialog form { max-height:calc(100dvh - 24px); }
    .shop-filter-heading { padding:16px 18px; }
    .shop-filter-heading h2 { font-size:19px; }
    .shop-filter-body { padding:18px; }
    .shop-filter-footer { padding:14px 18px 18px; }
    .shop-filter-dialog .shop-brand-filters { grid-template-columns:1fr; max-height:220px; }
    .shop-price-inputs,.shop-filter-extra { gap:10px; }
    .shop-back-to-top { right:12px; bottom:128px; padding:9px; }
    .shop-back-to-top span { display:none; }
}
@media (prefers-reduced-motion:reduce) {
    .shop-mobile-drawer,.shop-side-cart,.shop-side-search-wrap,.shop-side-cart .side-menu__hover { transition:none; }
}

/* The existing NERT image has generous transparent margins. Crop those in presentation. */
.shop-partner-mark { display:block; width:148px; height:72px; overflow:hidden; border-radius:10px; background:var(--shop-raised); }
.shop-partner-mark img { display:block; width:148px; height:72px; padding:8px; background:transparent; transform:scale(2); }

html.shop-search-page { overflow-anchor:none; }

/* One modal surface for header forms and links from email. */
.shop-body .popup-modal { z-index:200; }
.shop-body .modal-window { display:block; min-height:100%; border:0; border-radius:0; background:var(--shop-surface); }
.shop-body .popup-modal .container { width:min(640px,100%); min-height:100%; padding:0 24px; }
.shop-body .modal-window__header { position:sticky; top:0; z-index:5; min-height:72px; display:flex; align-items:center; justify-content:flex-end; padding:16px 0; background:var(--shop-surface); }
.shop-body .modal-window__body { padding:24px 0 48px; min-height:calc(100dvh - 72px); }
.shop-body .modal-window__body > .form,.shop-modal-page > .form { width:100%; max-width:380px; }
.shop-body .modal-window__body .form-group :is(input.input_style,.input_select) { width:100%; }
.shop-modal-page { width:100%; display:flex; flex-direction:column; align-items:center; }
.shop-modal-close { position:fixed; top:max(16px,env(safe-area-inset-top)); right:max(20px,env(safe-area-inset-right)); z-index:210; display:grid; place-items:center; width:40px; height:40px; padding:0; border:1px solid var(--shop-border); border-radius:11px; background:var(--shop-raised); color:var(--shop-text); font-size:20px; text-decoration:none; }
.shop-auth-body .modal-window { width:100%; max-height:none; margin:0; overflow:visible; box-shadow:none; }
.shop-auth-theme { position:fixed; top:20px; left:20px; right:auto; width:auto; max-width:calc(100vw - 100px); z-index:205; }
.shop-offer-repeat .shop-offer-part { visibility:hidden; }
.shop-analog-more { border-radius:0; background:var(--shop-tint); }
.shop-part-start { border-top-width:2px; }
.shop-side-search-wrap { overflow:hidden; }
.shop-side-search-wrap .shop-side-search { opacity:0; visibility:hidden; transition:opacity .25s; }
.shop-side-search-wrap.is-open .shop-side-search { opacity:1; visibility:visible; transition-delay:0s; }
@media (min-width:768px) and (hover:hover) and (pointer:fine) {
    .shop-side-cart,.shop-side-search-wrap { transition:width .32s cubic-bezier(.2,.7,.2,1); }
    .shop-side-search-wrap .shop-side-search[hidden] { display:flex!important; }
}
@media (max-width:767px) {
    .shop-offer-repeat .shop-offer-part { display:none; }
    .shop-side-search-wrap { overflow:visible; }
    .shop-side-search-wrap .shop-side-search { transition:none; }
    .shop-side-search-wrap.is-open .shop-side-search { animation:shop-panel-arrive .24s ease-out; }
}
@keyframes shop-panel-arrive { from { opacity:0; transform:translateX(14px); } to { opacity:1; transform:translateX(0); } }
@media (prefers-reduced-motion:reduce) {
    .shop-mobile-drawer,.shop-side-cart,.shop-side-search-wrap,.shop-side-search-wrap .shop-side-search { transition:none; }
}

.shop-body .select-list-item--js { width:100%; text-align:left; background:var(--shop-raised); color:var(--shop-text); border:1px solid var(--shop-border); border-radius:10px; margin-bottom:8px; padding:14px; cursor:pointer; }
.shop-body .select-list { width:100%; max-width:380px; }

/* Final storefront details. Typography is intentionally kept in its own stylesheet. */
.shop-logo-tile,.shop-logo-tile img,.shop-partner-mark,.shop-partner-logo img { background:transparent!important; border:0; box-shadow:none; }
.shop-logo-tile { padding:0; }
.shop-contact { display:flex; align-items:center; gap:12px; }
.shop-contact-text { min-width:0; }
.shop-contact .shop-phone-icon { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; border-radius:50%; background:var(--shop-tint); color:var(--shop-blue-text); font-size:18px; }
.shop-header .header-middle__cart .icon-circle-container { border-radius:50%; }
.shop-header .cart-reaction { font-size:20px; }
.shop-side-cart > .fa-shopping-cart { flex:0 0 21px; font-size:21px; text-align:center; }
.shop-add-button .fa-shopping-cart { font-size:20px; }
.shop-body .ds-search-actions .button_icon-cart { background-image:none!important; color:#263448!important; display:grid; place-items:center; }
.shop-body .ds-search-actions .button_icon-cart::after { content:none!important; display:none!important; }
.shop-body .ds-search-actions .button_icon-cart .fa-shopping-cart { font-size:20px; }
.shop-body .ap-icon.fa-shopping-cart { display:inline-flex; align-items:center; justify-content:center; }
.changesize :is(.changesize-button-min--js,.changesize-button-plus--js):disabled,.shop-quantity-limit { visibility:hidden; pointer-events:none; }
.shop-body .ap-product-art img { display:block; width:100%; height:100%; max-height:140px; object-fit:contain; }
.shop-body .ap-cart-row { display:grid; grid-template-columns:72px minmax(0,1fr) auto auto 34px; gap:12px; align-items:center; }
.shop-body .ap-cart-row > .ap-product-art { width:72px; min-width:72px; max-width:72px; height:72px; min-height:72px; max-height:72px; margin:0; overflow:hidden; flex:none; }
.shop-body .ap-cart-info { min-width:0; overflow-wrap:anywhere; }
.shop-body .ap-cart-line-total { white-space:nowrap; }
.shop-body .ap-cart-remove { padding:0; width:34px; height:34px; }
.shop-body :is(input,textarea):is(:focus,:focus-visible,:active) { box-shadow:none!important; }
.shop-body input.input_style { border:0!important; border-bottom:1px solid var(--shop-border)!important; border-radius:0!important; box-shadow:none!important; }
.shop-body input.input_style:focus { border-bottom-color:var(--shop-blue)!important; }
.shop-body .modal-window__body input.input_style { height:48px; line-height:24px; padding:12px 10px; }
.shop-body .modal-window__body .input-style-label { top:12px; line-height:24px; }
.shop-body .modal-window__body .input_style:is(:focus,:valid,.input_style__active) ~ .input-style-label { top:-14px; line-height:20px; }
.shop-body .modal-window__body .password-control { top:14px; }
.shop-loading-status { min-height:82px; padding:16px 20px; gap:16px; line-height:1.5; }
.shop-status-dot { width:52px; height:50px; border:0; border-radius:0; }
.shop-loading-status[data-state="pending"] .shop-status-dot { display:flex; animation:none; }
.shop-brand-spinner { display:block; width:52px; height:50px; }
.shop-brand-spinner path { fill:#4b828d!important; }
html[data-theme="dark"] .shop-brand-spinner path { fill:#7dc8d6!important; }
.shop-body :is(.breadcrumb,.ap-breadcrumb) { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.shop-body :is(.breadcrumb,.ap-breadcrumb) a:hover { color:var(--shop-blue-text); text-decoration:underline; }
.shop-footer-bottom { flex-wrap:wrap; }
.shop-search-form { min-width:0; }
@media (min-width:768px) {
    .shop-side-button { width:60px; height:60px; }
    .shop-side-button svg { width:26px; height:26px; }
    .shop-side-cart { width:60px; min-height:60px; gap:14px; padding:16px; }
    .shop-side-cart > .fa-shopping-cart { flex-basis:26px; font-size:26px; }
    .shop-side-cart .side-menu__hover { width:244px; flex-basis:244px; }
    .shop-side-search-wrap { width:60px; }
    .shop-side-search-wrap > .shop-side-button { flex-basis:59px; }
    .shop-side-search-wrap .shop-side-search { width:340px; flex-basis:340px; }
}
@media (min-width:768px) and (hover:hover) and (pointer:fine) {
    .shop-side-cart:is(:hover,:focus-visible) { width:320px; }
    .shop-side-search-wrap.is-open { width:400px; }
}
@media (max-width:767px) {
    .shop-middle-inner { grid-template-columns:minmax(0,1fr) auto; gap:8px; }
    .shop-search-inner { grid-template-columns:minmax(0,1fr); }
    .shop-brand-group,.shop-brand { min-width:0; }
    .shop-contact { gap:8px; }
    .shop-contact .shop-phone-icon { width:28px; height:28px; flex-basis:28px; font-size:13px; }
    .ap-body.shop-body .ap-preview-bar { padding-right:0; }
    .shop-body .ap-preview-bar p { flex-wrap:wrap; }
    .shop-body .ap-navigation { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .shop-body .ap-nav-button { min-width:0; overflow-wrap:anywhere; }
    .shop-body .ap-cart-row { grid-template-columns:72px minmax(0,1fr) 34px; gap:8px 12px; }
    .shop-body .ap-cart-row > .ap-product-art { grid-column:1; grid-row:1 / 4; }
    .shop-body .ap-cart-info { grid-column:2; grid-row:1; }
    .shop-body .ap-cart-line-total { grid-column:2; grid-row:2; }
    .shop-body .ap-cart-row .ap-quantity { grid-column:2; grid-row:3; }
    .shop-body .ap-cart-remove { grid-column:3; grid-row:1; align-self:start; }
    .shop-loading-status { gap:12px; padding:16px; flex-wrap:nowrap; align-items:center; }
    .shop-loading-status [data-supplier-message] { flex:1; }
    .shop-loading-status button { white-space:normal; }
}
@media (prefers-reduced-motion:reduce) {
    .shop-brand-spinner path { fill:#4b828d!important; opacity:1!important; }
}
@media (max-width:360px) {
    .shop-middle-inner { grid-template-columns:minmax(0,1fr); gap:14px; }
    .shop-contact { justify-self:start; }
    .shop-offer-buy { flex-wrap:wrap; }
    .shop-offer-buy > button,.shop-offer-buy .changesize { flex-shrink:0; }
    .shop-offer-buy .shop-cart-quantity { order:4; flex-basis:100%; margin-left:0; text-align:right; }
}
