/* PriceSellers — visual identity.
   Loaded on top of Bootstrap 5, which provides the grid, the offcanvas
   and the dropdown behaviour; everything below is the brand's own layer.
   Prodchoice keeps style.css untouched. */

:root {
    --ps-blue: #0b5fff;
    --ps-blue-dark: #0847c4;
    --ps-ink: #10131a;
    --ps-muted: #5b6472;
    --ps-line: #e3e6ec;
    --ps-bg: #f5f6f8;
    --ps-sale: #e8382d;
    --ps-radius: 12px;
    --ps-shadow: 0 1px 2px rgba(16, 19, 26, .06), 0 8px 24px rgba(16, 19, 26, .06);
}

* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
    color: var(--ps-ink);
    background: var(--ps-bg);
    font-size: 15px;
    line-height: 1.5;
}

a { color: inherit; text-decoration: none; }
a:hover { color: var(--ps-blue); }

.ps-skip {
    position: absolute;
    left: -9999px;
}
.ps-skip:focus {
    left: 1rem;
    top: 1rem;
    z-index: 1080;
    background: #fff;
    padding: .5rem 1rem;
    border-radius: 8px;
    box-shadow: var(--ps-shadow);
}

/* ---------- Header ---------- */

.ps-header {
    background: #fff;
    border-bottom: 1px solid var(--ps-line);
    position: sticky;
    top: 0;
    z-index: 1030;
}

.ps-header-inner {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: .75rem 0;
}

.ps-logo {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
}
.ps-mark {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
}
.ps-wordmark {
    font-weight: 800;
    font-size: 1.35rem;
    letter-spacing: -.02em;
    color: var(--ps-ink);
    white-space: nowrap;
}
.ps-wordmark span { color: var(--ps-blue); }

.ps-search {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    background: var(--ps-bg);
    border: 1px solid var(--ps-line);
    border-radius: 999px;
    padding: 0 .35rem 0 .9rem;
    max-width: 720px;
}
.ps-search:focus-within {
    border-color: var(--ps-blue);
    background: #fff;
}
.ps-search-icon { color: var(--ps-muted); }
.ps-search-input {
    flex: 1 1 auto;
    border: 0;
    background: transparent;
    padding: .6rem .7rem;
    font-size: .95rem;
    outline: none;
    min-width: 0;
}
.ps-search-button {
    border: 0;
    background: var(--ps-blue);
    color: #fff;
    font-weight: 600;
    border-radius: 999px;
    padding: .45rem 1.1rem;
    white-space: nowrap;
}
.ps-search-button:hover { background: var(--ps-blue-dark); }

.ps-header-actions {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-left: auto;
}

.ps-compare-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .5rem .7rem;
    border-radius: 8px;
    font-weight: 500;
}
.ps-compare-link:hover { background: var(--ps-bg); }

.ps-badge {
    position: absolute;
    top: .1rem;
    right: .1rem;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: var(--ps-sale);
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
}

.ps-country {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    background: #fff;
    border: 1px solid var(--ps-line);
    border-radius: 999px;
    padding: .4rem .8rem;
    font-weight: 500;
}
.ps-country:hover { border-color: var(--ps-blue); }

.ps-nav {
    border-top: 1px solid var(--ps-line);
    overflow-x: auto;
}
.ps-nav-inner {
    display: flex;
    gap: 1.4rem;
    padding: .55rem 0;
    white-space: nowrap;
}
.ps-nav a {
    font-size: .9rem;
    font-weight: 500;
    color: var(--ps-muted);
}
.ps-nav a:hover { color: var(--ps-blue); }

/* ---------- Hero ---------- */

.ps-hero {
    background: linear-gradient(135deg, var(--ps-blue) 0%, #123ea8 100%);
    color: #fff;
    padding: 3.5rem 0 3rem;
    text-align: center;
}
.ps-hero-title {
    font-size: clamp(1.7rem, 4vw, 2.6rem);
    font-weight: 800;
    letter-spacing: -.02em;
    margin: 0 0 .5rem;
}
.ps-hero-subtitle {
    font-size: 1.05rem;
    opacity: .9;
    margin: 0 auto 1.75rem;
    max-width: 620px;
}
.ps-hero-search {
    display: flex;
    align-items: center;
    gap: .5rem;
    background: #fff;
    border-radius: 999px;
    padding: .35rem .35rem .35rem 1.1rem;
    max-width: 640px;
    margin: 0 auto;
    box-shadow: 0 12px 30px rgba(4, 20, 60, .25);
}
.ps-hero-search i { color: var(--ps-muted); }
.ps-hero-search input {
    flex: 1 1 auto;
    border: 0;
    outline: none;
    padding: .7rem .3rem;
    font-size: 1rem;
    min-width: 0;
    color: var(--ps-ink);
}
.ps-hero-search button {
    border: 0;
    background: var(--ps-blue);
    color: #fff;
    font-weight: 600;
    border-radius: 999px;
    padding: .65rem 1.5rem;
}
.ps-hero-search button:hover { background: var(--ps-blue-dark); }
.ps-hero-search-inline { box-shadow: none; border: 1px solid var(--ps-line); margin: 1.25rem auto; }

.ps-hero-badges {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem;
    margin: 1.75rem 0 0;
    padding: 0;
    font-size: .9rem;
    opacity: .92;
}
.ps-hero-badges li { display: inline-flex; align-items: center; gap: .4rem; }

/* ---------- Sections ---------- */

.ps-section { padding: 2.5rem 0 .5rem; }
.ps-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}
.ps-section-title {
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: -.01em;
    margin: 0;
}
.ps-section-subtitle { color: var(--ps-muted); margin: .2rem 0 0; font-size: .92rem; }
.ps-section-link { color: var(--ps-blue); font-weight: 600; white-space: nowrap; }

.ps-categories {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: .75rem;
}
.ps-categories a {
    display: flex;
    align-items: center;
    gap: .6rem;
    background: #fff;
    border: 1px solid var(--ps-line);
    border-radius: var(--ps-radius);
    padding: .85rem 1rem;
    font-weight: 500;
}
.ps-categories a:hover { border-color: var(--ps-blue); box-shadow: var(--ps-shadow); }
.ps-categories i { color: var(--ps-blue); font-size: 1.1rem; }
.ps-categories-inline { grid-template-columns: repeat(auto-fit, minmax(130px, 160px)); justify-content: center; margin-top: 1.5rem; }

/* ---------- Product cards ---------- */

.ps-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 1rem;
}

.ps-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--ps-line);
    border-radius: var(--ps-radius);
    overflow: hidden;
    transition: box-shadow .15s ease, border-color .15s ease;
}
.ps-card:hover { box-shadow: var(--ps-shadow); border-color: #cfd6e4; }

.ps-card-media {
    position: relative;
    display: block;
    aspect-ratio: 1 / 1;
    background: #fff;
    padding: .75rem;
}
.ps-card-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.ps-card-badge {
    position: absolute;
    top: .6rem;
    left: .6rem;
    background: var(--ps-sale);
    color: #fff;
    font-weight: 700;
    font-size: .78rem;
    padding: .15rem .45rem;
    border-radius: 6px;
}

.ps-card-body {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    padding: .25rem .85rem .95rem;
    flex: 1 1 auto;
}
.ps-card-brand {
    margin: 0;
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--ps-muted);
}
.ps-card-title {
    margin: 0;
    font-size: .92rem;
    font-weight: 500;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ps-card-prices {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: auto;
    padding-top: .35rem;
}
.ps-card-price { font-size: 1.2rem; font-weight: 800; letter-spacing: -.02em; }
.ps-card-price-was { color: var(--ps-muted); font-size: .85rem; }
.ps-card-shop {
    margin: 0;
    font-size: .82rem;
    color: var(--ps-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ps-card-actions { display: flex; gap: .4rem; margin-top: .5rem; }
.ps-card-actions .ps-btn-primary { flex: 1 1 auto; }
.ps-card-actions-stacked { flex-direction: column; }

/* ---------- Buttons ---------- */

.ps-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    border: 1px solid transparent;
    border-radius: 8px;
    padding: .5rem .9rem;
    font-size: .9rem;
    font-weight: 600;
    cursor: pointer;
    background: none;
}
.ps-btn-primary { background: var(--ps-blue); color: #fff; }
.ps-btn-primary:hover { background: var(--ps-blue-dark); color: #fff; }
.ps-btn-ghost { border-color: var(--ps-line); color: var(--ps-ink); background: #fff; }
.ps-btn-ghost:hover { border-color: var(--ps-blue); color: var(--ps-blue); }
.ps-btn-lg { padding: .75rem 1.2rem; font-size: 1rem; }
.ps-btn-block { width: 100%; }

/* ---------- SERP ---------- */

.ps-serp { padding: 1.5rem 0 3rem; }
.ps-serp-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1rem;
}
.ps-serp-kicker { margin: 0; color: var(--ps-muted); font-size: .9rem; }
.ps-serp-title { margin: 0; font-size: 1.6rem; font-weight: 800; letter-spacing: -.02em; }
.ps-serp-count { margin: .35rem 0 0; color: var(--ps-muted); font-size: .9rem; }
.ps-serp-tools { display: flex; align-items: center; gap: .6rem; }

.ps-sort { display: flex; align-items: center; gap: .5rem; }
.ps-sort label { color: var(--ps-muted); font-size: .88rem; }
.ps-sort select {
    border: 1px solid var(--ps-line);
    background: #fff;
    border-radius: 8px;
    padding: .45rem 2rem .45rem .7rem;
    font-size: .9rem;
}

.ps-chips {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .4rem;
    margin-bottom: 1rem;
}
.ps-chips-label { color: var(--ps-muted); font-size: .85rem; margin-right: .2rem; }
.ps-chip {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    background: #fff;
    border: 1px solid var(--ps-line);
    border-radius: 999px;
    padding: .25rem .5rem .25rem .75rem;
    font-size: .85rem;
}
.ps-chip button {
    border: 0;
    background: transparent;
    color: var(--ps-muted);
    font-size: 1rem;
    line-height: 1;
    padding: 0 .2rem;
    cursor: pointer;
}
.ps-chip button:hover { color: var(--ps-sale); }
.ps-chips-clear {
    border: 0;
    background: none;
    color: var(--ps-blue);
    font-size: .85rem;
    font-weight: 600;
    cursor: pointer;
}

.ps-serp-body {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
}
@media (max-width: 991.98px) {
    .ps-serp-body { grid-template-columns: minmax(0, 1fr); }
}

.ps-filters {
    background: #fff;
    border: 1px solid var(--ps-line);
    border-radius: var(--ps-radius);
    padding: 1rem;
    position: sticky;
    top: 130px;
}
.ps-filters-title { font-size: 1.05rem; font-weight: 700; margin: 0 0 .75rem; }
.ps-filter-group { border: 0; padding: 0; margin: 0 0 1.25rem; }
.ps-filter-group legend {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--ps-muted);
    margin-bottom: .5rem;
    padding: 0;
}
.ps-filter-price { display: flex; align-items: center; gap: .4rem; }
.ps-filter-price input {
    width: 100%;
    min-width: 0;
    border: 1px solid var(--ps-line);
    border-radius: 8px;
    padding: .4rem .55rem;
    font-size: .88rem;
}
.ps-filter-list { display: flex; flex-direction: column; gap: .15rem; }
.ps-filter-scroll { max-height: 260px; overflow-y: auto; padding-right: .25rem; }
.ps-filter-check,
.ps-filter-radio {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .88rem;
    padding: .2rem 0;
    cursor: pointer;
}
.ps-filter-check span,
.ps-filter-radio span {
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ps-filter-check em,
.ps-filter-radio em {
    font-style: normal;
    color: var(--ps-muted);
    font-size: .78rem;
}

.ps-results { min-width: 0; }
.ps-grid-serp { grid-template-columns: repeat(auto-fill, minmax(195px, 1fr)); }

.ps-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: 2rem;
}
.ps-pager-page,
.ps-pager-arrow {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    min-width: 38px;
    height: 38px;
    padding: 0 .7rem;
    justify-content: center;
    border: 1px solid var(--ps-line);
    border-radius: 8px;
    background: #fff;
    font-size: .9rem;
    font-weight: 600;
}
.ps-pager-page:hover,
.ps-pager-arrow:hover { border-color: var(--ps-blue); color: var(--ps-blue); }
.ps-pager-page.is-current {
    background: var(--ps-blue);
    border-color: var(--ps-blue);
    color: #fff;
}
.ps-pager-gap { color: var(--ps-muted); padding: 0 .2rem; }

.ps-empty {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--ps-muted);
}
.ps-empty i { font-size: 2.5rem; color: var(--ps-line); }
.ps-empty h1,
.ps-empty h2 { color: var(--ps-ink); font-size: 1.4rem; font-weight: 700; margin: .75rem 0 .35rem; }
.ps-empty-line { color: var(--ps-muted); padding: 2rem 0; }

/* ---------- PDP ---------- */

.ps-breadcrumb {
    display: flex;
    gap: .4rem;
    flex-wrap: wrap;
    font-size: .85rem;
    color: var(--ps-muted);
    padding: 1rem 0 .25rem;
}
.ps-breadcrumb a { color: var(--ps-muted); }
.ps-breadcrumb a:hover { color: var(--ps-blue); }

.ps-pdp { padding-bottom: 3rem; }
.ps-pdp-main {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: 2rem;
    background: #fff;
    border: 1px solid var(--ps-line);
    border-radius: var(--ps-radius);
    padding: 1.5rem;
}
@media (max-width: 767.98px) {
    .ps-pdp-main { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
}
.ps-pdp-gallery { position: relative; }
.ps-pdp-gallery img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; }
.ps-pdp-badge { top: 0; left: 0; }
.ps-pdp-shop { color: var(--ps-muted); font-size: .9rem; margin: 0 0 .35rem; }
.ps-pdp-title { font-size: 1.5rem; font-weight: 700; line-height: 1.3; margin: 0 0 1rem; }

.ps-pdp-price-box {
    background: var(--ps-bg);
    border-radius: var(--ps-radius);
    padding: 1.1rem;
    display: flex;
    flex-direction: column;
    gap: .65rem;
}
.ps-pdp-price-row { display: flex; align-items: baseline; gap: .75rem; flex-wrap: wrap; }
.ps-pdp-price { font-size: 2rem; font-weight: 800; letter-spacing: -.03em; }
.ps-pdp-price-was { color: var(--ps-muted); }
.ps-pdp-best { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin: 0; font-size: .88rem; }
.ps-tag {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    border-radius: 999px;
    padding: .15rem .6rem;
    font-size: .78rem;
    font-weight: 700;
}
.ps-tag-best { background: #e7f6ec; color: #17743a; }
.ps-pdp-disclosure { margin: 0; font-size: .78rem; color: var(--ps-muted); }

.ps-pdp-specs {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .35rem 1rem;
    margin: 1.25rem 0 0;
    font-size: .9rem;
}
.ps-pdp-specs dt { color: var(--ps-muted); }
.ps-pdp-specs dd { margin: 0; }

.ps-pdp-section { margin-top: 2rem; }
.ps-pdp-section h2 { font-size: 1.2rem; font-weight: 700; margin-bottom: .75rem; }
.ps-pdp-description { color: var(--ps-muted); white-space: pre-line; }

.ps-offer-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .5rem; }
.ps-offer-list a {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) minmax(0, 2fr) auto auto;
    align-items: center;
    gap: 1rem;
    background: #fff;
    border: 1px solid var(--ps-line);
    border-radius: var(--ps-radius);
    padding: .75rem 1rem;
}
.ps-offer-list a:hover { border-color: var(--ps-blue); }
.ps-offer-shop { color: var(--ps-muted); font-size: .85rem; white-space: nowrap; }
.ps-offer-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .9rem; }
.ps-offer-price { font-weight: 700; }
.ps-offer-cta { color: var(--ps-blue); }
@media (max-width: 575.98px) {
    .ps-offer-list a { grid-template-columns: 1fr auto; }
    .ps-offer-name { grid-column: 1 / -1; white-space: normal; }
}
.ps-pdp-back { margin-top: 2rem; }
.ps-pdp-back a { color: var(--ps-blue); font-weight: 600; }

/* ---------- Comparison ---------- */

.ps-compare { padding: 1rem 0 3rem; }
/* auto-fill with a fixed maximum: with two or three items, 1fr columns
   stretched each card across a third of the screen and turned the square
   product image into a 400px block, pushing the prices — the thing being
   compared — below the fold. */
.ps-compare-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 230px));
    gap: 1rem;
    justify-content: start;
}
.ps-compare-card { position: relative; }
.ps-compare-card .ps-card-media { padding: .6rem; }
/* Comparable rows line up across cards: fixed room for the title, the
   price and the badge, with only the buttons pushed to the bottom. */
.ps-compare-card .ps-card-title {
    -webkit-line-clamp: 3;
    min-height: 3.9em;
}
.ps-compare-card .ps-card-prices { margin-top: .2rem; }
.ps-compare-card .ps-card-actions { margin-top: auto; }
.ps-compare-badge-slot {
    min-height: 1.6rem;
    display: flex;
    align-items: center;
}
/* On a phone the capped columns would leave dead space on the right:
   let two narrow cards share the width instead. */
@media (max-width: 575.98px) {
    .ps-compare-grid {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: .6rem;
    }
}
.ps-compare-best {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    align-self: flex-start;
    background: #e7f6ec;
    color: #17743a;
    border-radius: 999px;
    padding: .1rem .55rem;
    font-size: .75rem;
    font-weight: 700;
}
.ps-compare-card.is-cheapest { border-color: #17743a; }
.ps-compare-remove {
    position: absolute;
    top: .5rem;
    right: .5rem;
    z-index: 2;
    border: 1px solid var(--ps-line);
    background: #fff;
    border-radius: 999px;
    width: 30px;
    height: 30px;
    color: var(--ps-muted);
    cursor: pointer;
}
.ps-compare-remove:hover { color: var(--ps-sale); border-color: var(--ps-sale); }

/* ---------- Shops ---------- */

.ps-shops { padding: 1.5rem 0 3rem; }
.ps-shop-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
}
.ps-shop-card {
    display: flex;
    align-items: center;
    gap: .75rem;
    background: #fff;
    border: 1px solid var(--ps-line);
    border-radius: var(--ps-radius);
    padding: 1rem;
}
.ps-shop-card:hover { border-color: var(--ps-blue); box-shadow: var(--ps-shadow); }
.ps-shop-initial {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 10px;
    background: var(--ps-bg);
    color: var(--ps-blue);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.ps-shop-name { font-weight: 600; flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; }
.ps-shop-cta { color: var(--ps-blue); font-size: .82rem; font-weight: 600; white-space: nowrap; }

/* ---------- Legal ---------- */

.ps-legal {
    max-width: 820px;
    padding-bottom: 3rem;
}
.ps-legal h1 { font-size: 1.8rem; font-weight: 800; margin: .5rem 0 .25rem; }
.ps-legal h2 { font-size: 1.2rem; font-weight: 700; margin: 2rem 0 .6rem; }
.ps-legal h3 { font-size: 1rem; font-weight: 700; margin: 1.25rem 0 .4rem; }
.ps-legal p { color: #333a46; margin-bottom: .8rem; }
.ps-legal a { color: var(--ps-blue); text-decoration: underline; }
.ps-legal-meta { color: var(--ps-muted); font-size: .88rem; }

.ps-error-code { font-size: 3.5rem; font-weight: 800; color: var(--ps-line); margin: 0; }
.ps-error-detail { color: var(--ps-muted); }

/* ---------- Footer ---------- */

.ps-footer {
    background: #fff;
    border-top: 1px solid var(--ps-line);
    padding: 2.5rem 0 1.5rem;
    margin-top: 3rem;
}
.ps-logo-footer { display: inline-block; margin-bottom: .75rem; }
.ps-footer-tagline { color: var(--ps-muted); margin-bottom: .5rem; }
.ps-footer-disclosure { color: var(--ps-muted); font-size: .8rem; }
.ps-footer-title { font-size: .82rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--ps-muted); margin-bottom: .6rem; }
.ps-footer-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .35rem; font-size: .9rem; }
.ps-footer-address { font-style: normal; color: var(--ps-muted); font-size: .88rem; }
.ps-footer-countries { display: flex; gap: .75rem; margin-top: .75rem; font-size: .9rem; }
.ps-footer-countries .active { font-weight: 700; color: var(--ps-blue); }
.ps-footer-bottom {
    border-top: 1px solid var(--ps-line);
    margin-top: 1.75rem;
    padding-top: 1rem;
    color: var(--ps-muted);
    font-size: .82rem;
}

@media (max-width: 767.98px) {
    .ps-header-inner { flex-wrap: wrap; }
    .ps-search { order: 3; flex-basis: 100%; max-width: none; }
    .ps-header-actions { margin-left: auto; }
}
