.ps-storefront {
    padding-bottom: 48px;
}

.ps-storefront__hero {
    background: #12343b;
    background-position: center;
    background-size: cover;
    color: #fff;
}

.ps-storefront__overlay {
    background: linear-gradient(180deg, rgba(18, 52, 59, 0.78), rgba(18, 52, 59, 0.92));
}

.ps-storefront__shell {
    margin: 0 auto;
    width: min(1120px, calc(100% - 32px));
}

.ps-storefront__hero .ps-storefront__shell {
    align-items: center;
    display: flex;
    gap: 20px;
    padding: 56px 0;
}

.ps-storefront__logo {
    align-items: center;
    background: linear-gradient(135deg, #0d6e74, #2f6f4f);
    border: 3px solid rgba(255, 255, 255, 0.25);
    border-radius: 24px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 88px;
    font-size: 1.8rem;
    font-weight: 700;
    height: 88px;
    justify-content: center;
    overflow: hidden;
    position: relative;
    width: 88px;
}

.ps-storefront__logo img,
.ps-store-grid__logo img {
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    width: 100%;
}

img[data-ps-logo].is-broken {
    display: none;
}

.ps-storefront__eyebrow,
.ps-plan__eyebrow {
    color: #0d6e74;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.ps-storefront__hero .ps-storefront__eyebrow {
    color: #f6c15f;
}

.ps-storefront__sub {
    opacity: 0.9;
}

.ps-storefront__info-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: 1fr 1fr;
    padding: 28px 0;
}

.ps-panel,
.ps-plan,
.ps-contact-card,
.ps-store-grid__card,
.ps-product-card {
    background: #fff;
    border: 1px solid #e0ddd4;
    border-radius: 20px;
    box-shadow: 0 16px 34px rgba(18, 52, 59, 0.05);
}

.ps-panel {
    padding: 22px;
}

.ps-branch-list {
    margin: 0;
    padding-left: 20px;
}

.ps-product-grid,
.ps-store-grid,
.ps-plans {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.ps-product-card,
.ps-store-grid__card {
    color: #12343b;
    padding: 16px;
    text-decoration: none;
}

.ps-product-card img {
    border-radius: 14px;
    height: auto;
    width: 100%;
}

.ps-product-card__placeholder {
    align-items: center;
    background: #eef5f4;
    border-radius: 14px;
    color: #0d6e74;
    display: flex;
    font-weight: 700;
    justify-content: center;
    min-height: 160px;
    text-decoration: none;
}

.ps-product-card__price {
    color: #0d6e74;
    font-weight: 700;
}

.ps-storefront__button,
.ps-plan__cta,
.ps-contact-form button {
    background: #0d6e74;
    border: 0;
    border-radius: 999px;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-weight: 700;
    padding: 11px 16px;
    text-decoration: none;
}

.ps-store-grid__card {
    align-items: center;
    display: flex;
    gap: 14px;
}

.ps-store-grid__card h3,
.ps-store-grid__card p {
    margin: 0;
}

.ps-store-grid__logo {
    align-items: center;
    background: #ef8f00;
    border-radius: 16px;
    color: #fff;
    display: flex;
    flex: 0 0 56px;
    font-weight: 700;
    height: 56px;
    justify-content: center;
    overflow: hidden;
    position: relative;
    width: 56px;
}

.ps-store-grid__logo--fallback {
    background: #ef8f00;
}

.ps-storefront__pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin: 28px auto;
    width: min(1120px, calc(100% - 32px));
}

.ps-storefront__page {
    align-items: center;
    background: #fff;
    border: 1px solid #d9d2c1;
    border-radius: 10px;
    color: #12343b;
    display: inline-flex;
    height: 40px;
    justify-content: center;
    min-width: 40px;
    text-decoration: none;
}

.ps-storefront__page.is-current {
    background: #0d6e74;
    border-color: #0d6e74;
    color: #fff;
}

.ps-plan {
    padding: 24px;
}

.ps-plan--featured {
    border-color: #ef8f00;
    box-shadow: 0 20px 42px rgba(239, 143, 0, 0.14);
}

.ps-plan__price {
    color: #12343b;
    font-size: 2rem;
    font-weight: 700;
    margin: 10px 0;
}

.ps-plan ul {
    margin: 0;
    padding-left: 18px;
}

.ps-plan__cta {
    margin-top: 18px;
}

.ps-plan--featured .ps-plan__cta {
    background: #ef8f00;
    color: #12343b;
}

.ps-contact-card {
    margin: 24px 0;
    padding: 24px;
}

.ps-contact-form {
    display: grid;
    gap: 16px;
}

.ps-contact-form__grid {
    display: grid;
    gap: 16px;
    grid-template-columns: 1fr 1fr;
}

.ps-seller-application,
.ps-seller-login,
.ps-seller-status {
    background: #fff;
    border: 1px solid #e0ddd4;
    border-radius: 20px;
    box-shadow: 0 16px 34px rgba(18, 52, 59, 0.05);
    margin: 24px 0;
    padding: 24px;
}

.ps-seller-application {
    display: grid;
    gap: 16px;
}

.ps-seller-application__grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ps-seller-application label {
    color: #12343b;
    display: grid;
    font-weight: 700;
    gap: 6px;
}

.ps-seller-application input,
.ps-seller-application select,
.ps-seller-application textarea,
.ps-seller-login input[type="text"],
.ps-seller-login input[type="password"] {
    background: #fff;
    border: 1px solid #d9d2c1;
    border-radius: 12px;
    box-sizing: border-box;
    color: #12343b;
    font: inherit;
    padding: 12px 14px;
    width: 100%;
}

.ps-seller-application__consent {
    align-items: flex-start;
    display: flex !important;
    font-weight: 400 !important;
}

.ps-seller-application__consent input {
    flex: 0 0 auto;
    margin-top: 5px;
    min-height: 0;
    width: auto;
}

.ps-seller-login form {
    display: grid;
    gap: 12px;
    max-width: 560px;
}

.ps-seller-login .login-remember label {
    align-items: center;
    display: flex;
    gap: 8px;
}

.ps-seller-login input[type="checkbox"] {
    min-height: 0;
    width: auto;
}

.ps-seller-login input[type="submit"] {
    background: #0d6e74;
    border: 0;
    border-radius: 999px;
    color: #fff;
    cursor: pointer;
    font-weight: 700;
    padding: 11px 16px;
    width: auto;
}

.ps-seller-status--success {
    border-left: 5px solid #2f6f4f;
}

.ps-seller-status--pending,
.ps-seller-status--warning {
    border-left: 5px solid #ef8f00;
}

.ps-seller-status--error {
    border-left: 5px solid #a43b2b;
}

.ps-contact-form label {
    color: #12343b;
    display: grid;
    font-weight: 700;
    gap: 6px;
}

.ps-contact-form input,
.ps-contact-form select,
.ps-contact-form textarea {
    background: #fff;
    border: 1px solid #d9d2c1;
    border-radius: 12px;
    box-sizing: border-box;
    color: #12343b;
    font: inherit;
    padding: 12px 14px;
    width: 100%;
}

.ps-contact-form textarea {
    min-height: 150px;
    resize: vertical;
}

.ps-contact-form__privacy {
    color: #5f726c;
    font-size: 0.9rem;
    margin: 0;
}

.ps-contact-form__honeypot {
    height: 1px;
    left: -10000px;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

.ps-contact-notice,
.ps-form-fallback {
    border-left: 4px solid #0d6e74;
    border-radius: 10px;
    margin: 18px 0;
    padding: 14px 16px;
}

.ps-contact-notice--success {
    background: #eaf7ef;
    border-color: #2f6f4f;
}

.ps-contact-notice--error {
    background: #fff2ee;
    border-color: #a43b2b;
}

.ps-form-fallback {
    background: #eef5f4;
}

@media (max-width: 800px) {
    .ps-contact-form__grid,
    .ps-seller-application__grid,
    .ps-storefront__info-grid {
        grid-template-columns: 1fr;
    }

    .ps-storefront__hero .ps-storefront__shell {
        align-items: flex-start;
        flex-direction: column;
        padding: 40px 0;
    }
}

/* Adaptive seller storefront ------------------------------------------------ */
.paciseller-storefront-page .ps-site-header { display: none; }
.paciseller-storefront-page .site-main { margin-top: 0; }
.ps-store-utility { background: #fff; border-bottom: 1px solid #d8e0de; color: #274a51; }
.ps-store-utility .ps-storefront__shell { align-items: center; display: flex; gap: 20px; justify-content: space-between; min-height: 48px; }
.ps-store-utility nav { display: flex; gap: 4px; overflow-x: auto; }
.ps-store-utility a { color: #274a51; flex: 0 0 auto; font-size: .76rem; font-weight: 750; padding: 9px 10px; text-decoration: none; }
.ps-store-utility a:hover { color: #087b80; }
.ps-store-utility__market { font-weight: 850 !important; }
.ps-store-utility__manage { background: #eaf5f3; border-radius: 999px; color: #08666b !important; }
.ps-storefront {
    --ps-store-ink: #102f36;
    --ps-store-muted: #617478;
    --ps-store-line: #d8e0de;
    --ps-store-teal: #087b80;
    --ps-store-deep: #103d45;
    --ps-store-accent: #f39a13;
    background: #f4f7f6;
    color: var(--ps-store-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    padding-bottom: 0;
}

.ps-storefront *,
.ps-storefront *::before,
.ps-storefront *::after { box-sizing: border-box; }
.ps-storefront__shell { width: min(1240px, calc(100% - 36px)); }
.ps-storefront__hero { background: linear-gradient(135deg, #0f4049, #087c80); min-height: 460px; overflow: hidden; position: relative; }
.ps-storefront__hero-image { height: 100%; inset: 0; object-fit: cover; object-position: center; position: absolute; width: 100%; }
.ps-storefront__overlay { background: linear-gradient(90deg, rgba(8,35,42,.64) 0%, rgba(8,35,42,.34) 46%, rgba(8,35,42,.06) 76%, rgba(8,35,42,0) 100%); min-height: 460px; position: relative; }
.ps-storefront__hero .ps-storefront__hero-content { align-items: center; display: grid; gap: 24px; grid-template-columns: 112px minmax(0, 680px); min-height: 460px; padding: 64px 0; }
.ps-storefront__logo { border-radius: 25px; flex-basis: 112px; height: 112px; width: 112px; }
.ps-storefront__hero-copy { backdrop-filter: blur(4px); background: rgba(8,35,42,.62); border: 1px solid rgba(255,255,255,.2); border-radius: 22px; box-shadow: 0 20px 50px rgba(0,0,0,.16); min-width: 0; padding: clamp(20px, 3vw, 30px); }
.ps-storefront__hero h1 { color: #fff; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.5rem, 6vw, 4.8rem); letter-spacing: -.035em; line-height: .98; margin: 5px 0 10px; text-shadow: 0 4px 18px rgba(0,0,0,.22); }
.ps-storefront__hero .ps-storefront__sub { font-size: 1.2rem; margin: 0 0 8px; }
.ps-storefront__promise { color: rgba(255,255,255,.92); font-size: clamp(.95rem, 1.7vw, 1.15rem); line-height: 1.55; margin: 12px 0 17px; max-width: 650px; }
.ps-storefront__badges { display: flex; flex-wrap: wrap; gap: 8px; }
.ps-storefront__badges span { backdrop-filter: blur(8px); background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.26); border-radius: 999px; color: #fff; font-size: .74rem; font-weight: 750; padding: 7px 11px; }
.ps-storefront__hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.ps-storefront__button--accent { background: var(--ps-store-accent); color: #17363d; }
.ps-storefront__button--light { background: #fff; color: var(--ps-store-deep); }

.ps-storefront__nav { background: var(--ps-store-deep); box-shadow: 0 7px 20px rgba(16,47,54,.16); position: sticky; top: var(--wp-admin--admin-bar--height, 0); z-index: 20; }
.ps-storefront__nav .ps-storefront__shell { display: flex; gap: 5px; overflow-x: auto; scrollbar-width: thin; }
.ps-storefront__nav a { color: #fff; flex: 0 0 auto; font-size: .8rem; font-weight: 750; padding: 13px 12px; text-decoration: none; }
.ps-storefront__nav a:hover, .ps-storefront__nav a:focus-visible { background: rgba(255,255,255,.12); }

.ps-storefront__search { background: #fff; border-bottom: 1px solid var(--ps-store-line); padding: 18px 0; }
.ps-storefront__search form { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(180px, .28fr) auto; margin: 0; }
.ps-storefront__search input, .ps-storefront__search select, .ps-storefront__search button { border: 2px solid var(--ps-store-accent); border-radius: 0; font: inherit; min-height: 48px; padding: 10px 13px; }
.ps-storefront__search input { border-radius: 11px 0 0 11px; }
.ps-storefront__search select { border-left: 0; }
.ps-storefront__search button { background: var(--ps-store-accent); border-radius: 0 11px 11px 0; color: #17363d; cursor: pointer; font-weight: 850; padding-inline: 20px; }

.ps-storefront__section { padding: clamp(34px, 5vw, 62px) 0; scroll-margin-top: 60px; }
.ps-storefront__section:nth-of-type(even) { background: #fff; }
.ps-storefront__section-heading { align-items: end; display: flex; gap: 20px; justify-content: space-between; margin-bottom: 20px; }
.ps-storefront__section-heading p { color: var(--ps-store-teal); font-size: .72rem; font-weight: 850; letter-spacing: .12em; margin: 0 0 5px; text-transform: uppercase; }
.ps-storefront__section-heading h2 { color: var(--ps-store-ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.7rem, 4vw, 2.5rem); line-height: 1.05; margin: 0; }
.ps-storefront__section-heading > strong, .ps-storefront__section-heading > a { color: var(--ps-store-muted); flex: 0 0 auto; font-size: .8rem; font-weight: 800; }

.ps-department-grid { display: grid; gap: 13px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ps-department-card { align-items: center; background: #fff; border: 1px solid var(--ps-store-line); border-radius: 16px; color: var(--ps-store-ink); display: grid; gap: 3px 12px; grid-template-columns: 54px 1fr; padding: 15px; text-decoration: none; transition: transform .15s, box-shadow .15s, border-color .15s; }
.ps-department-card > span { align-items: center; background: linear-gradient(135deg, #e6f3f1, #fff0d9); border-radius: 13px; color: var(--ps-store-teal); display: flex; font-size: 1.15rem; font-weight: 900; grid-row: 1 / span 2; height: 54px; justify-content: center; width: 54px; }
.ps-department-card strong { font-size: .9rem; line-height: 1.2; }
.ps-department-card small { color: var(--ps-store-muted); font-size: .72rem; }
.ps-department-card:hover { border-color: var(--ps-store-teal); box-shadow: 0 15px 30px rgba(16,47,54,.1); transform: translateY(-3px); }

.ps-product-shelf { display: grid; gap: 14px; grid-auto-columns: minmax(220px, 1fr); grid-auto-flow: column; overflow-x: auto; padding: 2px 2px 16px; scroll-snap-type: x proximity; scrollbar-width: thin; }
.ps-product-shelf .ps-product-card { scroll-snap-align: start; }
.ps-storefront .ps-product-grid { display: grid; gap: 15px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ps-storefront .ps-product-card { background: #fff; border: 1px solid var(--ps-store-line); border-radius: 15px; box-shadow: 0 10px 26px rgba(16,47,54,.05); color: var(--ps-store-ink); display: flex; flex-direction: column; min-width: 0; overflow: hidden; padding: 0; transition: box-shadow .15s, transform .15s; }
.ps-storefront .ps-product-card:hover { box-shadow: 0 18px 38px rgba(16,47,54,.12); transform: translateY(-3px); }
.ps-product-card__media { align-items: center; aspect-ratio: 1 / .78; background: linear-gradient(135deg, #edf5f3, #f8f1e6); color: var(--ps-store-teal); display: flex; font-size: .8rem; font-weight: 850; justify-content: center; overflow: hidden; text-decoration: none; }
.ps-product-card__media img { border-radius: 0; height: 100%; object-fit: cover; transition: transform .25s; width: 100%; }
.ps-product-card:hover .ps-product-card__media img { transform: scale(1.025); }
.ps-product-card__body { display: flex; flex: 1; flex-direction: column; padding: 15px; }
.ps-product-card__kind { color: var(--ps-store-teal); font-size: .65rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.ps-product-card__body h3 { font-size: .95rem; line-height: 1.35; margin: 7px 0 10px; }
.ps-product-card__body h3 a { color: var(--ps-store-ink); text-decoration: none; }
.ps-product-card__body h3 a:hover { color: var(--ps-store-teal); text-decoration: underline; }
.ps-product-card__price { color: var(--ps-store-ink); font-size: 1rem; margin: auto 0 4px; }
.ps-product-card__stock { font-size: .7rem; margin: 2px 0 12px; }
.ps-product-card__stock.is-available { color: #2a754b; }
.ps-product-card__stock.is-unavailable { color: #a44636; }
.ps-product-card__body .ps-storefront__button { align-self: flex-start; font-size: .75rem; padding: 9px 13px; }
.ps-storefront--compact .ps-product-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ps-storefront--compact .ps-product-card__body { padding: 12px; }
.ps-storefront--compact .ps-product-card__body h3 { font-size: .82rem; }

.ps-storefront__empty { background: #fff; border: 1px dashed #b8c9c6; border-radius: 18px; padding: 42px 24px; text-align: center; }
.ps-storefront__empty p { color: var(--ps-store-muted); }
.ps-location-grid { display: grid; gap: 15px; grid-template-columns: repeat(3, 1fr); }
.ps-location-card { background: #fff; border: 1px solid var(--ps-store-line); border-radius: 16px; padding: 20px; }
.ps-location-card > span { color: var(--ps-store-teal); font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.ps-location-card h3 { margin: 6px 0 10px; }
.ps-location-card p { color: var(--ps-store-muted); font-size: .82rem; }
.ps-storefront__about { background: #e9f1ef !important; }
.ps-storefront__about .ps-panel { border-radius: 18px; box-shadow: none; padding: clamp(20px, 3vw, 30px); }
.ps-storefront__about .ps-panel p { color: var(--ps-store-muted); line-height: 1.65; }
.ps-storefront__social-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.ps-storefront__social-links a { background: #edf5f3; border-radius: 999px; color: var(--ps-store-deep); font-size: .75rem; font-weight: 750; padding: 8px 11px; text-decoration: none; }
.ps-storefront .ps-storefront__pagination { padding: 0 0 48px; }

@media (max-width: 1020px) {
    .ps-department-grid, .ps-storefront .ps-product-grid { grid-template-columns: repeat(3, 1fr); }
    .ps-storefront--compact .ps-product-grid { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 760px) {
    .ps-storefront__hero, .ps-storefront__overlay { min-height: 410px; }
    .ps-storefront__hero .ps-storefront__hero-content { align-content: center; align-items: start; grid-template-columns: 74px 1fr; min-height: 410px; padding: 38px 0; }
    .ps-storefront__logo { border-radius: 18px; height: 74px; width: 74px; }
    .ps-storefront__overlay { background: linear-gradient(90deg, rgba(8,35,42,.52), rgba(8,35,42,.1)); }
    .ps-storefront__search form { grid-template-columns: 1fr auto; }
    .ps-storefront__search select { border-left: 2px solid var(--ps-store-accent); border-radius: 9px; grid-column: 1 / -1; grid-row: 2; margin-top: 7px; }
    .ps-department-grid, .ps-storefront .ps-product-grid, .ps-location-grid { grid-template-columns: repeat(2, 1fr); }
    .ps-storefront--compact .ps-product-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 500px) {
    .ps-storefront__shell { width: min(100% - 24px, 1240px); }
    .ps-storefront__hero .ps-storefront__hero-content { grid-template-columns: 1fr; }
    .ps-storefront__hero h1 { font-size: 2.45rem; }
    .ps-storefront__search form { grid-template-columns: 1fr; }
    .ps-storefront__search input, .ps-storefront__search button { border-radius: 9px; }
    .ps-storefront__search button { margin-top: 7px; }
    .ps-storefront__section-heading { align-items: flex-start; flex-direction: column; }
    .ps-department-grid, .ps-storefront .ps-product-grid, .ps-storefront--compact .ps-product-grid, .ps-location-grid { grid-template-columns: 1fr; }
    .ps-product-shelf { grid-auto-columns: minmax(76vw, 1fr); }
    .ps-store-utility .ps-storefront__shell { align-items: flex-start; flex-direction: column; gap: 0; padding: 6px 0; }
    .ps-store-utility nav { max-width: 100%; width: 100%; }
}
