/**
 * Articles Section Card Components CSS
 * 
 * Articles section specific card layouts and responsive design
 * Extends base card system from cards.css
 * 
 * Contains:
 * - Articles section overrides
 * - Flexible card layouts with grid
 * - Container queries for responsive design
 * - Image optimization for articles
 */

/* ============================
   Articles Section Overrides
   ============================ */

/* Specific override for articles grid to ensure proper height */
body.theme-pt .articles-section .card .card-image {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

/* Articles section images - Updated styling to show full images without cropping */
body.theme-pt .articles-section .card .card-image img {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: left top;
    display: block;
    position: static;
    top: auto;
    left: auto;
}

/* Override for articles grid - Natural image sizing */
body.theme-pt .articles-section .articles-grid .card .card-image img {
    position: static !important;
    height: auto !important;
    object-fit: contain !important;
    top: auto !important;
    left: auto !important;
}

/* ============================
   Flexible Card Layout
   ============================ */

/* Flexible card layout for articles section - 3 column vertical layout with uncropped images */
body.theme-pt .articles-section .card-flexible {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    gap: 0;
    min-height: auto;
    height: auto;
    overflow: hidden;
    border-radius: var(--card-radius);
}

body.theme-pt .articles-section .card-flexible .card-image {
    grid-column: 1;
    grid-row: 1;
    height: auto;
    overflow: visible;
    border-radius: var(--card-radius) var(--card-radius) 0 0;
    aspect-ratio: auto;
    min-height: 200px;
}

body.theme-pt .articles-section .card-flexible .card-image img {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
    display: block;
    border-radius: var(--card-radius) var(--card-radius) 0 0;
}

body.theme-pt .articles-section .card-flexible .card-body {
    grid-column: 1;
    grid-row: 2;
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-radius: 0 0 var(--card-radius) var(--card-radius);
}

/* ============================
   Container Queries
   ============================ */

/* Container queries for flexible cards - 3 column responsive */
body.theme-pt .articles-section {
    container-type: inline-size;
}

/* Very small containers - maintain aspect ratio */
@container (max-width: 400px) {
    body.theme-pt .articles-section .card-flexible .card-image {
        min-height: 180px;
    }
    
    body.theme-pt .articles-section .card-flexible .card-body {
        padding: 1rem;
    }
}

/* ============================
   Responsive Design Fallbacks
   ============================ */

/* Fallback responsive breakpoints for browsers without container query support */
@media (max-width: 1199.98px) {
    /* 2 columns on large tablets */
    body.theme-pt .articles-section .card-flexible .card-image {
        min-height: 220px;
    }
}

@media (max-width: 991.98px) {
    /* 2 columns on medium screens as set in template */
    body.theme-pt .articles-section .card-flexible .card-image {
        min-height: 240px;
    }
}

@media (max-width: 767.98px) {
    /* Single column on mobile as set in template */
    body.theme-pt .articles-section .card-flexible .card-image {
        min-height: 280px;
    }
    
    body.theme-pt .articles-section .card-flexible .card-body {
        padding: 1.5rem;
    }
}

@media (max-width: 575.98px) {
    /* Smaller minimum height on very small screens */
    body.theme-pt .articles-section .card-flexible .card-image {
        min-height: 220px;
    }
    
    body.theme-pt .articles-section .card-flexible .card-body {
        padding: 1rem;
    }
}