/**
 * Exam Preps - Component Styles
 * Version: 1.0.3
 */

.exam-preps-wrapper {
    --ep-primary-color: var(--scanmed-red, #ED1C24);
    --ep-text-color: #333333;
    --ep-text-muted: #707070;
    --ep-border-color: #CAD9E8;
    --ep-highlight-bg: #f7faff;
    --ep-border-radius: 15px;
    --ep-font-ui: 'Montserrat', sans-serif;
    
    display: block;
    width: 100%;
    box-sizing: border-box;
    
    background: #ffffff;
    padding: 25px;
    margin-bottom: 1.5rem; 
    border-radius: var(--ep-border-radius);
    box-shadow: 0px 2px 11px 3px rgba(112,112,112,0.1);
}

/* -------------------------------------
   KOMPONENT OMNI-BOX (WYSZUKIWARKA)
   ------------------------------------- */
.exam-preps-wrapper omni-box { 
    display: block; 
    position: relative; 
    margin-bottom: 2rem; 
    font-family: var(--ep-font-ui); 
}
.exam-preps-wrapper omni-box [data-label] { display: none; }
.exam-preps-wrapper .omnibox { position: relative; display: flex; align-items: center; }
.exam-preps-wrapper .omnibox .search-icon { 
    position: absolute; left: 16px; width: 20px; height: 20px; 
    color: var(--ep-text-muted); pointer-events: none; transition: color 0.2s ease; 
}
.exam-preps-wrapper .omnibox input[type="search"] {
    width: 100%; font-size: 1rem; font-family: var(--ep-font-ui);
    padding: 16px 20px 16px 48px; border-radius: var(--ep-border-radius);
    border: 1px solid var(--ep-border-color); background-color: #fff;
    color: var(--ep-text-color); font-weight: 500; transition: all 0.2s; outline: none;
    box-shadow: none;
}
.exam-preps-wrapper .omnibox input[type="search"]::-webkit-search-cancel-button { cursor: pointer; }
.exam-preps-wrapper .omnibox input[type="search"]:focus { 
    border-color: var(--ep-primary-color); 
    box-shadow: 0 0 0 4px rgba(237, 28, 36, 0.1); 
}
.exam-preps-wrapper .omnibox input[type="search"]:focus + .search-icon, 
.exam-preps-wrapper .omnibox:focus-within .search-icon { 
    color: var(--ep-primary-color); 
}
.exam-preps-wrapper .omnibox input::placeholder { color: #9ca3af; font-weight: 400; }

/* Dropdown */
.exam-preps-wrapper .ac-suggestion {
    position: absolute; top: calc(100% + 4px); left: 0 !important; right: 0; width: 100% !important; max-width: 100%;
    background-color: #fff; border: 1px solid var(--ep-border-color); border-radius: var(--ep-border-radius);
    box-shadow: 0 8px 24px rgba(0,0,0,0.08); max-height: 350px; overflow-y: auto; z-index: 9999; display: none;
}
.exam-preps-wrapper .ac-suggestion.active { 
    display: block; 
    animation: epDropdownFade 0.2s ease-out; 
}
@keyframes epDropdownFade { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }

.exam-preps-wrapper .ac-suggestion .ac-itm {
    display: flex; align-items: center; cursor: pointer; padding: 14px 20px; color: var(--ep-text-color);
    border-bottom: 1px solid #f3f4f6; transition: background-color 0.15s, padding-left 0.2s;
    font-family: var(--ep-font-ui);
}
.exam-preps-wrapper .ac-suggestion .ac-itm:last-child { border-bottom: 0; }
.exam-preps-wrapper .ac-suggestion .ac-itm:hover, 
.exam-preps-wrapper .ac-suggestion .ac-itm.selected, 
.exam-preps-wrapper .ac-suggestion .ac-itm.active { 
    background-color: var(--ep-highlight-bg); color: var(--ep-primary-color); padding-left: 24px; 
}
.exam-preps-wrapper .ac-suggestion .ac-itm span.text { 
    flex-grow: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.95rem; 
}
.exam-preps-wrapper .ac-suggestion .ac-itm span.text .txt-hl { 
    font-weight: 700; color: var(--ep-primary-color); background-color: transparent; 
}

/* -------------------------------------
   AKORDEON
   ------------------------------------- */
.exam-preps-wrapper .accordion { margin-top: 1.5rem; }
.exam-preps-wrapper .accordion-item { 
    background-color: transparent; border: 0; border-bottom: 1px solid var(--ep-border-color); margin-bottom: 5px;
}
.exam-preps-wrapper .accordion-header { margin: 0; }

.exam-preps-wrapper .accordion-button {
    width: 100% !important; text-align: left !important; background: transparent !important; border: none !important; font-size: 1.25rem !important; font-weight: 700 !important; 
    color: var(--ep-text-color) !important; padding: 1.5rem 2rem 1.5rem 0 !important; cursor: pointer !important; display: flex !important; 
    justify-content: space-between !important; align-items: center !important; transition: color 0.3s ease !important; line-height: 1.4 !important;
    position: relative !important; box-shadow: none !important; text-transform: none !important; border-radius: 0 !important;
}
.exam-preps-wrapper .accordion-button:hover, 
.exam-preps-wrapper .accordion-button:not(.collapsed) { 
    color: var(--ep-primary-color) !important; background-color: transparent !important; border: none !important; box-shadow: none !important;
}
.exam-preps-wrapper .accordion-button:focus { outline: none !important; box-shadow: none !important; }

.exam-preps-wrapper .accordion-button::after { 
    content: '+' !important; position: absolute !important; right: 0 !important; font-size: 2rem !important; color: var(--ep-primary-color) !important; 
    font-weight: 300 !important; transition: transform 0.2s !important; background-image: none !important; display: inline-block !important; width: auto !important; height: auto !important; margin: 0 !important;
}
.exam-preps-wrapper .accordion-button:not(.collapsed)::after { 
    content: '-' !important; background-image: none !important; 
}

.exam-preps-wrapper .accordion-collapse { display: none; padding: 0 0 1.5rem 0; }
.exam-preps-wrapper .accordion-collapse.show { display: block; animation: epFadeIn 0.3s ease; }

.exam-preps-wrapper .accordion-body { 
    color: var(--ep-text-muted); font-size: 1rem; line-height: 1.8; 
}

/* Wymuszona struktura dla list generowanych z ACF WYSIWYG */
.exam-preps-wrapper .accordion-body ul { 
    list-style: none !important; 
    padding-left: 0 !important; 
    margin-top: 1rem !important; 
}
.exam-preps-wrapper .accordion-body li { 
    list-style: none !important; 
    padding-left: 1.5rem !important; 
    position: relative !important; 
    margin-bottom: 0.5rem !important; 
    font-weight: 400 !important;
    line-height: 1.8 !important; /* Sztywna interlinia zapobiega wariacjom pozycji kwadratu */
}
.exam-preps-wrapper .accordion-body li::before { 
    content: "" !important; 
    width: 6px !important; 
    height: 6px !important; 
    background-color: var(--ep-primary-color) !important; 
    position: absolute !important; 
    left: 0px !important; 
    top: 10px !important; /* Stała wartość w px - idealnie środkuje przy interlinii 1.8 dla textu 16px */
    border-radius: 0 !important; /* Wymuszenie kwadratu */
}

/* Usunięcie domyślnych stylów p (paragrafów) często owijających tekst wewnątrz li przez edytor wizualny */
.exam-preps-wrapper .accordion-body li > p {
    margin: 0 !important;
    padding: 0 !important;
    display: inline;
}

@keyframes epFadeIn { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }

.exam-preps-wrapper .accordion-item.highlight-pulse { animation: epPulseBg 1.5s ease; }
@keyframes epPulseBg { 0% { background-color: rgba(237, 28, 36, 0.05); } 100% { background-color: transparent; } }