/* GDPR Consent Checkbox Styles */

/* Hide marketing consent checkboxes (can be reactivated later) */
.consent-checkbox-group:has(#marketingConsent),
.consent-checkbox-group:has(#booking-marketing-consent),
.consent-checkbox-group:has(#contact-marketing-consent) {
    display: none;
}

/* Fallback for browsers that don't support :has() */
#marketingConsent,
#booking-marketing-consent,
#contact-marketing-consent {
    /* Keep in DOM but hidden for potential future activation */
}

.gdpr-consent-container {
    margin: 1.5rem 0;
    padding: 1rem;
    background: rgba(42, 42, 42, 0.5);
    border: 1px solid rgba(103, 217, 252, 0.2);
    border-radius: 0.375rem;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.consent-checkbox-group {
    margin-bottom: 1rem;
}

.consent-checkbox-group:last-child {
    margin-bottom: 0;
}

.consent-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    cursor: pointer;
    line-height: 1.5;
    color: #d1d5db;
    font-size: 0.9rem;
}

/* Hide default checkbox */
.consent-checkbox {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

/* Custom checkbox */
.checkmark {
    position: relative;
    height: 18px;
    width: 18px;
    background-color: transparent;
    border: 2px solid rgba(103, 217, 252, 0.5);
    border-radius: 3px;
    flex-shrink: 0;
    margin-top: 2px;
    transition: all 0.3s ease;
}

/* Hover effect */
.consent-checkbox-label:hover .checkmark {
    border-color: #67d9fc;
    background-color: rgba(103, 217, 252, 0.1);
}

/* Checked state */
.consent-checkbox:checked + .checkmark {
    background-color: #67d9fc;
    border-color: #67d9fc;
}

/* Checkmark icon */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show checkmark when checked */
.consent-checkbox:checked + .checkmark:after {
    display: block;
}

/* Style the checkmark */
.consent-checkbox-label .checkmark:after {
    left: 5px;
    top: 1px;
    width: 4px;
    height: 8px;
    border: solid #242424;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.consent-text {
    flex: 1;
}

/* Privacy policy link styling */
.privacy-link {
    color: #67d9fc;
    text-decoration: underline;
    transition: color 0.3s ease;
}

.privacy-link:hover {
    color: #5bc5e8;
}

/* Required field indicator */
.consent-text::after {
    content: "";
}

/* Error state for required consent */
.consent-checkbox-group.error .checkmark {
    border-color: #ef4444;
    animation: shake 0.5s ease-in-out;
}

.consent-checkbox-group.error .consent-text {
    color: #ef4444;
}

/* Shake animation for validation errors */
@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-3px); }
    75% { transform: translateX(3px); }
}

/* Focus styles for accessibility */
.consent-checkbox:focus + .checkmark {
    outline: 2px solid #67d9fc;
    outline-offset: 2px;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .gdpr-consent-container {
        margin: 1rem 0;
        padding: 0.75rem;
    }
    
    .consent-checkbox-label {
        font-size: 0.85rem;
        gap: 0.5rem;
    }
    
    .checkmark {
        height: 16px;
        width: 16px;
    }
    
    .consent-checkbox-label .checkmark:after {
        left: 4px;
        top: 1px;
        width: 3px;
        height: 7px;
    }
}