/* ============================================================
   Services Module — services.css
   Follows the same design token system as consulting-companies.css
   ============================================================ */

/* ── Design Tokens  (site palette: teal #209aa2 / #205b5f / accent #e78a56)
   ─────────────────────────────────────────────────────────── */
:root {
    /* brand teal — matches tw-page-hero gradient */
    --svc-primary:          #209aa2;
    --svc-primary-dk:       #186a6f;
    --svc-primary-lt:       #d4f1f4;
    --svc-primary-border:   #a3dce0;

    /* accent orange — matches site accent */
    --svc-accent:           #e78a56;
    --svc-accent-lt:        #fdf0e8;
    --svc-accent-border:    #f7c9a7;

    /* Training → teal (matches site primary) */
    --svc-training:         #209aa2;
    --svc-training-bg:      #d4f1f4;
    --svc-training-border:  #a3dce0;

    /* Consulting → orange accent */
    --svc-consulting:       #c97040;
    --svc-consulting-bg:    #fdf0e8;
    --svc-consulting-border:#f7c9a7;

    /* Audience (kept subtle) */
    --svc-individual:       #208389;
    --svc-individual-bg:    #d4f1f4;
    --svc-corporate:        #7b6a3c;
    --svc-corporate-bg:     #fdf8e8;

    /* Delivery mode */
    --svc-online:           #209aa2;
    --svc-online-bg:        #d4f1f4;
    --svc-offline:          #4b5563;
    --svc-offline-bg:       #f3f4f6;
    --svc-hybrid:           #205b5f;
    --svc-hybrid-bg:        #d4f1f4;

    /* Surfaces & text */
    --svc-text-1:           #111827;
    --svc-text-2:           #4b5563;
    --svc-text-3:           #9ca3af;
    --svc-surface:          #ffffff;
    --svc-bg:               #f8fafc;
    --svc-border:           #e5e7eb;

    /* Shape & motion */
    --svc-radius-sm:        8px;
    --svc-radius:           14px;
    --svc-radius-lg:        20px;
    --svc-shadow:           0 2px 12px rgba(0,0,0,.06);
    --svc-shadow-hover:     0 8px 28px rgba(32,154,162,.14);
    --svc-transition:       0.2s ease;
}

[data-theme="dark"] {
    --svc-text-1:           #f9fafb;
    --svc-text-2:           #d1d5db;
    --svc-text-3:           #6b7280;
    --svc-surface:          #1f2937;
    --svc-bg:               #111827;
    --svc-border:           #374151;

    /* Adjust accent backgrounds for dark mode (use dark, muted versions) */
    --svc-training-bg:      rgba(32, 154, 162, 0.15);
    --svc-training-border:  rgba(32, 154, 162, 0.3);
    
    --svc-consulting-bg:    rgba(201, 112, 64, 0.15);
    --svc-consulting-border:rgba(201, 112, 64, 0.3);

    --svc-individual-bg:    rgba(32, 131, 137, 0.15);
    --svc-corporate-bg:     rgba(123, 106, 60, 0.15);
    
    --svc-online-bg:        rgba(32, 154, 162, 0.15);
    --svc-offline-bg:       rgba(75, 85, 99, 0.2);
    --svc-hybrid-bg:        rgba(32, 91, 95, 0.2);
}

/* ── Layout wrappers ────────────────────────────────────────── */
.svc-main {
    padding: 32px 0 96px;
    min-height: 60vh;
}

/* ── Search bar on landing ──────────────────────────────────── */
.svc-search-bar {
    background: var(--svc-surface);
    border: 1px solid var(--svc-border);
    border-radius: var(--svc-radius-lg);
    padding: 1rem 1.25rem;
    margin: 1.25rem 0;
    box-shadow: var(--svc-shadow);
}

.svc-search-form {
    display: flex;
    gap: .75rem;
    align-items: center;
    flex-wrap: wrap;
}

.svc-search-wrap {
    position: relative;
    flex: 1 1 280px;
}

.svc-search-wrap--sm {
    flex: unset;
    width: 100%;
}

.svc-search-icon {
    position: absolute;
    inset-inline-start: .85rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--svc-text-3);
    font-size: .9rem;
    pointer-events: none;
}

.svc-search-input {
    width: 100%;
    padding: .6rem .9rem .6rem 2.4rem;
    border: 1.5px solid var(--svc-border);
    border-radius: var(--svc-radius);
    background: var(--svc-bg);
    color: var(--svc-text-1);
    font-size: .9rem;
    transition: border-color var(--svc-transition);
}

.svc-search-input::placeholder {
    color: var(--svc-text-3);
    opacity: 1;
}

.svc-search-input:focus {
    outline: none;
    border-color: var(--svc-primary);
}

.svc-search-input--sm {
    padding: .5rem .75rem .5rem 2.2rem;
    font-size: .85rem;
}

.svc-search-btn {
    padding: .6rem 1.25rem;
    background: var(--svc-primary);
    color: #fff;
    border: none;
    border-radius: var(--svc-radius);
    font-size: .9rem;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: .4rem;
    transition: background var(--svc-transition);
}

.svc-search-btn:hover { background: var(--svc-primary-dk); }

/* ── Type chooser cards (Training / Consulting) ─────────────── */
.svc-type-chooser {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin: 1.25rem 0;
}

.svc-type-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    border-radius: var(--svc-radius-lg);
    border: 1.5px solid transparent;
    text-decoration: none;
    color: inherit;
    transition: transform var(--svc-transition), box-shadow var(--svc-transition), border-color var(--svc-transition);
    box-shadow: var(--svc-shadow);
}

.svc-type-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--svc-shadow-hover);
    text-decoration: none;
    color: inherit;
}

.svc-type-card--training {
    background: var(--svc-training-bg);
    border-color: var(--svc-training-border);
}

.svc-type-card--consulting {
    background: var(--svc-consulting-bg);
    border-color: var(--svc-consulting-border);
}

.svc-type-card__icon {
    width: 52px;
    height: 52px;
    border-radius: var(--svc-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    flex-shrink: 0;
}

.svc-type-card--training .svc-type-card__icon {
    background: var(--svc-training);
    color: #fff;
}

.svc-type-card--consulting .svc-type-card__icon {
    background: var(--svc-consulting);
    color: #fff;
}

.svc-type-card__body h3 {
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 0 .2rem;
}

.svc-type-card--training .svc-type-card__body h3  { color: var(--svc-training); }
.svc-type-card--consulting .svc-type-card__body h3 { color: var(--svc-consulting); }

.svc-type-card__body p {
    font-size: .82rem;
    color: var(--svc-text-2);
    margin: 0;
    line-height: 1.4;
}

.svc-type-card__arrow {
    margin-inline-start: auto;
    font-size: 1.1rem;
    opacity: .5;
}

/* ── Audience split cards ───────────────────────────────────── */
.svc-audience-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin: 1.25rem 0 2rem;
}

.svc-audience-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    border-radius: var(--svc-radius-lg);
    border: 1.5px solid transparent;
    text-decoration: none;
    color: inherit;
    transition: transform var(--svc-transition), box-shadow var(--svc-transition);
    box-shadow: var(--svc-shadow);
}

.svc-audience-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--svc-shadow-hover);
    color: inherit;
    text-decoration: none;
}

.svc-audience-card--individual {
    background: var(--svc-individual-bg);
    border-color: var(--svc-primary-border);
}

.svc-audience-card--corporate {
    background: var(--svc-corporate-bg);
    border-color: #e8ddb0;
}

.svc-audience-card i {
    font-size: 1.8rem;
}

.svc-audience-card--individual i { color: var(--svc-individual); }
.svc-audience-card--corporate i  { color: var(--svc-corporate); }

.svc-audience-card h3 {
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 .15rem;
}

.svc-audience-card p {
    font-size: .8rem;
    color: var(--svc-text-2);
    margin: 0;
}

/* ── Section headers ────────────────────────────────────────── */
.svc-section         { margin: 2rem 0; }
.svc-section__head   { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.svc-section__title  { font-size: 1.15rem; font-weight: 700; color: var(--svc-text-1); margin: 0; }
.svc-section__title i { color: var(--svc-accent); margin-inline-end: .4rem; }
.svc-section__link   { font-size: .85rem; color: var(--svc-primary); text-decoration: none; font-weight: 600; }
.svc-section__link:hover { text-decoration: underline; }

/* ── Service cards grid ─────────────────────────────────────── */
.svc-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
}

.svc-cards--compact { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }

/* ── Individual service card ────────────────────────────────── */
.svc-card {
    background: var(--svc-surface);
    border: 1px solid var(--svc-border);
    border-radius: var(--svc-radius-lg);
    padding: 1.1rem;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    transition: transform var(--svc-transition), box-shadow var(--svc-transition);
    position: relative;
    overflow: hidden;
    box-shadow: var(--svc-shadow);
}

.svc-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--svc-shadow-hover);
}

.svc-card--featured {
    border-color: var(--svc-accent);
}

.svc-card__featured-ribbon {
    position: absolute;
    top: .6rem;
    inset-inline-end: -.25rem;
    background: var(--svc-accent);
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: .15rem .65rem;
    border-radius: var(--svc-radius-sm) 0 0 var(--svc-radius-sm);
    display: flex;
    align-items: center;
    gap: .25rem;
}

.svc-card__head {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
}

.svc-card__logo-wrap {
    width: 52px;
    height: 52px;
    border-radius: var(--svc-radius-sm);
    background: var(--svc-bg);
    border: 1px solid var(--svc-border);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
}

.svc-card__logo-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.svc-card__logo-icon { font-size: 1.4rem; color: var(--svc-text-3); }

.svc-card__brand { flex: 1; min-width: 0; }

.svc-card__provider {
    font-size: .75rem;
    color: var(--svc-text-2);
    margin: 0 0 .2rem;
    display: flex;
    align-items: center;
    gap: .3rem;
}

.svc-card__title {
    font-size: .95rem;
    font-weight: 700;
    color: var(--svc-text-1);
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Badges ─────────────────────────────────────────────────── */
.svc-card__badges {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.svc-badge {
    font-size: .72rem;
    font-weight: 600;
    padding: .2rem .6rem;
    border-radius: 999px;
    white-space: nowrap;
}

.svc-badge--training    { background: var(--svc-training-bg);    color: var(--svc-training);    border: 1px solid var(--svc-training-border); }
.svc-badge--consulting  { background: var(--svc-consulting-bg);  color: var(--svc-consulting);  border: 1px solid var(--svc-consulting-border); }
.svc-badge--individual  { background: var(--svc-individual-bg);  color: var(--svc-individual);  border: 1px solid var(--svc-primary-border); }
.svc-badge--corporate   { background: var(--svc-corporate-bg);   color: var(--svc-corporate);   border: 1px solid #e8ddb0; }
.svc-badge--online      { background: var(--svc-online-bg);      color: var(--svc-online);      border: 1px solid var(--svc-primary-border); }
.svc-badge--offline     { background: var(--svc-offline-bg);     color: var(--svc-offline);     border: 1px solid #d1d5db; }
.svc-badge--hybrid      { background: var(--svc-hybrid-bg);      color: var(--svc-hybrid);      border: 1px solid var(--svc-primary-border); }

.svc-verified-badge {
    color: var(--svc-primary);
    font-size: .85rem;
}

/* ── Card body (description) ────────────────────────────────── */
.svc-card__body { flex: 1; }
.svc-card__desc {
    font-size: .83rem;
    color: var(--svc-text-2);
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.5;
}

/* ── Card meta (rating + price) ─────────────────────────────── */
.svc-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: .8rem;
    color: var(--svc-text-2);
    border-top: 1px solid var(--svc-border);
    padding-top: .6rem;
}

.svc-card__rating {
    display: flex;
    align-items: center;
    gap: .25rem;
    font-weight: 700;
    color: #f59e0b;
}

.svc-card__rating-count { color: var(--svc-text-3); font-weight: 400; }

.svc-card__price { font-weight: 700; color: var(--svc-text-1); }

/* ── Card footer ────────────────────────────────────────────── */
.svc-card__foot { margin-top: auto; }

/* ── Buttons ────────────────────────────────────────────────── */
.svc-btn {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .5rem 1rem;
    border-radius: var(--svc-radius-sm);
    font-size: .85rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    border: 1.5px solid transparent;
    transition: background var(--svc-transition), color var(--svc-transition), border-color var(--svc-transition), transform var(--svc-transition);
    white-space: nowrap;
}

.svc-btn--primary {
    background: var(--svc-primary);
    color: #fff;
    border-color: var(--svc-primary);
}
.svc-btn--primary:hover {
    background: var(--svc-primary-dk);
    border-color: var(--svc-primary-dk);
    color: #fff;
    text-decoration: none;
}

.svc-btn--outline {
    background: transparent;
    color: var(--svc-primary);
    border-color: var(--svc-primary);
}
.svc-btn--outline:hover {
    background: var(--svc-primary);
    color: #fff;
    text-decoration: none;
}

.svc-btn--ghost {
    background: transparent;
    color: var(--svc-text-2);
    border-color: var(--svc-border);
}
.svc-btn--ghost:hover {
    background: var(--svc-bg);
    color: var(--svc-text-1);
    text-decoration: none;
}

.svc-btn--grow  { flex: 1; justify-content: center; }
.svc-btn--full  { width: 100%; justify-content: center; }
.mt-2 { margin-top: .5rem; }
.mt-3 { margin-top: 1rem; }

/* ── Browse page header ─────────────────────────────────────── */
.svc-browse-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75rem;
    margin-bottom: 1rem;
}

.svc-browse-header__title {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--svc-text-1);
    margin: 0 0 .1rem;
}

.svc-browse-header__sub {
    font-size: .85rem;
    color: var(--svc-text-2);
    margin: 0;
}

/* ── Audience toggle pills ───────────────────────────────────── */
.svc-audience-pills {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: 1.25rem;
}

.svc-pill {
    padding: .35rem .85rem;
    border-radius: 999px;
    font-size: .82rem;
    font-weight: 600;
    border: 1.5px solid var(--svc-border);
    background: var(--svc-surface);
    color: var(--svc-text-2);
    text-decoration: none;
    transition: background var(--svc-transition), color var(--svc-transition), border-color var(--svc-transition);
    display: flex;
    align-items: center;
    gap: .3rem;
}

.svc-pill:hover { text-decoration: none; border-color: var(--svc-primary); color: var(--svc-primary); }
.svc-pill--active { background: var(--svc-primary); color: #fff; border-color: var(--svc-primary); }
.svc-pill--individual { }
.svc-pill--corporate  { }

/* ── Browse layout: sidebar + grid ──────────────────────────── */
.svc-browse-layout {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 1.5rem;
    align-items: start;
}

/* ── Sidebar filters ────────────────────────────────────────── */
.svc-filters {
    background: var(--svc-surface);
    border: 1px solid var(--svc-border);
    border-radius: var(--svc-radius-lg);
    padding: 1.25rem;
    box-shadow: var(--svc-shadow);
    position: sticky;
    top: 1rem;
}

.svc-filter-group {
    margin-bottom: 1.25rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--svc-border);
}

.svc-filter-group:last-of-type { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }

.svc-filter-group__label {
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--svc-text-3);
    margin: 0 0 .6rem;
}

.svc-radio {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .85rem;
    color: var(--svc-text-1);
    padding: .3rem 0;
    cursor: pointer;
}

.svc-radio input[type="radio"] { accent-color: var(--svc-primary); }

.svc-radio--training   span { color: var(--svc-training);    font-weight: 600; }
.svc-radio--consulting span { color: var(--svc-consulting);  font-weight: 600; }
.svc-radio--individual span { color: var(--svc-individual);  font-weight: 600; }
.svc-radio--corporate  span { color: var(--svc-corporate);   font-weight: 600; }

.svc-checkbox {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .85rem;
    cursor: pointer;
}

.svc-checkbox input { accent-color: var(--svc-primary); }

/* ── Results grid ───────────────────────────────────────────── */
.svc-results { min-width: 0; }

/* ── Empty state ────────────────────────────────────────────── */
.svc-empty {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--svc-text-2);
}

.svc-empty__art {
    font-size: 3rem;
    color: var(--svc-text-3);
    margin-bottom: .75rem;
}

/* ── Pagination ─────────────────────────────────────────────── */
.svc-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    margin-top: 1.5rem;
}

.svc-pager__btn {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .5rem 1rem;
    border-radius: var(--svc-radius-sm);
    border: 1.5px solid var(--svc-border);
    background: var(--svc-surface);
    color: var(--svc-text-1);
    font-size: .85rem;
    font-weight: 600;
    text-decoration: none;
    transition: background var(--svc-transition);
}

.svc-pager__btn:hover { background: var(--svc-bg); text-decoration: none; color: var(--svc-text-1); }
.svc-pager__btn--disabled { opacity: .4; pointer-events: none; }
.svc-pager__info { font-size: .85rem; color: var(--svc-text-2); }

/* ── Stars ──────────────────────────────────────────────────── */
.svc-star { font-size: .8rem; color: var(--svc-text-3); }
.svc-star--filled { color: #f59e0b; }

/* ── Detail page layout ─────────────────────────────────────── */
.svc-detail-back { margin-bottom: 1rem; }

.svc-detail-layout {
    display: block;
    max-width: 860px;
    margin-inline: auto;
}

.svc-detail-sidebar {
    margin-top: 1.5rem;
}

/* ── Detail header card ─────────────────────────────────────── */
.svc-detail-header {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    background: var(--svc-surface);
    border: 1px solid var(--svc-border);
    border-radius: var(--svc-radius-lg);
    padding: 1.5rem;
    box-shadow: var(--svc-shadow);
    margin-bottom: 1.25rem;
}

.svc-detail-header__logo-wrap {
    width: 80px;
    height: 80px;
    border-radius: var(--svc-radius);
    border: 1px solid var(--svc-border);
    background: var(--svc-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}

.svc-detail-header__logo-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.svc-detail-header__logo-icon { font-size: 2rem; color: var(--svc-text-3); }
.svc-detail-header__body { flex: 1; }

.svc-detail-header__provider {
    font-size: .8rem;
    color: var(--svc-text-2);
    margin: 0 0 .25rem;
    display: flex;
    align-items: center;
    gap: .3rem;
}

.svc-detail-header__title {
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--svc-text-1);
    margin: 0;
    line-height: 1.3;
}

.svc-detail-header__rating {
    display: flex;
    align-items: center;
    gap: .35rem;
    font-size: .85rem;
}

/* ── Detail sections ────────────────────────────────────────── */
.svc-detail-section {
    background: var(--svc-surface);
    border: 1px solid var(--svc-border);
    border-radius: var(--svc-radius-lg);
    padding: 1.25rem 1.5rem;
    box-shadow: var(--svc-shadow);
    margin-bottom: 1.25rem;
}

.svc-detail-section__title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--svc-text-1);
    margin: 0 0 .75rem;
}

.svc-detail-desc {
    font-size: .9rem;
    color: var(--svc-text-1);
    line-height: 1.7;
    margin: 0;
}

/* ── Tags ───────────────────────────────────────────────────── */
.svc-detail-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-bottom: 1.25rem;
}

.svc-tag {
    padding: .25rem .75rem;
    border-radius: 999px;
    background: var(--svc-bg);
    border: 1px solid var(--svc-border);
    font-size: .78rem;
    color: var(--svc-text-2);
}

/* ── Provider card in detail ────────────────────────────────── */
.svc-provider-card {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.svc-provider-card__logo {
    width: 56px;
    height: 56px;
    border-radius: var(--svc-radius-sm);
    object-fit: cover;
    flex-shrink: 0;
    border: 1px solid var(--svc-border);
}

.svc-provider-card__name {
    font-weight: 700;
    font-size: .95rem;
    margin: 0 0 .25rem;
    color: var(--svc-text-1);
}

.svc-provider-card__bio {
    font-size: .83rem;
    color: var(--svc-text-2);
    margin: 0 0 .4rem;
}

.svc-provider-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    font-size: .8rem;
    color: var(--svc-text-2);
}

.svc-provider-card__meta a {
    color: var(--svc-primary);
    text-decoration: none;
}

.svc-provider-card__meta a:hover { text-decoration: underline; }

/* ── Sidebar: packages ──────────────────────────────────────── */
.svc-packages {
    background: var(--svc-surface);
    border: 1px solid var(--svc-border);
    border-radius: var(--svc-radius-lg);
    padding: 1.25rem;
    box-shadow: var(--svc-shadow);
    margin-bottom: 1.25rem;
}

.svc-packages__title {
    font-size: .95rem;
    font-weight: 700;
    margin: 0 0 .85rem;
    color: var(--svc-text-1);
}

.svc-package {
    border: 1.5px solid var(--svc-border);
    border-radius: var(--svc-radius);
    padding: .85rem 1rem;
    margin-bottom: .65rem;
    position: relative;
    transition: border-color var(--svc-transition);
}

.svc-package:last-child { margin-bottom: 0; }

.svc-package--popular {
    border-color: var(--svc-primary);
    background: linear-gradient(135deg, rgba(32,154,162,.06), transparent);
}

.svc-package__popular-badge {
    position: absolute;
    top: -.55rem;
    inset-inline-start: 1rem;
    background: var(--svc-primary);
    color: #fff;
    font-size: .68rem;
    font-weight: 700;
    padding: .12rem .55rem;
    border-radius: 999px;
}

.svc-package__name  { font-size: .9rem; font-weight: 700; margin: 0 0 .25rem; color: var(--svc-text-1); }
.svc-package__price { font-size: 1.05rem; font-weight: 800; margin: 0 0 .3rem; color: var(--svc-primary); }
.svc-package__price--request { color: var(--svc-text-2); font-size: .85rem; }
.svc-package__desc  { font-size: .8rem; color: var(--svc-text-2); margin: 0 0 .4rem; }

.svc-package__features {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: .8rem;
    color: var(--svc-text-1);
}

.svc-package__features li {
    display: flex;
    align-items: flex-start;
    gap: .4rem;
    padding: .15rem 0;
}

.svc-package__features li i { color: var(--svc-primary); margin-top: .15rem; flex-shrink: 0; }

/* ── Sidebar: request form ──────────────────────────────────── */
.svc-request-card {
    background: var(--svc-surface);
    border: 1.5px solid var(--svc-primary);
    border-radius: var(--svc-radius-lg);
    padding: 1.25rem;
    box-shadow: 0 2px 16px rgba(32,131,137,.1);
}

.svc-request-card__title {
    font-size: .95rem;
    font-weight: 700;
    margin: 0 0 1rem;
    color: var(--svc-primary);
    display: flex;
    align-items: center;
    gap: .4rem;
}

.svc-form-field { margin-bottom: .75rem; }

.svc-form-field label {
    display: block;
    font-size: .8rem;
    font-weight: 600;
    color: var(--svc-text-1);
    margin-bottom: .3rem;
}

/* ── Admin form card ────────────────────────────────────────── */
.admin-form-card {
    background: var(--svc-surface);
    border: 1px solid var(--svc-border);
    border-radius: var(--svc-radius-lg);
    padding: 1.75rem;
    box-shadow: var(--svc-shadow);
}

/* ── Browse header icon & query ─────────────────────────────── */
.svc-browse-header__icon {
    font-size: 1rem;
    margin-inline-end: .4rem;
    opacity: .75;
}
.svc-browse-header__icon--training   { color: var(--svc-training); }
.svc-browse-header__icon--consulting { color: var(--svc-consulting); }
.svc-browse-header__query { color: var(--svc-primary); }

/* ── Filter sidebar audience radios ─────────────────────────── */
.svc-radio--individual span { color: var(--svc-individual); }
.svc-radio--corporate  span { color: var(--svc-corporate); }

/* ── Filter action buttons group ────────────────────────────── */
.svc-filter-actions { display: flex; flex-direction: column; gap: .5rem; margin-top: 1rem; }

/* ── Redesigned service card ─────────────────────────────────── */
.svc-card__logo {
    width: 48px;
    height: 48px;
    border-radius: var(--svc-radius-sm);
    background: var(--svc-bg);
    border: 1px solid var(--svc-border);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
    font-size: 1.3rem;
    color: var(--svc-text-3);
}
.svc-card__logo img { width: 100%; height: 100%; object-fit: cover; }

.svc-card__provider-info { flex: 1; min-width: 0; }

.svc-card__provider-name {
    font-size: .75rem;
    color: var(--svc-text-2);
    margin: 0 0 .2rem;
    display: flex;
    align-items: center;
    gap: .3rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.svc-card__ribbon {
    position: absolute;
    top: .65rem;
    inset-inline-end: -.2rem;
    background: var(--svc-accent);
    color: #fff;
    font-size: .68rem;
    font-weight: 700;
    padding: .15rem .7rem;
    border-radius: var(--svc-radius-sm) 0 0 var(--svc-radius-sm);
    display: flex;
    align-items: center;
    gap: .25rem;
    letter-spacing: .02em;
}

.svc-card__price--free { color: var(--svc-individual); }

/* ── Verified icon ───────────────────────────────────────────── */
.svc-verified { color: var(--svc-primary); font-size: .85rem; }

/* ── Browse all CTA banner ───────────────────────────────────── */
.svc-browse-cta {
    margin: 2rem 0;
    display: flex;
    justify-content: center;
}

.svc-browse-cta__btn {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    padding: .85rem 2rem;
    background: var(--svc-surface);
    border: 1.5px solid var(--svc-primary);
    border-radius: var(--svc-radius-lg);
    color: var(--svc-primary);
    font-size: .95rem;
    font-weight: 700;
    text-decoration: none;
    box-shadow: var(--svc-shadow);
    transition: background var(--svc-transition), color var(--svc-transition), transform var(--svc-transition), box-shadow var(--svc-transition);
}

.svc-browse-cta__btn:hover {
    background: var(--svc-primary);
    color: #fff;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: var(--svc-shadow-hover);
}

.svc-browse-cta__arrow { margin-inline-start: auto; opacity: .7; }

/* ── Detail hero card (replaces detail-header) ───────────────── */
.svc-detail-hero {
    display: flex;
    gap: 1.25rem;
    align-items: flex-start;
    background: var(--svc-surface);
    border: 1px solid var(--svc-border);
    border-radius: var(--svc-radius-lg);
    padding: 1.5rem;
    box-shadow: var(--svc-shadow);
    margin-bottom: 1.25rem;
}

.svc-detail-hero__logo {
    width: 80px;
    height: 80px;
    border-radius: var(--svc-radius);
    border: 1px solid var(--svc-border);
    background: var(--svc-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
    font-size: 2rem;
    color: var(--svc-text-3);
}
.svc-detail-hero__logo img { width: 100%; height: 100%; object-fit: cover; }

.svc-detail-hero__body { flex: 1; }

.svc-detail-hero__provider {
    font-size: .8rem;
    color: var(--svc-text-2);
    margin: 0 0 .3rem;
    display: flex;
    align-items: center;
    gap: .3rem;
}

.svc-detail-hero__title {
    font-size: 1.45rem;
    font-weight: 800;
    color: var(--svc-text-1);
    margin: 0 0 .4rem;
    line-height: 1.3;
}

.svc-detail-hero__rating {
    display: flex;
    align-items: center;
    gap: .4rem;
    margin-top: .5rem;
    font-size: .85rem;
}

.svc-detail-hero__rating-val   { font-weight: 800; color: #f59e0b; }
.svc-detail-hero__rating-count { color: var(--svc-text-2); }

/* ── Stars row ───────────────────────────────────────────────── */
.svc-stars { display: flex; gap: .1rem; }
.svc-stars i { font-size: .85rem; color: var(--svc-text-3); }
.svc-stars .svc-star--filled { color: #f59e0b; }

/* ── Detail section titles with icons ───────────────────────── */
.svc-detail-section__title i {
    color: var(--svc-primary);
    margin-inline-end: .4rem;
}

/* ── Package popular badge (new class) ──────────────────────── */
.svc-package__badge {
    position: absolute;
    top: -.55rem;
    inset-inline-start: 1rem;
    background: var(--svc-primary);
    color: #fff;
    font-size: .68rem;
    font-weight: 700;
    padding: .12rem .6rem;
    border-radius: 999px;
    display: flex;
    align-items: center;
    gap: .25rem;
}

.svc-package__currency {
    font-size: .8rem;
    font-weight: 500;
    color: var(--svc-text-2);
    margin-inline-start: .2rem;
}

/* ── Form inputs (detail page) ───────────────────────────────── */
.svc-input {
    width: 100%;
    padding: .55rem .85rem;
    border: 1.5px solid var(--svc-border);
    border-radius: var(--svc-radius-sm);
    background: var(--svc-bg);
    color: var(--svc-text-1);
    font-size: .88rem;
    transition: border-color var(--svc-transition);
    outline: none;
    font-family: inherit;
}

.svc-input:focus { border-color: var(--svc-primary); }

.svc-textarea { resize: vertical; min-height: 80px; }

.svc-required { color: #ef4444; font-size: .8rem; }

.svc-request-form { display: flex; flex-direction: column; }

/* ── Tag icon ────────────────────────────────────────────────── */
.svc-tag i { font-size: .7rem; margin-inline-end: .15rem; color: var(--svc-text-3); }

/* ── Admin form card ────────────────────────────────────────── */

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 900px) {
    .svc-browse-layout        { grid-template-columns: 1fr; }
    .svc-filters              { position: static; }
    /* svc-detail-layout is already single-column */
    .svc-type-chooser         { grid-template-columns: 1fr; }
    .svc-detail-hero          { flex-direction: column; }
    .svc-detail-hero__logo    { width: 64px; height: 64px; }
}

@media (max-width: 600px) {
    .svc-cards                { grid-template-columns: 1fr; }
    .svc-search-form          { flex-direction: column; }
    .svc-search-btn           { width: 100%; justify-content: center; }
    .svc-browse-cta__btn      { width: 100%; justify-content: center; }
    .svc-detail-hero__title   { font-size: 1.2rem; }
}

/* ── Browse page layout ─────────────────────────────────────── */
.svc-browse-page { padding: 2rem 0; }

/* Sidebar filter form */
.svc-filter-form {
    background: var(--svc-card-bg, #fff);
    border: 1px solid var(--svc-card-border, rgba(0,0,0,.07));
    border-radius: 16px;
    padding: 1.25rem 1rem;
    position: sticky;
    top: 80px;
}

.svc-filter-label {
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--bs-secondary);
    margin: 0 0 .5rem;
}

.svc-filter-group {
    padding-bottom: .85rem;
    margin-bottom: .85rem;
    border-bottom: 1px solid rgba(0,0,0,.06);
}
.svc-filter-group:last-of-type { border-bottom: none; margin-bottom: 0; }

.svc-filter-search {
    position: relative;
}
.svc-filter-search .bi {
    position: absolute;
    inset-inline-start: .65rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--bs-secondary);
    font-size: .85rem;
    pointer-events: none;
}
.svc-filter-search .form-control {
    padding-inline-start: 2rem;
    border-radius: 10px;
    font-size: .88rem;
}

.svc-filter-radio {
    display: flex;
    align-items: center;
    gap: .45rem;
    padding: .35rem .55rem;
    border-radius: 8px;
    cursor: pointer;
    font-size: .88rem;
    transition: background .15s;
}
.svc-filter-radio input[type="radio"] { display: none; }
.svc-filter-radio:hover { background: rgba(0,0,0,.04); }
.svc-filter-radio.active,
.svc-filter-radio:has(input:checked) {
    background: rgba(var(--svc-primary-rgb, 20,184,166), .1);
    color: var(--svc-primary, #14b8a6);
    font-weight: 600;
}

.svc-filter-check {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .88rem;
    cursor: pointer;
}

.svc-filter-apply {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    padding: .55rem 1rem;
    border-radius: 10px;
    border: none;
    background: var(--svc-primary, #14b8a6);
    color: #fff;
    font-size: .9rem;
    font-weight: 600;
    cursor: pointer;
    transition: opacity .15s;
    margin-top: .5rem;
}
.svc-filter-apply:hover { opacity: .88; }

.svc-filter-clear {
    font-size: .82rem;
    color: var(--bs-secondary);
    text-decoration: none;
}
.svc-filter-clear:hover { color: var(--bs-danger); }

/* Result header */
.svc-browse-header { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.svc-back-link {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-size: .85rem;
    color: var(--bs-secondary);
    text-decoration: none;
}
.svc-back-link:hover { color: var(--svc-primary, #14b8a6); }

.svc-result-count {
    font-size: .88rem;
    color: var(--bs-secondary);
}
.svc-result-count strong { color: var(--bs-body-color); }

/* Empty state */
.svc-empty {
    text-align: center;
    padding: 4rem 1rem;
    color: var(--bs-secondary);
}
.svc-empty .bi { font-size: 3rem; display: block; margin-bottom: 1rem; opacity: .4; }

/* Website globe icon on card footer */
.svc-card__website-link {
    color: var(--bs-secondary);
    font-size: 1rem;
    text-decoration: none;
    transition: color .15s;
}
.svc-card__website-link:hover { color: var(--svc-primary, #14b8a6); }
