portfolio-page/src/scss/sections/certifications-section.scss

159 lines
2.9 KiB
SCSS

@use '../globals';
.certifications-section {
background: var(--certifications-background);
&__container {
max-width: 80rem;
margin: 0 auto;
padding: 0 1rem;
@include globals.desktop-only {
padding: 0 1.5rem;
}
}
&__header {
text-align: center;
margin-bottom: 4rem;
}
&__title {
font-size: 1.875rem;
font-weight: bold;
margin-bottom: 1rem;
background: var(--gradient-certifications-title);
background-clip: text;
-webkit-background-clip: text;
color: transparent;
-webkit-text-fill-color: transparent;
@include globals.desktop-only {
font-size: 2.25rem;
}
}
&__subtitle {
font-size: 1.25rem;
color: var(--color-text-muted);
max-width: 48rem;
margin: 0 auto;
}
&__grid {
display: grid;
grid-template-columns: repeat(1, 1fr);
gap: 2rem;
@include globals.mobile-only {
grid-template-columns: repeat(2, 1fr);
}
@include globals.desktop-only {
grid-template-columns: repeat(4, 1fr);
}
}
&__card {
text-align: center;
border: none;
border-radius: 1rem;
box-shadow: var(--certifications-card-shadow);
background: var(--certifications-card-background);
padding: 2rem 1.5rem;
transition: all 0.3s ease;
position: relative;
overflow: hidden;
&::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: var(--certifications-card-overlay);
opacity: 0;
transition: opacity 0.3s ease;
pointer-events: none;
}
&:hover {
transform: translateY(-0.25rem);
box-shadow: var(--certifications-card-shadow-hover);
&::before {
opacity: 1;
}
}
}
&__card-header {
margin-bottom: 1.5rem;
position: relative;
z-index: 1;
}
&__card-icon {
width: 4rem;
height: 4rem;
margin: 0 auto 1rem;
color: var(--color-certifications-primary);
display: block;
}
&__card-icon-image {
height: 4rem;
width: 4rem;
object-fit: contain;
margin: 0 auto 1rem;
display: block;
}
&__card-title {
font-size: 1.125rem;
font-weight: 600;
color: var(--color-text);
margin-bottom: 0.5rem;
line-height: 1.4;
}
&__card-issuer {
color: var(--color-text-muted);
font-size: 0.875rem;
}
&__card-content {
position: relative;
z-index: 1;
}
&__card-badge {
display: inline-block;
background: var(--certifications-badge-background);
color: var(--color-certifications-badge-text);
padding: 0.5rem 1rem;
border-radius: 9999px;
font-size: 0.875rem;
font-weight: 500;
border: 1px solid var(--certifications-badge-border);
}
// Responsive adjustments
@include globals.mobile-only {
&__card {
padding: 1.5rem 1rem;
}
&__card-icon,
&__card-icon-image {
width: 3rem;
height: 3rem;
}
&__card-title {
font-size: 1rem;
}
}
}