/* ==========================================================================
   3А IT-агентство — тема Shop-Script на базе «Дефолт 2.0» + Bootstrap 5
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
:root {
    --a-accent: #1463e6;
    --a-accent-600: #0f55cc;
    --a-accent-050: #eef4ff;
    --a-accent-100: #dfeaff;
    --a-ink: #0d1b3e;
    --a-text: #3d4b69;
    --a-muted: #7d8aa5;
    --a-line: #e3eaf6;
    --a-bg: #f4f7fd;
    --a-card: #ffffff;
    --a-dark: #0a1b44;
    --a-dark-2: #0e2d6e;
    --a-success: #13a86b;
    --a-danger: #e0364a;
    --a-radius: 14px;
    --a-radius-sm: 10px;
    --a-shadow: 0 1px 2px rgba(16, 44, 110, .04), 0 12px 32px -12px rgba(16, 44, 110, .14);
    --a-shadow-hover: 0 2px 4px rgba(16, 44, 110, .05), 0 22px 44px -16px rgba(16, 60, 150, .26);
    --a-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    --a-font-head: "Montserrat", "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
    --a-header-h: 76px;

    /* Bootstrap bridge */
    --bs-primary: var(--a-accent);
    --bs-primary-rgb: 20, 99, 230;
    --bs-body-font-family: var(--a-font);
    --bs-body-color: var(--a-text);
    --bs-body-bg: var(--a-bg);
    --bs-link-color: var(--a-accent);
    --bs-link-color-rgb: 20, 99, 230;
    --bs-link-hover-color: var(--a-accent-600);
    --bs-border-color: var(--a-line);
    --bs-border-radius: var(--a-radius-sm);

    /* variables used by the new checkout (css/order.css) */
    --accent-color: var(--a-accent);
    --link-color: var(--a-accent);
    --link-hover-color: var(--a-accent-600);
    --text-color: var(--a-ink);
    --text-color-secondary: var(--a-muted);
    --text-color-additional: var(--a-muted);
    --header-link-color: var(--a-ink);
    --header-menu-pages-link-color: var(--a-ink);
    --bg-color: #fff;
    --bg-color-accent: var(--a-accent-050);
    --bg_tr_10: rgba(255, 255, 255, .1);
    --divider-color: var(--a-line);
    --input-border-color: #d5dff0;
    --input-bg-color: #fff;
    --input-disabled-color: var(--a-muted);
    --input-disabled-bg-color: #f3f6fb;
    --element-border-radius: var(--a-radius-sm);
    --white: #fff; --white-auto: #fff; --black: #000; --black-auto: #000; --black_tr_8: rgba(0, 0, 0, .08);
    --red: var(--a-danger); --orange: #f59e0b;
    --gray1: #f7f9fc; --gray2: #eef2f8; --gray3: #dfe6f1; --gray4: #a8b3c7; --gray5: #7d8aa5; --gray6: #f3f6fb;
    --h5-size: 1rem;
    --wa-delivery-type-bg: #fff;
    --chevron-svg: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 9L12 15L6 9' stroke='%23000000' stroke-opacity='0.5' stroke-width='1.875' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    --check-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none'%3E%3Cpath d='M5.81 11.333c-.276.44-.682.667-1.154.667-.486 0-.866-.2-1.22-.654L.341 7.488C.118 7.208 0 6.914 0 6.594c0-.654.498-1.188 1.141-1.188.393 0 .708.147 1.023.56l2.44 3.164L9.783.667c.275-.44.63-.667 1.023-.667C11.423 0 12 .44 12 1.108c0 .294-.157.614-.328.894l-5.862 9.33Z' fill='%23000000'/%3E%3C/svg%3E");
}

/* ---------- 2. Base ---------- */
html { scroll-behavior: auto; }
body.a-body {
    font-family: var(--a-font);
    font-size: 1rem;
    line-height: 1.6;
    color: var(--a-text);
    background: var(--a-bg);
    -webkit-font-smoothing: antialiased;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
.a-main { flex: 1 0 auto; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3 { color: var(--a-ink); font-family: var(--a-font-head); font-weight: 700; letter-spacing: -.01em; }
a { color: var(--a-accent); text-decoration: none; transition: color .15s; }
a:hover { color: var(--a-accent-600); }
img { max-width: 100%; height: auto; }
::selection { background: var(--a-accent-100); }
:focus-visible { outline: 2px solid var(--a-accent); outline-offset: 2px; }

.container { --bs-gutter-x: 2rem; max-width: 1320px; }
@media (max-width: 575.98px) { .container { --bs-gutter-x: 1.5rem; } }

/* icons */
.a-icon { width: 1.25em; height: 1.25em; flex: none; vertical-align: -.2em; }
.a-icon-1c { width: 1.5em; }

/* legacy helpers from Default 2.0 (used by shop templates) */
.hint { color: var(--a-muted); font-size: .9em; }
.gray { color: var(--a-muted); }
.black { color: var(--a-ink); }
.bold { font-weight: 600; }
.nowrap { white-space: nowrap; }
.align-left { text-align: left; } .align-center { text-align: center; } .align-right { text-align: right; }
.clear-both { clear: both; } .clear-left { clear: left; } .clear-right { clear: right; }
.float-right { float: right; } .float-left { float: left; }
.inline { display: inline !important; }
.large { font-size: 1.1em; } .small { font-size: .9em; }
.strike { text-decoration: line-through; }
.highlighted { background: #fff8d6; }
.block { padding: 20px 0; }
.inline-link { text-decoration: none !important; }
.inline-link b { border-bottom: 1px dashed; font-weight: 500; }
.inline-link b i { font-style: normal; }
.error, .errormsg { color: var(--a-danger); }
.errormsg { display: block; margin-left: 0; font-size: .9em; }
input.error, textarea.error, select.error { border-color: var(--a-danger) !important; }

/* default icon sprite (ratings, compare, etc.) */
i.icon16, i.icon10, i.icon24 { background-repeat: no-repeat; display: inline-block; text-indent: -9999px; text-decoration: none !important; background-image: url("../img/icons.png"); background-size: 260px 160px; vertical-align: top; }
i.icon16 { width: 16px; height: 16px; margin: .2em .25em 0 0; }
i.icon10 { width: 10px; height: 10px; margin: .2em .1em 0 0; }
i.icon24 { width: 24px; height: 24px; }
.icon16.userpic20 { background-position: -2px -2px; border-radius: 50%; background-size: 20px 20px; }
.icon16.color { border-radius: 50%; border: 1px solid rgba(0,0,0,.2); width: 12px; height: 12px; background-image: none; }
.icon16.like { background-position: 0 -16px; margin-top: 0; }
.icon16.star, .icon16.star-full { background-position: -16px -16px; }
.icon16.star-half { background-position: -32px -16px; }
.icon16.star-empty { background-position: -48px -16px; }
.icon16.star-hover { background-position: -64px -16px; }
.icon16.remove { background-position: -96px -16px; }
.icon16.saved { background-position: -112px -16px; }
.icon16.stock-red { background-position: -128px -16px; }
.icon16.stock-yellow { background-position: -144px -16px; }
.icon16.stock-green { background-position: -160px -16px; }
.icon16.stock-transparent { background-position: -176px -16px; }
.icon16.checkmark { background-position: -192px -16px; }
.icon16.compare { background-position: -208px -16px; }
.icon16.compare.active { background-position: -224px -16px; }
.icon16.uarr { background: url("../img/uarr.png"); background-size: 16px 16px; }
.icon16.loading { background-image: url("../img/loading16.gif"); background-position: 0 0; background-size: 16px 16px; }
.icon24.loading { background-image: url("../img/loading.gif"); background-size: 24px 24px; }
.icon10.star, .icon10.star-full { background-position: 0 -100px; }
.icon10.star-half { background-position: -10px -100px; }
.icon10.star-empty { background-position: -20px -100px; }
.icon10.darr { background-image: url("../img/darr.png"); background-size: 16px 16px; }

/* ---------- 3. Buttons & forms ---------- */
.btn { --bs-btn-font-weight: 600; --bs-btn-border-radius: 10px; }
.btn-primary {
    --bs-btn-bg: var(--a-accent); --bs-btn-border-color: var(--a-accent);
    --bs-btn-hover-bg: var(--a-accent-600); --bs-btn-hover-border-color: var(--a-accent-600);
    --bs-btn-active-bg: var(--a-accent-600); --bs-btn-active-border-color: var(--a-accent-600);
    --bs-btn-disabled-bg: var(--a-accent); --bs-btn-disabled-border-color: var(--a-accent);
    --bs-btn-focus-shadow-rgb: 20, 99, 230;
}
.a-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: .6em;
    padding: .7rem 1.35rem; font-size: .95rem; line-height: 1.25;
    box-shadow: 0 10px 22px -10px rgba(20, 99, 230, .65);
    transition: transform .15s, box-shadow .15s, background-color .15s;
}
.a-btn:hover { transform: translateY(-1px); box-shadow: 0 14px 26px -10px rgba(20, 99, 230, .7); }
.a-btn .a-icon { width: 1.1em; height: 1.1em; transition: transform .15s; }
.a-btn:hover .a-icon-arrow { transform: translateX(3px); }
.btn-lg.a-btn { padding: .95rem 1.6rem; font-size: 1rem; }
.a-btn-sm { padding: .5rem .95rem; font-size: .875rem; }
.a-btn-outline { background: #fff; color: var(--a-accent); border: 1px solid var(--a-accent-100); box-shadow: none; }
.a-btn-outline:hover { background: var(--a-accent-050); color: var(--a-accent-600); border-color: var(--a-accent-100); }

/* native submit / button inputs of shop templates look like primary buttons */
.a-body input[type=submit], .a-body input[type=button], .a-body button.button, .a-body .button:not(a) {
    display: inline-block; padding: .65rem 1.25rem; font: 600 .95rem/1.25 var(--a-font);
    color: #fff; background: var(--a-accent); border: 1px solid var(--a-accent); border-radius: 10px;
    cursor: pointer; transition: background-color .15s, box-shadow .15s; -webkit-appearance: none; appearance: none;
    box-shadow: 0 10px 22px -12px rgba(20, 99, 230, .65);
}
.a-body input[type=submit]:hover, .a-body input[type=button]:hover { background: var(--a-accent-600); border-color: var(--a-accent-600); }
.a-body input[type=submit]:disabled, .a-body input[type=button]:disabled { background: #c8d3e6; border-color: #c8d3e6; box-shadow: none; cursor: default; }
.a-body input[type=submit].gray, .a-body input[type=button].gray, .a-body input[type=submit].small, .a-body input[type=button].small {
    background: #fff; color: var(--a-accent); border-color: var(--a-accent-100); box-shadow: none; padding: .45rem .9rem; font-size: .875rem;
}
.a-body input[type=submit].gray:hover, .a-body input[type=button].gray:hover { background: var(--a-accent-050); }
.a-body input[type=submit].large, .a-body input[type=button].large { padding: .85rem 1.6rem; font-size: 1.05rem; }

.a-body input[type=text], .a-body input[type=email], .a-body input[type=password], .a-body input[type=tel],
.a-body input[type=number], .a-body input[type=search], .a-body input[type=url], .a-body input[type=date],
.a-body select, .a-body textarea {
    max-width: 100%; padding: .55rem .8rem; font: 400 .95rem/1.4 var(--a-font); color: var(--a-ink);
    background-color: #fff; border: 1px solid #d5dff0; border-radius: 10px; transition: border-color .15s, box-shadow .15s;
}
.a-body select:not(.form-select) { padding-right: 2rem; }
.a-body input:focus, .a-body select:focus, .a-body textarea:focus, .form-control:focus, .form-select:focus {
    border-color: var(--a-accent); box-shadow: 0 0 0 .2rem rgba(20, 99, 230, .15); outline: 0;
}
.form-control, .form-select { border-color: #d5dff0; border-radius: 10px; color: var(--a-ink); }
.form-control::placeholder, textarea::placeholder, input::placeholder { color: #9aa6bd; }
.a-body input[type=checkbox], .a-body input[type=radio] { accent-color: var(--a-accent); }

/* ---------- 4. Cards / typography blocks ---------- */
.a-card {
    background: var(--a-card); border: 1px solid var(--a-line); border-radius: var(--a-radius);
    box-shadow: var(--a-shadow);
}
.a-eyebrow {
    display: inline-block; margin-bottom: .9rem;
    font: 700 .78rem/1.2 var(--a-font); letter-spacing: .14em; text-transform: uppercase; color: var(--a-accent);
}
.a-eyebrow-sm { font-size: .7rem; color: var(--a-muted); }
.a-eyebrow-light { color: #7fb0ff; }
.a-h1 { font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 800; margin-bottom: 1.25rem; }
.a-h2 { font-size: clamp(1.55rem, 2.5vw, 2.15rem); font-weight: 800; line-height: 1.18; margin-bottom: 1rem; }
.a-intro { font-size: 1.05rem; color: var(--a-text); max-width: 46rem; }
.a-section { padding: clamp(3rem, 6vw, 5.5rem) 0; position: relative; }
.a-section + .a-section { padding-top: 0; }
.a-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.75rem; }
.a-card-title { font-size: 1.15rem; font-weight: 700; margin: 0 0 .6rem; }
.a-card-text { font-size: .92rem; color: var(--a-text); margin: 0 0 1rem; }
.a-card-link { display: inline-flex; align-items: center; gap: .4em; font-weight: 600; font-size: .9rem; }
.a-card-link .a-icon { width: 1em; height: 1em; transition: transform .15s; }
.a-card-link:hover .a-icon { transform: translateX(3px); }
.a-muted { color: var(--a-muted) !important; }

/* ---------- 5. Header ---------- */
.a-header {
    position: sticky; top: 0; z-index: 1030;
    border-bottom: 1px solid transparent; transition: box-shadow .2s, border-color .2s;
}
/* blur lives on a pseudo-element: backdrop-filter on the header itself would trap the fixed offcanvas menu */
.a-header::before {
    content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
    background: rgba(255, 255, 255, .92); backdrop-filter: saturate(1.4) blur(12px); -webkit-backdrop-filter: saturate(1.4) blur(12px);
}
.a-header.is-scrolled { border-bottom-color: var(--a-line); box-shadow: 0 8px 24px -18px rgba(16, 44, 110, .35); }
.a-header .navbar { min-height: var(--a-header-h); padding: .5rem 0; }
.a-header .navbar > .container { flex-wrap: nowrap; gap: 1rem; }

.a-logo { display: inline-flex; align-items: center; gap: .55rem; margin: 0; padding: 0; color: var(--a-ink); white-space: nowrap; }
.a-logo:hover { color: var(--a-ink); }
.a-logo-cube { width: 42px; height: 42px; object-fit: contain; }
.a-logo-img { max-height: 48px; width: auto; }
.a-logo-title { font: 800 1.7rem/1 var(--a-font-head); color: var(--a-accent); letter-spacing: -.02em; }
.a-logo-subtitle { font: 700 .82rem/1 var(--a-font-head); color: var(--a-ink); letter-spacing: .02em; }
.a-logo-sm .a-logo-cube { width: 32px; height: 32px; }
.a-logo-sm .a-logo-title { font-size: 1.3rem; }
.a-logo-sm .a-logo-subtitle { font-size: .72rem; }

.a-nav .nav-link {
    position: relative; padding: .5rem .9rem !important; font-size: .9rem; font-weight: 500; color: var(--a-ink);
}
.a-nav .nav-link:hover, .a-nav .nav-link.active, .a-nav .show > .nav-link { color: var(--a-accent); }
@media (min-width: 1200px) {
    .a-nav .nav-link::after {
        content: ""; position: absolute; left: .9rem; right: .9rem; bottom: .2rem; height: 2px; border-radius: 2px;
        background: var(--a-accent); transform: scaleX(0); transition: transform .2s; border: 0; margin: 0;
    }
    .a-nav .nav-link:hover::after, .a-nav .nav-link.active::after { transform: scaleX(1); }
}
.a-nav .dropdown-toggle::after { display: none !important; }
.a-nav .dropdown-toggle { display: inline-flex; align-items: center; gap: .35em; }
.a-nav .dropdown-toggle::before {
    content: ""; order: 2; width: .5em; height: .5em; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor;
    transform: rotate(45deg) translate(-2px, -2px); opacity: .7;
}

.a-header-actions { display: flex; align-items: center; gap: .35rem; margin-left: auto; }
.a-icon-btn {
    position: relative; display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
    min-width: 42px; height: 42px; padding: 0 .55rem; border: 0; border-radius: 10px; background: transparent; color: var(--a-ink);
    transition: background-color .15s, color .15s;
}
.a-icon-btn:hover, .a-icon-btn[aria-expanded=true] { background: var(--a-accent-050); color: var(--a-accent); }
.a-icon-btn .a-icon { width: 22px; height: 22px; }
.a-header-cta { padding: .6rem 1.1rem; font-size: .88rem; margin-left: .35rem; }

/* header cart */
.a-cart { position: relative; }
.a-cart .cart-total { font-size: .9rem; font-weight: 600; color: var(--a-ink); }
.a-cart.empty .cart-total { display: none !important; }
.a-cart-count {
    position: absolute; top: 1px; left: 20px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px;
    background: var(--a-accent); color: #fff; font-size: .66rem; font-weight: 700; line-height: 17px; text-align: center;
    box-shadow: 0 0 0 2px #fff;
}
#cart-content { position: absolute; right: 0; top: calc(100% + 10px); width: 300px; z-index: 5; }
#cart-content:empty { display: none; }
.cart-just-added {
    padding: .8rem 1rem; background: var(--a-ink); color: #fff; border-radius: 10px; font-size: .88rem;
    box-shadow: var(--a-shadow-hover); animation: a-fade-in .2s ease-out;
}
.cart-to-checkout { display: none !important; }
@keyframes a-fade-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* catalog dropdown */
.a-catalog-menu {
    --bs-dropdown-min-width: 0; padding: 1.25rem; border: 1px solid var(--a-line); border-radius: var(--a-radius);
    box-shadow: var(--a-shadow-hover); margin-top: .5rem !important;
}
.a-catalog-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 1rem 1.5rem; width: min(760px, 86vw); }
.a-catalog-title { display: block; font-weight: 600; color: var(--a-ink); margin-bottom: .35rem; }
.a-catalog-title:hover, .a-catalog-title.active { color: var(--a-accent); }
.a-catalog-sub { list-style: none; padding: 0; margin: 0; font-size: .88rem; }
.a-catalog-sub li { padding: .15rem 0; }
.a-catalog-sub a { color: var(--a-text); }
.a-catalog-sub a:hover, .a-catalog-sub a.active { color: var(--a-accent); }
.a-catalog-tags { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--a-line); }

/* search panel */
.a-search-panel { border-top: 1px solid var(--a-line); background: #fff; }
.a-search-form { display: flex; gap: .5rem; padding: 1rem 0; max-width: 720px; margin: 0 auto; }
.a-search-form .form-control { height: 48px; }

/* offcanvas (mobile menu) */
@media (max-width: 1199.98px) {
    .a-offcanvas { --bs-offcanvas-width: min(360px, 88vw); background: #fff; }
    .a-offcanvas .offcanvas-header { border-bottom: 1px solid var(--a-line); }
    .a-offcanvas .a-nav .nav-link { display: flex; padding: .8rem 0 !important; font-size: 1.05rem; border-bottom: 1px solid var(--a-line); }
    .a-offcanvas .a-catalog-menu { position: static !important; transform: none !important; box-shadow: none; border: 0; background: transparent; padding: .75rem 0 1rem .75rem; margin: 0 !important; }
    .a-offcanvas .a-catalog-grid { width: auto; grid-template-columns: 1fr; gap: .75rem; }
    .a-offcanvas-extra { margin-top: 1.5rem; display: flex; flex-direction: column; gap: .25rem; }
    .a-offcanvas-link { display: flex; align-items: center; gap: .6rem; padding: .45rem 0; color: var(--a-ink); font-weight: 500; }
    .a-offcanvas-link .a-icon { color: var(--a-accent); }
}
@media (max-width: 575.98px) {
    :root { --a-header-h: 64px; }
    .a-logo-cube { width: 34px; height: 34px; }
    .a-logo-title { font-size: 1.4rem; }
    .a-logo-subtitle { font-size: .7rem; }
    .a-header .navbar > .container { gap: .5rem; }
    .a-icon-btn { min-width: 38px; height: 38px; padding: 0 .4rem; }
}
@media (max-width: 374.98px) { .a-logo-subtitle { display: none; } }

/* ---------- 6. Homepage: hero ---------- */
.a-is-home .a-main { overflow-x: clip; }
.a-hero {
    padding-top: clamp(2.5rem, 5vw, 4.5rem);
    background:
        radial-gradient(900px 480px at 78% 30%, rgba(80, 150, 255, .16), transparent 70%),
        radial-gradient(600px 400px at 0% 0%, rgba(160, 200, 255, .18), transparent 70%),
        linear-gradient(180deg, #fff 0%, var(--a-bg) 100%);
}
.a-hero::before { /* soft diagonal light strokes like in the layout */
    content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .55;
    background: repeating-linear-gradient(120deg, transparent 0 140px, rgba(255, 255, 255, .7) 140px 142px, transparent 142px 280px);
    mask-image: linear-gradient(90deg, transparent 30%, #000 70%); -webkit-mask-image: linear-gradient(90deg, transparent 30%, #000 70%);
}
.a-hero .container { position: relative; }
.a-hero-title { font-size: clamp(2.1rem, 4.2vw, 3.3rem); font-weight: 800; line-height: 1.08; letter-spacing: -.025em; margin-bottom: 1.4rem; }
.a-hero-text { font-size: clamp(1rem, 1.3vw, 1.15rem); color: var(--a-text); margin-bottom: 2rem; max-width: 34rem; }
.a-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 2rem; }
.a-link-more { display: inline-flex; align-items: center; gap: .45em; font-weight: 600; font-size: .95rem; color: var(--a-ink); }
.a-link-more .a-icon { width: 1em; height: 1em; color: var(--a-accent); transition: transform .15s; }
.a-link-more:hover .a-icon { transform: translateY(3px); }
.a-hero-img { display: block; margin: 0 auto; }

/* hexagon scheme */
.a-hex-scheme { position: relative; width: 100%; max-width: 560px; margin: 0 auto; aspect-ratio: 1 / .93; }
.a-hex-lines { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.a-hex-lines path { fill: none; stroke: #9cc2ff; stroke-width: .35; stroke-dasharray: 1.2 1.2; vector-effect: non-scaling-stroke; }
.a-hex-lines path { stroke-width: 1.5; stroke-dasharray: 5 5; }
.a-hex-lines .a-hex-lines-soft { stroke: #c9dcff; stroke-dasharray: none; stroke-width: 1.5; }
.a-hex-center {
    position: absolute; left: 50%; top: 50%; width: 34%; transform: translate(-50%, -50%);
    filter: drop-shadow(0 22px 30px rgba(20, 90, 220, .28));
}
.a-hex-center img { width: 100%; display: block; mix-blend-mode: multiply; -webkit-mask-image: radial-gradient(closest-side, #000 72%, transparent 100%); mask-image: radial-gradient(closest-side, #000 72%, transparent 100%); }
.a-hex {
    position: absolute; width: 29%; aspect-ratio: 1 / 1.1; transform: translate(-50%, -50%);
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5rem; text-align: center;
    filter: drop-shadow(0 14px 22px rgba(30, 80, 170, .14)) drop-shadow(0 1px 1px rgba(30, 80, 170, .06));
    transition: transform .25s;
}
.a-hex::before {
    content: ""; position: absolute; inset: 0; z-index: -1; background: #fff;
    clip-path: polygon(50% 0%, 93.3% 25%, 93.3% 75%, 50% 100%, 6.7% 75%, 6.7% 25%);
    border-radius: 18%;
}
.a-hex:hover { transform: translate(-50%, -50%) scale(1.04); }
.a-hex-icon { color: var(--a-accent); line-height: 0; }
.a-hex-icon .a-icon { width: clamp(28px, 3.4vw, 46px); height: clamp(28px, 3.4vw, 46px); }
.a-hex-icon .a-icon-1c { width: clamp(38px, 4.4vw, 60px); }
.a-hex-label { font-size: clamp(.72rem, .95vw, .9rem); font-weight: 600; color: var(--a-ink); line-height: 1.2; padding: 0 12%; }
.a-hex-1 { left: 50%; top: 16%; }
.a-hex-2 { left: 84%; top: 40%; }
.a-hex-3 { left: 16%; top: 40%; }
.a-hex-4 { left: 31%; top: 80%; }
.a-hex-5 { left: 69%; top: 80%; }

/* hero features */
.a-hero-features { margin-top: clamp(2rem, 5vw, 4rem); }
.a-feature { display: flex; gap: 1rem; align-items: flex-start; }
.a-feature-icon {
    flex: none; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center;
    background: #fff; color: var(--a-accent); box-shadow: var(--a-shadow);
}
.a-feature-icon .a-icon { width: 22px; height: 22px; }
.a-feature-title { font-weight: 700; color: var(--a-ink); font-size: .95rem; margin-bottom: .2rem; }
.a-feature-text { font-size: .86rem; color: var(--a-muted); line-height: 1.5; }

/* ---------- 7. Services ---------- */
.a-services-grid { margin-top: 1.5rem; }
.a-service-card { position: relative; height: 100%; padding: 1.6rem 1.5rem 1.4rem; display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s, border-color .2s; }
.a-service-card:hover { transform: translateY(-4px); box-shadow: var(--a-shadow-hover); border-color: var(--a-accent-100); }
.a-service-card .a-card-text { flex: 1; }
.a-service-icon { color: var(--a-accent); margin-bottom: 1rem; line-height: 0; }
.a-service-icon .a-icon { width: 42px; height: 42px; }
.a-service-icon .a-icon-1c { width: 56px; }

.a-side-card {
    position: relative; height: 100%; min-height: 480px; padding: 1.75rem 1.5rem; border-radius: var(--a-radius); overflow: hidden;
    background: linear-gradient(180deg, #f7faff 0%, #e8f0fe 100%); border: 1px solid var(--a-line);
    display: flex; flex-direction: column;
}
.a-side-card-line { width: 44px; height: 2px; background: var(--a-accent-100); margin: .25rem 0 1.25rem; }
.a-side-card-title { font: 700 1.3rem/1.3 var(--a-font-head); color: var(--a-ink); }
.a-side-card-img { margin-top: auto; width: 100%; mix-blend-mode: multiply; }

/* ---------- 8. Approach ---------- */
.a-about .a-h2 { font-size: clamp(1.55rem, 2.2vw, 1.95rem); }
.a-about { background: linear-gradient(180deg, var(--a-bg), #fff 60%, var(--a-bg)); padding-top: clamp(3rem, 6vw, 5.5rem) !important; }
.a-orbit { position: relative; width: 100%; max-width: 440px; margin: 0 auto; aspect-ratio: 1; }
.a-orbit-ring {
    position: absolute; inset: 14%; border-radius: 50%;
    border: 1.5px dashed #b7d0fb; background: radial-gradient(circle, rgba(20, 99, 230, .06), transparent 65%);
}
.a-orbit-center {
    position: absolute; left: 50%; top: 50%; width: 38%; aspect-ratio: 1; transform: translate(-50%, -50%);
    border-radius: 50%; background: #fff; box-shadow: var(--a-shadow-hover);
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .15rem;
}
.a-orbit-center img { width: 62%; mix-blend-mode: multiply; -webkit-mask-image: radial-gradient(closest-side, #000 70%, transparent 100%); mask-image: radial-gradient(closest-side, #000 70%, transparent 100%); }
.a-orbit-center span { font: 800 clamp(.62rem, 1.1vw, .8rem)/1 var(--a-font-head); color: var(--a-ink); letter-spacing: .02em; }
.a-orbit-node {
    position: absolute; width: 23%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%;
    background: #fff; box-shadow: var(--a-shadow); border: 1px solid var(--a-line);
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .25rem; text-align: center;
    color: var(--a-accent);
}
.a-orbit-node .a-icon { width: 34%; height: auto; }
.a-orbit-node .a-icon-1c { width: 48%; }
.a-orbit-node span { font-size: clamp(.58rem, .9vw, .72rem); font-weight: 600; color: var(--a-ink); line-height: 1.15; padding: 0 8%; }
.a-orbit-node-1 { left: 50%; top: 12%; }
.a-orbit-node-2 { left: 86%; top: 38%; }
.a-orbit-node-3 { left: 73%; top: 82%; }
.a-orbit-node-4 { left: 27%; top: 82%; }
.a-orbit-node-5 { left: 14%; top: 38%; }

.a-checklist { list-style: none; margin: 0; padding: 1.5rem 1.4rem; background: linear-gradient(180deg, #fff, #f7faff); }
.a-checklist li { display: flex; gap: .75rem; align-items: flex-start; padding: .6rem 0; font-size: .92rem; font-weight: 500; color: var(--a-ink); line-height: 1.4; }
.a-checklist li + li { border-top: 1px solid var(--a-line); }
.a-checklist .a-icon { color: var(--a-accent); width: 20px; height: 20px; margin-top: .05rem; stroke-width: 2.2; }

/* ---------- 9. Process ---------- */
.a-steps { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.5rem; counter-reset: none; }
.a-step-head { display: flex; align-items: center; gap: .6rem; margin-bottom: 1rem; }
.a-step-num {
    flex: none; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center;
    background: var(--a-accent); color: #fff; font: 700 .85rem/1 var(--a-font-head); box-shadow: 0 10px 20px -8px rgba(20, 99, 230, .6);
}
.a-step-icon {
    flex: none; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center;
    background: #fff; color: var(--a-accent); box-shadow: var(--a-shadow);
}
.a-step-icon .a-icon { width: 22px; height: 22px; }
.a-step-arrow { flex: 1; display: flex; justify-content: center; color: #a9c4f4; }
.a-step-arrow .a-icon { width: 18px; height: 18px; }
.a-step:last-child .a-step-arrow { visibility: hidden; }
.a-step-title { font-weight: 700; color: var(--a-ink); font-size: .98rem; margin-bottom: .35rem; }
.a-step-text { font-size: .86rem; color: var(--a-muted); line-height: 1.5; }
@media (max-width: 991.98px) {
    .a-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .a-step-arrow { display: none; }
}
@media (max-width: 575.98px) {
    .a-steps { grid-template-columns: 1fr; gap: 0; }
    .a-step { display: grid; grid-template-columns: auto 1fr; column-gap: 1rem; padding: 1rem 0; border-top: 1px solid var(--a-line); }
    .a-step-head { grid-row: span 2; margin: 0; }
    .a-step-icon { display: none; }
}

/* ---------- 10. Cases ---------- */
.a-cases { background: linear-gradient(180deg, var(--a-bg), #fff); padding-top: clamp(3rem, 6vw, 5.5rem) !important; }
.a-case { height: 100%; overflow: hidden; display: flex; flex-direction: column; position: relative; transition: transform .2s, box-shadow .2s; }
.a-case:hover { transform: translateY(-4px); box-shadow: var(--a-shadow-hover); }
.a-case-img { position: relative; aspect-ratio: 16 / 7.4; background: #e9f0fb; overflow: hidden; }
.a-case-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.a-case:hover .a-case-img img { transform: scale(1.04); }
.a-case-tag {
    position: absolute; left: .9rem; bottom: .7rem; padding: .25rem .7rem; border-radius: 999px;
    background: rgba(255, 255, 255, .95); color: var(--a-accent); font-size: .72rem; font-weight: 600;
}
.a-case-body { padding: 1.1rem 1.2rem 1.2rem; display: flex; flex-direction: column; flex: 1; }
.a-case-title { font: 700 1rem/1.35 var(--a-font-head); margin: 0 0 .45rem; }
.a-case-title a { color: var(--a-ink); }
.a-case-title a:hover { color: var(--a-accent); }
.a-case-text { font-size: .84rem; color: var(--a-muted); margin: 0 0 1rem; }
.a-case-metrics { margin-top: auto; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--a-line); padding-top: .8rem; }
.a-metric + .a-metric { border-left: 1px solid var(--a-line); padding-left: .9rem; }
.a-metric-label { font-size: .7rem; color: var(--a-muted); line-height: 1.25; min-height: 2.5em; }
.a-metric-value { font: 700 1.05rem/1.3 var(--a-font-head); color: var(--a-accent); }

/* promos + home products */
.a-promo { display: flex; flex-direction: column; justify-content: flex-end; min-height: 180px; padding: 1.4rem; border-radius: var(--a-radius); background-size: cover; background-position: center; position: relative; overflow: hidden; box-shadow: var(--a-shadow); }
.a-promo::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 30%, rgba(10, 27, 68, .55)); }
.a-promo-title, .a-promo-body { position: relative; }
.a-promo-title { font: 700 1.2rem/1.2 var(--a-font-head); }
.a-promo-body { font-size: .9rem; }

/* ---------- 11. Lead block ---------- */
.a-lead-section { padding: clamp(2rem, 4vw, 3rem) 0 0; }
.a-body:not(.a-is-home) .a-lead-section { padding-top: 3rem; }
.a-lead {
    position: relative; overflow: hidden; color: #cfdcf7; padding: clamp(1.75rem, 3.5vw, 2.75rem);
    border-radius: 18px;
    background:
        radial-gradient(600px 300px at 95% 0%, rgba(40, 110, 255, .35), transparent 70%),
        radial-gradient(500px 300px at 0% 100%, rgba(40, 110, 255, .22), transparent 70%),
        linear-gradient(120deg, var(--a-dark) 0%, var(--a-dark-2) 100%);
    box-shadow: 0 30px 60px -30px rgba(10, 27, 68, .6);
}
.a-lead::before {
    content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .25;
    background: repeating-linear-gradient(115deg, transparent 0 60px, rgba(120, 170, 255, .25) 60px 61px, transparent 61px 120px);
    mask-image: linear-gradient(90deg, transparent, #000 50%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 50%, transparent);
}
.a-lead > .row { position: relative; }
.a-lead-title { color: #fff; font-size: clamp(1.5rem, 2.6vw, 2.15rem); font-weight: 800; line-height: 1.2; margin-bottom: .9rem; }
.a-lead-text { font-size: .95rem; color: #b9c9ea; margin-bottom: 1.5rem; }
.a-lead-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 1.5rem; }
.a-lead-note { display: flex; align-items: center; gap: .7rem; font-size: .8rem; line-height: 1.35; color: #b9c9ea; }
.a-lead-note-icon { flex: none; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; border: 1px solid rgba(160, 195, 255, .35); color: #9cc2ff; }
.a-lead-note-icon .a-icon { width: 18px; height: 18px; }
.a-lead-contacts { display: flex; flex-direction: column; justify-content: center; gap: 1rem; font-size: .88rem; }
.a-lead-contacts a, .a-lead-contacts > span { white-space: nowrap; display: flex; align-items: center; gap: .7rem; color: #fff; }
.a-lead-contacts a:hover { color: #9cc2ff; }
.a-lead-contacts .a-icon { color: #6ea5ff; width: 18px; height: 18px; }
@media (min-width: 992px) {
    .a-lead-contacts { border-left: 1px solid rgba(160, 195, 255, .18); padding-left: 1.5rem; }
    .a-lead-form-col { border-left: 1px solid rgba(160, 195, 255, .18); padding-left: 1.75rem; }
}
.a-lead-form-title { color: #fff; font-weight: 700; margin-bottom: .9rem; }
.a-body .a-lead-form .form-control {
    background: rgba(255, 255, 255, .06); border-color: rgba(160, 195, 255, .3); color: #fff; font-size: .9rem;
}
.a-body .a-lead-form .form-control::placeholder { color: #9fb2d8; }
.a-body .a-lead-form .form-control:focus { background: rgba(255, 255, 255, .1); border-color: #6ea5ff; box-shadow: 0 0 0 .2rem rgba(110, 165, 255, .2); color: #fff; }
.a-lead-form .form-control.is-invalid { border-color: #ff7a8a; }
.a-lead-form .a-btn { padding-top: .8rem; padding-bottom: .8rem; }
.a-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.a-lead-privacy { margin-top: .6rem; font-size: .72rem; color: #8ea3cc; }
.a-lead-privacy a { color: #b9c9ea; text-decoration: underline; }
.a-lead-result { margin-top: .75rem; padding: .6rem .8rem; border-radius: 10px; font-size: .85rem; }
.a-lead-result.is-ok { background: rgba(19, 168, 107, .18); color: #9ff0cb; }
.a-lead-result.is-error { background: rgba(224, 54, 74, .18); color: #ffb3bd; }
.a-crm-form, .a-crm-form label { color: #cfdcf7; }

/* ---------- 12. Footer ---------- */
.a-footer { flex-shrink: 0; padding: 1.5rem 0 1.25rem; font-size: .85rem; color: var(--a-muted); }
.a-footer-row { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 2rem; }
.a-footer-nav { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; list-style: none; margin: 0 auto 0 1rem; padding: 0; }
.a-footer-nav a { color: var(--a-ink); font-weight: 500; }
.a-footer-nav a:hover { color: var(--a-accent); }
.a-footer-privacy a { color: var(--a-muted); }
.a-footer-privacy a:hover { color: var(--a-accent); }
.a-footer-notice { margin-top: 1rem; font-size: .8rem; }
.a-footer-toggles { display: flex; gap: .5rem; margin-top: 1rem; max-width: 360px; }
.a-footer .poweredby { margin-top: .75rem; font-size: .72rem; opacity: .7; }
.a-footer .poweredby a { color: inherit; }
@media (max-width: 767.98px) {
    .a-footer-row { flex-direction: column; align-items: flex-start; gap: .9rem; }
    .a-footer-nav { margin: 0; }
}

/* ==========================================================================
   13. Shop pages
   ========================================================================== */
.a-page { padding-top: 1.25rem; padding-bottom: 3rem; }
.a-breadcrumbs .breadcrumb { --bs-breadcrumb-divider-color: #b8c3d8; --bs-breadcrumb-item-active-color: var(--a-muted); font-size: .85rem; margin-bottom: 1.25rem; }
.a-breadcrumbs a { color: var(--a-muted); }
.a-breadcrumbs a:hover { color: var(--a-accent); }
.page-content { min-width: 0; }
.page-content h1:not(.a-h1) { font-size: clamp(1.6rem, 2.6vw, 2.2rem); font-weight: 800; margin-bottom: 1.25rem; }
.page-content h2 { font-size: 1.4rem; }
.a-content { padding: clamp(1.25rem, 3vw, 2.25rem); }
.a-content > :last-child { margin-bottom: 0; }
.a-empty { padding: 3rem 1.5rem; text-align: center; }

/* sub links / pills */
.sub-links { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 0 0 1.5rem; }
.sub-links a, .tags a {
    display: inline-block; padding: .35rem .85rem; border-radius: 999px; background: #fff; border: 1px solid var(--a-line);
    color: var(--a-ink); font-size: .85rem; font-weight: 500;
}
.sub-links a:hover, .tags a:hover { border-color: var(--a-accent); color: var(--a-accent); }
.tags { display: flex; flex-wrap: wrap; gap: .4rem; }

/* sidebar */
.a-sidebar-card { padding: 1rem; margin-bottom: 1rem; }
.a-sidebar-title { font: 700 .78rem/1.2 var(--a-font); letter-spacing: .12em; text-transform: uppercase; color: var(--a-muted); padding: .25rem .5rem .75rem; }
ul.menu-v { list-style: none; margin: 0; padding: 0; }
ul.menu-v li { padding: 0; border: 0; }
ul.menu-v li a { display: block; padding: .5rem .6rem; border-radius: 8px; color: var(--a-ink); font-size: .92rem; }
ul.menu-v li a:hover { background: var(--a-accent-050); color: var(--a-accent); }
ul.menu-v li.selected > a { background: var(--a-accent-050); color: var(--a-accent); font-weight: 600; }
ul.menu-v ul.menu-v { padding-left: .8rem; }
ul.menu-v ul.menu-v a { font-size: .86rem; color: var(--a-text); }
ul.menu-h { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem; }
ul.menu-h li { display: block; }
ul.menu-h li a { display: inline-block; padding: .4rem .7rem; }

/* sorting */
.a-sorting { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem; list-style: none; padding: 0; margin: 0 0 1.25rem; font-size: .86rem; }
.a-sorting li { padding: 0; }
.a-sorting .a-sorting-label { color: var(--a-muted); margin-right: .25rem; }
ul.a-sorting li a { display: inline-block; padding: .3rem .7rem; border-radius: 999px; color: var(--a-ink); }
.a-sorting li a:hover { color: var(--a-accent); }
ul.a-sorting li.selected a { background: var(--a-accent); color: #fff; }
.a-sorting li.selected a i.sort-desc { border-bottom-color: #fff; }
.a-sorting li.selected a i.sort-asc { border-top-color: #fff; }
i.sort-desc { height: 0; width: 0; border: 4px solid transparent; border-bottom-color: currentColor; margin-bottom: .2em; display: inline-block; }
i.sort-asc { height: 0; width: 0; border: 4px solid transparent; border-top-color: currentColor; margin-top: .1em; display: inline-block; }

/* pagination */
.paging-nav { display: flex; justify-content: center; padding: 1.5rem 0; }
.paging-nav ul.menu-h li a { min-width: 40px; text-align: center; border-radius: 10px; background: #fff; border: 1px solid var(--a-line); color: var(--a-ink); }
.paging-nav ul.menu-h li a:hover { border-color: var(--a-accent); color: var(--a-accent); }
.paging-nav ul.menu-h li.selected a { background: var(--a-accent); border-color: var(--a-accent); color: #fff; }
.lazyloading-load-more { display: block; width: max-content; margin: 1rem auto; padding: .6rem 1.2rem; border-radius: 10px; border: 1px solid var(--a-accent-100); background: #fff; font-weight: 600; }

/* filters */
.a-filters.filters { float: none; width: auto; margin: 0 0 1.5rem; padding: 1.25rem; background: #fff; display: block; }
.a-filters form { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1rem 1.5rem; align-items: start; }
.a-filters .filter-param { margin: 0; }
.a-filters h5 { font: 600 .82rem/1.3 var(--a-font); text-transform: uppercase; letter-spacing: .06em; color: var(--a-muted); margin-bottom: .5rem; }
.a-filters label { display: flex; align-items: center; gap: .45rem; font-size: .9rem; padding: .1rem 0; }
.a-filters input[type=text] { width: 80px; padding: .35rem .5rem; font-size: .85rem; text-align: right; }
.a-filters button[type=submit] { align-self: end; }
.filters .ui-slider { margin: 12px 6px; }
.filters .ui-slider-horizontal { height: 4px; border: 0; background: var(--a-line); border-radius: 2px; }
.filters .ui-slider-horizontal .ui-widget-header { background: var(--a-accent); height: 4px; top: 0; }
.filters .ui-slider-horizontal .ui-slider-handle { top: -7px; width: 18px; height: 18px; margin-left: -9px; border-radius: 50%; background: #fff; border: 2px solid var(--a-accent); cursor: pointer; }

/* product list */
ul.thumbs.product-list:not(.mini) { margin-bottom: 0; }
.a-product { position: relative; height: 100%; display: flex; flex-direction: column; padding: .9rem; transition: transform .2s, box-shadow .2s; }
.a-product:hover { transform: translateY(-3px); box-shadow: var(--a-shadow-hover); }
.a-product-link { display: block; color: var(--a-ink); }
.a-product-link:hover { color: var(--a-accent); }
.a-product-img.image { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 1; margin-bottom: .8rem; border-radius: 10px; background: #f6f9fe; overflow: hidden; width: 100%; }
.a-product-img img { max-height: 100%; max-width: 100%; object-fit: contain; }
.a-product-name { font: 600 .95rem/1.35 var(--a-font); margin: 0 0 .35rem; color: inherit; }
.a-product .summary { display: block; font-size: .82rem; color: var(--a-muted); line-height: 1.45; margin-bottom: .5rem; }
.a-product table.features { font-size: .8rem; color: var(--a-muted); margin-bottom: .5rem; }
.a-product table.features td { padding: .1rem .5rem .1rem 0; }
.a-product .offers { margin-top: auto; }
.a-product-prices { display: flex; align-items: baseline; flex-wrap: wrap; gap: .1rem .5rem; margin-bottom: .6rem; }
.a-product-buy { display: flex; align-items: center; gap: .5rem; }
.a-product .compare-from-list { position: static; opacity: .35; }
.a-product .added2cart { display: block; font-size: .8rem; font-style: normal; color: var(--a-success); padding-top: .4rem; }
.price { color: var(--a-ink); font-weight: 700; font-size: 1.1rem; font-family: var(--a-font-head); }
.compare-at-price { text-decoration: line-through; color: var(--a-muted); font-size: .9rem; margin: 0; }
.out-of-stock strong { color: var(--a-muted); font-size: .85rem; font-weight: 500; }

/* mini list (related / cross-selling) */
ul.thumbs.mini { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 1rem; padding: 0; margin: 0 0 1rem; }
ul.thumbs.mini li { background: #fff; border: 1px solid var(--a-line); border-radius: 12px; padding: .75rem; font-size: .85rem; display: flex; flex-direction: column; }
ul.thumbs.mini li .image { display: block; text-align: center; }
ul.thumbs.mini li .image img { max-width: 96px; max-height: 96px; }
ul.thumbs.mini li h5 { font: 500 .85rem/1.3 var(--a-font); margin: .5rem 0; color: var(--a-ink); }
ul.thumbs.mini li .price { font-size: .95rem; display: block; margin-bottom: .4rem; }
ul.thumbs.mini li input[type=submit], ul.thumbs.mini li input[type=button] { padding: .35rem .7rem; font-size: .8rem; width: 100%; }
ul.thumbs.mini li [itemprop=offers] { margin-top: auto; }

/* badges (override Bootstrap .badge + Default 2.0 badge shapes) */
.corner { position: absolute; z-index: 5; }
.corner.top { top: .6rem; } .corner.bottom { bottom: .6rem; }
.corner.right { right: .6rem; } .corner.left { left: .6rem; }
.image .badge, .corner .badge {
    position: static; display: inline-block; width: auto; height: auto; padding: .28rem .6rem; transform: none;
    border-radius: 999px; background: var(--a-accent); color: #fff; font: 700 .7rem/1.2 var(--a-font); text-align: center; letter-spacing: .02em;
}
.image .badge::before, .image .badge::after, .corner .badge::before, .corner .badge::after { display: none; }
.image .badge span, .corner .badge span { position: static; color: inherit !important; transform: none; font: inherit; display: inline !important; }
.badge.new { background: var(--a-success); }
.badge.low-price { background: #f59e0b; }
.badge.bestseller { background: var(--a-danger); }

/* product page */
.a-product-page > h1 { font-size: clamp(1.5rem, 2.4vw, 2.1rem); display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }
.a-tabs { gap: .25rem; margin: 0 0 1.5rem; padding: 0; border-bottom: 1px solid var(--a-line); }
.a-tabs li { display: block; padding: 0; }
.a-tabs li a { display: inline-block; padding: .6rem 1rem; color: var(--a-text); font-weight: 500; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.a-tabs li a:hover { color: var(--a-accent); }
.a-tabs li.selected a { color: var(--a-accent); border-bottom-color: var(--a-accent); background: none; }
.a-tabs li .hint { margin-left: -.6rem; margin-right: .4rem; }

.a-product-sidebar { position: sticky; top: calc(var(--a-header-h) + 1rem); }
.a-product-sidebar .cart { padding: 1.5rem; }
.a-product-sidebar .aux { padding: 1rem 0; font-size: .9rem; }
.product-info { min-width: 0; }
.product-gallery { margin: 0 0 1.5rem; text-align: center; }
#product-core-image { display: block; background: #fff; border: 1px solid var(--a-line); border-radius: var(--a-radius); padding: 1rem; text-align: center; }
#product-core-image img { max-height: 520px; width: auto; }
.image { position: relative; display: inline-block; max-width: 100%; }
.image img { max-width: 100%; height: auto; }
.image #switching-image { position: absolute; inset: 0; border-radius: var(--a-radius); }
.more-images { display: flex; flex-wrap: wrap; gap: .5rem; margin: .75rem 0 0; justify-content: flex-start; }
.more-images .image a { display: block; border: 2px solid transparent; border-radius: 10px; overflow: hidden; background: #fff; }
.more-images .image img { width: 64px; height: 64px; object-fit: cover; display: block; }
.more-images .image.selected a { border-color: var(--a-accent); }
.product-info .description { background: #fff; border: 1px solid var(--a-line); border-radius: var(--a-radius); padding: 1.5rem; margin-bottom: 1.5rem; }
table.features { width: 100%; border-collapse: collapse; margin-bottom: 1.5rem; font-size: .92rem; }
#product-features { background: #fff; border-radius: var(--a-radius); overflow: hidden; box-shadow: 0 0 0 1px var(--a-line); }
#product-features td { padding: .6rem 1rem; border-bottom: 1px solid var(--a-line); vertical-align: top; }
#product-features tr:last-child td { border-bottom: 0; }
#product-features td.name { color: var(--a-muted); width: 40%; }
table.features tr.divider td { font-weight: 700; color: var(--a-ink); text-transform: none; background: #f7faff; }
#product-categories { align-items: center; gap: .4rem; color: var(--a-muted); font-size: .9rem; margin-bottom: 1rem; }
#product-categories li a { padding: .2rem .6rem; border-radius: 999px; background: var(--a-accent-050); }
#product-tags { align-items: center; color: var(--a-muted); font-size: .9rem; }

/* purchase block */
.purchase { margin-bottom: 1rem; }
.add2cart { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; padding-top: 1rem; border-top: 1px solid var(--a-line); margin-top: 1rem; }
.add2cart .price { font-size: 1.75rem; }
.add2cart .compare-at-price { font-size: 1rem; }
.add2cart .qty input { width: 70px; text-align: center; }
.add2cart input[type=submit] { flex: 1 1 auto; padding: .85rem 1.4rem; font-size: 1rem; }
.add2cart .icon24.loading.adding2cart { margin-left: .5rem; }
.added2cart { display: block; font-size: .88rem; color: var(--a-success); font-style: normal; }
.options .inline-select a { border: 1px solid var(--a-line); border-radius: 8px; padding: .3rem .7rem; background: #fff; color: var(--a-ink); position: relative; display: inline-block; margin: 0 .3rem .3rem 0; }
.options .inline-select a:hover { border-color: var(--a-accent); background: var(--a-accent-050); }
.options .inline-select a.selected { border-color: var(--a-accent); box-shadow: 0 0 0 1px var(--a-accent); background: var(--a-accent-050); }
ul.skus { list-style: none; padding: 0; }
ul.skus li { padding: .25rem 0; }
.stocks { font-size: .88rem; margin: .75rem 0; }
.stocks .stock-high { color: var(--a-success); }
.stocks .stock-low { color: #b7791f; }
.stocks .stock-critical { color: var(--a-danger); }
.stocks .stock-none { color: var(--a-muted); }
.compare-add, .compare-remove { font-size: .88rem; }

/* reviews */
.reviews { background: #fff; border: 1px solid var(--a-line); border-radius: var(--a-radius); padding: 1.5rem; margin-bottom: 1.5rem; }
.reviews h2 { font-size: 1.3rem; }
table.rating-distribution td .bar { background: var(--a-line); border-radius: 4px; overflow: hidden; }
table.rating-distribution td .bar .filling { background: #f5b301; }
.review .summary h6 { color: var(--a-ink); }
.reviews ul .new { background: #fff8d6; border-radius: 10px; }
.reviews ul .in-reply-to { background: #f5f8fe; border-radius: 10px; }
.review-form label { color: var(--a-muted); }

/* related */
.a-related { margin-top: 2rem; }
.a-related .related { border-top: 0; margin-top: 0; padding-top: 0; margin-bottom: 1.5rem; }
.a-related .related h3 { font-size: 1.25rem; display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; margin-bottom: 1rem; }

/* compare */
table.compare { background: #fff; border-radius: var(--a-radius); overflow: hidden; box-shadow: 0 0 0 1px var(--a-line); }
table.compare td, table.compare th { padding: .7rem .9rem; border-bottom: 1px solid var(--a-line); }
.compare-diff-all { display: flex; gap: .5rem; list-style: none; padding: 0; }
.compare-diff-all li.selected a { background: var(--a-accent-050); border-radius: 8px; }
#compare-leash { position: fixed; bottom: 1rem; right: 1rem; z-index: 1020; }
#compare-leash a { display: block; padding: .7rem 1.1rem; border-radius: 12px; background: var(--a-ink); color: #fff; font-weight: 600; font-size: .9rem; box-shadow: var(--a-shadow-hover); }
#compare-leash a:hover, #compare-leash a.just-added { background: var(--a-accent); color: #fff !important; }

/* dialog (multi-SKU add to cart from list) */
.dialog { display: none; }
.dialog-background { position: fixed; inset: 0; background: rgba(10, 27, 68, .45); z-index: 1040; }
.dialog-window .cart {
    position: fixed; z-index: 1050; top: 8vh; left: 50%; transform: translateX(-50%);
    width: min(560px, 94vw); max-height: 84vh; overflow: auto; padding: 1.75rem; margin: 0;
    background: #fff; border-radius: 16px; box-shadow: 0 30px 80px rgba(10, 27, 68, .35);
}
.dialog-window .dialog-close { float: right; color: var(--a-muted); font-size: 1.8rem; line-height: 1; }

/* cart page */
.cart-summary-page { padding: .5rem 1.5rem 1.5rem; }
.a-cart-row { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; padding: 1.1rem 0; border-top: 1px solid var(--a-line); }
.a-cart-row:first-child { border-top: 0; }
.a-cart-row.no-border { border-top: 0; padding: .6rem 0; }
.a-cart-row > .clear-both { display: flex; flex-wrap: wrap; width: 100%; gap: 1rem; }
.a-cart-row .a-col { min-width: 0; }
.a-cart-row .item-thumb { flex: 0 0 72px; }
.a-cart-row .item-thumb img { width: 72px; height: 72px; object-fit: contain; border-radius: 10px; background: #f6f9fe; }
.a-cart-row .item-name { flex: 1 1 200px; }
.a-cart-row .item-name a { color: var(--a-ink); font-weight: 600; display: block; }
.a-cart-row .item-qty { flex: 0 0 auto; display: flex; align-items: center; gap: .4rem; }
.a-cart-row input.qty { width: 70px !important; text-align: center; }
.a-cart-row .item-remove { flex: 0 0 auto; order: 5; }
.a-cart-row .item-total { flex: 0 0 140px; text-align: right; font-weight: 700; color: var(--a-ink); }
.a-cart-row .services, .a-cart-row .related { flex: 1 1 100%; }
.a-cart-row .a-w1:not(.item-thumb):not(.item-remove) { flex: 0 0 72px; }
.a-cart-row .a-w10, .a-cart-row .a-w12, .a-cart-row .a-w16 { flex: 1 1 auto; }
.a-cart-row .a-w2 { flex: 0 0 auto; }
.a-cart-row .a-w3 { flex: 0 0 140px; text-align: right; }
.a-cart-row .a-w6 { flex: 0 0 auto; margin-left: auto; }
.a-cart-row .a-w15 { flex: 1 1 0; }
.a-cart-row.large { font-size: 1.15rem; font-weight: 600; color: var(--a-ink); }
.a-cart-row .cart-total.total { font: 800 1.5rem/1.2 var(--a-font-head); color: var(--a-ink); }
.a-cart-row .cart-discount { color: var(--a-success); font-weight: 600; }
.cart .related { border-top: 0; margin-top: 1rem; background: #f7faff; border-radius: 12px; padding: 1rem; }
.cart .related h4 { font-size: .95rem; font-weight: 500; color: var(--a-text); }
.cart .affiliate { text-align: center; padding: 1rem; background: #f7faff; border-radius: 12px; margin: 0; }
.cart .featured-shipping-and-payment img { max-height: 28px; margin-right: .5rem; opacity: .8; }
.cart #use-coupon { margin-left: .5rem; font-size: .85rem; font-weight: 400; }
.cart-checkout .a-btn { white-space: nowrap; }
@media (max-width: 575.98px) {
    .cart-summary-page { padding: .25rem 1rem 1rem; }
    .a-cart-row .item-thumb { flex-basis: 56px; }
    .a-cart-row .item-thumb img { width: 56px; height: 56px; }
    .a-cart-row .item-name { flex: 1 1 calc(100% - 100px); }
    .a-cart-row .item-total { flex: 1 1 auto; }
    .a-cart-row .a-w1:not(.item-thumb):not(.item-remove) { display: none; }
    .a-cart-row .a-w3, .a-cart-row .a-w2 { flex: 1 1 auto; }
    .a-cart-row .a-w6 { flex: 1 1 100%; }
    .a-cart-row .a-w6 .a-btn { width: 100%; }
}

/* multi-step checkout (legacy) */
.checkout { background: #fff; border: 1px solid var(--a-line); border-radius: var(--a-radius); overflow: hidden; box-shadow: var(--a-shadow); }
.checkout h2 { padding: 1rem 1.5rem; margin: 0; font-size: 1.15rem; background: #f7faff; border-top: 1px solid var(--a-line); }
.checkout h2 a { color: var(--a-ink); }
.checkout h2 a .gray { color: var(--a-accent); }
.checkout .checkout-step-content { padding: 1.5rem; }
.checkout ul.checkout-options li .rate { width: auto; }
.checkout-header { background: transparent; padding: 0 0 1rem; }
.checkout .checkout-result { padding: 3rem 1rem; }
.checkout .checkout-result h1 { font-size: clamp(1.8rem, 4vw, 2.8rem); margin-bottom: 1.5rem; }
.checkout blockquote { margin: 0; }

/* auth forms (login / signup / profile) — Webasyst .wa-form */
.a-auth { max-width: 640px; margin: 0 auto; padding: clamp(1.25rem, 4vw, 2.5rem); }
.wa-form { float: none; margin: 10px 0; }
.wa-form .wa-field { margin: 0 0 .9rem; padding: 0; clear: none; }
.wa-form .wa-field .wa-name { float: none; width: auto; padding: 0 0 .3rem; font-size: .88rem; font-weight: 500; color: var(--a-muted); }
.wa-form .wa-field .wa-value { margin-left: 0; position: relative; }
.wa-form .wa-field .wa-value input[type=text], .wa-form .wa-field .wa-value input[type=email], .wa-form .wa-field .wa-value input[type=password], .wa-form .wa-field .wa-value textarea, .wa-form .wa-field .wa-value select { width: 100%; min-width: 0; }
.wa-form .wa-field .wa-value input.wa-captcha-input { width: 120px; }
.wa-form .wa-field .wa-value .wa-error-msg { color: var(--a-danger); font-size: .85rem; }
.wa-form .wa-field.wa-required .wa-name:after { content: " *"; color: var(--a-danger); }
.wa-form .wa-field .wa-value p { margin-bottom: .75rem; }
.wa-form .wa-field .wa-value p span { color: var(--a-muted); font-size: .85rem; display: block; }
.wa-form .wa-field .wa-value p input { display: block; margin-bottom: 2px; }
.wa-form .wa-field .wa-value p input[type=radio], .wa-form .wa-field .wa-value p input[type=checkbox] { display: inline; }
.wa-auth-adapters ul { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; }
.wa-auth-adapters ul li a, .wa-auth-adapters ul li span { display: inline-flex; align-items: center; gap: .4rem; padding: .4rem .8rem; border: 1px solid var(--a-line); border-radius: 10px; background: #fff; }
.wa-captcha { padding: 7px 0 10px; }
.wa-captcha p img { float: left !important; margin-right: 5px; }

/* my account */
.a-my-nav { padding-top: 1.25rem; }
.a-my-nav ul { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; padding: 0; margin: 0; }
.a-my-nav ul li a { display: inline-block; padding: .45rem .95rem; border-radius: 999px; background: #fff; border: 1px solid var(--a-line); color: var(--a-ink); font-size: .9rem; font-weight: 500; }
.a-my-nav ul li.selected a, .a-my-nav ul li a:hover { background: var(--a-accent); border-color: var(--a-accent); color: #fff; }
html.my .a-breadcrumbs { display: none; }
table.table { width: 100%; background: #fff; border-radius: var(--a-radius); overflow: hidden; box-shadow: 0 0 0 1px var(--a-line); }
table.table td, table.table th { padding: .7rem 1rem; border-bottom: 1px solid var(--a-line); }
.order-status { display: inline-block; padding: .15rem .6rem; border-radius: 999px; color: #fff; font-size: .8rem; }
table.lined { width: 100%; }
table.lined td { padding: .8rem .5rem; border-bottom: 1px solid var(--a-line); }

/* new checkout (order.html) inside our container */
.s-order-page { margin: 0; }
html.is-order-page .a-breadcrumbs { display: none; }

/* swipebox */
#swipebox-overlay { background: rgba(10, 27, 68, .92) !important; }

/* ---------- 14. Responsive tweaks ---------- */
@media (max-width: 991.98px) {
    .a-hero { text-align: left; }
    .a-hex-scheme { max-width: 480px; margin-top: 1rem; }
    .a-product-sidebar { position: static; }
}
@media (max-width: 575.98px) {
    .a-hero-actions .a-btn { width: 100%; }
    .a-hex-scheme { max-width: 360px; }
    .a-hex { width: 31%; }
    .a-hex-label { font-size: .68rem; padding: 0 8%; }
    .a-orbit { max-width: 320px; }
    .a-case-metrics { grid-template-columns: 1fr 1fr; }
    .a-lead { border-radius: 14px; }
    .a-lead-actions .a-btn { width: 100%; }
    .a-product { padding: .6rem; }
    .a-product-buy .a-btn { flex: 1; }
    .a-product-name { font-size: .88rem; }
    .price { font-size: 1rem; }
    #product-core-image { padding: .5rem; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition: none !important; animation: none !important; }
}
