/* Rivers-style customer portal for WooCommerce My Account */

body.ps-rivers-portal.woocommerce-account .woocommerce,
body.ps-rivers-portal.woocommerce-account .elementor-widget-shortcode .woocommerce {
    align-items: start;
    display: grid !important;
    gap: 0 32px;
    grid-template-columns: 220px minmax(0, 1fr);
    width: 100%;
}

body.ps-rivers-portal.woocommerce-account .woocommerce::after {
    display: none;
}

.ps-rivers-portal .woocommerce-MyAccount-navigation {
    background: transparent;
    border: none;
    float: none !important;
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    padding: 0;
    width: auto !important;
}

.ps-rivers-portal .woocommerce-MyAccount-content {
    background: #fff;
    border: 1px solid #e5e7eb;
    clear: none !important;
    float: none !important;
    grid-column: 2;
    grid-row: 1;
    margin: 0 !important;
    max-width: none !important;
    min-width: 0;
    overflow: visible !important;
    padding: 1.75rem 2rem 2rem !important;
    width: auto !important;
}

/* Elementor/Hello often wraps My Account and collapses Rivers grids. */
body.ps-rivers-portal.woocommerce-account .elementor-widget-woocommerce-my-account .woocommerce,
body.ps-rivers-portal.woocommerce-account .elementor-widget-shortcode .woocommerce {
    display: grid !important;
    grid-template-columns: 220px minmax(0, 1fr) !important;
}

body.ps-rivers-portal .woocommerce-MyAccount-content > .woocommerce-notices-wrapper,
body.ps-rivers-portal .woocommerce-MyAccount-content > .woocommerce-message,
body.ps-rivers-portal .woocommerce-MyAccount-content > .woocommerce-info,
body.ps-rivers-portal .woocommerce-MyAccount-content > .woocommerce-error {
    margin-bottom: 1rem;
}

.ps-rivers-portal .woocommerce-MyAccount-navigation > ul {
    display: none;
}

.ps-portal-nav__section {
    margin-bottom: 1.75rem;
}

.ps-portal-nav__section:last-child {
    margin-bottom: 0;
}

.ps-portal-nav__section h2 {
    color: #111827 !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    margin: 0 0 0.5rem !important;
    padding: 0 1.25rem;
}

.ps-portal-nav__section ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ps-portal-nav__section li a {
    color: #374151;
    display: block;
    font-size: 0.92rem;
    line-height: 1.4;
    padding: 0.5rem 1.25rem;
    text-decoration: none;
}

.ps-portal-nav__section li.is-active a,
.ps-portal-nav__section li a:hover {
    background: #eff6ff;
    color: #2563eb;
}

.ps-portal__page-title {
    color: #111827 !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    margin: 0 0 1rem !important;
}

.ps-portal__tabs {
    border-bottom: 1px solid #e5e7eb;
    display: flex;
    gap: 2rem;
    margin-bottom: 1.25rem;
}

.ps-portal__tab {
    border-bottom: 2px solid transparent;
    color: #6b7280;
    font-size: 0.95rem;
    font-weight: 600;
    margin-bottom: -1px;
    padding: 0.65rem 0;
    text-decoration: none;
}

.ps-portal__tab.is-active {
    border-bottom-color: #2563eb;
    color: #2563eb;
}

.ps-portal__filters {
    margin-bottom: 1.5rem;
}

.ps-portal__filters-grid {
    align-items: stretch;
    display: grid;
    gap: 0.65rem;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.15fr) minmax(0, 0.85fr) auto;
}

.ps-portal__filters-grid input,
.ps-portal__filters-grid select {
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 3px;
    box-shadow: none;
    color: #374151;
    font-size: 0.875rem;
    min-height: 36px;
    padding: 0.4rem 0.65rem;
    width: 100%;
}

.ps-portal__search-btn {
    background: #2563eb !important;
    border: 1px solid #2563eb !important;
    border-radius: 3px !important;
    color: #fff !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    min-height: 36px !important;
    min-width: 88px;
    padding: 0 1rem !important;
}

.ps-portal__order-card {
    border: 1px solid #e5e7eb;
    margin-bottom: 1.5rem;
}

.ps-portal__order-card-header {
    align-items: center;
    background: #fafafa;
    border-bottom: 1px solid #e5e7eb;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    min-height: 48px;
    padding: 0.75rem 1rem;
}

.ps-portal__order-card-heading {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    font-size: 0.875rem;
    gap: 1.25rem;
}

.ps-portal__order-no strong,
.ps-portal__order-time strong {
    color: #111827;
    font-weight: 600;
    margin-right: 0.35rem;
}

.ps-portal__order-time {
    color: #374151;
}

.ps-portal__status-text {
    color: #2563eb;
    font-size: 0.875rem;
    font-weight: 600;
    white-space: nowrap;
}

.ps-portal__status-badge {
    background: #dbeafe;
    border-radius: 999px;
    color: #2563eb;
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0.35rem 0.85rem;
    white-space: nowrap;
}

.ps-portal__order-card-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
}

.ps-portal__order-lines {
    border-right: 1px solid #e5e7eb;
    min-width: 0;
}

.ps-portal__order-line {
    align-items: flex-start;
    border-bottom: 1px solid #f3f4f6;
    display: grid;
    gap: 1rem;
    grid-template-columns: 80px minmax(0, 1fr) auto;
    padding: 1rem 1.25rem;
}

.ps-portal__order-line:last-child {
    border-bottom: 0;
}

.ps-portal__order-line-thumb {
    display: block;
    position: relative;
    text-decoration: none;
}

.ps-portal__order-line-thumb img,
.ps-portal__thumb-placeholder {
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    display: block;
    height: 80px;
    object-fit: cover;
    width: 80px;
}

.ps-portal__thumb-view {
    align-items: center;
    background: rgba(17, 24, 39, 0.55);
    bottom: 0;
    color: #fff;
    display: flex;
    flex-direction: column;
    font-size: 0.65rem;
    font-weight: 600;
    gap: 0.15rem;
    justify-content: center;
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: opacity 0.15s ease;
}

.ps-portal__order-line-thumb:hover .ps-portal__thumb-view {
    opacity: 1;
}

.ps-portal__order-line-title {
    color: #111827;
    display: block;
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.35;
    margin-bottom: 0.2rem;
    text-decoration: none;
}

.ps-portal__order-line-title:hover {
    color: #2563eb;
}

.ps-portal__order-line-sku {
    color: #2563eb;
    font-size: 0.85rem;
    font-weight: 500;
    margin-bottom: 0.65rem;
}

.ps-portal__order-line-meta {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.ps-portal__order-line-meta-col {
    color: #4b5563;
    display: grid;
    font-size: 0.8125rem;
    gap: 0.25rem;
    line-height: 1.45;
}

.ps-portal__order-line-meta-col strong {
    color: #374151;
    font-weight: 600;
}

.ps-portal__order-line-total {
    color: #2563eb;
    font-size: 1rem;
    font-weight: 700;
    padding-top: 0.15rem;
    text-align: right;
    white-space: nowrap;
}

.ps-portal__order-summary {
    background: #fff;
    padding: 1rem 1.15rem 1.15rem;
}

.ps-portal__order-summary-head {
    align-items: baseline;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    margin-bottom: 0.85rem;
}

.ps-portal__order-summary-total {
    color: #111827;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
}

.ps-portal__view-order {
    color: #2563eb;
    font-size: 0.8125rem;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
}

.ps-portal__view-order:hover {
    text-decoration: underline;
}

.ps-portal__amount-grid {
    background: #f3f4f6;
    display: grid;
    gap: 0;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 0.85rem;
    padding: 0.65rem 0.75rem;
}

.ps-portal__amount-cell {
    padding: 0.15rem 0.35rem;
}

.ps-portal__amount-cell span {
    color: #6b7280;
    display: block;
    font-size: 0.72rem;
    line-height: 1.3;
    margin-bottom: 0.15rem;
}

.ps-portal__amount-cell strong {
    color: #111827;
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
}

.ps-portal__summary-list {
    font-size: 0.8125rem;
    margin: 0 0 1rem;
}

.ps-portal__summary-list div {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.4rem;
}

.ps-portal__summary-list dt {
    color: #6b7280;
    font-weight: 500;
}

.ps-portal__summary-list dd {
    color: #111827;
    font-weight: 500;
    margin: 0;
    text-align: right;
}

.ps-portal__summary-list .is-status {
    color: #2563eb;
    font-weight: 600;
    text-transform: lowercase;
}

.ps-portal__info-tip {
    align-items: center;
    background: #d1d5db;
    border-radius: 50%;
    color: #fff;
    cursor: help;
    display: inline-flex;
    font-size: 0.62rem;
    font-weight: 700;
    height: 14px;
    justify-content: center;
    line-height: 1;
    margin-left: 0.25rem;
    vertical-align: middle;
    width: 14px;
}

.ps-portal__invoice-btn {
    background: #fff !important;
    border: 1px solid #2563eb !important;
    border-radius: 3px !important;
    color: #2563eb !important;
    display: block;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    min-height: 36px !important;
    padding: 0.45rem 1rem !important;
    text-align: center;
    width: 100%;
}

.ps-portal__invoice-btn:hover {
    background: #eff6ff !important;
}

.ps-portal__badge {
    background: #ef4444;
    border-radius: 999px;
    color: #fff;
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 600;
    margin-left: 0.35rem;
    padding: 0.12rem 0.45rem;
    vertical-align: middle;
}

.ps-portal__pagination {
    display: flex;
    gap: 0.5rem;
    justify-content: center;
    margin-top: 1rem;
}

.ps-portal__pagination a {
    border: 1px solid #d1d5db;
    border-radius: 3px;
    color: #374151;
    padding: 0.35rem 0.65rem;
    text-decoration: none;
}

.ps-portal__pagination a.is-active {
    background: #2563eb;
    border-color: #2563eb;
    color: #fff;
}

.ps-portal__empty {
    color: #6b7280;
    padding: 3rem 0;
    text-align: center;
}

/* ---- Order detail (Rivers-style) ---- */
body.ps-rivers-portal .ps-portal--order-detail,
.ps-portal--order-detail {
    color: #374151;
    max-width: 100%;
}

body.ps-rivers-portal .ps-order__back,
.ps-order__back {
    margin: 0 0 1rem;
}

body.ps-rivers-portal .ps-order__back a,
.ps-order__back a {
    color: #2563eb;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
}

body.ps-rivers-portal .ps-order,
.ps-order {
    color: #374151;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.5;
    width: 100%;
}

/* Force side-by-side payment + summary (theme often breaks CSS grid on header/section). */
body.ps-rivers-portal .ps-order__top,
.ps-order__top {
    align-items: stretch !important;
    background: #fff !important;
    border: 1px solid #e5e7eb !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    margin: 0 0 0 !important;
    width: 100% !important;
}

body.ps-rivers-portal .ps-order__pay,
.ps-order__pay {
    align-items: stretch !important;
    align-self: stretch !important;
    background: #eaf2ff !important;
    border-right: 1px solid #e5e7eb !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex: 0 0 210px !important;
    flex-direction: column !important;
    gap: 1rem !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    max-width: 210px !important;
    min-height: 100% !important;
    padding: 1.35rem 1.1rem !important;
    width: 210px !important;
}

body.ps-rivers-portal .ps-order__pay-status,
.ps-order__pay-status {
    color: #4b5563 !important;
    margin: 0 !important;
}

body.ps-rivers-portal .ps-order__pay-status span,
.ps-order__pay-status span {
    display: block;
    font-size: 0.875rem;
}

body.ps-rivers-portal .ps-order__pay-status strong,
.ps-order__pay-status strong {
    color: #2563eb !important;
    display: block !important;
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    margin-top: 0.2rem !important;
    text-transform: lowercase;
}

body.ps-rivers-portal .ps-order__btn,
.ps-order__btn {
    align-items: center !important;
    background: #fff !important;
    border: 1px solid #111827 !important;
    border-radius: 2px !important;
    box-shadow: none !important;
    color: #111827 !important;
    display: inline-flex !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    height: auto !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    min-height: 40px !important;
    padding: 0.55rem 0.9rem !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap !important;
    width: 100% !important;
}

body.ps-rivers-portal .ps-order__btn--ghost,
.ps-order__btn--ghost {
    min-width: 110px !important;
    width: auto !important;
}

body.ps-rivers-portal .ps-order__summary,
.ps-order__summary {
    background: #fff !important;
    box-sizing: border-box !important;
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding: 1.15rem 1.25rem 1.35rem !important;
    width: auto !important;
}

body.ps-rivers-portal .ps-order__meta,
.ps-order__meta {
    align-items: start !important;
    display: grid !important;
    gap: 0.85rem 1rem !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.15fr) minmax(0, 0.9fr) auto !important;
    margin: 0 0 0.9rem !important;
}

body.ps-rivers-portal .ps-order__meta-item span,
.ps-order__meta-item span {
    color: #6b7280 !important;
    display: block !important;
    font-size: 0.8125rem !important;
    margin-bottom: 0.2rem !important;
}

body.ps-rivers-portal .ps-order__meta-item strong,
.ps-order__meta-item strong {
    color: #111827 !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
}

body.ps-rivers-portal .ps-order__order-no,
.ps-order__order-no {
    align-items: center !important;
    display: inline-flex !important;
    gap: 0.35rem !important;
}

body.ps-rivers-portal .ps-order__copy,
.ps-order__copy {
    align-items: center;
    background: transparent;
    border: 0;
    color: #6b7280;
    cursor: pointer;
    display: inline-flex;
    height: 22px;
    justify-content: center;
    padding: 0;
    width: 22px;
}

body.ps-rivers-portal .ps-order__copy svg,
.ps-order__copy svg {
    height: 14px;
    width: 14px;
}

body.ps-rivers-portal .ps-order__copy.is-copied,
body.ps-rivers-portal .ps-order__copy:hover,
.ps-order__copy.is-copied,
.ps-order__copy:hover {
    color: #2563eb;
}

body.ps-rivers-portal .ps-order__status-value,
.ps-order__status-value {
    color: #2563eb !important;
}

body.ps-rivers-portal .ps-order__meta-actions,
.ps-order__meta-actions {
    align-self: center !important;
    justify-self: end !important;
}

body.ps-rivers-portal .ps-order__status-copy,
.ps-order__status-copy {
    background: #eef2f7 !important;
    color: #4b5563 !important;
    margin: 0 0 1.15rem !important;
    padding: 0.75rem 0.95rem !important;
}

body.ps-rivers-portal .ps-order__timeline,
.ps-order__timeline {
    display: grid !important;
    gap: 0.5rem !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0.5rem 0 0 !important;
    position: relative !important;
}

body.ps-rivers-portal .ps-order__timeline::before,
.ps-order__timeline::before {
    background: #e5e7eb !important;
    content: "" !important;
    height: 2px !important;
    left: 10% !important;
    position: absolute !important;
    right: 10% !important;
    top: 18px !important;
    z-index: 0 !important;
}

body.ps-rivers-portal .ps-order__timeline::after,
.ps-order__timeline::after {
    background: #2563eb !important;
    content: "" !important;
    height: 2px !important;
    left: 10% !important;
    position: absolute !important;
    top: 18px !important;
    width: calc((100% - 20%) * var(--ps-order-progress, 0) / 100) !important;
    z-index: 0 !important;
}

body.ps-rivers-portal .ps-order__timeline > li,
.ps-order__timeline > li {
    align-items: center !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.35rem !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    text-align: center !important;
    z-index: 1 !important;
}

body.ps-rivers-portal .ps-order__dot,
.ps-order__dot {
    align-items: center !important;
    background: #fff !important;
    border: 2px solid #d1d5db !important;
    border-radius: 50% !important;
    color: #fff !important;
    display: inline-flex !important;
    height: 28px !important;
    justify-content: center !important;
    width: 28px !important;
}

body.ps-rivers-portal .ps-order__dot svg,
.ps-order__dot svg {
    height: 14px;
    width: 14px;
}

body.ps-rivers-portal .ps-order__timeline > li.is-done .ps-order__dot,
body.ps-rivers-portal .ps-order__timeline > li.is-current .ps-order__dot,
.ps-order__timeline > li.is-done .ps-order__dot,
.ps-order__timeline > li.is-current .ps-order__dot {
    background: #2563eb !important;
    border-color: #2563eb !important;
}

body.ps-rivers-portal .ps-order__timeline > li strong,
.ps-order__timeline > li strong {
    color: #111827 !important;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
}

body.ps-rivers-portal .ps-order__timeline > li em,
.ps-order__timeline > li em {
    color: #9ca3af !important;
    font-size: 0.72rem !important;
    font-style: normal !important;
}

body.ps-rivers-portal .ps-order__parties,
.ps-order__parties {
    border: 1px solid #e5e7eb !important;
    border-top: 0 !important;
    display: grid !important;
    gap: 0 !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin: 0 0 1.35rem !important;
}

body.ps-rivers-portal .ps-order__party,
.ps-order__party {
    border-right: 1px solid #e5e7eb !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    padding: 1.15rem 1.1rem 1.25rem !important;
}

body.ps-rivers-portal .ps-order__party:last-child,
.ps-order__party:last-child {
    border-right: 0 !important;
}

body.ps-rivers-portal .ps-order__party h3,
.ps-order__party h3 {
    color: #111827 !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    margin: 0 0 0.85rem !important;
}

body.ps-rivers-portal .ps-order__party p,
.ps-order__party p {
    display: grid !important;
    gap: 0.35rem 0.75rem !important;
    grid-template-columns: 110px minmax(0, 1fr) !important;
    margin: 0 0 0.55rem !important;
}

body.ps-rivers-portal .ps-order__party p span,
.ps-order__party p span {
    color: #6b7280 !important;
}

body.ps-rivers-portal .ps-order__party p strong,
.ps-order__party p strong {
    color: #111827 !important;
    font-weight: 600 !important;
    word-break: break-word;
}

body.ps-rivers-portal .ps-order__tracking-card,
.ps-order__tracking-card {
    background: #eef4fb !important;
    border-radius: 2px !important;
    padding: 1rem !important;
}

body.ps-rivers-portal .ps-order__tracking-status,
.ps-order__tracking-status {
    align-items: center !important;
    display: flex !important;
    gap: 0.55rem !important;
    grid-template-columns: none !important;
    margin: 0 0 0.55rem !important;
}

body.ps-rivers-portal .ps-order__truck,
.ps-order__truck {
    color: #2563eb !important;
    display: inline-flex !important;
    height: 22px;
    width: 22px;
}

body.ps-rivers-portal .ps-order__truck svg,
.ps-order__truck svg {
    height: 22px;
    width: 22px;
}

body.ps-rivers-portal .ps-order__tracking-status strong,
.ps-order__tracking-status strong {
    color: #111827 !important;
    font-size: 0.95rem !important;
}

body.ps-rivers-portal .ps-order__tracking-copy,
.ps-order__tracking-copy {
    color: #6b7280 !important;
    display: block !important;
    font-size: 0.8125rem !important;
    line-height: 1.55 !important;
    margin: 0 !important;
}

body.ps-rivers-portal .ps-order__items,
.ps-order__items {
    border: 1px solid #e5e7eb !important;
    margin: 0 0 1.25rem !important;
}

body.ps-rivers-portal .ps-order__items-head,
.ps-order__items-head {
    background: #f3f4f6 !important;
    border-bottom: 1px solid #e5e7eb !important;
    color: #6b7280 !important;
    display: grid !important;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    gap: 1rem !important;
    grid-template-columns: minmax(0, 1.55fr) minmax(0, 1.15fr) 120px 110px !important;
    padding: 0.7rem 1rem !important;
}

body.ps-rivers-portal .ps-order__item,
.ps-order__item {
    align-items: start !important;
    border-bottom: 1px solid #f3f4f6 !important;
    display: grid !important;
    gap: 1rem !important;
    grid-template-columns: minmax(0, 1.55fr) minmax(0, 1.15fr) 120px 110px !important;
    padding: 1rem !important;
}

body.ps-rivers-portal .ps-order__item:last-of-type,
.ps-order__item:last-of-type {
    border-bottom: 0 !important;
}

body.ps-rivers-portal .ps-order__item-main,
.ps-order__item-main {
    align-items: start !important;
    display: grid !important;
    gap: 0.85rem !important;
    grid-template-columns: 84px minmax(0, 1fr) !important;
}

body.ps-rivers-portal .ps-order__thumb,
.ps-order__thumb {
    display: block !important;
    position: relative !important;
    text-decoration: none !important;
}

body.ps-rivers-portal .ps-order__thumb img,
body.ps-rivers-portal .ps-order__thumb .ps-portal__thumb-placeholder,
.ps-order__thumb img,
.ps-order__thumb .ps-portal__thumb-placeholder {
    background: #f3f4f6 !important;
    border: 1px solid #e5e7eb !important;
    display: block !important;
    height: 84px !important;
    object-fit: cover !important;
    width: 84px !important;
}

body.ps-rivers-portal .ps-order__thumb-view,
.ps-order__thumb-view {
    align-items: center;
    background: rgba(17, 24, 39, 0.55);
    bottom: 0;
    color: #fff;
    display: flex;
    flex-direction: column;
    font-size: 0.65rem;
    font-weight: 600;
    gap: 0.1rem;
    justify-content: center;
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: opacity 0.15s ease;
}

body.ps-rivers-portal .ps-order__thumb:hover .ps-order__thumb-view,
.ps-order__thumb:hover .ps-order__thumb-view {
    opacity: 1;
}

body.ps-rivers-portal .ps-order__name,
.ps-order__name {
    color: #111827 !important;
    display: block !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    margin-bottom: 0.2rem !important;
    text-decoration: none !important;
}

body.ps-rivers-portal .ps-order__sku,
.ps-order__sku {
    color: #2563eb !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    margin: 0 0 0.55rem !important;
}

body.ps-rivers-portal .ps-order__item-copy p,
body.ps-rivers-portal .ps-order__imprint p,
.ps-order__item-copy p,
.ps-order__imprint p {
    color: #6b7280 !important;
    margin: 0 0 0.3rem !important;
}

body.ps-rivers-portal .ps-order__item-copy strong,
body.ps-rivers-portal .ps-order__imprint strong,
.ps-order__item-copy strong,
.ps-order__imprint strong {
    color: #111827 !important;
    font-weight: 600 !important;
}

body.ps-rivers-portal .ps-order__imprint-colors,
.ps-order__imprint-colors {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.75rem;
}

body.ps-rivers-portal .ps-order__swatch-wrap,
.ps-order__swatch-wrap {
    align-items: center;
    display: inline-flex;
    gap: 0.3rem;
}

body.ps-rivers-portal .ps-order__swatch,
.ps-order__swatch {
    background: #94a3b8;
    border: 1px solid #d1d5db;
    border-radius: 2px;
    display: inline-block;
    height: 12px;
    width: 12px;
}

body.ps-rivers-portal .ps-order__proof,
.ps-order__proof {
    color: #111827 !important;
    font-weight: 600 !important;
    padding-top: 0.2rem;
}

body.ps-rivers-portal .ps-order__price,
.ps-order__price {
    align-items: center !important;
    color: #111827 !important;
    display: inline-flex !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    gap: 0.35rem !important;
    justify-content: flex-end !important;
    padding-top: 0.2rem;
}

body.ps-rivers-portal .ps-order__info,
.ps-order__info {
    align-items: center;
    background: #d1d5db;
    border-radius: 50%;
    color: #fff;
    cursor: help;
    display: inline-flex;
    font-size: 0.62rem;
    font-style: normal;
    font-weight: 700;
    height: 14px;
    justify-content: center;
    line-height: 1;
    width: 14px;
}

body.ps-rivers-portal .ps-order__subtotal-bar,
.ps-order__subtotal-bar {
    align-items: center !important;
    background: #f3f4f6 !important;
    border-top: 1px solid #e5e7eb !important;
    color: #6b7280 !important;
    display: flex !important;
    font-size: 0.875rem !important;
    gap: 1.5rem !important;
    justify-content: flex-start !important;
    padding: 0.75rem 1rem !important;
}

body.ps-rivers-portal .ps-order__subtotal-bar strong,
.ps-order__subtotal-bar strong {
    color: #111827 !important;
    font-weight: 600 !important;
}

body.ps-rivers-portal .ps-order__totals,
.ps-order__totals {
    align-items: start !important;
    border-bottom: 1px solid #e5e7eb !important;
    display: grid !important;
    gap: 1.5rem !important;
    grid-template-columns: minmax(0, 1fr) 280px !important;
    margin: 0 0 1.25rem !important;
    padding: 0.5rem 0 1.25rem !important;
}

body.ps-rivers-portal .ps-order__totals dl,
.ps-order__totals dl {
    margin: 0 !important;
}

body.ps-rivers-portal .ps-order__totals dl div,
.ps-order__totals dl div {
    display: flex !important;
    gap: 1rem !important;
    justify-content: space-between !important;
    margin-bottom: 0.45rem !important;
}

body.ps-rivers-portal .ps-order__totals dt,
.ps-order__totals dt {
    color: #6b7280 !important;
    font-weight: 500 !important;
}

body.ps-rivers-portal .ps-order__totals dd,
.ps-order__totals dd {
    color: #111827 !important;
    font-weight: 600 !important;
    margin: 0 !important;
    text-align: right !important;
}

body.ps-rivers-portal .ps-order__grand dt,
body.ps-rivers-portal .ps-order__grand dd,
.ps-order__grand dt,
.ps-order__grand dd {
    color: #111827 !important;
    font-weight: 700 !important;
}

body.ps-rivers-portal .ps-order__notes,
.ps-order__notes {
    padding-top: 0.25rem;
}

body.ps-rivers-portal .ps-order__notes h3,
.ps-order__notes h3 {
    color: #111827 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    margin: 0 0 0.85rem !important;
}

body.ps-rivers-portal .ps-order__notes p,
.ps-order__notes p {
    display: grid !important;
    gap: 0.75rem !important;
    grid-template-columns: 110px minmax(0, 1fr) !important;
    margin: 0 0 0.65rem !important;
}

body.ps-rivers-portal .ps-order__notes p span,
.ps-order__notes p span {
    color: #6b7280 !important;
}

body.ps-rivers-portal .ps-order__notes p strong,
.ps-order__notes p strong {
    color: #111827 !important;
    font-weight: 600 !important;
}

@media (max-width: 1100px) {
    body.ps-rivers-portal .ps-order__top,
    .ps-order__top {
        flex-direction: column !important;
    }

    body.ps-rivers-portal .ps-order__pay,
    .ps-order__pay {
        border-bottom: 1px solid #e5e7eb !important;
        border-right: 0 !important;
        flex: 1 1 auto !important;
        max-width: none !important;
        width: 100% !important;
    }

    body.ps-rivers-portal .ps-order__parties,
    body.ps-rivers-portal .ps-order__totals,
    .ps-order__parties,
    .ps-order__totals {
        grid-template-columns: 1fr !important;
    }

    body.ps-rivers-portal .ps-order__meta,
    .ps-order__meta {
        grid-template-columns: 1fr 1fr !important;
    }

    body.ps-rivers-portal .ps-order__meta-actions,
    .ps-order__meta-actions {
        justify-self: start !important;
    }

    body.ps-rivers-portal .ps-order__party,
    .ps-order__party {
        border-bottom: 1px solid #e5e7eb !important;
        border-right: 0 !important;
    }

    body.ps-rivers-portal .ps-order__party:last-child,
    .ps-order__party:last-child {
        border-bottom: 0 !important;
    }

    body.ps-rivers-portal .ps-order__items-head,
    body.ps-rivers-portal .ps-order__item,
    .ps-order__items-head,
    .ps-order__item {
        grid-template-columns: 1fr !important;
    }

    body.ps-rivers-portal .ps-order__items-head,
    .ps-order__items-head {
        display: none !important;
    }

    body.ps-rivers-portal .ps-order__price,
    .ps-order__price {
        justify-content: flex-start !important;
    }

    body.ps-rivers-portal .ps-order__subtotal-bar,
    .ps-order__subtotal-bar {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 0.35rem !important;
    }
}

@media (max-width: 640px) {
    body.ps-rivers-portal .ps-order__meta,
    body.ps-rivers-portal .ps-order__timeline,
    .ps-order__meta,
    .ps-order__timeline {
        grid-template-columns: 1fr !important;
    }

    body.ps-rivers-portal .ps-order__timeline::before,
    body.ps-rivers-portal .ps-order__timeline::after,
    .ps-order__timeline::before,
    .ps-order__timeline::after {
        display: none !important;
    }

    body.ps-rivers-portal .ps-order__timeline > li,
    .ps-order__timeline > li {
        align-items: flex-start !important;
        flex-direction: row !important;
        gap: 0.75rem !important;
        text-align: left !important;
    }

    body.ps-rivers-portal .ps-order__party p,
    body.ps-rivers-portal .ps-order__notes p,
    .ps-order__party p,
    .ps-order__notes p {
        gap: 0.15rem !important;
        grid-template-columns: 1fr !important;
    }
}

/* Shared portal blocks */
.ps-portal {
    margin: 0;
}

.ps-portal__provider-card {
    border: 1px solid #e5e7eb;
    margin-bottom: 1.25rem;
    overflow: hidden;
}

.ps-portal__provider-header {
    align-items: center;
    background: #fafafa;
    border-bottom: 1px solid #e5e7eb;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 1rem 1.25rem;
}

.ps-portal__form label {
    display: block;
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.ps-portal__history-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ps-portal__history-list li {
    border-bottom: 1px solid #e5e7eb;
    display: flex;
    justify-content: space-between;
    padding: 0.75rem 0;
}

/* ---- Browsing History (Rivers-style) ---- */
.ps-history__header {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1.5rem;
}

.ps-history__intro .ps-portal__page-title {
    margin-bottom: 0.35rem;
}

.ps-history__hint {
    align-items: center;
    color: #6b7280;
    display: inline-flex;
    font-size: 0.875rem;
    gap: 0.4rem;
    margin: 0;
}

.ps-history__clock {
    color: #9ca3af;
    display: inline-flex;
    height: 16px;
    width: 16px;
}

.ps-history__clock svg {
    display: block;
    height: 16px;
    width: 16px;
}

.ps-history__actions {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    gap: 0.5rem;
}

.ps-history__edit-btn,
.ps-history__done-btn,
.ps-history__clear-btn {
    appearance: none !important;
    border-radius: 2px !important;
    box-shadow: none !important;
    cursor: pointer;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    min-height: 36px;
    padding: 0.45rem 1.1rem !important;
}

.ps-history__edit-btn,
.ps-history__done-btn {
    background: #2563eb !important;
    border: 1px solid #2563eb !important;
    color: #fff !important;
}

.ps-history__clear-btn {
    background: #fff !important;
    border: 1px solid #d1d5db !important;
    color: #374151 !important;
}

.ps-history__done-btn[hidden],
.ps-history__clear-form[hidden],
.ps-history-card__remove[hidden],
.ps-portal--history:not(.is-editing) .ps-history__done-btn,
.ps-portal--history:not(.is-editing) .ps-history__clear-form,
.ps-portal--history:not(.is-editing) .ps-history-card__remove {
    display: none !important;
}

.ps-portal--history.is-editing .ps-history__edit-btn {
    display: none !important;
}

.ps-portal--history.is-editing .ps-history__done-btn,
.ps-portal--history.is-editing .ps-history__clear-form {
    display: inline-flex !important;
}

.ps-portal--history.is-editing .ps-history-card__remove {
    display: block !important;
}

.ps-history__group {
    margin-bottom: 1.75rem;
}

.ps-history__date {
    border-bottom: 1px solid #e5e7eb;
    color: #111827;
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 1rem;
    padding: 0 0 0.55rem;
}

.ps-history__grid {
    display: grid;
    gap: 1.25rem 1rem;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.ps-history-card {
    min-width: 0;
    position: relative;
}

.ps-history-card__media {
    background: #fff;
    border: 1px solid #e5e7eb;
    display: block;
    margin-bottom: 0.65rem;
    overflow: hidden;
    padding-top: 100%;
    position: relative;
    text-decoration: none;
}

.ps-history-card__media img,
.ps-history-card__media .ps-portal__thumb-placeholder {
    height: 100%;
    left: 0;
    object-fit: contain;
    position: absolute;
    top: 0;
    width: 100%;
}

.ps-history-card__media .ps-portal__thumb-placeholder {
    background: #f3f4f6;
}

.ps-history-card__swatches {
    display: flex;
    flex-direction: column;
    gap: 3px;
    position: absolute;
    right: 6px;
    top: 6px;
    z-index: 1;
}

.ps-history-card__swatches i {
    border: 1px solid rgba(17, 24, 39, 0.15);
    display: block;
    height: 12px;
    width: 12px;
}

.ps-history-card__title {
    color: #111827;
    display: -webkit-box;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.35;
    margin: 0 0 0.25rem;
    overflow: hidden;
    text-decoration: none;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.ps-history-card__title:hover {
    color: #2563eb;
}

.ps-history-card__sku {
    color: #9ca3af;
    font-size: 0.8125rem;
    margin: 0 0 0.35rem;
}

.ps-history-card__price {
    color: #111827;
    font-size: 0.875rem;
    margin: 0;
}

.ps-history-card__price span {
    color: #6b7280;
    font-weight: 500;
    margin-right: 0.25rem;
}

.ps-history-card__price .amount,
.ps-history-card__price bdi {
    color: #111827;
    font-weight: 700;
}

.ps-history-card__remove {
    position: absolute;
    right: 4px;
    top: 4px;
    z-index: 2;
}

.ps-history-card__remove button {
    align-items: center;
    background: #111827 !important;
    border: 0 !important;
    border-radius: 50% !important;
    color: #fff !important;
    cursor: pointer;
    display: inline-flex;
    font-size: 1rem;
    height: 22px;
    justify-content: center;
    line-height: 1;
    padding: 0 !important;
    width: 22px;
}

@media (max-width: 1200px) {
    .ps-history__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .ps-history__header {
        align-items: stretch;
        flex-direction: column;
    }

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

@media (max-width: 640px) {
    .ps-history__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1100px) {
    body.ps-rivers-portal.woocommerce-account .woocommerce,
    body.ps-rivers-portal.woocommerce-account .elementor-widget-shortcode .woocommerce {
        gap: 24px 0;
        grid-template-columns: 1fr;
    }

    .ps-rivers-portal .woocommerce-MyAccount-navigation,
    .ps-rivers-portal .woocommerce-MyAccount-content {
        grid-column: 1;
        grid-row: auto;
    }

    .ps-rivers-portal .woocommerce-MyAccount-content {
        padding: 1.25rem 1.25rem 1.5rem;
    }

    .ps-portal__filters-grid {
        grid-template-columns: 1fr 1fr;
    }

    .ps-portal__order-card-body {
        grid-template-columns: 1fr;
    }

    .ps-portal__order-lines {
        border-bottom: 1px solid #e5e7eb;
        border-right: 0;
    }
}

@media (max-width: 640px) {
    .ps-portal__filters-grid {
        grid-template-columns: 1fr;
    }

    .ps-portal__order-line {
        grid-template-columns: 64px 1fr;
    }

    .ps-portal__order-line-total {
        grid-column: 2;
        text-align: left;
    }

    .ps-portal__order-line-meta {
        grid-template-columns: 1fr;
    }

    .ps-portal__order-card-heading {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.35rem;
    }
}

/* ---- My Quotes (Rivers-style) ---- */
.ps-quotes__header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}
.ps-quotes__new-btn{align-items:center;background:#fff!important;border:1px solid #2563eb!important;border-radius:2px!important;color:#2563eb!important;display:inline-flex!important;font-size:.9rem!important;font-weight:600!important;gap:.35rem;padding:.55rem .9rem!important;text-decoration:none!important;white-space:nowrap}
.ps-quotes__new-btn span{font-size:1.1rem;line-height:1}
.ps-quotes__filters{display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 180px auto;margin-bottom:1.25rem}
.ps-quotes__filters input,.ps-quotes__filters select{border:1px solid #d1d5db!important;border-radius:2px!important;min-height:42px;padding:.45rem .7rem!important;width:100%}
.ps-quotes__search-btn{background:#2563eb!important;border:1px solid #2563eb!important;border-radius:2px!important;color:#fff!important;cursor:pointer;font-weight:600!important;min-height:42px;padding:.45rem 1.1rem!important}
.ps-quotes__list{display:flex;flex-direction:column;gap:1rem}
.ps-quote-card{border:1px solid #e5e7eb;overflow:hidden}
.ps-quote-card__head{align-items:center;background:#edf3fb;display:flex;gap:1rem;justify-content:space-between;padding:.7rem 1rem}
.ps-quote-card__meta{display:flex;flex-wrap:wrap;gap:1.25rem}
.ps-quote-card__meta span{color:#374151;font-size:.875rem}
.ps-quote-card__meta strong{color:#111827;margin-right:.25rem}
.ps-quote-card__status{background:#dbeafe;color:#1d4ed8;font-size:.8125rem;font-weight:600;padding:.25rem .65rem}
.ps-quote-card__body{align-items:center;display:grid;gap:1rem;grid-template-columns:72px minmax(0,1fr) auto;padding:1rem}
.ps-quote-card__thumb{display:block;position:relative;text-decoration:none}
.ps-quote-card__thumb img,.ps-quote-card__thumb .ps-portal__thumb-placeholder{background:#f3f4f6;border:1px solid #e5e7eb;display:block;height:72px;object-fit:cover;width:72px}
.ps-quote-card__thumb-view{align-items:center;background:rgba(17,24,39,.55);bottom:0;color:#fff;display:flex;flex-direction:column;font-size:.62rem;font-weight:600;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0}
.ps-quote-card__thumb:hover .ps-quote-card__thumb-view{opacity:1}
.ps-quote-card__thumb-view svg{height:14px;width:14px}
.ps-quote-card__title{color:#2563eb;display:block;font-size:.95rem;font-weight:700;margin-bottom:.15rem;text-decoration:none}
.ps-quote-card__sku{color:#2563eb;font-size:.85rem;font-weight:600;margin:0 0 .35rem}
.ps-quote-card__line{color:#4b5563;font-size:.875rem;margin:0 0 .2rem}
.ps-quote-card__details{background:#fff!important;border:1px solid #111827!important;border-radius:2px!important;color:#111827!important;display:inline-flex!important;font-size:.875rem!important;font-weight:600!important;min-height:38px;padding:.45rem .85rem!important;text-decoration:none!important;white-space:nowrap}
.ps-quotes__request{margin-top:1.5rem}
.ps-quotes__request summary{color:#2563eb;cursor:pointer;font-weight:600;margin-bottom:.75rem}
.ps-quote__top{border:1px solid #e5e7eb;margin-bottom:1.25rem;padding:1rem 1.15rem 1.25rem}
.ps-quote__top-meta{display:flex;flex-wrap:wrap;gap:2rem;margin-bottom:1rem}
.ps-quote__top-meta span{color:#6b7280;display:block;font-size:.8125rem;margin-bottom:.2rem}
.ps-quote__top-meta strong{color:#111827;font-size:.95rem}
.ps-quote__status{color:#2563eb!important}
.ps-quote__timeline{display:flex;gap:2.5rem;list-style:none;margin:0;padding:.5rem 0 0;position:relative}
.ps-quote__timeline::before{background:#2563eb;content:"";height:2px;left:14px;position:absolute;right:14px;top:18px}
.ps-quote__timeline li{align-items:flex-start;display:flex;flex-direction:column;gap:.3rem;position:relative;z-index:1}
.ps-quote__dot{align-items:center;background:#2563eb;border-radius:50%;color:#fff;display:inline-flex;height:28px;justify-content:center;width:28px}
.ps-quote__dot svg{height:14px;width:14px}
.ps-quote__timeline li strong{color:#111827;font-size:.875rem}
.ps-quote__timeline li em{color:#9ca3af;font-size:.75rem;font-style:normal}
.ps-quote__ship{margin-bottom:1.25rem}
.ps-quote__ship h2{align-items:center;color:#111827!important;display:inline-flex;font-size:1rem!important;font-weight:700!important;gap:.4rem;line-height:1.35!important;margin:0 0 .75rem!important}
.ps-quote__edit{color:#2563eb;display:inline-flex;height:18px;width:18px}
.ps-quote__edit svg{height:16px;width:16px}
.ps-quote__ship-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}
.ps-quote__ship-grid p{margin:0}
.ps-quote__ship-grid span{color:#6b7280;display:block;font-size:.8125rem;margin-bottom:.2rem}
.ps-quote__ship-grid strong{color:#111827}
.ps-quote__item{border:1px solid #e5e7eb;border-top:3px solid #93c5fd;margin-bottom:1rem}
.ps-quote__item-main{display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr) 220px;padding:1.15rem}
.ps-quote__item-title-row{align-items:flex-start;display:flex;gap:.75rem;margin-bottom:.85rem}
.ps-quote__item-badge{align-items:center;background:#2563eb;border-radius:50%;color:#fff;display:inline-flex;flex:0 0 28px;font-size:.85rem;font-weight:700;height:28px;justify-content:center;width:28px}
.ps-quote__item-title-row h3,.ps-quote__item-title-row h3.ps-quote__product-name{color:#111827!important;font-size:1.05rem!important;font-weight:700!important;line-height:1.35!important;margin:0 0 .2rem!important}
.ps-quote__sku{color:#2563eb;font-weight:600;margin:0}
.ps-quote__specs{display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:.85rem}
.ps-quote__specs span{color:#6b7280;display:block;font-size:.8125rem;margin-bottom:.15rem}
.ps-quote__specs strong{color:#111827}
.ps-quote__controls{display:grid;gap:.75rem;grid-template-columns:120px minmax(0,1fr);margin-bottom:.85rem}
.ps-quote__controls label span{color:#6b7280;display:block;font-size:.8125rem;margin-bottom:.25rem}
.ps-quote__controls select{border:1px solid #d1d5db;min-height:38px;padding:.35rem .5rem;width:100%}
.ps-quote__thumbs{display:flex;gap:.5rem;margin-bottom:.85rem}
.ps-quote__thumbs img{border:1px solid #e5e7eb;height:48px;object-fit:cover;width:48px}
.ps-quote__bulk{align-items:center;background:#f3f4f6;display:flex;gap:.75rem;padding:.65rem .8rem}
.ps-quote__switch{background:#9ca3af;border-radius:999px;display:inline-block;height:18px;position:relative;width:34px}
.ps-quote__switch::after{background:#fff;border-radius:50%;content:"";height:14px;left:2px;position:absolute;top:2px;width:14px}
.ps-quote__bulk p{color:#4b5563;font-size:.8125rem;margin:0}
.ps-quote__hero-image img,.ps-quote__hero-image .ps-portal__thumb-placeholder{background:#f3f4f6;border:1px solid #e5e7eb;display:block;height:200px;object-fit:cover;width:100%}
.ps-quote__pricing{border-top:1px solid #e5e7eb;display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:1.15rem}
.ps-quote__price-col h4,.ps-quote__schedule-col h4{color:#111827!important;font-size:.95rem!important;font-weight:700!important;line-height:1.35!important;margin:0 0 .75rem!important}
.ps-quote__price-col dl{margin:0}
.ps-quote__price-col dl div{display:flex;justify-content:space-between;margin-bottom:.45rem}
.ps-quote__price-col dt{color:#6b7280;font-weight:500}
.ps-quote__price-col dd{color:#111827;font-weight:600;margin:0}
.ps-quote__total dt,.ps-quote__total dd{color:#111827!important;font-size:1rem;font-weight:700!important}
.ps-quote__schedule-col p{display:grid;gap:.2rem;margin:0 0 .65rem}
.ps-quote__schedule-col span{color:#6b7280;font-size:.8125rem}
.ps-quote__schedule-col strong{color:#111827}
.ps-quote__eta strong{color:#2563eb!important}
.ps-quote__notice{background:#fff8db;border:1px solid #f5e7a1;color:#6b5b00;font-size:.8125rem;margin-top:.75rem;padding:.7rem .8rem}
.ps-quote__product-details{border:1px solid #e5e7eb}
.ps-quote__product-details summary{background:#f9fafb;cursor:pointer;font-weight:600;padding:.75rem 1rem}
.ps-quote__product-details p{margin:0;padding:.85rem 1rem 1rem}
@media (max-width:900px){
.ps-quotes__header{align-items:flex-start;flex-direction:column}
.ps-quotes__filters,.ps-quote-card__body,.ps-quote__item-main,.ps-quote__pricing,.ps-quote__specs,.ps-quote__ship-grid,.ps-quote__controls{grid-template-columns:1fr}
.ps-quote-card__details{justify-self:start}
body.ps-rivers-portal .ps-order__top,
.ps-order__top{flex-direction:column!important;flex-wrap:wrap!important}
body.ps-rivers-portal .ps-order__pay,
.ps-order__pay{border-bottom:1px solid #e5e7eb!important;border-right:0!important;flex:1 1 auto!important;max-width:none!important;width:100%!important}
body.ps-rivers-portal.woocommerce-account .elementor-widget-woocommerce-my-account .woocommerce,
body.ps-rivers-portal.woocommerce-account .elementor-widget-shortcode .woocommerce{grid-template-columns:1fr!important}
}
/* ---- Contact Us (Rivers-style) ---- */
.ps-portal--contact{color:#374151}
.ps-portal--contact>.ps-portal__page-title{margin-bottom:1.25rem}
.ps-contact__chat{background:radial-gradient(circle at 12% 30%,rgba(37,99,235,.18),transparent 42%),radial-gradient(circle at 88% 70%,rgba(59,130,246,.16),transparent 40%),linear-gradient(180deg,#e8f1ff 0%,#f7faff 100%);border-radius:12px;margin-bottom:2.5rem;overflow:hidden;padding:2.75rem 1.5rem;position:relative;text-align:center}
.ps-contact__chat::before,.ps-contact__chat::after{background:rgba(37,99,235,.12);border-radius:12px;content:"";height:54px;position:absolute;top:28px;width:54px}
.ps-contact__chat::before{left:8%}
.ps-contact__chat::after{bottom:24px;right:10%;top:auto}
.ps-contact__chat-inner{margin:0 auto;max-width:420px;position:relative;z-index:1}
.ps-contact__chat h2{color:#111827;font-size:1.75rem;font-weight:700;margin:0 0 .4rem}
.ps-contact__chat p{color:#6b7280;font-size:.95rem;margin:0 0 1.25rem}
.ps-contact__chat-btn{appearance:none!important;background:#2563eb!important;border:1px solid #2563eb!important;border-radius:6px!important;box-shadow:none!important;color:#fff!important;display:inline-flex!important;font-size:.95rem!important;font-weight:600!important;justify-content:center;min-height:44px;padding:.7rem 1.4rem!important;text-decoration:none!important}
.ps-contact__chat-btn:hover{background:#1d4ed8!important;color:#fff!important}
.ps-contact__section-head{margin:0 0 1.25rem;text-align:center}
.ps-contact__section-head h2{color:#111827;font-size:1.35rem;font-weight:700;margin:0 0 .35rem}
.ps-contact__section-head p{color:#6b7280;font-size:.9rem;margin:0}
.ps-contact__support{margin-bottom:2.75rem}
.ps-contact__cards{display:grid;gap:1.25rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1.25rem}
.ps-contact-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 2px rgba(17,24,39,.04);overflow:hidden}
.ps-contact-card__head{align-items:center;display:flex;flex-direction:column;gap:.55rem;padding:1.35rem 1.25rem .85rem;text-align:center}
.ps-contact-card__icon{display:inline-flex;height:48px;width:48px}
.ps-contact-card__icon svg{display:block;height:48px;width:48px}
.ps-contact-card__head h3{color:#111827;font-size:1.05rem;font-weight:700;margin:0}
.ps-contact-card__list{list-style:none;margin:0;padding:0 0 .35rem}
.ps-contact-card__list li{border-top:1px solid #f3f4f6;margin:0}
.ps-contact-card__list a{align-items:center;color:inherit;display:flex;gap:.75rem;justify-content:space-between;padding:.95rem 1.15rem;text-decoration:none;transition:background .15s ease}
.ps-contact-card__list a:hover{background:#f8fafc}
.ps-contact-card__list strong{color:#111827;display:block;font-size:.95rem;font-weight:700;margin-bottom:.15rem}
.ps-contact-card__list em{color:#6b7280;display:block;font-size:.8125rem;font-style:normal;line-height:1.35}
.ps-contact-card__list i{color:#d1d5db;display:inline-flex;flex:0 0 18px;height:18px;width:18px}
.ps-contact-card__list i svg{display:block;height:18px;width:18px}
.ps-contact__general{margin:0 auto;max-width:640px;text-align:center}
.ps-contact__general-btn{align-items:center;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:8px!important;box-shadow:none!important;color:#111827!important;display:flex!important;font-size:.95rem!important;font-weight:600!important;justify-content:center;min-height:48px;padding:.75rem 1rem!important;text-decoration:none!important;width:100%}
.ps-contact__general-btn:hover{background:#f9fafb!important;border-color:#d1d5db!important;color:#111827!important}
.ps-contact__general p{color:#9ca3af;font-size:.8125rem;margin:.65rem 0 0}
.ps-contact__email{margin-top:.5rem}
.ps-contact__email-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 auto;max-width:760px}
.ps-contact__email-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:inherit;display:block;padding:1.15rem 1.25rem;text-align:center;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease}
.ps-contact__email-card:hover{border-color:#93c5fd;box-shadow:0 4px 14px rgba(37,99,235,.08)}
.ps-contact__email-card strong{color:#2563eb;display:block;font-size:1rem;font-weight:700;margin-bottom:.35rem;word-break:break-word}
.ps-contact__email-card span{color:#4b5563;display:block;font-size:.875rem;line-height:1.4}
@media (max-width:900px){.ps-contact__cards,.ps-contact__email-grid{grid-template-columns:1fr}.ps-contact__chat{padding:2.25rem 1.15rem}.ps-contact__chat::before,.ps-contact__chat::after{display:none}}

/* ---- Support Tickets (Rivers-style) ---- */
.ps-tickets__header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}
.ps-tickets__new{background:#2563eb!important;border:1px solid #2563eb!important;border-radius:2px!important;color:#fff!important;display:inline-flex!important;font-size:.9rem!important;font-weight:600!important;padding:.5rem .9rem!important;text-decoration:none!important;white-space:nowrap}
.ps-tickets__filters{display:grid;gap:.65rem;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 140px 170px 150px auto;margin-bottom:1.25rem}
.ps-tickets__filters input,.ps-tickets__filters select{border:1px solid #d1d5db!important;border-radius:2px!important;min-height:42px;padding:.45rem .7rem!important;width:100%}
.ps-tickets__search{background:#2563eb!important;border:1px solid #2563eb!important;border-radius:2px!important;color:#fff!important;cursor:pointer;font-weight:600!important;min-height:42px;padding:.45rem 1.1rem!important}
.ps-tickets__list{display:flex;flex-direction:column;gap:1rem}
.ps-ticket-card{border:1px solid #e5e7eb;overflow:hidden}
.ps-ticket-card__head{align-items:center;background:#f3f4f6;display:flex;flex-wrap:wrap;gap:.75rem 1rem;justify-content:space-between;padding:.7rem 1rem}
.ps-ticket-card__meta{align-items:center;color:#111827;display:flex;flex-wrap:wrap;font-size:.875rem;gap:.45rem}
.ps-ticket-card__meta em{color:#6b7280;font-style:normal;margin-right:.2rem}
.ps-ticket-card__sep{color:#d1d5db}
.ps-ticket-card__actions{align-items:center;display:flex;gap:.65rem}
.ps-ticket-card__reply{background:#fff!important;border:1px solid #ef4444!important;border-radius:3px!important;color:#ef4444!important;display:inline-flex!important;font-size:.8125rem!important;font-weight:600!important;padding:.28rem .7rem!important;text-decoration:none!important}
.ps-ticket-card__status{font-size:.875rem;font-weight:600}
.ps-ticket-card__status.is-open{color:#2563eb}
.ps-ticket-card__status.is-closed{color:#9ca3af}
.ps-ticket-card__subject{margin:0;padding:.9rem 1rem .55rem}
.ps-ticket-card__subject a{color:#111827;font-size:1rem;font-weight:700;text-decoration:none}
.ps-ticket-card__subject a:hover{color:#2563eb}
.ps-ticket-card__activity{align-items:center;color:#9ca3af;display:inline-flex;font-size:.8125rem;gap:.35rem;margin:0;padding:0 1rem 1rem}
.ps-ticket-card__activity svg{height:14px;width:14px}
.ps-tickets__create{background:#f8fafc;border:1px solid #e5e7eb;margin-bottom:1.25rem;padding:1.15rem}
.ps-tickets__create h2{font-size:1.05rem;margin:0 0 1rem}
.ps-tickets__create-grid{display:grid;gap:1rem;grid-template-columns:1fr 1fr}
.ps-tickets__create label{display:block;font-weight:600;margin-bottom:.3rem}
.ps-tickets__create input,.ps-tickets__create select,.ps-tickets__create textarea{border:1px solid #d1d5db;border-radius:2px;padding:.55rem .7rem;width:100%}
.ps-tickets__create-actions{align-items:center;display:flex;gap:.85rem}
.ps-tickets__create-actions button{background:#2563eb!important;border:1px solid #2563eb!important;border-radius:2px!important;color:#fff!important;cursor:pointer;font-weight:600!important;padding:.55rem 1rem!important}
.ps-tickets__create-actions a{color:#2563eb;font-weight:600;text-decoration:none}
.ps-ticket-detail{align-items:start!important;display:grid!important;gap:1.5rem!important;grid-template-columns:minmax(0,1fr) 300px!important;width:100%!important}
.ps-ticket-detail__main{min-width:0!important}
.ps-ticket-detail__top{align-items:flex-start!important;display:flex!important;gap:1rem!important;justify-content:space-between!important;margin:0 0 1rem!important}
.ps-ticket-detail__title{color:#111827!important;font-size:1.35rem!important;font-weight:700!important;line-height:1.3!important;margin:0!important}
.ps-ticket-detail__solve{margin:0!important}
.ps-ticket-detail__solve button{background:transparent!important;border:0!important;box-shadow:none!important;color:#2563eb!important;cursor:pointer;font-size:.95rem!important;font-weight:600!important;padding:0!important;text-decoration:underline}
.ps-ticket-thread{background:transparent!important;border:0!important;display:flex!important;flex-direction:column!important;gap:1rem!important;max-height:none!important;overflow:visible!important;padding:0!important}
.ps-ticket-msg{background:#f3f4f6!important;border-radius:8px!important;box-sizing:border-box!important;padding:1.15rem 3.5rem 1.15rem 1.15rem!important;position:relative!important}
.ps-ticket-msg__avatar{align-items:center!important;background:#f97316!important;border-radius:50%!important;color:#fff!important;display:inline-flex!important;height:36px!important;justify-content:center!important;position:absolute!important;right:14px!important;top:14px!important;width:36px!important;z-index:1}
.ps-ticket-msg__avatar svg{height:18px;width:18px}
.ps-ticket-msg__rows{display:flex!important;flex-direction:column!important;gap:.55rem!important;margin:0!important;padding:0!important}
.ps-ticket-msg__row{align-items:flex-start!important;display:flex!important;flex-wrap:nowrap!important;gap:.75rem 1rem!important;margin:0!important}
.ps-ticket-msg__label{color:#6b7280!important;flex:0 0 130px!important;font-size:.9rem!important;font-weight:500!important;line-height:1.45!important}
.ps-ticket-msg__value{color:#111827!important;flex:1 1 auto!important;font-size:.95rem!important;font-weight:600!important;line-height:1.45!important;min-width:0!important}
.ps-ticket-msg__muted{color:#9ca3af!important;font-weight:500!important}
.ps-ticket-msg__row--message{align-items:flex-start!important}
.ps-ticket-msg__text{font-weight:500!important;line-height:1.55!important;white-space:pre-wrap!important;word-break:break-word}
.ps-ticket-reply{margin-top:1.25rem!important}
.ps-ticket-reply label{color:#111827!important;display:block!important;font-size:.95rem!important;font-weight:700!important;margin:0 0 .45rem!important}
.ps-ticket-reply textarea{background:#fff!important;border:1px solid #d1d5db!important;border-radius:4px!important;box-shadow:none!important;box-sizing:border-box!important;color:#111827!important;display:block!important;font:inherit!important;min-height:120px!important;padding:.75rem .85rem!important;resize:vertical;width:100%!important}
.ps-ticket-reply button{appearance:none!important;background:#2563eb!important;border:1px solid #2563eb!important;border-radius:4px!important;box-shadow:none!important;color:#fff!important;cursor:pointer;display:inline-flex!important;font-size:.95rem!important;font-weight:600!important;margin-top:.85rem!important;min-height:42px;padding:.55rem 1.25rem!important}
.ps-ticket-detail__back{margin:1.15rem 0 0!important}
.ps-ticket-detail__back a{color:#2563eb!important;font-weight:600!important;text-decoration:none!important}
.ps-ticket-details{align-self:start!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:6px!important;box-sizing:border-box!important;padding:1rem 1.1rem!important;width:100%!important}
.ps-ticket-details h2{border:0!important;color:#111827!important;font-size:1rem!important;font-weight:700!important;margin:0 0 .65rem!important;padding:0!important}
.ps-ticket-details__rows{display:flex!important;flex-direction:column!important;margin:0!important}
.ps-ticket-details__row{align-items:flex-start!important;border-top:1px solid #f3f4f6!important;display:flex!important;flex-direction:column!important;gap:.2rem!important;padding:.7rem 0!important}
.ps-ticket-details__row:first-child{border-top:0!important;padding-top:.15rem!important}
.ps-ticket-details__row span{color:#6b7280!important;font-size:.8125rem!important;font-weight:500!important}
.ps-ticket-details__row strong{color:#111827!important;font-size:.9rem!important;font-weight:700!important;line-height:1.4!important}
.ps-ticket-details__row strong.is-open{color:#2563eb!important}
.ps-ticket-details__row strong.is-closed{color:#9ca3af!important}
@media (max-width:1100px){.ps-tickets__filters{grid-template-columns:1fr 1fr}.ps-ticket-detail{grid-template-columns:1fr!important}.ps-tickets__create-grid{grid-template-columns:1fr}}
@media (max-width:640px){.ps-tickets__filters{grid-template-columns:1fr}.ps-tickets__header{align-items:flex-start;flex-direction:column}.ps-ticket-msg{padding-right:1.15rem!important}.ps-ticket-msg__avatar{position:static!important;margin:0 0 .75rem auto!important}.ps-ticket-msg__row{flex-direction:column!important;gap:.15rem!important}.ps-ticket-msg__label{flex-basis:auto!important}}

/* Profile / edit-account — Rivers */
body.ps-rivers-portal.woocommerce-edit-account .woocommerce-MyAccount-content {
    max-width: none;
}

body.ps-rivers-portal .ps-profile__intro {
    color: #6b7280;
    font-size: 0.95rem;
    line-height: 1.45;
    margin: -0.35rem 0 1.5rem;
}

body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account {
    clear: both;
    display: grid !important;
    gap: 1.1rem 1.25rem;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    max-width: 680px;
    width: 100%;
}

body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account > .clear {
    display: none !important;
}

body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account > .woocommerce-form-row--first,
body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account > .form-row-first {
    float: none !important;
    grid-column: 1;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
}

body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account > .woocommerce-form-row--last,
body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account > .form-row-last {
    float: none !important;
    grid-column: 2;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
}

body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account > .woocommerce-form-row--wide,
body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account > .form-row-wide,
body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account > fieldset,
body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account > p:has(> .woocommerce-Button),
body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account > p:has(> button[type="submit"]) {
    float: none !important;
    grid-column: 1 / -1;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account label {
    color: #111827 !important;
    display: block !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    margin: 0 0 0.4rem !important;
}

body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account label .required {
    color: #ef4444 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account .woocommerce-Input,
body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account input.input-text,
body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account input[type="text"],
body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account input[type="email"],
body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account input[type="password"] {
    appearance: none !important;
    background: #fff !important;
    border: 1px solid #d1d5db !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    color: #111827 !important;
    display: block !important;
    font: inherit !important;
    font-size: 0.95rem !important;
    line-height: 1.4 !important;
    min-height: 44px !important;
    padding: 0.65rem 0.85rem !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    width: 100% !important;
}

body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account .woocommerce-Input:focus,
body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account input.input-text:focus,
body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account input[type="text"]:focus,
body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account input[type="email"]:focus,
body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account input[type="password"]:focus {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14) !important;
    outline: none !important;
}

body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account .password-input {
    display: block !important;
    position: relative !important;
    width: 100% !important;
}

body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account .password-input input {
    padding-right: 2.75rem !important;
}

body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account .show-password-input {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #9ca3af !important;
    cursor: pointer;
    height: 44px !important;
    padding: 0 !important;
    position: absolute !important;
    right: 0.35rem !important;
    top: 0 !important;
    width: 2.25rem !important;
}

body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account .show-password-input:hover,
body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account .show-password-input:focus {
    color: #2563eb !important;
}

body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account #account_display_name_description,
body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account #account_display_name_description em {
    color: #6b7280 !important;
    display: block !important;
    font-size: 0.8125rem !important;
    font-style: normal !important;
    line-height: 1.4 !important;
    margin-top: 0.45rem !important;
}

body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account fieldset {
    background: #f8fafc !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 10px !important;
    display: grid !important;
    gap: 1rem !important;
    margin: 0.35rem 0 0 !important;
    min-width: 0 !important;
    padding: 1.25rem 1.25rem 1.35rem !important;
}

body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account fieldset legend {
    background: transparent !important;
    border: 0 !important;
    color: #111827 !important;
    float: none !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    padding: 0 0.25rem !important;
    width: auto !important;
}

body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account fieldset .form-row,
body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account fieldset .woocommerce-form-row {
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account .woocommerce-Button,
body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account button[type="submit"],
body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account button.button {
    appearance: none !important;
    background: #2563eb !important;
    border: 1px solid #2563eb !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    color: #fff !important;
    cursor: pointer;
    display: inline-flex !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    justify-content: center;
    margin-top: 0.35rem !important;
    min-height: 44px !important;
    padding: 0.7rem 1.5rem !important;
    text-decoration: none !important;
    width: auto !important;
}

body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account .woocommerce-Button:hover,
body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account button[type="submit"]:hover,
body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account button.button:hover {
    background: #1d4ed8 !important;
    border-color: #1d4ed8 !important;
    color: #fff !important;
}

@media (max-width: 640px) {
    body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account {
        grid-template-columns: 1fr;
    }

    body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account > .woocommerce-form-row--first,
    body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account > .form-row-first,
    body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account > .woocommerce-form-row--last,
    body.ps-rivers-portal .woocommerce-EditAccountForm.edit-account > .form-row-last {
        grid-column: 1 / -1;
    }
}

/* Beat Elementor kit heading sizes inside Rivers portal */
body.ps-rivers-portal .ps-portal__page-title,
body.ps-rivers-portal .woocommerce-MyAccount-content .ps-portal__page-title {
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

body.ps-rivers-portal .ps-portal-nav__section h2 {
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

body.ps-rivers-portal .ps-quote__ship h2,
body.ps-rivers-portal .woocommerce-MyAccount-content .ps-quote__ship h2 {
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

body.ps-rivers-portal .ps-quote__item-title-row h3,
body.ps-rivers-portal .woocommerce-MyAccount-content .ps-quote__item-title-row h3 {
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

body.ps-rivers-portal .ps-quote__price-col h4,
body.ps-rivers-portal .ps-quote__schedule-col h4,
body.ps-rivers-portal .woocommerce-MyAccount-content .ps-quote__price-col h4,
body.ps-rivers-portal .woocommerce-MyAccount-content .ps-quote__schedule-col h4 {
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

/* Configurator extras on order detail (personalization, files, charges) */
.ps-order__imprint .ps-order__extra a {
    color: #1d6fd8;
    display: inline-block;
    font-weight: 600;
    margin-right: 8px;
    text-decoration: underline;
    word-break: break-all;
}
.ps-order__imprint .ps-order__extra-note {
    color: #6b7280;
    font-style: normal;
    font-weight: 400;
    margin-left: 4px;
}

/* Team reply on quote detail */
.ps-quote__reply {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    margin: 20px 0;
    padding: 16px 20px;
}
.ps-quote__reply h3 {
    color: #1e3a5f;
    font-size: 14px;
    font-weight: 700;
    margin: 0 0 8px;
    text-transform: uppercase;
}
.ps-quote__reply p {
    color: #374151;
    font-size: 14px;
    margin: 0 0 6px;
}
.ps-quote__pay {
    background: #0A213B;
    border-radius: 6px;
    color: #fff !important;
    display: inline-block;
    font-weight: 600;
    margin-left: 8px;
    padding: 6px 14px;
    text-decoration: none;
}
.ps-quote__pay:hover { background: #1d6fd8; }

/* Quote detail: size breakdown in place of the Qty dropdown. */
.ps-quote__qty{margin-bottom:.85rem}
.ps-quote__qty>span{color:#6b7280;display:block;font-size:.8125rem;margin-bottom:.35rem}
.ps-quote__qty>strong{font-size:.9375rem}
.ps-quote__sizes{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0}
.ps-quote__sizes li{align-items:center;border:1px solid #d1d5db;border-radius:4px;display:flex;flex-direction:column;min-width:52px;padding:.3rem .55rem}
.ps-quote__sizes em{color:#6b7280;font-size:.75rem;font-style:normal}
.ps-quote__sizes strong{font-size:.9375rem}
.ps-quote__sizes .ps-quote__sizes-total{background:#f3f4f6}

/* Quote tracker: same look as the My Orders tracker, with 7 steps. */
@media (min-width: 641px) {
    body.ps-rivers-portal .ps-order__timeline.ps-quote__tracker,
    .ps-order__timeline.ps-quote__tracker {
        grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    }

    body.ps-rivers-portal .ps-order__timeline.ps-quote__tracker::before,
    .ps-order__timeline.ps-quote__tracker::before {
        left: 7.1429% !important;
        right: 7.1429% !important;
    }

    body.ps-rivers-portal .ps-order__timeline.ps-quote__tracker::after,
    .ps-order__timeline.ps-quote__tracker::after {
        left: 7.1429% !important;
        width: calc((100% - 14.2857%) * var(--ps-order-progress, 0) / 100) !important;
    }
}

.ps-quote__top .ps-quote__tracker {
    margin-top: 1rem !important;
}

.ps-quote__view-order {
    background: #2563eb;
    border-radius: 4px;
    color: #fff !important;
    font-size: 0.75rem;
    font-weight: 600;
    margin-top: 0.25rem;
    padding: 0.3rem 0.7rem;
    text-decoration: none !important;
}

.ps-quote__view-order:hover {
    background: #1d4ed8;
}

/* My Orders tracker: 4 steps (In Production → Arrived at Warehouse → Out For Delivery → Delivered). */
@media (min-width: 641px) {
    body.ps-rivers-portal .ps-order__timeline:not(.ps-quote__tracker),
    .ps-order__timeline:not(.ps-quote__tracker) {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    body.ps-rivers-portal .ps-order__timeline:not(.ps-quote__tracker)::before,
    .ps-order__timeline:not(.ps-quote__tracker)::before {
        left: 12.5% !important;
        right: 12.5% !important;
    }

    body.ps-rivers-portal .ps-order__timeline:not(.ps-quote__tracker)::after,
    .ps-order__timeline:not(.ps-quote__tracker)::after {
        left: 12.5% !important;
        width: calc((100% - 25%) * var(--ps-order-progress, 0) / 100) !important;
    }
}

/* "View Artwork" CTA under Print Invoice (artwork proof PDF set on the order). */
body.ps-rivers-portal .ps-order__btn--artwork,
.ps-order__btn--artwork {
    background: #2563eb !important;
    border-color: #2563eb !important;
    color: #fff !important;
    margin-top: 0.6rem !important;
}

body.ps-rivers-portal .ps-order__btn--artwork:hover,
.ps-order__btn--artwork:hover {
    background: #1d4ed8 !important;
    border-color: #1d4ed8 !important;
}
