/* Accordions */
.home-section { 
    background: var(--white);
 	overflow: hidden;
	border-radius: 0 0 var(--radius-lg) var(--radius-lg);
}

.section-header { 
    display: flex; justify-content: space-between; align-items: center; 
    background: var(--white); padding: 18px 30px; cursor: pointer; 
	border-top: var(--px-size-big) solid var(--brand-primary);
	border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
.is-open .section-header {
    border-left: var(--px-size-big) solid var(--brand-primary);
}

.section-header h2 { margin: 0; color: var(--text-main); font-weight: 800; font-size: 1.3em; }
.section-header::after { content: '\25BC'; font-size: 24px; transition: 0.3s; color: var(--brand-primary);}
.is-open .section-header::after { transform: rotate(180deg); }

.section-body { display: none; padding: 30px; background: var(--bg-light); border-top: 1px solid var(--border-color); border-left: var(--px-size-big) solid var(--brand-primary); }
.is-open .section-body { display: block; border-radius: 0 0 var(--radius-lg) var(--radius-lg);}

/* Filter Panel */
.filter-controls { display: flex; justify-content: flex-end; margin-bottom: 20px; }
.filter-toggle-btn {
    display: flex; align-items: center; gap: 10px; background: var(--brand-secondary); 
    padding: 12px 18px; border-radius: var(--radius-md); border: 0px solid; 
    cursor: pointer; color: var(--white); font-weight: bold; font-size: 0.85em;
}
/* --- 12. SEARCH & FILTER STYLES (Modernized) --- */

/* The Main Panel */
.filter-panel {
    display: none;
    background: var(--white);
    padding: 25px 30px;
    border-radius: var(--radius-lg); /* Uses the 18px-24px rounding */
    margin-bottom: 30px;
    border: none;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05); /* Soft lift instead of border */
}

.filter-panel.is-visible { 
    display: block;
    animation: slideDown 0.3s ease-out; /* Smooth entrance */
}

@keyframes slideDown {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* The Search Input as a Pill */
.filter-search-row { margin-bottom: 20px; }

.search-input {
    width: 100%;
    padding: 14px 25px;
    border-radius: var(--radius-pill); /* Full pill shape */
    border: 2px solid var(--bg-light);
    background: var(--bg-light);
    font-size: 1rem;
    transition: all 0.3s ease;
    outline: none;
}

.search-input:focus {
    background: var(--white);
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 4px var(--brand-primary-light);
}

/* Filter Checkboxes as "Chips" */
.filter-checkbox-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

/* Hide the actual checkbox square */
.filter-check input[type="checkbox"] {
    display: none;
}

/* Style the label as a clickable pill/chip */
.filter-check {
    cursor: pointer;
    background: var(--bg-light);
    color: var(--brand-secondary);
    padding: 8px 18px;
    border-radius: var(--radius-pill);
    font-size: 0.85em;
    font-weight: 600;
    border: 2px solid var(--brand-secondary);
    transition: all 0.2s ease;
    user-select: none;
}

/* Change style when the hidden checkbox is checked */
.filter-check:has(input:checked) {
    background: var(--brand-secondary);
    color: var(--white);
}

/* The "Filter By:" Label */
.filter-label {
    font-weight: 800;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--brand-primary-dark);
    margin-right: 10px;
    display: block;
    margin-bottom: 10px;
}


/* Buttons & Links */
.resource-links { margin-top: auto; display: flex; flex-direction: column; gap: 10px; width: 100%; }

.btn-download, .btn-app, .view-more-btn {
    display: block; width: 100%; text-align: center; padding: 12px; border-radius: var(--radius-md); 
    font-weight: bold; font-size: 0.9em; cursor: pointer; border: none; transition: 0.2s;
}

/* Default Theme Buttons */
.btn-download { background: var(--brand-secondary); color: var(--white); }
.btn-download:hover { background: var(--brand-secondary-dark); color: var(--white); }
.view-more-btn { background: var(--brand-secondary); color: var(--white); }
.view-more-btn:hover { background: var(--brand-secondary-dark); }

/* Specific Functional Colors */
.app-btn-row { display: flex; gap: 10px; width: 100%; }
.app-btn-row .btn-app { flex: 1; }

.btn-playstore { background-color: #3ddc84 !important; color: #000 !important; }
.btn-appstore  { background-color: #000000 !important; color: #ffffff !important; }
.btn-apk       { background-color: #64748b !important; color: #ffffff !important; }
.btn-hd        { background-color: var(--brand-primary-dark) !important; color: #ffffff !important; }
.btn-youtube   { background-color: #ff0000 !important; color: #ffffff !important; }

.btn-download:hover, .btn-app:hover { opacity: 0.9; transform: translateY(-1px); }