﻿/* wwwroot/css/pages/home.css */

:root {
    --threeeast-panel-blue-top: #5B9BD5;
    --threeeast-panel-blue-bottom: #4A8BC2;
    --threeeast-panel-border: #2E5C8A;
    --threeeast-red: #DC143C; /* crimson from your sample */
    --page-bg: #ffffff; /* white canvas per your preference */
    --page-muted: #f5f5f5; /* optional light gray for gutters if you want */
}

/* Page container (centered like your sample, but white canvas) */
.home-page {
    background-color: var(--page-bg);
    padding: 30px 20px;
}

/* Centered content region */
.home-wrap {
    max-width: 1100px;
    margin: 0 auto;
}

/* 3 tiles across, wrap to more rows automatically */
.tile-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
    align-items: stretch;
    margin-top: 26px;
}

/* Reusable panel style (based on your sample) */
.portal-panel {
    background: linear-gradient(to bottom, var(--threeeast-panel-blue-top), var(--threeeast-panel-blue-bottom));
    border: 2px solid var(--threeeast-panel-border);
    border-radius: 20px;
    padding: 30px 20px;
    text-align: center;
    box-shadow: 0 10px 18px rgba(0, 0, 0, 0.12);
}

/* Header: NOT clickable */
.portal-panel-title {
    margin: 0 0 20px 0;
    color: firebrick;
    font-size: 36px;
    font-weight: 500;
    padding-bottom: 15px;
    border-bottom: 2px solid #000;
}

/* Action links (clickable items) */
.portal-panel-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Use <a> or <NavLink> with this class */
.portal-action {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
    color: white;
    font-size: 18px;
    font-weight: 500;
    padding: 10px;
    margin: 0;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.25s ease;
}

.portal-action:hover {
    background-color: rgba(255, 255, 255, 0.20);
    border-radius: 8px;
    text-decoration: none;
}

/* Optional note (like "Login required") */
.portal-panel-note {
    margin-top: 14px;
    font-size: 14px;
    font-weight: 700;
    color: rgba(0, 0, 0, 0.70);
}

/* Responsive: 2 across */
@media (max-width: 1100px) {
    .tile-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Responsive: 1 across */
@media (max-width: 640px) {
    .tile-grid {
        grid-template-columns: 1fr;
    }

    .portal-panel-title {
        font-size: 30px;
    }
}

/* Featured card grid */
.feature-grid {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    padding: 10px 20px 30px 20px;
}

/* Card (entire thing clickable) */
.feature-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    background: #fff;
    border: 1px solid rgba(0,0,0,.12);
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
    transition: transform .15s ease, box-shadow .15s ease;
    color: inherit;
    min-height: 340px;
}

    .feature-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 22px rgba(0,0,0,.14);
    }

/* Image area */
.feature-image {
    height: 150px;
    background: #f3f3f3;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .feature-image img {
        width: 100%;
        height: 100%;
        object-fit: cover; /* makes it look like a product tile */
    }

/* Body */
.feature-body {
    padding: 14px 14px 16px 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}

.feature-title {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: .2px;
}

.feature-desc {
    margin: 0;
    font-size: .92rem;
    color: rgba(0,0,0,.75);
    line-height: 1.35;
    flex: 1;
}

/* CTA button-look */
.feature-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    padding: 8px 12px;
    border-radius: 4px;
    background: #b09a55; /* warm gold like the example */
    color: #fff;
    font-weight: 800;
    font-size: .9rem;
}

/* Responsive */
@media (max-width: 1200px) {
    .feature-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 900px) {
    .feature-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .feature-grid {
        grid-template-columns: 1fr;
    }

    .feature-card {
        min-height: 0;
    }
}
/* --- Compact variant for Featured tiles --- */
.featured-grid--compact {
    /* show more items per row on desktop while staying readable */
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

    /* Make each card shorter and visually tighter */
    .featured-grid--compact .featured-card {
        min-height: 250px; /* was ~340px */
        border-radius: 6px;
        box-shadow: 0 1px 6px rgba(0,0,0,.07);
    }

    /* Shrink the image area */
    .featured-grid--compact .featured-image {
        height: 95px; /* was 150px */
        background: #f2f2f2;
    }

        .featured-grid--compact .featured-image img {
            object-fit: cover;
        }

    /* Tighten body spacing & type sizes */
    .featured-grid--compact .featured-body {
        padding: 10px 12px 12px 12px; /* down from 14–16px */
        gap: 8px;
    }

    .featured-grid--compact .featured-title {
        font-size: 1rem; /* down from 1.15rem */
        line-height: 1.15;
    }

    .featured-grid--compact .featured-desc {
        font-size: .86rem; /* down from .92rem */
        line-height: 1.3;
    }

    /* Smaller CTA chip */
    .featured-grid--compact .featured-cta {
        padding: 6px 10px;
        font-size: .82rem;
        border-radius: 4px;
    }

/* Responsive adjustments remain sensible at narrower widths */
@media (max-width: 1200px) {
    .featured-grid--compact {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 900px) {
    .featured-grid--compact {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .featured-grid--compact {
        grid-template-columns: 1fr;
    }
}
