/**
 * Event Archive/Grid - Ultra-Specific Overrides for Astra Theme
 * Using maximum specificity to ensure our styles apply
 */

/* Hide admin quick edit icons (edit/delete) */
.woocommerce ul.products li.product .edit,
.woocommerce ul.products li.product .delete,
.woocommerce ul.products li.product .quick-edit,
body .woocommerce ul.products li.product .type-product .edit,
body .woocommerce ul.products li.product .type-product .delete {
    display: none !important;
}

/* Hide any default date displays from FooEvents or other plugins */
.woocommerce ul.products li.product .event-date,
.woocommerce ul.products li.product .fooevents-date,
.woocommerce ul.products li.product .WooCommerceEventsEventDate,
.woocommerce ul.products li.product time,
.woocommerce ul.products li.product .tribe-events-list-event-title time,
.woocommerce ul.products li.product>time,
body .woocommerce ul.products li.product>time,
.woocommerce ul.products li.product .woocommerce-loop-product__link>time,
.woocommerce ul.products li.product a>time,
.woocommerce ul.products li.product img+time,
.woocommerce ul.products li.product>.event-title-link+*:not(h2):not(.woocommerce-loop-product__title):not(.price):not(.button):not(.event-card-meta):not(.event-card-excerpt) {
    display: none !important;
}

/* Hide category displays (like "Uncategorized") */
.woocommerce ul.products li.product .posted_in,
.woocommerce ul.products li.product .product_meta,
.woocommerce ul.products li.product .woocommerce-loop-product__category,
body .woocommerce ul.products li.product .ast-woo-product-category {
    opacity: 0 !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Make duplicates invisible (keeps them in layout but hidden) - SAFER than display:none */
.woocommerce ul.products li.product .event-card-excerpt~h2,
.woocommerce ul.products li.product .event-card-excerpt~.woocommerce-loop-product__title,
.woocommerce ul.products li.product .event-card-excerpt~.price,
.woocommerce ul.products li.product .event-card-excerpt~.event-card-category,
.woocommerce ul.products li.product a.woocommerce-loop-product__link>h2,
.woocommerce ul.products li.product a.woocommerce-loop-product__link>.woocommerce-loop-product__title,
.woocommerce ul.products li.product>a>h2,
.woocommerce ul.products li.product h2:nth-of-type(2),
.woocommerce ul.products li.product h2:nth-of-type(3),
.woocommerce ul.products li.product .price:nth-of-type(2),
.woocommerce ul.products li.product .price:nth-of-type(3),
.woocommerce ul.products li.product .event-card-category:nth-of-type(2) {
    opacity: 0 !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
}

/* Wrapper removed - was causing card size issues */


/* CRITICAL: Override Astra's grid with our compact layout */
body.archive.post-type-archive-product .woocommerce ul.products,
body.woocommerce-shop .woocommerce ul.products,
.woocommerce.columns-3 ul.products,
.woocommerce.columns-4 ul.products,
.woocommerce ul.products.columns-3,
.woocommerce ul.products.columns-4 {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
    gap: 20px !important;
    padding: 0 !important;
    margin: 0 0 40px 0 !important;
    list-style: none !important;
}

/* Force card styling */
body .woocommerce ul.products li.product,
.woocommerce ul.products li.product {
    background: #ffffff !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08) !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    float: none !important;
    max-height: 520px !important;
    /* CRITICAL: Keeps cards compact */
}

/* Hover state */
body .woocommerce ul.products li.product:hover,
.woocommerce ul.products li.product:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.14) !important;
}

/* Image - with breathing room below */
body .woocommerce ul.products li.product img,
.woocommerce ul.products li.product img {
    width: 100% !important;
    height: 180px !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    transition: transform 0.4s ease !important;
    display: block !important;
    margin: 0 0 16px 0 !important;
}

body .woocommerce ul.products li.product:hover img {
    transform: scale(1.08) !important;
}

/* Title - Proper spacing from image */
body .woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
body .woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h2 {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #1a202c !important;
    line-height: 1.4 !important;
    margin: 0 16px 8px 16px !important;
    padding: 0 !important;
    text-align: left !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    line-clamp: 2 !important;
    overflow: hidden !important;
    min-height: auto !important;
}

/* Category - styled nicely */
body .event-card-category,
.event-card-category {
    font-size: 12px !important;
    color: #667eea !important;
    margin: 0 16px 8px 16px !important;
    padding: 0 !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.event-card-category a {
    color: #667eea !important;
    text-decoration: none !important;
}

/* Price - after category */
body .woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #667eea !important;
    margin: 0 16px 14px 16px !important;
    padding: 0 !important;
}

.woocommerce ul.products li.product .price .woocommerce-Price-amount {
    color: #667eea !important;
}

/* Event metadata - after price */
body .event-card-meta,
.event-card-meta {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    margin: 0 16px 12px 16px !important;
    padding: 0 !important;
}

body .event-card-meta-item,
.event-card-meta-item {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    color: #718096 !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.event-card-meta-item svg {
    flex-shrink: 0 !important;
    color: #667eea !important;
    width: 14px !important;
    height: 14px !important;
}

/* Short description - after metadata */
body .event-card-excerpt,
.event-card-excerpt {
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #4a5568 !important;
    margin: 0 16px 12px 16px !important;
    padding: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    line-clamp: 2 !important;
    overflow: hidden !important;
}

.woocommerce ul.products li.product .price .woocommerce-Price-amount {
    color: #667eea !important;
}

/* Button - FORCE FULL-WIDTH WITH PROPER MARGINS */
body .woocommerce ul.products li.product .button,
body .woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .product_type_variable,
.woocommerce ul.products li.product .product_type_simple,
.woocommerce ul.products li.product a.button {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    color: #fff !important;
    border: none !important;
    padding: 12px 20px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    width: calc(100% - 32px) !important;
    margin: 0 16px 16px 16px !important;
    box-shadow: 0 3px 10px rgba(102, 126, 234, 0.3) !important;
    transition: all 0.2s ease !important;
    text-align: center !important;
    display: block !important;
    text-decoration: none !important;
    float: none !important;
}

body .woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 14px rgba(102, 126, 234, 0.4) !important;
    background: linear-gradient(135deg, #5568d3 0%, #6a3f8e 100%) !important;
}

/* Remove WooCommerce icons */
.woocommerce ul.products li.product .button::before,
.woocommerce ul.products li.product .add_to_cart_button::before {
    display: none !important;
}

/* Badges */
.woocommerce ul.products li.product .onsale {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    background: #f59e0b !important;
    color: #fff !important;
    border-radius: 6px !important;
    padding: 5px 10px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    z-index: 10 !important;
    margin: 0 !important;
    right: auto !important;
}

/* Hide unwanted elements */
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .star-rating {
    display: none !important;
}

/* Responsive - Force proper columns */
@media (min-width: 1200px) {

    body .woocommerce ul.products,
    .woocommerce ul.products {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}

@media (min-width: 900px) and (max-width: 1199px) {

    body .woocommerce ul.products,
    .woocommerce ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (min-width: 600px) and (max-width: 899px) {

    body .woocommerce ul.products,
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }
}

@media (max-width: 599px) {

    body .woocommerce ul.products,
    .woocommerce ul.products {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .woocommerce ul.products li.product img {
        height: 200px !important;
    }
}

/* Override any Astra flex display */
.woocommerce ul.products li.product * {
    box-sizing: border-box !important;
}

/* Premium Events Shortcode Grid */
.premium-events-grid {
    display: grid;
    gap: 24px;
    margin: 32px 0;
    grid-template-columns: repeat(4, 1fr);
}

/* Column variations */
.premium-events-grid.columns-1 {
    grid-template-columns: 1fr;
}

.premium-events-grid.columns-2 {
    grid-template-columns: repeat(2, 1fr);
}

.premium-events-grid.columns-3 {
    grid-template-columns: repeat(3, 1fr);
}

.premium-events-grid.columns-4 {
    grid-template-columns: repeat(4, 1fr);
}

/* Responsive grid */
@media (max-width: 1024px) {
    .premium-events-grid.columns-4 {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {

    .premium-events-grid.columns-3,
    .premium-events-grid.columns-4 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 599px) {
    .premium-events-grid {
        grid-template-columns: 1fr !important;
    }
}