/* Base radio button class */
.order-form-radio-btn {
    cursor: pointer;
    border: 1.5px solid transparent;
}

/* Common radio button wrapper styles */
.order-form-radio-btn-wrapper-row {
    display: flex;
    flex-direction: row;
    gap: 8px;
}

.order-form-radio-btn-wrapper-column {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.gap-8px {
    gap: 8px;
}

.gap-12px {
    gap: 12px;
}

/* disable hover on touch */
@media (hover: hover) and (pointer: fine) {
    .order-form-radio-btn:hover {
        border: 1.5px solid var(--interaction-pink);
    }

    .order-form-radio-btn.disabled-option:hover {
        border: unset;
    }
}

/* Focus states for keyboard navigation accessibility */
/* Base focus styles - apply to all breakpoints */
.order-form-radio-btn:focus-visible,
.order-form-vehicle-radio-btn:focus-visible {
    outline: 2px solid var(--interaction-blue);
    outline-offset: 2px;
    border-radius: var(--vehicle-btn-radius-mobile, 12px);
}

/* Desktop override - only border-radius changes */
/* Breakpoint: 1257px (--breakpoint-desktop-min in order_form_common.css) */
@media screen and (min-width: 1257px) {
    .order-form-radio-btn:focus-visible,
    .order-form-vehicle-radio-btn:focus-visible {
        border-radius: var(--vehicle-btn-radius-desktop, 16px);
    }
}

.disabled-option:focus-visible {
    outline: 2px solid var(--secondary-grey);
    opacity: 0.6;
}

.order-form-radio-btn-selected {
    border: 1.5px solid var(--interaction-pink);
    background-color: var(--interaction-pink-light);
    font-weight: 700;
}

.order-form-radio-btn-select-wrapper {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Simple radio button input */
.order-form-simple-radio-btn-input {
    display: flex;
    align-items: center;
    width: 100%;
    height: 50px;
    padding: 10px 14px 10px 14px;
    gap: 12px;
    border-radius: 12px;
    box-shadow: 0px 0px 6px 0px var(--outline-blue);
    background-color: var(--white);

    font-size: 14px;
    font-weight: 400;
    line-height: 14px;

    cursor: pointer;
}


.order-form-delivery-time-type-radio-btn {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 98px;
    padding: 24px 12px 24px 12px;
    gap: 12px;
    border-radius: 12px;

    box-shadow: 0px 0px 6px 0px var(--outline-blue);
    background-color: var(--white);

    cursor: pointer;
}

@media screen and (min-width: 370px) {
    .order-form-delivery-time-type-radio-btn-title {
        font-size: 16px;
        font-weight: 700;
        line-height: 16px;
    }

    .order-form-delivery-time-type-radio-btn-description {
        font-size: 16px;
        font-weight: 400;
        line-height: 16px;
    }
}

@media screen and (max-width: 370px) {
    .order-form-delivery-time-type-radio-btn-title {
        font-size: 14px;
        font-weight: 700;
        line-height: 14px;
    }

    .order-form-delivery-time-type-radio-btn-description {
        font-size: 14px;
        font-weight: 400;
        line-height: 14px;
    }
}

.order-form-delivery-time-type-radio-btn-left-column {
    display: flex;
    flex-direction: column;
    gap: 12px;
}


.order-form-delivery-time-type-radio-btn-from-price {
    font-size: 14px;
    font-weight: 700;
    line-height: 14px;
    width: fit-content;
}

/* Desktop breakpoint: 1257px (--breakpoint-desktop-min) */
@media screen and (min-width: 1257px) {
    .order-form-timeslot {
        font-size: 18px;
        font-weight: 500;
        line-height: 18px;
    }

    .order-form-timeslot-from-price {
        font-size: 18px;
        font-weight: 700;
        line-height: 18px;
        display: flex;
        gap: 8px;
        align-items: center;
    }

}

/* Mobile/Tablet breakpoint: max-width 1257px (--breakpoint-mobile-max) */
@media screen and (max-width: 1257px) {
    .order-form-timeslot {
        font-size: 14px;
        font-weight: 500;
        line-height: 14px;
    }

    .order-form-timeslot-from-price {
        font-size: 14px;
        font-weight: 700;
        line-height: 14px;

        display: flex;
        gap: 8px;
        align-items: center;
    }

}

.order-form-delivery-timeslot-radio-btn {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 65px;
    padding: 12px 16px 12px 16px;
    gap: 12px;
    border-radius: 12px;

    box-shadow: 0px 0px 6px 0px var(--outline-blue);
    background-color: var(--white);

    cursor: pointer;
}

.order-form-delivery-timeslot-radio-btn-left-column {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: end;
}



.order-form-timeslot-info {
    font-size: 14px;
    font-weight: 500;
    line-height: 14px;
}

.disabled-option {
    opacity: 0.5;
}

/* Base vehicle radio button styles - common to both mobile and desktop */
.order-form-vehicle-radio-btn {
    display: flex;
    flex-direction: row;
    width: 100%;
    min-height: 140px;
    height: auto;
    border: 1.5px solid transparent;
    box-shadow: 0px 0px 6px 0px var(--outline-blue);
    background-color: var(--white);
    cursor: pointer;
}

.order-form-vehicle-radio-btn.order-form-radio-btn-selected {
    border: 1.5px solid var(--interaction-pink);
    background-color: var(--interaction-pink-light);
    font-weight: 700;
}

/* Base badge class - consolidates duplicate badge styles */
.vehicle-card-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    white-space: nowrap;
}

/* Inline badge variant */
.vehicle-card-badge--inline {
    padding: var(--vehicle-badge-padding-inline);
    border-radius: var(--vehicle-badge-radius-inline);
    font-size: var(--vehicle-badge-font-size-inline);
    line-height: var(--vehicle-badge-line-height-inline);
    min-height: var(--vehicle-badge-min-height-inline);
    height: var(--vehicle-badge-min-height-inline);
    width: fit-content;
}

/* Full badge variant */
.vehicle-card-badge--full {
    padding: var(--vehicle-badge-padding-full);
    border-radius: var(--vehicle-badge-radius-full);
    font-size: var(--vehicle-badge-font-size-full);
    line-height: var(--vehicle-badge-line-height-full);
    width: 100%;
    max-width: 220px;
}

/* Badge type modifiers */
.vehicle-card-badge--max-weight {
    background-color: var(--outline-blue);
    color: var(--dark-text);
}

.vehicle-card-badge--item-weight {
    background-color: var(--warning-bg-color);
    color: var(--dark-text);
}

/* Legacy full badges - kept for any non-template usage (e.g. vehicle-card-badges grid layout)
 * Migration: .vehicle-card-max-weight → vehicle-card-badge vehicle-card-badge--full vehicle-card-badge--max-weight
 * Migration: .vehicle-card-item-weight → vehicle-card-badge vehicle-card-badge--full vehicle-card-badge--item-weight
 */
.vehicle-card-max-weight,
.vehicle-card-item-weight {
    /* Base badge properties (from .vehicle-card-badge) */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    white-space: nowrap;
    /* Full variant properties (from .vehicle-card-badge--full) */
    padding: var(--vehicle-badge-padding-full);
    border-radius: var(--vehicle-badge-radius-full);
    font-size: var(--vehicle-badge-font-size-full);
    line-height: var(--vehicle-badge-line-height-full);
    width: 100%;
    max-width: 220px;
}

.vehicle-card-max-weight {
    /* Max-weight modifier (from .vehicle-card-badge--max-weight) */
    background-color: var(--outline-blue);
    color: var(--dark-text);
}

.vehicle-card-item-weight {
    /* Item-weight modifier (from .vehicle-card-badge--item-weight) */
    background-color: var(--warning-bg-color);
    color: var(--dark-text);
}
