:root {
    --ink-page: #f3f2ed;
    --ink-bg: #f3f2ed;
    --ink-surface: #fffef9;
    --ink-surface-soft: #ebeae4;
    --ink-surface-lilac: #e9e5f0;
    --ink-text: #171717;
    --ink-muted: #66655f;
    --ink-line: #d8d7d0;
    --ink-soft: #ecebe5;
    --ink-red: #f06a42;
    --ink-green: #416b58;
    --ink-mint: #d9e9dc;
    --ink-accent: #171717;
    --ink-accent-dark: #000;
    --ink-accent-soft: #ecebe5;
    --ink-pink: #f06a42;
    --ink-shadow-sm: 0 8px 24px rgba(17, 17, 17, .06);
    --ink-shadow: 0 18px 50px rgba(17, 17, 17, .09);
    --md-primary: #171717;
    --md-primary-dark: #000;
    --md-red: #f06a42;
    --md-surface-2: #f8f7f2;
    --md-outline: #d8d7d0;
    --ua-red: #f06a42;
}

body.inkbook-theme {
    background: var(--ink-bg) !important;
    background-image: none !important;
}

.ink-site-header {
    border-color: var(--ink-line) !important;
    background: rgba(255, 254, 249, .96) !important;
    box-shadow: 0 1px 0 rgba(17, 17, 17, .04) !important;
}

.ink-button,
.ink-header-artist-cta,
.ink-home-search .ink-button,
.ink-catalog-controls .ink-button,
.ink-profile-hero .ink-button {
    border-color: var(--md-primary) !important;
    background: var(--md-primary) !important;
    color: #fff !important;
    box-shadow: none !important;
}

.ink-button:hover,
.ink-header-artist-cta:hover,
.ink-home-search .ink-button:hover,
.ink-catalog-controls .ink-button:hover,
.ink-profile-hero .ink-button:hover {
    border-color: var(--md-primary-dark) !important;
    background: var(--md-primary-dark) !important;
}

.ink-button--ghost,
.ink-catalog-controls .ink-button--ghost,
.ink-profile-hero .ink-button--ghost {
    border-color: var(--ink-line) !important;
    background: #fff !important;
    color: var(--ink-text) !important;
    box-shadow: none !important;
}

.ink-kicker,
.ink-profile-beauty-chips a {
    color: var(--ink-text) !important;
}

.ink-profile-beauty-chips a,
.ink-artist-card__meta span {
    border-color: #d3d2cb !important;
    background: #efeee8 !important;
    color: #343430 !important;
}

.ink-catalog-hero {
    border-color: var(--ink-line) !important;
    background: #eeede7 !important;
}

.ink-catalog-hero__panel,
.ink-profile-facts {
    background: #171717 !important;
}

.ink-catalog-page .ink-catalog-hero {
    border-color: var(--ink-line) !important;
    background: #eeede7 !important;
    background-image: none !important;
}

.ink-catalog-page .ink-catalog-hero__panel {
    border-color: #171717 !important;
    background: #171717 !important;
    color: #fff !important;
}

.ink-brand-mark,
.ink-brand-mark.has-custom-logo {
    overflow: hidden;
    border: 0 !important;
    border-radius: 14px !important;
    background: transparent !important;
}

.ink-site-logo,
.ink-footer-logo {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.ink-hero--marketplace {
    border-color: var(--ink-line) !important;
    background: #f7f6f1 !important;
    box-shadow: none !important;
}

.ink-home-search {
    grid-template-columns: minmax(150px, 1fr) minmax(150px, 1fr) auto !important;
    width: min(760px, 100%) !important;
    max-width: none !important;
    border-color: #cfcec7 !important;
    background: rgba(255, 254, 249, .96) !important;
    box-shadow: 0 8px 24px rgba(17, 17, 17, .06) !important;
}

.ink-beauty-directions {
    overflow: visible !important;
    border-color: transparent !important;
    background: transparent !important;
}

.ink-beauty-directions__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.ink-beauty-direction-card {
    display: grid;
    min-height: 210px;
    align-content: space-between;
    gap: 12px;
    overflow: hidden;
    border: 1px solid rgba(23, 23, 23, .12);
    border-radius: 28px;
    padding: 24px;
    background: var(--ink-surface);
    box-shadow: none;
    transition: transform .25s ease, box-shadow .25s ease;
}

.ink-beauty-direction-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 34px rgba(17, 17, 17, .10);
}

.ink-beauty-direction-card > span {
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    border-radius: 18px;
    border: 1px solid rgba(23, 23, 23, .1);
    background: rgba(255, 254, 249, .72);
    font-size: 25px;
}

.ink-beauty-direction-card strong {
    align-self: end;
    font-size: clamp(20px, 2vw, 30px);
    line-height: 1.05;
}

.ink-beauty-direction-card small {
    color: rgba(23, 23, 23, .66);
    font-size: 13px;
    line-height: 1.45;
}

.ink-beauty-direction-card.is-hairdressers { background: #ebeae4; }
.ink-beauty-direction-card.is-colorists { background: #dfe8ed; }
.ink-beauty-direction-card.is-barbers { background: #deddda; }
.ink-beauty-direction-card.is-hair-extensions { background: #e8e2ef; }
.ink-beauty-direction-card.is-haircuts { background: #e2eadc; }
.ink-beauty-direction-card.is-styling { background: #f0ecdf; }
.ink-beauty-direction-card.is-coloring { background: #e8dfda; }

.ink-catalog-page.is-loading {
    cursor: progress;
    opacity: .64;
    pointer-events: none;
    transition: opacity .18s ease;
}

.ink-catalog-live-region {
    min-height: 1.4em;
    margin: 10px 0 0;
    color: var(--ink-muted);
    font-size: 13px;
}

.ink-beauty-category-picker {
    min-width: 0;
    margin: 0;
    border: 1px solid var(--ink-line);
    border-radius: 22px;
    padding: 20px;
    background: #f8f7f2;
}

.ink-beauty-category-picker legend {
    padding: 0 8px;
    color: var(--ink-text);
    font-size: 15px;
    font-weight: 800;
}

.ink-beauty-category-picker__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.ink-beauty-category-picker__grid label {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 9px;
    border: 1px solid var(--ink-line);
    border-radius: 16px;
    padding: 11px 12px;
    background: #fff;
}

.ink-beauty-category-picker__grid input {
    width: 18px !important;
    min-height: 18px !important;
    flex: 0 0 auto;
}

.ink-beauty-category-picker__grid input:checked + span {
    color: var(--md-primary-dark);
    font-weight: 800;
}

.ink-artist-card__category {
    border-color: #d3d2cb !important;
    background: #efeee8 !important;
    color: #343430 !important;
}

.ink-profile-beauty-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 12px;
}

.ink-profile-beauty-chips a {
    border: 1px solid #d3d2cb;
    border-radius: 999px;
    padding: 7px 11px;
    background: #efeee8;
    color: #343430;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
}

.ink-main .ink-section,
.ink-main .ink-auth,
.ink-main .ink-messages-layout,
.ink-main .ink-artist-layout,
.ink-main .ink-checkout {
    border-color: var(--ink-line) !important;
    border-radius: 28px;
}

@media (max-width: 960px) {
    .ink-beauty-directions__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ink-beauty-category-picker__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .ink-home-search,
    .ink-beauty-directions__grid,
    .ink-beauty-category-picker__grid {
        grid-template-columns: 1fr !important;
    }

    .ink-beauty-direction-card {
        min-height: 176px;
    }
}

/* Compact catalog search: only filters and actions. */
.ink-catalog-page .ink-catalog-controls {
    position: relative;
    z-index: 30;
    overflow: visible !important;
    border: 1px solid var(--ink-line) !important;
    border-radius: 22px !important;
    padding: 18px !important;
    background: var(--ink-surface) !important;
    box-shadow: 0 8px 24px rgba(17, 17, 17, .05) !important;
}

.ink-catalog-page .ink-catalog-sort {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 12px !important;
    width: 100% !important;
    overflow: visible !important;
}

.ink-catalog-filter__fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.ink-catalog-page .ink-catalog-sort .ink-catalog-filter__field {
    position: relative;
    display: grid !important;
    min-width: 0;
    align-content: start;
    gap: 7px !important;
    overflow: visible;
    border: 0 !important;
    border-radius: 0;
    padding: 0 !important;
    background: transparent !important;
}

.ink-catalog-page .ink-catalog-sort .ink-catalog-filter__field:hover,
.ink-catalog-page .ink-catalog-sort .ink-catalog-filter__field:focus-within {
    z-index: 4;
    box-shadow: none;
    transform: none;
}

.ink-catalog-page .ink-catalog-sort .ink-catalog-filter__field::after {
    display: none !important;
}

.ink-catalog-filter__label {
    display: block;
    color: var(--ink-text);
    font-family: Manrope, sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ink-catalog-page .ink-catalog-sort .ink-custom-select,
.ink-catalog-page .ink-catalog-sort select:not(.ink-native-enhanced-select) {
    width: 100% !important;
    min-width: 0 !important;
}

.ink-catalog-page .ink-catalog-sort .ink-custom-select__trigger,
.ink-catalog-page .ink-catalog-sort select:not(.ink-native-enhanced-select) {
    min-height: 50px !important;
    border: 1px solid #cdccc5 !important;
    border-radius: 14px !important;
    padding: 0 42px 0 14px !important;
    background-color: #fff !important;
    color: var(--ink-text) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

.ink-catalog-page .ink-catalog-sort .ink-custom-select__panel {
    z-index: 1000 !important;
    width: max(100%, 280px) !important;
    max-width: min(360px, calc(100vw - 32px));
}

.ink-catalog-filter__actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
}

.ink-catalog-filter__actions .ink-button {
    min-height: 50px;
    min-width: 112px;
    justify-content: center;
    padding-inline: 20px !important;
}

/* Message modal: comfortable form width on desktop, edge-safe on mobile. */
.ink-contact-modal:not([hidden]) {
    padding: clamp(12px, 3vw, 30px) !important;
}

.ink-contact-modal .ink-contact-modal__dialog {
    width: min(760px, calc(100vw - 40px)) !important;
    max-width: 760px !important;
    max-height: calc(100dvh - 40px) !important;
    padding: clamp(26px, 4vw, 44px) !important;
    border-radius: 28px !important;
}

.ink-contact-modal .ink-contact-modal__head h2 {
    max-width: calc(100% - 40px);
    margin-bottom: 22px;
    font-size: clamp(28px, 4vw, 44px) !important;
    overflow-wrap: anywhere;
}

.ink-contact-modal .ink-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.ink-contact-modal textarea {
    min-height: 150px;
    resize: vertical;
}

.ink-profile-source-link {
    margin: 16px 0 0;
    color: var(--ink-muted);
    font-size: 12px;
    line-height: 1.5;
}

.ink-profile-source-link a {
    color: var(--ink-text);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.ink-gallery.ink-gallery--profile-photo {
    display: grid !important;
    grid-template-columns: minmax(0, 340px) !important;
    justify-content: start;
    gap: 0 !important;
}

.ink-gallery--profile-photo .ink-gallery__item {
    width: 100%;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: 22px;
}

.ink-gallery--profile-photo .ink-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ink-profile-photo-note {
    max-width: 620px;
    margin: 16px 0 0;
    color: var(--ink-muted);
    font-size: 14px;
    line-height: 1.55;
}

/* Cards grow with wrapped tags, so price and profile actions never clip. */
.ink-catalog-page .ink-artist-card {
    height: auto !important;
    min-height: 310px !important;
    align-items: stretch !important;
}

.ink-catalog-page .ink-artist-card__gallery-shell {
    min-height: 310px !important;
    height: auto !important;
    align-self: stretch !important;
    overflow: hidden !important;
}

.ink-catalog-page .ink-artist-card__gallery {
    position: absolute !important;
    inset: 0 !important;
    min-height: 0 !important;
    height: auto !important;
}

.ink-catalog-page .ink-artist-card__body {
    min-height: 310px !important;
    height: auto !important;
    overflow: visible !important;
}

.ink-catalog-page .ink-artist-card__meta {
    flex: 0 0 auto;
}

.ink-catalog-page .ink-card-footer {
    position: static !important;
    min-height: 58px;
    flex: 0 0 auto;
    overflow: visible !important;
}

.ink-catalog-page .ink-card-footer strong {
    min-width: 0;
    white-space: normal !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere;
}

@media (max-width: 1050px) {
    .ink-catalog-page .ink-catalog-sort {
        grid-template-columns: 1fr !important;
    }

    .ink-catalog-filter__actions {
        justify-content: flex-end;
    }
}

@media (max-width: 720px) {
    .ink-catalog-filter__fields {
        grid-template-columns: 1fr;
    }

    .ink-catalog-filter__actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ink-catalog-filter__actions .ink-button {
        width: 100%;
    }
}

@media (max-width: 560px) {
    .ink-catalog-page .ink-catalog-controls {
        border-radius: 22px !important;
        padding: 18px !important;
    }

    .ink-contact-modal .ink-form-grid {
        grid-template-columns: 1fr !important;
    }

    .ink-catalog-filter__actions {
        grid-template-columns: 1fr;
    }

    .ink-contact-modal .ink-contact-modal__dialog {
        width: calc(100vw - 24px) !important;
        max-width: none !important;
        max-height: calc(100dvh - 24px) !important;
        padding: 24px 18px !important;
        border-radius: 22px !important;
    }

    .ink-contact-modal .ink-contact-modal__close {
        top: 12px !important;
        right: 12px !important;
    }
}

/* 4.0.6 — restrained editorial palette inspired by modern fashion catalogues. */
body.inkbook-theme,
body.inkbook-theme input,
body.inkbook-theme select,
body.inkbook-theme textarea,
body.inkbook-theme button {
    color: var(--ink-text);
}

.ink-site-header a,
.ink-site-header a:visited,
.ink-brand-copy,
.ink-main a:not(.ink-button):not(.ink-arrow-link) {
    color: var(--ink-text);
}

.ink-header-account-link,
.ink-account-trigger,
.ink-account-login-link,
.ink-dashboard-plan-badge,
.ink-current-plan,
.ink-profile-pro-badge,
.ink-pro-badge,
.ink-messenger-plan__badge {
    border-color: #171717 !important;
    background: #171717 !important;
    color: #fff !important;
}

.ink-pagination .page-numbers,
.ink-pagination .page-numbers:visited,
.ink-catalog-pagination .page-numbers,
.ink-catalog-pagination .page-numbers:visited {
    border-color: var(--ink-line) !important;
    background: var(--ink-surface) !important;
    color: var(--ink-text) !important;
}

.ink-pagination .page-numbers.current,
.ink-pagination a.page-numbers:hover,
.ink-catalog-pagination .page-numbers.current,
.ink-catalog-pagination a.page-numbers:hover {
    border-color: #171717 !important;
    background: #171717 !important;
    color: #fff !important;
}

.ink-account-dropdown,
.ink-custom-select__panel,
.ink-city-dropdown,
.ink-contact-modal__dialog {
    border-color: var(--ink-line) !important;
    background: var(--ink-surface) !important;
    color: var(--ink-text) !important;
    box-shadow: var(--ink-shadow) !important;
}

.ink-account-dropdown a,
.ink-account-dropdown a:visited,
.ink-custom-select__option,
.ink-city-dropdown a,
.ink-city-dropdown a:visited {
    color: var(--ink-text) !important;
}

.ink-account-dropdown a:hover,
.ink-custom-select__option:hover,
.ink-custom-select__option[aria-selected="true"],
.ink-city-dropdown a:hover {
    background: var(--ink-soft) !important;
    color: #000 !important;
}

.ink-arrow-link,
.ink-arrow-link:visited,
.ink-catalog-page .ink-card-footer .ink-arrow-link,
.ink-catalog-page .ink-card-footer .ink-arrow-link:visited {
    border-color: #c8c7c0 !important;
    background: var(--ink-surface) !important;
    color: #171717 !important;
    box-shadow: none !important;
}

.ink-arrow-link:hover,
.ink-arrow-link:focus-visible,
.ink-catalog-page .ink-card-footer .ink-arrow-link:hover,
.ink-catalog-page .ink-card-footer .ink-arrow-link:focus-visible {
    border-color: #171717 !important;
    background: #171717 !important;
    color: #fff !important;
}

.ink-workflow-section__number,
.ink-message-sent__icon {
    border-color: #171717 !important;
    background: #171717 !important;
    color: #fff !important;
}

.ink-home-city-buttons a,
.ink-home-city-buttons a:visited,
.ink-city-card,
.ink-city-card:visited,
.ink-profile-jump-links a,
.ink-profile-jump-links a:visited {
    border-color: var(--ink-line) !important;
    background: var(--ink-surface) !important;
    color: var(--ink-text) !important;
}

.ink-home-city-buttons a:hover,
.ink-city-card:hover,
.ink-profile-jump-links a:hover,
.ink-profile-jump-links a:focus-visible {
    border-color: #171717 !important;
    background: #171717 !important;
    color: #fff !important;
}

.ink-artist-card,
.ink-artist-card__body,
.ink-panel,
.ink-section,
.ink-profile-section,
.ink-profile-story,
.ink-profile-contact-card,
.ink-profile-address,
.ink-profile-form-section,
.ink-dashboard-grid > *,
.ink-subscription-panel,
.ink-pricing-card,
.ink-checkout-card,
.ink-messenger__shell,
.ink-messenger__sidebar,
.ink-messenger__conversation,
.ink-message-sent {
    border-color: var(--ink-line) !important;
    background-color: var(--ink-surface) !important;
    box-shadow: none !important;
}

.ink-artist-card:hover,
.ink-pricing-card:hover {
    border-color: #bdbcb5 !important;
    box-shadow: 0 14px 34px rgba(17, 17, 17, .08) !important;
}

.ink-artist-card__gallery,
.ink-artist-card__gallery-shell {
    background-color: #deddd7 !important;
}

.ink-artist-card__meta span,
.ink-artist-card__category,
.ink-profile-beauty-chips a,
.ink-chat-day,
.ink-plan-usage,
.ink-artist-profile__summary span {
    border-color: #d3d2cb !important;
    background: #efeee8 !important;
    color: #343430 !important;
}

.ink-profile-tabs a,
.ink-profile-tabs button {
    color: var(--ink-muted) !important;
}

.ink-profile-tabs a:first-child,
.ink-profile-tabs a:hover,
.ink-profile-tabs button:hover,
.ink-profile-tabs button.is-active {
    color: #171717 !important;
}

.ink-profile-tabs a:first-child::after,
.ink-profile-tabs button.is-active::after {
    background: #171717 !important;
}

.ink-favorite-button,
.ink-contact-modal__close {
    border-color: #c8c7c0 !important;
    background: var(--ink-surface) !important;
    color: #171717 !important;
}

.ink-favorite-button:hover,
.ink-favorite-button.is-saved {
    border-color: #171717 !important;
    background: #171717 !important;
    color: #fff !important;
}

.ink-form input,
.ink-form textarea,
.ink-form select,
.ink-thread-reply-form textarea,
.ink-catalog-sort select,
.ink-custom-select__trigger {
    border-color: #cdccc5 !important;
    background-color: #fffef9 !important;
    color: #171717 !important;
}

.ink-form input:focus,
.ink-form textarea:focus,
.ink-form select:focus,
.ink-thread-reply-form textarea:focus,
.ink-custom-select__trigger:focus-visible {
    border-color: #171717 !important;
    box-shadow: 0 0 0 3px rgba(23, 23, 23, .10) !important;
    outline: 0 !important;
}

.ink-pricing-card.is-pro,
.ink-subscription-panel.is-pro,
.ink-messenger-plan.is-pro {
    border-color: #c9c3d0 !important;
    background: #e9e5ef !important;
}

.ink-pricing-card.is-max,
.ink-subscription-panel.is-max,
.ink-messenger-plan.is-max {
    border-color: #171717 !important;
    background: #171717 !important;
    color: #fff !important;
}

.ink-pricing-card.is-max h2,
.ink-pricing-card.is-max h3,
.ink-pricing-card.is-max p,
.ink-pricing-card.is-max li,
.ink-pricing-card.is-max strong,
.ink-subscription-panel.is-max h2,
.ink-subscription-panel.is-max h3,
.ink-subscription-panel.is-max p,
.ink-subscription-panel.is-max strong,
.ink-messenger-plan.is-max * {
    color: #fff !important;
}

.ink-pricing-card.is-max .ink-button,
.ink-subscription-panel.is-max .ink-button {
    border-color: #fff !important;
    background: #fff !important;
    color: #171717 !important;
}

.ink-chat-bubble.is-outgoing {
    background: #171717 !important;
    color: #fff !important;
}

.ink-chat-bubble.is-incoming,
.ink-messenger-thread.is-active,
.ink-messenger-thread:hover {
    background: #ecebe5 !important;
    color: #171717 !important;
}

.ink-site-footer {
    border-color: #171717 !important;
    background: #171717 !important;
    color: #e8e7e1 !important;
}

.ink-site-footer a,
.ink-site-footer a:visited,
.ink-site-footer h2,
.ink-site-footer h3,
.ink-site-footer strong {
    color: #fff !important;
}

.ink-site-footer p,
.ink-site-footer li,
.ink-site-footer small {
    color: #bdbcb6 !important;
}

.ink-footer-bottom {
    border-color: rgba(255, 255, 255, .16) !important;
}

@media (prefers-reduced-motion: no-preference) {
    .ink-button,
    .ink-arrow-link,
    .ink-header-artist-cta {
        transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease !important;
    }

    .ink-button:hover,
    .ink-arrow-link:hover,
    .ink-header-artist-cta:hover {
        transform: translateY(-2px);
    }
}
