﻿/* ===== ExpertGo | Client Provider Details ===== */

.page-provider-details {
    --eg-border: var(--bs-border-color-translucent);
    --eg-radius: 16px;
    --eg-radius-sm: 12px;
    --eg-shadow-sm: var(--shadow-sm, 0 .125rem .25rem rgba(0, 0, 0, .08));
    --eg-shadow-md: var(--shadow-md, 0 .5rem 1.25rem rgba(0, 0, 0, .12));
}

    /* Background on the page surface */
    .page-provider-details .app-surface {
        background: radial-gradient(1100px 520px at 50% -120px, color-mix(in oklab, var(--brand-blue) 10%, transparent) 0%, transparent 62%);
    }

html[data-theme="dark"] .page-provider-details .app-surface {
    background: radial-gradient(1100px 520px at 50% -120px, rgba(0, 159, 227, .14) 0%, rgba(0, 17, 31, 0) 58%, rgba(0, 0, 0, .25) 100%);
}

/* Utility: avoids title overflow in flex rows */
.min-w-0 {
    min-width: 0 !important;
}

/* Cards */
.page-provider-details .card {
    background: var(--surface);
    color: var(--text-primary);
    border: 1px solid var(--eg-border);
    border-radius: var(--eg-radius);
}

    .page-provider-details .card.shadow-sm {
        box-shadow: var(--eg-shadow-sm);
    }

/* ===== Hero ===== */
.page-provider-details .eg-hero {
    overflow: hidden;
}

    .page-provider-details .eg-hero .card-body {
        padding: 1.1rem;
    }

@media (min-width: 992px) {
    .page-provider-details .eg-hero .card-body {
        padding: 1.25rem;
    }
}

.page-provider-details .eg-title {
    text-transform: uppercase;
    letter-spacing: .1px;
    line-height: 1.18;
    font-weight: 760;
}

.page-provider-details .eg-hero-actions {
    gap: .55rem;
}

    .page-provider-details .eg-hero-actions .btn {
        border-radius: var(--eg-radius-sm);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: .45rem;
    }

        .page-provider-details .eg-hero-actions .btn i,
        .page-provider-details .eg-hero-actions .btn > i {
            line-height: 1;
        }

@media (max-width: 575.98px) {
    .page-provider-details .eg-hero-actions .btn {
        padding-left: .75rem;
        padding-right: .75rem;
        min-height: 44px;
        min-width: 44px;
        text-align: center;
    }
}

/* Hero corner badge */
.page-provider-details .eg-hero-corner {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-top: -.35rem;
    margin-right: -.35rem;
    margin-bottom: .45rem;
}

@media (max-width: 575.98px) {
    .page-provider-details .eg-hero-corner {
        justify-content: flex-end;
    }
}

.page-provider-details .eg-hero-status-badge {
    border-radius: 999px;
    padding: .35rem .55rem;
    font-size: .78rem;
    border: 1px solid rgba(255, 255, 255, .18);
    box-shadow: 0 10px 26px rgba(0, 0, 0, .12);
}

html[data-theme="dark"] .page-provider-details .eg-hero-status-badge {
    box-shadow: 0 14px 34px rgba(0, 0, 0, .35);
}

/* Provider avatar */
.page-provider-details .eg-provider-avatar {
    width: 72px;
    height: 72px;
    border-radius: var(--eg-radius);
    overflow: hidden;
    position: relative;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in oklab, var(--surface) 72%, var(--brand-cream) 28%);
    border: 1px solid var(--eg-border);
    box-shadow: 0 6px 16px rgba(15, 23, 42, .08);
}

@media (max-width: 575.98px) {
    .page-provider-details .eg-provider-avatar {
        width: 64px;
        height: 64px;
    }
}

html[data-theme="dark"] .page-provider-details .eg-provider-avatar {
    background: color-mix(in oklab, var(--surface) 85%, var(--brand-blue-deep) 15%);
    box-shadow: 0 10px 22px rgba(0, 0, 0, .35);
}

.page-provider-details .eg-provider-avatar .eg-avatar-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity .14s ease;
}

.page-provider-details .eg-provider-avatar .eg-avatar-initial {
    font-weight: 900;
    font-size: 1.6rem;
    color: color-mix(in oklab, var(--text-secondary) 85%, var(--brand-navy) 15%);
    opacity: 1;
    transition: opacity .14s ease;
}

@media (max-width: 575.98px) {
    .page-provider-details .eg-provider-avatar .eg-avatar-initial {
        font-size: 1.25rem;
    }
}

.page-provider-details .eg-provider-avatar.eg-has-img .eg-avatar-img {
    opacity: 1;
}

.page-provider-details .eg-provider-avatar.eg-has-img .eg-avatar-initial {
    opacity: 0;
}

/* Mobile: meta sub avatar */
.page-provider-details .eg-hero-meta-mobile {
    padding-top: .15rem;
}

@media (max-width: 575.98px) {
    .page-provider-details .eg-hero-meta-mobile .btn.eg-link-muted {
        font-size: .85rem;
    }
}

/* Meta chips */
.page-provider-details .eg-meta-chip,
.page-provider-details .eg-rating-chip {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .35rem .6rem;
    border-radius: 999px;
    font-weight: 650;
    font-size: .9rem;
    border: 1px solid var(--eg-border);
    background: color-mix(in oklab, var(--surface-alt) 78%, transparent);
    color: var(--text-secondary);
}

html[data-theme="dark"] .page-provider-details .eg-meta-chip,
html[data-theme="dark"] .page-provider-details .eg-rating-chip {
    background: color-mix(in oklab, var(--surface-alt) 70%, #000 30%);
    color: var(--text-secondary);
}

.page-provider-details .eg-rating-chip {
    color: var(--text-primary);
}

    .page-provider-details .eg-rating-chip .bi {
        color: #f59e0b;
    }

/* Muted link used for "recenzii" in hero */
.page-provider-details .eg-link-muted {
    color: var(--text-muted);
    text-decoration: none;
    font-weight: 650;
}

    .page-provider-details .eg-link-muted:hover {
        color: var(--brand-primary);
        text-decoration: underline;
    }

/* Call chip */
.page-provider-details .eg-call-chip {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .35rem .6rem;
    border-radius: 999px;
    font-weight: 800;
    font-size: .9rem;
    text-decoration: none;
    border: 1px solid color-mix(in oklab, var(--brand-primary) 28%, var(--eg-border) 72%);
    background: color-mix(in oklab, var(--brand-primary) 10%, var(--surface) 90%);
    color: var(--brand-primary);
    transition: transform .12s ease, filter .12s ease, background-color .12s ease, border-color .12s ease;
}

    .page-provider-details .eg-call-chip:hover {
        transform: translateY(-1px);
        border-color: color-mix(in oklab, var(--brand-primary) 45%, var(--eg-border) 55%);
        filter: brightness(1.02);
        text-decoration: none;
    }

    .page-provider-details .eg-call-chip:focus-visible {
        outline: 2px solid color-mix(in oklab, var(--brand-primary) 65%, transparent);
        outline-offset: 2px;
    }

html[data-theme="dark"] .page-provider-details .eg-call-chip {
    background: color-mix(in oklab, var(--brand-primary) 14%, var(--surface-alt) 86%);
}

/* ===== Tabs ===== */
.page-provider-details .eg-tabs {
    gap: .5rem;
    flex-wrap: wrap;
}

    .page-provider-details .eg-tabs .nav-link {
        border-radius: 999px;
        padding: .45rem .6rem;
        font-weight: 750;
        border: 1px solid var(--eg-border);
        background: color-mix(in oklab, var(--surface) 86%, var(--surface-alt) 14%);
        color: var(--text-secondary);
        white-space: nowrap;
    }

        .page-provider-details .eg-tabs .nav-link:hover {
            color: var(--text-primary);
            border-color: color-mix(in oklab, var(--brand-primary) 35%, var(--eg-border) 65%);
        }

        .page-provider-details .eg-tabs .nav-link.active {
            background: var(--brand-primary);
            border-color: var(--brand-primary);
            color: #fff;
        }

html[data-theme="dark"] .page-provider-details .eg-tabs .nav-link {
    background: color-mix(in oklab, var(--surface-alt) 60%, #000 40%);
}

/* ===== Services layout ===== */
.page-provider-details .eg-main-layout {
    align-items: start;
    margin-top: .15rem;
}

.page-provider-details .eg-svc-domain > header h2,
.page-provider-details .eg-svc-group > header h3 {
    color: var(--text-primary);
}

.page-provider-details .eg-svc-domain > header span,
.page-provider-details .eg-svc-group > header span {
    color: var(--text-muted) !important;
}

/* Service card */
.page-provider-details .eg-svc-card {
    border: 1px solid var(--eg-border);
    border-radius: var(--eg-radius);
    overflow: hidden;
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

    .page-provider-details .eg-svc-card .btn {
        min-height: 36px;
    }

    .page-provider-details .eg-svc-card .card-body {
        padding: 1rem 1.1rem 1.1rem;
    }

    .page-provider-details .eg-svc-card:hover {
        transform: translateY(-2px);
        border-color: color-mix(in oklab, var(--brand-primary) 30%, var(--eg-border) 70%);
        box-shadow: var(--eg-shadow-md);
    }

html[data-theme="dark"] .page-provider-details .eg-svc-card:hover {
    box-shadow: 0 18px 42px rgba(0, 0, 0, .45);
}

.page-provider-details .eg-svc-title {
    color: var(--text-primary);
    line-height: 1.2;
    font-weight: 700;
}

.page-provider-details .eg-subtle {
    color: var(--text-muted);
}

.page-provider-details .eg-svc-meta {
    color: var(--text-muted);
}

/* Thumbnail */
.page-provider-details .eg-thumb-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 14px;
    overflow: hidden;
    background: color-mix(in oklab, var(--surface-alt) 75%, transparent);
    border: 1px solid var(--eg-border);
}

    .page-provider-details .eg-thumb-wrap img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

.page-provider-details .eg-svc-placeholder {
    opacity: .95;
    filter: grayscale(.1);
}

html[data-theme="dark"] .page-provider-details .eg-thumb-wrap {
    background: color-mix(in oklab, var(--surface-alt) 60%, #000 40%);
}

    html[data-theme="dark"] .page-provider-details .eg-thumb-wrap .eg-svc-placeholder {
        opacity: .75;
        filter: brightness(0.75);
    }

/* ===== Cover swipe + nav buttons (service card cover) ===== */
.page-provider-details .eg-thumb-wrap {
    position: relative;
}

    .page-provider-details .eg-thumb-wrap.eg-cover-loading::after {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(0,0,0,.18);
        backdrop-filter: blur(1px);
    }

.page-provider-details .eg-cover-img {
    transition: opacity .12s ease;
}

.page-provider-details .eg-thumb-wrap.eg-cover-loading .eg-cover-img {
    opacity: .65;
}

.page-provider-details .eg-cover-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 4;
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(0, 0, 0, .55);
    color: #fff;
    backdrop-filter: blur(2px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .14s ease, transform .14s ease, filter .14s ease;
}

.page-provider-details .eg-cover-nav-prev {
    left: .55rem;
}

.page-provider-details .eg-cover-nav-next {
    right: .55rem;
}

.page-provider-details .eg-thumb-wrap:hover .eg-cover-nav-btn {
    opacity: 1;
    pointer-events: auto;
    filter: brightness(1.02);
}

@media (hover: none) {
    .page-provider-details .eg-cover-nav-btn {
        opacity: 1;
        pointer-events: auto;
    }
}

.page-provider-details .eg-cover-nav-btn:active {
    transform: translateY(-50%) scale(.98);
}

.page-provider-details .eg-cover-nav-btn:focus-visible {
    outline: 2px solid color-mix(in oklab, var(--brand-primary) 65%, transparent);
    outline-offset: 2px;
}


/* Cover badge */
.page-provider-details .eg-cover-badge {
    position: absolute;
    right: .5rem;
    top: .5rem;
    border-radius: 999px;
    padding: .35rem .55rem;
    background: rgba(0, 31, 54, .78) !important;
    border: 1px solid rgba(255, 255, 255, .18);
    z-index: 3;
}

html[data-theme="dark"] .page-provider-details .eg-cover-badge {
    background: rgba(0, 0, 0, .55) !important;
}

/* Variants (grouped by specialization, first open by default) */
.page-provider-details .eg-variants {
    border-top: 1px dashed var(--eg-border);
    padding-top: .6rem;
}

.page-provider-details .eg-variants-group {
    border: 1px solid var(--eg-border);
    border-radius: var(--eg-radius-sm);
    background: color-mix(in oklab, var(--surface) 92%, var(--surface-alt) 8%);
    padding: .55rem .65rem;
}

html[data-theme="dark"] .page-provider-details .eg-variants-group {
    background: color-mix(in oklab, var(--surface-alt) 65%, #000 35%);
}

.page-provider-details .eg-variants-group + .eg-variants-group {
    margin-top: .5rem;
}

.page-provider-details .eg-variants-summary {
    cursor: pointer;
    font-weight: 800;
    color: var(--text-primary);
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.page-provider-details details.eg-variants-group > summary::-webkit-details-marker {
    display: none;
}

.page-provider-details .eg-variants-title {
    font-size: 16px;
    min-width: 0;
}

.page-provider-details .eg-variants-right {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    flex: 0 0 auto;
    color: var(--text-muted);
    white-space: nowrap;
}

.page-provider-details .eg-variants-count {
    font-weight: 750;
}

.page-provider-details .eg-variants-chevron {
    transition: transform .14s ease;
    opacity: .9;
}

.page-provider-details details.eg-variants-group[open] .eg-variants-chevron {
    transform: rotate(180deg);
}

.page-provider-details .eg-variants-body {
    margin-top: .55rem;
}

/* Base row */
.page-provider-details .eg-variant-row {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    padding: .25rem 0;
    border-top: 1px solid color-mix(in oklab, var(--eg-border) 70%, transparent 30%);
}

    .page-provider-details .eg-variant-row:first-child {
        border-top: 0;
    }

/* Gallery thumbs */
.page-provider-details .eg-svc-scroll {
    display: flex;
    gap: .5rem;
    overflow-x: auto;
    padding-bottom: .25rem;
    scroll-snap-type: x mandatory;
}

.page-provider-details .eg-svc-thumb {
    flex: 0 0 120px;
    height: 80px;
    border-radius: var(--eg-radius-sm);
    overflow: hidden;
    position: relative;
    scroll-snap-align: start;
    background: color-mix(in oklab, var(--surface-alt) 78%, transparent);
    border: 1px solid var(--eg-border);
    cursor: pointer;
}

    .page-provider-details .eg-svc-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .page-provider-details .eg-svc-thumb:focus-visible {
        outline: 2px solid color-mix(in oklab, var(--brand-primary) 65%, transparent);
        outline-offset: 2px;
    }

.page-provider-details .eg-thumb-more {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 860;
    font-size: 1.05rem;
    color: #fff;
    background: rgba(0, 0, 0, .45);
    backdrop-filter: blur(2px);
}

@media (min-width: 768px) {
    .page-provider-details .eg-svc-thumb {
        flex-basis: 140px;
        height: 96px;
    }
}

/* ===== About / Contact ===== */
.page-provider-details .eg-about-header .eg-about-icon,
.page-provider-details .eg-contact-header .eg-contact-icon {
    color: var(--brand-primary);
    font-size: 1.1rem;
}

.page-provider-details .eg-description {
    font-size: .95rem;
    line-height: 1.6;
    color: var(--text-primary);
    white-space: pre-line;
}

.page-provider-details .eg-contact-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: .75rem;
}

@media (min-width: 768px) {
    .page-provider-details .eg-contact-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.page-provider-details .eg-contact-item {
    padding: .75rem;
    border-radius: 14px;
    border: 1px solid var(--eg-border);
    background: color-mix(in oklab, var(--surface-alt) 74%, transparent);
}

html[data-theme="dark"] .page-provider-details .eg-contact-item {
    background: color-mix(in oklab, var(--surface-alt) 70%, #000 30%);
}

.page-provider-details .eg-contact-label {
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 800;
    color: var(--text-primary);
    margin-bottom: .15rem;
}

.page-provider-details .eg-contact-value a {
    color: var(--brand-primary);
    text-decoration: none;
    font-weight: 700;
}

    .page-provider-details .eg-contact-value a:hover {
        text-decoration: underline;
        color: var(--brand-primary-hover);
    }

/* Empty state */
.page-provider-details .eg-empty {
    background: color-mix(in oklab, var(--surface-alt) 80%, transparent);
    border: 1px solid var(--eg-border);
    color: var(--text-secondary);
    border-radius: var(--eg-radius);
    padding: 1rem;
}

/* ===== Reviews ===== */
.page-provider-details .eg-reviews-summary {
    border-radius: var(--eg-radius);
    padding: 1rem 1.1rem;
    background: linear-gradient( 135deg, color-mix(in oklab, var(--surface-alt) 80%, #fff 20%), color-mix(in oklab, var(--surface) 80%, #fff 20%) );
    border: 1px solid var(--eg-border);
}

html[data-theme="dark"] .page-provider-details .eg-reviews-summary {
    background: radial-gradient( circle at top left, color-mix(in oklab, var(--surface-alt) 70%, #000 30%), color-mix(in oklab, var(--surface) 80%, #000 20%) );
}

.page-provider-details .eg-reviews-score {
    min-width: 120px;
}

.page-provider-details .eg-reviews-score-main {
    font-size: 2.3rem;
    font-weight: 880;
    line-height: 1;
    color: var(--text-primary);
}

.page-provider-details .eg-reviews-score-stars {
    margin-top: .25rem;
    margin-bottom: .15rem;
    font-size: 1rem;
}

    .page-provider-details .eg-reviews-score-stars i {
        margin-right: 2px;
        vertical-align: middle;
        color: #f59e0b;
    }

.page-provider-details .eg-reviews-bars {
    max-width: 420px;
}

.page-provider-details .eg-reviews-bar-row {
    font-size: .8rem;
}

.page-provider-details .eg-reviews-bar-label {
    width: 24px;
    text-align: right;
    color: var(--text-muted);
}

.page-provider-details .eg-reviews-bar-track {
    height: 8px;
    border-radius: 999px;
    background: color-mix(in oklab, var(--surface-alt) 82%, transparent);
    overflow: hidden;
    border: 1px solid var(--eg-border);
}

html[data-theme="dark"] .page-provider-details .eg-reviews-bar-track {
    background: color-mix(in oklab, var(--surface-alt) 60%, #000 40%);
}

.page-provider-details .eg-reviews-bar-fill {
    height: 100%;
    border-radius: 999px;
    background: var(--brand-primary);
    transition: width .2s ease-out;
}

.page-provider-details .eg-reviews-bar-count {
    width: 32px;
    text-align: right;
    color: var(--text-muted);
}

/* Review form */
.page-provider-details .eg-review-form {
    padding: 1rem;
    border-radius: var(--eg-radius);
    background: color-mix(in oklab, var(--surface-alt) 78%, transparent);
    border: 1px solid var(--eg-border);
    margin-bottom: 1rem;
}

html[data-theme="dark"] .page-provider-details .eg-review-form {
    background: color-mix(in oklab, var(--surface-alt) 65%, #000 35%);
}

.page-provider-details .eg-stars .eg-star {
    min-width: 46px;
}

.page-provider-details .eg-stars input:focus + .eg-star {
    outline: 2px solid var(--brand-primary);
    outline-offset: 2px;
}

.page-provider-details #pane-reviews .list-group-item,
.page-provider-details .eg-reviews-list .list-group-item {
    background: transparent;
    color: var(--text-primary);
    border-color: var(--eg-border);
}

.page-provider-details .eg-review-item {
    padding: 1rem;
}

.page-provider-details .eg-review-text {
    color: var(--text-primary);
}

.page-provider-details .eg-reply {
    background: color-mix(in oklab, var(--surface-alt) 78%, transparent);
    border: 1px solid var(--eg-border);
    border-radius: var(--eg-radius);
}

html[data-theme="dark"] .page-provider-details .eg-reply {
    background: color-mix(in oklab, var(--surface-alt) 60%, #000 40%);
}

/* Report button */
.page-provider-details .eg-btn-report {
    border-radius: var(--eg-radius-sm);
    font-weight: 750;
    border: 1px solid color-mix(in oklab, var(--eg-border) 70%, var(--brand-primary) 30%);
    background: color-mix(in oklab, var(--surface) 92%, var(--brand-primary) 8%);
    color: var(--text-primary);
}

    .page-provider-details .eg-btn-report:hover {
        background: color-mix(in oklab, var(--surface) 86%, var(--brand-primary) 14%);
    }

html[data-theme="dark"] .page-provider-details .eg-btn-report {
    background: rgba(178, 24, 24, .14);
    border-color: rgba(178, 24, 24, .35);
}

/* Modal theme safe */
.page-provider-details .modal-content {
    background: var(--surface);
    color: var(--text-primary);
    border: 1px solid var(--eg-border);
}

.page-provider-details .modal-header,
.page-provider-details .modal-footer {
    border-color: var(--eg-border);
}

/* ===== Booking widget ===== */
.page-provider-details .eg-booking {
    border-radius: var(--eg-radius);
    border: 1px solid var(--eg-border);
}

    .page-provider-details .eg-booking .card-header {
        background: transparent;
        border-bottom: 1px solid var(--eg-border);
    }

.page-provider-details .eg-contact-side {
    border-radius: var(--eg-radius);
    border: 1px solid var(--eg-border);
}

@media (min-width: 992px) {
    .page-provider-details .eg-booking,
    .page-provider-details .eg-contact-side:first-of-type {
        position: sticky;
        top: 80px;
    }
}

/* Booking hint badge */
.page-provider-details .eg-bk-hint {
    border: 1px solid transparent;
    font-size: .8rem;
    color: var(--text-primary);
    background: color-mix(in oklab, var(--brand-primary) 10%, var(--surface) 90%);
    border-color: color-mix(in oklab, var(--brand-primary) 25%, var(--eg-border) 75%) !important;
}

html[data-theme="dark"] .page-provider-details .eg-bk-hint {
    background: color-mix(in oklab, var(--surface-alt) 70%, #000 30%);
    border-color: color-mix(in oklab, var(--brand-primary) 35%, var(--eg-border) 65%) !important;
    color: color-mix(in oklab, var(--text-primary) 85%, #fff 15%);
}

/* Calendar */
.page-provider-details .eg-bk-calendar {
    margin-top: .35rem;
    border-radius: 14px;
    padding: .6rem .7rem .7rem;
    background: color-mix(in oklab, var(--surface) 88%, var(--surface-alt) 12%);
    border: 1px solid var(--eg-border);
    font-size: .8rem;
    position: relative;
}

html[data-theme="dark"] .page-provider-details .eg-bk-calendar {
    background: color-mix(in oklab, var(--surface-alt) 65%, #000 35%);
}

.page-provider-details .eg-bk-calendar.eg-bk-calendar-loading {
    opacity: .85;
}

    .page-provider-details .eg-bk-calendar.eg-bk-calendar-loading::after {
        content: "Se încarcă...";
        position: absolute;
        right: .65rem;
        top: .65rem;
        font-size: .78rem;
        color: var(--text-muted);
    }

.page-provider-details .eg-bk-calendar-empty {
    font-size: .8rem;
    color: var(--text-muted);
}

.page-provider-details .eg-bk-cal-title {
    text-transform: capitalize;
}

.page-provider-details .eg-bk-cal-weekdays {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: .15rem;
    margin-top: .3rem;
    margin-bottom: .15rem;
}

.page-provider-details .eg-bk-cal-weekday {
    text-align: center;
    font-size: .7rem;
    font-weight: 700;
    color: var(--text-muted);
}

.page-provider-details .eg-bk-cal-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: .18rem;
}

.page-provider-details .eg-bk-cal-cell {
    min-height: 2rem;
    border-radius: .45rem;
    font-size: .8rem;
}

.page-provider-details .eg-bk-cal-cell-empty {
    background: transparent;
}

.page-provider-details .eg-bk-day {
    border: 0;
    outline: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: .45rem;
    font-weight: 800;
}

.page-provider-details .eg-bk-day-has-slots {
    background: #16a34a;
    color: #f9fafb;
}

.page-provider-details .eg-bk-day-no-slots {
    background: #b91c1c;
    color: #fee2e2;
}

    .page-provider-details .eg-bk-day-has-slots:hover,
    .page-provider-details .eg-bk-day-no-slots:hover {
        filter: brightness(1.05);
    }

.page-provider-details .eg-bk-day-selected {
    box-shadow: 0 0 0 2px #facc15 inset;
}

.page-provider-details .eg-bk-legend {
    font-size: .78rem;
    color: var(--text-muted);
}

.page-provider-details .eg-bk-dot {
    display: inline-block;
    width: .7rem;
    height: .7rem;
    border-radius: 999px;
    margin-right: .2rem;
}

.page-provider-details .eg-bk-dot-green {
    background: #16a34a;
}

.page-provider-details .eg-bk-dot-red {
    background: #b91c1c;
}

/* Message box */
.page-provider-details .eg-bk-msg {
    min-height: 0;
    padding: .75rem .85rem;
    border-radius: .8rem;
    border: 1px solid var(--eg-border);
    background: color-mix(in oklab, var(--surface-alt) 78%, transparent);
    display: none;
}

    .page-provider-details .eg-bk-msg.eg-show {
        display: block;
    }

    .page-provider-details .eg-bk-msg.eg-bk-msg-success {
        border-color: color-mix(in oklab, #16a34a 35%, var(--eg-border) 65%);
        background: color-mix(in oklab, #16a34a 12%, var(--surface) 88%);
    }

    .page-provider-details .eg-bk-msg.eg-bk-msg-error {
        border-color: color-mix(in oklab, #b91c1c 35%, var(--eg-border) 65%);
        background: color-mix(in oklab, #b91c1c 10%, var(--surface) 90%);
    }

.page-provider-details .eg-bk-msg-title {
    font-weight: 900;
    margin-bottom: .15rem;
}

.page-provider-details .eg-bk-msg-actions {
    display: flex;
    gap: .5rem;
    margin-top: .55rem;
    flex-wrap: wrap;
}

/* Slots */
.page-provider-details .eg-bk-slots {
    min-height: 1.5rem;
}

    .page-provider-details .eg-bk-slots.eg-bk-slots-loading::before {
        content: "Se încarcă intervalele...";
        font-size: .8rem;
        color: var(--text-muted);
        display: block;
        padding: .25rem 0;
    }

.page-provider-details .eg-bk-slots-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
    gap: .45rem;
}

@media (min-width: 420px) {
    .page-provider-details .eg-bk-slots-list {
        grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
    }
}

.page-provider-details .eg-bk-slot {
    width: 100%;
    text-align: center;
    padding: .55rem .4rem;
    border-radius: .75rem;
    border: 1px solid var(--eg-border);
    background: color-mix(in oklab, var(--surface-alt) 78%, transparent);
    position: relative;
}

html[data-theme="dark"] .page-provider-details .eg-bk-slot {
    background: color-mix(in oklab, var(--surface-alt) 65%, #000 35%);
}

.page-provider-details .eg-bk-slot-main {
    font-weight: 900;
    font-size: .98rem;
    line-height: 1.1;
    color: var(--text-primary);
}

.page-provider-details .eg-bk-slot:focus-visible {
    outline: 2px solid color-mix(in oklab, var(--brand-primary) 65%, transparent);
    outline-offset: 2px;
}

.page-provider-details .eg-bk-slot-selected {
    border-color: color-mix(in oklab, var(--brand-primary) 70%, var(--eg-border) 30%);
    box-shadow: 0 0 0 2px color-mix(in oklab, var(--brand-primary) 55%, transparent) inset;
    background: color-mix(in oklab, var(--brand-primary) 22%, var(--surface) 78%);
}

html[data-theme="dark"] .page-provider-details .eg-bk-slot-selected {
    background: color-mix(in oklab, var(--brand-primary) 28%, var(--surface-alt) 72%);
}

.page-provider-details .eg-bk-slot-selected::after {
    content: "✓";
    position: absolute;
    top: .3rem;
    right: .35rem;
    width: 1.15rem;
    height: 1.15rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: .8rem;
    color: #fff;
    background: var(--brand-primary);
    border: 1px solid color-mix(in oklab, #fff 30%, transparent);
}

.page-provider-details .eg-bk-empty {
    font-size: .8rem;
    color: var(--text-muted);
}

.page-provider-details .eg-bk-existing {
    padding: .4rem .5rem;
    border-radius: .6rem;
    background: color-mix(in oklab, var(--brand-primary) 8%, var(--surface) 92%);
    border: 1px solid color-mix(in oklab, var(--brand-primary) 20%, var(--eg-border) 80%);
}

html[data-theme="dark"] .page-provider-details .eg-bk-existing {
    background: color-mix(in oklab, var(--surface-alt) 65%, #000 35%);
    border-color: color-mix(in oklab, var(--brand-primary) 35%, var(--eg-border) 65%);
    color: color-mix(in oklab, var(--text-secondary) 90%, #fff 10%);
}

@media (max-width: 575.98px) {
    .page-provider-details .eg-bk-slot {
        padding-inline: .55rem;
        padding-block: .3rem;
    }
}

/* ===== Lightbox ===== */
.page-provider-details #svcLightbox .modal-dialog {
    max-width: min(1000px, 96vw);
}

.page-provider-details #svcLightbox .modal-body {
    background: var(--surface);
}

.page-provider-details .eg-lightbox-stage {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid var(--eg-border);
    background: #000;
}

    .page-provider-details .eg-lightbox-stage img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: contain;
        background: #000;
    }

.page-provider-details #svcLightbox .eg-caption {
    min-height: 1.5rem;
}

/* ===== Clickable cover (lightbox) ===== */
.page-provider-details .eg-thumb-open {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    padding: 0;
    background: transparent;
    cursor: pointer;
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .page-provider-details .eg-thumb-open img {
        position: static;
        inset: auto;
        width: auto;
        height: auto;
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
        display: block;
    }

.page-provider-details .eg-thumb-open-ico {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, .55);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .18);
    opacity: 0;
    transform: translate(-50%, -50%) scale(.96);
    transition: opacity .14s ease, transform .14s ease, filter .14s ease;
    z-index: 2;
}

.page-provider-details .eg-thumb-wrap:hover .eg-thumb-open-ico {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    filter: brightness(1.02);
}

.page-provider-details .eg-thumb-open:focus-visible {
    outline: 2px solid color-mix(in oklab, var(--brand-primary) 65%, transparent);
    outline-offset: 2px;
}

    .page-provider-details .eg-thumb-open:focus-visible .eg-thumb-open-ico {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }


/* ===== Service card footer ===== */
.page-provider-details .eg-svc-footer-meta {
    display: inline-flex;
    flex-wrap: wrap;
    gap: .35rem;
    align-items: center;
    color: var(--text-muted);
}

.page-provider-details .eg-svc-chip {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .25rem .5rem;
    border-radius: 999px;
    border: 1px solid var(--eg-border);
    background: color-mix(in oklab, var(--surface-alt) 76%, transparent);
    color: var(--text-secondary);
    font-weight: 700;
}

html[data-theme="dark"] .page-provider-details .eg-svc-chip {
    background: color-mix(in oklab, var(--surface-alt) 62%, #000 38%);
}

/* ===== Premium quick contact card ===== */
.page-provider-details .eg-contact-quick-card .eg-contact-badge {
    background: color-mix(in oklab, var(--brand-primary) 12%, var(--surface) 88%);
    border: 1px solid color-mix(in oklab, var(--brand-primary) 25%, var(--eg-border) 75%);
    color: var(--text-secondary);
    font-weight: 750;
}

html[data-theme="dark"] .page-provider-details .eg-contact-quick-card .eg-contact-badge {
    background: color-mix(in oklab, var(--surface-alt) 65%, #000 35%);
    border-color: color-mix(in oklab, var(--brand-primary) 35%, var(--eg-border) 65%);
}

.page-provider-details .eg-contact-actions {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.page-provider-details .eg-contact-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .65rem .75rem;
    border-radius: 14px;
    border: 1px solid var(--eg-border);
    background: color-mix(in oklab, var(--surface-alt) 76%, transparent);
    text-decoration: none;
    color: var(--text-primary);
    transition: transform .12s ease, border-color .12s ease, background-color .12s ease;
}

    .page-provider-details .eg-contact-action:hover {
        transform: translateY(-1px);
        border-color: color-mix(in oklab, var(--brand-primary) 28%, var(--eg-border) 72%);
        background: color-mix(in oklab, var(--surface-alt) 70%, transparent);
        text-decoration: none;
    }

html[data-theme="dark"] .page-provider-details .eg-contact-action {
    background: color-mix(in oklab, var(--surface-alt) 62%, #000 38%);
}

.page-provider-details .eg-contact-action-ico {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in oklab, var(--brand-primary) 10%, var(--surface) 90%);
    border: 1px solid color-mix(in oklab, var(--brand-primary) 22%, var(--eg-border) 78%);
    color: var(--brand-primary);
    flex: 0 0 auto;
}

.page-provider-details .eg-contact-action-main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .1rem;
    text-align: center;
}

.page-provider-details .eg-contact-action-title {
    font-weight: 850;
    line-height: 1.1;
}

.page-provider-details .eg-contact-action-sub {
    font-size: .85rem;
    color: var(--text-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.page-provider-details .eg-contact-action-arrow {
    color: var(--text-muted);
    flex: 0 0 auto;
}

/* ===== Details: service top meta ===== */
.page-provider-details .eg-svc-topmeta {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    justify-content: flex-end;
    font-weight: 780;
    font-size: 13px;
    color: var(--text-primary);
}

.page-provider-details .eg-svc-topmeta-sep {
    opacity: .55;
    font-weight: 800;
}

/* ===== Details: brand buttons ===== */
.page-provider-details .eg-btn-book {
    background: var(--brand-blue-deep);
    border-color: var(--brand-blue-deep);
    color: #fff;
    font-weight: 800;
    border-radius: 12px;
}

    .page-provider-details .eg-btn-book:hover {
        background: color-mix(in oklab, var(--brand-blue-deep) 86%, #fff 14%);
        border-color: color-mix(in oklab, var(--brand-blue-deep) 86%, #fff 14%);
        color: #fff;
    }

.page-provider-details .eg-btn-offer {
    background: var(--brand-blue);
    border-color: var(--brand-blue);
    color: #fff;
    font-weight: 800;
    border-radius: 12px;
}

    .page-provider-details .eg-btn-offer:hover {
        background: color-mix(in oklab, var(--brand-blue) 86%, #fff 14%);
        border-color: color-mix(in oklab, var(--brand-blue) 86%, #fff 14%);
        color: #fff;
    }

/* ===== Details: level 4 selectable service rows ===== */
.page-provider-details .eg-variant-row.eg-variant-pick {
    border: 1px solid color-mix(in oklab, var(--border-strong) 70%, var(--brand-blue) 30%);
    border-radius: 14px;
    padding: .6rem .65rem;
    margin: .45rem 0;
    cursor: pointer;
    background: transparent;
    transition: border-color .12s ease, background .12s ease, transform .12s ease;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: .25rem;
}

    .page-provider-details .eg-variant-row.eg-variant-pick:hover {
        transform: translateY(-1px);
        border: 3px solid color-mix(in oklab, var(--brand-blue) 55%, var(--border-strong) 45%);
        background: color-mix(in oklab, var(--surface) 92%, var(--brand-blue) 8%);
    }

html[data-theme="dark"] .page-provider-details .eg-variant-row.eg-variant-pick:hover {
    background: rgba(255, 255, 255, .04);
}

.page-provider-details .eg-variant-row.eg-selected {
    border: 3px solid var(--brand-blue);
    background: color-mix(in oklab, var(--surface) 88%, var(--brand-blue) 12%);
}

html[data-theme="dark"] .page-provider-details .eg-variant-row.eg-selected {
    background: rgba(0, 159, 227, .10);
}

.page-provider-details .eg-variant-name {
    font-weight: 770;
    font-size: 14px;
    line-height: 1.25;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    color: var(--text-primary);
}

/* row 2: duration+price left, desc toggle right */
.page-provider-details .eg-variant-row2 {
    display: grid;
    grid-template-columns: 1fr auto; /* stânga toggle, dreapta meta */
    align-items: center;
    gap: .6rem;
    margin-top: .15rem;
}

.page-provider-details .eg-var-desc-toggle {
    justify-self: start;
}

/* meta în dreapta, nu se amestecă cu "mai mult" */
.page-provider-details .eg-variant-meta {
    justify-self: end;
    min-width: max-content; /* ține durata+preț compact la dreapta */
}

.page-provider-details .eg-variant-meta-line {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end; /* aliniază la dreapta */
    gap: .45rem;
    text-align: right;
    font-size: 12.5px;
    font-weight: 770;
    color: var(--text-primary);
    flex-wrap: wrap; /* dacă e îngust, se poate rupe pe 2 linii, dar rămâne în dreapta */
}

/* opțional: dacă pe ecrane foarte înguste vrei să nu forceze max-content */
@media (max-width: 420px) {
    .page-provider-details .eg-variant-meta {
        min-width: 0;
    }
}

.page-provider-details .eg-variant-meta-sep {
    opacity: .55;
    font-weight: 900;
}

.page-provider-details .eg-var-desc-toggle {
    all: unset;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    justify-self: start;
    align-self: center;
    width: max-content;
    max-width: max-content;
    white-space: nowrap;
    color: var(--brand-blue);
    font-size: 12px;
    font-weight: 630;
    cursor: pointer;
    line-height: 1.2;
}

    .page-provider-details .eg-var-desc-toggle:hover {
        text-decoration: underline;
    }

.page-provider-details .eg-var-desc {
    margin-top: .35rem;
    color: var(--text-secondary);
    line-height: 1.35;
}

.page-provider-details .eg-lb-pos {
    opacity: .9;
    white-space: nowrap;
}


.eg-hero-chip { display:inline-flex; align-items:center; gap:.35rem; padding:.35rem .7rem; border-radius:999px; background:rgba(127,127,127,.12); font-size:.92rem; }
.eg-contact-action.is-revealed { border-color: rgba(25,135,84,.35); }
