/**
 * WS Annuleerknop - Frontend Styles
 *
 * @author    Wouter Bredewold - De Websmid
 * @copyright Copyright (c) 2025 De Websmid
 */

/* Cancel Button Container */
.ws-annuleerknop-container {
    margin: 20px 0;
    padding: 15px;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    background-color: #fafafa;
}

.ws-annuleerknop-container.ws-position-before {
    margin-bottom: 20px;
}

.ws-annuleerknop-container.ws-position-after {
    margin-top: 20px;
}

.ws-annuleerknop-info {
    margin-bottom: 10px;
}

.ws-days-remaining {
    font-size: 14px;
    color: #666;
    margin: 0 0 10px 0;
}

/* Cancel Button */
.ws-annuleerknop-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 600;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    text-decoration: none !important;
    transition: opacity 0.2s ease, transform 0.1s ease;
}

.ws-annuleerknop-btn:hover {
    opacity: 0.9;
    color: #ffffff !important;
    text-decoration: none !important;
}

.ws-annuleerknop-btn:active {
    transform: scale(0.98);
}

.ws-annuleerknop-btn .material-icons {
    font-size: 18px;
}

/* Footer Strip + Pill */
.cancel-order-strip {
    border-top: 1px solid #dcdcdc;
    text-align: center;
    padding: 18px 0;
}

.cancel-order-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 18px;
    border: 1px solid #2fb5d2;
    border-radius: 999px;
    color: #2fb5d2;
    font-size: 13.5px;
    font-weight: 600;
    background: #fff;
    text-decoration: none;
    transition: background .15s ease, color .15s ease;
}

.cancel-order-pill:hover,
.cancel-order-pill:focus-visible {
    background: #2fb5d2;
    color: #fff;
    text-decoration: none;
}

.cancel-order-pill:focus-visible {
    outline: 2px solid #2fb5d2;
    outline-offset: 2px;
}

.cancel-order-pill__icon {
    width: 14px;
    height: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Customer Account Link */
#ws-annuleerknop-account-link .link-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

#ws-annuleerknop-account-link .material-icons {
    font-size: 36px;
    color: #dc3545;
    margin-bottom: 10px;
}

/* Confirmation Page */
.ws-annuleerknop-confirm .ws-policy-text {
    margin-bottom: 20px;
}

.ws-annuleerknop-confirm .ws-order-summary {
    margin-bottom: 20px;
}

.ws-annuleerknop-confirm .ws-order-products {
    margin-top: 15px;
}

.ws-annuleerknop-confirm .ws-cancel-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 20px;
}

/* Guest Cancel Form */
.ws-annuleerknop-guest .ws-form-intro {
    margin-bottom: 20px;
    color: #666;
}

.ws-annuleerknop-guest .ws-error-list {
    margin: 0;
    padding-left: 20px;
    list-style: disc;
}

.ws-annuleerknop-guest .form-group {
    margin-bottom: 15px;
}

.ws-annuleerknop-guest label sup {
    color: #dc3545;
}

/* Success Page */
.ws-annuleerknop-success .alert-success h4 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.ws-annuleerknop-success .ws-cancel-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

/* Error Page */
.ws-annuleerknop-error .alert-danger h4 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.ws-annuleerknop-error .ws-cancel-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

/* Submit Button States */
.ws-submit-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: opacity 0.2s ease;
}

.ws-submit-btn:disabled,
.ws-submit-btn.ws-submitting {
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
}

/* Responsive */
@media (max-width: 768px) {
    .ws-annuleerknop-confirm .ws-cancel-actions,
    .ws-annuleerknop-success .ws-cancel-actions,
    .ws-annuleerknop-error .ws-cancel-actions {
        flex-direction: column;
    }

    .ws-annuleerknop-confirm .ws-cancel-actions .btn,
    .ws-annuleerknop-success .ws-cancel-actions .btn,
    .ws-annuleerknop-error .ws-cancel-actions .btn {
        width: 100%;
        justify-content: center;
    }
}
