.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.marketplace-page {
    --market-coral: #ff5b4d;
    --market-coral-dark: #e94238;
    --market-plum: #21182f;
    --market-plum-soft: #352642;
    --market-cream: #fff7f1;
    --market-mint: #bdebd8;
    --market-muted: #6c6373;
    --market-line: #eadfd8;
    min-height: 100vh;
    padding-bottom: 0;
    color: var(--market-plum);
    background: #fff;
}

.marketplace-page h1,
.marketplace-page h2,
.marketplace-page h3 {
    color: var(--market-plum);
}

.marketplace-header {
    position: sticky;
    z-index: 50;
    top: 0;
    border-bottom: 1px solid rgba(33, 24, 47, .08);
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 1px 16px rgba(33, 24, 47, .035);
    backdrop-filter: blur(18px);
}

.marketplace-nav {
    min-height: 5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.marketplace-brand {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    color: var(--market-plum);
    font-size: 1.2rem;
    font-weight: 900;
    letter-spacing: -.03em;
    text-decoration: none;
}

.marketplace-brand:hover { color: var(--market-plum); }

.marketplace-brand-mark {
    position: relative;
    width: 2.45rem;
    height: 2.45rem;
    display: grid;
    flex: 0 0 2.45rem;
    place-items: center;
    overflow: hidden;
    color: #fff;
    background: var(--market-coral);
    border-radius: .82rem;
    box-shadow: 0 .45rem 1.1rem rgba(255, 91, 77, .24);
}

.marketplace-brand-mark span {
    position: relative;
    z-index: 1;
    font-size: 1.15rem;
    font-weight: 950;
}

.marketplace-brand-mark i {
    position: absolute;
    width: 1.55rem;
    height: 1.55rem;
    right: -.7rem;
    bottom: -.6rem;
    border-radius: 50%;
    background: var(--market-mint);
}

.marketplace-nav-links {
    display: flex;
    align-items: center;
    gap: clamp(1rem, 3vw, 2.1rem);
    font-size: .88rem;
    font-weight: 750;
}

.marketplace-nav-links a,
.marketplace-login {
    color: #493e51;
    text-decoration: none;
}

.marketplace-nav-links a:hover,
.marketplace-login:hover { color: var(--market-coral-dark); }

.marketplace-nav-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.marketplace-login {
    padding: .58rem .9rem;
    border: 1px solid var(--market-line);
    border-radius: .75rem;
    background: #fff;
    font-size: .82rem;
    font-weight: 800;
}

.marketplace-language summary {
    min-width: 2.8rem;
    padding: .58rem .7rem;
    border-radius: .75rem;
    background: var(--market-plum);
    color: #fff;
    text-align: center;
}

.marketplace-language > div {
    top: 3rem;
    border-color: var(--market-line);
}

.marketplace-hero {
    position: relative;
    overflow: hidden;
    background: var(--market-cream);
}

.marketplace-hero::before,
.marketplace-hero::after {
    position: absolute;
    content: '';
    border-radius: 50%;
    pointer-events: none;
}

.marketplace-hero::before {
    width: 38rem;
    height: 38rem;
    right: -13rem;
    top: -20rem;
    background: rgba(255, 91, 77, .16);
}

.marketplace-hero::after {
    width: 19rem;
    height: 19rem;
    left: -8rem;
    bottom: -13rem;
    background: rgba(189, 235, 216, .52);
}

.marketplace-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.03fr) minmax(28rem, .87fr);
    gap: clamp(2.5rem, 6vw, 6.5rem);
    align-items: center;
    min-height: 43rem;
    padding-block: clamp(4rem, 7vw, 6.6rem);
}

.marketplace-hero-copy { min-width: 0; }

.marketplace-kicker {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin-bottom: 1.2rem;
    padding: .45rem .75rem;
    color: #6a2542 !important;
    background: #ffe4de;
    border-radius: 999px;
    font-size: .75rem !important;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.marketplace-kicker span { color: var(--market-coral-dark); }

.marketplace-hero h1 {
    max-width: 720px;
    margin-bottom: 1.35rem;
    font-size: clamp(3.15rem, 6.5vw, 6.4rem);
    line-height: .96;
    letter-spacing: -.072em;
}

.marketplace-hero-copy > p:not(.marketplace-kicker) {
    max-width: 650px;
    margin-bottom: 2rem;
    color: #5f5366;
    font-size: clamp(1.08rem, 1.9vw, 1.3rem);
    line-height: 1.65;
}

.marketplace-search {
    display: grid;
    grid-template-columns: minmax(13rem, 1.25fr) minmax(9rem, .72fr) auto;
    gap: .45rem;
    width: min(760px, 100%);
    padding: .48rem;
    background: #fff;
    border: 1px solid rgba(33, 24, 47, .08);
    border-radius: 1.15rem;
    box-shadow: 0 1.35rem 3.5rem rgba(73, 51, 68, .15);
}

.marketplace-search-field {
    min-width: 0;
    display: grid;
    grid-template-columns: 1.6rem minmax(0, 1fr);
    align-items: center;
    gap: .3rem;
    padding: 0 .65rem;
    border-radius: .75rem;
}

.marketplace-search-field + .marketplace-search-field {
    border-left: 1px solid var(--market-line);
    border-radius: 0;
}

.marketplace-search-field > span:first-child {
    color: var(--market-coral-dark);
    font-size: 1.45rem;
    line-height: 1;
}

.marketplace-search input,
.marketplace-search select {
    width: 100%;
    min-width: 0;
    min-height: 3.6rem;
    padding: 0;
    border: 0;
    outline: 0;
    color: var(--market-plum);
    background: transparent;
    font: inherit;
    font-size: .92rem;
    font-weight: 700;
}

.marketplace-search input::placeholder {
    color: #938996;
    opacity: 1;
}

.marketplace-search button {
    min-width: 7.2rem;
    min-height: 3.6rem;
    padding: 0 1rem;
    border: 0;
    border-radius: .78rem;
    color: #fff;
    background: var(--market-coral);
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    box-shadow: 0 .65rem 1.4rem rgba(255, 91, 77, .28);
    transition: transform .18s ease, background .18s ease;
}

.marketplace-search button:hover {
    transform: translateY(-1px);
    background: var(--market-coral-dark);
}

.marketplace-search:focus-within {
    outline: 3px solid rgba(255, 91, 77, .2);
    outline-offset: 3px;
}

.marketplace-stats {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem 1.6rem;
    margin-top: 1.5rem;
    color: #766b79;
    font-size: .82rem;
}

.marketplace-stats span {
    display: inline-flex;
    align-items: baseline;
    gap: .3rem;
}

.marketplace-stats strong {
    color: var(--market-plum);
    font-size: 1.05rem;
}

.marketplace-visual {
    position: relative;
    min-height: 34rem;
}

.marketplace-visual-card {
    position: absolute;
    display: block;
    overflow: hidden;
    border: 5px solid rgba(255, 255, 255, .88);
    border-radius: 1.6rem;
    background: #e7ded9;
    box-shadow: 0 1.6rem 4rem rgba(50, 34, 53, .2);
    text-decoration: none;
    transition: transform .22s ease;
}

.marketplace-visual-card:hover {
    transform: translateY(-4px) rotate(0deg);
}

.marketplace-visual-card picture,
.marketplace-visual-card img,
.marketplace-image-placeholder {
    width: 100%;
    height: 100%;
    display: block;
}

.marketplace-visual-card img { object-fit: cover; }
.marketplace-visual-card-1 { width: 58%; height: 78%; left: 0; top: 11%; transform: rotate(-2.5deg); }
.marketplace-visual-card-2 { width: 38%; height: 45%; right: 0; top: 0; transform: rotate(2.2deg); }
.marketplace-visual-card-3 { width: 38%; height: 45%; right: 1%; bottom: 0; transform: rotate(-1.5deg); }

.marketplace-visual-caption {
    position: absolute;
    right: .65rem;
    bottom: .65rem;
    left: .65rem;
    padding: .7rem .75rem;
    color: #fff;
    background: rgba(25, 17, 30, .78);
    border: 1px solid rgba(255, 255, 255, .17);
    border-radius: .8rem;
    backdrop-filter: blur(10px);
}

.marketplace-visual-caption strong,
.marketplace-visual-caption small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.marketplace-visual-caption strong { font-size: .82rem; }
.marketplace-visual-caption small { margin-top: .12rem; color: #ddd3e1; font-size: .68rem; }

.marketplace-image-placeholder {
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(140deg, var(--market-coral), var(--market-plum));
    font-size: 5rem;
    font-weight: 950;
}

.marketplace-floating-pill {
    position: absolute;
    z-index: 5;
    left: 43%;
    bottom: 3.5%;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .7rem .9rem;
    color: var(--market-plum);
    background: #fff;
    border-radius: 999px;
    box-shadow: 0 .8rem 2rem rgba(33, 24, 47, .2);
    font-size: .76rem;
    font-weight: 900;
}

.marketplace-floating-pill span {
    display: grid;
    width: 1.35rem;
    height: 1.35rem;
    place-items: center;
    color: #1f684d;
    background: var(--market-mint);
    border-radius: 50%;
}

.marketplace-visual-empty {
    height: 30rem;
    display: grid;
    place-items: center;
    align-content: center;
    gap: .5rem;
    color: #fff;
    background: linear-gradient(145deg, var(--market-coral), var(--market-plum));
    border-radius: 2rem;
}

.marketplace-visual-empty span { font-size: 4rem; }
.marketplace-visual-empty strong { font-size: 2rem; }

.marketplace-hero-compact .marketplace-hero-grid {
    grid-template-columns: 1fr;
    min-height: 25rem;
    padding-block: 4.5rem;
}

.marketplace-hero-compact .marketplace-hero-copy { max-width: 900px; }
.marketplace-hero-compact h1 { font-size: clamp(2.8rem, 7vw, 5.5rem); }

.marketplace-categories,
.marketplace-salons,
.marketplace-how,
.marketplace-business {
    padding-block: clamp(4.5rem, 8vw, 7.5rem);
}

.marketplace-categories { padding-bottom: 3rem; }
.marketplace-section-heading { margin-bottom: 2rem; }

.marketplace-section-heading p {
    margin-bottom: .45rem;
    color: var(--market-coral-dark);
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.marketplace-section-heading h2 {
    margin: 0;
    font-size: clamp(2rem, 4vw, 3.35rem);
    letter-spacing: -.045em;
}

.marketplace-heading-inline {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
}

.marketplace-heading-inline > a {
    color: var(--market-plum);
    font-size: .82rem;
    font-weight: 850;
    text-decoration: none;
}

.marketplace-heading-inline > a span { color: var(--market-coral-dark); }

.marketplace-heading-centered {
    max-width: 720px;
    margin-inline: auto;
    text-align: center;
}

.marketplace-category-strip {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(10.5rem, 1fr);
    gap: .8rem;
    overflow-x: auto;
    padding: .3rem .2rem 1.1rem;
    scroll-snap-type: x mandatory;
}

.marketplace-category-strip a {
    min-height: 10.5rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 1.15rem;
    border: 1px solid var(--market-line);
    border-radius: 1.2rem;
    background: #fff;
    box-shadow: 0 .35rem 1.4rem rgba(50, 34, 53, .055);
    scroll-snap-align: start;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease;
}

.marketplace-category-strip a:hover {
    transform: translateY(-3px);
    box-shadow: 0 .8rem 1.8rem rgba(50, 34, 53, .1);
}

.marketplace-category-strip a > span {
    width: 3rem;
    height: 3rem;
    display: grid;
    place-items: center;
    margin-bottom: 1.2rem;
    color: var(--market-plum);
    background: var(--market-cream);
    border-radius: .9rem;
    font-size: 1.45rem;
}

.marketplace-category-strip strong { color: var(--market-plum); font-size: .95rem; }
.marketplace-category-strip small { margin-top: auto; color: var(--market-muted); font-size: .7rem; }

.marketplace-salons {
    background: #faf8f7;
    border-block: 1px solid #f0e8e3;
}

.marketplace-nearby-status {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    margin: -.2rem 0 1rem;
    padding: .35rem .72rem;
    color: var(--market-plum);
    background: var(--market-cream);
    border: 1px solid var(--market-line);
    border-radius: 999px;
    font-size: .79rem;
    font-weight: 700;
}

.marketplace-salon-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.15rem;
}

.marketplace-salon-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--market-line);
    border-radius: 1.35rem;
    background: #fff;
    box-shadow: 0 .4rem 1.6rem rgba(50, 34, 53, .055);
    transition: transform .2s ease, box-shadow .2s ease;
}

.marketplace-salon-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 1.2rem 2.6rem rgba(50, 34, 53, .12);
}

.marketplace-salon-media {
    position: relative;
    height: 14.5rem;
    display: block;
    overflow: hidden;
    background: #e9e1dc;
}

.marketplace-salon-media picture,
.marketplace-salon-media img,
.marketplace-salon-media .marketplace-image-placeholder {
    width: 100%;
    height: 100%;
    display: block;
}

.marketplace-salon-media img {
    object-fit: cover;
    transition: transform .35s ease;
}

.marketplace-salon-card:hover .marketplace-salon-media img { transform: scale(1.025); }

.marketplace-card-badge {
    position: absolute;
    top: .85rem;
    left: .85rem;
    padding: .42rem .65rem;
    color: var(--market-plum);
    background: rgba(255, 255, 255, .92);
    border-radius: 999px;
    box-shadow: 0 .3rem 1rem rgba(33, 24, 47, .12);
    font-size: .68rem;
    font-weight: 900;
    backdrop-filter: blur(8px);
}

.marketplace-salon-body { padding: 1.2rem; }

.marketplace-salon-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.marketplace-salon-title-row p {
    margin-bottom: .22rem;
    color: var(--market-muted);
    font-size: .72rem;
    font-weight: 750;
}

.marketplace-salon-title-row h3 {
    margin-bottom: 0;
    font-size: 1.22rem;
    letter-spacing: -.025em;
}

.marketplace-salon-title-row h3 a { text-decoration: none; }

.marketplace-rating {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    padding: .35rem .5rem;
    color: #3e3144;
    background: var(--market-cream);
    border-radius: .55rem;
    font-size: .75rem;
    font-weight: 900;
}

.marketplace-rating span { color: #f2a31a; }

.marketplace-service-chips {
    min-height: 4rem;
    display: flex;
    align-content: flex-start;
    flex-wrap: wrap;
    gap: .38rem;
    margin-top: 1rem;
}

.marketplace-service-chips span {
    max-width: 100%;
    overflow: hidden;
    padding: .32rem .52rem;
    color: #6c5f70;
    background: #f7f3f1;
    border-radius: .45rem;
    font-size: .67rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.marketplace-card-description {
    min-height: 4rem;
    margin: 1rem 0 0;
    color: var(--market-muted);
    font-size: .78rem;
}

.marketplace-card-footer {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.05rem;
    padding-top: 1rem;
    border-top: 1px solid #f0e8e3;
}

.marketplace-card-footer > span small,
.marketplace-card-footer > span strong { display: block; }
.marketplace-card-footer > span small { color: var(--market-muted); font-size: .65rem; }
.marketplace-card-footer > span strong { margin-top: .12rem; font-size: .92rem; }

.marketplace-card-footer > a {
    padding: .62rem .78rem;
    color: #fff;
    background: var(--market-plum);
    border-radius: .7rem;
    font-size: .72rem;
    font-weight: 900;
    text-decoration: none;
}

.marketplace-card-footer > a:hover { color: #fff; background: var(--market-coral-dark); }

.marketplace-empty-state {
    grid-column: 1 / -1;
    min-height: 22rem;
    display: grid;
    place-items: center;
    align-content: center;
    padding: 2rem;
    border: 1px dashed #d9cbc2;
    border-radius: 1.35rem;
    background: #fff;
    text-align: center;
}

.marketplace-empty-state > span {
    width: 4rem;
    height: 4rem;
    display: grid;
    place-items: center;
    margin-bottom: 1rem;
    color: var(--market-coral-dark);
    background: var(--market-cream);
    border-radius: 50%;
    font-size: 2.2rem;
}

.marketplace-empty-state h3 { margin-bottom: .45rem; font-size: 1.5rem; }
.marketplace-empty-state p { color: var(--market-muted); }
.marketplace-empty-state a { color: var(--market-coral-dark); font-weight: 850; }

.marketplace-how { background: var(--market-plum); }
.marketplace-how .marketplace-section-heading p { color: #ff8a80; }
.marketplace-how .marketplace-section-heading h2 { color: #fff; }

.marketplace-step-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.marketplace-step-grid article {
    position: relative;
    min-height: 18rem;
    padding: 1.5rem;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 1.25rem;
    background: var(--market-plum-soft);
}

.marketplace-step-grid article > span {
    position: absolute;
    right: 1.25rem;
    top: 1rem;
    color: rgba(255, 255, 255, .18);
    font-size: 2.5rem;
    font-weight: 950;
}

.marketplace-step-grid article > i {
    width: 3.4rem;
    height: 3.4rem;
    display: grid;
    place-items: center;
    margin-bottom: 3.2rem;
    color: var(--market-plum);
    background: var(--market-mint);
    border-radius: 1rem;
    font-size: 1.55rem;
    font-style: normal;
}

.marketplace-step-grid article:nth-child(2) > i { background: #ffd7cf; }
.marketplace-step-grid article:nth-child(3) > i { background: #fff; }
.marketplace-step-grid h3 { margin-bottom: .6rem; color: #fff; font-size: 1.32rem; }
.marketplace-step-grid p { margin-bottom: 0; color: #cfc4d4; font-size: .87rem; }

.marketplace-business { background: var(--market-cream); }

.marketplace-business-card {
    position: relative;
    min-height: 27rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(22rem, .75fr);
    gap: clamp(2rem, 7vw, 7rem);
    align-items: center;
    overflow: hidden;
    padding: clamp(2.2rem, 6vw, 5rem);
    color: #fff;
    background: var(--market-coral);
    border-radius: 2rem;
    box-shadow: 0 1.7rem 4rem rgba(255, 91, 77, .23);
}

.marketplace-business-card::after {
    position: absolute;
    width: 18rem;
    height: 18rem;
    right: -6rem;
    bottom: -8rem;
    content: '';
    border-radius: 50%;
    background: rgba(189, 235, 216, .35);
}

.marketplace-business-card > div:first-child { position: relative; z-index: 2; }

.marketplace-business-card > div:first-child > p:first-child {
    margin-bottom: .6rem;
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.marketplace-business-card h2 {
    max-width: 670px;
    margin-bottom: 1rem;
    color: #fff;
    font-size: clamp(2.25rem, 5vw, 4.5rem);
    line-height: 1;
    letter-spacing: -.055em;
}

.marketplace-business-card h2 + p { max-width: 630px; color: #fff2ef; }

.marketplace-business-card a {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    margin-top: 1rem;
    padding: .8rem 1rem;
    color: var(--market-plum);
    background: #fff;
    border-radius: .8rem;
    font-size: .8rem;
    font-weight: 900;
    text-decoration: none;
}

.marketplace-dashboard-preview {
    position: relative;
    z-index: 1;
    min-height: 20rem;
    padding: 1.25rem;
    transform: rotate(2.5deg);
    background: #fff;
    border: 7px solid rgba(255, 255, 255, .45);
    border-radius: 1.25rem;
    box-shadow: 0 1.5rem 3.5rem rgba(80, 25, 35, .22);
}

.marketplace-dashboard-preview .preview-dot {
    width: .45rem;
    height: .45rem;
    display: inline-block;
    margin-right: .18rem;
    background: #e7dfe8;
    border-radius: 50%;
}

.marketplace-dashboard-preview strong { display: block; margin: 1rem 0; color: var(--market-plum); }

.marketplace-dashboard-preview i {
    height: .58rem;
    display: block;
    margin: .55rem 0;
    background: #f0e9ed;
    border-radius: 999px;
}

.marketplace-dashboard-preview i:nth-of-type(1) { width: 72%; }
.marketplace-dashboard-preview i:nth-of-type(2) { width: 92%; }
.marketplace-dashboard-preview i:nth-of-type(3) { width: 56%; }

.marketplace-dashboard-preview b {
    width: calc(50% - .4rem);
    height: 4.4rem;
    display: inline-block;
    margin: .4rem .55rem .2rem 0;
    background: var(--market-cream);
    border-radius: .7rem;
}

.marketplace-dashboard-preview b:nth-of-type(2),
.marketplace-dashboard-preview b:nth-of-type(4) {
    margin-right: 0;
    background: #e6f6ef;
}

.marketplace-footer {
    padding-block: 3.5rem 2rem;
    color: #cfc4d4;
    background: #171020;
}

.marketplace-footer-grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 2rem;
    align-items: start;
}

.marketplace-brand-light,
.marketplace-brand-light:hover { color: #fff; }

.marketplace-footer-grid > div > p {
    max-width: 480px;
    margin: 1rem 0 0;
    color: #a99daf;
    font-size: .85rem;
}

.marketplace-footer nav { justify-content: end; flex-wrap: wrap; }
.marketplace-footer nav a { color: #d9d0dc; font-size: .8rem; }

.marketplace-footer-grid small {
    grid-column: 1 / -1;
    padding-top: 1.4rem;
    border-top: 1px solid rgba(255, 255, 255, .1);
    color: #817586;
}

@media (max-width: 1050px) {
    .marketplace-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(22rem, .72fr); gap: 2.5rem; }
    .marketplace-salon-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .marketplace-business-card { grid-template-columns: 1fr minmax(18rem, .65fr); }
}

@media (max-width: 820px) {
    .marketplace-nav-links { display: none; }
    .marketplace-hero-grid { grid-template-columns: 1fr; min-height: auto; padding-block: 4rem; }
    .marketplace-visual { min-height: 30rem; }
    .marketplace-visual-card-1 { width: 54%; }
    .marketplace-visual-card-2,
    .marketplace-visual-card-3 { width: 42%; }
    .marketplace-step-grid { grid-template-columns: 1fr; }
    .marketplace-step-grid article { min-height: 14rem; }
    .marketplace-step-grid article > i { margin-bottom: 1.8rem; }
    .marketplace-business-card { grid-template-columns: 1fr; }
    .marketplace-dashboard-preview { min-height: 17rem; }
}

@media (max-width: 620px) {
    .marketplace-page { padding-bottom: 0; }
    .marketplace-nav { min-height: 4.45rem; gap: .65rem; }
    .marketplace-brand { font-size: 1.02rem; }
    .marketplace-brand-mark { width: 2.15rem; height: 2.15rem; flex-basis: 2.15rem; }
    .marketplace-login { display: none; }
    .marketplace-nav-actions { margin-left: auto; }
    .marketplace-hero-grid { padding-block: 3rem 3.5rem; }
    .marketplace-hero h1 { font-size: clamp(3rem, 14vw, 4.2rem); }
    .marketplace-search { grid-template-columns: 1fr; padding: .55rem; }
    .marketplace-search-field { min-height: 3.2rem; border-bottom: 1px solid var(--market-line); }
    .marketplace-search-field + .marketplace-search-field { border-left: 0; border-bottom: 0; }
    .marketplace-search input,
    .marketplace-search select { min-height: 3.2rem; }
    .marketplace-search button { width: 100%; }
    .marketplace-stats { justify-content: space-between; gap: .7rem; }
    .marketplace-visual { min-height: 24rem; }
    .marketplace-visual-card { border-width: 3px; border-radius: 1rem; }
    .marketplace-visual-caption { right: .4rem; bottom: .4rem; left: .4rem; padding: .55rem; }
    .marketplace-visual-caption strong { font-size: .7rem; }
    .marketplace-visual-caption small { font-size: .58rem; }
    .marketplace-floating-pill { left: 31%; bottom: 1%; }
    .marketplace-categories,
    .marketplace-salons,
    .marketplace-how,
    .marketplace-business { padding-block: 4rem; }
    .marketplace-heading-inline { align-items: flex-start; flex-direction: column; gap: .8rem; }
    .marketplace-category-strip { grid-auto-columns: 9.6rem; }
    .marketplace-salon-grid { grid-template-columns: 1fr; }
    .marketplace-salon-media { height: 14rem; }
    .marketplace-business-card { min-height: 0; padding: 2rem 1.3rem; border-radius: 1.35rem; }
    .marketplace-dashboard-preview { min-height: 14rem; }
    .marketplace-footer-grid { grid-template-columns: 1fr; }
    .marketplace-footer nav { justify-content: start; }
    .marketplace-footer-grid small { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
    .marketplace-visual-card,
    .marketplace-salon-card,
    .marketplace-category-strip a,
    .marketplace-search button { transition: none; }
}

/* Merkezi müşteri hesabı: ana alan adındaki giriş, kayıt ve hesap yüzeyleri. */
.marketplace-customer-login,
.marketplace-account,
.marketplace-customer-register,
.marketplace-logout-form button {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    min-height: 2.35rem;
    color: #493e51;
    border: 0;
    background: transparent;
    font: inherit;
    font-size: .82rem;
    font-weight: 850;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
}

.marketplace-customer-login:hover,
.marketplace-account:hover,
.marketplace-logout-form button:hover { color: var(--market-coral-dark); }
.marketplace-customer-register {
    padding: .58rem .88rem;
    color: #fff;
    border-radius: .75rem;
    background: var(--market-coral);
    box-shadow: 0 .5rem 1.1rem rgba(255, 91, 77, .18);
}
.marketplace-customer-register:hover { color: #fff; background: var(--market-coral-dark); }
.marketplace-logout-form { margin: 0; }
.marketplace-account { color: var(--market-coral-dark); }

.customer-auth-page { min-height: calc(100vh - 2rem); background: #fffaf7; }
.customer-auth-main { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(27rem, .95fr); min-height: calc(100vh - 5rem); }
.customer-auth-visual {
    position: relative;
    display: grid;
    overflow: hidden;
    min-height: 40rem;
    padding: clamp(3rem, 8vw, 7.5rem);
    place-items: center;
    color: #fff;
    background: radial-gradient(circle at 75% 25%, #ff867d 0, transparent 22rem), linear-gradient(135deg, #21182f, #49305a);
}
.customer-auth-register-visual { background: radial-gradient(circle at 23% 80%, #a9e5cd 0, transparent 24rem), linear-gradient(135deg, #21182f, #3d2a50); }
.customer-auth-copy { position: relative; z-index: 2; width: min(31rem, 100%); }
.customer-auth-copy > span,
.customer-auth-eyebrow,
.customer-account-hero > div > p { display: inline-block; margin: 0 0 1rem; color: #ffb3ac; font-size: .72rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.customer-auth-copy h1 { max-width: 34rem; margin: 0; color: #fff; font-size: clamp(3rem, 5.2vw, 5.2rem); line-height: .93; letter-spacing: -.065em; }
.customer-auth-copy p { max-width: 29rem; margin: 1.6rem 0 2rem; color: #eaddeb; font-size: 1.05rem; line-height: 1.7; }
.customer-auth-copy ul { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; color: #fff; font-weight: 750; }
.customer-auth-copy li::before { display: inline-grid; width: 1.45rem; height: 1.45rem; margin-right: .65rem; color: #392443; border-radius: 50%; place-items: center; background: #bdebd8; content: '✓'; }
.customer-auth-orbit { position: absolute; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; }
.customer-auth-orbit-one { width: 37rem; height: 37rem; right: -18rem; top: -15rem; }
.customer-auth-orbit-two { width: 27rem; height: 27rem; bottom: -13rem; left: -12rem; }
.customer-auth-form-wrap { display: grid; padding: clamp(2rem, 5vw, 5rem); place-items: center; background: #fffaf7; }
.customer-auth-card { width: min(25.5rem, 100%); padding: clamp(1.75rem, 4vw, 2.8rem); border: 1px solid #efe1d9; border-radius: 1.4rem; background: #fff; box-shadow: 0 1.7rem 4.5rem rgba(50, 29, 53, .1); }
.customer-auth-card h1,
.customer-auth-card h2 { margin: .1rem 0 .65rem; color: var(--market-plum); font-size: clamp(1.8rem, 3vw, 2.35rem); letter-spacing: -.05em; }
.customer-auth-card > p:not(.customer-auth-eyebrow):not(.customer-auth-success):not(.customer-auth-status):not(.customer-auth-switch) { margin: 0 0 1.7rem; color: var(--market-muted); font-size: .92rem; line-height: 1.65; }
.customer-auth-card label { display: grid; gap: .45rem; margin-top: 1rem; color: #493e51; font-size: .79rem; font-weight: 850; }
.customer-auth-card input { width: 100%; min-height: 3rem; padding: 0 .85rem; color: var(--market-plum); border: 1px solid #e7d9d3; border-radius: .75rem; outline: 0; background: #fffdfc; font: inherit; }
.customer-auth-card input:focus { border-color: var(--market-coral); box-shadow: 0 0 0 .22rem rgba(255, 91, 77, .13); }
.customer-auth-inline { display: flex; justify-content: flex-end; margin: .85rem 0 1.1rem; }
.customer-auth-inline a,
.customer-auth-switch a { color: var(--market-coral-dark); font-size: .83rem; font-weight: 850; text-decoration: none; }
.customer-auth-inline a:hover,
.customer-auth-switch a:hover { text-decoration: underline; }
.customer-auth-submit { display: flex; width: 100%; min-height: 3.15rem; align-items: center; justify-content: center; gap: .5rem; color: #fff; border: 0; border-radius: .82rem; background: var(--market-coral); box-shadow: 0 .7rem 1.3rem rgba(255, 91, 77, .21); font: inherit; font-size: .9rem; font-weight: 900; cursor: pointer; }
.customer-auth-submit:hover { background: var(--market-coral-dark); transform: translateY(-1px); }
.customer-auth-submit:disabled { cursor: not-allowed; opacity: .62; transform: none; }
.customer-auth-switch { margin: 1.55rem 0 0; color: var(--market-muted); font-size: .84rem; text-align: center; }
.customer-auth-success,
.customer-auth-status { margin: 0 0 1rem; padding: .75rem .85rem; color: #21654d; border-radius: .7rem; background: #e6f8ee; font-size: .84rem; line-height: 1.45; }
.customer-auth-status[data-kind="error"] { color: #a3312a; background: #fff0ed; }
.customer-auth-simple-main { grid-template-columns: 1fr; min-height: calc(100vh - 12rem); background: radial-gradient(circle at 80% 18%, #ffe4d9 0, transparent 28rem), #fffaf7; }
.customer-auth-simple-main .customer-auth-form-wrap { min-height: inherit; background: transparent; }
.customer-auth-card-simple { width: min(29rem, 100%); }
.customer-auth-footer { padding: 1.2rem 0; color: #8a7a85; border-top: 1px solid #efe1d9; background: #fff; font-size: .75rem; }
.customer-auth-footer > div { display: flex; align-items: center; justify-content: center; gap: 1rem; flex-wrap: wrap; }
.customer-auth-footer a { color: #6a556b; text-decoration: none; }.customer-auth-footer a:hover { color: var(--market-coral-dark); }

.customer-account-main { min-height: calc(100vh - 10rem); padding: clamp(3rem, 7vw, 6rem) 0; background: radial-gradient(circle at 84% 0, #ffe0d7 0, transparent 23rem), #fffaf7; }
.customer-account-hero { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; padding-bottom: 2.3rem; }
.customer-account-hero h1 { margin: 0 0 .55rem; color: var(--market-plum); font-size: clamp(2.6rem, 5vw, 4.5rem); letter-spacing: -.065em; line-height: .95; }
.customer-account-hero > div > span { color: var(--market-muted); }
.customer-account-hero form { margin: 0; }.customer-account-hero button { padding: .7rem 1rem; color: var(--market-plum); border: 1px solid #e5d5ce; border-radius: .75rem; background: #fff; font: inherit; font-size: .82rem; font-weight: 850; cursor: pointer; }
.customer-account-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.customer-account-card { display: flex; min-height: 13rem; padding: 1.45rem; flex-direction: column; justify-content: space-between; color: var(--market-plum); border: 1px solid #eddfd8; border-radius: 1.2rem; background: #fff; box-shadow: 0 1rem 2.5rem rgba(50,29,53,.055); text-decoration: none; transition: transform .18s ease, box-shadow .18s ease; }
.customer-account-card:hover { color: var(--market-plum); box-shadow: 0 1.5rem 3.2rem rgba(50,29,53,.1); transform: translateY(-3px); }
.customer-account-card > span { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; color: var(--market-coral-dark); border-radius: .8rem; background: #fff0eb; font-size: 1.1rem; }.customer-account-card-featured { color: #fff; border-color: #3c2a4a; background: linear-gradient(135deg, #21182f, #483159); }.customer-account-card-featured:hover { color: #fff; }.customer-account-card-featured > span { color: #fff; background: rgba(255,255,255,.14); }
.customer-account-card h2 { margin: 1.4rem 0 .4rem; font-size: 1.2rem; letter-spacing: -.03em; }.customer-account-card p { margin: 0; color: #7a697a; font-size: .86rem; line-height: 1.55; }.customer-account-card-featured p { color: #e1d5e5; }.customer-account-card b { align-self: flex-end; font-size: 1.25rem; }
.customer-account-card-danger { border-color: #f3cbc7; }.customer-account-card-danger > span { color: #b42318; background: #fff0ee; }.customer-account-card-danger h2 { color: #9b1c1c; }.customer-account-deletion-card { border-color: #f0d5d0; }.customer-deletion-status { display:inline-flex; padding:.35rem .65rem; color:#9b1c1c; border-radius:999px; background:#fff0ee; font-size:.78rem; font-weight:800; }.customer-account-deletion-note { color:#65576a; font-size:.9rem; line-height:1.6; }.customer-account-deletion-list { display:grid; gap:.9rem; margin:1.35rem 0; padding:1rem; border:1px solid #f2e5e1; border-radius:.9rem; background:#fffaf8; }.customer-account-deletion-list p { margin:0; color:#65576a; font-size:.88rem; line-height:1.55; }.customer-account-deletion-list strong { color:var(--market-plum); }.customer-account-deletion-form { display:grid; gap:.65rem; margin-top:1.4rem; }.customer-account-deletion-form label { font-weight:750; }.customer-account-deletion-form input { min-height:2.9rem; padding:0 .85rem; border:1px solid #dfcac6; border-radius:.75rem; font:inherit; }.customer-danger-button { min-height:2.9rem; padding:.7rem 1rem; color:#fff; border:0; border-radius:.75rem; background:#b42318; font:inherit; font-weight:800; cursor:pointer; }.customer-danger-button:hover { background:#8f1d15; }.customer-account-deletion-export { display:inline-flex; margin-bottom:.3rem; text-decoration:none; }.customer-form-error { margin:0; color:#b42318; font-size:.85rem; }
.customer-notification-feed { display:grid; gap:.7rem; }.customer-notification-item { display:flex; align-items:center; gap:1rem; padding:1rem 1.15rem; color:var(--market-plum); border:1px solid #eddfd8; border-radius:1rem; background:#fff; box-shadow:0 .7rem 2rem rgba(50,29,53,.04); text-decoration:none; }.customer-notification-item.is-unread { border-color:#f1c8bd; background:#fff7f3; }.customer-notification-item > span:first-child { display:grid; width:2.5rem; height:2.5rem; flex:0 0 2.5rem; place-items:center; color:var(--market-coral-dark); border-radius:.75rem; background:#fff0eb; }.customer-notification-item > span:last-child { display:grid; gap:.25rem; }.customer-notification-item strong { font-size:.92rem; }.customer-notification-item small { color:var(--market-muted); font-size:.76rem; }.customer-notification-empty { margin:0; padding:2.5rem 1rem; color:var(--market-muted); border:1px dashed #e8d9d2; border-radius:1rem; background:#fff; text-align:center; }

.customer-web-push-card { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; padding:1.1rem 1.25rem; color:#1e293b; border:1px solid #ffd8d2; border-radius:1rem; background:linear-gradient(135deg,#fff5f2,#fff); box-shadow:0 .75rem 2rem rgba(60,35,30,.06); }.customer-web-push-card strong { display:block; margin-bottom:.25rem; }.customer-web-push-card p { margin:0; color:#64748b; font-size:.9rem; }.customer-web-push-card p[data-state='enabled'],.customer-web-push-card p[data-state='received'] { color:#17734f; }.customer-web-push-card p[data-state='error'],.customer-web-push-card p[data-state='denied'] { color:#b42318; }.customer-web-push-card button { flex:0 0 auto; padding:.7rem 1rem; color:#fff; border:0; border-radius:.7rem; background:var(--market-coral); font:inherit; font-weight:850; cursor:pointer; }.customer-web-push-card button:disabled { cursor:wait; opacity:.65; }

.customer-account-back { display:inline-flex; align-items:center; min-height:2.75rem; padding:0 1rem; color:var(--market-plum); border:1px solid #e5d5ce; border-radius:.75rem; background:#fff; font-size:.84rem; font-weight:850; text-decoration:none; }.customer-profile-overview { display:grid; grid-template-columns:minmax(0,1fr) minmax(14rem,.52fr) auto; gap:1.25rem; align-items:center; margin-bottom:2rem; padding:clamp(1.25rem,3vw,2rem); color:#fff; border-radius:1.5rem; background:radial-gradient(circle at 95% 15%,rgba(255,151,141,.45),transparent 12rem),linear-gradient(135deg,#21182f,#4b315e); box-shadow:0 1.4rem 3.2rem rgba(50,29,53,.15); }.customer-profile-overview-identity { display:flex; align-items:center; gap:1rem; min-width:0; }.customer-profile-overview-identity > div:last-child { display:grid; gap:.3rem; min-width:0; }.customer-profile-overview-identity p { margin:0; color:#ffc4bd; font-size:.7rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }.customer-profile-overview-identity h1 { overflow:hidden; margin:0; color:#fff; font-size:clamp(1.6rem,3vw,2.45rem); letter-spacing:-.055em; text-overflow:ellipsis; white-space:nowrap; }.customer-profile-overview-identity span { overflow:hidden; color:#eaddeb; font-size:.87rem; text-overflow:ellipsis; white-space:nowrap; }.customer-profile-overview-status { display:grid; gap:.38rem; padding:.9rem 1rem; border:1px solid rgba(255,255,255,.13); border-radius:1rem; background:rgba(255,255,255,.08); }.customer-profile-overview-status strong { font-size:.91rem; }.customer-profile-overview-status > span { color:#eaddeb; font-size:.75rem; line-height:1.4; }.customer-profile-overview-status > div { display:flex; gap:.32rem; margin-top:.35rem; }.customer-profile-overview-status i { display:block; width:1.8rem; height:.32rem; border-radius:999px; background:rgba(255,255,255,.2); }.customer-profile-overview-status i.is-complete { background:#ff9188; }.customer-profile-overview .customer-account-back { color:#fff; border-color:rgba(255,255,255,.2); background:rgba(255,255,255,.11); }.customer-settings-shell { display:grid; grid-template-columns:minmax(0,1fr) minmax(16rem,.38fr); gap:1rem; align-items:start; }.customer-settings-card,.customer-privacy-card,.customer-reschedule-summary { padding:clamp(1.25rem,3vw,2rem); border:1px solid #eddfd8; border-radius:1.2rem; background:#fff; box-shadow:0 1rem 2.5rem rgba(50,29,53,.055); }.customer-profile-form-heading { display:flex; align-items:flex-start; gap:.8rem; }.customer-profile-form-heading > span { display:grid; width:2.35rem; height:2.35rem; flex:0 0 2.35rem; place-items:center; color:var(--market-coral-dark); border-radius:.75rem; background:#fff0eb; }.customer-profile-form-heading h2 { margin:0; color:var(--market-plum); font-size:1.24rem; letter-spacing:-.035em; }.customer-profile-form-heading p { margin:.3rem 0 0; color:var(--market-muted); font-size:.82rem; line-height:1.5; }.customer-settings-card label { display:grid; gap:.45rem; color:#493e51; font-size:.8rem; font-weight:850; }.customer-settings-card input,.customer-settings-card select { width:100%; min-height:3rem; padding:0 .85rem; color:var(--market-plum); border:1px solid #e7d9d3; border-radius:.75rem; outline:0; background:#fffdfc; font:inherit; }.customer-settings-card input:focus,.customer-settings-card select:focus { border-color:var(--market-coral); box-shadow:0 0 0 .22rem rgba(255,91,77,.13); }.customer-settings-card input:disabled { color:#91818c; background:#f8f3f0; }.customer-settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1.25rem 0; }.customer-profile-photo-row { display:flex; align-items:center; gap:1rem; margin-top:1.3rem; }.customer-profile-avatar { display:grid; width:4.8rem; height:4.8rem; overflow:hidden; flex:0 0 4.8rem; place-items:center; color:#fff; border-radius:1.3rem; background:linear-gradient(135deg,var(--market-coral),#55396a); font-size:1.6rem; font-weight:900; }.customer-profile-avatar-large { width:4.5rem; height:4.5rem; flex-basis:4.5rem; border-radius:1.15rem; box-shadow:0 .7rem 1.4rem rgba(0,0,0,.18); }.customer-profile-avatar img { width:100%; height:100%; object-fit:cover; }.customer-profile-photo-row small { color:var(--market-muted); font-size:.76rem; font-weight:500; line-height:1.45; }.customer-primary-button,.customer-secondary-button,.customer-text-button { display:inline-flex; align-items:center; justify-content:center; min-height:2.8rem; padding:0 1rem; border-radius:.75rem; font:inherit; font-size:.82rem; font-weight:850; text-decoration:none; cursor:pointer; }.customer-primary-button { color:#fff; border:0; background:var(--market-coral); }.customer-secondary-button { color:var(--market-plum); border:1px solid #e5d5ce; background:#fff; }.customer-text-button { padding:0; color:#b42318; border:0; background:transparent; }.customer-profile-sidecards { display:grid; gap:1rem; }.customer-privacy-card { display:grid; gap:.7rem; color:var(--market-plum); background:linear-gradient(140deg,#fff4ef,#fff); }.customer-privacy-card > span { display:grid; width:2.6rem; height:2.6rem; place-items:center; color:var(--market-coral-dark); border-radius:.8rem; background:#fff; font-size:1.2rem; }.customer-privacy-card h2 { margin:0; font-size:1.15rem; }.customer-privacy-card p { margin:0 0 .3rem; color:var(--market-muted); font-size:.88rem; line-height:1.6; }.customer-profile-quick-links { display:grid; overflow:hidden; border:1px solid #eddfd8; border-radius:1.1rem; background:#fff; box-shadow:0 .8rem 2rem rgba(50,29,53,.045); }.customer-profile-quick-links a { display:grid; grid-template-columns:1.8rem minmax(0,1fr) auto; gap:.65rem; align-items:center; min-height:3.65rem; padding:0 1rem; color:var(--market-plum); border-top:1px solid #f2e6e1; font-size:.82rem; font-weight:850; text-decoration:none; }.customer-profile-quick-links a:first-child { border-top:0; }.customer-profile-quick-links span { display:grid; width:1.8rem; height:1.8rem; place-items:center; color:var(--market-coral-dark); border-radius:.55rem; background:#fff0eb; }.customer-profile-quick-links b { color:var(--market-coral-dark); }.customer-form-success,.customer-form-error { margin:0 0 1rem; padding:.8rem 1rem; border-radius:.75rem; font-size:.88rem; }.customer-form-success { color:#12643f; background:#ebf9f1; }.customer-form-error { color:#b42318; background:#fff0ed; }.customer-appointment-list { display:grid; gap:.8rem; }.customer-appointment-card { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:1.25rem; align-items:center; padding:1rem 1.2rem; border:1px solid #eddfd8; border-radius:1.15rem; background:#fff; box-shadow:0 .7rem 2rem rgba(50,29,53,.04); }.customer-appointment-date { display:grid; width:3.6rem; height:3.8rem; place-items:center; color:#8e3b36; border-radius:.85rem; background:#fff0eb; line-height:1; }.customer-appointment-date strong { font-size:1.45rem; }.customer-appointment-date span { font-size:.68rem; font-weight:850; text-transform:uppercase; }.customer-appointment-copy { min-width:0; }.customer-appointment-heading { display:flex; align-items:center; gap:.65rem; flex-wrap:wrap; }.customer-appointment-copy h2 { margin:0; color:var(--market-plum); font-size:1.05rem; }.customer-appointment-copy p { margin:.32rem 0; color:#715f70; font-size:.87rem; }.customer-appointment-copy small { color:var(--market-muted); font-size:.76rem; }.customer-appointment-status { padding:.28rem .5rem; border-radius:999px; background:#fff0eb; color:#9d3c33; font-size:.66rem; font-weight:900; text-transform:uppercase; }.customer-appointment-status.is-approved,.customer-appointment-status.is-completed { color:#12643f; background:#e7f8ef; }.customer-appointment-status.is-cancelled,.customer-appointment-status.is-rejected { color:#6d5a6b; background:#f1ebef; }.customer-appointment-actions { display:flex; align-items:center; gap:.9rem; }.customer-appointment-actions form { margin:0; }.customer-reschedule-shell { display:grid; grid-template-columns:minmax(14rem,.35fr) minmax(0,1fr); gap:1rem; align-items:start; }.customer-reschedule-summary { display:grid; gap:.25rem; }.customer-reschedule-summary span { margin-top:.85rem; color:var(--market-muted); font-size:.72rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }.customer-reschedule-summary span:first-child { margin-top:0; }.customer-reschedule-summary strong { color:var(--market-plum); }.customer-reschedule-date { display:flex; align-items:end; gap:.8rem; }.customer-reschedule-date label { flex:1; }.customer-slot-list { display:flex; gap:.6rem; margin-top:1.2rem; flex-wrap:wrap; }.customer-slot-list form { margin:0; }.customer-slot-list button { min-width:6.9rem; min-height:2.8rem; padding:0 .9rem; color:var(--market-plum); border:1px solid #e5d5ce; border-radius:.75rem; background:#fff; font:inherit; font-weight:850; cursor:pointer; }.customer-slot-list button:hover { color:#fff; border-color:var(--market-coral); background:var(--market-coral); }.customer-toggle-list { display:grid; gap:.7rem; margin:0 0 1.25rem; padding:0; border:0; }.customer-toggle-list legend { margin-bottom:.65rem; color:var(--market-plum); font-size:1rem; font-weight:900; }.customer-toggle-list label { display:flex; align-items:flex-start; gap:.7rem; padding:.75rem; border:1px solid #f0e2dc; border-radius:.8rem; background:#fffdfc; }.customer-toggle-list input[type='checkbox'] { width:1.15rem; min-height:1.15rem; margin-top:.15rem; accent-color:var(--market-coral); }.customer-toggle-list span { display:grid; gap:.18rem; }.customer-toggle-list small { color:var(--market-muted); font-size:.77rem; font-weight:500; line-height:1.4; }

@media (max-width: 1000px) { .marketplace-salon-login { display: none; }.customer-auth-main { grid-template-columns: minmax(0, .9fr) minmax(23rem, 1fr); }.customer-auth-visual { padding: 3rem; }.customer-account-grid { grid-template-columns: 1fr; }.customer-account-card { min-height: 10rem; } }
@media (max-width: 720px) { .marketplace-customer-register, .marketplace-logout-form { display: none; }.marketplace-customer-login, .marketplace-account { min-height: 2rem; font-size: .77rem; }.customer-auth-main { grid-template-columns: 1fr; }.customer-auth-visual { min-height: 20rem; padding: 3.2rem 1.4rem; }.customer-auth-copy h1 { font-size: clamp(2.8rem, 13vw, 4rem); }.customer-auth-copy p, .customer-auth-copy ul { display: none; }.customer-auth-form-wrap { padding: 1.2rem; }.customer-auth-card { padding: 1.55rem 1.25rem; border-radius: 1.1rem; }.customer-auth-simple-main { min-height: calc(100vh - 8rem); }.customer-account-main { padding: 2.4rem 0; }.customer-account-hero { align-items: flex-start; padding-inline: 1.2rem; flex-direction: column; }.customer-account-grid { padding-inline: 1.2rem; }.customer-account-card { min-height: 9rem; }.customer-web-push-card { align-items:flex-start; flex-direction:column; }.customer-web-push-card button { width:100%; }.customer-profile-overview { grid-template-columns:1fr; margin-inline:1.2rem; }.customer-profile-overview .customer-account-back { width:100%; justify-content:center; }.customer-settings-shell,.customer-reschedule-shell { grid-template-columns:1fr; padding-inline:1.2rem; }.customer-settings-grid { grid-template-columns:1fr; }.customer-appointment-list { padding-inline:1.2rem; }.customer-appointment-card { grid-template-columns:auto minmax(0,1fr); gap:.9rem; }.customer-appointment-actions { grid-column:1 / -1; justify-content:space-between; padding-top:.7rem; border-top:1px solid #f1e7e2; }.customer-reschedule-date { align-items:stretch; flex-direction:column; }.customer-reschedule-date .customer-secondary-button { width:100%; } }

/* Marketplace v2: selected editorial neighbourhood-discovery direction. */
.marketplace-page { background: #fffdfb; }
.marketplace-header { border-bottom-color: #eee5e0; background: rgba(255, 253, 251, .95); box-shadow: 0 1px 0 rgba(33, 24, 47, .04); }
.marketplace-nav { min-height: 5.15rem; }
.marketplace-nav-links a { position: relative; padding: 1.85rem 0; }
.marketplace-nav-links a:first-child::after { position: absolute; right: 0; bottom: 0; left: 0; height: .16rem; border-radius: 999px; background: var(--market-coral); content: ''; }
.marketplace-customer-register { border-radius: .9rem; }
.marketplace-hero { background: #fff9f5; }
.marketplace-hero::before, .marketplace-hero::after { display: none; }
.marketplace-hero-grid { grid-template-columns: minmax(0, 1.08fr) minmax(24rem, .92fr); gap: 0; min-height: 35rem; padding-block: 0; }
.marketplace-hero-copy { align-self: center; padding: clamp(3rem, 6vw, 6.6rem) clamp(1.5rem, 5vw, 6rem) clamp(3rem, 5vw, 5rem) 0; }
.marketplace-hero h1 { max-width: 38rem; font-size: clamp(3.15rem, 5.5vw, 5.9rem); line-height: .98; }
.marketplace-hero-copy > p:not(.marketplace-kicker) { max-width: 35rem; margin-bottom: 1.55rem; font-size: 1.05rem; }
.marketplace-kicker { margin-bottom: 1rem; color: var(--market-coral-dark) !important; background: transparent; padding: 0; letter-spacing: .12em; }
.marketplace-kicker span { display: none; }
.marketplace-search { width: min(47rem, 100%); border-radius: .95rem; box-shadow: 0 .9rem 2.4rem rgba(40, 26, 46, .1); }
.marketplace-search button { min-width: 8.7rem; border-radius: .7rem; }
.marketplace-stats { gap: 1.2rem; margin-top: 1.25rem; }
.marketplace-stats span { padding-right: 1.2rem; border-right: 1px solid #e7dcd6; }
.marketplace-stats span:last-child { padding-right: 0; border-right: 0; }
.marketplace-visual-city { min-height: 35rem; overflow: hidden; border-radius: 0 0 0 3.25rem; background: #d9cfc9; }
.marketplace-visual-city > img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 56% center; }
.marketplace-visual-shade { position: absolute; inset: 0; background: rgba(25, 17, 30, .16); }
.marketplace-featured-spotlight { position: absolute; right: 1.2rem; bottom: 1.2rem; left: 1.2rem; display: grid; gap: .22rem; padding: 1rem; color: #fff; border: 1px solid rgba(255, 255, 255, .23); border-radius: 1rem; background: rgba(33, 24, 47, .72); box-shadow: none; backdrop-filter: blur(12px); }
.marketplace-featured-spotlight:hover { color: #fff; transform: none; }
.marketplace-featured-spotlight > span { color: #ffb0a7; font-size: .64rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.marketplace-featured-spotlight strong { font-size: 1rem; }
.marketplace-featured-spotlight small { color: #f1e9ee; font-size: .76rem; }
.marketplace-featured-spotlight b { display: flex; align-items: center; justify-content: space-between; margin-top: .35rem; color: #fff; font-size: .75rem; }
.marketplace-featured-spotlight b i { font-style: normal; }
.marketplace-categories { padding-block: 2.4rem 1.2rem; background: #fffdfb; }
.marketplace-category-strip { display: flex; gap: .65rem; overflow-x: auto; padding-bottom: .65rem; scrollbar-width: thin; }
.marketplace-category-strip a { min-width: max-content; min-height: auto; display: inline-flex; align-items: center; gap: .45rem; padding: .72rem .9rem; border: 1px solid #eee3dd; border-radius: .9rem; background: #fff; box-shadow: none; }
.marketplace-category-strip a:first-child { color: #fff; border-color: var(--market-coral); background: var(--market-coral); }
.marketplace-category-strip a:first-child strong, .marketplace-category-strip a:first-child small { color: #fff; }
.marketplace-category-strip a > span { width: auto; height: auto; color: inherit; background: transparent; border-radius: 0; font-size: .9rem; }
.marketplace-category-strip small { display: none; }
.marketplace-salons { padding-block: 2.2rem 4.5rem; background: #fffdfb; border-block: 0; }
.marketplace-section-heading { margin-bottom: 1.25rem; }
.marketplace-section-heading p { margin-bottom: .3rem; color: var(--market-coral-dark); font-size: .68rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.marketplace-section-heading h2 { font-size: clamp(1.8rem, 3vw, 2.6rem); letter-spacing: -.055em; }
.marketplace-salon-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9rem; }
.marketplace-salon-card { border-color: #eee4de; border-radius: 1rem; box-shadow: 0 .4rem 1.25rem rgba(50, 34, 53, .04); }
.marketplace-salon-media { height: 12.4rem; }
.marketplace-card-badge { top: .65rem; left: .65rem; color: #4d3f4e; border: 1px solid rgba(33, 24, 47, .08); box-shadow: none; font-size: .61rem; }
.marketplace-card-badges { position: absolute; top: .65rem; right: .65rem; display: flex; max-width: 74%; gap: .35rem; flex-wrap: wrap; justify-content: flex-end; }
.marketplace-card-badges > span { padding: .34rem .5rem; color: #3e3144; border-radius: 999px; background: rgba(255, 255, 255, .94); box-shadow: 0 .25rem .8rem rgba(33, 24, 47, .11); font-size: .58rem; font-weight: 900; line-height: 1.15; }
.marketplace-card-badges .is-sponsored { color: #6e3d05; background: #ffebb8; }
.marketplace-card-badges .is-new { color: #12603d; background: #dff6e9; }
.marketplace-card-badges .is-popular { color: #9c352c; background: #ffe0dc; }
.marketplace-card-badges .is-neighborhood { color: #344c31; background: #e3f1d8; }
.marketplace-card-badges .is-city { color: #45306c; background: #ece5ff; }
.marketplace-salon-body { padding: .95rem; }
.marketplace-salon-title-row h3 { font-size: 1.05rem; }
.marketplace-salon-title-row p { font-size: .66rem; }
.marketplace-rating { padding: .26rem .4rem; font-size: .68rem; }
.marketplace-service-chips { min-height: 2.9rem; margin-top: .75rem; }
.marketplace-service-chips span { font-size: .6rem; }
.marketplace-card-footer { margin-top: .75rem; padding-top: .75rem; }
.marketplace-card-footer > a { min-height: 2.25rem; padding: 0 .65rem; border-radius: .65rem; background: var(--market-coral); }
.marketplace-card-footer > a:hover { color: #fff; background: var(--market-coral-dark); }
.marketplace-how { background: #f8f2ee; }
.marketplace-business { background: #fffdfb; }
.customer-account-main { background: #fff9f5; }
.customer-account-grid { gap: .85rem; }
.customer-account-card { min-height: 11.7rem; border-radius: 1rem; box-shadow: 0 .55rem 1.6rem rgba(50, 29, 53, .045); }
.customer-account-card h2 { margin-top: 1.1rem; }

@media (max-width: 1120px) {
    .marketplace-salon-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
    .marketplace-hero-grid { grid-template-columns: 1fr; }
    .marketplace-hero-copy { padding: 3.6rem 0 2.2rem; }
    .marketplace-visual-city { min-height: 25rem; margin-right: calc(50% - 50vw); border-radius: 2.2rem 0 0 0; }
    .marketplace-salon-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
    .marketplace-hero-copy { padding-top: 2.5rem; }
    .marketplace-hero h1 { font-size: clamp(2.7rem, 13vw, 4rem); }
    .marketplace-stats { justify-content: flex-start; }
    .marketplace-stats span { padding-right: .65rem; font-size: .7rem; }
    .marketplace-visual-city { min-height: 20rem; }
    .marketplace-featured-spotlight { right: .75rem; bottom: .75rem; left: .75rem; }
    .marketplace-category-strip { margin-right: -1.2rem; padding-right: 1.2rem; }
    .marketplace-salon-grid { display: grid; grid-template-columns: 1fr; }
    .marketplace-salon-media { height: 14rem; }
}
