: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;
}

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;
}

.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 {
    min-width: 560px;
}

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

.portal-categories-menu__product {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 128px;
    gap: 18px;
    align-items: center;
    color: inherit;
    text-decoration: none;
}

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

.portal-categories-menu__product-category {
    display: inline-block;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--wth-blue-header);
}

.portal-categories-menu__aside h4 {
    font-size: 24px;
    line-height: 1.25;
    margin-bottom: 12px;
}

.portal-categories-menu__product-copy p {
    margin-bottom: 12px;
}

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

.portal-categories-menu__product-media {
    border-radius: 18px;
    overflow: hidden;
    background: #f4f6fb;
}

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

.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;
}

.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 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__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-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-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: 20px;
    }

    .portal-home-categories__card ul,
    .portal-home-top,
    .portal-home-banners-row {
        grid-template-columns: 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: block;
    }

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

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

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

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

    .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-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 {
    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-card {
    padding: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    background: #fbfcff;
}

.portal-variation-card__header {
    display: grid;
    gap: 4px;
    margin-bottom: 14px;
}

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

.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-contact-layout {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 24px;
}

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

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

.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-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-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-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-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__thumbnail img {
    min-height: 230px;
    object-fit: cover;
}

.portal-vendor-card .ps-block__container {
    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: 72px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    margin-bottom: 16px;
}

.portal-vendor-card__profile img {
    width: 72px;
    height: 72px;
    border-radius: 16px;
    object-fit: cover;
}

.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-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-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-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: 1.2fr 1fr 1fr 1fr;
    gap: 40px;
    align-items: start;
}

.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%;
    }

    .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;
    }
}
