/**
 * Link Cards Element Styles
 * 
 * Basic layout - detailed styling to be added later
 * 
 * @package Belle_Maison
 * @subpackage VC_Elements
 */

/* ==========================================================================
   Link Cards Base Styles
   ========================================================================== */

.belle-maison-link-cards {
    width: 100%;
    margin: 0 auto;
    padding: 40px 0;
    position: relative;
}

/* Large dotted border top */
.belle-maison-link-cards::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background-image: radial-gradient(circle, rgba(var(--mm-color-divider), 1) 2.5px, transparent 2.5px);
    background-size: 20px 5px;
    background-repeat: repeat-x;
    background-position: 0 center;
}

.belle-maison-link-cards__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 48px;
}

.belle-maison-link-cards__card {
    position: relative;
    padding: var(--mm-spacing-md); /* 16px */
    box-shadow: 0px 16px 8px -12px rgba(var(--mm-color-gray), 0.3);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    overflow: visible; /* Allow Rough.js border to extend */
}

/* SVG Border Container (Rough.js) */
.belle-maison-link-cards__border-svg {
    position: absolute;
    top: -5px; /* Extra space for rough lines */
    left: -5px;
    width: calc(100% + 10px);
    height: calc(100% + 10px);
    pointer-events: none;
    z-index: 1;
    overflow: visible;
}

/* Hover Animation */
.belle-maison-link-cards__card:hover {
    transform: translateY(-4px);
    box-shadow: 0px 20px 12px -10px rgba(var(--mm-color-gray), 0.4);
}

.belle-maison-link-cards__link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.belle-maison-link-cards__link:focus-visible {
    outline: 2px solid rgba(var(--mm-color-primary), 1);
    outline-offset: 4px;
    border-radius: var(--mm-border-radius-sm);
}

.belle-maison-link-cards__image-wrapper {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 100%; /* 1:1 aspect ratio (square) */
    overflow: hidden;
    border-radius: var(--mm-border-radius-sm); /* 4px */
}

.belle-maison-link-cards__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.4s ease;
}

/* Image zoom on card hover */
.belle-maison-link-cards__card:hover .belle-maison-link-cards__image {
    transform: scale(1.05);
}

.belle-maison-link-cards__content {
    padding-top: var(--mm-spacing-sm); /* 12px - Space between image and headline */
    text-align: center;
}

.belle-maison-link-cards__headline {
    margin: 0;
    margin-top: 8px !important;
    font-weight: 600;
}


/* ==========================================================================
   Responsive Styles
   ========================================================================== */

/* Tablet (< 960px) */
@media (max-width: 959px) {
    .belle-maison-link-cards__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
}

/* Mobile (< 570px) */
@media (max-width: 569px) {
    .belle-maison-link-cards__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .belle-maison-link-cards__card,
    .belle-maison-link-cards__image {
        transition: none;
    }
    
    .belle-maison-link-cards__card:hover {
        transform: none;
    }
    
    .belle-maison-link-cards__card:hover .belle-maison-link-cards__image {
        transform: none;
    }
}
