/* Global Template Styles */
.pm-custom-shop,
.pm-custom-product,
.pm-custom-landing {
    --pm-gold: #d4af37;
    --pm-gold-dark: #b8860b;
    --pm-silver: #c0c0c0;
    --pm-platinum: #e5e4e2;
    --pm-palladium: #4a4a4a;
    --pm-dark: #1a1a1a;
    --pm-light: #f8f9fa;
}

/* Remove default theme margins/padding */
.pm-custom-shop .site-main,
.pm-custom-product .site-main,
.pm-custom-landing .site-main {
    padding: 0;
    margin: 0;
}

/* Hide default WooCommerce elements when using custom templates */
.pm-custom-shop .woocommerce-products-header,
.pm-custom-shop .woocommerce-notices-wrapper {
    display: none;
}

/* Smooth transitions for all elements */
.pm-custom-shop *,
.pm-custom-product *,
.pm-custom-landing * {
    transition: all 0.3s ease;
}

/* Loading states */
.pm-loading {
    opacity: 0.6;
    pointer-events: none;
    position: relative;
}

.pm-loading::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid #f3f3f3;
    border-top: 2px solid var(--pm-gold);
    border-radius: 50%;
    animation: pm-spin 1s linear infinite;
}

@keyframes pm-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Responsive grid utilities */
.pm-grid {
    display: grid;
    gap: 20px;
}

.pm-grid-1 { grid-template-columns: 1fr; }
.pm-grid-2 { grid-template-columns: repeat(2, 1fr); }
.pm-grid-3 { grid-template-columns: repeat(3, 1fr); }
.pm-grid-4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 768px) {
    .pm-grid-2,
    .pm-grid-3,
    .pm-grid-4 {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .pm-grid-3,
    .pm-grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }
}