/**
 * Frontend CSS for Generative AI Glossary
 */

.gen-ai-glossary-container {
    /* Add container styles */
    margin-bottom: 20px;
}

.gen-ai-glossary-filter {
    margin-bottom: 15px;
    position: relative; /* For spinner positioning */
}

.gen-ai-glossary-filter input[type="text"] {
    padding-right: 30px; /* Make space for spinner */
    width: 100%;
    max-width: 400px; /* Adjust as needed */
}

.gen-ai-glossary-filter .spinner {
    position: absolute;
    top: 50%;
    right: 10px; /* Adjust as needed */
    transform: translateY(-50%);
    float: none;
    background: url(admin-ajax.php?action=ajaxnonce&amp;ajaxnonce=...) no-repeat center center;
    background-image: url('/wp-admin/images/spinner.gif'); /* Basic WP spinner */
    background-size: 16px 16px;
    width: 16px;
    height: 16px;
    margin: 0;
    vertical-align: middle; 
    visibility: hidden; /* Initially hidden */
    opacity: 0.75;
}

.gen-ai-glossary-filter .spinner.is-active {
    visibility: visible;
}

.gen-ai-glossary-list {
    /* Styles for the list container */
    margin-bottom: 15px;
}

.gen-ai-glossary-item {
    border: 1px solid #eee;
    margin-bottom: 5px;
}

.gen-ai-glossary-term {
    display: block; /* Make summary full width */
    padding: 10px 15px;
    background-color: #f9f9f9;
    cursor: pointer;
    font-weight: bold;
    transition: background-color 0.2s ease;
}

.gen-ai-glossary-term:hover {
    background-color: #f1f1f1;
}

/* Style for the arrow marker - using ::marker is ideal but support varies */
.gen-ai-glossary-term::marker, /* Standard */
.gen-ai-glossary-term::-webkit-details-marker /* Webkit */
{
    /* Basic arrow styling - can be customized further */
}

.gen-ai-glossary-item[open] > .gen-ai-glossary-term {
    background-color: #e9e9e9;
    border-bottom: 1px solid #ddd;
}


.gen-ai-glossary-explanation {
    padding: 15px;
    border-top: 1px solid #eee;
}

.gen-ai-glossary-explanation > *:first-child {
    margin-top: 0;
}

.gen-ai-glossary-explanation > *:last-child {
    margin-bottom: 0;
}

.gen-ai-glossary-pagination {
    margin-top: 20px;
    text-align: center;
}

.gen-ai-glossary-pagination .page-numbers {
    display: inline-block;
    padding: 5px 10px;
    margin: 0 2px;
    border: 1px solid #ddd;
    text-decoration: none;
    color: #333;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.gen-ai-glossary-pagination .page-numbers:hover,
.gen-ai-glossary-pagination .page-numbers.current {
    background-color: #eee;
    color: #000;
    border-color: #ccc;
}

.gen-ai-glossary-pagination .page-numbers.current {
    font-weight: bold;
}

.gen-ai-glossary-pagination .dots {
    border: none;
    padding: 5px 0;
}

/* Screen reader text */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
} 