/* MedSoft Price List — temă inspirată din paleta medical-one.ro
   (roșu-coral accent, fundal alb/gri foarte deschis, butoane pill). */

.msp-price-list {
    --msp-accent: #FF453A;
    --msp-accent-dark: #E61E2A;
    --msp-accent-soft: rgba(255, 69, 58, 0.08);
    --msp-bg: #F8FAFC;
    --msp-card-bg: #FFFFFF;
    --msp-text: #0F172A;
    --msp-text-muted: #64748B;
    --msp-border: #E2E8F0;
    --msp-radius-lg: 24px;
    --msp-radius-pill: 999px;
    --msp-font-heading: 'Outfit', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --msp-font-body: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;

    font-family: var( --msp-font-body );
    color: var( --msp-text );
    max-width: 860px;
    margin: 0 auto;
}

/* ---------- bara de căutare ---------- */

.msp-toolbar {
    margin-bottom: 18px;
}

.msp-search {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var( --msp-card-bg );
    border: 1px solid var( --msp-border );
    border-radius: var( --msp-radius-pill );
    padding: 12px 20px;
    width: 100%;
    box-shadow: 0 1px 2px rgba( 15, 23, 42, 0.05 );
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.msp-search:focus-within {
    border-color: var( --msp-accent );
    box-shadow: 0 0 0 3px var( --msp-accent-soft );
}

.msp-search-icon {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    position: relative;
    display: block;
}

.msp-search-icon::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 11px;
    height: 11px;
    border: 2px solid var( --msp-text-muted );
    border-radius: 50%;
}

.msp-search-icon::after {
    content: '';
    position: absolute;
    bottom: -1px;
    right: -1px;
    width: 6px;
    height: 2px;
    background: var( --msp-text-muted );
    transform: rotate( 45deg );
    border-radius: 1px;
}

.msp-search-input {
    border: 0;
    outline: 0;
    flex: 1;
    min-width: 0;
    background: transparent;
    font-family: inherit;
    font-size: 0.95rem;
    color: var( --msp-text );
}

.msp-search-input::placeholder {
    color: var( --msp-text-muted );
}

.msp-no-results {
    margin: 20px 4px;
    color: var( --msp-text-muted );
}

/* ---------- mențiune sincronizare prețuri ---------- */

.msp-disclaimer {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0 0 16px;
    padding: 10px 14px;
    background: var( --msp-accent-soft );
    border-radius: 14px;
    color: var( --msp-text-muted );
    font-size: 0.82rem;
    line-height: 1.4;
}

.msp-disclaimer-icon {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var( --msp-accent );
    color: #fff;
    font-family: var( --msp-font-heading );
    font-style: normal;
    font-weight: 700;
    font-size: 0.7rem;
    line-height: 16px;
    text-align: center;
    margin-top: 1px;
}

/* ---------- accordion ---------- */

#ibkg-mainAccordion {
    background: var( --msp-card-bg );
    border: 1px solid var( --msp-border );
    border-radius: var( --msp-radius-lg );
    overflow: hidden;
}

#ibkg-mainAccordion .ibkg-accordion-item {
    border-bottom: 1px solid var( --msp-border );
}

#ibkg-mainAccordion .ibkg-accordion-item:last-child {
    border-bottom: 0;
}

#ibkg-mainAccordion .ibkg-accordion-header {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 12px;
    background: none;
    border: 0;
    cursor: pointer;
    text-align: left;
    padding: 18px 22px;
    font-family: inherit;
    color: var( --msp-text );
    transition: background-color 0.15s ease;
}

#ibkg-mainAccordion .ibkg-accordion-header:hover {
    background: var( --msp-accent-soft );
}

#ibkg-mainAccordion .ibkg-accordion-main-header {
    font-family: var( --msp-font-heading );
    font-weight: 600;
    font-size: 1.05rem;
}

#ibkg-mainAccordion .ibkg-accordion-main-header .ibkg-item-title {
    flex: 1;
}

#ibkg-mainAccordion .ibkg-specialty-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

#ibkg-mainAccordion .ibkg-item-title {
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* butonul "Vezi prețuri" — pastilă cu săgeata inclusă, împinsă în dreapta */
#ibkg-mainAccordion .ibkg-vezi-preturi {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    margin-left: auto;
    border: 1.5px solid var( --msp-accent );
    color: var( --msp-accent );
    background: var( --msp-card-bg );
    padding: 6px 14px;
    border-radius: var( --msp-radius-pill );
    font-size: 0.82rem;
    font-weight: 600;
    white-space: nowrap;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

#ibkg-mainAccordion .ibkg-accordion-item.is-open > .ibkg-accordion-header .ibkg-vezi-preturi {
    background: linear-gradient( 135deg, var( --msp-accent ) 0%, var( --msp-accent-dark ) 100% );
    color: #fff;
    border-color: transparent;
}

/* săgeata din interiorul pastilei moștenește culoarea textului (roșu / alb) */
#ibkg-mainAccordion .ibkg-vezi-preturi .ibkg-caret {
    width: 6px;
    height: 6px;
    border-right-color: currentColor;
    border-bottom-color: currentColor;
}

#ibkg-mainAccordion .ibkg-accordion-content {
    display: none;
    padding: 0 22px 18px;
}

#ibkg-mainAccordion .ibkg-accordion-item.is-open > .ibkg-accordion-content {
    display: block;
}

/* cât timp se caută, secțiunile cu rezultate se deschid automat */
.msp-price-list.msp-searching #ibkg-mainAccordion .ibkg-accordion-item:not([hidden]) > .ibkg-accordion-content {
    display: block;
}

.msp-price-list.msp-searching #ibkg-mainAccordion .ibkg-accordion-item:not([hidden]) > .ibkg-accordion-header .ibkg-caret {
    transform: rotate( -135deg );
}

#ibkg-mainAccordion .ibkg-caret {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-right: 2px solid var( --msp-text-muted );
    border-bottom: 2px solid var( --msp-text-muted );
    transform: rotate( 45deg );
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

#ibkg-mainAccordion .ibkg-accordion-item.is-open > .ibkg-accordion-header .ibkg-caret {
    transform: rotate( -135deg );
}

/* accordion-ul intern (nivelul 2, denumire) — fără fundal de card dublu */
#ibkg-mainAccordion .ibkg-accordion-content > .ibkg-accordion .ibkg-accordion-item {
    border: 1px solid var( --msp-border );
    border-radius: 16px;
    margin-top: 10px;
    overflow: hidden;
}

#ibkg-mainAccordion .ibkg-accordion-content > .ibkg-accordion .ibkg-accordion-header {
    padding: 14px 18px;
}

/* ---------- lista de medici (nivelul 3) ---------- */

.msp-doctor-list {
    display: flex;
    flex-direction: column;
}

.msp-doctor-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 4px;
    border-top: 1px solid var( --msp-border );
}

.msp-doctor-row:first-child {
    border-top: 0;
}

.msp-doctor-info {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex: 1;
}

.msp-select-checkbox {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    accent-color: var( --msp-accent );
    cursor: pointer;
}

.msp-doctor-avatar {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient( 135deg, var( --msp-accent ) 0%, var( --msp-accent-dark ) 100% );
    color: #fff;
    font-family: var( --msp-font-heading );
    font-weight: 600;
    font-size: 0.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.msp-doctor-name {
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.msp-doctor-name--muted {
    font-weight: 500;
    color: var( --msp-text-muted );
}

.msp-doctor-name--secondary {
    font-weight: 500;
    font-size: 0.82rem;
    color: var( --msp-text-muted );
    white-space: normal;
}

/* serviciu cu un singur preț (fără sau cu un singur medic) — linie simplă,
   fără accordion; devine expandabil doar la 2+ medici (vezi render_service) */
.msp-doctor-row--flat {
    padding: 14px 18px;
    border-top: 0;
}

.msp-price-badge {
    flex-shrink: 0;
    font-family: var( --msp-font-heading );
    font-weight: 600;
    color: var( --msp-accent-dark );
    background: var( --msp-accent-soft );
    padding: 6px 14px;
    border-radius: var( --msp-radius-pill );
    font-size: 0.88rem;
    white-space: nowrap;
}

/* ---------- bară de acțiuni (selectable="true") ---------- */

.msp-action-bar[hidden] {
    display: none;
}

.msp-action-bar {
    position: sticky;
    bottom: 16px;
    margin-top: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    background: var( --msp-card-bg );
    border: 1px solid var( --msp-border );
    border-radius: 18px;
    padding: 14px 20px;
    box-shadow: 0 10px 30px rgba( 15, 23, 42, 0.12 );
}

.msp-action-bar-info {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 0.92rem;
}

.msp-action-bar-total {
    font-family: var( --msp-font-heading );
    font-weight: 700;
    color: var( --msp-accent-dark );
}

.msp-action-bar-buttons {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.msp-btn {
    font-family: inherit;
    border-radius: var( --msp-radius-pill );
    padding: 10px 18px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    border: 1.5px solid transparent;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.msp-btn-outline {
    background: var( --msp-card-bg );
    border-color: var( --msp-accent );
    color: var( --msp-accent );
}

.msp-btn-outline:hover {
    background: var( --msp-accent-soft );
}

.msp-btn-whatsapp {
    background: #25D366;
    color: #fff;
}

.msp-btn-whatsapp:hover {
    background: #1DA851;
}

.msp-btn-ghost {
    background: none;
    border-color: var( --msp-border );
    color: var( --msp-text-muted );
}

.msp-btn-ghost:hover {
    background: #F1F5F9;
}

/* zona folosită doar la print — invizibilă pe ecran */
.msp-print-area {
    position: absolute;
    left: -9999px;
    top: -9999px;
}

@media print {
    body * {
        visibility: hidden !important;
    }

    .msp-print-area,
    .msp-print-area * {
        visibility: visible !important;
    }

    .msp-print-area {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        padding: 24px;
    }

    .msp-print-area h2 {
        font-family: var( --msp-font-heading );
        margin: 0 0 14px;
    }

    .msp-print-area ul {
        margin: 0 0 14px;
        padding-left: 20px;
    }

    .msp-print-area li {
        margin-bottom: 4px;
    }

    .msp-print-area p {
        margin: 4px 0;
    }
}

/* ---------- mobil ---------- */

@media ( max-width: 480px ) {
    #ibkg-mainAccordion .ibkg-accordion-header {
        padding: 14px 16px;
    }

    #ibkg-mainAccordion .ibkg-vezi-preturi {
        padding: 6px 8px; /* pastila rămâne, doar ca un cerculeț cu săgeata */
    }

    #ibkg-mainAccordion .ibkg-vezi-preturi-text {
        display: none; /* textul dispare pe mobil, săgeata rămâne vizibilă */
    }

    .msp-doctor-name {
        max-width: 140px;
    }
}
