/**
 * Frontend Styles for Universal Color Customizer
 */

:root {
    --ucc-primary: #0073aa;
    --ucc-secondary: #23282d;
    --ucc-text: #333333;
    --ucc-link: #0073aa;
    --ucc-link-hover: #00a0d2;
    --ucc-button: #0073aa;
    --ucc-header-bg: #ffffff;
    --ucc-footer-bg: #f5f5f5;
    --ucc-transition: all 0.3s ease;
}

/* Global styles */
body {
    color: var(--ucc-text, #333);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    line-height: 1.6;
    transition: background-color 0.3s ease;
}

a, a:visited {
    color: var(--ucc-link, #0073aa);
    text-decoration: none;
    transition: var(--ucc-transition);
}

a:hover, a:focus {
    color: var(--ucc-link-hover, #00a0d2);
    text-decoration: underline;
}

/* Button styles */
button, 
.button, 
input[type="submit"], 
input[type="button"],
.wp-block-button__link {
    background-color: var(--ucc-button, #0073aa);
    color: #ffffff;
    border: none;
    padding: 12px 24px;
    border-radius: 4px;
    font-size: 16px;
    cursor: pointer;
    transition: var(--ucc-transition);
    display: inline-block;
    text-align: center;
    line-height: 1.4;
}

button:hover, 
.button:hover, 
input[type="submit"]:hover, 
input[type="button"]:hover,
.wp-block-button__link:hover {
    background-color: var(--ucc-link-hover, #00a0d2);
    color: #ffffff;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

button:active, 
.button:active, 
input[type="submit"]:active, 
input[type="button"]:active,
.wp-block-button__link:active {
    transform: translateY(0);
    box-shadow: none;
}

/* Header styles */
header, 
.site-header {
    background-color: var(--ucc-header-bg, #ffffff);
    transition: var(--ucc-transition);
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

/* Footer styles */
footer, 
.site-footer {
    background-color: var(--ucc-footer-bg, #f5f5f5);
    transition: var(--ucc-transition);
    padding: 30px 0;
}

/* Color utility classes */
.primary-color,
.has-primary-color {
    color: var(--ucc-primary, #0073aa) !important;
}

.primary-bg,
.has-primary-background {
    background-color: var(--ucc-primary, #0073aa) !important;
}

.secondary-color,
.has-secondary-color {
    color: var(--ucc-secondary, #23282d) !important;
}

.secondary-bg,
.has-secondary-background {
    background-color: var(--ucc-secondary, #23282d) !important;
}

/* Background styles */
body {
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-position: center;
    min-height: 100vh;
}

/* Elementor compatibility */
.elementor-widget-button .elementor-button {
    background-color: var(--ucc-button, #0073aa) !important;
    color: #ffffff !important;
    transition: var(--ucc-transition) !important;
}

.elementor-widget-button .elementor-button:hover {
    background-color: var(--ucc-link-hover, #00a0d2) !important;
}

.elementor-section {
    transition: background-color 0.3s ease;
}

/* WooCommerce compatibility */
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button {
    background-color: var(--ucc-button, #0073aa) !important;
    color: #ffffff !important;
    transition: var(--ucc-transition) !important;
}

.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover {
    background-color: var(--ucc-link-hover, #00a0d2) !important;
    color: #ffffff !important;
}

.woocommerce .primary-color {
    color: var(--ucc-primary, #0073aa);
}

.woocommerce .primary-bg {
    background-color: var(--ucc-primary, #0073aa);
}

/* Gutenberg compatibility */
.wp-block-button__link {
    background-color: var(--ucc-button, #0073aa) !important;
    transition: var(--ucc-transition) !important;
}

.wp-block-button__link:hover {
    background-color: var(--ucc-link-hover, #00a0d2) !important;
}

.wp-block-cover {
    transition: background-color 0.3s ease;
}

/* Dynamic classes for Method 4 */
.ucc-dynamic-color {
    color: var(--ucc-primary, #0073aa);
}

.ucc-dynamic-bg {
    background-color: var(--ucc-secondary, #23282d);
}

.ucc-dynamic-border {
    border-color: var(--ucc-primary, #0073aa);
}

/* Responsive styles */
@media (max-width: 767px) {
    body {
        font-size: 14px;
    }
    
    button, 
    .button, 
    input[type="submit"] {
        padding: 10px 20px;
        font-size: 14px;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    body {
        font-size: 15px;
    }
}

@media (min-width: 1024px) {
    body {
        font-size: 16px;
    }
}

/* Animation for smooth transitions */
* {
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

/* Accessibility improvements */
:focus {
    outline: 2px solid var(--ucc-primary, #0073aa);
    outline-offset: 2px;
}

/* Print styles */
@media print {
    body {
        color: #000;
        background: #fff;
    }
    
    a, a:visited {
        color: #000;
        text-decoration: underline;
    }
}