/* ======================================================================
   Front (template-3) — Cohort 3 (TechMart — red/navy electronics retailer)
   Bootstrap-first: rows/cols/spacing from Bootstrap. Custom CSS carries
   the cohort identity: information-dense panels, red accent rule under
   each section header, navy hover highlights, square-ish 6px radii.
   Class pattern: .front-3-{element}.
   ====================================================================== */

/* ---------- 1. Hero ---------- */
.front-3-hero-main,
.front-3-hero-side {
    background: var(--bs-light-secondary, #F4F6FB);
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease;
}
.front-3-hero-main { aspect-ratio: 16 / 6.4; }
.front-3-hero-main:hover,
.front-3-hero-side:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(var(--bs-secondary-rgb), 0.15);
}
.front-3-hero-main img,
.front-3-hero-side img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.front-3-hero-side { aspect-ratio: 16 / 9; }

/* ---------- 2. Feature strip ---------- */
.front-3-feature-card {
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.front-3-feature-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(var(--bs-secondary-rgb), 0.12);
    border-color: var(--bs-primary, var(--bs-border-accent)) !important;
}
.front-3-feature-icon {
    width: 44px;
    height: 44px;
    background: rgba(var(--bs-primary-rgb), 0.1);
    color: var(--bs-primary, var(--bs-border-accent));
}

/* ---------- Shared section-head pattern (red rule + side bar) ---------- */
.front-3-section-head {
    padding: 10px 14px 10px 18px;
    background: var(--bs-body-bg, var(--bs-body-bg));
    border: 1px solid var(--bs-border-color, var(--bs-border-color));
    border-bottom: 2px solid var(--bs-primary, var(--bs-border-accent));
    border-radius: 6px 6px 0 0;
    position: relative;
}
.front-3-section-head::before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    bottom: 10px;
    width: 4px;
    background: var(--bs-primary, var(--bs-border-accent));
    border-radius: 2px;
}
.front-3-section-title {
    text-transform: uppercase;
    letter-spacing: .02em;
    font-size: 1.05rem;
    color: var(--bs-secondary, var(--bs-link-color));
}
.front-3-section-link {
    color: var(--bs-primary, var(--bs-border-accent));
    font-size: .82rem;
    font-weight: 600;
}
.front-3-section-link:hover { color: #C83A1B; }

/* ---------- 5. Brand strip ---------- */
.front-3-brands-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}
@media (min-width: 576px) { .front-3-brands-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 768px) { .front-3-brands-grid { grid-template-columns: repeat(5, 1fr); } }
@media (min-width: 1200px) { .front-3-brands-grid { grid-template-columns: repeat(10, 1fr); } }

.front-3-brand-card {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bs-body-bg, var(--bs-body-bg));
    border: 1px solid var(--bs-border-color, var(--bs-border-color));
    border-radius: 6px;
    padding: 16px 8px;
    color: var(--bs-secondary, var(--bs-link-color));
    font-weight: 700;
    font-size: .95rem;
    letter-spacing: .02em;
    transition: border-color .2s ease, color .2s ease, transform .2s ease;
    text-align: center;
}
.front-3-brand-card:hover {
    border-color: var(--bs-primary, var(--bs-border-accent));
    color: var(--bs-primary, var(--bs-border-accent));
    transform: translateY(-1px);
}
.front-3-brand-logo {
    max-width: 100%;
    max-height: 48px;
    object-fit: contain;
    display: block;
    filter: grayscale(1);
    opacity: 0.7;
    transition: filter .2s ease, opacity .2s ease;
}
.front-3-brand-card:hover .front-3-brand-logo {
    filter: grayscale(0);
    opacity: 1;
}
.front-3-brand-name {
    font-weight: 700;
    font-size: .9rem;
    letter-spacing: .02em;
}

/* ---------- 6. SEO descriptive block ---------- */
.front-3-seo-card {
    background: var(--bs-light-secondary, #F4F6FB);
}
.front-3-seo-title { color: var(--bs-secondary, var(--bs-link-color)); }

/* ---------- Mobile tweaks ---------- */
@media (max-width: 767.98px) {
    .front-3-hero-main { aspect-ratio: 4 / 3; }
    .front-3-section-head { padding: 8px 12px 8px 16px; }
    .front-3-section-title { font-size: .9rem; }
    .front-3-section-head { flex-direction: column; align-items: flex-start !important; gap: 6px; }
}
