:root {
    --bg: #f3f7ff;
    --bg-2: #eef5ff;
    --panel: #ffffff;
    --panel-soft: #f8fbff;
    --line: #d9e5f2;
    --text: #12243a;
    --muted: #60748a;
    --brand: #0d6fbe;
    --brand-2: #0a4c82;
    --ok: #0d8f67;
    --warn: #b17400;
    --danger: #be3f38;
    --radius: 16px;
    --shadow-lg: 0 20px 48px rgba(17, 40, 66, 0.14);
    --shadow-sm: 0 10px 24px rgba(17, 40, 66, 0.08);
}

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
    font-family: "Manrope", "Segoe UI", sans-serif;
    color: var(--text);
    background: linear-gradient(180deg, var(--bg) 0%, #f7fbff 100%);
}

a {
    color: inherit;
    text-decoration: none;
}

.store-page-bg {
    position: fixed;
    inset: 0;
    background:
        radial-gradient(1100px 420px at 8% -8%, rgba(22, 133, 217, 0.16), transparent 60%),
        radial-gradient(900px 400px at 95% 0%, rgba(8, 110, 184, 0.14), transparent 58%),
        linear-gradient(180deg, #edf5ff 0%, #f7fbff 52%, #f6fbff 100%);
    z-index: -1;
}

.store-container {
    width: min(1280px, calc(100% - 36px));
    margin: 0 auto;
}

.store-header-wrap {
    position: sticky;
    top: 0;
    z-index: 30;
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(190, 213, 235, 0.8);
    background: rgba(248, 252, 255, 0.88);
}

.store-header {
    min-height: 78px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 18px;
    align-items: center;
}

.store-brand {
    display: inline-flex;
    gap: 10px;
    align-items: center;
}

.store-brand img,
.store-brand-mark {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    object-fit: cover;
    box-shadow: 0 10px 20px rgba(9, 86, 143, 0.24);
}

.store-brand-mark {
    display: grid;
    place-items: center;
    font-weight: 800;
    color: #fff;
    background: linear-gradient(145deg, #13a2ea, #0d6fbe);
}

.store-brand strong {
    display: block;
    font-family: "Space Grotesk", "Manrope", sans-serif;
    font-size: 17px;
    line-height: 1.2;
}

.store-brand small {
    display: block;
    color: var(--muted);
    font-size: 12px;
}

.store-nav {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px;
    border-radius: 999px;
    background: #eef5fc;
    border: 1px solid #d6e4f2;
    justify-self: center;
}

.store-nav > a,
.store-nav > .store-nav-item > a {
    padding: 8px 12px;
    border-radius: 999px;
    color: #2f4d68;
    font-weight: 700;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.store-nav-item {
    position: relative;
}

.store-nav > a span,
.store-nav > .store-nav-item > a span {
    min-width: 20px;
    height: 20px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    font-size: 11px;
    color: #fff;
    background: #0d6fbe;
}

.store-nav > a.active,
.store-nav > a:hover,
.store-nav > .store-nav-item > a.active,
.store-nav > .store-nav-item > a:hover,
.store-nav > .store-nav-item:hover > a {
    color: #fff;
    background: linear-gradient(145deg, #0f7ed3, #0b5f9f);
}

.store-nav > a.active span,
.store-nav > a:hover span,
.store-nav > .store-nav-item > a.active span,
.store-nav > .store-nav-item > a:hover span,
.store-nav > .store-nav-item:hover > a span {
    color: #0e5b95;
    background: #fff;
}

.store-mega {
    position: absolute;
    left: 0;
    top: calc(100% + 10px);
    width: min(560px, 86vw);
    border-radius: 14px;
    padding: 14px;
    border: 1px solid #ccdef0;
    box-shadow: 0 22px 38px rgba(13, 66, 108, 0.16);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, #f7fbff 100%),
        linear-gradient(145deg, rgba(18, 139, 226, 0.08), transparent 50%);
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: all 0.16s ease;
    z-index: 40;
}

.store-nav-item.has-mega:hover .store-mega,
.store-nav-item.has-mega:focus-within .store-mega {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.store-mega-title {
    font-size: 12px;
    font-weight: 800;
    color: #56748f;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.store-mega-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.store-mega-grid a {
    display: grid;
    gap: 3px;
    border: 1px solid #d4e4f3;
    border-radius: 10px;
    padding: 9px 10px;
    color: #22425f;
    background: #fafdff;
}

.store-mega-grid a:hover {
    border-color: #9dc3e8;
    background: #f0f7ff;
    color: #1b3f5d;
}

.store-mega-grid a strong {
    font-size: 13px;
}

.store-mega-grid a small {
    font-size: 11px;
    color: #5a7690;
}

.store-mega-empty {
    color: #5f778f;
    font-size: 13px;
}

.store-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.wallet-quick {
    min-width: 165px;
    border-radius: 12px;
    padding: 8px 10px;
    border: 1px solid #cfe0ef;
    background: linear-gradient(145deg, #ffffff, #f1f7ff);
    box-shadow: 0 10px 20px rgba(14, 72, 118, 0.08);
    display: grid;
    gap: 1px;
}

.wallet-quick small {
    font-size: 11px;
    color: #5d7590;
    font-weight: 700;
    display: block;
}

.wallet-quick strong {
    font-size: 14px;
    color: #0a5f9c;
    line-height: 1.15;
}

.wallet-quick.wallet-quick-error {
    border-color: #f0cac7;
    background: #fff2f1;
}

.wallet-quick.wallet-quick-error strong {
    color: #a4332e;
}

.wallet-quick.wallet-quick-loading {
    border-color: #d2e2f2;
}

.wallet-skeleton-line {
    display: block;
    height: 8px;
    width: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #e8f1fb 0%, #d9e8f8 50%, #e8f1fb 100%);
    background-size: 180% 100%;
    animation: shimmer 1.2s linear infinite;
}

.wallet-skeleton-line-strong {
    height: 12px;
    width: 82%;
}

.store-main {
    padding: 20px 0 30px;
}

.store-hero {
    border-radius: 22px;
    padding: 24px 26px;
    background:
        linear-gradient(145deg, rgba(15, 109, 180, 0.1), rgba(255, 255, 255, 0.84)),
        linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%);
    border: 1px solid #d4e3f2;
    box-shadow: var(--shadow-sm);
    margin-bottom: 16px;
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
}

.store-hero h1 {
    margin: 0;
    font-family: "Space Grotesk", "Manrope", sans-serif;
    font-size: 34px;
    line-height: 1.15;
}

.store-hero p {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 14px;
    max-width: 760px;
}

.store-user-chip {
    background: #fff;
    border-radius: 14px;
    border: 1px solid #d5e4f3;
    box-shadow: var(--shadow-sm);
    padding: 12px 14px;
    max-width: 360px;
}

.store-user-chip strong {
    display: block;
    font-size: 14px;
}

.store-user-chip span {
    display: block;
    font-size: 12px;
    color: var(--muted);
    word-break: break-all;
}

.card {
    border-radius: var(--radius);
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    border: 1px solid var(--line);
    box-shadow: var(--shadow-sm);
    padding: 18px;
}

.card + .card {
    margin-top: 14px;
}

.note {
    color: var(--muted);
    font-size: 13px;
}

.grid {
    display: grid;
    gap: 14px;
}

.grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.catalog-filter-card {
    margin-bottom: 14px;
}

.catalog-filter-grid {
    display: grid;
    grid-template-columns: 2fr 1fr auto;
    gap: 12px;
    align-items: end;
}

.catalog-filter-actions {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.catalog-category-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}

.category-tile {
    border-radius: 14px;
    border: 1px solid #d7e5f3;
    background: linear-gradient(160deg, #ffffff 0%, #f5faff 100%);
    box-shadow: 0 12px 22px rgba(15, 61, 98, 0.08);
    padding: 14px;
    display: grid;
    gap: 5px;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.category-tile:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 26px rgba(15, 61, 98, 0.14);
}

.category-tile strong {
    font-family: "Space Grotesk", "Manrope", sans-serif;
    font-size: 17px;
    line-height: 1.25;
}

.category-tile span {
    color: #4f6b86;
    font-size: 13px;
    line-height: 1.45;
}

.category-tile small {
    color: #2b5478;
    font-size: 12px;
    font-weight: 800;
}

.category-tile-domain {
    border-color: #b6daf4;
    background: linear-gradient(145deg, #f5fbff 0%, #ebf6ff 100%);
}

.category-tile-hosting {
    border-color: #c8dfc5;
    background: linear-gradient(145deg, #f4fbf4 0%, #edf9ec 100%);
}

.category-tile-vps {
    border-color: #d6cff4;
    background: linear-gradient(145deg, #f8f5ff 0%, #f0ecff 100%);
}

.category-tile-account {
    border-color: #f4d3c6;
    background: linear-gradient(145deg, #fff8f4 0%, #fff1ea 100%);
}

.category-tile-course {
    border-color: #f0deaf;
    background: linear-gradient(145deg, #fffcef 0%, #fff8da 100%);
}

.category-tile-audiobook {
    border-color: #cce2e7;
    background: linear-gradient(145deg, #f2fbff 0%, #ebf7fa 100%);
}

.catalog-experience {
    margin-bottom: 14px;
    border-radius: 16px;
    padding: 16px;
}

.catalog-experience-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.catalog-experience-head h3 {
    margin: 0;
    font-family: "Space Grotesk", "Manrope", sans-serif;
    font-size: 24px;
    line-height: 1.2;
}

.catalog-experience-head p {
    margin: 8px 0 0;
    color: #4f6b86;
    font-size: 14px;
    max-width: 720px;
}

.catalog-experience-domain {
    border-color: #b6daf4;
    background: linear-gradient(145deg, #ffffff 0%, #eef7ff 100%);
}

.catalog-experience-hosting {
    border-color: #c8dfc5;
    background: linear-gradient(145deg, #ffffff 0%, #f0faef 100%);
}

.catalog-experience-vps {
    border-color: #d6cff4;
    background: linear-gradient(145deg, #ffffff 0%, #f3f0ff 100%);
}

.catalog-experience-account {
    border-color: #f4d3c6;
    background: linear-gradient(145deg, #ffffff 0%, #fff4ee 100%);
}

.catalog-experience-course {
    border-color: #f0deaf;
    background: linear-gradient(145deg, #ffffff 0%, #fff8de 100%);
}

.catalog-experience-audiobook {
    border-color: #cce2e7;
    background: linear-gradient(145deg, #ffffff 0%, #edf9ff 100%);
}

.catalog-experience-generic {
    border-color: #d5e4f3;
    background: linear-gradient(145deg, #ffffff 0%, #f5f9ff 100%);
}

.category-highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.category-highlights span {
    border-radius: 999px;
    border: 1px solid #c8dced;
    background: #fff;
    color: #30526f;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 700;
}

.domain-search-form {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) 160px auto;
    gap: 10px;
    align-items: end;
    margin-top: 12px;
}

.domain-check-result {
    margin-top: 12px;
    border-radius: 12px;
    border: 1px solid #c9ddf0;
    background: #ffffff;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    padding: 12px 14px;
}

.domain-check-result strong {
    display: block;
    font-size: 20px;
    font-family: "Space Grotesk", "Manrope", sans-serif;
}

.domain-check-label {
    display: block;
    font-size: 11px;
    font-weight: 800;
    color: #5f7b95;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.domain-check-result p {
    margin: 6px 0 0;
    color: #4d6881;
    font-size: 13px;
}

.domain-check-result-available {
    border-color: #bfe4cf;
    background: #f0fff5;
}

.domain-check-result-taken {
    border-color: #f1d4c8;
    background: #fff5f0;
}

.domain-check-result-invalid {
    border-color: #f3e2b6;
    background: #fff9ea;
}

.domain-alt-list {
    margin-top: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.domain-alt-list span {
    border-radius: 999px;
    border: 1px solid #cfe0ef;
    background: #fff;
    color: #355a79;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 700;
}

.catalog-results-card {
    margin-top: 14px;
}

.trust-strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.trust-item {
    border-radius: 14px;
    border: 1px solid #d6e4f2;
    background: linear-gradient(145deg, #ffffff, #f4f9ff);
    padding: 12px;
    display: grid;
    gap: 4px;
}

.trust-item strong {
    font-size: 15px;
    font-family: "Space Grotesk", "Manrope", sans-serif;
}

.trust-item span {
    color: #4f6b86;
    font-size: 13px;
    line-height: 1.45;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 14px;
}

.product-card {
    border-radius: 14px;
    border: 1px solid #d8e6f3;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, #f8fbff 100%),
        linear-gradient(140deg, rgba(14, 132, 217, 0.08), transparent 50%);
    box-shadow: 0 14px 26px rgba(15, 52, 88, 0.09);
    padding: 14px;
    display: grid;
    gap: 8px;
}

.product-meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.product-category-chip {
    border-radius: 999px;
    border: 1px solid #cddff0;
    background: #f2f8ff;
    color: #28516f;
    padding: 3px 9px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.product-sku {
    color: #5a7691;
    font-size: 12px;
    font-weight: 700;
}

.product-category {
    color: #5e7892;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 700;
}

.product-name {
    font-size: 20px;
    font-family: "Space Grotesk", "Manrope", sans-serif;
    font-weight: 700;
    line-height: 1.25;
}

.product-price {
    color: #0b5f9f;
    font-size: 26px;
    font-weight: 800;
}

.product-desc {
    color: var(--muted);
    font-size: 14px;
    line-height: 1.5;
}

.product-context {
    border-radius: 10px;
    border: 1px dashed #c9daea;
    background: #f8fbff;
    color: #456580;
    padding: 8px 9px;
    font-size: 12px;
    line-height: 1.45;
}

.product-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 6px;
}

.product-show-form {
    align-items: end;
}

.product-show-qty {
    max-width: 120px;
    margin: 0;
}

.product-card-domain {
    border-color: #bfdcf2;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, #eff8ff 100%),
        linear-gradient(140deg, rgba(14, 132, 217, 0.1), transparent 52%);
}

.product-card-hosting {
    border-color: #cfe4cd;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, #f1fbf0 100%),
        linear-gradient(140deg, rgba(37, 150, 74, 0.09), transparent 52%);
}

.product-card-vps {
    border-color: #dad4f2;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, #f4f2ff 100%),
        linear-gradient(140deg, rgba(88, 74, 180, 0.1), transparent 52%);
}

.product-card-account {
    border-color: #f4dacd;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, #fff4ee 100%),
        linear-gradient(140deg, rgba(190, 90, 41, 0.1), transparent 52%);
}

.product-card-course {
    border-color: #f2e4be;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, #fff9ea 100%),
        linear-gradient(140deg, rgba(190, 140, 35, 0.1), transparent 52%);
}

.product-card-audiobook {
    border-color: #d0e4ea;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, #eefbff 100%),
        linear-gradient(140deg, rgba(38, 124, 142, 0.1), transparent 52%);
}

.product-card-ads {
    border-color: #f0d4d3;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, #fff2f2 100%),
        linear-gradient(140deg, rgba(192, 62, 74, 0.1), transparent 52%);
}

.product-card-seo {
    border-color: #d6e9c6;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, #f5ffe9 100%),
        linear-gradient(140deg, rgba(96, 157, 35, 0.1), transparent 52%);
}

.product-card-content {
    border-color: #d4dff6;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, #eef4ff 100%),
        linear-gradient(140deg, rgba(58, 95, 188, 0.1), transparent 52%);
}

.category-tile-ads {
    border-color: #f0d4d3;
    background: linear-gradient(145deg, #fff8f8 0%, #fff0f0 100%);
}

.category-tile-seo {
    border-color: #d6e9c6;
    background: linear-gradient(145deg, #f8fff2 0%, #f1fae8 100%);
}

.category-tile-content {
    border-color: #d4dff6;
    background: linear-gradient(145deg, #f6f9ff 0%, #edf3ff 100%);
}

.catalog-experience-ads {
    border-color: #f0d4d3;
    background: linear-gradient(145deg, #ffffff 0%, #fff2f2 100%);
}

.catalog-experience-seo {
    border-color: #d6e9c6;
    background: linear-gradient(145deg, #ffffff 0%, #f5ffe9 100%);
}

.catalog-experience-content {
    border-color: #d4dff6;
    background: linear-gradient(145deg, #ffffff 0%, #eef4ff 100%);
}

.checkout-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.checkout-step {
    border-radius: 12px;
    border: 1px solid #d8e5f2;
    background: #f9fcff;
    padding: 11px;
    display: grid;
    gap: 3px;
}

.checkout-step small {
    color: #617d98;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.checkout-step strong {
    font-size: 14px;
}

.checkout-step span {
    color: #5a7590;
    font-size: 12px;
}

.checkout-step.checkout-step-active {
    border-color: #b7d6ef;
    background: linear-gradient(145deg, #ffffff 0%, #eff7ff 100%);
}

.cart-qty-input {
    max-width: 90px;
}

.cart-summary-row {
    margin-top: 14px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    flex-wrap: wrap;
}

.cart-total-box {
    min-width: 230px;
}

.cart-total-value {
    font-size: 30px;
}

.cart-checkout-alert {
    margin: 0;
}

.cart-checkout-actions {
    justify-content: flex-end;
}

.empty-state {
    border-radius: 14px;
    border: 1px dashed #ccdeef;
    background: #f8fbff;
    padding: 18px;
    display: grid;
    gap: 10px;
    justify-items: start;
}

.empty-state h3 {
    margin: 0;
    font-size: 22px;
    font-family: "Space Grotesk", "Manrope", sans-serif;
}

.empty-state p {
    margin: 0;
    color: #53708a;
    font-size: 14px;
    line-height: 1.5;
}

.card-skeleton {
    margin-top: 12px;
    border-radius: 12px;
    border: 1px dashed #cfe0ef;
    background: #f7fbff;
    padding: 12px;
    display: grid;
    gap: 8px;
}

.skeleton-line {
    display: block;
    height: 11px;
    border-radius: 999px;
    background: linear-gradient(90deg, #e8f1fb 0%, #d9e8f8 50%, #e8f1fb 100%);
    background-size: 180% 100%;
    animation: shimmer 1.2s linear infinite;
}

.skeleton-line-short {
    width: 62%;
}

.order-lifecycle {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.lifecycle-step {
    border-radius: 12px;
    border: 1px solid #d6e4f1;
    background: #f8fbff;
    padding: 10px;
    display: grid;
    gap: 3px;
}

.lifecycle-step small {
    font-size: 11px;
    font-weight: 800;
    color: #62809b;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.lifecycle-step strong {
    font-size: 14px;
}

.lifecycle-step span {
    color: #58738e;
    font-size: 12px;
    line-height: 1.4;
}

.lifecycle-step.is-done {
    border-color: #b8e1cd;
    background: #effcf4;
}

.order-delivery-card {
    background: linear-gradient(160deg, #ffffff 0%, #f7fbff 100%);
}

.order-delivery-head {
    justify-content: space-between;
}

.order-delivery-payload {
    white-space: pre-wrap;
    word-break: break-word;
    background: #f8fafc;
    border: 1px solid #dbe2ea;
    border-radius: 10px;
    padding: 10px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 12px;
    line-height: 1.45;
}

.store-mobile-nav {
    display: none;
}

@keyframes shimmer {
    0% {
        background-position: 100% 0;
    }
    100% {
        background-position: -100% 0;
    }
}

.stock-tag {
    width: fit-content;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 800;
    background: #e6fbf3;
    color: var(--ok);
}

.stock-tag.empty {
    background: #fff2f1;
    color: var(--danger);
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border-radius: 11px;
    border: 1px solid transparent;
    padding: 9px 13px;
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}

.btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.btn-primary {
    color: #fff;
    background: linear-gradient(145deg, #0f7ed3, #0b5f9f);
    box-shadow: 0 10px 18px rgba(12, 107, 178, 0.3);
}

.btn-primary:hover {
    background: linear-gradient(145deg, #0e72be, #0a548d);
}

.btn-secondary {
    color: #2f506c;
    background: #eef5fc;
    border-color: #d4e3f2;
}

.btn-secondary:hover {
    background: #e4eef8;
}

.btn-danger {
    color: var(--danger);
    background: #fff2f1;
    border-color: #f2c7c5;
}

.btn-link {
    border-color: transparent;
    background: transparent;
    color: var(--brand);
    padding: 0;
    font-weight: 700;
}

.inline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.stack {
    display: grid;
    gap: 10px;
}

.form-grid {
    display: grid;
    gap: 12px;
}

.form-row {
    display: grid;
    gap: 6px;
}

label {
    color: #304a62;
    font-size: 13px;
    font-weight: 700;
}

input,
select,
textarea {
    width: 100%;
    border-radius: 10px;
    border: 1px solid #cfdfef;
    background: #fff;
    color: var(--text);
    font: inherit;
    padding: 10px 12px;
}

textarea {
    min-height: 110px;
    resize: vertical;
}

.table-wrap {
    overflow-x: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    padding: 11px 10px;
    border-bottom: 1px solid #d9e5f2;
    text-align: left;
    vertical-align: top;
    font-size: 14px;
}

th {
    color: #53708d;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: #f3f8ff;
}

.badge {
    display: inline-block;
    border-radius: 999px;
    padding: 4px 9px;
    font-size: 12px;
    font-weight: 800;
}

.badge.pending {
    background: #fff5db;
    color: var(--warn);
}

.badge.success {
    background: #e3fbf1;
    color: var(--ok);
}

.badge.failed {
    background: #fff1ef;
    color: var(--danger);
}

.kpi {
    border-radius: 14px;
    border: 1px solid #d4e3f2;
    background: linear-gradient(160deg, #ffffff 0%, #f5f9ff 100%);
    box-shadow: var(--shadow-sm);
    padding: 16px;
}

.kpi-label {
    color: #62809e;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 8px;
}

.kpi-value {
    font-family: "Space Grotesk", "Manrope", sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: #0b5f9f;
}

.wallet-page {
    gap: 14px;
}

.wallet-section-title {
    margin: 0 0 10px;
    font-family: "Space Grotesk", "Manrope", sans-serif;
    font-size: 22px;
    line-height: 1.2;
}

.wallet-topup-card {
    padding-top: 16px;
}

.wallet-topup-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: end;
}

.wallet-topup-label {
    margin: 0;
}

.wallet-topup-submit {
    min-width: 128px;
    min-height: 44px;
}

.wallet-statement-table {
    min-width: 760px;
}

.wallet-created-cell {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.wallet-amount-col,
.wallet-amount-cell {
    text-align: right;
    white-space: nowrap;
}

.wallet-tx-id {
    display: inline-block;
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: bottom;
}

.wallet-empty {
    text-align: center;
    padding-top: 20px;
    padding-bottom: 20px;
}

.error-box,
.success-box {
    border-radius: 12px;
    border: 1px solid;
    padding: 12px 14px;
    margin-bottom: 12px;
    font-size: 14px;
}

.error-box {
    color: #9a302b;
    border-color: #f0c4c1;
    background: #fff3f2;
}

.success-box {
    color: #0c6e4b;
    border-color: #bbe6d2;
    background: #e7f9f0;
}

.pagination {
    margin-top: 12px;
}

.pagination nav {
    display: flex;
    justify-content: center;
}

@media (max-width: 1080px) {
    .store-header {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 12px 0;
    }

    .store-nav {
        justify-self: flex-start;
        flex-wrap: wrap;
        border-radius: 14px;
    }

    .store-nav-item.has-mega .store-mega {
        display: none !important;
    }

    .store-actions {
        justify-self: flex-start;
    }

    .store-hero {
        flex-direction: column;
        align-items: flex-start;
    }

    .grid-cols-2,
    .grid-cols-3 {
        grid-template-columns: 1fr;
    }

    .catalog-filter-grid {
        grid-template-columns: 1fr;
    }

    .catalog-filter-actions {
        justify-content: flex-start;
    }

    .catalog-category-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .trust-strip {
        grid-template-columns: 1fr;
    }

    .catalog-experience-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .domain-search-form {
        grid-template-columns: 1fr;
    }

    .domain-check-result {
        flex-direction: column;
    }

    .product-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .product-actions form .btn {
        width: 100%;
    }

    .checkout-steps {
        grid-template-columns: 1fr;
    }

    .cart-summary-row {
        flex-direction: column;
    }

    .cart-checkout-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .order-lifecycle {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wallet-topup-form {
        grid-template-columns: 1fr;
    }

    .wallet-topup-submit {
        width: 100%;
    }
}

@media (max-width: 640px) {
    .store-container {
        width: calc(100% - 22px);
    }

    .store-hero h1 {
        font-size: 28px;
    }

    .catalog-category-strip {
        grid-template-columns: 1fr;
    }

    .catalog-experience-head h3 {
        font-size: 21px;
    }

    .store-main {
        padding-bottom: 90px;
    }

    .store-mobile-nav {
        position: fixed;
        left: 10px;
        right: 10px;
        bottom: 10px;
        z-index: 60;
        border-radius: 14px;
        border: 1px solid #c9dbec;
        background: rgba(252, 255, 255, 0.96);
        box-shadow: 0 14px 28px rgba(14, 61, 97, 0.22);
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 6px;
        padding: 6px;
        backdrop-filter: blur(10px);
    }

    .store-mobile-nav a {
        min-height: 38px;
        border-radius: 10px;
        display: grid;
        place-items: center;
        font-size: 12px;
        font-weight: 800;
        color: #365874;
    }

    .store-mobile-nav a.active {
        color: #fff;
        background: linear-gradient(145deg, #0f7ed3, #0b5f9f);
    }

    .order-lifecycle {
        grid-template-columns: 1fr;
    }

    .domain-check-result strong {
        font-size: 18px;
    }

    .product-grid {
        grid-template-columns: 1fr;
    }
}
