/* Base Store Compliance Plugin Styles */

.bsc-checkboxes-wrapper {
    margin: 20px 0;
    padding: 15px;
    background: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.bsc-checkout-checkboxes {
    margin: 20px 0;
    padding: 15px;
    background: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.bsc-terms-checkbox,
.bsc-marketing-checkbox,
.bsc-terms-checkout,
.bsc-marketing-checkout,
.bsc-select-all-wrapper {
    margin-bottom: 15px !important;
}

/* Stylowanie checkboxa "Zaznacz wszystko" */
.bsc-select-all-wrapper {
    border-bottom: 1px solid #ddd;
    padding-bottom: 10px;
    margin-bottom: 20px !important;
}

.bsc-select-all-checkbox {
    background: #f0f8ff;
    padding: 8px;
    border-radius: 3px;
    border: 1px solid #c0d8f0;
}

.bsc-select-all-checkbox label {
    font-weight: bold !important;
    color: #2c5aa0 !important;
}

.bsc-terms-checkbox label,
.bsc-marketing-checkbox label,
.bsc-terms-checkout label,
.bsc-marketing-checkout label {
    display: block !important;
    line-height: 1.5 !important;
    font-size: 14px !important;
    margin: 0 !important;
    cursor: pointer;
}

.bsc-terms-checkbox input[type="checkbox"],
.bsc-marketing-checkbox input[type="checkbox"],
.bsc-terms-checkout input[type="checkbox"],
.bsc-marketing-checkout input[type="checkbox"],
.bsc-select-all-checkbox input[type="checkbox"] {
    margin-right: 10px !important;
    margin-top: 3px !important;
    flex-shrink: 0;
    width: 16px !important;
    height: 16px !important;
}

/* Specjalne stylowanie dla checkboxa "zaznacz wszystko" */
.bsc-select-all-checkbox input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    accent-color: #2c5aa0;
}

/* Stan indeterminate dla "zaznacz wszystko" */
.bsc-select-all-checkbox input[type="checkbox"]:indeterminate {
    background-color: #2c5aa0;
    border-color: #2c5aa0;
}


.bsc-terms-checkbox .checkmark,
.bsc-marketing-checkbox .checkmark,
.bsc-terms-checkout .checkmark,
.bsc-marketing-checkout .checkmark {
    flex-grow: 1;
}

.bsc-terms-checkbox .required,
.bsc-terms-checkout .required {
    color: #ff0000;
    font-weight: bold;
}

/* Responsive design */
@media (max-width: 768px) {
    .bsc-checkboxes-wrapper,
    .bsc-checkout-checkboxes {
        padding: 10px;
        margin: 15px 0;
    }
    
    .bsc-terms-checkbox label,
    .bsc-marketing-checkbox label,
    .bsc-terms-checkout label,
    .bsc-marketing-checkout label,
    .bsc-select-all-checkbox label {
        font-size: 13px !important;
    }
    
    .bsc-select-all-checkbox {
        padding: 6px;
    }
    
    .bsc-select-all-checkbox input[type="checkbox"] {
        width: 16px !important;
        height: 16px !important;
    }
}

/* Error styling */
.woocommerce .woocommerce-error .bsc-terms-error {
    color: #e2401c;
}

.bsc-individual-checkbox.error {
    border-color: #e2401c !important;
    box-shadow: 0 0 0 2px rgba(226, 64, 28, 0.2) !important;
}

.bsc-individual-checkbox.error + .checkmark {
    border-color: #e2401c !important;
}

.error-message {
    color: #e2401c !important;
    font-size: 12px !important;
    display: block !important;
    margin-top: 5px !important;
    font-weight: normal !important;
}

/* Zapewnienie że błędy są widoczne w checkout */
.woocommerce-checkout .bsc-individual-checkbox.error {
    animation: shake 0.3s ease-in-out;
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-2px); }
    75% { transform: translateX(2px); }
}

/* Focus states for accessibility */
.bsc-terms-checkbox input[type="checkbox"]:focus,
.bsc-marketing-checkbox input[type="checkbox"]:focus,
.bsc-terms-checkout input[type="checkbox"]:focus,
.bsc-marketing-checkout input[type="checkbox"]:focus,
.bsc-select-all-checkbox input[type="checkbox"]:focus {
    outline: 2px solid #007cba;
    outline-offset: 2px;
}

/* Hover effects for select all checkbox */
.bsc-select-all-checkbox:hover {
    background: #e8f4fd;
    border-color: #a0c8e8;
}

.bsc-select-all-checkbox input[type="checkbox"]:hover {
    border-color: #2c5aa0;
}

/* Dark theme support */
.woocommerce.dark-theme .bsc-checkboxes-wrapper,
.woocommerce.dark-theme .bsc-checkout-checkboxes {
    background: #2c2c2c;
    border-color: #444;
    color: #fff;
}

/* Integration with popular themes */
.storefront .bsc-checkboxes-wrapper,
.storefront .bsc-checkout-checkboxes {
    border-radius: 6px;
}

.astra-theme .bsc-checkboxes-wrapper,
.astra-theme .bsc-checkout-checkboxes {
    font-family: inherit;
}

.oceanwp .bsc-checkboxes-wrapper,
.oceanwp .bsc-checkout-checkboxes {
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
