/* Responsive helpers ensure the layout scales well on desktops, tablets and phones */

/* :root {
	--container-max: 1440px;
	--gutter: 24px;
}

body {
	min-width: 320px;
	font-size: 16px;
}

.container,
.container-xl,
.container-lg,
.container-md,
.container-sm {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(var(--gutter) / 2);
	padding-right: calc(var(--gutter) / 2);
	max-width: var(--container-max);
}

.header {
	position: sticky;
	top: 0;
	z-index: 99;
}

.header__content {
	gap: 16px;
}

.header__search {
	flex: 1 1 320px;
}

.grid-auto-fit {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1.5rem;
} */

/* ---------------- Large screens (≥1280px) ---------------- */
@media (max-width: 1280px) {
	:root { --gutter: 20px; }
	body { font-size: 15px; }
    .album__cover {
        width: 100% ;
        height: 120px ;
    }
    .album__title h3 {
        font-size: 12px;
    }
    .album__title span {
        font-size: 11px;
    }
    .artist__cover {
        width: 100%;
        height: 130px;
    }
    .artist__title {
        font-size: 14px;
    }
    .hero__title {
        font-size: 22px;
    }
    .hero__slide {
        padding: 40px !important;
        /* padding-right: 0; */
    }

}
@media (min-width: 1280px) {
    :root { --container-max: 1280px; }
    .album__cover {
        width: 100% ;
        height: 150px ;
    }
    .album__title h3 {
        font-size: 12px;
    }
    .album__title span {
        font-size: 11px;
    }
    .artist__cover {
        width: 100%;
        height: 130px;
    }
    .artist__title {
        font-size: 14px;
    }
    .hero__title {
        font-size: 22px;
    }
    .hero__slide {
        padding: 40px !important;
        /* padding-right: 0; */
    }
}

/* ---------------- Tablets landscape (≤1024px) ---------------- */
@media (max-width: 1024px) {
	:root { --container-max: 1024px; }

}

/* ---------------- Tablets portrait (≤768px) ---------------- */
@media (max-width: 768px) {
	body { font-size: 14px; }

	.card,
	.list-group-item { padding: 0.85rem 1rem; }
	.tabs { flex-wrap: wrap; }
	.tabs button { flex: 1 1 45%; }
}

/* ---------------- Phones large (≤600px) ---------------- */
@media (max-width: 600px) {

	.grid-auto-fit { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
	.card h2,
	h2,
	.section-title { font-size: 1.35rem; }
	.table-responsive { overflow-x: auto; }
}

/* ---------------- Phones small (≤420px) ---------------- */
@media (max-width: 420px) {

	.grid-auto-fit { grid-template-columns: 1fr; }
	.badge { font-size: 11px; }
	.list-group-item { font-size: 13px; }
	audio { width: 100%; }
}

/* Utility classes for responsive spacing */
.mt-responsive { margin-top: clamp(1rem, 3vw, 2.5rem); }
.mb-responsive { margin-bottom: clamp(1rem, 3vw, 2.5rem); }

.hidden-desktop { display: none !important; }
.hidden-mobile { display: initial !important; }

@media (max-width: 768px) {
	.hidden-desktop { display: initial !important; }
	.hidden-mobile { display: none !important; }
}

@media (min-width: 992px) and (max-width: 1200px)  {
    .col-lg-3 {
        -ms-flex: 0 0 25% !important;
        flex: 0 0 25% !important;
        max-width: 25% !important;
    }
}
