/* ============================================
   PrixFrance - Custom Styles
   Additional styling & overrides
   ============================================ */

/* WooCommerce overrides (if installed) */
.woocommerce .products { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--pf-gap-xl); }
.woocommerce .products li.product { margin: 0; padding: 0; float: none; width: auto; }
.woocommerce ul.products li.product .price { color: var(--pf-secondary); font-weight: 700; font-family: var(--pf-font-heading); }
.woocommerce a.button, .woocommerce button.button { 
    background: var(--pf-secondary) !important; 
    color: var(--pf-white) !important; 
    border-radius: var(--pf-radius-md) !important;
    font-family: var(--pf-font-heading) !important;
    font-weight: 600 !important;
    padding: 10px 24px !important;
    transition: all var(--pf-transition) !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover { 
    background: var(--pf-secondary-dark) !important; 
    transform: translateY(-2px);
}

/* Rank Math breadcrumbs override */
.rank-math-breadcrumb { 
    padding: var(--pf-gap-md) 0;
    font-size: 0.85rem;
}
.rank-math-breadcrumb a { color: var(--pf-dark-gray); }
.rank-math-breadcrumb a:hover { color: var(--pf-secondary); }

/* Elementor compatibility */
.elementor-page .pf-section { padding: 0; }
.elementor-page .pf-hero { display: none; }

/* ACF field styling in admin */
.acf-fields .acf-field { border-color: var(--pf-light-gray); }

/* Gravity Forms / CF7 styling */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea,
.gfield input,
.gfield textarea {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid var(--pf-light-gray);
    border-radius: var(--pf-radius-md);
    font-size: 1rem;
    font-family: var(--pf-font-body);
    transition: border-color var(--pf-transition);
}
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 textarea:focus {
    outline: none;
    border-color: var(--pf-primary);
}
.wpcf7 input[type="submit"] {
    background: var(--pf-secondary);
    color: var(--pf-white);
    border: none;
    padding: 14px 36px;
    border-radius: var(--pf-radius-md);
    font-family: var(--pf-font-heading);
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    transition: all var(--pf-transition);
}
.wpcf7 input[type="submit"]:hover { 
    background: var(--pf-secondary-dark); 
    transform: translateY(-2px);
}

/* TablePress compatibility */
.tablepress { border-collapse: collapse; width: 100%; }
.tablepress th { background: var(--pf-primary); color: var(--pf-white); padding: 12px 16px; }
.tablepress td { padding: 12px 16px; border-bottom: 1px solid var(--pf-light-gray); }
.tablepress .odd td { background: var(--pf-off-white); }
.tablepress .row-hover tr:hover td { background: rgba(242,101,34,0.04); }

/* Cookie consent bar (basic) */
.pf-cookie-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--pf-charcoal);
    color: var(--pf-white);
    padding: var(--pf-gap-lg);
    z-index: 10000;
    display: none;
    align-items: center;
    justify-content: center;
    gap: var(--pf-gap-lg);
    font-size: 0.9rem;
}
.pf-cookie-bar--visible { display: flex; }
.pf-cookie-bar a { color: var(--pf-secondary-light); }

/* WordPress block editor compatibility */
.wp-block-image { margin: var(--pf-gap-xl) 0; }
.wp-block-image img { border-radius: var(--pf-radius-md); }
.wp-block-quote { 
    border-left: 4px solid var(--pf-secondary);
    padding: var(--pf-gap-md) var(--pf-gap-lg);
    background: var(--pf-off-white);
}
.wp-block-table table { border-collapse: collapse; width: 100%; }
.wp-block-table th { background: var(--pf-primary); color: var(--pf-white); padding: 10px 14px; }
.wp-block-table td { padding: 10px 14px; border-bottom: 1px solid var(--pf-light-gray); }

/* Disclosure affiliate badge */
.pf-affiliate-disclosure {
    background: rgba(242,101,34,0.06);
    border: 1px solid rgba(242,101,34,0.2);
    border-radius: var(--pf-radius-sm);
    padding: 8px 14px;
    font-size: 0.8rem;
    color: var(--pf-dark-gray);
    margin-bottom: var(--pf-gap-lg);
    display: inline-block;
}

/* Product page CTA pulse animation */
@keyframes pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(242,101,34,0.4); }
    50% { box-shadow: 0 0 0 10px rgba(242,101,34,0); }
}
.pf-btn--affiliate:not(:hover) {
    animation: pulse 2.5s infinite;
}

/* Selection styling */
::selection {
    background: var(--pf-secondary);
    color: var(--pf-white);
}

/* Focus visible for accessibility */
:focus-visible {
    outline: 3px solid var(--pf-secondary);
    outline-offset: 2px;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
