/* „Afiș De vânzare” (/utile/afis-de-vanzare): formularul, previzualizarea A4 și legăturile de jos. Prefix .af- */
.af-wrap { display: grid; gap: 22px; align-items: start; }
@media (min-width: 980px) { .af-wrap { grid-template-columns: minmax(0, 1fr) minmax(0, 430px); } }
.af-form { display: grid; gap: 14px; min-width: 0; }
.af-block { border: 1px solid var(--ut-line); border-radius: var(--ut-radius); background: #fff; padding: 16px; margin: 0; min-width: 0; display: grid; gap: 10px; }
.af-block legend { font-weight: 800; color: var(--ut-ink); padding: 0 6px; font-size: 1rem; }
.af-block legend small, .af-f small { font-weight: 500; color: var(--ut-muted); }
.af-f { display: grid; gap: 6px; font-size: .9rem; font-weight: 600; color: var(--ut-ink); }
.af-energy { display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.af-energy[hidden], .af-f[hidden], .af-err[hidden] { display: none; }
.af-seg { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; background: var(--ut-line-soft); padding: 4px; border-radius: 12px; }
.af-seg label { position: relative; }
.af-seg input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.af-seg span { display: flex; align-items: center; justify-content: center; min-height: 42px; border-radius: 9px; font-weight: 700; color: var(--ut-text); }
.af-seg input:checked + span { background: #fff; color: var(--ut-ink); box-shadow: 0 1px 3px rgba(15, 23, 42, .15); }
.af-seg input:focus-visible + span { outline: 2px solid var(--ut-primary); outline-offset: 2px; }
.af-check { display: flex; align-items: center; gap: 10px; min-height: 40px; font-size: .92rem; color: var(--ut-ink); cursor: pointer; }
.af-check input { width: 20px; height: 20px; accent-color: var(--ut-primary); flex: none; }
.af-models { display: grid; gap: 8px; }
@media (min-width: 560px) { .af-models { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.af-model { position: relative; }
.af-model input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.af-model span { display: grid; gap: 2px; height: 100%; padding: 10px 12px; border: 1.5px solid var(--ut-line); border-radius: 12px; background: #fff; }
.af-model b { color: var(--ut-ink); font-size: .93rem; }
.af-model small { color: var(--ut-muted); font-size: .8rem; line-height: 1.35; }
.af-model input:checked + span { border-color: var(--ut-primary); box-shadow: 0 0 0 3px rgba(37, 99, 235, .15); }
.af-model input:focus-visible + span { outline: 2px solid var(--ut-primary); outline-offset: 2px; }
.af-colors { display: flex; gap: 10px; flex-wrap: wrap; }
.af-color { position: relative; width: 44px; height: 44px; border-radius: 50%; cursor: pointer; box-shadow: inset 0 0 0 2px rgba(15, 23, 42, .12); }
.af-color input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.af-color:has(input:checked) { box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--ut-ink); }
.af-color:has(input:focus-visible) { outline: 2px solid var(--ut-primary); outline-offset: 4px; }
.af-color--galben { background: #FACC15; }
.af-color--rosu { background: #DC2626; }
.af-color--albastru { background: #2563EB; }
.af-color--verde { background: #16A34A; }
.af-err { margin: 0; color: #b91c1c; font-size: .86rem; font-weight: 600; }
.af-err a { color: inherit; }
.af-preview { display: grid; gap: 12px; min-width: 0; }
@media (min-width: 980px) { .af-preview { position: sticky; top: 84px; } }
.af-sheet { background: #e2e8f0; border-radius: var(--ut-radius); padding: 14px; }
.af-sheet canvas { display: block; width: 100%; max-width: 420px; height: auto; aspect-ratio: 210 / 297; margin: 0 auto; background: #fff; box-shadow: 0 8px 26px rgba(15, 23, 42, .22); }
.af-actions { display: grid; gap: 8px; }
@media (min-width: 560px) and (max-width: 979px) { .af-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.af-actions .ut-btn { justify-content: center; min-height: 46px; }
.af-status { margin: 0; min-height: 1.2em; font-size: .88rem; color: var(--ut-muted); }
.af-status--bad { color: #b91c1c; font-weight: 600; }
.af-online { border-radius: var(--ut-radius); padding: 16px; background: linear-gradient(135deg, #1e3a8a, #2563eb); color: #e0e7ff; display: grid; gap: 8px; }
.af-online strong { display: flex; gap: 8px; align-items: center; color: #fff; font-size: 1rem; line-height: 1.35; }
.af-online p { margin: 0; font-size: .9rem; line-height: 1.55; }
.af-online .ut-btn { justify-self: start; }
.af-links { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); }
.af-links a { display: grid; gap: 4px; padding: 14px 16px; border: 1px solid var(--ut-line); border-radius: 12px; background: #fff; text-decoration: none; color: var(--ut-ink); }
.af-links a:hover { border-color: var(--ut-primary); }
.af-links span { color: var(--ut-muted); font-size: .88rem; line-height: 1.45; }
