/**
 * Products Manager - Frontend Styles
 * Stiluri pentru afișarea produselor și locațiilor pe site-ul public
 */

/* ==========================================================================
   RESET ȘI VARIABILE
   ========================================================================== */

:root {
    --pm-primary-color: #2c3e50;
    --pm-secondary-color: #3498db;
    --pm-accent-color: #e74c3c;
    --pm-success-color: #27ae60;
    --pm-warning-color: #f39c12;
    --pm-danger-color: #e74c3c;
    --pm-light-color: #ecf0f1;
    --pm-dark-color: #2c3e50;
    --pm-border-color: #ddd;
    --pm-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    --pm-shadow-hover: 0 4px 8px rgba(0, 0, 0, 0.15);
    --pm-border-radius: 8px;
    --pm-transition: all 0.3s ease;
    --pm-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* ==========================================================================
   CONTAINER ȘI LAYOUT
   ========================================================================== */

.pm-products-container {
    margin: 20px 0;
    font-family: var(--pm-font-family);
}

.pm-products-wrapper {
    position: relative;
}

.pm-products-grid {
    display: grid;
    gap: 20px;
    margin-bottom: 30px;
}

/* Coloane responsive */
.pm-columns-1 { grid-template-columns: 1fr; }
.pm-columns-2 { grid-template-columns: repeat(2, 1fr); }
.pm-columns-3 { grid-template-columns: repeat(3, 1fr); }
.pm-columns-4 { grid-template-columns: repeat(4, 1fr); }
.pm-columns-5 { grid-template-columns: repeat(5, 1fr); }
.pm-columns-6 { grid-template-columns: repeat(6, 1fr); }

/* Layout-uri alternative */
.pm-layout-list .pm-products-grid {
    grid-template-columns: 1fr;
    gap: 15px;
}

.pm-layout-masonry .pm-products-grid {
    column-count: 3;
    column-gap: 20px;
    break-inside: avoid;
}

/* ==========================================================================
   FILTRE ȘI CĂUTARE
   ========================================================================== */

.pm-products-filters {
    background: #fff;
    border: 1px solid var(--pm-border-color);
    border-radius: var(--pm-border-radius);
    padding: 20px;
    margin-bottom: 30px;
    box-shadow: var(--pm-shadow);
}

.pm-search-form-wrapper {
    margin-bottom: 20px;
}

.pm-search-form,
.pm-products-search {
    display: flex;
    gap: 10px;
    align-items: center;
}

.pm-search-form input[type="text"],
.pm-products-search input[type="text"] {
    flex: 1;
    padding: 12px 16px;
    border: 1px solid var(--pm-border-color);
    border-radius: var(--pm-border-radius);
    font-size: 14px;
    transition: var(--pm-transition);
}

.pm-search-form input[type="text"]:focus,
.pm-products-search input[type="text"]:focus {
    outline: none;
    border-color: var(--pm-secondary-color);
    box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.1);
}

.pm-search-form button,
.pm-products-search button {
    padding: 12px 20px;
    background: var(--pm-secondary-color);
    color: white;
    border: none;
    border-radius: var(--pm-border-radius);
    cursor: pointer;
    transition: var(--pm-transition);
    font-size: 14px;
}

.pm-search-form button:hover,
.pm-products-search button:hover {
    background: #2980b9;
    transform: translateY(-1px);
}

.pm-search-icon {
    display: inline-block;
    font-size: 16px;
}

.pm-filters-form {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    align-items: end;
    margin-top: 20px;
}

.pm-filter-select,
.pm-price-filter input {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--pm-border-color);
    border-radius: var(--pm-border-radius);
    font-size: 14px;
    background: white;
}

.pm-price-filter {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pm-price-separator {
    font-weight: 600;
    color: var(--pm-dark-color);
}

.pm-filter-submit,
.pm-filter-reset {
    padding: 10px 20px;
    border-radius: var(--pm-border-radius);
    cursor: pointer;
    transition: var(--pm-transition);
    font-size: 14px;
    font-weight: 500;
}

.pm-filter-submit {
    background: var(--pm-secondary-color);
    color: white;
    border: none;
}

.pm-filter-submit:hover {
    background: #2980b9;
}

.pm-filter-reset {
    background: transparent;
    color: var(--pm-dark-color);
    border: 1px solid var(--pm-border-color);
}

.pm-filter-reset:hover {
    background: var(--pm-light-color);
}

/* ==========================================================================
   BADGE-URI ȘI ELEMENTE SHORTCODE
   ========================================================================== */

/* Badge pentru reducere */
.pm-discount-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #e74c3c;
    color: white;
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    z-index: 2;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* Afișarea prețurilor */
.pm-price-display {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 10px 0;
}

.pm-price {
    font-weight: 600;
    font-size: 18px;
}

.pm-price-sale {
    color: #e74c3c;
    font-size: 20px;
    font-weight: 700;
}

.pm-price-regular {
    color: #2c3e50;
}

.pm-price-crossed {
    text-decoration: line-through;
    color: #95a5a6;
    font-size: 14px;
    font-weight: 400;
}

/* Badge-uri pentru stoc */
.pm-stock-badge {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.pm-stock-available .pm-stock-badge,
.pm-stock-badge.pm-stock-available {
    background: #27ae60;
    color: white;
}

.pm-stock-limited .pm-stock-badge,
.pm-stock-badge.pm-stock-limited {
    background: #E13327;
    color: white;
}

.pm-stock-out .pm-stock-badge,
.pm-stock-badge.pm-stock-out {
    background: #e74c3c;
    color: white;
}

/* Icon-uri pentru stoc */
.pm-stock-icon {
    font-size: 16px;
    margin-right: 5px;
}

/* Informații locație */
.pm-location-info {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: #7f8c8d;
    margin-top: 5px;
}

.pm-location-all {
    color: #27ae60;
}

.pm-location-specific {
    color: #3498db;
}

.pm-location-icon {
    font-size: 14px;
}

/* Badge și icon SGR */
.pm-sgr-badge {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    background: #34495e;
    color: white;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
}

.pm-sgr-icon {
    font-size: 14px;
    opacity: 0.7;
    cursor: help;
}

/* Brand produs */
.pm-product-brand {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #2c3e50;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 5px;
}

/* Layout pentru carduri ca în poză */
.pm-product-card-home-garden {
    position: relative;
    background: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    max-width: 280px;
}

.pm-product-card-home-garden:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.pm-product-card-home-garden .pm-product-image {
    aspect-ratio: 1;
    background: #f8f9fa;
    position: relative;
    overflow: hidden;
}

.pm-product-card-home-garden .pm-product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 20px;
}

.pm-product-card-home-garden .pm-discount-badge {
    position: absolute;
    top: 15px;
    left: 15px;
    background: linear-gradient(135deg, #ffd700, #ffed4e);
    color: #8b5a00;
    padding: 8px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    box-shadow: 0 2px 8px rgba(255, 215, 0, 0.3);
}

.pm-product-card-home-garden .pm-stock-badge {
    position: absolute;
    bottom: 15px;
    left: 15px;
    padding: 6px 12px;
    border-radius: 15px;
    font-size: 10px;
    font-weight: 700;
}

.pm-product-card-home-garden .pm-product-content {
    padding: 20px;
}

.pm-product-card-home-garden .pm-product-brand {
    color: #666;
    font-size: 11px;
    margin-bottom: 8px;
}

.pm-product-card-home-garden .pm-product-title {
    font-size: 14px;
    font-weight: 500;
    color: #333;
    margin-bottom: 15px;
    line-height: 1.3;
    height: 35px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.pm-product-card-home-garden .pm-price-display {
    margin-bottom: 12px;
    align-items: baseline;
}

.pm-product-card-home-garden .pm-price-sale {
    font-size: 24px;
    color: #e74c3c;
    font-weight: 700;
}

.pm-product-card-home-garden .pm-price-crossed {
    font-size: 16px;
    margin-left: 8px;
}

.pm-product-card-home-garden .pm-location-info {
    font-size: 11px;
    color: #666;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #eee;
}

/* Responsive pentru carduri */
@media (max-width: 768px) {
    .pm-product-card-home-garden {
        max-width: 100%;
    }
    
    .pm-product-card-home-garden .pm-product-content {
        padding: 15px;
    }
    
    .pm-product-card-home-garden .pm-price-sale {
        font-size: 20px;
    }
}

/* Utilități pentru pozționare badge-uri */
.pm-badge-container {
    position: absolute;
    top: 10px;
    left: 10px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    z-index: 2;
}

.pm-badge-container .pm-discount-badge {
    position: static;
    margin: 0;
}

.pm-badge-container .pm-stock-badge {
    position: static;
    margin: 0;
    align-self: flex-start;
}

/* ==========================================================================
   EXISTING STYLES CONTINUE...
   ========================================================================== */

.pm-product-card {
    background: white;
    border: 1px solid var(--pm-border-color);
    border-radius: var(--pm-border-radius);
    overflow: hidden;
    transition: var(--pm-transition);
    box-shadow: var(--pm-shadow);
    position: relative;
    break-inside: avoid;
    margin-bottom: 20px;
}

.pm-product-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--pm-shadow-hover);
    border-color: var(--pm-secondary-color);
}

.pm-product-image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    background: var(--pm-light-color);
}

.pm-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--pm-transition);
}

.pm-product-image:hover img {
    transform: scale(1.05);
}

.pm-product-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.pm-product-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--pm-light-color);
    color: #95a5a6;
}

.pm-placeholder-icon {
    font-size: 48px;
    opacity: 0.5;
}

/* Badge-uri produse */
.pm-product-badges {
    position: absolute;
    top: 10px;
    left: 10px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    z-index: 1;
}

.pm-badge {
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.pm-badge-sale {
    background: var(--pm-accent-color);
    color: white;
}

.pm-badge-limited {
    background: var(--pm-warning-color);
    color: white;
}

.pm-badge-sgr {
    background: var(--pm-dark-color);
    color: white;
}

/* Conținutul cardului */
.pm-product-content {
    padding: 20px;
}

.pm-product-title {
    margin: 0 0 10px 0;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.3;
}

.pm-product-title a {
    color: var(--pm-dark-color);
    text-decoration: none;
    transition: var(--pm-transition);
}

.pm-product-title a:hover {
    color: var(--pm-secondary-color);
}

.pm-product-excerpt {
    margin-bottom: 15px;
}

.pm-product-excerpt p {
    margin: 0;
    color: #7f8c8d;
    font-size: 14px;
    line-height: 1.5;
}

/* Prețuri */
.pm-product-price {
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.pm-price {
    font-weight: 600;
    font-size: 18px;
}

.pm-price-regular {
    color: var(--pm-dark-color);
}

.pm-price-sale {
    color: var(--pm-accent-color);
    font-size: 20px;
}

.pm-price-crossed {
    text-decoration: line-through;
    color: #95a5a6;
    font-size: 14px;
    font-weight: 400;
}

/* Meta informații */
.pm-product-meta {
    font-size: 13px;
    color: #7f8c8d;
    border-top: 1px solid #ecf0f1;
    padding-top: 15px;
}

.pm-product-stock,
.pm-product-availability {
    margin-bottom: 5px;
}

.pm-stock-label,
.pm-availability {
    font-weight: 500;
}

.pm-stock-value {
    color: var(--pm-success-color);
}

.pm-availability-all {
    color: var(--pm-success-color);
}

.pm-availability-specific {
    color: var(--pm-secondary-color);
}

/* ==========================================================================
   LAYOUT LIST
   ========================================================================== */

.pm-layout-list .pm-product-card {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 20px;
}

.pm-layout-list .pm-product-image {
    aspect-ratio: 1 / 1;
}

.pm-layout-list .pm-product-content {
    padding: 20px 20px 20px 0;
}

/* ==========================================================================
   CAROUSEL
   ========================================================================== */

.pm-products-carousel-container {
    position: relative;
    margin: 20px 0;
}

.pm-products-carousel {
    overflow: hidden;
}

.pm-products-carousel .swiper-slide {
    height: auto;
}

.pm-products-carousel .swiper-button-next,
.pm-products-carousel .swiper-button-prev {
    color: var(--pm-secondary-color);
    background: white;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    margin-top: -22px;
    box-shadow: var(--pm-shadow);
    transition: var(--pm-transition);
}

.pm-products-carousel .swiper-button-next:hover,
.pm-products-carousel .swiper-button-prev:hover {
    background: var(--pm-secondary-color);
    color: white;
    transform: scale(1.1);
}

.pm-products-carousel .swiper-button-next::after,
.pm-products-carousel .swiper-button-prev::after {
    font-size: 16px;
    font-weight: 600;
}

.pm-products-carousel .swiper-pagination-bullet {
    background: var(--pm-border-color);
    opacity: 1;
    transition: var(--pm-transition);
}

.pm-products-carousel .swiper-pagination-bullet-active {
    background: var(--pm-secondary-color);
    transform: scale(1.2);
}

/* ==========================================================================
   LOCAȚII
   ========================================================================== */

.pm-locations-container {
    margin: 20px 0;
}

.pm-layout-grid.pm-locations-container {
    display: grid;
    gap: 20px;
}

.pm-layout-list.pm-locations-container {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.pm-layout-cards.pm-locations-container {
    display: grid;
    gap: 20px;
}

.pm-location-card {
    background: white;
    border: 1px solid var(--pm-border-color);
    border-radius: var(--pm-border-radius);
    padding: 20px;
    box-shadow: var(--pm-shadow);
    transition: var(--pm-transition);
}

.pm-location-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--pm-shadow-hover);
}

.pm-location-title {
    margin: 0 0 15px 0;
    font-size: 20px;
    font-weight: 600;
    color: var(--pm-dark-color);
}

.pm-location-address,
.pm-location-phone,
.pm-location-email,
.pm-location-hours,
.pm-location-map {
    margin-bottom: 10px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    line-height: 1.5;
}

.pm-location-icon {
    flex-shrink: 0;
    font-size: 16px;
    width: 20px;
    text-align: center;
}

.pm-location-phone a,
.pm-location-email a {
    color: var(--pm-secondary-color);
    text-decoration: none;
    transition: var(--pm-transition);
}

.pm-location-phone a:hover,
.pm-location-email a:hover {
    text-decoration: underline;
}

.pm-hours-content {
    white-space: pre-line;
}

.pm-map-link {
    color: var(--pm-secondary-color);
    text-decoration: none;
    font-weight: 500;
    transition: var(--pm-transition);
}

.pm-map-link:hover {
    text-decoration: underline;
}

/* ==========================================================================
   PRODUS INDIVIDUAL
   ========================================================================== */

.pm-single-product {
    background: white;
    border: 1px solid var(--pm-border-color);
    border-radius: var(--pm-border-radius);
    overflow: hidden;
    box-shadow: var(--pm-shadow);
    margin: 20px 0;
}

.pm-layout-horizontal.pm-single-product {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 30px;
}

.pm-layout-vertical.pm-single-product {
    text-align: center;
}

.pm-single-product-content {
    padding: 30px;
}

/* ==========================================================================
   PAGINARE
   ========================================================================== */

.pm-pagination {
    margin: 30px 0;
    text-align: center;
}

.pm-pagination .page-numbers {
    display: inline-block;
    padding: 8px 12px;
    margin: 0 2px;
    background: white;
    border: 1px solid var(--pm-border-color);
    color: var(--pm-dark-color);
    text-decoration: none;
    border-radius: var(--pm-border-radius);
    transition: var(--pm-transition);
}

.pm-pagination .page-numbers:hover,
.pm-pagination .page-numbers.current {
    background: var(--pm-secondary-color);
    color: white;
    border-color: var(--pm-secondary-color);
}

.pm-pagination .page-numbers.dots {
    background: transparent;
    border: none;
    cursor: default;
}

/* ==========================================================================
   LOADING ȘI STĂRI
   ========================================================================== */

.pm-loading {
    text-align: center;
    padding: 40px 20px;
    color: #7f8c8d;
}

.pm-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid #ecf0f1;
    border-top: 3px solid var(--pm-secondary-color);
    border-radius: 50%;
    animation: pm-spin 1s linear infinite;
    margin: 0 auto 15px;
}

@keyframes pm-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.pm-no-products {
    text-align: center;
    padding: 60px 20px;
    color: #7f8c8d;
    font-size: 16px;
    background: #f8f9fa;
    border-radius: var(--pm-border-radius);
    border: 2px dashed #dee2e6;
}

/* ==========================================================================
   FORMULARE DE CĂUTARE
   ========================================================================== */

.pm-products-search-form {
    background: white;
    border: 1px solid var(--pm-border-color);
    border-radius: var(--pm-border-radius);
    padding: 20px;
    margin: 20px 0;
    box-shadow: var(--pm-shadow);
}

.pm-search-field {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

.pm-search-filters {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
}

/* ==========================================================================
   RESPONSIVE DESIGN
   ========================================================================== */

@media (max-width: 1200px) {
    .pm-columns-6 { grid-template-columns: repeat(4, 1fr); }
    .pm-columns-5 { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 992px) {
    .pm-columns-6,
    .pm-columns-5,
    .pm-columns-4 { grid-template-columns: repeat(3, 1fr); }
    
    .pm-layout-masonry .pm-products-grid {
        column-count: 2;
    }
    
    .pm-filters-form {
        grid-template-columns: 1fr;
    }
    
    .pm-layout-horizontal.pm-single-product {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .pm-columns-6,
    .pm-columns-5,
    .pm-columns-4,
    .pm-columns-3 { grid-template-columns: repeat(2, 1fr); }
    
    .pm-layout-list .pm-product-card {
        grid-template-columns: 1fr;
    }
    
    .pm-layout-list .pm-product-content {
        padding: 20px;
    }
    
    .pm-products-filters {
        padding: 15px;
    }
    
    .pm-search-form,
    .pm-products-search {
        flex-direction: column;
        align-items: stretch;
    }
    
    .pm-search-field {
        flex-direction: column;
    }
}

@media (max-width: 480px) {
    .pm-columns-6,
    .pm-columns-5,
    .pm-columns-4,
    .pm-columns-3,
    .pm-columns-2 { grid-template-columns: 1fr; }
    
    .pm-layout-masonry .pm-products-grid {
        column-count: 1;
    }
    
    .pm-product-content {
        padding: 15px;
    }
    
    .pm-location-card {
        padding: 15px;
    }
    
    .pm-products-filters {
        padding: 10px;
    }
    
    .pm-price-filter {
        flex-direction: column;
        align-items: stretch;
    }
    
    .pm-price-separator {
        text-align: center;
        order: 1;
    }
}

/* ==========================================================================
   ELEMENTOR COMPATIBILITY
   ========================================================================== */

.pm-elementor-widget {
    font-family: var(--pm-font-family);
}

.pm-elementor-widget .pm-products-container,
.pm-elementor-widget .pm-locations-container {
    margin: 0;
}

.elementor-widget-pm_products_grid .pm-products-filters,
.elementor-widget-pm_products_carousel .pm-products-carousel-container,
.elementor-widget-pm_single_product .pm-single-product,
.elementor-widget-pm_locations_list .pm-locations-container,
.elementor-widget-pm_products_search .pm-products-search-form {
    margin-bottom: 0;
}

/* ==========================================================================
   ACCESIBILITATE
   ========================================================================== */

.pm-product-link:focus,
.pm-location-phone a:focus,
.pm-location-email a:focus,
.pm-map-link:focus {
    outline: 2px solid var(--pm-secondary-color);
    outline-offset: 2px;
}

.pm-search-form button:focus,
.pm-products-search button:focus,
.pm-filter-submit:focus,
.pm-filter-reset:focus {
    outline: 2px solid var(--pm-secondary-color);
    outline-offset: 2px;
}

/* Reduce motion pentru utilizatorii care preferă aceasta */
@media (prefers-reduced-motion: reduce) {
    .pm-product-card,
    .pm-location-card,
    .pm-product-image img,
    .pm-search-form button,
    .pm-products-search button {
        transition: none;
    }
    
    .pm-spinner {
        animation: none;
    }
}

/* ==========================================================================
   DARK MODE SUPPORT
   ========================================================================== */

@media (prefers-color-scheme: dark) {
    :root {
        --pm-primary-color: #ecf0f1;
        --pm-dark-color: #ecf0f1;
        --pm-light-color: #34495e;
        --pm-border-color: #4a5568;
        --pm-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
        --pm-shadow-hover: 0 4px 8px rgba(0, 0, 0, 0.4);
    }
    
    .pm-product-card,
    .pm-location-card,
    .pm-products-filters,
    .pm-products-search-form,
    .pm-single-product {
        background: #2d3748;
        border-color: var(--pm-border-color);
        color: var(--pm-primary-color);
    }
    
    .pm-filter-select,
    .pm-price-filter input,
    .pm-search-form input[type="text"],
    .pm-products-search input[type="text"] {
        background: #4a5568;
        border-color: var(--pm-border-color);
        color: var(--pm-primary-color);
    }
    
    .pm-no-products {
        background: #4a5568;
        border-color: var(--pm-border-color);
        color: var(--pm-primary-color);
    }
}
/* ==========================================================================
   Secțiuni per categorie ([pm_products_by_category])
   ========================================================================== */

.pm-products-by-category {
    display: flex;
    flex-direction: column;
    gap: 50px;
}

.pm-category-section {
    padding: 25px;
    border-radius: 12px;
    background: transparent;
}

.pm-category-header {
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--pm-border-color, #e2e8f0);
}

.pm-category-title {
    margin: 0;
    font-size: 26px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 10px;
}

.pm-category-count {
    font-size: 16px;
    font-weight: 400;
    color: #718096;
}

.pm-category-description {
    margin: 8px 0 0;
    color: #718096;
    font-size: 15px;
}

/* Accent generic pentru secțiunile evidențiate (atributul highlight="...") */
.pm-section-highlight {
    background: linear-gradient(135deg, #fff5f5 0%, #fffaf0 100%);
    border: 2px solid #feb2b2;
    box-shadow: 0 4px 12px rgba(229, 62, 62, 0.12);
}

.pm-section-highlight .pm-category-title {
    color: #c53030;
}

.pm-section-highlight .pm-category-title::before {
    content: "🔥";
}

.pm-section-highlight .pm-category-header {
    border-bottom-color: #feb2b2;
}

/* Stiluri predefinite per slug — gata de folosit pentru categoriile tale */

/* Gratuități — verde */
.pm-cat-gratuitati {
    background: linear-gradient(135deg, #f0fff4 0%, #e6fffa 100%);
    border: 2px solid #9ae6b4;
}

.pm-cat-gratuitati .pm-category-title {
    color: #276749;
}

.pm-cat-gratuitati .pm-category-title::before {
    content: "🎁";
}

.pm-cat-gratuitati .pm-category-header {
    border-bottom-color: #9ae6b4;
}

/* Mega Promoții — roșu/portocaliu */
.pm-cat-mega-promotii {
    background: linear-gradient(135deg, #fff5f5 0%, #fffaf0 100%);
    border: 2px solid #feb2b2;
}

.pm-cat-mega-promotii .pm-category-title {
    color: #c53030;
}

.pm-cat-mega-promotii .pm-category-title::before {
    content: "🔥";
}

.pm-cat-mega-promotii .pm-category-header {
    border-bottom-color: #feb2b2;
}

/* Alte Promoții — albastru */
.pm-cat-alte-promotii {
    background: linear-gradient(135deg, #ebf8ff 0%, #f0f5ff 100%);
    border: 2px solid #90cdf4;
}

.pm-cat-alte-promotii .pm-category-title {
    color: #2b6cb0;
}

.pm-cat-alte-promotii .pm-category-title::before {
    content: "💰";
}

.pm-cat-alte-promotii .pm-category-header {
    border-bottom-color: #90cdf4;
}

/* Responsive */
@media (max-width: 768px) {
    .pm-products-by-category {
        gap: 30px;
    }

    .pm-category-section {
        padding: 15px;
    }

    .pm-category-title {
        font-size: 21px;
    }
}

/* Dark mode */
@media (prefers-color-scheme: dark) {
    .pm-cat-gratuitati,
    .pm-cat-mega-promotii,
    .pm-cat-alte-promotii,
    .pm-section-highlight {
        background: #2d3748;
    }

    .pm-category-count,
    .pm-category-description {
        color: #a0aec0;
    }
}

/* === Deschidere Gherla: pret GRATIS + badge === */
.pm-price-free{color:#E23333;font-weight:800;font-size:22px;text-transform:uppercase;font-family:'Roboto Condensed',sans-serif}
.pm-badge-free{background:#D53420;color:#fff;font-weight:700;text-transform:uppercase;padding:4px 12px;border-radius:4px}
.pm-price-crossed{text-decoration:line-through;color:#7A7A7A;font-weight:500;margin-left:6px}
