:root {
    --wth-blue-header: #2f5ea8;
    --wth-blue-footer: #4d69ad;
    --wth-cyan-menu: #4ac4fa;
    --wth-gold: #c6a227;
    --wth-gold-strong: #b18c15;
    --wth-sky: #4ba9dc;
    --wth-text: #383838;
    --wth-muted: #6f6f6f;
}

.portal-consent {
    position: fixed;
    z-index: 10000;
    right: 24px;
    bottom: 24px;
    width: min(460px, calc(100vw - 32px));
    padding: 20px;
    border: 1px solid #dbe3f0;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(25, 42, 70, .22);
}
.portal-consent p { margin: 6px 0 14px; }
.portal-consent__actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.portal-consent-link { position: fixed; z-index: 9999; left: 12px; bottom: 12px; border: 1px solid #dbe3f0; border-radius: 999px; background: #fff; color: #40577c; padding: 7px 12px; font-size: 12px; box-shadow: 0 5px 18px rgba(25, 42, 70, .12); }

.portal-test-mode-active { padding-top: 44px; }
.portal-test-mode-banner { position: fixed; z-index: 10001; top: 0; right: 0; left: 0; min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 9px; padding: 9px 18px; background: #f4b63d; color: #202c44; font-size: 13px; line-height: 1.3; text-align: center; box-shadow: 0 2px 10px rgba(31, 43, 67, .18); }
.portal-test-mode-banner i { font-size: 15px; }
.portal-test-mode-banner a { color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 575px) { .portal-test-mode-active { padding-top: 58px; } .portal-test-mode-banner { min-height: 58px; padding: 7px 12px; font-size: 12px; } }

/* Compact administrative product records */
.portal-auth-link {
    color: var(--wth-blue-header);
    font-weight: 700;
}

.portal-auth-link:hover {
    color: #17457f;
}

.portal-auth-actions,
.portal-security-form__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
}

.portal-recaptcha-v3 {
    min-height: 0;
}

.portal-recaptcha-v3__error,
.portal-form-error {
    margin: 8px 0 0;
    color: #b42318;
    font-size: 13px;
    font-weight: 600;
}

.portal-security-form {
    display: grid;
    gap: 24px;
}

.portal-security-form__group-heading {
    display: grid;
    gap: 5px;
    margin-bottom: -10px;
}

.portal-security-form__group-heading h4 {
    margin: 0;
    color: #1f2937;
    font-size: 17px;
    font-weight: 750;
}

.portal-security-form__group-heading p {
    margin: 0;
    color: #667085;
    font-size: 13px;
}

.portal-switch-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 18px;
    border: 1px solid #dfe6f0;
    border-radius: 16px;
    background: #f8fafc;
}

.portal-switch-row > span {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.portal-switch-row small,
.portal-gateway-credentials label small {
    color: #667085;
    line-height: 1.45;
}

.portal-switch-row input {
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
    accent-color: var(--wth-blue-header);
}

.portal-security-form .portal-gateway-credentials {
    align-items: start;
}

.portal-security-form .portal-gateway-credentials label {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 7px;
}

.portal-security-form .portal-gateway-credentials label > span {
    font-weight: 700;
}

.portal-security-form__actions > a {
    color: var(--wth-blue-header);
    font-weight: 700;
}

.portal-admin-product-search {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) auto auto;
    gap: 10px;
    align-items: center;
    margin-bottom: 16px;
}

.portal-admin-product-search__field {
    position: relative;
    display: block;
    margin: 0;
}

.portal-admin-product-search__field i {
    position: absolute;
    top: 50%;
    left: 16px;
    color: #667085;
    transform: translateY(-50%);
    pointer-events: none;
}

.portal-admin-product-search__field input {
    width: 100%;
    min-height: 46px;
    padding: 10px 16px 10px 44px;
    border: 1px solid #d7deea;
    border-radius: 14px;
    background: #fff;
    color: #111827;
}

.portal-admin-product-search__field input:focus {
    border-color: var(--wth-blue-header);
    outline: 3px solid rgba(47, 94, 168, 0.14);
}

.portal-admin-product-search .ps-btn,
.portal-admin-product-search__clear {
    min-height: 46px;
}

.portal-admin-product-search__clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    color: var(--wth-blue-header);
    font-size: 13px;
    font-weight: 800;
}

.portal-admin-product-search__clear:focus-visible {
    outline: 3px solid rgba(47, 94, 168, 0.28);
    outline-offset: 2px;
}

.portal-admin-product-search__result {
    margin: -6px 0 14px;
    color: #667085;
    font-size: 13px;
}

.portal-admin-products {
    overflow: hidden;
    border: 1px solid #e4e9f1;
    border-radius: 18px;
    background: #fff;
}

.portal-admin-products__labels,
.portal-admin-product__summary {
    display: grid;
    grid-template-columns: minmax(230px, 1.5fr) minmax(150px, 0.8fr) minmax(120px, 0.55fr) 132px;
    gap: 22px;
    align-items: center;
}

.portal-admin-products__labels {
    padding: 12px 20px;
    border-bottom: 1px solid #e4e9f1;
    background: #f8fafc;
    color: #667085;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.portal-admin-product {
    border-bottom: 1px solid #e4e9f1;
}

.portal-admin-product:last-child {
    border-bottom: 0;
}

.portal-admin-product__summary {
    min-height: 92px;
    padding: 16px 20px;
    cursor: pointer;
    list-style: none;
    transition: background-color 0.2s ease;
}

.portal-admin-product__summary::-webkit-details-marker {
    display: none;
}

.portal-admin-product__summary:hover,
.portal-admin-product[open] > .portal-admin-product__summary {
    background: #f4f7fc;
}

.portal-admin-product__summary:focus-visible {
    position: relative;
    z-index: 1;
    outline: 3px solid rgba(47, 94, 168, 0.28);
    outline-offset: -3px;
}

.portal-admin-product__identity,
.portal-admin-product__store,
.portal-admin-product__status {
    min-width: 0;
}

.portal-admin-product__identity {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.portal-admin-product__identity strong,
.portal-admin-product__store > span {
    overflow-wrap: anywhere;
}

.portal-admin-product__identity strong {
    color: #111827;
    line-height: 1.35;
}

.portal-admin-product__identity > small {
    color: #667085;
}

.portal-admin-product__store,
.portal-admin-product__status {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}

.portal-admin-product__store > small,
.portal-admin-product__status > small {
    display: none;
    color: #667085;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.portal-admin-product__flags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 3px;
}

.portal-admin-product__flag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 24px;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.portal-admin-product__flag--recommended {
    color: #1d4ed8;
    background: rgba(59, 130, 246, 0.12);
}

.portal-admin-product__flag--sponsored {
    color: #7a5100;
    background: rgba(255, 184, 0, 0.18);
}

.portal-admin-product__manage {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 44px;
    padding: 9px 14px;
    border: 1px solid rgba(47, 94, 168, 0.28);
    border-radius: 12px;
    color: var(--wth-blue-header);
    font-size: 13px;
    font-weight: 800;
}

.portal-admin-product__manage i {
    font-size: 11px;
    transition: transform 0.2s ease;
}

.portal-admin-product[open] .portal-admin-product__manage i {
    transform: rotate(180deg);
}

.portal-admin-product__body {
    display: grid;
    grid-template-columns: minmax(150px, 0.55fr) minmax(380px, 1.7fr) minmax(230px, 0.9fr);
    padding: 0 20px 20px;
    background: #f4f7fc;
}

.portal-admin-product__section {
    min-width: 0;
    padding: 18px;
    border-top: 1px solid #dfe6f0;
}

.portal-admin-product__section + .portal-admin-product__section {
    border-left: 1px solid #dfe6f0;
}

.portal-admin-product__section-label {
    display: block;
    margin-bottom: 12px;
    color: #475467;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.portal-admin-product__review-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    color: var(--wth-blue-header);
    font-weight: 800;
}

.portal-admin-product__review-link:hover {
    color: #17457f;
}

.portal-admin-product__quiet,
.portal-admin-product__hint {
    color: #667085;
}

.portal-admin-product__update-form {
    display: grid;
    grid-template-columns: minmax(120px, 0.65fr) minmax(160px, 1fr);
    gap: 10px;
    align-items: end;
}

.portal-admin-product__update-form label {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 6px;
    margin: 0;
}

.portal-admin-product__update-form label > span {
    color: #475467;
    font-size: 12px;
    font-weight: 700;
}

.portal-admin-product__update-form .form-control {
    min-width: 0;
    min-height: 44px;
    border-radius: 12px;
}

.portal-admin-product__update-form .ps-btn {
    grid-column: 1 / -1;
    justify-self: start;
    min-height: 44px;
    white-space: nowrap;
}

.portal-admin-product__visibility-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.portal-admin-product__visibility-actions form {
    margin: 0;
}

.portal-admin-product__visibility-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    background: #fff;
    color: #344054;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.portal-admin-product__visibility-btn:hover:not(:disabled) {
    border-color: var(--wth-blue-header);
    color: var(--wth-blue-header);
}

.portal-admin-product__visibility-btn--recommended.is-active {
    border-color: var(--wth-blue-header);
    background: var(--wth-blue-header);
    color: #fff;
}

.portal-admin-product__visibility-btn--sponsored.is-active {
    border-color: #e3a300;
    background: #ffb800;
    color: #1f2937;
}

.portal-admin-product__visibility-btn:focus-visible,
.portal-admin-product__review-link:focus-visible {
    outline: 3px solid rgba(47, 94, 168, 0.28);
    outline-offset: 2px;
}

.portal-admin-product__visibility-btn:disabled {
    cursor: not-allowed;
    opacity: 0.48;
}

.portal-admin-product__hint {
    display: block;
    margin-top: 9px;
    line-height: 1.4;
}

.portal-admin-products__empty {
    padding: 32px 20px;
    color: #667085;
    text-align: center;
}

@media (max-width: 991px) {
    .portal-admin-products__labels {
        display: none;
    }

    .portal-admin-product__summary {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 14px;
        padding: 18px;
    }

    .portal-admin-product__store,
    .portal-admin-product__status {
        grid-column: 1;
    }

    .portal-admin-product__store > small,
    .portal-admin-product__status > small {
        display: block;
    }

    .portal-admin-product__manage {
        grid-column: 2;
        grid-row: 1 / span 3;
        align-self: center;
    }

    .portal-admin-product__body {
        grid-template-columns: 1fr;
        padding: 0 18px 18px;
    }

    .portal-admin-product__section + .portal-admin-product__section {
        border-left: 0;
    }

    .portal-admin-product__update-form {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575px) {
    .portal-switch-row,
    .portal-auth-actions,
    .portal-security-form__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .portal-switch-row input {
        align-self: flex-start;
    }

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

    .portal-admin-product-search__field {
        grid-column: 1 / -1;
    }

    .portal-admin-product__summary {
        grid-template-columns: 1fr;
    }

    .portal-admin-product__manage {
        grid-column: 1;
        grid-row: auto;
        width: 100%;
    }

    .portal-admin-product__visibility-actions,
    .portal-admin-product__visibility-actions form,
    .portal-admin-product__visibility-btn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .portal-admin-product__manage i,
    .portal-admin-product__summary,
    .portal-admin-product__visibility-btn {
        transition: none;
    }
}

.portal-admin-seller-panel {
    padding: 34px;
    background: #f1f4f9;
    box-shadow: 0 28px 70px rgba(28, 45, 76, 0.1);
}

.portal-admin-seller-panel__header {
    margin-bottom: 24px;
}

.portal-admin-seller-panel__header h3 {
    margin: 5px 0 6px;
    font-size: clamp(26px, 3vw, 34px);
}

.portal-admin-seller-panel__header p {
    max-width: 650px;
    margin: 0;
    color: #667085;
}

.portal-admin-seller-search {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto auto;
    gap: 10px;
    align-items: center;
    margin-bottom: 18px;
}

.portal-admin-seller-search__field {
    position: relative;
    display: block;
    margin: 0;
}

.portal-admin-seller-search__field svg {
    position: absolute;
    top: 50%;
    left: 17px;
    width: 19px;
    height: 19px;
    fill: none;
    stroke: #64748b;
    stroke-width: 1.7;
    stroke-linecap: round;
    transform: translateY(-50%);
    pointer-events: none;
}

.portal-admin-seller-search__field input {
    width: 100%;
    min-height: 50px;
    padding: 11px 18px 11px 48px;
    border: 0;
    border-radius: 16px;
    outline: 1px solid rgba(45, 67, 104, 0.12);
    background: #fff;
    color: #111827;
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.9), 0 8px 24px rgba(39, 59, 96, 0.05);
    transition: outline-color 320ms cubic-bezier(0.32, 0.72, 0, 1), box-shadow 320ms cubic-bezier(0.32, 0.72, 0, 1);
}

.portal-admin-seller-search__field input:focus {
    outline: 2px solid rgba(47, 94, 168, 0.45);
    box-shadow: 0 10px 28px rgba(47, 94, 168, 0.12);
}

.portal-admin-seller-search .ps-btn,
.portal-admin-seller-search__clear {
    min-height: 50px;
}

.portal-admin-seller-search__clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 14px;
    color: var(--wth-blue-header);
    font-size: 13px;
    font-weight: 800;
}

.portal-admin-seller-search__clear:focus-visible {
    outline: 3px solid rgba(47, 94, 168, 0.28);
    outline-offset: 2px;
}

.portal-admin-seller-search__result {
    margin: -4px 0 16px;
    color: #667085;
    font-size: 13px;
}

.portal-admin-sellers {
    overflow: hidden;
    padding: 6px;
    border-radius: 24px;
    outline: 1px solid rgba(45, 67, 104, 0.1);
    background: rgba(41, 61, 96, 0.05);
}

.portal-admin-sellers__labels,
.portal-admin-seller__summary {
    display: grid;
    grid-template-columns: minmax(230px, 1.45fr) minmax(160px, 0.9fr) minmax(120px, 0.55fr) 150px;
    gap: 24px;
    align-items: center;
}

.portal-admin-sellers__labels {
    padding: 11px 22px 13px;
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.portal-admin-seller {
    overflow: hidden;
    border-radius: 18px;
    background: #fff;
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.85);
}

.portal-admin-seller + .portal-admin-seller {
    margin-top: 6px;
}

.portal-admin-seller__summary {
    min-height: 92px;
    padding: 18px 22px;
    cursor: pointer;
    list-style: none;
    transition: background-color 420ms cubic-bezier(0.32, 0.72, 0, 1), transform 420ms cubic-bezier(0.32, 0.72, 0, 1);
}

.portal-admin-seller__summary::-webkit-details-marker {
    display: none;
}

.portal-admin-seller__summary:hover,
.portal-admin-seller[open] > .portal-admin-seller__summary {
    background: #f8faff;
}

.portal-admin-seller__summary:active {
    transform: scale(0.995);
}

.portal-admin-seller__summary:focus-visible {
    position: relative;
    z-index: 1;
    outline: 3px solid rgba(47, 94, 168, 0.3);
    outline-offset: -3px;
}

.portal-admin-seller__identity,
.portal-admin-seller__company,
.portal-admin-seller__status {
    min-width: 0;
}

.portal-admin-seller__identity,
.portal-admin-seller__company,
.portal-admin-seller__status {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}

.portal-admin-seller__identity strong {
    overflow-wrap: anywhere;
    color: #111827;
    font-size: 15px;
    line-height: 1.35;
}

.portal-admin-seller__identity small {
    overflow-wrap: anywhere;
    color: #667085;
}

.portal-admin-seller__company > small,
.portal-admin-seller__status > small {
    display: none;
    color: #667085;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.portal-admin-seller__manage {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 48px;
    padding: 7px 7px 7px 16px;
    border-radius: 999px;
    outline: 1px solid rgba(47, 94, 168, 0.2);
    color: var(--wth-blue-header);
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 8px 18px rgba(47, 94, 168, 0.06);
}

.portal-admin-seller__manage-icon {
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(47, 94, 168, 0.1);
    transition: transform 480ms cubic-bezier(0.32, 0.72, 0, 1), background-color 320ms cubic-bezier(0.32, 0.72, 0, 1);
}

.portal-admin-seller__manage-icon svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.portal-admin-seller[open] .portal-admin-seller__manage-icon {
    transform: rotate(180deg);
    background: rgba(47, 94, 168, 0.16);
}

.portal-admin-seller__body {
    display: grid;
    grid-template-columns: minmax(210px, 0.85fr) minmax(190px, 0.75fr) minmax(360px, 1.5fr);
    gap: 6px;
    padding: 0 6px 6px;
    background: #f8faff;
}

.portal-admin-seller__section {
    min-width: 0;
    padding: 24px;
    border-radius: 15px;
    background: #fff;
    outline: 1px solid rgba(45, 67, 104, 0.08);
}

.portal-admin-seller__section-label {
    display: block;
    margin-bottom: 14px;
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.portal-admin-seller__section > strong {
    display: block;
    color: #1e293b;
    font-size: 14px;
}

.portal-admin-seller__section > p {
    margin: 7px 0 0;
    color: #667085;
    font-size: 12px;
    line-height: 1.55;
}

.portal-admin-seller__links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.portal-admin-seller__links a,
.portal-admin-seller__review-link {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 8px 13px;
    border-radius: 999px;
    outline: 1px solid rgba(47, 94, 168, 0.2);
    color: var(--wth-blue-header);
    font-size: 12px;
    font-weight: 800;
    transition: transform 320ms cubic-bezier(0.32, 0.72, 0, 1), background-color 320ms cubic-bezier(0.32, 0.72, 0, 1), color 320ms cubic-bezier(0.32, 0.72, 0, 1);
}

.portal-admin-seller__links a:hover,
.portal-admin-seller__links a:focus-visible,
.portal-admin-seller__review-link:hover,
.portal-admin-seller__review-link:focus-visible {
    color: #fff;
    background: var(--wth-blue-header);
    transform: translateY(-1px);
}

.portal-admin-seller__links a.is-primary {
    color: #fff;
    background: var(--wth-blue-header);
}

.portal-admin-seller__review-link {
    gap: 8px;
    margin-top: 16px;
}

.portal-admin-seller__review-link svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.portal-admin-seller__update-form {
    display: grid;
    grid-template-columns: minmax(145px, 0.75fr) minmax(180px, 1.25fr);
    gap: 11px;
    align-items: end;
}

.portal-admin-seller__update-form label {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 7px;
    margin: 0;
}

.portal-admin-seller__update-form label > span {
    color: #475467;
    font-size: 11px;
    font-weight: 700;
}

.portal-admin-seller__update-form .form-control {
    min-width: 0;
    min-height: 46px;
    border: 0;
    border-radius: 13px;
    outline: 1px solid rgba(45, 67, 104, 0.14);
    background: #f8fafc;
}

.portal-admin-seller__update-form .form-control:focus {
    outline: 2px solid rgba(47, 94, 168, 0.4);
    box-shadow: none;
}

.portal-admin-seller__update-form .ps-btn {
    grid-column: 1 / -1;
    justify-self: start;
    min-height: 46px;
    white-space: nowrap;
}

.portal-admin-store__update-form {
    grid-template-columns: minmax(110px, 0.7fr) minmax(110px, 0.65fr) minmax(160px, 1.1fr);
}

.portal-admin-sellers__empty {
    padding: 44px 24px;
    border-radius: 18px;
    background: #fff;
    color: #667085;
    text-align: center;
}

.portal-admin-seller-edit__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.portal-admin-seller-edit__toolbar > a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--wth-blue-header);
    font-size: 13px;
    font-weight: 800;
}

.portal-admin-seller-edit__toolbar svg,
.portal-admin-seller-edit__warning svg,
.portal-admin-seller-edit__actions svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.portal-admin-seller-edit__warning {
    display: flex;
    gap: 16px;
    margin-bottom: 18px;
    padding: 20px;
    border-radius: 20px;
    outline: 1px solid rgba(198, 139, 0, 0.18);
    background: linear-gradient(135deg, #fffaf0, #fffdf8);
    box-shadow: 0 16px 34px rgba(121, 86, 9, 0.08);
}

.portal-admin-seller-edit__warning-icon {
    display: inline-flex;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(234, 179, 8, 0.16);
    color: #8a5a00;
}

.portal-admin-seller-edit__warning strong {
    color: #624000;
}

.portal-admin-seller-edit__warning p {
    margin: 5px 0 8px;
    color: #765c2a;
    line-height: 1.55;
}

.portal-admin-seller-edit__warning a {
    color: #755000;
    font-size: 13px;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.portal-admin-seller-edit {
    overflow: hidden;
    padding: 7px;
    border-radius: 28px;
    outline: 1px solid rgba(45, 67, 104, 0.1);
    background: rgba(41, 61, 96, 0.05);
    box-shadow: 0 28px 70px rgba(28, 45, 76, 0.1);
}

.portal-admin-seller-edit__section {
    display: grid;
    grid-template-columns: minmax(190px, 0.62fr) minmax(0, 1.6fr);
    gap: 36px;
    padding: 34px;
    border-radius: 21px;
    background: #fff;
}

.portal-admin-seller-edit__section + .portal-admin-seller-edit__section {
    margin-top: 7px;
}

.portal-admin-seller-edit__section-heading {
    display: flex;
    align-items: flex-start;
    gap: 13px;
}

.portal-admin-seller-edit__section-heading > span {
    display: inline-flex;
    min-width: 38px;
    height: 26px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(47, 94, 168, 0.1);
    color: var(--wth-blue-header);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.portal-admin-seller-edit__section-heading h3 {
    margin: 0 0 6px;
    color: #172033;
    font-size: 20px;
}

.portal-admin-seller-edit__section-heading p {
    margin: 0;
    color: #667085;
    font-size: 12px;
    line-height: 1.55;
}

.portal-admin-seller-edit__fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.portal-admin-seller-edit__fields label {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 8px;
    margin: 0;
}

.portal-admin-seller-edit__fields label.is-wide {
    grid-column: 1 / -1;
}

.portal-admin-seller-edit__fields label > span {
    color: #3f4b5f;
    font-size: 12px;
    font-weight: 750;
}

.portal-admin-seller-edit__fields .form-control {
    min-height: 50px;
    border: 0;
    border-radius: 15px;
    outline: 1px solid rgba(45, 67, 104, 0.14);
    background: #f8fafc;
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.8);
    transition: outline-color 320ms cubic-bezier(0.32, 0.72, 0, 1), background-color 320ms cubic-bezier(0.32, 0.72, 0, 1);
}

.portal-admin-seller-edit__fields .form-control:focus {
    outline: 2px solid rgba(47, 94, 168, 0.45);
    background: #fff;
    box-shadow: none;
}

.portal-admin-seller-edit__footer {
    margin-top: 7px;
    padding: 26px 30px;
    border-radius: 21px;
    background: #fff;
}

.portal-admin-seller-edit__confirmation {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin: 0 0 22px;
    padding: 16px 18px;
    border-radius: 15px;
    background: #fff8e7;
    color: #654700;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.portal-admin-seller-edit__confirmation input {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    margin-top: 1px;
    accent-color: var(--wth-blue-header);
}

.portal-admin-seller-edit__actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.portal-admin-seller-edit__actions .ps-btn {
    min-height: 50px;
}

.portal-admin-seller-edit__actions button.ps-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding-right: 8px;
}

.portal-admin-seller-edit__actions button.ps-btn > span {
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    transition: transform 360ms cubic-bezier(0.32, 0.72, 0, 1);
}

.portal-admin-seller-edit__actions button.ps-btn:hover > span,
.portal-admin-seller-edit__actions button.ps-btn:focus-visible > span {
    transform: translateX(2px);
}

@media (max-width: 1199px) {
    .portal-admin-seller__body {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .portal-admin-seller__section--administration {
        grid-column: 1 / -1;
    }
}

@media (max-width: 991px) {
    .portal-admin-sellers__labels {
        display: none;
    }

    .portal-admin-seller__summary {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 14px;
        padding: 20px;
    }

    .portal-admin-seller__company,
    .portal-admin-seller__status {
        grid-column: 1;
    }

    .portal-admin-seller__company > small,
    .portal-admin-seller__status > small {
        display: block;
    }

    .portal-admin-seller__manage {
        grid-column: 2;
        grid-row: 1 / span 3;
        align-self: center;
    }

    .portal-admin-seller__body {
        grid-template-columns: 1fr;
    }

    .portal-admin-seller__section--administration {
        grid-column: auto;
    }

    .portal-admin-seller-edit__section {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 28px;
    }
}

@media (max-width: 767px) {
    .portal-admin-seller-panel {
        padding: 22px 16px;
        border-radius: 22px;
    }

    .portal-admin-seller-search {
        grid-template-columns: 1fr 1fr;
    }

    .portal-admin-seller-search__field {
        grid-column: 1 / -1;
    }

    .portal-admin-seller__manage > span:first-child {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
    }

    .portal-admin-seller__manage {
        min-height: 42px;
        padding: 4px;
        outline: 0;
        box-shadow: none;
    }

    .portal-admin-seller__body {
        padding: 0 5px 5px;
    }

    .portal-admin-seller__section {
        padding: 21px 18px;
    }

    .portal-admin-seller__update-form,
    .portal-admin-seller-edit__fields {
        grid-template-columns: 1fr;
    }

    .portal-admin-seller-edit__fields label.is-wide {
        grid-column: auto;
    }

    .portal-admin-seller-edit__section {
        padding: 24px 18px;
    }

    .portal-admin-seller-edit__footer {
        padding: 22px 18px;
    }

    .portal-admin-seller-edit__actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .portal-admin-seller-edit__actions .ps-btn {
        width: 100%;
        justify-content: center;
    }
}

/* Seller product form: clearer groups and a stronger price summary. */
.seller-product-form-card {
    height: auto;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(32, 55, 99, 0.08);
    background: #fff;
    box-shadow: 0 20px 48px rgba(24, 40, 70, 0.09);
}

.seller-product-form {
    display: grid;
    gap: 20px;
    padding: clamp(20px, 3vw, 36px);
}

.seller-product-form__intro {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    padding: 0 2px 22px;
    border-bottom: 1px solid rgba(32, 55, 99, 0.09);
}

.seller-product-form__intro .portal-eyebrow {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--wth-blue-header);
}

.seller-product-form__intro h2 {
    margin: 0 0 7px;
    color: #17243a;
    font-size: clamp(22px, 2.4vw, 28px);
    font-weight: 700;
    letter-spacing: -0.025em;
}

.seller-product-form__intro p {
    margin: 0;
    color: #667085;
    line-height: 1.6;
}

.seller-product-form__required {
    flex: 0 0 auto;
    padding: 8px 12px;
    border: 1px solid rgba(217, 155, 0, 0.18);
    border-radius: 999px;
    background: rgba(255, 210, 65, 0.12);
    color: #5a4a1c !important;
    font-size: 12px;
    font-weight: 600;
}

.seller-product-form__required span {
    margin-right: 3px;
    color: #c62828;
    font-weight: 800;
}

.seller-product-form__section {
    min-width: 0;
    padding: clamp(18px, 2.2vw, 26px);
    border: 1px solid rgba(32, 55, 99, 0.08);
    border-radius: 20px;
    background: linear-gradient(145deg, #fff 0%, #fbfcff 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.seller-product-form__section-heading {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 20px;
}

.seller-product-form__section-heading > span {
    display: inline-flex;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(255, 205, 45, 0.2);
    color: #67500a;
    font-size: 12px;
    font-weight: 800;
}

.seller-product-form__section-heading h3 {
    margin: 1px 0 4px;
    color: #1d2a40;
    font-size: 17px;
    font-weight: 700;
}

.seller-product-form__section-heading p {
    margin: 0;
    color: #667085;
    font-size: 13px;
    line-height: 1.55;
}

.seller-product-form .form-label {
    margin-bottom: 8px;
    color: #344054;
    font-size: 13px;
    font-weight: 600;
}

.seller-product-form .form-control {
    min-height: 48px;
    border: 1px solid #d8dfeb;
    border-radius: 13px;
    background-color: #fff;
    color: #1d2939;
    transition: border-color 180ms cubic-bezier(0.2, 0.75, 0.25, 1), box-shadow 180ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

.seller-product-form .form-control:focus {
    border-color: #6c86bb;
    box-shadow: 0 0 0 4px rgba(59, 89, 152, 0.11);
}

.seller-product-form input[type="file"].form-control {
    padding: 8px;
    font-size: 12px;
}

.seller-product-form .text-muted {
    color: #667085 !important;
    font-size: 12px;
    line-height: 1.55;
}

.seller-product-profit-estimate {
    min-height: 60px;
    padding: 11px 13px;
    border: 1px solid rgba(56, 91, 152, 0.12);
    border-left: 3px solid #3d5f9e;
    border-radius: 11px;
    background: #f2f6fc;
    color: #344563;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.55;
}

.seller-product-sale-toggle {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-height: 58px;
    margin-bottom: 0;
    padding: 11px 13px;
    border: 1px solid rgba(32, 55, 99, 0.09);
    border-radius: 12px;
    background: #f8f9fc;
}

.seller-product-sale-toggle .form-check-input {
    flex: 0 0 auto;
    margin: 3px 0 0;
}

.seller-product-sale-toggle .form-check-label {
    display: grid;
    gap: 2px;
    color: #344054;
    font-size: 13px;
    line-height: 1.45;
    cursor: pointer;
}

.seller-product-sale-toggle .form-check-label strong {
    font-weight: 650;
}

.seller-product-sale-toggle .form-check-label span {
    color: #667085;
    font-size: 11px;
}

.seller-product-form__image-preview {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
    color: #475467;
    font-size: 12px;
    font-weight: 600;
}

.seller-product-form__image-preview img {
    width: 62px;
    height: 62px;
    border: 1px solid rgba(32, 55, 99, 0.1);
    border-radius: 13px;
    object-fit: cover;
}

.seller-product-form .portal-form-divider {
    margin-top: 0;
    padding-top: 4px;
    border-top: 0;
}

.seller-product-form .portal-variation-builder__section {
    border-color: rgba(32, 55, 99, 0.08);
    background: #f7f9fd;
}

.seller-product-form .portal-variation-card {
    border-color: rgba(32, 55, 99, 0.09);
    background: #fff;
    box-shadow: 0 8px 20px rgba(24, 40, 70, 0.04);
}

.seller-product-form .portal-variation-fields {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
}

.seller-product-form .portal-variation-field {
    min-width: 0;
}

.seller-product-form .portal-variation-field .form-label,
.seller-product-form .portal-variation-media > .form-label {
    display: block;
    min-height: 20px;
    margin-bottom: 7px;
}

.seller-product-form .portal-variation-secondary-fields {
    display: grid;
    grid-template-columns: minmax(150px, 0.7fr) minmax(0, 1.8fr);
    gap: 20px;
    align-items: start;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(32, 55, 99, 0.08);
}

.seller-product-form .portal-variation-field--stock {
    max-width: 240px;
}

.seller-product-form .portal-variation-media__content {
    display: flex;
    align-items: center;
    gap: 14px;
}

.seller-product-form .portal-variation-card__image {
    width: 104px;
    max-width: 104px;
    flex: 0 0 104px;
    aspect-ratio: 1 / 1;
    border-radius: 14px;
}

.seller-product-form .portal-variation-media__controls {
    display: grid;
    min-width: 0;
    gap: 8px;
}

.seller-product-form .portal-variation-media__controls .form-control {
    max-width: 390px;
}

.seller-product-form .portal-variation-media__controls small {
    color: #667085;
    font-size: 12px;
    line-height: 1.5;
}

@media (max-width: 767px) {
    .seller-product-form .portal-variation-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .seller-product-form .portal-variation-secondary-fields {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .seller-product-form .portal-variation-media__content {
        align-items: flex-start;
    }
}

@media (max-width: 420px) {
    .seller-product-form .portal-variation-fields {
        grid-template-columns: 1fr;
    }

    .seller-product-form .portal-variation-media__content {
        flex-direction: column;
    }
}

.seller-product-form__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 8px 2px 0;
}

.seller-product-form__actions p {
    margin: 0;
    color: #667085;
    font-size: 13px;
    line-height: 1.5;
}

.seller-product-form__action-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

.seller-product-form__actions .ps-btn {
    min-width: 190px;
    min-height: 48px;
    border-radius: 13px;
    box-shadow: 0 8px 18px rgba(200, 151, 0, 0.2);
    transition: transform 180ms cubic-bezier(0.2, 0.75, 0.25, 1), box-shadow 180ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

.seller-product-form__actions .ps-btn--draft {
    color: #344054;
    background: #eef1f5;
    box-shadow: 0 6px 14px rgba(16, 24, 40, 0.08);
}

.seller-product-form__actions .ps-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 11px 22px rgba(200, 151, 0, 0.25);
}

.seller-product-form__actions .ps-btn--draft:hover {
    color: #1d2939;
    background: #e2e6ec;
    box-shadow: 0 9px 18px rgba(16, 24, 40, 0.12);
}

@media (max-width: 767px) {
    .seller-product-form {
        gap: 15px;
        padding: 18px;
    }

    .seller-product-form__intro {
        display: block;
        padding-bottom: 18px;
    }

    .seller-product-form__required {
        display: inline-block;
        margin-top: 14px !important;
    }

    .seller-product-form__section {
        padding: 17px;
        border-radius: 16px;
    }

    .seller-product-form__section-heading {
        gap: 11px;
        margin-bottom: 17px;
    }

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

    .seller-product-form__action-buttons {
        flex-direction: column-reverse;
    }

    .seller-product-form__actions .ps-btn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .portal-admin-seller__summary,
    .portal-admin-seller__manage-icon,
    .portal-admin-seller__links a,
    .portal-admin-seller__review-link,
    .portal-admin-seller-edit__actions button.ps-btn > span {
        transition: none;
    }
}

body {
    background: #f5f5f7;
    color: var(--wth-text);
}

.portal-header__meta {
    background: var(--wth-cyan-menu);
}

.portal-header__meta-inner {
    min-height: 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.portal-header__meta-inner p {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    color: #fff;
}

.portal-header__socials {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.portal-header__socials a {
    color: #fff;
    font-size: 16px;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.portal-header__socials a:hover {
    color: #fff;
    opacity: 0.85;
    transform: translateY(-1px);
}

.portal-header.header .header__top.portal-header__top {
    background: #fff;
    background-color: #fff;
    padding: 18px 0 16px;
    border-bottom: 1px solid rgba(47, 94, 168, 0.1);
}

.portal-header__top-inner {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
}

.portal-brand img {
    display: block;
    max-height: 86px;
    width: auto;
}

.portal-header__search.ps-form--quick-search {
    max-width: 100%;
}

.portal-header__search.ps-form--quick-search input,
.portal-header__search.ps-form--quick-search button {
    height: 48px;
    border-color: rgba(56, 56, 56, 0.16);
}

.portal-header__search.ps-form--quick-search input {
    border-right: 0;
    color: var(--wth-text);
    font-size: 14px;
    padding: 0 18px;
}

.portal-header__search.ps-form--quick-search button {
    width: 60px;
    color: #666;
    background: #fff;
    border-left: 0;
    border-color: rgba(56, 56, 56, 0.16);
}

.portal-header__search.ps-form--quick-search button:hover,
.portal-header__search.ps-form--quick-search button:focus {
    color: var(--wth-blue-header);
    background: #fff;
}

.portal-header__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    min-width: max-content;
}

.portal-header__account-link a,
.portal-header__account-name,
.portal-link-button {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.01em;
    text-transform: uppercase;
}

.portal-header__account-link a,
.portal-header__account-name {
    color: var(--wth-text);
}

.portal-header__account-link a:hover,
.portal-header__account-name:hover,
.portal-link-button:hover {
    color: var(--wth-blue-header);
}

.portal-header__account--auth {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    line-height: 1.2;
}

.portal-header__top .header__extra,
.portal-header__top .ps-block--user-header a,
.portal-header__cart-total,
.portal-link-button {
    color: var(--wth-text);
}

.portal-header__top .header__extra:hover,
.portal-header__top .ps-block--user-header a:hover {
    color: var(--wth-blue-header);
}

.portal-header__cart {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: var(--wth-text);
    font-size: 28px;
}

.portal-header__wishlist {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: var(--wth-text);
    font-size: 24px;
}

.portal-header__cart span {
    top: -5px;
    right: -9px;
    width: 18px;
    height: 18px;
    background: var(--wth-cyan-menu);
    color: #fff;
    font-size: 10px;
}

.portal-header__wishlist span {
    top: -5px;
    right: -9px;
    width: 18px;
    height: 18px;
    background: var(--wth-blue-header);
    color: #fff;
    font-size: 10px;
}

.portal-header__cart-total {
    font-size: 14px;
    font-weight: 600;
}

.portal-header__nav {
    border-bottom: 0;
    background: var(--wth-blue-header);
}

.portal-header__nav-inner {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 18px;
}

.portal-brand {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.portal-brand--mobile img {
    max-height: 54px;
}

.header.header--mobile,
.header--mobile .navigation--mobile,
.header--mobile.header--sticky .navigation--mobile {
    background: #fff;
    background-color: #fff;
}

.header--mobile {
    border-bottom: 1px solid rgba(47, 94, 168, 0.08);
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
    text-align: left;
}

.header--mobile::after {
    display: none;
}

.header--mobile .navigation--mobile {
    min-height: 68px;
    align-items: center;
    padding: 8px 16px 4px;
}

.header--mobile .navigation--mobile .navigation__left,
.header--mobile .navigation--mobile .navigation__right {
    min-width: 0;
}

.header--mobile .header__actions {
    gap: 8px;
}

.header--mobile .header__actions > * {
    margin: 0;
}

.header--mobile .header__extra,
.header--mobile .ps-block--user-header a,
.header--mobile .header__actions i,
.header--mobile .ps-block--user-header i {
    color: var(--wth-text);
}

.header--mobile .header__extra {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.header--mobile .header__extra:hover,
.header--mobile .header__extra:focus {
    color: var(--wth-blue-header);
    background: rgba(74, 196, 250, 0.12);
}

.header--mobile .header__extra span {
    background: var(--wth-cyan-menu);
}

.portal-mobile-cart {
    position: relative;
}

.header--mobile .portal-mobile-cart span {
    top: 0;
    right: 0;
    width: 18px;
    height: 18px;
    background: #111;
}

.header--mobile .portal-mobile-cart span i {
    color: #fff;
    font-size: 10px;
    font-weight: 800;
}

.portal-mobile-account {
    border: 1px solid rgba(47, 94, 168, 0.12);
}

.portal-mobile-search-bar {
    display: flex;
    width: 100%;
    gap: 0;
    padding: 0 16px 12px;
    background: #fff;
}

.portal-mobile-search-bar input {
    min-width: 0;
    flex: 1;
    height: 44px;
    padding: 0 14px;
    border: 1px solid rgba(47, 94, 168, 0.14);
    border-right: 0;
    border-radius: 10px 0 0 10px;
    color: var(--wth-text);
    font-size: 14px;
}

.portal-mobile-search-bar button {
    width: 48px;
    height: 44px;
    border: 0;
    border-radius: 0 10px 10px 0;
    background: var(--wth-blue-header);
    color: #fff;
    font-size: 20px;
}

.portal-mobile-search-bar input:focus {
    outline: none;
    border-color: rgba(47, 94, 168, 0.36);
}

.portal-mobile-bottom-nav {
    padding: 8px 18px calc(8px + env(safe-area-inset-bottom));
    border-top: 1px solid rgba(47, 94, 168, 0.12);
    box-shadow: 0 -10px 28px rgba(15, 23, 42, 0.08);
}

.portal-cart-toast {
    position: fixed;
    z-index: 10003;
    bottom: 24px;
    left: 50%;
    width: max-content;
    max-width: calc(100vw - 32px);
    padding: 13px 18px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 14px;
    background: #243650;
    box-shadow: 0 12px 32px rgba(20, 35, 58, 0.24);
    color: #fff;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.4;
    text-align: center;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 10px);
    transition: opacity 180ms ease, transform 180ms ease;
}

@media (max-width: 767px) {
    .portal-cart-toast {
        bottom: calc(76px + env(safe-area-inset-bottom));
    }
}

.portal-cart-toast.is-visible {
    opacity: 1;
    transform: translate(-50%, 0);
}

.portal-cart-toast--error {
    background: #8f2f2a;
}

.portal-mobile-bottom-nav .navigation__content {
    max-width: 460px;
}

.portal-mobile-bottom-nav .navigation__item {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 58px;
    gap: 3px;
    color: var(--wth-text);
    text-decoration: none;
}

.portal-mobile-bottom-nav .navigation__item i {
    font-size: 23px;
    line-height: 1;
}

.portal-mobile-bottom-nav .navigation__item .icon-bag2 {
    display: inline-block;
    transform-origin: 50% 50%;
}

.portal-mobile-bottom-nav__cart {
    position: relative;
}

.portal-mobile-bottom-nav .navigation__item .portal-mobile-bottom-nav__count {
    position: absolute;
    top: -5px;
    left: calc(50% + 5px);
    display: inline-flex;
    min-width: 18px;
    height: 18px;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    border: 2px solid #fff;
    border-radius: 999px;
    background: var(--wth-blue-header);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    transform-origin: 50% 50%;
}

.portal-mobile-bottom-nav .navigation__item .portal-mobile-bottom-nav__count i {
    color: inherit;
    font-size: inherit;
    font-style: normal;
    font-weight: inherit;
    line-height: inherit;
}

.portal-mobile-bottom-nav .navigation__item span {
    font-size: 12px;
    line-height: 1.2;
}

.portal-mobile-bottom-nav .navigation__item:hover,
.portal-mobile-bottom-nav .navigation__item:focus {
    color: var(--wth-blue-header);
}

.portal-mobile-panel-search {
    display: block;
    width: auto;
    max-width: 100%;
    margin: 16px 18px;
    padding: 0;
}

.portal-mobile-panel-search .form-control {
    width: 100%;
    max-width: 100%;
    height: 48px;
    margin: 0 0 12px;
    border-radius: 10px;
    box-sizing: border-box;
}

.portal-mobile-panel-search .ps-btn {
    width: 100%;
}

.ps-panel--sidebar .ps-panel__header {
    background: #fff;
    border-bottom: 1px solid rgba(47, 94, 168, 0.1);
}

.ps-panel--sidebar .ps-panel__header h3 {
    color: var(--wth-blue-header);
}

.ps-panel--sidebar .ps-panel__header .ps-btn--close:before,
.ps-panel--sidebar .ps-panel__header .ps-btn--close:after {
    background-color: var(--wth-blue-header);
}

@media (max-width: 1199px) {
    body {
        padding-bottom: calc(72px + env(safe-area-inset-bottom));
    }

    .header--mobile.header--sticky .navigation--mobile {
        position: static;
        box-shadow: none;
    }

    .ps-panel--sidebar .ps-panel__content {
        padding-bottom: calc(92px + env(safe-area-inset-bottom));
    }
}

.portal-main-menu {
    display: flex;
    align-items: stretch;
}

.portal-header__nav-extra {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 6px 0;
    gap: 12px;
}

.portal-header__nav-greeting {
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
}

.portal-main-menu > li {
    border-left: 1px solid rgba(255, 255, 255, 0.14);
}

.portal-main-menu > li:last-child {
    border-right: 1px solid rgba(255, 255, 255, 0.14);
}

.portal-main-menu > li > a {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    font-weight: 600;
    text-transform: uppercase;
    color: #fff;
}

.portal-main-menu > li.current-menu-item > a,
.portal-main-menu > li:hover > a,
.portal-main-menu > li > a:hover {
    color: var(--wth-cyan-menu);
}

.portal-header .sub-menu li > a:hover,
.portal-header .mega-menu a:hover {
    color: var(--wth-cyan-menu);
}

.portal-header .sub-menu,
.portal-header .mega-menu {
    border-top: 3px solid var(--wth-cyan-menu);
}

.portal-header__nav .sub-toggle:before,
.portal-header__nav .sub-toggle:after {
    background-color: rgba(255, 255, 255, 0.9);
}

.portal-categories-menu {
    display: grid !important;
    min-width: 860px;
    grid-template-columns: 230px minmax(560px, 1fr);
    align-items: stretch;
}

.portal-categories-menu__aside {
    width: 560px;
    min-width: 560px;
    padding-left: 32px;
    border-left: 1px solid rgba(47, 94, 168, 0.12);
}

.portal-categories-menu__product {
    display: block;
    min-height: 100%;
    padding: 8px 0 0;
    color: inherit;
    text-decoration: none;
}

.portal-categories-menu__product-head {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 190px;
    gap: 24px;
    align-items: center;
    margin-bottom: 14px;
}

.portal-categories-menu__product-copy {
    min-width: 0;
}

.portal-categories-menu__product-category {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 9px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1.45;
    text-transform: uppercase;
    color: var(--wth-blue-header);
}

.portal-categories-menu__aside h4 {
    max-width: 320px;
    font-size: 26px;
    line-height: 1.12;
    margin-bottom: 12px;
    word-break: normal;
    overflow-wrap: anywhere;
}

.portal-categories-menu__product p {
    max-width: 520px;
    margin: 0 0 16px;
    color: #5f6572;
    line-height: 1.55;
}

.portal-categories-menu__product-copy strong {
    display: block;
    margin-bottom: 0;
    font-size: 24px;
    color: var(--wth-blue-footer);
}

.portal-categories-menu__product-media {
    border-radius: 18px;
    overflow: hidden;
    background: #f4f6fb;
    box-shadow: 0 12px 28px rgba(47, 94, 168, 0.1);
}

.portal-categories-menu__product-media img {
    width: 100%;
    height: 190px;
    object-fit: cover;
    display: block;
}

.portal-categories-menu .ps-btn,
.portal-header__nav .ps-btn {
    background-color: var(--wth-cyan-menu);
    border-color: var(--wth-cyan-menu);
}

.portal-categories-menu .ps-btn:hover,
.portal-categories-menu .ps-btn:focus,
.portal-header__nav .ps-btn:hover,
.portal-header__nav .ps-btn:focus {
    background-color: #34b7f2;
    border-color: #34b7f2;
}

.portal-header__dashboard-btn.ps-btn--outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 18px;
    color: #fff;
    border-color: rgba(255, 255, 255, 0.38);
    background: transparent;
    white-space: nowrap;
}

.portal-header__dashboard-btn.ps-btn--outline:hover,
.portal-header__dashboard-btn.ps-btn--outline:focus,
.portal-header__dashboard-btn.ps-btn--outline.is-active {
    color: var(--wth-blue-header);
    border-color: #fff;
    background: #fff;
}

.portal-header__user-menu {
    position: relative;
}

.portal-header__user-menu summary {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.38);
    border-radius: 12px;
    color: #fff;
    cursor: pointer;
    list-style: none;
}

.portal-header__user-menu summary::-webkit-details-marker {
    display: none;
}

.portal-header__user-menu[open] summary,
.portal-header__user-menu summary:hover,
.portal-header__user-menu summary:focus {
    color: var(--wth-blue-header);
    background: #fff;
    border-color: #fff;
}

.portal-header__user-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    min-width: 170px;
    padding: 10px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.16);
    z-index: 20;
}

.portal-header__user-dropdown a,
.portal-header__user-dropdown .portal-link-button {
    display: block;
    width: 100%;
    text-align: left;
    color: var(--wth-text);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    padding: 8px 0;
}

.portal-header__user-dropdown a:hover,
.portal-header__user-dropdown .portal-link-button:hover {
    color: var(--wth-blue-header);
}

.portal-alert {
    margin-top: 20px;
    border-radius: 14px;
    border: 0;
}

body.portal-modal-open {
    overflow: hidden;
}

.portal-alert-modal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: center;
    padding: 24px;
    animation: portal-alert-modal-enter 420ms cubic-bezier(0.32, 0.72, 0, 1) both;
}

.portal-alert-modal__backdrop {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 50% 42%, rgba(47, 94, 168, 0.2), transparent 48%),
        rgba(10, 20, 39, 0.62);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.portal-alert-modal__shell {
    position: relative;
    width: min(580px, 100%);
    padding: 7px;
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.18);
    box-shadow:
        0 30px 90px rgba(5, 16, 36, 0.3),
        inset 0 1px 1px rgba(255, 255, 255, 0.72);
    animation: portal-alert-dialog-enter 560ms cubic-bezier(0.32, 0.72, 0, 1) both;
}

.portal-alert-modal__dialog {
    position: relative;
    padding: 38px;
    overflow: hidden;
    border-radius: 25px;
    background:
        radial-gradient(circle at 100% 0, rgba(74, 196, 250, 0.14), transparent 38%),
        #fff;
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.92);
    outline: none;
}

.portal-alert-modal__dialog::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 5px;
    background: linear-gradient(90deg, var(--wth-blue-header), var(--wth-cyan-menu) 58%, var(--wth-gold));
}

.portal-alert-modal__close {
    position: absolute;
    top: 20px;
    right: 20px;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #f2f5fa;
    color: #52637e;
    cursor: pointer;
    transition: transform 360ms cubic-bezier(0.32, 0.72, 0, 1), background-color 360ms cubic-bezier(0.32, 0.72, 0, 1);
}

.portal-alert-modal__close:hover,
.portal-alert-modal__close:focus-visible {
    background: #e7edf7;
    transform: rotate(4deg) scale(1.06);
}

.portal-alert-modal__close svg,
.portal-alert-modal__guidance svg,
.portal-alert-modal__action-icon svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.portal-alert-modal__icon {
    display: grid;
    width: 66px;
    height: 66px;
    margin-bottom: 24px;
    place-items: center;
    border-radius: 22px;
    background: linear-gradient(145deg, #edf8ff, #d7effc);
    color: var(--wth-blue-header);
    box-shadow:
        0 14px 34px rgba(47, 94, 168, 0.16),
        inset 0 1px 1px rgba(255, 255, 255, 0.9);
}

.portal-alert-modal__icon svg {
    width: 34px;
    height: 34px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.portal-alert-modal__eyebrow {
    display: inline-flex;
    margin-bottom: 11px;
    padding: 6px 11px;
    border-radius: 999px;
    background: rgba(74, 196, 250, 0.12);
    color: #24548f;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.portal-alert-modal__dialog h2 {
    max-width: 440px;
    margin: 0 0 14px;
    color: #17253d;
    font-size: clamp(28px, 4.5vw, 38px);
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.portal-alert-modal__dialog > p {
    margin: 0;
    color: #536177;
    font-size: 16px;
    line-height: 1.65;
}

.portal-alert-modal__guidance {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 24px;
    padding: 16px 18px;
    border-radius: 18px;
    background: #f4f7fb;
    color: #44546d;
    font-size: 14px;
    line-height: 1.5;
}

.portal-alert-modal__guidance svg {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    margin-top: 1px;
    color: var(--wth-blue-header);
}

.portal-alert-modal__action {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 54px;
    margin-top: 26px;
    padding: 7px 8px 7px 22px;
    border: 0;
    border-radius: 999px;
    background: var(--wth-blue-header);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 16px 34px rgba(47, 94, 168, 0.22);
    transition: transform 420ms cubic-bezier(0.32, 0.72, 0, 1), box-shadow 420ms cubic-bezier(0.32, 0.72, 0, 1);
}

.portal-alert-modal__action:hover,
.portal-alert-modal__action:focus-visible {
    color: #fff;
    box-shadow: 0 20px 40px rgba(47, 94, 168, 0.28);
    transform: translateY(-2px);
}

.portal-alert-modal__action:active {
    transform: scale(0.98);
}

.portal-alert-modal__action-icon {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
    transition: transform 420ms cubic-bezier(0.32, 0.72, 0, 1);
}

.portal-alert-modal__action:hover .portal-alert-modal__action-icon,
.portal-alert-modal__action:focus-visible .portal-alert-modal__action-icon {
    transform: translateX(3px) scale(1.04);
}

.portal-alert-modal__close:focus-visible,
.portal-alert-modal__action:focus-visible {
    outline: 3px solid rgba(74, 196, 250, 0.45);
    outline-offset: 3px;
}

.portal-alert-modal.is-leaving {
    opacity: 0;
    transition: opacity 260ms cubic-bezier(0.4, 0, 1, 1);
}

.portal-alert-modal.is-leaving .portal-alert-modal__shell {
    transform: translateY(12px) scale(0.98);
    transition: transform 260ms cubic-bezier(0.4, 0, 1, 1);
}

@keyframes portal-alert-modal-enter {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes portal-alert-dialog-enter {
    from {
        opacity: 0;
        transform: translateY(24px) scale(0.97);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (max-width: 575px) {
    .portal-alert-modal {
        align-items: end;
        padding: 12px;
    }

    .portal-alert-modal__shell {
        border-radius: 27px;
    }

    .portal-alert-modal__dialog {
        padding: 30px 22px 22px;
        border-radius: 20px;
    }

    .portal-alert-modal__close {
        top: 16px;
        right: 16px;
    }

    .portal-alert-modal__icon {
        width: 58px;
        height: 58px;
        margin-bottom: 20px;
        border-radius: 19px;
    }

    .portal-alert-modal__dialog h2 {
        padding-right: 30px;
        font-size: 29px;
    }

    .portal-alert-modal__action {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .portal-alert-modal,
    .portal-alert-modal__shell {
        animation: none;
    }

    .portal-alert-modal *,
    .portal-alert-modal.is-leaving,
    .portal-alert-modal.is-leaving .portal-alert-modal__shell {
        transition: none;
    }
}

.portal-link-button {
    border: 0;
    background: transparent;
    color: var(--wth-text);
    padding: 0;
    font-size: 14px;
}

.ps-btn {
    background-color: var(--wth-gold);
    border-color: var(--wth-gold);
    color: #fff;
}

.ps-btn:hover,
.ps-btn:focus {
    background-color: var(--wth-gold-strong);
    border-color: var(--wth-gold-strong);
    color: #fff;
}

.ps-btn--outline {
    background: transparent;
    color: var(--wth-gold);
    border: 1px solid var(--wth-gold);
}

.ps-btn--blue,
button.ps-btn--blue,
.ps-btn.ps-btn--blue,
button.ps-btn.ps-btn--blue {
    background: var(--wth-blue-header);
    border-color: var(--wth-blue-header);
    color: #fff;
}

.ps-btn--blue:hover,
.ps-btn--blue:focus,
button.ps-btn--blue:hover,
button.ps-btn--blue:focus,
.ps-btn.ps-btn--blue:hover,
.ps-btn.ps-btn--blue:focus,
button.ps-btn.ps-btn--blue:hover,
button.ps-btn.ps-btn--blue:focus {
    background: #229ad0;
    border-color: #229ad0;
    color: #fff;
}

.portal-page-hero {
    padding: 64px 0 28px;
    background:
        linear-gradient(135deg, rgba(77, 105, 173, 0.16), rgba(255, 255, 255, 0.96)),
        url('../img/slider/home-5/promotion-6.jpg') center/cover no-repeat;
}

.portal-page-hero--marketplace {
    position: relative;
    background:
        linear-gradient(90deg, rgba(15, 23, 42, 0.62), rgba(15, 23, 42, 0.34)),
        url('../img/hero/hero-wth.jpg') center/cover no-repeat;
}

.portal-page-hero--marketplace .container {
    position: relative;
    z-index: 1;
}

.portal-page-hero--marketplace h1,
.portal-page-hero--marketplace p {
    color: #fff;
}

.portal-page-hero--marketplace .portal-eyebrow {
    color: var(--wth-gold);
}

.portal-page-hero--category {
    position: relative;
    background-image:
        var(--portal-category-hero-image);
}

.portal-page-hero--category::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.58), rgba(0, 0, 0, 0.34));
}

.portal-page-hero--category .container {
    position: relative;
    z-index: 1;
}

.portal-page-hero--category h1 {
    color: #fff;
}

.portal-page-hero--category .portal-eyebrow {
    color: var(--wth-gold);
}

.portal-page-hero--plain {
    background: #fff;
}

.portal-page-hero--product-detail {
    background: #E3E7F1;
}

.portal-product-detail-section {
    padding-top: 36px;
}

@media (max-width: 767px) {
    .portal-product-detail-section {
        padding-top: 24px;
    }
}

.portal-page-hero h1 {
    font-size: 42px;
    margin-bottom: 10px;
}

.portal-page-hero p,
.portal-hero-copy p,
.portal-card p,
.portal-kpi p,
.portal-note,
.portal-product-copy,
.portal-product-meta {
    color: #666;
}

.portal-eyebrow {
    display: inline-block;
    margin-bottom: 10px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--wth-gold);
}

.portal-hero-copy {
    margin-top: 20px;
    padding: 28px;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 16px 40px rgba(17, 17, 17, 0.08);
}

.portal-hero-copy h2 {
    font-size: 34px;
    line-height: 1.15;
    margin-bottom: 12px;
}

.portal-hero-actions,
.portal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.portal-kpis,
.portal-section {
    padding: 50px 0;
}

.portal-home {
    padding-bottom: 36px;
}

.portal-home__hero {
    padding: 28px 0 18px;
}

.portal-home__hero-grid {
    display: grid;
    grid-template-columns: 272px minmax(0, 1fr);
    gap: 18px;
    align-items: stretch;
}

.portal-home-categories__card,
.portal-home-mosaic__card,
.portal-home-promo,
.portal-home-aside-card,
.portal-home-store-card,
.portal-home-featured-product {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 24px;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.07);
}

.portal-home-categories__card {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 18px;
}

.portal-home-categories__details {
    display: flex;
    flex: 1;
    flex-direction: column;
}

.portal-home-categories__summary {
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: space-between;
    margin-bottom: 10px;
    cursor: pointer;
    list-style: none;
}

.portal-home-categories__summary::-webkit-details-marker {
    display: none;
}

.portal-home-categories__summary-label {
    display: none;
    margin-left: auto;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #5f6777;
}

.portal-home-categories__summary i {
    display: none;
    color: #5f6777;
    transition: transform 0.2s ease;
}

.portal-home-categories__details:not([open]) .portal-home-categories__summary i {
    transform: rotate(-90deg);
}

.portal-home-categories__card ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.portal-home-categories__card li + li {
    margin-top: 6px;
}

.portal-home-categories__card a {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 42px;
    padding: 10px 12px;
    border-radius: 14px;
    color: #2f3c55;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.2s ease, transform 0.2s ease, color 0.2s ease;
}

.portal-home-categories__card a:hover {
    color: var(--wth-blue-header);
    background: rgba(74, 196, 250, 0.12);
    transform: translateX(2px);
}

.portal-home-categories__card i {
    width: 18px;
    color: var(--wth-blue-header);
    text-align: center;
}

.portal-home-top {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(220px, 0.95fr) minmax(220px, 0.95fr);
    grid-template-rows: repeat(3, minmax(184px, 1fr));
    gap: 10px;
    height: 100%;
}

.portal-home-top__card {
    position: relative;
    overflow: hidden;
    color: inherit;
    text-decoration: none;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 0;
}

.portal-home-top__card--primary {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    display: grid;
    grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.2fr);
    min-height: 386px;
}

.portal-home-top__card--wide {
    grid-column: 2 / 4;
    grid-row: 2 / 3;
    display: grid;
    grid-template-columns: minmax(220px, 0.75fr) minmax(0, 1.25fr);
}

.portal-home-top__card--middle {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
    display: grid;
    grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.2fr);
}

.portal-home-top__card--small,
.portal-home-top__card--bottom {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(120px, 1.1fr);
}

.portal-home-top__card--small:nth-child(2) {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
}

.portal-home-top__card--accent {
    grid-column: 3 / 4;
    grid-row: 1 / 2;
    background: linear-gradient(135deg, #fff6d3, #fffef5);
}

.portal-home-top__card--bottom {
    grid-row: 3 / 4;
}

.portal-home-top__card--bottom:nth-last-child(2) {
    grid-column: 2 / 3;
}

.portal-home-top__card--bottom:last-child {
    grid-column: 3 / 4;
}

.portal-home-top__media {
    position: relative;
    min-height: 100%;
    background: linear-gradient(135deg, rgba(74, 196, 250, 0.08), rgba(210, 170, 30, 0.14));
    overflow: hidden;
}

.portal-home-top__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.portal-home-top__card:hover .portal-home-top__media img {
    transform: scale(1.03);
}

.portal-home-top__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    padding: 16px 14px;
}

.portal-home-top__copy h2,
.portal-home-top__copy h3 {
    margin: 0;
    line-height: 1.1;
    color: #1c2433;
}

.portal-home-top__copy h2 {
    font-size: 26px;
}

.portal-home-top__copy h3 {
    font-size: 16px;
    text-transform: uppercase;
}

.portal-home-top__copy p {
    margin: 0;
    color: #5b6475;
    font-size: 14px;
}

.portal-home-top__copy strong {
    font-size: 16px;
    color: #5aa018;
}

.portal-home-top__category {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--wth-gold);
}

.portal-home-mobile-hero {
    display: none;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

.portal-home-mobile-hero__viewport {
    overflow: hidden;
    border-radius: 20px;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.12);
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.portal-home-mobile-hero__track {
    display: flex;
    transition: transform 0.45s ease;
    will-change: transform;
    width: 100%;
    max-width: 100%;
}

.portal-home-mobile-hero__slide {
    position: relative;
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    min-height: 240px;
    padding: 18px;
    display: flex;
    align-items: flex-end;
    text-decoration: none;
    color: #fff;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.portal-home-mobile-hero__copy {
    display: grid;
    gap: 6px;
    max-width: 86%;
}

.portal-home-mobile-hero__category {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--wth-gold);
}

.portal-home-mobile-hero__copy h2 {
    margin: 0;
    color: #fff;
    font-size: 24px;
    line-height: 1.12;
}

.portal-home-mobile-hero__copy strong {
    color: #fff;
    font-size: 22px;
}

.portal-home-mobile-hero__dots {
    display: flex;
    width: 100%;
    justify-content: center;
    gap: 8px;
    margin-top: 10px;
}

.portal-home-mobile-hero__dots button {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(47, 60, 85, 0.22);
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.portal-home-mobile-hero__dots button.is-active {
    background: var(--wth-blue-header);
    transform: scale(1.2);
}

.portal-home-banners-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-top: 18px;
}

.portal-home-banners-row a {
    display: block;
    overflow: hidden;
    border-radius: 0;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08);
}

.portal-home-banners-row img {
    width: 100%;
    height: 100%;
    min-height: 170px;
    object-fit: cover;
}

.portal-home__catalog,
.portal-home__stores,
.portal-home__selected {
    padding: 30px 0;
}

.portal-home__section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.portal-home__section-heading h2 {
    margin: 0;
    font-size: 34px;
}

.portal-home-category-ribbon,
.portal-home-store-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 22px;
}

.portal-home-category-ribbon a,
.portal-home-category-ribbon button,
.portal-home-store-tags a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 14px;
    border-radius: 999px;
    color: #3f4758;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
}

.portal-home-category-ribbon button {
    appearance: none;
    outline: 0;
}

.portal-home-category-mobile-selector {
    display: none;
}

.portal-home-category-mobile-selector label {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #5f6777;
}

.portal-home-category-mobile-selector .form-control {
    height: 46px;
    border-radius: 14px;
}

.portal-home-category-ribbon a:hover,
.portal-home-category-ribbon button:hover,
.portal-home-category-ribbon a.is-active,
.portal-home-category-ribbon button.is-active,
.portal-home-store-tags a:hover {
    color: var(--wth-blue-header);
    border-color: rgba(74, 196, 250, 0.3);
    background: rgba(74, 196, 250, 0.12);
}

.portal-home-store-slider {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 52px;
    gap: 18px;
    align-items: center;
}

.portal-home-store-slider__viewport {
    overflow: hidden;
}

.portal-home-store-slider__track {
    display: flex;
    transition: transform 0.45s ease;
    will-change: transform;
}

.portal-home-store-slider__slide {
    flex: 0 0 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.portal-home-store-slider__control {
    width: 52px;
    height: 52px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: var(--wth-blue-footer);
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.12);
    transition: transform 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}

.portal-home-store-slider__control:hover:not(:disabled) {
    transform: translateY(-1px);
    color: var(--wth-blue-header);
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.16);
}

.portal-home-store-slider__control:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.portal-store-list-card--home {
    min-width: 0;
    height: 100%;
}

.portal-store-list-card--home .portal-store-list-card__banner {
    overflow: hidden;
}

.portal-store-list-card--home .portal-store-list-card__banner img {
    height: 200px;
}

.portal-store-list-card--home .ps-block__author {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    padding: 18px 22px 0;
}

.portal-store-list-card--home .ps-block__author .ps-block__user {
    display: block;
    width: 76px;
    height: 76px;
    border-radius: 50%;
    border: 4px solid #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14);
}

.portal-store-list-card--home .ps-block__author .ps-btn {
    justify-self: end;
    align-self: center;
}

.portal-store-list-card--home .ps-block__content {
    min-height: 230px;
    padding-top: 18px;
}

.portal-home-showcase {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.portal-home-showcase__aside {
    display: grid;
    gap: 18px;
}

.portal-home-side-banner {
    display: block;
    overflow: hidden;
    border-radius: 20px;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
}

.portal-home-side-banner img {
    width: 100%;
    display: block;
    min-height: 190px;
    object-fit: cover;
}

.portal-home-side-product {
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 20px;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
}

.portal-home-side-product__image {
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #f4f6fb;
}

.portal-home-side-product__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.portal-home-side-product__body {
    padding: 18px;
}

.portal-home-side-product__body h3 {
    margin: 6px 0 10px;
    font-size: 20px;
    line-height: 1.2;
}

.portal-home-side-product__body h3 a {
    color: inherit;
    text-decoration: none;
}

.portal-home-side-product__body p {
    margin-bottom: 12px;
    color: #5f6777;
}

.portal-home-side-product__body strong {
    font-size: 24px;
    color: var(--wth-blue-footer);
}

.portal-home-showcase__products {
    min-width: 0;
}

.portal-home-catalog-header {
    margin-bottom: 18px;
}

.portal-home-catalog-header__top {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 18px;
    margin-bottom: 14px;
}

.portal-home-catalog-header__top h2 {
    margin: 4px 0 8px;
    font-size: 34px;
}

.portal-home-catalog-header__top p {
    margin: 0;
    color: #5f6777;
    font-size: 18px;
    font-weight: 500;
}

.portal-home-category-panel {
    display: none;
}

.portal-home-category-panel.is-active {
    display: block;
}

.portal-home-category-carousel {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.portal-home-category-carousel__item {
    min-width: 0;
}

.portal-home-bottom-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.portal-home-bottom-column {
    min-width: 0;
}

.portal-home-bottom-column h3 {
    margin-bottom: 16px;
    font-size: 20px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.portal-home-mini-product {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    color: inherit;
    text-decoration: none;
}

.portal-home-mini-product + .portal-home-mini-product {
    margin-top: 14px;
}

.portal-home-mini-product img {
    width: 64px;
    height: 64px;
    border-radius: 14px;
    object-fit: cover;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.portal-home-mini-product strong {
    display: block;
    color: #29364d;
    font-size: 14px;
    line-height: 1.4;
}

.portal-home-mini-product span {
    display: inline-block;
    margin-top: 4px;
    color: var(--wth-blue-header);
    font-size: 13px;
    font-weight: 700;
}

.portal-home-bottom-column--newsletter p {
    color: #5f6777;
}

.portal-home-newsletter {
    display: grid;
    gap: 12px;
}

.portal-home-newsletter .form-control {
    height: 46px;
    border-radius: 14px;
}

.portal-home-newsletter .portal-checkbox {
    font-size: 13px;
    color: #5f6777;
}

.portal-home-socials {
    margin-top: 18px;
}

.portal-home-socials > span {
    display: block;
    margin-bottom: 10px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #5f6777;
}

.portal-home-socials div {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.portal-home-socials a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(47, 94, 168, 0.1);
    color: var(--wth-blue-footer);
    text-decoration: none;
}

@media (max-width: 1399px) {
    .portal-home-banners-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1199px) {
    .portal-home__hero-grid,
    .portal-home-showcase {
        grid-template-columns: 1fr;
    }

    .portal-home-categories__card ul {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .portal-home-categories__card li + li {
        margin-top: 0;
    }

    .portal-home-top {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: auto;
    }

    .portal-home-top__card--primary,
    .portal-home-top__card--wide,
    .portal-home-top__card--middle,
    .portal-home-top__card--small,
    .portal-home-top__card--bottom,
    .portal-home-top__card--accent {
        grid-column: auto;
        grid-row: auto;
    }

    .portal-home-catalog-header__top {
        align-items: start;
        flex-direction: column;
    }

    .portal-faq-layout {
        grid-template-columns: 1fr;
    }

    .portal-faq-aside {
        position: static;
        top: auto;
    }

    .portal-contact-layout {
        grid-template-columns: 1fr;
    }

    .portal-contact-aside {
        position: static;
        top: auto;
    }

    .portal-home-store-slider {
        grid-template-columns: 44px minmax(0, 1fr) 44px;
        gap: 12px;
    }

    .portal-home-store-slider__slide {
        gap: 16px;
    }
}

@media (max-width: 991px) {
    .portal-home__section-heading {
        align-items: start;
        flex-direction: column;
    }

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

    .portal-home-top__card--primary,
    .portal-home-top__card--wide,
    .portal-home-top__card--middle,
    .portal-home-top__card--small,
    .portal-home-top__card--bottom {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(160px, 0.8fr);
    }

    .portal-home-category-carousel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .portal-store-list-card--home .ps-block__content h4 {
        font-size: 24px;
    }

    .portal-home-store-slider__slide {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .portal-home__hero {
        padding-top: 12px;
        padding-bottom: 10px;
    }

    .portal-home__hero-grid {
        gap: 12px;
    }

    .portal-home-top,
    .portal-home-banners-row {
        grid-template-columns: 1fr;
    }

    .portal-home-categories__summary-label,
    .portal-home-categories__summary i {
        display: inline-flex;
    }

    .portal-home-categories__card {
        padding: 12px 14px;
        border-radius: 16px;
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    }

    .portal-home-categories__card ul {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        margin-top: 8px;
    }

    .portal-home-categories__summary {
        margin-bottom: 0;
    }

    .portal-home-categories__card a {
        min-height: 40px;
        padding: 8px 10px;
        border-radius: 12px;
        font-size: 14px;
    }

    .portal-home-top {
        gap: 12px;
    }

    .portal-home-mobile-hero {
        display: block;
    }

    .portal-home-mobile-hero__viewport {
        border-radius: 18px;
    }

    .portal-home-mobile-hero__slide {
        min-height: 280px;
        padding: 18px 16px;
        background-position: center center;
    }

    .portal-home-mobile-hero__copy {
        max-width: 78%;
    }

    .portal-home-mobile-hero__dots {
        margin-top: 12px;
    }

    .portal-home-top {
        display: none;
    }

    .portal-home-top__card--primary,
    .portal-home-top__card--wide,
    .portal-home-top__card--middle,
    .portal-home-top__card--small,
    .portal-home-top__card--bottom {
        display: grid !important;
        grid-template-columns: 1fr !important;
        min-height: auto;
        border-radius: 18px;
    }

    .portal-home-top__media {
        min-height: 160px;
    }

    .portal-home-top__copy {
        gap: 4px;
        padding: 12px 12px 14px;
    }

    .portal-home-top__copy h2,
    .portal-home-top__copy h3,
    .portal-home__section-heading h2,
    .portal-home-aside-card h3 {
        font-size: 22px;
    }

    .portal-home-top__copy h3 {
        font-size: 15px;
        text-transform: none;
        line-height: 1.25;
    }

    .portal-home-top__copy h2 {
        line-height: 1.15;
    }

    .portal-home-top__copy p {
        display: none;
    }

    .portal-home-top__copy strong {
        font-size: 18px;
    }

    .portal-home-bottom-grid {
        grid-template-columns: 1fr;
    }

    .portal-home-showcase__products {
        order: 1;
    }

    .portal-home-showcase__aside {
        order: 2;
    }

    .portal-home-catalog-header__top .ps-btn {
        width: 100%;
    }

    .portal-home-category-ribbon {
        display: none;
    }

    .portal-home-category-mobile-selector {
        display: block;
        margin-top: 10px;
    }

    .portal-home-category-carousel {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .portal-home-category-carousel__item .portal-product-card {
        min-width: 0;
    }

    .portal-product-card .ps-product__thumbnail img {
        height: 220px;
    }

    .portal-product-card .ps-product__container {
        min-height: 0;
        padding-bottom: 12px;
    }

    .portal-product-card .ps-product__content {
        padding-right: 10px;
    }

    .portal-product-card .ps-product__title {
        font-size: 16px;
        line-height: 1.3;
    }

    .portal-product-card .ps-product__price {
        font-size: 18px;
    }

    .portal-product-copy,
    .portal-product-meta {
        font-size: 13px;
    }

    .portal-product-card__footer--actions {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .portal-product-card__footer--actions .ps-btn {
        min-height: 42px;
        font-size: 12px;
    }

    .portal-home-banners-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .portal-home-banners-row a {
        border-radius: 16px;
    }

    .portal-home-banners-row img,
    .portal-home-side-banner img {
        min-height: 110px;
    }

    .portal-home-store-slider {
        grid-template-columns: 1fr;
    }

    .portal-home-store-slider__control {
        display: none;
    }

    .portal-home-store-slider__slide {
        grid-template-columns: 1fr;
    }

    .portal-home-side-product {
        border-radius: 18px;
    }

    .portal-home-side-product__body {
        padding: 14px;
    }

    .portal-home-side-product__body h3 {
        font-size: 18px;
    }

    .portal-home__section-heading {
        margin-bottom: 14px;
    }

    .portal-home-store-tags {
        gap: 8px;
    }

    .portal-home-store-tags a {
        min-height: 34px;
        padding: 6px 10px;
        font-size: 11px;
    }
}

@media (max-width: 479px) {
    .portal-home-mobile-hero__slide {
        min-height: 255px;
        padding: 16px 14px;
    }

    .portal-home-mobile-hero__copy h2 {
        font-size: 21px;
    }

    .portal-home-mobile-hero__copy strong {
        font-size: 20px;
    }

    .portal-home-top__media {
        min-height: 145px;
    }

    .portal-home-top__copy h2,
    .portal-home__section-heading h2 {
        font-size: 20px;
    }

    .portal-home-banners-row {
        gap: 8px;
    }

    .portal-home-banners-row img {
        min-height: 96px;
    }

    .portal-home-category-mobile-selector .form-control {
        height: 42px;
        font-size: 14px;
    }
}

.portal-hero-breadcrumb {
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 0;
    padding: 0;
    background: transparent;
}

.portal-hero-breadcrumb .breadcrumb {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0;
    padding: 10px 16px;
    border-radius: 999px;
    margin-bottom: 0;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(77, 105, 173, 0.14);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    backdrop-filter: blur(10px);
}

.portal-hero-breadcrumb .breadcrumb li,
.portal-hero-breadcrumb .breadcrumb li a {
    color: #5d6471;
    font-size: 14px;
}

.portal-hero-breadcrumb .breadcrumb > li + li::before {
    content: "/";
    display: inline-block;
    padding: 0 8px;
    color: #8f96a3;
}

.portal-section--catalog {
    padding-top: 34px;
}

.portal-category-grid {
    display: grid;
    gap: 24px;
}

.portal-category-list__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}

.portal-category-list__header p,
.portal-category-card p,
.portal-category-hero-preview p {
    color: #666;
}

.portal-category-table img,
.portal-category-hero-preview img {
    width: 100%;
    object-fit: cover;
}

.portal-category-table img {
    width: 88px;
    height: 56px;
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.portal-category-hero-preview {
    overflow: hidden;
    padding: 0;
}

.portal-category-hero-preview img {
    height: 180px;
}

.portal-category-hero-preview__body {
    padding: 22px 24px 24px;
}

.portal-category-form__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
}

.portal-page-builder {
    display: grid;
    gap: 24px;
}

.portal-page-builder__versions {
    margin-bottom: 24px;
}

.portal-page-builder__zone-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

.portal-page-builder__hint {
    font-size: 13px;
    font-weight: 600;
    color: #666;
}

.portal-page-builder__item {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}

.portal-page-builder__item img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.portal-page-builder__hero-form {
    margin-bottom: 24px;
    padding: 22px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(74, 196, 250, 0.08), rgba(255, 255, 255, 0.96));
}

.portal-page-builder__hero-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.portal-page-builder__hero-slot {
    min-width: 0;
    position: relative;
}

.portal-page-builder__hero-slot:last-child:nth-child(odd) {
    grid-column: span 2;
}

.portal-page-builder__hero-slot--full {
    grid-column: 1 / -1;
}

.portal-autocomplete {
    position: relative;
}

.portal-autocomplete__results {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 20;
    padding: 8px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
}

.portal-autocomplete__option {
    display: block;
    width: 100%;
    padding: 10px 12px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: #16233b;
    font-size: 14px;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
}

.portal-autocomplete__option:hover {
    background: rgba(74, 196, 250, 0.1);
}

.portal-table-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.portal-inline-form--compact {
    display: block;
}

.portal-table tbody tr[draggable="true"] {
    cursor: move;
}

.portal-table tbody tr.is-dragging {
    opacity: 0.45;
}

.portal-form-divider {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.portal-form-divider h4 {
    margin-bottom: 8px;
}

.portal-form-divider p {
    margin-bottom: 0;
    color: #666;
}

.portal-variation-builder {
    display: grid;
    gap: 24px;
}

.portal-variation-builder__section {
    padding: 20px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 22px;
    background: #fff;
}

.portal-variation-builder__attributes,
.portal-variation-builder__variations {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

.portal-variation-attribute-row {
    display: grid;
    grid-template-columns: 1fr 1.4fr auto;
    gap: 12px;
    align-items: center;
}

.portal-variation-attribute-options {
    position: relative;
    min-width: 0;
}

.portal-variation-attribute-options .form-control {
    padding-right: 42px;
}

.portal-variation-attribute-options__status {
    position: absolute;
    top: 50%;
    right: 13px;
    display: inline-flex;
    width: 22px;
    height: 22px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #16834a;
    background: #e8f6ee;
    transform: translateY(-50%);
    pointer-events: none;
}

.portal-variation-attribute-options__status[hidden] {
    display: none;
}

.portal-variation-attribute-options__status svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.4;
}

.portal-variation-card {
    padding: 0;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    background: #fbfcff;
    overflow: hidden;
}

.portal-variation-card__details {
    width: 100%;
}

.portal-variation-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 0;
    padding: 16px 18px;
    cursor: pointer;
    list-style: none;
}

.portal-variation-card__header::-webkit-details-marker {
    display: none;
}

.portal-variation-card__header::after {
    display: inline-flex;
    flex: 0 0 32px;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid rgba(47, 94, 168, 0.15);
    border-radius: 50%;
    color: var(--wth-blue-header);
    content: "+";
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
}

.portal-variation-card__details[open] > .portal-variation-card__header::after {
    content: "−";
}

.portal-variation-card__header:focus-visible {
    outline: 3px solid rgba(47, 94, 168, 0.25);
    outline-offset: -3px;
}

.portal-variation-card__header > span {
    display: grid;
    min-width: 0;
    gap: 4px;
}

.portal-variation-card__header span {
    color: #666;
    font-size: 13px;
}

.portal-variation-card__header strong {
    color: #26344c;
    font-size: 15px;
    line-height: 1.35;
}

.portal-variation-card__header small {
    color: #667085;
    font-size: 12px;
    line-height: 1.35;
}

.portal-variation-card__body {
    padding: 0 18px 18px;
}

.portal-variation-card__image {
    width: 100%;
    max-width: 180px;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 18px;
    background: #f5f5f7;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.portal-variation-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.portal-variation-card__image span {
    color: #6f6f6f;
    font-size: 13px;
    font-weight: 600;
}

.portal-variation-summary {
    display: grid;
    gap: 12px;
    margin-top: 18px;
}

.portal-variation-summary__group {
    padding: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    background: #fff;
}

.portal-variation-summary__group strong {
    display: block;
    margin-bottom: 8px;
}

.portal-product-variations {
    display: grid;
    gap: 18px;
}

.portal-product-variation-group {
    display: grid;
    gap: 10px;
}

.portal-product-variation-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.portal-product-variation-options--colors {
    gap: 12px;
    align-items: center;
}

.portal-variation-option {
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: #fff;
    color: #1f2937;
    transition: 0.2s ease;
    cursor: pointer;
}

.portal-variation-option:disabled {
    cursor: not-allowed;
}

.portal-variation-option.is-active {
    border-color: #3b82f6;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.14);
}

.portal-variation-option--color {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    min-width: 36px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    box-shadow: none;
}

.portal-variation-option__swatch {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: var(--variation-swatch, #d1d5db);
    border: 0;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.12);
}

.portal-variation-option__label {
    font-size: 12px;
    font-weight: 700;
}

.portal-variation-option--color .portal-variation-option__label {
    display: none;
}

.portal-variation-option--color.is-active {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.portal-variation-option--color.is-active .portal-variation-option__swatch {
    box-shadow:
        0 0 0 2px #fff,
        0 0 0 4px #3b82f6;
}

.portal-variation-option--color:hover .portal-variation-option__swatch,
.portal-variation-option--color:focus-visible .portal-variation-option__swatch {
    box-shadow:
        0 0 0 1px rgba(15, 23, 42, 0.12),
        0 0 0 4px rgba(59, 130, 246, 0.16);
}

.portal-variation-option--color.is-disabled,
.portal-variation-option--color:disabled {
    opacity: 0.3;
}

.portal-variation-option--color:disabled .portal-variation-option__swatch {
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.08);
}

.portal-variation-option--text {
    min-width: 56px;
    padding: 10px 14px;
    border-radius: 12px;
    background: #f5f5f7;
    font-size: 14px;
    font-weight: 700;
}

.portal-variation-option--text.is-disabled,
.portal-variation-option--text:disabled {
    color: #9ca3af;
    border-color: rgba(15, 23, 42, 0.08);
    background: #f5f5f7;
    opacity: 0.7;
}

@media (max-width: 767px) {
    .portal-variation-attribute-row {
        grid-template-columns: 1fr;
    }
}

.portal-faq-layout {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 24px;
}

@media (max-width: 767px) {
    .portal-page-builder__hero-grid {
        grid-template-columns: 1fr;
    }

    .portal-page-builder__hero-slot:last-child:nth-child(odd) {
        grid-column: auto;
    }

    .portal-legal-layout {
        grid-template-columns: 1fr;
    }

    .portal-legal-nav {
        position: static;
        order: 2;
    }

    .portal-legal-content {
        order: 1;
        padding: 24px 18px;
    }

    .portal-legal-block h2 {
        font-size: 22px;
    }

    .portal-legal-block p,
    .portal-legal-block li {
        font-size: 15px;
    }
}

.portal-contact-layout {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 24px;
}

.portal-legal-section {
    background: #f5f5f7;
}

.portal-legal-layout {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.portal-faq-aside {
    align-self: start;
    position: sticky;
    top: 24px;
}

.portal-contact-aside {
    align-self: start;
    position: sticky;
    top: 24px;
}

.portal-legal-nav {
    position: sticky;
    top: 24px;
}

.portal-legal-nav h3 {
    margin-bottom: 18px;
    font-size: 24px;
}

.portal-legal-nav ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.portal-legal-nav a {
    display: block;
    padding: 11px 13px;
    border-radius: 12px;
    color: var(--wth-text);
    font-weight: 700;
    text-decoration: none;
}

.portal-legal-nav a:hover,
.portal-legal-nav a.is-active {
    color: var(--wth-blue-header);
    background: rgba(74, 196, 250, 0.12);
}

.portal-legal-content {
    padding: 38px;
}

.portal-legal-block + .portal-legal-block {
    margin-top: 34px;
    padding-top: 30px;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.portal-legal-block h2 {
    margin-bottom: 14px;
    font-size: 28px;
    line-height: 1.2;
}

.portal-legal-block p,
.portal-legal-block li {
    color: #5f6777;
    font-size: 16px;
    line-height: 1.8;
}

.portal-legal-block p {
    margin-bottom: 14px;
}

.portal-legal-block ul {
    display: grid;
    gap: 8px;
    margin: 14px 0 0;
    padding-left: 20px;
}

.portal-legal-source {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 34px;
    padding-top: 24px;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    color: #6b7280;
    font-size: 13px;
}

.portal-legal-source a {
    color: var(--wth-blue-header);
    font-weight: 800;
}

.portal-faq-group .portal-section__header {
    margin-bottom: 18px;
}

.portal-faq-list {
    display: grid;
    gap: 14px;
}

.portal-faq-item {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    background: #fff;
    overflow: hidden;
}

.portal-faq-item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 22px;
    cursor: pointer;
    list-style: none;
    font-size: 18px;
    font-weight: 700;
    color: #1f2937;
}

.portal-faq-item summary::-webkit-details-marker {
    display: none;
}

.portal-faq-item summary i {
    color: var(--wth-blue-footer);
    transition: transform 0.2s ease;
}

.portal-faq-item[open] summary i {
    transform: rotate(45deg);
}

.portal-faq-item__body {
    padding: 0 22px 22px;
    color: #5f6777;
}

.portal-faq-item__body p {
    margin: 0;
    line-height: 1.7;
}

.portal-product-purchase__row {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);
    gap: 16px;
    align-items: end;
}

.portal-product-purchase__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.portal-quantity-field {
    min-width: 0;
}

.portal-cart-grid,
.portal-checkout-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) minmax(320px, 0.9fr);
    gap: 28px;
    align-items: start;
}

.portal-checkout-sidebar {
    display: grid;
    gap: 22px;
    align-self: start;
}

.portal-cart-product,
.portal-checkout-item {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
}

.portal-cart-product img,
.portal-checkout-item img {
    width: 82px;
    height: 82px;
    object-fit: cover;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.portal-cart-qty {
    display: flex;
    align-items: center;
    gap: 10px;
}

.portal-cart-qty .form-control {
    max-width: 100px;
}

.portal-cart-summary,
.portal-checkout-summary {
    position: sticky;
    top: 24px;
}

.portal-checkout-sidebar .portal-checkout-summary {
    position: static;
    top: auto;
}

.portal-checkout-summary__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.portal-checkout-summary__actions .ps-btn {
    width: 100%;
    text-align: center;
}

.portal-summary-list {
    display: grid;
    gap: 12px;
    margin-top: 18px;
}

.portal-summary-list div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.portal-summary-list div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.portal-checkout-items {
    display: grid;
    gap: 16px;
    margin-top: 18px;
}

.portal-checkout-item {
    grid-template-columns: 72px minmax(0, 1fr) auto;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.portal-checkout-item:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.portal-checkout-item p,
.portal-cart-product .text-muted,
.portal-checkout-item small {
    margin: 4px 0 0;
    color: #666;
}

.portal-section--alt {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.4), #fff);
}

.portal-kpi,
.portal-card,
.portal-panel,
.portal-form-card,
.portal-auth-card {
    height: 100%;
    padding: 28px;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.08);
}

.portal-panel {
    height: auto;
}

.portal-kpi__value {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    font-size: 36px;
    font-weight: 700;
    color: var(--wth-blue-header);
}

.portal-section__header,
.portal-panel__header {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 20px;
    margin-bottom: 26px;
}

.portal-status-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}

.portal-status-filters a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 16px;
    border-radius: 999px;
    border: 1px solid rgba(47, 94, 168, 0.14);
    background: #fff;
    color: var(--wth-blue-header);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.2s ease;
}

.portal-status-filters a:hover,
.portal-status-filters a.is-active {
    background: var(--wth-blue-header);
    border-color: var(--wth-blue-header);
    color: #fff;
}

.portal-review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.portal-review-grid .portal-panel--full {
    grid-column: 1 / -1;
}

.portal-change-table td,
.portal-change-table th {
    white-space: normal;
}

.portal-review-store__banner {
    height: 220px;
    border-radius: 18px;
    background-position: center;
    background-size: cover;
    margin-bottom: 22px;
}

.portal-review-store__body h3 {
    margin-bottom: 10px;
}

.portal-review-product {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.portal-review-product__media img {
    width: 100%;
    border-radius: 18px;
    object-fit: cover;
}

.portal-review-product__body h3 {
    margin-bottom: 10px;
}

.portal-review-product__description {
    margin-top: 16px;
}

.portal-review-product__description p {
    margin-top: 8px;
    margin-bottom: 0;
}

.portal-card__media {
    height: 190px;
    border-radius: 18px;
    background-size: cover;
    background-position: center;
    margin-bottom: 18px;
}

.portal-card__actions {
    margin-top: 18px;
}

.portal-card--info {
    border: 1px solid rgba(77, 105, 173, 0.16);
}

.portal-meta {
    padding: 0;
    margin: 16px 0 0;
    list-style: none;
}

.portal-meta li {
    margin-bottom: 8px;
    color: #444;
}

.portal-empty {
    padding: 24px;
    border: 1px dashed rgba(0, 0, 0, 0.16);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.85);
    color: #555;
    text-align: center;
}

.portal-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    margin-bottom: 30px;
}

.portal-auth-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.portal-auth-layout--single {
    grid-template-columns: minmax(0, 1fr);
}

.portal-auth-section {
    padding-top: 36px;
}

.portal-dashboard-section {
    padding-top: 34px;
}

.portal-auth-card h3 {
    margin-bottom: 18px;
}

.portal-auth-card--wide {
    width: 100%;
    max-width: 100%;
    margin: 0;
}

.portal-auth-card--accent {
    background: linear-gradient(135deg, rgba(77, 105, 173, 0.08), #ffffff);
}

.portal-seller-shell {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 28px;
}

.portal-buyer-content {
    min-width: 0;
}

.portal-admin-shell {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 28px;
}

.portal-seller-sidebar__card {
    position: sticky;
    top: 24px;
    padding: 24px;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.08);
}

.portal-seller-sidebar__brand h3 {
    margin-bottom: 8px;
}

.portal-seller-sidebar__brand p,
.portal-seller-sidebar__note p {
    color: #666;
}

.portal-seller-nav {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 22px 0;
}

.portal-seller-nav a {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 46px;
    padding: 10px 14px;
    border-radius: 14px;
    color: #334155;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.portal-seller-nav a i {
    width: 18px;
    color: var(--wth-blue-header);
    text-align: center;
}

.portal-seller-nav a:hover,
.portal-seller-nav a.is-active {
    color: var(--wth-blue-header);
    background: rgba(74, 196, 250, 0.12);
    transform: translateX(2px);
}

.portal-seller-sidebar__note {
    padding: 16px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(47, 94, 168, 0.08), rgba(255, 255, 255, 0.96));
    border: 1px solid rgba(47, 94, 168, 0.08);
}

.portal-seller-sidebar__quick {
    margin-bottom: 18px;
    padding: 16px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.portal-seller-sidebar__quick strong {
    display: block;
    margin-bottom: 12px;
}

.portal-seller-sidebar__quick-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.portal-seller-sidebar__quick-links a {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(74, 196, 250, 0.08);
    color: #334155;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.portal-seller-sidebar__quick-links a i {
    width: 18px;
    color: var(--wth-blue-header);
    text-align: center;
}

.portal-seller-sidebar__quick-links a:hover {
    background: rgba(74, 196, 250, 0.16);
    color: var(--wth-blue-header);
    transform: translateX(2px);
}

.portal-seller-tour-help {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 44px;
    margin-top: 16px;
    padding: 10px 14px;
    border: 1px solid rgba(47, 94, 168, 0.2);
    border-radius: 14px;
    background: #fff;
    color: var(--wth-blue-header);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.portal-seller-tour-help:hover {
    border-color: rgba(47, 94, 168, 0.42);
    background: rgba(74, 196, 250, 0.08);
    color: var(--wth-blue-header);
    transform: translateY(-1px);
}

.portal-seller-tour-help:focus-visible {
    outline: 3px solid rgba(74, 196, 250, 0.38);
    outline-offset: 3px;
}

.seller-tour {
    position: fixed;
    z-index: 12000;
    inset: 0;
}

.seller-tour__blocker {
    position: fixed;
    z-index: 12000;
    inset: 0;
    cursor: default;
}

.seller-tour__spotlight {
    position: fixed;
    z-index: 12001;
    border: 3px solid var(--wth-cyan-menu);
    border-radius: 16px;
    background: transparent;
    box-shadow: 0 0 0 9999px rgba(13, 27, 51, 0.76), 0 8px 30px rgba(13, 27, 51, 0.25);
    pointer-events: none;
    transition: top 0.22s ease, left 0.22s ease, width 0.22s ease, height 0.22s ease;
}

.seller-tour__dialog {
    position: fixed;
    z-index: 12002;
    width: min(390px, calc(100vw - 40px));
    padding: 24px;
    border: 1px solid rgba(47, 94, 168, 0.16);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(13, 27, 51, 0.3);
    outline: none;
}

.seller-tour__topbar,
.seller-tour__actions,
.seller-tour__navigation {
    display: flex;
    align-items: center;
}

.seller-tour__topbar {
    justify-content: space-between;
    margin-bottom: 14px;
}

.seller-tour__progress {
    color: var(--wth-blue-header);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.seller-tour__close {
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: #eef4fb;
    color: #334155;
    cursor: pointer;
}

.seller-tour__dialog h2 {
    margin: 0 0 10px;
    color: #1f3556;
    font-size: 24px;
    line-height: 1.22;
}

.seller-tour__dialog > p {
    margin: 0;
    color: #5e6878;
    font-size: 16px;
    line-height: 1.65;
}

.seller-tour__error {
    margin-top: 14px !important;
    padding: 11px 13px;
    border-radius: 10px;
    background: #fff1f0;
    color: #b42318 !important;
    font-size: 14px !important;
    font-weight: 600;
}

.seller-tour__actions {
    justify-content: space-between;
    gap: 16px;
    margin-top: 22px;
}

.seller-tour__navigation {
    gap: 8px;
}

.seller-tour__skip {
    padding: 8px 0;
    border: 0;
    background: transparent;
    color: #667085;
    font-size: 14px;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.seller-tour__close:focus-visible,
.seller-tour__skip:focus-visible,
.seller-tour__navigation .ps-btn:focus-visible {
    outline: 3px solid rgba(74, 196, 250, 0.42);
    outline-offset: 3px;
}

.seller-tour__close:disabled,
.seller-tour__skip:disabled,
.seller-tour__navigation .ps-btn:disabled {
    cursor: wait;
    opacity: 0.58;
}

.seller-tour-target-active {
    scroll-margin: 160px;
}

@media (max-width: 767px) {
    .seller-tour__dialog {
        right: 12px;
        bottom: 12px;
        left: 12px;
        width: auto;
        max-height: min(48vh, 430px);
        padding: 20px;
        overflow-y: auto;
        border-radius: 18px;
    }

    .seller-tour__dialog h2 {
        font-size: 21px;
    }

    .seller-tour__actions {
        align-items: stretch;
        flex-direction: column;
    }

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

    .seller-tour__navigation .ps-btn {
        width: 100%;
    }

    .seller-tour__skip {
        align-self: flex-start;
    }
}

@media (prefers-reduced-motion: reduce) {
    .seller-tour__spotlight,
    .portal-seller-tour-help {
        transition: none;
    }
}

.portal-seller-content {
    min-width: 0;
}

.portal-admin-sidebar__card {
    position: sticky;
    top: 24px;
    padding: 24px;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.08);
}

.portal-admin-sidebar__brand h3 {
    margin-bottom: 8px;
}

.portal-admin-sidebar__brand p,
.portal-admin-sidebar__note p {
    color: #666;
}

.portal-admin-nav {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 22px 0;
}

.portal-admin-nav > a,
.portal-admin-subnav a,
.portal-admin-nav__group summary {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 46px;
    padding: 10px 14px;
    border-radius: 14px;
    color: #334155;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.portal-admin-nav > a i,
.portal-admin-nav__group summary i {
    width: 18px;
    color: var(--wth-blue-header);
    text-align: center;
}

.portal-admin-nav > a:hover,
.portal-admin-nav > a.is-active,
.portal-admin-nav__group summary:hover,
.portal-admin-nav__group summary.is-active {
    color: var(--wth-blue-header);
    background: rgba(74, 196, 250, 0.12);
    transform: translateX(2px);
}

.portal-admin-nav__group {
    margin: 0;
    border-radius: 16px;
}

.portal-admin-nav__group summary {
    list-style: none;
    justify-content: space-between;
    cursor: pointer;
}

.portal-admin-nav__group summary::-webkit-details-marker {
    display: none;
}

.portal-admin-nav__group summary span {
    display: flex;
    align-items: center;
    gap: 12px;
}

.portal-admin-nav__group summary .fa-angle-down {
    width: auto;
    transition: transform 0.2s ease;
}

.portal-admin-nav__group[open] summary .fa-angle-down {
    transform: rotate(180deg);
}

.portal-admin-subnav {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 0 0 22px;
}

.portal-admin-subnav a {
    min-height: 42px;
    padding: 9px 14px;
    border-radius: 12px;
    font-size: 1rem;
    line-height: 1.3;
    letter-spacing: 0.01em;
}

.portal-admin-subnav a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(47, 94, 168, 0.28);
    flex: 0 0 7px;
}

.portal-admin-subnav a:hover,
.portal-admin-subnav a.is-active {
    color: var(--wth-blue-header);
    background: rgba(74, 196, 250, 0.12);
    transform: translateX(2px);
}

.portal-admin-subnav a.is-active::before {
    background: var(--wth-blue-header);
}

.portal-admin-sidebar__note {
    padding: 16px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(47, 94, 168, 0.08), rgba(255, 255, 255, 0.96));
    border: 1px solid rgba(47, 94, 168, 0.08);
}

.portal-buyer-overview-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 24px;
}

.portal-buyer-overview-grid .portal-overview-kpi {
    grid-column: span 1;
    min-width: 0;
}

.portal-buyer-overview-grid .portal-overview-kpi:nth-child(4),
.portal-buyer-overview-grid .portal-overview-kpi:nth-child(5) {
    grid-column: span 1;
}

.portal-buyer-profile-grid,
.portal-address-grid,
.portal-buyer-tracking-list {
    display: grid;
    gap: 20px;
}

.portal-buyer-profile-grid,
.portal-address-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.portal-buyer-order-list {
    display: grid;
    gap: 16px;
}

.portal-buyer-order-card,
.portal-buyer-tracking-card,
.portal-address-card {
    display: grid;
    gap: 16px;
    padding: 18px;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.96);
}

.portal-buyer-order-card {
    grid-template-columns: minmax(0, 1.2fr) auto auto auto;
    align-items: center;
}

.portal-buyer-tracking-card {
    grid-template-columns: minmax(0, 1.2fr) auto auto;
    align-items: center;
}

.portal-address-card__header {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 12px;
}

.portal-address-card h4,
.portal-buyer-order-card strong,
.portal-buyer-tracking-card strong {
    margin-bottom: 0;
}

.portal-address-card p,
.portal-buyer-order-card p,
.portal-buyer-tracking-card p {
    margin: 0;
    color: #666;
}

.portal-overview-kpi__delta--link {
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.portal-overview-kpi__delta--link:hover {
    color: var(--wth-blue-header);
    background: rgba(74, 196, 250, 0.16);
}

.portal-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    color: var(--wth-text);
    cursor: pointer;
}

.portal-checkbox input {
    width: 16px;
    height: 16px;
}

.portal-admin-content {
    min-width: 0;
}

.portal-overview-header {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}

.portal-overview-header h3 {
    margin-bottom: 4px;
    font-size: 34px;
}

.portal-overview-header p {
    margin: 0;
    font-size: 22px;
    font-weight: 600;
}

.portal-overview-header strong {
    color: var(--wth-blue-header);
}

.portal-overview-filters {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 28px;
}

.portal-overview-filters__action {
    display: flex;
    align-items: end;
}

.portal-overview-kpis {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 28px;
}

.portal-overview-kpi {
    grid-column: span 2;
    min-height: 136px;
    padding: 24px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.05);
}

.portal-overview-kpi:nth-child(4),
.portal-overview-kpi:nth-child(5) {
    grid-column: span 3;
}

.portal-overview-kpi h4 {
    margin-bottom: 18px;
    font-size: 18px;
}

.portal-overview-kpi strong {
    display: block;
    margin-bottom: 12px;
    font-size: 32px;
    line-height: 1;
}

.portal-overview-kpi__delta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    min-height: 30px;
    padding: 4px 10px;
    border-radius: 10px;
    background: rgba(15, 23, 42, 0.05);
    color: #666;
    font-size: 13px;
    font-weight: 600;
}

.portal-overview-section {
    margin-bottom: 28px;
}

.portal-overview-section .portal-panel__header p {
    margin: 8px 0 0;
    color: #666;
}

.portal-overview-charts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.portal-overview-chart--wide {
    grid-column: 1 / -1;
}

.portal-analytics-card {
    padding: 24px;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.08);
}

.portal-analytics-card__header {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.portal-analytics-card__header h4 {
    margin: 0;
    font-size: 28px;
}

.portal-analytics-card__header p {
    margin: 0;
    color: #666;
}

.portal-analytics-card__canvas {
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.9), #fff);
}

.portal-analytics-card__canvas svg {
    width: 100%;
    height: auto;
    display: block;
}

.portal-chart-grid-line {
    stroke: rgba(15, 23, 42, 0.08);
    stroke-width: 1;
}

.portal-chart-axis-line {
    stroke: rgba(15, 23, 42, 0.18);
    stroke-width: 1.5;
}

.portal-chart-label {
    fill: #7b8593;
    font-size: 12px;
}

.portal-chart-empty {
    fill: #7b8593;
    font-size: 18px;
    font-weight: 600;
}

.portal-analytics-card__legend {
    display: grid;
    gap: 12px;
    margin-top: 16px;
}

.portal-analytics-card__legend div {
    display: flex;
    align-items: center;
    gap: 10px;
}

.portal-analytics-card__legend small {
    color: #666;
}

.portal-analytics-card__legend strong {
    margin-left: auto;
}

.portal-analytics-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
}

.portal-analytics-dot--current {
    background: var(--wth-blue-header);
}

.portal-analytics-dot--previous {
    background: #8fd3a8;
}

.portal-overview-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
}

.portal-operation-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.portal-operation-card {
    padding: 18px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(77, 105, 173, 0.08), rgba(255, 255, 255, 0.96));
    border: 1px solid rgba(77, 105, 173, 0.12);
}

.portal-operation-card strong {
    display: block;
    margin-bottom: 8px;
    color: var(--wth-blue-header);
    font-size: 28px;
}

.portal-operation-card span {
    color: #4b5563;
    font-weight: 600;
}

#admin-sellers,
#admin-stores,
#admin-products {
    scroll-margin-top: 120px;
}

#seller-stores,
#seller-products {
    scroll-margin-top: 120px;
}

.portal-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.portal-badge--approved {
    color: #0e6245;
    background: rgba(16, 185, 129, 0.14);
}

.portal-badge--pending {
    color: #8a5a00;
    background: rgba(198, 162, 39, 0.18);
}

.portal-badge--rejected {
    color: #b42318;
    background: rgba(239, 68, 68, 0.12);
}

.portal-badge--info {
    color: #1d4ed8;
    background: rgba(59, 130, 246, 0.14);
}

.portal-badge--neutral {
    color: #475467;
    background: rgba(148, 163, 184, 0.18);
}

.portal-table th,
.portal-table td {
    vertical-align: middle;
}

.portal-inline-form {
    display: grid;
    grid-template-columns: 160px 1fr auto;
    gap: 10px;
    align-items: center;
}

.portal-form-card .form-control,
.portal-auth-card .form-control,
.portal-inline-form .form-control,
.portal-search .form-control {
    border-radius: 14px;
    min-height: 48px;
}

.portal-auth-field-error {
    display: block;
    margin-top: 7px;
    color: #b42318;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
}

.portal-auth-card .form-control.is-invalid {
    border-color: rgba(180, 35, 24, 0.65);
}

.portal-note {
    margin-top: 18px;
}

.portal-product-copy {
    margin-top: 8px;
}

.portal-product-category {
    margin-bottom: 8px;
    color: var(--wth-gold-strong);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.portal-product-meta {
    font-size: 13px;
}

.portal-order-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.portal-order-filters {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.portal-order-filters__actions {
    display: flex;
    align-items: end;
    gap: 10px;
    grid-column: 3 / 5;
}

.portal-order-filters--admin {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 0;
}

.portal-order-filters--admin .portal-order-filters__actions {
    grid-column: auto;
}

.portal-order-table td strong,
.portal-order-table td small {
    display: block;
}

.portal-order-table td small {
    margin-top: 4px;
    color: #666;
}

.portal-order-detail {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.8fr);
    gap: 24px;
}

.portal-order-addresses {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 24px;
}

.portal-order-address {
    padding: 20px;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 249, 255, 0.9));
}

.portal-order-address h4 {
    margin-bottom: 14px;
}

.portal-order-address p {
    margin-bottom: 6px;
    color: #555;
}

.portal-order-item {
    display: flex;
    align-items: center;
    gap: 14px;
}

.portal-order-item img {
    width: 62px;
    height: 62px;
    border-radius: 14px;
    object-fit: cover;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.portal-order-detail__sidebar {
    display: grid;
    gap: 24px;
    align-content: start;
}

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

.portal-order-notes {
    display: grid;
    gap: 14px;
    margin-bottom: 18px;
}

.portal-order-notes-panel {
    margin-top: 24px;
}

.portal-order-note {
    padding: 16px;
    border-radius: 16px;
    background: rgba(15, 23, 42, 0.04);
}

.portal-order-note p,
.portal-order-note small {
    margin: 0;
}

.portal-order-note small {
    display: block;
    margin-top: 10px;
    color: #666;
}

.portal-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #444;
    font-weight: 600;
}

.portal-checkbox input {
    width: 16px;
    height: 16px;
}

.portal-kpis--admin {
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.portal-kpis--admin .portal-kpi {
    min-width: 0;
}

.portal-shipping-panel {
    margin-top: 0;
    padding: 22px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(246, 249, 255, 0.7), #fff);
    box-shadow: none;
}

.portal-checkout-sidebar .portal-shipping-panel {
    padding: 24px;
}

.portal-stripe-panel.is-hidden {
    display: none;
}

.portal-stripe-feedback {
    margin-bottom: 16px;
    color: #555;
    font-weight: 600;
}

.portal-stripe-card-placeholder {
    min-height: 98px;
    padding: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    background: #fff;
}

.portal-gateway-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.portal-gateway-card__meta {
    display: grid;
    gap: 4px;
    margin: 12px 0 24px;
}

.portal-gateway-card__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    color: #52607a;
}

.portal-gateway-card__row strong {
    color: #1f2432;
}

.portal-gateway-form {
    display: grid;
    gap: 24px;
}

.portal-gateway-form__top {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.portal-gateway-toggle {
    display: grid;
    align-content: start;
}

.portal-gateway-credentials {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.portal-gateway-credentials > * {
    min-width: 0;
}

.portal-gateway-credential-card {
    min-height: 100%;
    min-width: 0;
}

.portal-gateway-credential-grid {
    display: grid;
    gap: 18px;
}

.portal-gateway-credential-grid > div {
    min-width: 0;
}

.portal-secret-preview {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 10px;
    padding: 12px 14px;
    border: 1px dashed rgba(15, 23, 42, 0.14);
    border-radius: 14px;
    background: rgba(246, 249, 255, 0.9);
    color: #52607a;
    font-family: "Courier New", monospace;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.02em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.portal-page-hero--blog {
    background: linear-gradient(135deg, rgba(74, 196, 250, 0.14), rgba(210, 170, 30, 0.12));
}

.portal-blog-page .ps-page__header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: end;
    gap: 16px;
    margin-bottom: 30px;
}

.portal-blog-page .ps-page__header h1 {
    margin: 0;
    font-size: 42px;
}

.portal-blog-page .ps-blog__header {
    margin-bottom: 28px;
}

.portal-blog-search {
    margin-top: 20px;
}

.portal-post-card {
    margin-bottom: 28px;
}

.portal-post-card .ps-post__thumbnail img {
    width: 100%;
    height: 260px;
    object-fit: cover;
}

.portal-post-card__excerpt {
    margin-top: 12px;
    color: #666;
    line-height: 1.75;
}

.portal-post-card--compact .ps-post__thumbnail img {
    height: 220px;
}

.portal-post-detail {
    max-width: none;
    margin: 0;
}

.portal-post-detail .ps-post__header {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.portal-post-detail .ps-post__content,
.portal-post-detail .ps-post__footer {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}

.portal-post-detail .ps-post__thumbnail img {
    width: 100%;
    border-radius: 18px;
}

.portal-post-detail .ps-post__content {
    color: #4d5566;
    line-height: 1.9;
}

.portal-post-detail .ps-post__content img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 0 24px;
    border-radius: 18px;
}

.portal-post-detail .ps-post__content iframe,
.portal-post-detail .ps-post__content video {
    width: 100%;
    max-width: 100%;
    border: 0;
    border-radius: 18px;
    margin-bottom: 24px;
}

.portal-post-detail .ps-post__content blockquote,
.portal-post-detail .ps-post__content .ps-blockquote {
    margin: 32px 0;
    padding: 28px 32px;
    border-left: 4px solid var(--wth-gold);
    border-radius: 0 18px 18px 0;
    background: rgba(47, 94, 168, 0.06);
}

.portal-post-detail .ps-post__content ul,
.portal-post-detail .ps-post__content ol {
    margin-bottom: 24px;
    padding-left: 22px;
}

.portal-post-detail .ps-post__content li {
    margin-bottom: 8px;
}

.portal-pagination-wrap {
    margin-top: 8px;
}

.portal-post-detail__breadcrumbs {
    margin-bottom: 20px;
}

.portal-post-detail__breadcrumbs .breadcrumb {
    justify-content: center;
}

.portal-post-detail__breadcrumbs .breadcrumb a,
.portal-post-detail__breadcrumbs .breadcrumb li {
    color: rgba(255, 255, 255, 0.85);
}

.portal-post-detail--hero .ps-post__header h4 {
    color: var(--wth-gold);
    text-transform: uppercase;
    letter-spacing: 0.16em;
}

.portal-post-detail--hero .ps-post__header h1,
.portal-post-detail--hero .ps-post__header p,
.portal-post-detail--hero .ps-post__header p a {
    color: #fff;
}

.portal-post-detail--hero .ps-post__header p {
    max-width: 760px;
    margin: 0 auto;
}

.portal-post-detail--hero .ps-post__header p a:hover {
    color: var(--wth-gold);
}

.portal-post-detail-v2 .ps-post__header {
    background: linear-gradient(135deg, rgba(74, 196, 250, 0.18), rgba(210, 170, 30, 0.14));
}

.portal-post-detail-v2__breadcrumbs {
    margin-bottom: 18px;
}

.portal-post-detail-v2__hero img {
    width: 100%;
    border-radius: 20px;
}

.portal-blog-products {
    margin-top: 24px;
    margin-bottom: 24px;
}

.portal-post-author {
    max-width: 1100px;
    margin: 36px auto 0;
}

.portal-blog-admin-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(320px, 0.9fr);
    gap: 24px;
}

.portal-blog-table-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.portal-form-card--plain {
    height: auto;
    box-shadow: none;
    padding: 0;
    background: transparent;
}

.portal-blog-editor {
    min-height: 340px;
    font-family: "Work Sans", sans-serif;
    line-height: 1.8;
}

.portal-blog-preview img {
    height: 220px;
    object-fit: cover;
}

.portal-shipping-feedback {
    margin-bottom: 16px;
    color: #555;
    font-weight: 600;
}

.portal-shipping-groups {
    display: grid;
    gap: 18px;
}

.portal-shipping-group {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    background: #fff;
    overflow: hidden;
}

.portal-shipping-group__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 16px 18px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.portal-shipping-group__header strong,
.portal-shipping-group__header span {
    display: block;
}

.portal-shipping-group__body {
    padding: 18px;
}

.portal-shipping-products {
    display: grid;
    gap: 12px;
    margin-bottom: 16px;
}

.portal-shipping-product {
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 12px;
    border-radius: 16px;
    background: rgba(246, 249, 255, 0.9);
    border: 1px solid rgba(47, 94, 168, 0.08);
}

.portal-shipping-product__image {
    display: block;
}

.portal-shipping-product__image img {
    width: 68px;
    height: 68px;
    object-fit: cover;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.portal-shipping-product__copy {
    min-width: 0;
}

.portal-shipping-product__title,
.portal-shipping-product__store {
    display: block;
    text-decoration: none;
}

.portal-shipping-product__title {
    font-weight: 700;
    color: var(--wth-text);
}

.portal-shipping-product__store {
    margin-top: 4px;
    color: var(--wth-blue-header);
    font-weight: 600;
}

.portal-shipping-product__title:hover,
.portal-shipping-product__store:hover {
    color: var(--wth-cyan-menu);
}

.portal-shipping-product__copy small {
    display: block;
    margin-top: 6px;
    color: #666;
}

.portal-shipping-group__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 16px;
    color: #666;
    font-size: 14px;
}

.portal-shipping-options {
    display: grid;
    gap: 12px;
}

.portal-shipping-option {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 14px;
    border: 1px solid rgba(47, 94, 168, 0.14);
    border-radius: 16px;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.portal-shipping-option:hover,
.portal-shipping-option.is-selected {
    border-color: rgba(47, 94, 168, 0.36);
    background: rgba(74, 196, 250, 0.08);
    box-shadow: 0 10px 22px rgba(47, 94, 168, 0.08);
}

.portal-shipping-option input {
    margin-top: 4px;
}

.portal-shipping-option strong,
.portal-shipping-option small {
    display: block;
}

.portal-shipping-option small {
    margin-top: 6px;
    color: #666;
}

.portal-shipping-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}

.portal-shipping-detail-card {
    padding: 16px;
    border-radius: 16px;
    background: rgba(246, 249, 255, 0.9);
    border: 1px solid rgba(47, 94, 168, 0.08);
}

.portal-shipping-detail-card h4 {
    margin-bottom: 8px;
    font-size: 18px;
}

.portal-shipping-detail-card p {
    margin: 0;
    color: #555;
}

.ps-btn:disabled,
.ps-btn[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

.portal-product-col {
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
}

.portal-product-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    border-color: rgba(15, 23, 42, 0.08);
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    background: #fff;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.portal-product-card .ps-product__container {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 245px;
    padding-bottom: 14px;
}

.portal-product-card .ps-product__thumbnail img {
    width: 100%;
    height: 230px;
    object-fit: cover;
}

.portal-product-badges {
    position: absolute;
    z-index: 2;
    top: 10px;
    right: 10px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    pointer-events: none;
}

.portal-product-badges .ps-product__badge {
    position: static;
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1.2;
}

.portal-product-badges .ps-product__badge--sponsored {
    background: var(--wth-blue-header);
}

.portal-product-sponsored-label {
    color: var(--wth-blue-header);
    font-weight: 800;
}

.portal-product-card .ps-product__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    visibility: visible;
    opacity: 1;
    height: auto;
}

.portal-product-card .ps-product__content.hover {
    display: none !important;
}

.portal-product-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 42px rgba(15, 23, 42, 0.14);
    border-color: rgba(77, 105, 173, 0.28);
}

.portal-product-card:hover .ps-product__content {
    visibility: visible;
    opacity: 1;
    height: auto;
}

.portal-product-card__footer {
    margin-top: auto;
    padding-top: 14px;
}

.portal-product-card__footer--actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.portal-product-card__footer--actions form {
    margin: 0;
}

.portal-product-card__footer--actions .ps-btn {
    white-space: nowrap;
    text-align: center;
}

.portal-product-card__footer--actions .ps-btn--blue,
.portal-product-card__footer--actions button.ps-btn--blue,
.portal-product-purchase__actions .ps-btn--blue,
.portal-product-purchase__actions button.ps-btn--blue {
    background: var(--wth-blue-header);
    border-color: var(--wth-blue-header);
    color: #fff;
}

.portal-product-card__footer--actions .ps-btn--blue:hover,
.portal-product-card__footer--actions .ps-btn--blue:focus,
.portal-product-card__footer--actions button.ps-btn--blue:hover,
.portal-product-card__footer--actions button.ps-btn--blue:focus,
.portal-product-purchase__actions .ps-btn--blue:hover,
.portal-product-purchase__actions .ps-btn--blue:focus,
.portal-product-purchase__actions button.ps-btn--blue:hover,
.portal-product-purchase__actions button.ps-btn--blue:focus {
    background: #229ad0;
    border-color: #229ad0;
    color: #fff;
}

.portal-product-action-form {
    margin: 0;
}

.portal-product-action-form button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #666;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.portal-product-action-form button:hover,
.portal-product-action-form button:focus {
    background-color: var(--wth-blue-header);
    color: #fff;
}

.portal-product-action-form button.is-active {
    background-color: rgba(74, 196, 250, 0.14);
    color: var(--wth-blue-header);
}

.portal-detail-media {
    padding: 20px;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.08);
}

.portal-detail-media img {
    width: 100%;
    border-radius: 18px;
    object-fit: cover;
}

.portal-detail-price {
    font-size: 30px;
}

.portal-detail-sku {
    color: #666;
    font-size: 14px;
}

.portal-detail-store-link {
    color: var(--wth-gold);
    background: rgba(198, 162, 39, 0.14);
    text-decoration: none;
}

.portal-detail-store-link:hover,
.portal-detail-store-link:focus-visible {
    color: var(--wth-gold);
    background: rgba(198, 162, 39, 0.22);
    text-decoration: none;
}

.portal-detail-meta p {
    margin-top: 6px;
    margin-bottom: 0;
}

.portal-product-description {
    color: #5f6777;
    font-size: 15px;
    line-height: 1.65;
}

.portal-product-description p,
.portal-product-description ul,
.portal-product-description ol {
    margin-bottom: 14px;
}

.portal-product-description ul,
.portal-product-description ol {
    padding-left: 22px;
}

.portal-product-description li + li {
    margin-top: 5px;
}

.portal-product-description a {
    color: var(--wth-blue-header);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.portal-product-description > :last-child {
    margin-bottom: 0;
}

.portal-store-hero {
    padding: 84px 0;
    color: #fff;
    background-position: center;
    background-size: cover;
}

.portal-store-hero h1,
.portal-store-hero p,
.portal-eyebrow--light {
    color: #fff;
}

.portal-store-page {
    padding: 34px 0 60px;
}

.portal-vendor-store {
    padding-top: 34px;
    padding-bottom: 60px;
}

.portal-vendor-card .ps-block__container {
    overflow: hidden;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.08);
}

.portal-vendor-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.portal-vendor-card__header h4 {
    margin-bottom: 0;
}

.portal-vendor-card__profile {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    margin-bottom: 16px;
}

.portal-vendor-card__profile-icon {
    display: inline-flex;
    width: 56px;
    height: 56px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(47, 94, 168, 0.12);
    border-radius: 50%;
    background: rgba(74, 196, 250, 0.12);
    color: var(--wth-blue-header);
    font-size: 22px;
}

.portal-vendor-card__profile strong {
    display: block;
    color: #111827;
}

.portal-vendor-card__profile p,
.portal-vendor-card__social p {
    margin-bottom: 0;
}

.portal-vendor-card__menu {
    margin-bottom: 18px;
}

.portal-vendor-card__menu strong {
    display: block;
    margin-bottom: 10px;
    color: #111827;
}

.portal-vendor-card__menu ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.portal-vendor-card__menu li a {
    display: block;
    padding: 10px 12px;
    border-radius: 12px;
    color: var(--wth-text);
    background: #f5f5f7;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.portal-vendor-card__menu li a:hover,
.portal-vendor-card__menu li.is-active a {
    color: var(--wth-blue-header);
    background: rgba(74, 196, 250, 0.12);
}

.portal-vendor-card__social {
    margin-bottom: 0;
}

.portal-vendor-card__social figcaption {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: #111827;
}

.portal-vendor-filter {
    border-radius: 18px;
    margin-bottom: 30px;
    background: #f3f6fb;
}

.portal-vendor-filter .ps-form--search input {
    height: 40px;
    border-radius: 10px;
}

.portal-vendor-filter .ps-form--search button {
    color: var(--wth-blue-header);
}

.portal-store-panel,
.portal-store-products,
.portal-vendor-best-seller {
    margin-bottom: 28px;
}

.portal-vendor-store .portal-form-card,
.portal-vendor-store .portal-store-panel {
    height: auto;
}

.portal-store-panel p:last-child {
    margin-bottom: 0;
}

.portal-store-about {
    display: grid;
    grid-template-columns: minmax(160px, 210px) minmax(0, 1fr);
    align-items: center;
    gap: 30px;
}

.portal-store-about__logo {
    display: flex;
    min-height: 190px;
    align-items: center;
    justify-content: center;
    padding: 24px;
    overflow: hidden;
    border: 1px solid rgba(47, 94, 168, 0.1);
    border-radius: 18px;
    background:
        radial-gradient(circle at 50% 42%, rgba(74, 196, 250, 0.12), transparent 56%),
        #f3f6fb;
}

.portal-store-about__logo img {
    display: block;
    width: 100%;
    max-width: 170px;
    height: 150px;
    object-fit: contain;
    object-position: center;
}

.portal-store-about__copy {
    min-width: 0;
}

.portal-store-about__copy h3 {
    margin-bottom: 14px;
}

@media (max-width: 767px) {
    .portal-store-about {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .portal-store-about__logo {
        min-height: 180px;
    }

    .portal-store-about__logo img {
        height: 140px;
    }
}

.portal-store-list-page {
    padding-top: 82px;
}

.portal-store-list-page .portal-search {
    margin-bottom: 34px;
}

.portal-store-list-card {
    height: 100%;
    overflow: hidden;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 20px 44px rgba(15, 23, 42, 0.08);
}

.portal-store-list-card__banner img {
    width: 100%;
    height: 220px;
    object-fit: cover;
}

.portal-store-list-card .ps-block__author {
    padding: 0 24px;
    background: #fff;
}

.portal-store-list-card .ps-block__author .ps-block__user {
    overflow: hidden;
    background: #fff;
}

.portal-store-list-card .ps-block__author .ps-block__user img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.portal-store-list-card .ps-block__author .ps-btn {
    min-width: 148px;
    border: 1px solid var(--wth-blue-header);
    border-radius: 999px;
    background: #fff;
    color: var(--wth-blue-header);
}

.portal-store-list-card .ps-block__author .ps-btn:hover,
.portal-store-list-card .ps-block__author .ps-btn:focus {
    background: var(--wth-blue-header);
    color: #fff;
}

.portal-store-list-card .ps-block__content {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-height: 250px;
    padding: 10px 24px 28px;
}

.portal-store-list-card .ps-block__content h4 {
    color: var(--wth-text);
    font-size: 30px;
    font-weight: 700;
}

.portal-store-list-card .ps-block__content p {
    margin-bottom: 0;
    color: #666;
}

.portal-store-list-card .portal-meta {
    margin-top: auto;
}

.portal-store-directory {
    display: grid;
    gap: 14px;
}

.portal-store-directory__row {
    position: relative;
    display: grid;
    min-width: 0;
    grid-template-columns: 88px minmax(180px, 1.35fr) minmax(220px, 1fr) auto;
    align-items: center;
    gap: 24px;
    min-height: 112px;
    padding: 18px 22px;
    overflow: hidden;
    border: 1px solid rgba(47, 94, 168, 0.1);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.portal-store-directory__row::before {
    position: absolute;
    top: 18px;
    bottom: 18px;
    left: 0;
    width: 4px;
    border-radius: 0 999px 999px 0;
    background: var(--wth-cyan-menu);
    content: "";
}

.portal-store-directory__logo {
    display: inline-flex;
    width: 72px;
    height: 72px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid rgba(47, 94, 168, 0.12);
    border-radius: 50%;
    background: #fff;
}

.portal-store-directory__logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.portal-store-directory__identity,
.portal-store-directory__location {
    min-width: 0;
}

.portal-store-directory__identity h2 {
    margin: 0;
    font-size: clamp(20px, 2vw, 26px);
    line-height: 1.2;
}

.portal-store-directory__identity a {
    color: var(--wth-text);
    text-decoration: none;
    overflow-wrap: anywhere;
}

.portal-store-directory__identity a:hover {
    color: var(--wth-blue-header);
}

.portal-store-directory__location {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: #5f6777;
    font-size: 16px;
    line-height: 1.45;
}

.portal-store-directory__location i {
    flex: 0 0 auto;
    color: var(--wth-blue-header);
}

.portal-store-directory__action .ps-btn {
    display: inline-flex;
    min-width: 148px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--wth-blue-header);
    border-radius: 999px;
    background: #fff;
    color: var(--wth-blue-header);
}

.portal-store-directory__action .ps-btn:hover,
.portal-store-directory__action .ps-btn:focus {
    background: var(--wth-blue-header);
    color: #fff;
}

.portal-store-directory__logo:focus-visible,
.portal-store-directory__identity a:focus-visible,
.portal-store-directory__action .ps-btn:focus-visible {
    outline: 3px solid rgba(74, 196, 250, 0.48);
    outline-offset: 3px;
}

@media (max-width: 991px) {
    .portal-store-directory__row {
        grid-template-columns: 76px minmax(150px, 1fr) minmax(180px, 0.9fr) auto;
        gap: 16px;
        padding: 16px 18px;
    }

    .portal-store-directory__logo {
        width: 64px;
        height: 64px;
    }

    .portal-store-directory__action .ps-btn {
        min-width: 132px;
        padding-right: 16px;
        padding-left: 16px;
    }
}

@media (max-width: 767px) {
    .portal-store-list-page {
        padding-top: 48px;
    }

    .portal-store-list-page .portal-search {
        margin-bottom: 24px;
    }

    .portal-store-directory__row {
        grid-template-columns: 64px minmax(0, 1fr);
        gap: 10px 14px;
        min-height: 0;
        padding: 16px;
    }

    .portal-store-directory__row::before {
        top: 16px;
        bottom: 16px;
    }

    .portal-store-directory__logo {
        grid-row: 1 / span 2;
        width: 60px;
        height: 60px;
    }

    .portal-store-directory__identity {
        align-self: end;
    }

    .portal-store-directory__identity h2 {
        font-size: 20px;
    }

    .portal-store-directory__location {
        align-self: start;
        font-size: 14px;
    }

    .portal-store-directory__action {
        grid-column: 1 / -1;
        padding-top: 4px;
    }

    .portal-store-directory__action .ps-btn {
        width: 100%;
    }
}

.portal-store-featured-col,
.portal-store-product-col {
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
}

.portal-store-products .ps-section__header h3,
.portal-vendor-best-seller .ps-section__header h3 {
    color: #111827;
}

.portal-store-main,
.portal-store-sidebar {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.portal-store-overview {
    padding: 30px;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.08);
}

.portal-store-overview__brand {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 20px;
    align-items: center;
}

.portal-store-overview__logo {
    width: 112px;
    height: 112px;
    border-radius: 24px;
    overflow: hidden;
    background: #f4f4f5;
}

.portal-store-overview__logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.portal-mini-stat {
    height: 100%;
    padding: 18px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(77, 105, 173, 0.08), #fff);
    border: 1px solid rgba(77, 105, 173, 0.12);
}

.portal-mini-stat strong {
    display: block;
    margin-bottom: 6px;
    font-size: 22px;
    color: #111827;
}

.portal-mini-stat span {
    color: #666;
    font-size: 13px;
}

.portal-store-tabs {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.portal-store-section {
    margin: 0;
}

.portal-form-intro {
    margin-bottom: 22px;
}

.portal-meta--compact {
    margin-top: 0;
}

.portal-admin-seller-store-link {
    color: var(--wth-blue-header);
    font-weight: 700;
    text-underline-offset: 3px;
}

.portal-admin-seller-store-link:hover,
.portal-admin-seller-store-link:focus-visible {
    color: #17457f;
}

.portal-sidebar-products {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.portal-sidebar-product {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    color: inherit;
}

.portal-sidebar-product img {
    width: 72px;
    height: 72px;
    border-radius: 14px;
    object-fit: cover;
}

.portal-sidebar-product strong {
    display: block;
    font-size: 14px;
    color: #111827;
}

.portal-sidebar-product small {
    color: var(--wth-gold-strong);
}

.portal-filter-summary {
    margin-bottom: 22px;
    padding: 22px 24px;
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(47, 94, 168, 0.12), rgba(255, 255, 255, 0.98));
    border: 1px solid rgba(47, 94, 168, 0.12);
}

.portal-filter-summary h3 {
    margin-bottom: 8px;
}

.portal-footer {
    margin-top: 60px;
    background: #fff;
}

.portal-footer__benefits {
    background: var(--wth-blue-footer);
}

.portal-footer__benefit-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    padding: 34px 0;
}

.portal-footer__benefit {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    color: #fff;
}

.portal-footer__benefit h4 {
    margin-bottom: 6px;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
}

.portal-footer__benefit p {
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
}

.portal-footer__icon {
    display: inline-flex;
    width: 54px;
    min-width: 54px;
    height: 54px;
    align-items: center;
    justify-content: center;
    border: 2px solid rgba(255, 255, 255, 0.8);
    border-radius: 16px;
    font-size: 24px;
}

.portal-footer__main {
    padding: 72px 0 44px;
}

.portal-footer__grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 40px;
    align-items: start;
}

.portal-footer__brand {
    max-width: 620px;
}

.portal-footer__logo {
    display: inline-flex;
    flex-direction: column;
    text-decoration: none;
}

.portal-footer__logo-mark {
    display: inline-flex;
    align-items: baseline;
    gap: 2px;
    font-size: 66px;
    line-height: 0.9;
    font-weight: 300;
    letter-spacing: -0.04em;
}

.portal-footer__logo-mark .is-blue {
    color: var(--wth-blue-header);
}

.portal-footer__logo-mark .is-gold {
    color: var(--wth-gold);
}

.portal-footer__logo-mark .is-sky {
    color: var(--wth-sky);
}

.portal-footer__logo-subtitle {
    margin-top: 2px;
    color: var(--wth-text);
    font-size: 21px;
    font-weight: 500;
    letter-spacing: -0.02em;
}

.portal-footer__lead {
    margin-top: 26px;
    margin-bottom: 20px;
    color: var(--wth-text);
    font-size: 18px;
    font-weight: 600;
}

.portal-footer__brand p,
.portal-footer__column li,
.portal-footer__contact li {
    color: var(--wth-muted);
}

.portal-footer__contact {
    padding: 0;
    margin: 18px 0 0;
    list-style: none;
}

.portal-footer__contact li {
    margin-bottom: 10px;
}

.portal-footer__contact i {
    width: 18px;
    margin-right: 8px;
    color: var(--wth-gold);
}

.portal-footer__column h4 {
    margin-bottom: 26px;
    color: var(--wth-text);
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
}

.portal-footer__column ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.portal-footer__column li {
    margin-bottom: 14px;
}

.portal-footer__column a {
    color: var(--wth-muted);
    text-decoration: none;
    transition: color 0.2s ease;
}

.portal-footer__column a:hover {
    color: var(--wth-gold-strong);
}

.portal-footer__bottom {
    padding: 18px 0 26px;
    border-top: 1px solid rgba(56, 56, 56, 0.08);
}

.portal-footer__bottom p {
    margin: 0;
    color: #8a8a8a;
    font-size: 13px;
}

@media (min-width: 768px) {
    .portal-product-col {
        width: 50%;
    }

    .portal-store-featured-col {
        width: 50%;
    }

    .portal-store-product-col {
        width: 50%;
    }
}

@media (min-width: 992px) {
    .portal-product-col {
        width: 25%;
    }

    .portal-store-featured-col {
        width: 33.333333%;
    }

    .portal-store-product-col {
        width: 33.333333%;
    }
}

@media (max-width: 991px) {
    .portal-auth-layout,
    .portal-search,
    .portal-inline-form,
    .portal-seller-shell,
    .portal-admin-shell,
    .portal-cart-grid,
    .portal-checkout-grid,
    .portal-product-purchase__row,
    .portal-overview-filters,
    .portal-order-filters,
    .portal-overview-charts,
    .portal-overview-bottom,
    .portal-order-detail,
    .portal-order-addresses,
    .portal-gateway-grid,
    .portal-gateway-form__top,
    .portal-gateway-credentials,
    .portal-kpis--admin,
    .portal-shipping-detail-grid,
    .portal-buyer-overview-grid,
    .portal-buyer-profile-grid,
    .portal-address-grid,
    .portal-buyer-order-card,
    .portal-buyer-tracking-card {
        grid-template-columns: 1fr;
    }

    .portal-footer__benefit-grid,
    .portal-footer__grid {
        grid-template-columns: 1fr;
    }

    .portal-categories-menu {
        min-width: 100%;
        grid-template-columns: 1fr;
    }

    .portal-categories-menu__aside {
        width: 100%;
        min-width: 0;
        padding-left: 0;
        border-left: 0;
    }

    .portal-categories-menu__product-head {
        grid-template-columns: 1fr;
    }

    .portal-store-overview__brand {
        grid-template-columns: 1fr;
    }

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

    .portal-seller-sidebar__card {
        position: static;
    }

    .portal-admin-sidebar__card {
        position: static;
    }

    .portal-cart-summary,
    .portal-checkout-summary {
        position: static;
    }

    .portal-overview-kpis,
    .portal-operation-grid {
        grid-template-columns: 1fr;
    }

    .portal-overview-kpi {
        grid-column: auto;
    }

    .portal-blog-page .ps-page__header h1 {
        font-size: 32px;
    }

    .portal-blog-admin-grid {
        grid-template-columns: 1fr;
    }

    .portal-vendor-card__header,
    .portal-vendor-filter,
    .portal-vendor-filter .ps-block__left {
        display: block;
    }

    .portal-vendor-card__header h4 {
        margin-bottom: 12px;
    }

    .portal-vendor-filter > * {
        max-width: 100%;
    }

    .portal-vendor-filter .ps-block__right {
        margin-top: 12px;
    }

    .portal-header__meta {
        display: none;
    }

    .portal-header__top-inner {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 16px;
    }

    .portal-header__search.ps-form--quick-search {
        width: 100%;
    }

    .portal-header__actions {
        min-width: 0;
        flex-wrap: wrap;
        justify-content: center;
    }

    .portal-main-menu {
        display: block;
    }

    .portal-main-menu > li,
    .portal-main-menu > li:last-child {
        border: 0;
    }

    .portal-page-hero h1,
    .portal-hero-copy h2 {
        font-size: 30px;
    }

    .portal-header__top {
        background: #fff;
    }
}

/* Keep the custom product-form shell ahead of the shared generic form-card rules. */
.portal-form-card.seller-product-form-card {
    height: auto;
    padding: 0;
    border: 1px solid rgba(32, 55, 99, 0.08);
    box-shadow: 0 20px 48px rgba(24, 40, 70, 0.09);
}

.portal-form-card.seller-product-form-card .seller-product-form .form-control {
    border-radius: 13px;
}

@media (prefers-reduced-motion: reduce) {
    .seller-product-form .form-control,
    .seller-product-form__actions .ps-btn {
        transition: none;
    }
}

/* Homepage shopping layout on small screens. Keep these changes page-scoped. */
@media (max-width: 767px) {
    .portal-page-hero--product-detail {
        display: none;
    }

    .portal-home {
        padding-bottom: 12px;
    }

    .portal-home__hero {
        padding: 10px 0 8px;
    }

    .portal-home__hero-grid {
        gap: 10px;
    }

    .portal-home-categories__card {
        padding: 11px 13px;
        border-color: rgba(47, 94, 168, 0.1);
        background: #f9fbff;
    }

    .portal-home-categories__summary {
        min-height: 40px;
    }

    .portal-home-categories__summary .portal-eyebrow {
        margin: 0;
        color: var(--wth-blue-header);
    }

    .portal-home-categories__summary-label {
        color: #344563;
        font-size: 11px;
        letter-spacing: 0.04em;
    }

    .portal-home-categories__card ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        margin-top: 9px;
    }

    .portal-home-categories__card a {
        min-height: 42px;
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 7px 9px;
        font-size: 12px;
        line-height: 1.25;
    }

    .portal-home-categories__card a i {
        flex: 0 0 16px;
        width: 16px;
        text-align: center;
    }

    .portal-home-mobile-hero__viewport {
        border-radius: 16px;
        box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
    }

    .portal-home-mobile-hero__slide {
        min-height: 250px;
        padding: 18px;
    }

    .portal-home-mobile-hero__copy {
        max-width: 88%;
        gap: 7px;
    }

    .portal-home-mobile-hero__copy h2 {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        font-size: clamp(21px, 6vw, 26px);
    }

    .portal-home__catalog,
    .portal-home__stores,
    .portal-home__selected {
        padding: 22px 0;
    }

    .portal-home-catalog-header__top {
        gap: 8px;
        margin-bottom: 10px;
    }

    .portal-home-catalog-header__top h2 {
        font-size: 26px;
        line-height: 1.15;
    }

    .portal-home-catalog-header__top p {
        font-size: 14px;
        line-height: 1.45;
    }

    .portal-home-category-mobile-selector {
        margin-top: 8px;
    }

    .portal-home-category-mobile-selector label {
        margin-bottom: 6px;
        font-size: 11px;
    }

    .portal-home-category-mobile-selector .form-control {
        min-height: 46px;
        border-color: rgba(47, 94, 168, 0.2);
        background-color: #fff;
    }

    .portal-home-category-carousel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
        gap: 10px;
    }

    .portal-home-category-carousel__item,
    .portal-home-category-carousel__item .portal-product-card {
        min-width: 0;
        height: 100%;
    }

    .portal-home-category-carousel__item .portal-product-card {
        overflow: hidden;
        border-radius: 14px;
        box-shadow: 0 8px 20px rgba(15, 23, 42, 0.07);
        transform: none;
    }

    .portal-home-category-carousel__item .portal-product-card:hover {
        transform: none;
        box-shadow: 0 8px 20px rgba(15, 23, 42, 0.07);
    }

    .portal-home-category-carousel__item .portal-product-card .ps-product__thumbnail img {
        height: clamp(112px, 36vw, 150px);
        object-fit: cover;
    }

    .portal-home-category-carousel__item .portal-product-card .ps-product__container {
        min-height: 0;
        padding: 0 10px 10px;
    }

    .portal-home-category-carousel__item .portal-product-card .ps-product__content {
        padding: 8px 0 0;
    }

    .portal-home-category-carousel__item .portal-product-card .ps-product__vendor {
        overflow: hidden;
        font-size: 10px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .portal-home-category-carousel__item .portal-product-card .portal-product-category {
        margin-bottom: 4px;
        font-size: 10px;
        line-height: 1.25;
    }

    .portal-home-category-carousel__item .portal-product-card .ps-product__title {
        display: -webkit-box;
        min-height: 36px;
        overflow: hidden;
        font-size: 13px;
        line-height: 1.35;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .portal-home-category-carousel__item .portal-product-card .ps-product__price {
        margin: 6px 0 0;
        font-size: 16px;
        line-height: 1.2;
    }

    .portal-home-category-carousel__item .portal-product-card .portal-product-copy,
    .portal-home-category-carousel__item .portal-product-card .portal-product-meta {
        display: none;
    }

    .portal-home-category-carousel__item .portal-product-card__footer--actions {
        grid-template-columns: 1fr;
        gap: 6px;
        padding-top: 10px;
    }

    .portal-home-category-carousel__item .portal-product-card__footer--actions .ps-btn {
        min-height: 40px;
        padding: 7px 5px;
        font-size: 11px;
        line-height: 1.2;
        white-space: normal;
    }

    .portal-home-banners-row {
        gap: 9px;
        margin-top: 12px;
    }

    .portal-home-banners-row a {
        aspect-ratio: 1.4 / 1;
        min-width: 0;
        border-radius: 13px;
    }

    .portal-home-banners-row img {
        width: 100%;
        height: 100%;
        min-height: 0;
        object-fit: cover;
    }

    .portal-home-showcase__aside {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .portal-home-side-banner {
        aspect-ratio: 1.4 / 1;
        border-radius: 14px;
    }

    .portal-home-side-banner img {
        width: 100%;
        height: 100%;
        min-height: 0;
        object-fit: cover;
    }

    .portal-home-side-product {
        grid-column: 1 / -1;
    }

    .portal-home__section-heading {
        gap: 10px;
        margin-bottom: 12px;
    }

    .portal-home__section-heading h2 {
        font-size: 25px;
        line-height: 1.15;
    }

    .portal-home__section-heading .ps-btn {
        min-height: 42px;
        width: 100%;
    }

    .portal-home-store-tags {
        flex-wrap: nowrap;
        overflow-x: auto;
        margin: 0 -4px 12px;
        padding: 4px;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }

    .portal-home-store-tags a {
        flex: 0 0 auto;
    }

    .portal-home-store-slider {
        overflow: hidden;
    }

    .portal-home-store-slider__slide {
        gap: 0;
    }

    .portal-store-list-card--home {
        overflow: hidden;
        border-radius: 16px;
    }

    .portal-store-list-card--home .portal-store-list-card__banner img {
        height: 150px;
        object-fit: cover;
    }

    .portal-store-list-card--home .ps-block__author {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 10px;
        padding: 12px 14px 0;
    }

    .portal-store-list-card--home .ps-block__author .ps-block__user {
        width: 58px;
        height: 58px;
        border-width: 3px;
    }

    .portal-store-list-card--home .ps-block__author .ps-btn {
        min-height: 42px;
        padding: 10px;
        font-size: 12px;
    }

    .portal-store-list-card--home .ps-block__content {
        min-height: 0;
        padding: 12px 14px 16px;
    }

    .portal-store-list-card--home .ps-block__content h4 {
        margin-bottom: 6px;
        font-size: 20px;
    }

    .portal-store-list-card--home .ps-block__content p {
        margin-bottom: 10px;
        font-size: 13px;
        line-height: 1.45;
    }
}

@media (max-width: 359px) {
    .portal-home-categories__card ul {
        grid-template-columns: 1fr;
    }

    .portal-home-category-carousel {
        gap: 8px;
    }

    .portal-home-category-carousel__item .portal-product-card .ps-product__container {
        padding-right: 8px;
        padding-left: 8px;
    }

    .portal-home-category-carousel__item .portal-product-card__footer--actions .ps-btn {
        font-size: 10px;
    }
}

@media (max-width: 767px) {
    .portal-product-detail-section .portal-product-related-grid .portal-product-col {
        width: 50%;
        min-width: 0;
    }

    .portal-product-related-grid {
        --bs-gutter-x: 0.75rem;
        --bs-gutter-y: 1rem;
    }

    .portal-product-detail-section .portal-product-related-grid .portal-product-card {
        width: 100%;
        overflow: hidden;
        border: 1px solid rgba(47, 72, 112, 0.09);
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 8px 22px rgba(28, 47, 78, 0.07);
    }

    .portal-product-detail-section .portal-product-related-grid .ps-product__thumbnail {
        padding: 8px 8px 0;
        background: #fff;
    }

    .portal-product-detail-section .portal-product-related-grid .ps-product__thumbnail > a {
        display: block;
        overflow: hidden;
        border-radius: 11px;
        background: #fff;
    }

    .portal-product-detail-section .portal-product-related-grid .ps-product__thumbnail img {
        display: block;
        height: clamp(112px, 36vw, 150px);
        border-radius: 11px;
        background: #fff;
        object-fit: contain;
    }

    .portal-product-detail-section .portal-product-related-grid .ps-product__container {
        min-height: 0;
        padding: 10px 11px 12px;
    }

    .portal-product-detail-section .portal-product-related-grid .ps-product__content {
        padding: 4px 0 0;
    }

    .portal-product-detail-section .portal-product-related-grid .ps-product__vendor {
        display: inline-flex;
        align-items: center;
        max-width: 100%;
        min-height: 26px;
        margin: 0 0 8px;
        padding: 4px 9px;
        overflow: hidden;
        border: 1px solid rgba(47, 94, 168, 0.12);
        border-radius: 999px;
        background: #f5f8fd;
        color: #3f5c8a;
        font-size: 10px;
        font-weight: 700;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .portal-product-detail-section .portal-product-related-grid .portal-product-category {
        margin-bottom: 4px;
        font-size: 10px;
        line-height: 1.25;
    }

    .portal-product-detail-section .portal-product-related-grid .ps-product__title {
        display: -webkit-box;
        min-height: 36px;
        overflow: hidden;
        font-size: 13px;
        line-height: 1.35;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .portal-product-detail-section .portal-product-related-grid .ps-product__price {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        gap: 3px 5px;
        margin: 7px 0 0;
        font-size: 14px;
        line-height: 1.25;
    }

    .portal-product-detail-section .portal-product-related-grid .ps-product__price del {
        font-size: 11px;
    }

    .portal-product-detail-section .portal-product-related-grid .portal-product-copy,
    .portal-product-detail-section .portal-product-related-grid .portal-product-meta {
        display: none;
    }

    .portal-product-detail-section .portal-product-related-grid .portal-product-card__footer--actions {
        grid-template-columns: minmax(0, 1fr);
        gap: 7px;
        padding-top: 11px;
    }

    .portal-product-detail-section .portal-product-related-grid .portal-product-card__footer--actions form,
    .portal-product-detail-section .portal-product-related-grid .portal-product-card__footer--actions .ps-btn {
        width: 100%;
        min-width: 0;
    }

    .portal-product-detail-section .portal-product-related-grid .portal-product-card__footer--actions .ps-btn {
        min-height: 40px;
        padding: 7px 5px;
        font-size: 11px;
        line-height: 1.2;
        white-space: normal;
    }

    .portal-section--catalog .portal-product-col {
        width: 50%;
        min-width: 0;
    }

    .portal-section--catalog .portal-product-card {
        overflow: hidden;
        border: 1px solid rgba(47, 72, 112, 0.08);
        border-radius: 18px;
        box-shadow: 0 12px 28px rgba(28, 47, 78, 0.08);
    }

    .portal-section--catalog .portal-product-card .ps-product__thumbnail {
        padding: 8px 8px 2px;
        border-radius: 18px 18px 14px 14px;
        background: #fff;
    }

    .portal-section--catalog .portal-product-card .ps-product__thumbnail > a {
        display: block;
        overflow: hidden;
        border-radius: 13px;
        background: #fff;
    }

    .portal-section--catalog .portal-product-card .ps-product__thumbnail img {
        display: block;
        height: clamp(112px, 36vw, 150px);
        border-radius: 13px;
        background: #fff;
        object-fit: contain;
    }

    .portal-section--catalog .portal-product-badges {
        top: 14px;
        right: 14px;
    }

    .portal-section--catalog .portal-product-badges .ps-product__badge:not(.ps-product__badge--sponsored) {
        border: 1px solid rgba(255, 255, 255, 0.85);
        background: #fff6d8;
        color: #735b10;
        box-shadow: 0 5px 14px rgba(38, 49, 67, 0.12);
    }

    .portal-section--catalog .portal-product-badges .ps-product__badge:not(.ps-product__badge--sponsored)::before {
        width: 6px;
        height: 6px;
        margin-right: 6px;
        border-radius: 50%;
        background: currentColor;
        content: "";
        opacity: 0.6;
    }

    .portal-section--catalog .portal-product-card .ps-product__container {
        min-height: 0;
        padding: 2px 10px 10px;
    }

    .portal-section--catalog .portal-product-card .ps-product__content {
        padding: 8px 0 0;
    }

    .portal-section--catalog .portal-product-card .ps-product__vendor {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        width: max-content;
        max-width: 100%;
        min-height: 27px;
        margin: 0 0 7px;
        padding: 4px 9px 4px 5px;
        overflow: hidden;
        border: 1px solid rgba(47, 94, 168, 0.12);
        border-radius: 999px;
        background: linear-gradient(110deg, #f0f5fd 0%, #f8faff 100%);
        color: #3f5c8a;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.015em;
        text-overflow: ellipsis;
        text-transform: none;
        white-space: nowrap;
    }

    .portal-section--catalog .portal-product-card .ps-product__vendor::before {
        display: inline-flex;
        flex: 0 0 16px;
        align-items: center;
        justify-content: center;
        width: 16px;
        height: 16px;
        border-radius: 50%;
        background: #dfe9f8;
        color: #2f5ea8;
        content: "\f54e";
        font-family: "Font Awesome 6 Free";
        font-size: 8px;
        font-weight: 900;
    }

    .portal-section--catalog .portal-product-card .portal-product-category {
        margin-bottom: 4px;
        font-size: 10px;
        line-height: 1.25;
    }

    .portal-section--catalog .portal-product-card .ps-product__title {
        display: -webkit-box;
        min-height: 36px;
        overflow: hidden;
        font-size: 13px;
        line-height: 1.35;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .portal-section--catalog .portal-product-card .ps-product__price {
        margin: 6px 0 0;
        font-size: 16px;
        line-height: 1.2;
    }

    .portal-section--catalog .portal-product-card .portal-product-copy,
    .portal-section--catalog .portal-product-card .portal-product-meta {
        display: none;
    }

    .portal-section--catalog .portal-product-card__footer--actions {
        grid-template-columns: 1fr;
        gap: 6px;
        padding-top: 10px;
    }

    .portal-section--catalog .portal-product-card__footer--actions .ps-btn {
        min-height: 40px;
        padding: 7px 5px;
        font-size: 11px;
        line-height: 1.2;
        white-space: normal;
    }

    .portal-section--catalog .pagination {
        flex-wrap: wrap;
        justify-content: center;
        gap: 4px;
    }
}

@media (max-width: 359px) {
    .portal-section--catalog .portal-product-col {
        padding-right: 4px;
        padding-left: 4px;
    }

    .portal-section--catalog .row.g-4 {
        --bs-gutter-x: 0.75rem;
        --bs-gutter-y: 0.75rem;
    }

    .portal-section--catalog .portal-product-card .ps-product__container {
        padding-right: 8px;
        padding-left: 8px;
    }

    .portal-section--catalog .portal-product-card__footer--actions .ps-btn {
        font-size: 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .portal-homepage .portal-home-category-carousel__item .portal-product-card,
    .portal-homepage .portal-home-mobile-hero__dots button,
    .portal-homepage .portal-home-store-slider__track {
        scroll-behavior: auto;
        transition: none;
    }
}

@media (max-width: 767px) {
    .portal-cart-grid {
        gap: 16px;
    }

    .portal-cart-grid > .portal-panel,
    .portal-cart-grid > .portal-cart-summary {
        min-width: 0;
        padding: 16px;
        border-radius: 18px;
    }

    .portal-cart-table-responsive {
        overflow: visible;
    }

    .portal-cart-table {
        display: block;
        width: 100%;
        margin: 0;
    }

    .portal-cart-table thead {
        display: none;
    }

    .portal-cart-table tbody {
        display: grid;
        gap: 12px;
    }

    .portal-cart-table tbody tr {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        overflow: hidden;
        border: 1px solid rgba(47, 94, 168, 0.12);
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 6px 18px rgba(28, 47, 78, 0.06);
    }

    .portal-cart-table tbody tr:nth-child(even) {
        background: #fff;
    }

    .portal-cart-table tbody td {
        min-width: 0;
        padding: 11px 12px;
        border: 0;
        background: transparent;
        color: var(--wth-text);
        font-size: 13px;
        line-height: 1.4;
    }

    .portal-cart-table tbody td::before {
        display: block;
        margin-bottom: 4px;
        color: var(--wth-muted);
        content: attr(data-label);
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.06em;
        line-height: 1.2;
        text-transform: uppercase;
    }

    .portal-cart-table tbody td:first-child {
        grid-column: 1 / -1;
        grid-row: 1;
        padding: 12px;
        border-bottom: 1px solid rgba(47, 72, 112, 0.1);
        background: #f1f6fc;
    }

    .portal-cart-table tbody td:first-child::before {
        display: none;
    }

    .portal-cart-product {
        grid-template-columns: 66px minmax(0, 1fr);
        gap: 11px;
        align-items: center;
    }

    .portal-cart-product img {
        width: 66px;
        height: 66px;
        border-radius: 14px;
        object-fit: contain;
        background: #f7f8fa;
    }

    .portal-cart-product a {
        display: block;
        overflow-wrap: anywhere;
        color: #17263c;
        font-size: 14px;
        line-height: 1.3;
    }

    .portal-cart-table tbody td:nth-child(2),
    .portal-cart-table tbody td:nth-child(4) {
        display: grid;
        align-content: center;
        color: #17263c;
        font-size: 14px;
        font-weight: 700;
    }

    .portal-cart-table tbody td:nth-child(2) {
        grid-column: 1;
        grid-row: 2;
    }

    .portal-cart-table tbody td:nth-child(3) {
        grid-column: 1 / -1;
        grid-row: 3;
        border-top: 1px solid rgba(47, 72, 112, 0.08);
    }

    .portal-cart-table tbody td:nth-child(4) {
        grid-column: 2;
        grid-row: 2;
    }

    .portal-cart-table tbody td:nth-child(5) {
        grid-column: 1 / -1;
        grid-row: 4;
        border-top: 1px solid rgba(47, 72, 112, 0.08);
    }

    .portal-cart-qty {
        display: grid;
        grid-template-columns: 76px minmax(0, 1fr) auto;
        gap: 8px;
        align-items: center;
    }

    .portal-cart-qty .form-control {
        width: 76px;
        max-width: 100%;
        min-height: 42px;
        padding: 7px;
        border-radius: 10px;
        text-align: center;
    }

    .portal-cart-qty small {
        min-width: 0;
        font-size: 11px;
        line-height: 1.3;
    }

    .portal-cart-qty .ps-btn,
    .portal-cart-table tbody td:nth-child(5) .ps-btn {
        min-width: 0;
        min-height: 42px;
        padding: 8px 10px;
        font-size: 12px;
        white-space: nowrap;
    }

    .portal-cart-table tbody td:nth-child(5) .d-flex {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr);
        gap: 7px !important;
    }

    .portal-cart-table tbody td:nth-child(5) form,
    .portal-cart-table tbody td:nth-child(5) form .ps-btn {
        width: 100%;
    }

    .portal-cart-summary .portal-category-form__actions {
        gap: 9px;
    }
}

.portal-section--catalog .portal-product-card--catalog {
    overflow: hidden;
    border: 1px solid rgba(34, 49, 73, 0.08);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(30, 46, 68, 0.08);
}

.portal-section--catalog .portal-product-card--catalog .portal-product-card__heading {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    padding: 16px 18px 11px;
}

.portal-section--catalog .portal-product-card--catalog .portal-product-card__heading .ps-product__title {
    display: -webkit-box;
    overflow: hidden;
    color: #17191d;
    font-size: 19px;
    font-weight: 750;
    line-height: 1.25;
    text-decoration: none;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.portal-section--catalog .portal-product-card--catalog .portal-product-card__heading .portal-product-category {
    margin: 0;
    color: #727780;
    font-size: 13px;
    line-height: 1.35;
}

.portal-section--catalog .portal-product-card--catalog .ps-product__thumbnail {
    padding: 0 16px;
}

.portal-section--catalog .portal-product-card--catalog .ps-product__thumbnail > a {
    display: block;
    overflow: hidden;
    border-radius: 15px;
    background: #f3f2ee;
}

.portal-section--catalog .portal-product-card--catalog .ps-product__thumbnail img {
    display: block;
    height: 184px;
    border-radius: 15px;
    background: #f3f2ee;
    object-fit: contain;
}

.portal-section--catalog .portal-product-card--catalog .portal-product-badges {
    top: 12px;
    right: 26px;
}

.portal-section--catalog .portal-product-card--catalog .portal-product-badges .ps-product__badge:not(.ps-product__badge--sponsored) {
    border: 1px solid rgba(255, 255, 255, 0.9);
    border-radius: 999px;
    background: #fff6d8;
    color: #735b10;
    box-shadow: 0 5px 14px rgba(38, 49, 67, 0.12);
}

.portal-section--catalog .portal-product-card--catalog .ps-product__container {
    min-height: 0;
    padding: 12px 18px 17px;
}

.portal-section--catalog .portal-product-card--catalog .ps-product__content {
    gap: 0;
    padding: 0;
}

.portal-section--catalog .portal-product-card--catalog .ps-product__price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 7px;
    margin: 0 0 7px;
    color: #15171a;
    font-size: 21px;
    font-weight: 750;
    line-height: 1.2;
}

.portal-section--catalog .portal-product-card--catalog .ps-product__price del {
    color: #858991;
    font-size: 13px;
    font-weight: 500;
}

.portal-section--catalog .portal-product-card--catalog .ps-product__vendor {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 6px;
    max-width: 100%;
    min-height: 27px;
    margin: 0;
    padding: 4px 10px 4px 6px;
    overflow: hidden;
    border: 1px solid rgba(47, 94, 168, 0.13);
    border-radius: 999px;
    background: #f5f8fd;
    color: #3f5c8a;
    font-size: 11px;
    font-weight: 700;
    text-overflow: ellipsis;
    text-decoration: none;
    white-space: nowrap;
}

.portal-section--catalog .portal-product-card--catalog .ps-product__vendor::before {
    display: inline-flex;
    flex: 0 0 16px;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #e2ebf8;
    color: #2f5ea8;
    content: "\f54e";
    font-family: "Font Awesome 6 Free";
    font-size: 8px;
    font-weight: 900;
}

.portal-section--catalog .portal-product-card--catalog .portal-product-card__footer--actions {
    margin-top: 11px;
    padding-top: 0;
}

@media (max-width: 767px) {
    .portal-section--catalog .portal-product-card--catalog .portal-product-card__heading {
        gap: 3px;
        min-height: 0;
        padding: 12px 12px 9px;
    }

    .portal-section--catalog .portal-product-card--catalog .portal-product-card__heading .ps-product__title {
        min-height: 0;
        font-size: 14px;
        line-height: 1.3;
    }

    .portal-section--catalog .portal-product-card--catalog .portal-product-card__heading .portal-product-category {
        font-size: 10px;
        line-height: 1.3;
    }

    .portal-section--catalog .portal-product-card--catalog .ps-product__thumbnail {
        padding: 0 10px;
    }

    .portal-section--catalog .portal-product-card--catalog .ps-product__thumbnail img {
        height: clamp(112px, 36vw, 150px);
    }

    .portal-section--catalog .portal-product-card--catalog.ps-product .ps-product__thumbnail .ps-product__actions {
        bottom: 7px;
        left: 50%;
        display: flex;
        width: max-content;
        max-width: calc(100% - 20px);
        padding: 3px 7px;
        border: 1px solid rgba(30, 46, 68, 0.08);
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.96);
        box-shadow: 0 5px 14px rgba(22, 35, 53, 0.14);
        opacity: 1;
        transform: translate(-50%, 0);
        visibility: visible;
    }

    .portal-section--catalog .portal-product-card--catalog .ps-product__actions li {
        margin: 0 2px;
    }

    .portal-section--catalog .portal-product-card--catalog .ps-product__actions li a,
    .portal-section--catalog .portal-product-card--catalog .ps-product__actions li button {
        width: 32px;
        height: 32px;
    }

    .portal-section--catalog .portal-product-card--catalog .portal-product-badges {
        top: 10px;
        right: 18px;
    }

    .portal-section--catalog .portal-product-card--catalog .ps-product__container {
        padding: 10px 12px 12px;
    }

    .portal-section--catalog .portal-product-card--catalog .ps-product__price {
        gap: 3px 5px;
        margin-bottom: 7px;
        font-size: 16px;
    }

    .portal-section--catalog .portal-product-card--catalog .ps-product__price del {
        font-size: 11px;
    }

    .portal-section--catalog .portal-product-card--catalog .ps-product__vendor {
        min-height: 25px;
        font-size: 10px;
    }

    .portal-section--catalog .portal-product-card--catalog .portal-product-card__footer--actions {
        margin-top: 10px;
        grid-template-columns: minmax(0, 1fr);
        gap: 6px;
    }

    .portal-section--catalog .portal-product-card--catalog .portal-product-card__footer--actions .ps-btn {
        min-width: 0;
        min-height: 40px;
        padding: 7px 6px;
        font-size: 11px;
        line-height: 1.2;
        white-space: normal;
    }
}
/* Store directory refresh */
.portal-store-discovery {
    padding: 38px 0 64px;
    background: #f6f8fc;
}

.portal-store-discovery__heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
}

.portal-store-discovery__heading .portal-eyebrow {
    color: #bf9410;
}

.portal-store-discovery__heading h1 {
    margin: 8px 0 8px;
    color: #14264e;
    font-size: clamp(30px, 3.8vw, 48px);
    font-weight: 750;
    letter-spacing: -0.035em;
    line-height: 1.1;
}

.portal-store-discovery__heading p {
    margin: 0;
    color: #69758a;
    font-size: 16px;
}

.portal-store-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 18px;
}

.portal-store-filters__chip {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    border: 1px solid #dce3ee;
    border-radius: 999px;
    background: #fff;
    color: #35425a;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.portal-store-filters__chip:hover,
.portal-store-filters__chip:focus-visible {
    border-color: #2f5ea8;
    color: #2f5ea8;
}

.portal-store-filters__chip.is-active {
    border-color: #2f6ee5;
    background: #2f6ee5;
    color: #fff;
}

.portal-store-search-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
    margin-bottom: 24px;
}

.portal-store-search {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
}

.portal-store-search .form-control {
    height: 52px;
    padding-left: 48px;
    border: 1px solid #dce3ec;
    border-radius: 12px;
    background: #fff;
    box-shadow: none;
    color: #1e2b47;
}

.portal-store-search .form-control:focus {
    border-color: #4d69ad;
    box-shadow: 0 0 0 3px rgba(77, 105, 173, 0.12);
}

.portal-store-search__icon {
    position: absolute;
    z-index: 1;
    left: 18px;
    color: #536884;
}

.portal-store-search .ps-btn {
    display: inline-flex;
    min-width: 164px;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    border: 1px solid #f6b900;
    border-radius: 10px;
    background: #ffbd00;
    color: #15191f;
    font-weight: 700;
}

.portal-store-search .ps-btn:hover,
.portal-store-search .ps-btn:focus-visible {
    border-color: #e9aa00;
    background: #e9aa00;
    color: #15191f;
}

.portal-store-search-row__count {
    margin: 0;
    color: #647188;
    font-size: 14px;
    white-space: nowrap;
}

.portal-store-search-row__count strong {
    color: #263956;
}

.portal-store-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 22px;
}

.portal-store-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(47, 94, 168, 0.08);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(25, 43, 76, 0.075);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.portal-store-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 38px rgba(25, 43, 76, 0.12);
}

.portal-store-card__cover {
    position: relative;
    display: block;
    height: 174px;
    overflow: hidden;
    background: #e5f3f4;
    text-decoration: none;
}

.portal-store-card__fallback {
    position: absolute;
    inset: 0;
    display: block;
    overflow: hidden;
    background: linear-gradient(135deg, #eaf8f6, #fbf4df);
}

.portal-store-card__fallback svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.portal-store-card__sun {
    fill: #f7ca52;
}

.portal-store-card__hill {
    fill: #d1eeea;
}

.portal-store-card__leaf {
    fill: #7da88e;
}

.portal-store-card__vein {
    fill: none;
    stroke: #f7fff8;
    stroke-linecap: round;
    stroke-width: 2;
}

.portal-store-card__cover[data-category="nutricion"] .portal-store-card__fallback {
    background: linear-gradient(135deg, #fff3d0, #eef7e8);
}

.portal-store-card__cover[data-category="nutricion"] .portal-store-card__hill {
    fill: #e5efcb;
}

.portal-store-card__cover[data-category="cuidado-personal"] .portal-store-card__fallback,
.portal-store-card__cover[data-category="belleza"] .portal-store-card__fallback {
    background: linear-gradient(135deg, #f5eafa, #e5f6f4);
}

.portal-store-card__cover[data-category="cuidado-personal"] .portal-store-card__hill,
.portal-store-card__cover[data-category="belleza"] .portal-store-card__hill {
    fill: #e8dff3;
}

.portal-store-card__cover[data-category="salud"] .portal-store-card__fallback {
    background: linear-gradient(135deg, #e0f3f8, #edf7ed);
}

.portal-store-card__cover[data-category="salud"] .portal-store-card__hill {
    fill: #cae7ed;
}

.portal-store-card__fallback-mark {
    position: absolute;
    right: 18px;
    bottom: 12px;
    display: grid;
    justify-items: end;
    color: rgba(31, 64, 91, 0.68);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
}

.portal-store-card__fallback-mark small {
    font-size: 8px;
    font-weight: 500;
    letter-spacing: 0;
}

.portal-store-card__cover > img {
    position: absolute;
    z-index: 1;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.portal-store-card:hover .portal-store-card__cover > img {
    transform: scale(1.035);
}

.portal-store-card__cover > img[hidden],
.portal-store-card__logo img[hidden] {
    display: none !important;
}

.portal-store-card__category {
    position: absolute;
    z-index: 2;
    top: 12px;
    right: 12px;
    max-width: calc(100% - 24px);
    overflow: hidden;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    color: #25344d;
    font-size: 11px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
    backdrop-filter: blur(8px);
}

.portal-store-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 0 18px 18px;
}

.portal-store-card__brand {
    position: relative;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    align-items: end;
    gap: 12px;
    min-height: 57px;
    margin-bottom: 11px;
}

.portal-store-card__logo {
    position: relative;
    z-index: 2;
    display: grid;
    width: 62px;
    height: 62px;
    place-items: center;
    overflow: hidden;
    margin-top: -26px;
    border: 4px solid #fff;
    border-radius: 50%;
    background: #f5f8ee;
    box-shadow: 0 3px 10px rgba(30, 48, 74, 0.08);
    text-decoration: none;
}

.portal-store-card__logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.portal-store-card__logo-fallback {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    align-content: center;
    color: #658a6c;
    line-height: 1;
}

.portal-store-card__logo-fallback svg {
    width: 27px;
    height: 27px;
    margin-bottom: 1px;
    fill: #86a978;
}

.portal-store-card__logo-vein {
    fill: none;
    stroke: #f5f8e9;
    stroke-linecap: round;
    stroke-width: 1.4;
}

.portal-store-card__logo-fallback strong {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.06em;
}

.portal-store-card__title {
    min-width: 0;
    padding-bottom: 2px;
}

.portal-store-card__title h2 {
    margin: 0 0 5px;
    overflow: hidden;
    color: #16264a;
    font-size: 18px;
    font-weight: 750;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.portal-store-card__title h2 a {
    color: inherit;
    text-decoration: none;
}

.portal-store-card__title h2 a:hover {
    color: #2f5ea8;
}

.portal-store-card__location {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    overflow: hidden;
    color: #68768d;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.portal-store-card__location i {
    flex: 0 0 auto;
    color: #2f5ea8;
}

.portal-store-card__description {
    min-height: 38px;
    margin: 0 0 14px 70px;
    color: #6c7688;
    font-size: 12px;
    line-height: 1.55;
}

.portal-store-card__action {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    align-self: flex-end;
    margin-top: auto;
    padding: 9px 13px;
    border: 1px solid #4774c5;
    border-radius: 999px;
    color: #2f5ea8;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease;
}

.portal-store-card__action:hover,
.portal-store-card__action:focus-visible {
    background: #2f5ea8;
    color: #fff;
}

.portal-store-card__cover:focus-visible,
.portal-store-card__logo:focus-visible,
.portal-store-card__title a:focus-visible,
.portal-store-card__action:focus-visible {
    outline: 3px solid rgba(74, 196, 250, 0.6);
    outline-offset: 3px;
}

.portal-store-cards__empty {
    grid-column: 1 / -1;
}

.portal-store-pagination {
    display: flex;
    justify-content: center;
    margin-top: 28px;
}

@media (max-width: 991px) {
    .portal-store-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }

    .portal-store-search-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    .portal-store-search-row__count {
        justify-self: end;
    }
}

@media (max-width: 575px) {
    .portal-store-discovery {
        padding: 27px 0 46px;
    }

    .portal-store-discovery__heading {
        margin-bottom: 17px;
    }

    .portal-store-discovery__heading h1 {
        font-size: 30px;
    }

    .portal-store-discovery__heading p {
        font-size: 14px;
        line-height: 1.55;
    }

    .portal-store-filters {
        flex-wrap: nowrap;
        overflow-x: auto;
        margin-right: -12px;
        padding: 0 12px 8px 0;
        scrollbar-width: thin;
    }

    .portal-store-filters__chip {
        flex: 0 0 auto;
        min-height: 36px;
        padding: 7px 13px;
    }

    .portal-store-search {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    .portal-store-search .form-control {
        height: 48px;
    }

    .portal-store-search .ps-btn {
        min-width: 0;
        min-height: 48px;
    }

    .portal-store-search-row__count {
        justify-self: start;
        font-size: 13px;
    }

    .portal-store-cards {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .portal-store-card__cover {
        height: 185px;
    }

    .portal-store-card__body {
        padding: 0 16px 16px;
    }

    .portal-store-card__description {
        margin-left: 70px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .portal-store-card,
    .portal-store-card__cover > img,
    .portal-store-filters__chip,
    .portal-store-card__action {
        transition: none;
    }

    .portal-store-card:hover {
        transform: none;
    }
}
