
.portfolio {padding-block: 40px 20px; --product-bg: #eaeaea; --label-color: #9f9f9f;}
.portfolio .head {margin-bottom: 40px;}
.portfolio .head h1 {position: relative; font-size: calc(var(--fs-xl) - 4px); font-weight: var(--fw-bold); color: var(--clr-primary); text-align: center; margin-bottom: 30px;}
.portfolio .head h1::before {position: absolute; inset: auto 0 -10px; margin-inline: auto; width: 165px; height: 5px; background-color: var(--clr-secondary-lt); content: '';}
.portfolio .head p {height: 70px; overflow-y: auto; padding-right: 18px; font-size: var(--fs-400); font-weight: var(--fw-regular); line-height: 160%; color: var(--clr-light-500);}
.portfolio .tab-btn {width: 100%; display: inline-flex; align-items: center; justify-content: center; flex-wrap: wrap; margin-bottom: 40px; gap: 15px; text-align: center;}
.portfolio .tab-btn button {width: 170px; height: 42px; background-color: var(--clr-primary); font-size: var(--fs-500); font-weight: var(--fw-medium); color: #fff; text-transform: uppercase;}
.portfolio .tab-btn button.active {color: var(--clr-secondary);}
.portfolio .tabs-container .display-none {display: none;}
.portfolio .tab-content {display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px;}
.portfolio .product-card {background-color: var(--product-bg); padding: 40px 15px; text-align: center;}
.portfolio .product-card > * {display: block;}
.portfolio .product-card img {margin-bottom: 30px; height: auto;}
.portfolio .product-card :where(span, .label) {font-size: var(--fs-500); font-weight: var(--fw-bold); color: var(--clr-primary); text-transform: uppercase;}
.portfolio .product-card .label {font-weight: var(--fw-regular); color: var(--label-color); margin-top: 3px;}
/* Modal */
.modal {width: 100%; height: 100%; position: fixed; top: 0; display: flex; justify-content: space-between; align-items: center; background-color: rgba(0, 0, 0, 0.733); margin-top: -1px; z-index: 100; animation: zoom 0.3s ease-in-out;}
.modal img {width: 25%; object-fit: cover;}
.modal button#modalCloseBtn {position: absolute; top: 3%; right: 3%;}
.modal button:not(:first-child) {margin-inline: 20px;}
@keyframes zoom {
from {
transform: scale(0);
}
to {
transform: scale(1);
}
}
@media only screen and (width <= 1200px) {
.modal img {width: 35%;}
}
@media only screen and (width < 991px) {
.portfolio .tab-content {grid-template-columns: repeat(3, 1fr);}
.modal img {width: 45%;}
}
@media only screen and (width < 767px) {
.portfolio .tab-content {grid-template-columns: repeat(2, 1fr);}
.modal img {width: 50%;}
}
@media only screen and (width <= 575px) {
.modal img {width: 60%;}
}
@media only screen and (width < 475px) {
:root {--fs-500: 16px;}
.portfolio .tab-btn :is(li, li button) {width: 100%;}
.portfolio .tab-content {grid-template-columns: 1fr;}
}
									  