{% extends "base.html" %} {% block title %}Edit {{ collection.name }} — Collections{% endblock %} {% block styles %} .edit-page { max-width: 720px; } .edit-header { margin-bottom: 1.5rem; } .breadcrumb-link { font-family: var(--serif-body); font-size: 0.8rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--accent); text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; } .breadcrumb-link:hover { text-decoration: underline; } .page-title { font-family: var(--serif-display); font-size: clamp(1.4rem, 4vw, 1.8rem); font-weight: 400; margin: 0.4rem 0 0; border: none; padding: 0; } .edit-section { border-top: 1px solid rgba(42,77,58,0.15); padding: 1.5rem 0; } .section-heading { font-family: var(--serif-body); font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); font-weight: 400; margin: 0 0 1rem; border: none; padding: 0; } .field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.5rem; margin-bottom: 1rem; } .field-grid--thirds { grid-template-columns: 1fr 1fr 1fr; } .field-full { grid-column: 1 / -1; } @media (max-width: 560px) { .field-grid, .field-grid--thirds { grid-template-columns: 1fr; } } .field { display: flex; flex-direction: column; gap: 0.3rem; } .field label { font-family: var(--serif-body); font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); } .field input, .field select, .field textarea { font-family: var(--serif-body); font-size: 0.95rem; padding: 0.4rem 0.6rem; border: 1px solid rgba(42,77,58,0.25); border-radius: 2px; background: #fff; color: inherit; width: 100%; } .field textarea { resize: vertical; } .field input:focus, .field select:focus, .field textarea:focus { outline: 2px solid var(--accent); outline-offset: 1px; } .form-actions { display: flex; gap: 0.75rem; align-items: center; padding-top: 0.75rem; } /* ── Members ─────────────────────────────────────────────────── */ .member-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 0.75rem; margin-bottom: 1.5rem; } .member-card { border: 1px solid var(--rule); border-radius: 2px; overflow: hidden; display: flex; flex-direction: column; } .member-card-image { aspect-ratio: 3/4; background: var(--cream); overflow: hidden; } .member-card-image img { width: 100%; height: 100%; object-fit: cover; display: block; } .member-card-body { padding: 0.35rem 0.4rem 0.4rem; } .member-card-name { font-size: 0.72rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .member-card-meta { font-size: 0.66rem; color: var(--muted); } /* ── Add members ─────────────────────────────────────────────── */ .add-members-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 0.6rem; max-height: 400px; overflow-y: auto; border: 1px solid var(--rule); border-radius: 2px; padding: 0.75rem; margin-bottom: 0.75rem; } .add-member-label { display: flex; flex-direction: column; gap: 0.3rem; cursor: pointer; } .add-member-label input[type="checkbox"] { position: absolute; opacity: 0; width: 0; height: 0; } .add-member-thumb { aspect-ratio: 3/4; background: var(--cream); overflow: hidden; border-radius: 2px; border: 2px solid transparent; transition: border-color 0.12s; } .add-member-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; } .add-member-label input:checked + .add-member-thumb { border-color: var(--accent); } .add-member-name { font-size: 0.66rem; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } /* ── Danger zone ─────────────────────────────────────────────── */ .danger-zone { margin-top: 2rem; border-top: 1px solid rgba(139,35,32,0.25); padding-top: 1.5rem; } .danger-inner { display: flex; align-items: center; gap: 2rem; flex-wrap: wrap; } .danger-inner p { font-size: 0.88rem; color: var(--muted); margin: 0; flex: 1; min-width: 200px; } /* ── Buttons ─────────────────────────────────────────────────── */ .btn { font-family: var(--serif-body); font-size: 0.82rem; letter-spacing: 0.08em; text-transform: uppercase; padding: 0.45rem 1.1rem; border-radius: 2px; border: 1px solid transparent; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; white-space: nowrap; } .btn--primary { background: var(--accent); color: #fff; border-color: var(--accent); } .btn--primary:hover { background: #1e3829; } .btn--ghost { background: none; color: var(--accent); border-color: rgba(42,77,58,0.3); } .btn--ghost:hover { background: rgba(42,77,58,0.06); } .btn--danger { background: none; color: var(--red); border-color: rgba(139,35,32,0.4); } .btn--danger:hover { background: #fdecea; } .btn--small { font-size: 0.72rem; padding: 0.3rem 0.75rem; } {% endblock %} {% block content %}
No members yet.
{% endif %} {# Add members #} {% if non_members %}Delete this collection. The garments themselves are not affected.