/* =========================================================
   FORMULARZE
========================================================= */

form {

    margin-top: 25px;

}

label {

    display: block;

    margin-bottom: 8px;

    font-weight: bold;

}

input,
textarea,
select {

    width: 100%;

    padding: 12px 14px;

    margin-bottom: 20px;

    border: 1px solid rgba(255,255,255,.15);

    border-radius: 10px;

    background: rgba(255,255,255,.05);

    color: white;

    font-size: 15px;

    transition: .25s;

}

textarea {

    resize: vertical;

    min-height: 120px;

}

input:focus,
textarea:focus,
select:focus {

    outline: none;

    border-color: #4da3ff;

    box-shadow: 0 0 10px rgba(77,163,255,.25);

}

::placeholder {

    color: #94a3b8;

}


/* =========================================================
   KARTY FORMULARZY
========================================================= */

.form-card {

    background: rgba(255,255,255,.04);

    border: 1px solid rgba(255,255,255,.12);

    border-radius: 16px;

    padding: 30px;

    margin-top: 25px;

    max-width: 900px;

}


/* =========================================================
   RADIO I CHECKBOX
========================================================= */

input[type="radio"],
input[type="checkbox"] {

    width: auto;

    padding: 0;

    margin: 0;

    accent-color: #4da3ff;

}


/* =========================================================
   WYBÓR TRYBU DOSTĘPU DO ALBUMU
========================================================= */

.access-options {

    display: grid;

    gap: 14px;

    margin-top: 18px;

    margin-bottom: 24px;

}

.access-option {

    position: relative;

    display: block;

    margin: 0;

    padding: 18px 20px;

    border: 1px solid rgba(255,255,255,.12);

    border-radius: 14px;

    background: rgba(255,255,255,.045);

    cursor: pointer;

    transition:
        background .20s ease,
        border-color .20s ease,
        box-shadow .20s ease,
        transform .20s ease;

}

.access-option:hover {

    background: rgba(255,255,255,.075);

    border-color: rgba(255,255,255,.20);

}

.access-option:has(
    input[type="radio"]:checked
) {

    border-color: #4da3ff;

    background: rgba(77,163,255,.12);

    box-shadow:
        0 0 0 1px rgba(77,163,255,.18),
        0 8px 24px rgba(0,0,0,.18);

}

.access-option-row {

    display: flex;

    align-items: flex-start;

    gap: 14px;

}

.access-option input[type="radio"] {

    flex-shrink: 0;

    margin-top: 4px;

}

.access-option-content {

    flex: 1;

    min-width: 0;

}

.access-option-title {

    display: block;

    color: #ffffff;

    font-size: 17px;

    font-weight: 700;

    line-height: 1.3;

}

.access-option-description {

    display: block;

    margin-top: 6px;

    color: #aeb9c5;

    font-size: 14px;

    font-weight: 400;

    line-height: 1.45;

}


/* =========================================================
   WYBRANI UŻYTKOWNICY
========================================================= */

.selected-users-box {

    margin-top: 16px;

    padding: 18px;

    border: 1px solid rgba(255,255,255,.10);

    border-radius: 12px;

    background: rgba(0,0,0,.16);

}

.selected-users-title {

    margin-bottom: 14px;

    font-weight: 600;

}

.selected-user {

    display: flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 12px;

    font-weight: 500;

    cursor: pointer;

}

.selected-user:last-child {

    margin-bottom: 0;

}

.selected-user input[type="checkbox"] {

    flex-shrink: 0;

}


/* =========================================================
   RESPONSYWNOŚĆ
========================================================= */

@media (max-width: 700px) {

    .access-option {

        padding: 16px;

    }

    .access-option-title {

        font-size: 16px;

    }

    .access-option-description {

        font-size: 13px;

    }

    .selected-users-box {

        padding: 15px;

    }

    .form-card {

        padding: 20px;

    }

}