/* Shared FS pickup request component: public website and authenticated workspace. */
.fs-pickup-choice-modal,
.fs-pickup-form-modal .modal-content {
    border:0!important;
    border-top:3px solid var(--fs-primary, #1000c4)!important;
    border-radius:14px!important;
    box-shadow:0 22px 60px rgba(24,29,67,.22)!important;
}
.fs-pickup-choice-modal .modal-header,
.fs-pickup-form-modal .modal-header {
    align-items:flex-start;
    border-bottom:1px solid var(--fs-border, #e3e6f3);
}
.fs-pickup-choice-modal .modal-header > div,
.fs-pickup-form-modal .modal-header > div {
    min-width:0;
    padding-right:.75rem;
}
.fs-pickup-modal-title {
    margin:0;
    color:var(--fs-ink, #20263a)!important;
    font-family:inherit!important;
    font-size:1.18rem!important;
    font-weight:800!important;
    line-height:1.25;
}
.fs-pickup-close {
    display:grid;
    width:38px;
    height:38px;
    flex:0 0 38px;
    place-items:center;
    padding:0;
    color:#606a7d;
    background:#f2f3f8;
    border:0;
    border-radius:50%;
    font-size:1.5rem;
    line-height:1;
}
.fs-pickup-close:hover,
.fs-pickup-close:focus { color:#fff;background:var(--fs-primary, #1000c4);outline:0; }
.fs-pickup-service-option {
    display:flex!important;
    min-height:126px;
    flex-direction:column;
    align-items:flex-start!important;
    justify-content:center;
    padding:1rem!important;
    border-radius:12px!important;
    text-align:left!important;
    white-space:normal!important;
}
.fs-pickup-service-option strong { display:block;margin-bottom:.35rem;font-size:1.08rem; }
.fs-pickup-service-option span { display:block;line-height:1.45; }
.fs-pickup-progress-link {
    display:flex;
    gap:.5rem;
    align-items:center;
    justify-content:center;
    color:var(--fs-primary, #1000c4);
    font-size:.88rem;
    font-weight:800;
    text-align:center;
    text-decoration:none;
}
.fs-pickup-form-modal { padding:0!important; }
.fs-pickup-form-modal .modal-dialog {
    width:calc(100% - 2rem)!important;
    max-width:920px!important;
    height:calc(100vh - 2rem)!important;
    height:calc(100dvh - 2rem)!important;
    max-height:900px!important;
    margin:1rem auto!important;
}
.fs-pickup-form-modal .modal-content {
    display:flex!important;
    height:100%!important;
    max-height:100%!important;
    flex-direction:column!important;
    overflow:hidden!important;
}
.fs-pickup-form-modal .modal-header,
.fs-pickup-form-modal .modal-footer { flex:0 0 auto;background:#fff; }
.fs-pickup-modal-form {
    display:flex!important;
    flex:1 1 auto!important;
    min-height:0!important;
    flex-direction:column!important;
    overflow:hidden!important;
}
.fs-pickup-modal-body {
    flex:1 1 auto!important;
    min-width:0!important;
    min-height:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
}
.fs-pickup-modal-body:focus { outline:0; }
.fs-pickup-modal-body .row { --bs-gutter-x:1rem; }
.fs-pickup-modal-body .form-group { min-width:0;margin-bottom:1rem; }
.fs-pickup-modal-body .form-control,
.fs-pickup-modal-body .form-select,
.fs-pickup-modal-body .custom-select,
.fs-pickup-modal-body select { width:100%!important;max-width:100%!important;min-height:44px; }
.fs-pickup-modal-body textarea.form-control { min-height:88px; }
.fs-pickup-modal-actions {
    border-top:1px solid var(--fs-border, #e3e6f3)!important;
    box-shadow:0 -8px 22px rgba(24,29,67,.06);
}
.fs-pickup-location-row > div:first-child { min-width:0;overflow-wrap:anywhere; }
.fs-pickup-location-distance { flex:0 0 auto; }

@media (max-width:767.98px) {
    .fs-pickup-choice-modal-wrap { padding:0!important; }
    .fs-pickup-choice-modal-wrap .modal-dialog { width:calc(100% - 1rem);margin:.5rem auto; }
    .fs-pickup-choice-modal .modal-header,
    .fs-pickup-choice-modal .modal-body,
    .fs-pickup-form-modal .modal-header,
    .fs-pickup-form-modal .modal-body,
    .fs-pickup-form-modal .modal-footer { padding:.9rem 1rem!important; }
    .fs-pickup-choice-modal .pickup-request > [class*="col-"] { margin-top:0!important; }
    .fs-pickup-service-option { min-height:98px; }
    .fs-pickup-form-modal .modal-dialog {
        width:calc(100% - 1rem)!important;
        height:calc(100vh - 1rem)!important;
        height:calc(100dvh - 1rem)!important;
        max-height:calc(100vh - 1rem)!important;
        max-height:calc(100dvh - 1rem)!important;
        margin:.5rem auto!important;
    }
    .fs-pickup-form-modal .modal-header small { display:block;margin-top:.2rem;line-height:1.35; }
    .fs-pickup-modal-body .form-control,
    .fs-pickup-modal-body .form-select,
    .fs-pickup-modal-body select { font-size:16px!important; }
    .fs-pickup-modal-actions {
        display:grid!important;
        grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);
        gap:.5rem;
        padding-bottom:calc(.9rem + env(safe-area-inset-bottom))!important;
    }
    .fs-pickup-modal-actions .btn { width:100%;margin:0!important;white-space:normal; }
    .fs-pickup-location-row { flex-direction:column;align-items:stretch!important;gap:.6rem; }
    .fs-pickup-location-distance { margin-left:0!important;margin-right:0!important;text-align:left!important; }
}

@media (max-width:420px) {
    .fs-pickup-modal-actions { grid-template-columns:1fr!important; }
    .fs-pickup-modal-actions .btn-primary { grid-row:1; }
    .fs-pickup-modal-title { font-size:1.05rem!important; }
}
