
/* 1) Modern, minimal reset */
* { box-sizing: border-box; }
html, body { height: 100%; }
html:focus-within { scroll-behavior: smooth; }
body { margin: 0; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
img, picture, video, canvas, svg { display: block; max-width: 100%; }
input, button, textarea, select { font: inherit; }

/* 2) Fonts (локальные) */
@font-face {
    font-family: 'Jeko';
    src: url('./fonts/Jeko-Medium.woff2') format('woff2'),
    url('./fonts/Jeko-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Jeko';
    src: url('./fonts/Jeko-SemiBold.woff2') format('woff2'),
    url('./fonts/Jeko-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Jeko';
    src: url('./fonts/Jeko-Bold.woff2') format('woff2'),
    url('./fonts/Jeko-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Druk Wide LC';
    src: url('./fonts/DrukWideLC-Heavy.woff2') format('woff2'),
    url('./fonts/DrukWideLC-Heavy.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Druk Wide LC';
    src: url('./fonts/DrukWideLC-Medium.woff2') format('woff2'),
    url('./fonts/DrukWideLC-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/* 3) Design tokens */
:root {
    /* color */
    --bg: #F2FBFF;
    --bg-muted: #f5f5f5;
    --surface: #ffffff;
    --border: #e5e7eb;
    --text: #111827;
    --muted: #6b7280;
    --brand: #FF99CC;
    --brand-contrast: #ffffff;

    /* logo */
    --logo-width: 180px;
    --logo-height: 36px;

    /* spacing & radius */
    --radius: 10px;
    --radius-lg: 14px;
    --space-1: 4px;  --space-2: 8px;  --space-3: 12px;
    --space-4: 16px; --space-5: 20px; --space-6: 24px;
    --space-8: 32px; --space-10: 40px; --space-12: 48px;

    /* typography */
    --font-sans: 'Jeko', 'Plus Jakarta Sans', ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji", "Segoe UI Emoji";
    --font-display: 'Druk Wide LC', 'Anton', 'Bebas Neue', 'Jeko', 'Plus Jakarta Sans', ui-sans-serif, system-ui;
    --fs-sm: 0.9rem; --fs-base: 1rem; --fs-lg: 1.125rem; --fs-xl: 1.375rem; --fs-2xl: 1.75rem;
    --lh: 1.55;

    /* container */
    --container: 1400px;
    --container-1440: 1400px;
    --container-1280: 1400px;
    --container-991: 1400px;
    --container-767: 1400px;
    --container-479: 1400px;
}

/* 3) Base elements */
body { background: var(--bg); color: var(--text); font-family: var(--font-sans); line-height: var(--lh); font-size: var(--fs-base); }
.mall-skip-link { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.mall-skip-link:focus { left: 1rem; top: 1rem; width: auto; height: auto; z-index: 1000; padding: .5rem .75rem; background: var(--brand); color: var(--brand-contrast); border-radius: var(--radius); }
.mall-visually-hidden { position: absolute !important; height: 1px; width: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* 4) Layout */
.mall-site-header { background: var(--surface); border-bottom: 1px solid var(--border); min-width: fit-content; }
.mall-site-header-container { display:flex; align-items:center; justify-content:space-between; width: 100%; padding: 0 var(--space-10) 0 var(--space-5); height: 60px; }

.mall-site-main { padding-block: var(--space-6); }

.mall-site-footer { position:relative; background: #000000; min-height: 300px; display: flex; align-items: flex-start; justify-content: center; padding: 10px 0 30px 0;}
.mall-site-footer-container { width:100%; max-width:var(--container); display: flex; flex-direction:row; align-items: stretch; justify-content: flex-start; padding: 20px 20px; }
.mall-site-footer-section-1{ flex: 0 0 auto; display: flex; flex-direction: column; }
.mall-site-footer-section-2{ flex: 0 0 auto; display: flex; flex-direction: column; margin:0 0 0 80px; }
.mall-site-footer-section-gym{ flex: 1 1 100%; }
.mall-site-footer-section-3{ flex: 0 0 auto; display: flex; flex-direction: row; }
.mall-site-footer-section-4{ flex: 0 0 auto; display: flex; flex-direction: column; }
.mall-site-footer-section-5{ flex: 0 0 auto; display: flex; flex-direction: column; margin:0 0 0 50px; }
.mall-site-footer-section-6{ display: flex; flex-direction: row; margin:20px 0 0 0; }

/* 5) Components */
.mall-logo { flex: 0 0 var(--logo-width); height: var(--logo-height); padding: 0 var(--space-5) 0 0; }
.mall-logo svg { width: 100%; height: 100%; display: block; }

.mall-search { flex: 0 0 auto; background: transparent; height:100%; flex-direction: row; }

.mall-cart-container{ flex: 0 0 auto; display:flex; height: auto; flex-direction: row; align-items: center; justify-content: center; }
    .mall-cart-icon{ flex: 0 0 17px; height: 16px; }
    .mall-cart-text{ flex: 0 0 auto; padding: 0 0 0 10px; font-size: var(--fs-base); }
    .mall-cart-text-mobile{ flex: 0 0 auto; padding: 0 0 0 10px; font-size: var(--fs-base); display: none; }

.mall-search-form { display: flex; width:100%; max-width: 600px; align-items: center; justify-content:center; height:100%; padding: 0 var(--space-5) 0 0;}
.mall-search-input {
    width: calc(100% - 36px);
    height: 100%;
    padding: 0 var(--space-4);
    font-size: var(--fs-base);
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--text);
    outline: none;
    transition: box-shadow .2s ease, border-color .2s ease;
}
.mall-search-input::placeholder { color: var(--muted); }
.mall-search-input:focus { border-color: var(--brand); box-shadow: 0 0 0 3px color-mix(in oklch, var(--brand), transparent 75%); }
.mall-search-submit{ flex:0 0 36px; height:36px; background: var(--brand); border: 0; padding: 0; display: flex; align-items: center; justify-content: center; }

.mall-results-container{ width: min(100%, var(--container)); margin-inline: auto; padding: 0 var(--space-4) var(--space-4); }
.mall-result-wrapper { min-height: 220px; }

.mall-site-footer-logo{position:absolute; top:20px; left:0; }
.mall-site-footer-container a,p{ font-size: 20px; }
.mall-site-footer-container a.real-link{ display:block; width:auto; color: #FFFFFF; text-decoration: none; padding: 7px 20px;  transition: background-color .2s ease, color .2s ease; }
.mall-site-footer-container a.real-link:hover{ background-color: var(--brand); color: #000000; }
.mall-site-footer-container a.pseudo-link{ display:block; width:auto; color: #FFFFFF; text-decoration: none; padding: 2px 10px;  transition: background-color .2s ease, color .2s ease; }
.mall-site-footer-container a.pseudo-link:hover{ color: var(--brand); }
.mall-site-footer-container p{ display:block; width:auto;  color: #FFFFFF; padding: 2px 10px; margin: 0;}
.mall-site-footer-section-6 a{ border-radius: 50%; padding:10px; margin:0 30px 0 0; }
.mall-site-footer-section-6 a:hover{ background-color: var(--brand); }

/* 6) Utility classes */
.mall-mt-4 { margin-top: var(--space-4); }
.mall-mb-4 { margin-bottom: var(--space-4); }
.mall-p-4 { padding: var(--space-4); }
.mall-rounded { border-radius: var(--radius); }
.mall-border { border: 1px solid var(--border); }

/* 7) Small screens */
@media (max-width: 1440px) {
    .mall-site-footer-container{ padding: 20px 40px 20px 60px; }
    .mall-site-footer-container a,p{ font-size: 15px; }
}

@media (max-width: 1280px) {
    .mall-site-footer-container{ padding: 20px 40px 20px 60px; }
    .mall-site-footer-section-3{ flex-direction: column; }
    .mall-site-footer-section-5{ margin:30px 0 0 0; }
    .mall-site-footer-container a,p{ font-size: 14px; }
}

@media (max-width: 991px) {
    .mall-site-footer-container{ padding: 20px 40px 20px 60px; }
    .mall-site-footer-section-2{ margin:0 0 0 40px; }
    .mall-site-footer-section-3{ flex-direction: column; }
    .mall-site-footer-section-5{ margin:30px 0 0 0; }
    .mall-site-footer-container a,p{ font-size: 14px; }
}

@media (max-width: 767px) {
    .mall-site-footer-container{ padding: 20px 40px 20px 60px; }
    .mall-site-footer-section-2{ margin:0 0 0 40px; }
    .mall-site-footer-section-3{ flex-direction: column; }
    .mall-site-footer-section-5{ margin:30px 0 0 0; }
    .mall-site-footer-container a,p{ font-size: 13px; }
}

@media (max-width: 479px) {

    .mall-logo{display: none;}

    .mall-title { font-size: 1.35rem; }

    .mall-cart-text{ display: none; }

}


/* dutycast correction*/
/*#dc_sdk_container [dc-checkout] { position:fixed; top:10px; right:100px; }*/
#dc_sdk_container .SearchResultConfig { background: none; }