/* Archteca · the platform layer (acervo only; built by plataforma.js): accounts, collections, people, discovery,
   creating, and the states around them. Same tokens, radii and motion as the rest (tokens.css, acervo.css). */

/* ---------- Dialogs: a card in the middle on a computer, a sheet from the bottom on a phone ---------- */
.pl-veil { position: fixed; inset: 0; z-index: var(--z-sheet-veil); background: rgba(12, 12, 12, .32); opacity: 0; transition: opacity var(--dur-base) var(--ease); }
.pl-veil.on { opacity: 1; }
.pl-dlg { position: fixed; left: 50%; top: 50%; z-index: var(--z-sheet); display: flex; flex-direction: column; width: min(440px, calc(100% - 32px)); max-height: min(720px, 88vh);
  border-radius: var(--r-panel); background: var(--bg); box-shadow: var(--shadow-overlay); opacity: 0; transform: translate(-50%, calc(-50% + 12px)); transition: opacity var(--dur-quick) var(--ease), transform var(--dur-base) var(--ease); }
.pl-dlg.on { opacity: 1; transform: translate(-50%, -50%); }
.pl-dlg.wide { width: min(820px, calc(100% - 32px)); height: min(640px, 88vh); }
.pl-dlg.mid { width: min(560px, calc(100% - 32px)); }
.pl-dlg + .pl-veil, .pl-veil.top { z-index: var(--z-top); } .pl-dlg.top { z-index: var(--z-top); }
.pl-h { flex: none; display: flex; align-items: center; gap: var(--s-12); min-height: 60px; padding: var(--s-8) var(--s-12) var(--s-8) var(--s-24); }
.pl-h h2 { flex: 1; min-width: 0; margin: 0; font-size: var(--fs-xl); font-weight: 600; letter-spacing: -.01em; }
.pl-x, .pl-back { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 50%; color: var(--muted); transition: background var(--dur-quick), color var(--dur-quick), transform var(--dur-quick) var(--spring); }
.pl-x:hover, .pl-back:hover { background: var(--surface); color: var(--ink); } .pl-x:active, .pl-back:active { transform: scale(.92); }
.pl-x svg { width: 14px; height: 14px; } .pl-back svg { width: 18px; height: 18px; } .pl-back { margin-left: calc(var(--s-12) * -1); }
.pl-b { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: var(--s-4) var(--s-24) var(--s-24); }
.pl-f { flex: none; display: flex; align-items: center; justify-content: flex-end; gap: var(--s-10); padding: var(--s-14) var(--s-24) calc(var(--s-14) + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--line); }
.pl-f .sp { margin-right: auto; }
.pl-lede { margin: 0 0 var(--s-20); color: var(--muted); line-height: 1.5; }
.pl-fine { margin: var(--s-16) 0 0; color: var(--faint); font-size: var(--fs-sm); line-height: 1.5; }
.pl-in { animation: tile-in var(--dur-base) var(--ease) both; }
@media (max-width: 700px) {
  .pl-dlg, .pl-dlg.wide, .pl-dlg.mid { left: 0; right: 0; top: auto; bottom: 0; width: auto; height: auto; max-height: 92vh; max-height: 92svh; border-radius: var(--r-sheet) var(--r-sheet) 0 0; transform: translateY(100%); transition: transform var(--dur-slow) var(--ease), opacity var(--dur-quick); }
  .pl-dlg.on { transform: none; }
  .pl-dlg.wide { height: 92vh; height: 92svh; }
  .pl-h { padding-left: var(--s-20); } .pl-b { padding-inline: var(--s-20); } .pl-f { padding-inline: var(--s-20); }
}

/* ---------- Buttons, fields, switches ---------- */
.pl-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--s-8); height: 44px; padding: 0 var(--s-20); border-radius: var(--r-pill); background: var(--surface); font-size: var(--fs-base); font-weight: 500; white-space: nowrap;
  transition: background var(--dur-quick), color var(--dur-quick), opacity var(--dur-quick), transform var(--dur-base) var(--spring); }
.pl-btn:hover { background: var(--surface-2); } .pl-btn:active { transform: scale(.97); transition-duration: var(--dur-instant); }
.pl-btn.dark { background: var(--ink); color: var(--bg); } .pl-btn.dark:hover { background: #2b2b2b; }
.pl-btn.line { background: none; box-shadow: inset 0 0 0 1px rgba(17, 17, 17, .16); } .pl-btn.line:hover { box-shadow: inset 0 0 0 1px rgba(17, 17, 17, .4); }
.pl-btn.danger { background: #b3261e; color: #fff; } .pl-btn.danger:hover { background: #9a1f18; }
.pl-btn.full { width: 100%; } .pl-btn.sm { height: 34px; padding: 0 var(--s-14); font-size: var(--fs-md); }
.pl-btn:disabled { opacity: .38; pointer-events: none; }
.pl-btn.busy { pointer-events: none; } .pl-btn.busy::before { content: ""; width: 14px; height: 14px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: pl-spin .7s linear infinite; }
.pl-btn svg { width: 16px; height: 16px; }
@keyframes pl-spin { to { transform: rotate(360deg); } }
.pl-link { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--faint); } .pl-link:hover { text-decoration-color: currentColor; }
.pl-fields { display: grid; gap: var(--s-14); }
.pl-fld { display: grid; gap: var(--s-6); }
.pl-fld > span { display: flex; justify-content: space-between; gap: var(--s-12); color: var(--muted); font-size: var(--fs-md); }
.pl-fld > span small { color: var(--faint); font-size: var(--fs-sm); font-variant-numeric: tabular-nums; }
.pl-inp { position: relative; display: flex; align-items: center; }
.pl-fld input, .pl-fld textarea, .pl-fld select { width: 100%; min-height: 46px; padding: 12px 14px; border: 0; border-radius: var(--r-option); background: var(--surface); color: var(--ink); font: inherit; font-size: var(--fs-input); line-height: 1.4; appearance: none; -webkit-appearance: none;
  transition: background var(--dur-quick), box-shadow var(--dur-quick); }
.pl-fld textarea { min-height: 92px; resize: vertical; }
.pl-fld input:focus, .pl-fld textarea:focus, .pl-fld select:focus { outline: none; background: var(--bg); box-shadow: var(--shadow-field-focus, 0 0 0 1.5px var(--ink)); }
.pl-fld input::placeholder, .pl-fld textarea::placeholder { color: var(--faint); }
.pl-fld.bad input, .pl-fld.bad textarea { box-shadow: 0 0 0 1.5px #b3261e; background: var(--bg); }
.pl-err { min-height: 0; color: #b3261e; font-size: var(--fs-md); animation: tile-in var(--dur-base) var(--ease); }
.pl-hint { color: var(--faint); font-size: var(--fs-md); }
.pl-eye { position: absolute; right: 6px; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: var(--muted); } .pl-eye:hover { color: var(--ink); background: var(--surface-2); } .pl-eye svg { width: 18px; height: 18px; }
.pl-inp:has(.pl-eye) input { padding-right: 48px; }
.pl-pre { position: absolute; left: 14px; color: var(--muted); pointer-events: none; } .pl-inp:has(.pl-pre) input { padding-left: 30px; }
.pl-row { display: flex; align-items: center; justify-content: space-between; gap: var(--s-20); padding: var(--s-14) 0; border-top: 1px solid var(--line); }
.pl-row:first-child { border-top: 0; }
.pl-row > span { display: grid; gap: 3px; min-width: 0; } .pl-row b { font-size: var(--fs-lg); font-weight: 500; } .pl-row small { color: var(--muted); font-size: var(--fs-md); line-height: 1.45; }
.pl-seg { display: inline-flex; flex: none; padding: 3px; border-radius: var(--r-pill); background: var(--surface); }
.pl-seg button { height: 32px; padding: 0 var(--s-14); border-radius: var(--r-pill); color: var(--muted); font-size: var(--fs-md); transition: background var(--dur-quick), color var(--dur-quick); }
.pl-seg button[aria-pressed="true"] { background: var(--bg); color: var(--ink); box-shadow: var(--shadow-selected); }
.pl-saved { color: var(--muted); font-size: var(--fs-md); opacity: 0; transition: opacity var(--dur-base); } .pl-saved.on { opacity: 1; }
.pl-empty { display: grid; justify-items: center; gap: var(--s-14); padding: var(--s-56) var(--s-20); text-align: center; color: var(--muted); }
.pl-empty b { color: var(--ink); font-size: var(--fs-xl); font-weight: 600; } .pl-empty p { margin: 0; max-width: 40ch; line-height: 1.5; }

/* ---------- Menus: a dropdown on a computer, an action sheet on a phone ---------- */
.pl-menu { position: fixed; z-index: var(--z-top); min-width: 230px; max-width: calc(100vw - 24px); padding: var(--s-6); border-radius: var(--r-card); background: var(--bg); box-shadow: var(--shadow-raised);
  opacity: 0; transform: translateY(-6px) scale(.98); transform-origin: var(--ox, 100%) 0; transition: opacity var(--dur-quick) var(--ease), transform var(--dur-base) var(--ease); }
.pl-menu.on { opacity: 1; transform: none; }
.pl-mi { display: flex; align-items: center; gap: var(--s-10); width: 100%; min-height: 42px; padding: 0 var(--s-10); border-radius: var(--r-option); color: var(--ink); font-size: var(--fs-base); text-align: left; transition: background var(--dur-instant); }
.pl-mi:hover, .pl-mi:focus-visible { background: var(--surface); outline: none; }
.pl-mi svg { flex: none; width: 18px; height: 18px; color: var(--muted); }
.pl-mi small { margin-left: auto; color: var(--muted); font-size: var(--fs-md); }
.pl-mi.danger, .pl-mi.danger svg { color: #b3261e; }
.pl-mi > img { flex: none; width: 28px; height: 28px; border-radius: 50%; object-fit: cover; }
.pl-mi > span { display: grid; min-width: 0; } .pl-mi > span > small { margin: 0; }
.pl-msep { height: 1px; margin: var(--s-6) var(--s-10); background: var(--line); }
.pl-mrow { display: flex; align-items: center; justify-content: space-between; gap: var(--s-12); min-height: 42px; padding: 0 var(--s-4) 0 var(--s-10); font-size: var(--fs-base); }
@media (max-width: 700px) {
  .pl-menu { left: 0 !important; right: 0 !important; top: auto !important; bottom: 0; min-width: 0; max-width: none; padding: var(--s-10) var(--s-10) calc(var(--s-10) + env(safe-area-inset-bottom, 0px)); border-radius: var(--r-sheet) var(--r-sheet) 0 0;
    transform: translateY(100%); transition: transform var(--dur-slow) var(--ease), opacity var(--dur-quick); }
  .pl-menu.on { transform: none; }
  .pl-mi { min-height: 50px; padding: 0 var(--s-12); font-size: var(--fs-lg); } .pl-mrow { min-height: 50px; padding-left: var(--s-12); font-size: var(--fs-lg); }
}

/* ---------- The header: Entrar when signed out; Criar and Atividade beside the portrait ---------- */
html.pl-out .head .me { display: none; }
.pl-enter { display: none; } html.pl-out .pl-enter { display: inline-flex; height: 36px; padding: 0 var(--s-16); }
.pl-hb { position: relative; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: var(--ink); transition: background var(--dur-quick), transform var(--dur-quick) var(--spring); }
.pl-hb:hover { background: var(--surface); } .pl-hb:active { transform: scale(.92); } .pl-hb svg { width: 20px; height: 20px; }
.pl-hb .dot { position: absolute; right: 7px; top: 7px; width: 8px; height: 8px; border-radius: 50%; background: #d64f2a; box-shadow: 0 0 0 2px var(--bg); }
html.pl-out .pl-hb { display: none; }
html.perfil-novo .head .me-t { display: none; } html.perfil-novo .head .me { width: 40px; height: 40px; padding: 0; justify-content: center; background: none; cursor: pointer; }
html.perfil-novo .head .me-av { width: 34px; height: 34px; }
@media (max-width: 700px) { .pl-hb { display: none; } }

/* ---------- Entrar / Criar conta ---------- */
.pl-auth { display: grid; gap: var(--s-20); padding-top: var(--s-8); }
.pl-auth h3 { margin: 0; font-size: var(--fs-2xl); font-weight: 600; letter-spacing: -.02em; line-height: 1.15; text-wrap: balance; }
.pl-auth > p { margin: calc(var(--s-12) * -1) 0 0; color: var(--muted); line-height: 1.5; }
.pl-auth .alt { display: flex; justify-content: space-between; gap: var(--s-12); font-size: var(--fs-md); color: var(--muted); }
.pl-done { display: grid; justify-items: start; gap: var(--s-14); padding: var(--s-8) 0 var(--s-4); }
.pl-done .ok { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--ink); color: var(--bg); animation: pl-pop var(--dur-slow) var(--spring) both; } .pl-done .ok svg { width: 22px; height: 22px; }
@keyframes pl-pop { from { transform: scale(.6); opacity: 0; } }

/* ---------- Configurações ---------- */
.pl-set { display: grid; grid-template-columns: 220px minmax(0, 1fr); flex: 1; min-height: 0; }
.pl-set nav { display: flex; flex-direction: column; gap: 2px; padding: var(--s-4) var(--s-12) var(--s-16); border-right: 1px solid var(--line); overflow-y: auto; }
.pl-set nav button { display: flex; align-items: center; gap: var(--s-10); min-height: 42px; padding: 0 var(--s-12); border-radius: var(--r-option); color: var(--muted); font-size: var(--fs-base); text-align: left; transition: background var(--dur-instant), color var(--dur-quick); }
.pl-set nav button:hover { background: var(--surface); color: var(--ink); } .pl-set nav button[aria-current="true"] { background: var(--surface); color: var(--ink); font-weight: 500; }
.pl-set nav svg { width: 18px; height: 18px; }
.pl-set .pane { min-width: 0; overflow-y: auto; overscroll-behavior: contain; padding: var(--s-4) var(--s-28) var(--s-28); }
.pl-set .pane h3 { margin: 0 0 var(--s-20); font-size: var(--fs-2xl); font-weight: 600; letter-spacing: -.02em; }
.pl-set .who { display: flex; align-items: center; gap: var(--s-14); margin-bottom: var(--s-20); } .pl-set .who img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.pl-zone { margin-top: var(--s-32); padding-top: var(--s-20); border-top: 1px solid var(--line); }
@media (max-width: 700px) {
  .pl-set { grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr); }
  .pl-set nav { flex-direction: row; gap: var(--s-6); padding: 0 var(--s-20) var(--s-12); border-right: 0; border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: none; }
  .pl-set nav::-webkit-scrollbar { display: none; }
  .pl-set nav button { flex: none; min-height: 36px; padding: 0 var(--s-14); border-radius: var(--r-pill); } .pl-set nav svg { display: none; }
  .pl-set .pane { padding: var(--s-20); }
}

/* ---------- Collections ---------- */
.pl-colls { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--s-28) var(--s-16); padding-bottom: var(--s-64); }
.pl-coll { display: grid; gap: var(--s-4); min-width: 0; text-align: left; transition: transform var(--dur-base) var(--ease); }
.pl-coll:active { transform: scale(.98); transition-duration: var(--dur-instant); }
.pl-coll b { display: flex; align-items: center; gap: var(--s-6); margin-top: var(--s-8); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--fs-base); font-weight: 500; }
.pl-coll b svg { flex: none; width: 14px; height: 14px; color: var(--muted); }
.pl-coll small { color: var(--muted); font-size: var(--fs-md); }
.pl-cv { display: grid; aspect-ratio: 4 / 3; gap: 2px; overflow: hidden; border-radius: var(--r-img); background: var(--surface); color: var(--faint); transition: filter var(--dur-quick); }
.pl-cv img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.pl-cv.n2 { grid-template-columns: 1fr 1fr; } .pl-cv.n3 { grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; } .pl-cv.n3 img:first-child { grid-row: 1 / 3; }
.pl-cv.n0, .pl-cv.none { place-items: center; } .pl-cv > svg { width: 28px; height: 28px; }
.pl-coll.new .pl-cv { background: none; box-shadow: inset 0 0 0 1px rgba(17, 17, 17, .14); color: var(--ink); transition: box-shadow var(--dur-quick); } .pl-coll.new:hover .pl-cv { box-shadow: inset 0 0 0 1px rgba(17, 17, 17, .4); }
.pl-coll:hover .pl-cv img { filter: brightness(.96); }
.pl-cpage { padding-bottom: var(--s-96); }
/* A collection's photos as a mosaic (equal columns, each photo at its own height), and the ideas under it */
.pl-mos { display: flex; align-items: flex-start; gap: var(--s-12); }
.pl-mcol { display: flex; flex: 1; flex-direction: column; gap: var(--s-12); min-width: 0; }
.pl-ideas { padding-top: var(--s-40); }
.pl-ideas-t { display: flex; align-items: center; gap: var(--s-16); margin: 0 0 var(--s-24); color: var(--muted); font-size: var(--fs-base); font-weight: 500; }
.pl-ideas-t::before, .pl-ideas-t::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.pl-add { position: absolute; top: 12px; right: 12px; z-index: 1; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: rgba(255, 255, 255, .94); box-shadow: var(--shadow-on-photo); transition: background var(--dur-quick), transform var(--dur-base) var(--spring); }
.pl-add:hover { background: #fff; } .pl-add:active { transform: scale(.92); transition-duration: var(--dur-instant); } .pl-add svg { width: 16px; height: 16px; }
.pl-ideas-more { display: flex; justify-content: center; padding-top: var(--s-32); }
.pl-ideas-more .pl-btn svg { transform: rotate(-90deg); }
@media (max-width: 559px) { .pl-mos, .pl-mcol { gap: var(--s-6); } .pl-add { top: 8px; right: 8px; } }
.pl-ch { display: grid; justify-items: start; gap: var(--s-10); padding: var(--s-32) 0 var(--s-28); }
.pl-crumb { display: inline-flex; align-items: center; gap: var(--s-6); height: 36px; margin-left: calc(var(--s-4) * -1); padding-right: var(--s-10); color: var(--muted); font-size: var(--fs-base); transition: color var(--dur-quick); }
.pl-crumb:hover { color: var(--ink); } .pl-crumb svg { width: 18px; height: 18px; transition: transform var(--dur-quick) var(--ease); } .pl-crumb:hover svg { transform: translateX(-2px); }
.pl-ch h2 { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-12); margin: var(--s-8) 0 0; font-size: var(--fs-title); font-weight: 600; letter-spacing: -.03em; line-height: 1.05; }
.pl-tag { display: inline-flex; align-items: center; gap: var(--s-4); height: 26px; padding: 0 var(--s-10); border-radius: var(--r-pill); background: var(--surface); color: var(--muted); font-size: var(--fs-md); font-weight: 400; letter-spacing: 0; } .pl-tag svg { width: 13px; height: 13px; }
.pl-ch .desc { margin: 0; max-width: 60ch; color: var(--muted); font-size: var(--fs-lg); line-height: 1.5; } .pl-ch .meta { margin: 0; color: var(--muted); }
.pl-acts { display: flex; flex-wrap: wrap; gap: var(--s-8); margin-top: var(--s-12); }
/* a collection: centred, the back arrow alone in a round button in the corner, the owner's face before the @ */
.pl-ch.coll { justify-items: center; text-align: center; }
.pl-ch.coll > .pl-crumb.ic { justify-self: start; }
.pl-ch.coll h2 { justify-content: center; }
.pl-ch.coll .desc { margin-inline: auto; }
.pl-ch.coll .pl-acts { justify-content: center; }
.pl-crumb.ic { justify-content: center; width: 40px; height: 40px; margin: 0; padding: 0; border-radius: 50%; background: var(--surface); color: var(--ink); transition: background var(--dur-quick); }
.pl-crumb.ic:hover { background: var(--surface-2); }
.pl-ch .meta .who { display: inline-flex; align-items: center; gap: var(--s-6); vertical-align: middle; color: var(--ink); }
.pl-ch .meta .who img { width: 22px; height: 22px; border-radius: 50%; object-fit: cover; background: var(--surface); }
.pl-act { display: inline-flex; align-items: center; gap: var(--s-8); height: 40px; padding: 0 var(--s-16) 0 var(--s-12); border-radius: var(--r-pill); background: var(--surface); font-size: var(--fs-base); font-weight: 500; transition: background var(--dur-quick), transform var(--dur-base) var(--spring), opacity var(--dur-quick); }
.pl-act:hover { background: var(--surface-2); } .pl-act:active { transform: scale(.96); transition-duration: var(--dur-instant); } .pl-act:disabled { opacity: .38; pointer-events: none; } .pl-act svg { width: 18px; height: 18px; }
.pl-pick { display: grid; grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); gap: var(--s-8); }
.pl-pick.org { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: var(--s-12); padding-bottom: 120px; }
.pl-pk { position: relative; aspect-ratio: 1; overflow: hidden; border-radius: var(--r-thumb, 10px); background: var(--surface); transition: transform var(--dur-base) var(--spring), box-shadow var(--dur-quick); }
.pl-pick.org .pl-pk { border-radius: var(--r-img); }
.pl-pk img { width: 100%; height: 100%; object-fit: cover; transition: opacity var(--dur-quick); }
.pl-pk .ck { position: absolute; right: 8px; top: 8px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: rgba(255, 255, 255, .92); color: transparent; box-shadow: var(--shadow-mark); transition: background var(--dur-quick), color var(--dur-quick), transform var(--dur-base) var(--spring); } .pl-pk .ck svg { width: 14px; height: 14px; }
.pl-pk[aria-pressed="true"] { box-shadow: 0 0 0 2px var(--bg), 0 0 0 4px var(--ink); transform: scale(.94); } .pl-pk[aria-pressed="true"] .ck { background: var(--ink); color: var(--bg); transform: scale(1.08); }
.pl-pk:active { transform: scale(.96); }
.pl-org-t { margin: 0 0 var(--s-16); color: var(--muted); }
.pl-obar { position: fixed; z-index: var(--z-bar); left: 50%; bottom: calc(20px + env(safe-area-inset-bottom, 0px)); display: flex; align-items: center; gap: var(--s-8); max-width: calc(100% - 24px); padding: var(--s-8) var(--s-8) var(--s-8) var(--s-20); border-radius: var(--r-pill); background: var(--bg); box-shadow: var(--shadow-raised); transform: translateX(-50%); animation: pl-rise var(--dur-slow) var(--ease) both; }
.pl-obar b { margin-right: var(--s-8); font-weight: 500; white-space: nowrap; font-variant-numeric: tabular-nums; }
@keyframes pl-rise { from { opacity: 0; transform: translate(-50%, 16px); } }
@media (max-width: 700px) {
  .pl-colls { grid-template-columns: 1fr 1fr; gap: var(--s-20) var(--s-10); } .pl-ch { padding-top: var(--s-16); }
  .pl-pick.org { grid-template-columns: 1fr 1fr; } .pl-obar { padding-left: var(--s-14); gap: var(--s-6); } .pl-obar b { margin-right: var(--s-2); font-size: var(--fs-md); } .pl-obar .pl-btn.sm { padding: 0 var(--s-10); }
  html.acervo-new body:has(.pl-obar) .head-c { opacity: 0; pointer-events: none; }
}

/* ---------- People ---------- */
.pl-ph { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: var(--s-24); padding: var(--s-20) 0 var(--s-32); }
.pl-ph .av { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; }
.pl-ph h2 { margin: 0; font-size: var(--fs-title); font-weight: 600; letter-spacing: -.03em; line-height: 1.05; }
.pl-ph .meta { margin: var(--s-6) 0 0; color: var(--muted); } .pl-ph .bio { margin: var(--s-12) 0 0; max-width: 52ch; font-size: var(--fs-lg); line-height: 1.5; }
.pl-ph .stats { display: flex; gap: var(--s-20); margin-top: var(--s-14); }
.pl-stat { color: var(--muted); } .pl-stat b { color: var(--ink); font-weight: 500; font-variant-numeric: tabular-nums; } .pl-stat:hover { color: var(--ink); }
.pl-ph .pl-acts { margin-top: var(--s-4); } .pl-act.ic { width: 40px; padding: 0; justify-content: center; }
.pl-sub { margin: var(--s-8) 0 var(--s-20); font-size: var(--fs-2xl); font-weight: 600; letter-spacing: -.02em; } .pl-sub small { color: var(--muted); font-size: var(--fs-base); font-weight: 400; letter-spacing: 0; }
.pl-pd { display: grid; gap: var(--s-14); padding-top: var(--s-4); } .pl-pd .pl-seg { justify-self: start; max-width: 100%; overflow-x: auto; }
.pl-pd input[type="search"] { width: 100%; min-height: 44px; padding: 10px 14px; border: 0; border-radius: var(--r-pill); background: var(--surface); font: inherit; font-size: var(--fs-input); -webkit-appearance: none; appearance: none; } .pl-pd input[type="search"]:focus { outline: none; background: var(--bg); box-shadow: var(--shadow-field-focus, 0 0 0 1.5px var(--ink)); }
.pl-plist { display: grid; gap: 2px; margin-inline: calc(var(--s-10) * -1); min-height: 200px; align-content: start; }
.pl-prow { display: flex; align-items: center; gap: var(--s-12); min-width: 0; padding: var(--s-8) var(--s-10); border-radius: var(--r-option); cursor: pointer; transition: background var(--dur-instant); }
.pl-prow:hover, .pl-prow:focus-visible { background: var(--surface); outline: none; }
.pl-prow > img { flex: none; width: 40px; height: 40px; border-radius: 50%; object-fit: cover; } .pl-prow > img.th { border-radius: var(--r-thumb, 8px); }
.pl-prow > span { display: grid; flex: 1; min-width: 0; } .pl-prow b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; } .pl-prow .line { white-space: normal; line-height: 1.4; } .pl-prow .line b { white-space: normal; }
.pl-prow small { color: var(--muted); font-size: var(--fs-md); } .pl-prow small.t { flex: none; }
/* Explore's strands */
.pl-strands { display: flex; gap: var(--s-24); margin-bottom: var(--s-20); }
.pl-strands button { position: relative; height: 40px; color: var(--muted); font-size: var(--fs-lg); font-weight: 500; transition: color var(--dur-quick); }
.pl-strands button::after { content: ""; position: absolute; left: 0; right: 0; bottom: 4px; height: 1.5px; background: var(--ink); transform: scaleX(0); transform-origin: left; transition: transform var(--dur-base) var(--ease); }
.pl-strands button[aria-selected="true"] { color: var(--ink); } .pl-strands button[aria-selected="true"]::after { transform: none; } .pl-strands button:hover { color: var(--ink); }
.pl-following { display: grid; grid-template-columns: minmax(0, 640px) 300px; justify-content: center; gap: var(--s-56); padding-bottom: var(--s-96); }
.pl-following[hidden] { display: none; }
.pl-evs { display: grid; gap: var(--s-40); align-content: start; }
.pl-ev { display: grid; gap: var(--s-10); animation: tile-in var(--dur-slow) var(--ease) both; } .pl-ev .pl-prow { margin-inline: calc(var(--s-10) * -1); } .pl-ev p { margin: 0; color: var(--muted); } .pl-ev p b { color: var(--ink); font-weight: 500; }
.pl-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--s-6); }
.pl-strip button { aspect-ratio: 3 / 4; overflow: hidden; border-radius: var(--r-thumb, 10px); background: var(--surface); transition: transform var(--dur-base) var(--ease); } .pl-strip button:active { transform: scale(.97); }
.pl-strip img { width: 100%; height: 100%; object-fit: cover; }
.pl-sug { position: sticky; top: calc(var(--head) + var(--s-24)); align-self: start; display: grid; gap: 2px; } .pl-sug h3 { margin: 0 0 var(--s-10); font-size: var(--fs-base); font-weight: 500; color: var(--muted); } .pl-sug .pl-prow { margin-inline: calc(var(--s-10) * -1); }
@media (max-width: 900px) {
  .pl-following { grid-template-columns: minmax(0, 1fr); gap: var(--s-32); } .pl-sug { position: static; order: -1; }
  .pl-ph { grid-template-columns: auto minmax(0, 1fr); gap: var(--s-16); padding: var(--s-24) 0; } .pl-ph .av { width: 64px; height: 64px; } .pl-ph .pl-acts { grid-column: 1 / -1; }
}

/* ---------- Discovery ---------- */
.pl-disc { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-40); margin-bottom: var(--s-20); } .pl-disc section { min-width: 0; } .pl-disc[hidden], .pl-selpage[hidden] { display: none; }
.pl-disc h2, .pl-h2 { margin: 0 0 var(--s-16); font-size: var(--fs-xl); font-weight: 600; letter-spacing: -.01em; } .pl-h2 { margin: 0; }
.pl-rail { display: flex; gap: var(--s-12); margin-inline: calc(-1 * var(--gutter)); padding: 2px var(--gutter) var(--s-4); overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; scroll-padding-inline: var(--gutter); overscroll-behavior-x: contain; }
.pl-rail::-webkit-scrollbar { display: none; } .pl-rail > * { flex: none; scroll-snap-align: start; } .pl-rail .pl-coll { width: min(300px, 72vw); }
.pl-trend { display: inline-flex; align-items: center; gap: var(--s-10); height: 48px; padding: 0 var(--s-20) 0 var(--s-6); border-radius: var(--r-pill); background: var(--surface); font-size: var(--fs-base); transition: background var(--dur-quick), transform var(--dur-base) var(--spring); }
.pl-trend:hover { background: var(--surface-2); } .pl-trend:active { transform: scale(.97); transition-duration: var(--dur-instant); } .pl-trend img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.pl-selpage { padding-bottom: var(--s-96); }
/* Explore's macro filters, in place of the "Explorar referências" title; the colour at the far end */
.pl-mf { display: flex; align-items: center; gap: var(--s-8); margin: 0 0 var(--s-40); }
.pl-mf .ch { flex: none; height: 36px; padding: 0 var(--s-14); border-radius: var(--r-pill); background: var(--surface); color: var(--ink); font-size: var(--fs-base); font-weight: 500; transition: background var(--dur-quick), color var(--dur-quick); }
.pl-mf .ch:hover { background: var(--surface-2); }
.pl-mf .ch[aria-pressed="true"] { background: var(--ink); color: var(--bg); }
.pl-mf[hidden] { display: none; }
@media (max-width: 700px) { .pl-mf { margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); overflow-x: auto; scrollbar-width: none; } .pl-mf::-webkit-scrollbar { display: none; } .pl-mf .pl-colorb { flex: none; margin-left: var(--s-8); } }
.pl-strands { align-items: center; } .pl-colorb { display: inline-flex; align-items: center; gap: var(--s-8); height: 36px !important; margin-left: auto; padding: 0 var(--s-14) 0 var(--s-10); border-radius: var(--r-pill); background: var(--surface); color: var(--ink) !important; font-size: var(--fs-base) !important; font-weight: 400 !important; }
.pl-colorb::after { display: none; } .pl-colorb svg { width: 16px; height: 16px; } .pl-colorb .sw { width: 18px; height: 18px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(17, 17, 17, .12); } .pl-colorb .x { display: grid; place-items: center; width: 20px; height: 20px; margin-right: -6px; border-radius: 50%; } .pl-colorb .x svg { width: 10px; height: 10px; } .pl-colorb[hidden] { display: none; }
.pl-tonebox { display: grid; gap: var(--s-12); padding: var(--s-10); } .pl-tonebox b { font-weight: 500; }
.pl-tones { display: grid; grid-template-columns: repeat(6, 32px); gap: var(--s-8); }
.pl-tones button { width: 32px; height: 32px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(17, 17, 17, .1); transition: transform var(--dur-base) var(--spring); } .pl-tones button:hover { transform: scale(1.12); } .pl-tones button[aria-pressed="true"] { box-shadow: 0 0 0 2px var(--bg), 0 0 0 4px var(--ink); }
.pl-custom { display: flex; align-items: center; gap: var(--s-10); color: var(--muted); font-size: var(--fs-md); cursor: pointer; } .pl-custom input { width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: none; cursor: pointer; }
@media (max-width: 700px) { .pl-tones { grid-template-columns: repeat(6, 1fr); justify-items: center; } .pl-tones button { width: 40px; height: 40px; } }
/* a search's results by kind */
.pl-res { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-8) var(--s-24); padding: var(--s-20) 0 var(--s-16); } .pl-res[hidden], .pl-resbox[hidden] { display: none; }
.pl-res p { margin: 0; color: var(--muted); font-size: var(--fs-lg); } .pl-res p b { color: var(--ink); font-weight: 500; }
.pl-res .ctabs { max-width: 100%; }
main.pl-res-alt > :not(.pl-res):not(.pl-resbox):not(.vh) { display: none !important; }
.pl-resbox { padding-bottom: var(--s-96); } .pl-plist.wide { max-width: 560px; margin-inline: 0; }
html.acervo-new main:has(> .pl-res:not([hidden])) > .hero { display: none; }
@media (max-width: 700px) { html.acervo-new main:has(> .pl-res:not([hidden])) > .qrow { top: calc(env(safe-area-inset-top, 0px) + var(--head)); } .pl-res .ctabs { margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); overflow-x: auto; scrollbar-width: none; } }

/* ---------- Creating ---------- */
.pl-drop { display: grid; justify-items: center; gap: var(--s-6); width: 100%; padding: var(--s-40) var(--s-20); border-radius: var(--r-card); background: var(--surface); color: var(--ink); transition: background var(--dur-quick), box-shadow var(--dur-quick), transform var(--dur-base) var(--spring); }
.pl-drop:hover, .pl-drop.over { background: var(--surface-2); } .pl-drop.over { box-shadow: inset 0 0 0 2px var(--ink); } .pl-drop:active { transform: scale(.99); }
.pl-drop svg { width: 24px; height: 24px; } .pl-drop b { font-weight: 500; } .pl-drop small { color: var(--muted); font-size: var(--fs-md); }
.pl-drop.busy { pointer-events: none; opacity: .6; } .pl-drop.sm { aspect-ratio: 1; padding: 0; align-content: center; border-radius: var(--r-thumb, 10px); }
.pl-newref { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: var(--s-20); padding-top: var(--s-8); align-items: start; } .pl-newref > img { width: 100%; border-radius: var(--r-card); background: var(--surface); }
.pl-fields.two { grid-template-columns: 1fr 1fr; }
.pl-steps { display: flex; gap: var(--s-20); margin: 0 0 var(--s-20); padding: 0; list-style: none; color: var(--faint); font-size: var(--fs-md); }
.pl-steps li { display: flex; align-items: center; gap: var(--s-8); transition: color var(--dur-base); } .pl-steps li.now { color: var(--ink); font-weight: 500; } .pl-steps li.done { color: var(--muted); }
.pl-steps span { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--surface); font-size: var(--fs-sm); font-variant-numeric: tabular-nums; transition: background var(--dur-base), color var(--dur-base); } .pl-steps .now span, .pl-steps .done span { background: var(--ink); color: var(--bg); } .pl-steps svg { width: 12px; height: 12px; }
.pl-upl { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: var(--s-8); margin-bottom: var(--s-12); }
.pl-upl figure { position: relative; margin: 0; aspect-ratio: 1; overflow: hidden; border-radius: var(--r-thumb, 10px); background: var(--surface); animation: tile-in var(--dur-base) var(--ease) both; } .pl-upl img { width: 100%; height: 100%; object-fit: cover; }
.pl-upl figcaption { position: absolute; left: 6px; bottom: 6px; padding: 2px 8px; border-radius: var(--r-pill); background: rgba(255, 255, 255, .92); font-size: var(--fs-xs); font-weight: 500; }
.pl-upl figure button { position: absolute; right: 6px; top: 6px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: rgba(255, 255, 255, .92); } .pl-upl figure button svg { width: 10px; height: 10px; }
.pl-check { display: flex; align-items: flex-start; gap: var(--s-12); padding: var(--s-4) 0; text-align: left; line-height: 1.45; }
.pl-check > span { display: grid; place-items: center; flex: none; width: 22px; height: 22px; margin-top: 1px; border-radius: 6px; box-shadow: inset 0 0 0 1.5px rgba(17, 17, 17, .3); color: transparent; transition: background var(--dur-quick), box-shadow var(--dur-quick), transform var(--dur-base) var(--spring); } .pl-check > span svg { width: 14px; height: 14px; }
.pl-check[aria-checked="true"] > span { background: var(--ink); box-shadow: none; color: var(--bg); transform: scale(1.06); }
.pl-review { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: var(--s-24); align-items: start; } .pl-review > img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--r-card); }
.pl-review dl { display: grid; grid-template-columns: 110px minmax(0, 1fr); margin: 0; } .pl-review dt, .pl-review dd { margin: 0; padding: var(--s-10) 0; border-top: 1px solid var(--line); overflow-wrap: anywhere; } .pl-review dt { color: var(--muted); } .pl-review dt:first-of-type, .pl-review dd:first-of-type { border-top: 0; padding-top: 0; }
.pl-sent { display: grid; padding-bottom: var(--s-64); } .pl-srow { display: flex; align-items: center; gap: var(--s-16); padding: var(--s-14) 0; border-top: 1px solid var(--line); } .pl-srow:first-child { border-top: 0; }
.pl-srow > img { flex: none; width: 88px; height: 66px; border-radius: var(--r-thumb, 10px); object-fit: cover; } .pl-srow > span:not(.pl-tag) { display: grid; flex: 1; min-width: 0; gap: 2px; } .pl-srow b { font-weight: 500; } .pl-srow small { color: var(--muted); font-size: var(--fs-md); }
@media (max-width: 700px) { .pl-newref, .pl-review { grid-template-columns: 1fr; } .pl-newref > img { max-height: 200px; object-fit: cover; } .pl-fields.two { grid-template-columns: 1fr; } .pl-steps { gap: var(--s-12); } .pl-steps li:not(.now) { font-size: 0; gap: 0; } .pl-srow { flex-wrap: wrap; } .pl-srow > img { width: 64px; height: 48px; } }

/* ---------- States ---------- */
.pl-radios { display: grid; gap: 2px; margin-inline: calc(var(--s-10) * -1); }
.pl-radios button { display: flex; align-items: center; gap: var(--s-12); min-height: 44px; padding: 0 var(--s-10); border-radius: var(--r-option); text-align: left; transition: background var(--dur-instant); } .pl-radios button:hover { background: var(--surface); }
.pl-radios button > span { flex: none; width: 20px; height: 20px; border-radius: 50%; box-shadow: inset 0 0 0 1.5px rgba(17, 17, 17, .3); transition: box-shadow var(--dur-base) var(--spring); } .pl-radios button[aria-checked="true"] > span { box-shadow: inset 0 0 0 6px var(--ink); }
.pl-snack { position: fixed; z-index: var(--z-toast); left: 50%; bottom: calc(88px + env(safe-area-inset-bottom, 0px)); display: flex; align-items: center; gap: var(--s-16); max-width: calc(100% - 24px); padding: var(--s-12) var(--s-12) var(--s-12) var(--s-20); border-radius: var(--r-pill); background: var(--ink); color: var(--bg); font-size: var(--fs-base); box-shadow: var(--shadow-raised);
  opacity: 0; transform: translate(-50%, 12px); transition: opacity var(--dur-quick) var(--ease), transform var(--dur-base) var(--ease); } .pl-snack.on { opacity: 1; transform: translate(-50%, 0); }
.pl-snack button { height: 32px; padding: 0 var(--s-14); border-radius: var(--r-pill); background: rgba(255, 255, 255, .16); color: inherit; font-weight: 500; white-space: nowrap; } .pl-snack button:hover { background: rgba(255, 255, 255, .26); }
.pl-lost[hidden] { display: none; } .pl-lost .pl-empty { min-height: 60vh; align-content: center; } .pl-lost .mk { display: grid; place-items: center; width: 56px; height: 56px; background: #F2B4E4; color: #141210; font: 900 34px/1 "Archivo", var(--font); animation: pl-pop var(--dur-slow) var(--spring) both; }
html.pl-is-lost main.page:not(.pl-lost) { display: none !important; }

/* Mobiliário is a strand of Explorar on acervo: it leaves the header at every width */
html.acervo-new .head .nav a[data-page="furniture"] { display: none; }
#pg-furniture > .pl-strands { margin-top: var(--s-4); }

/* ---------- The profile on a computer: one centred column, nearer together (between Cosmos and Savee) ---------- */
@media (min-width: 761px) {
  html.perfil-novo .p-clean { grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 0; padding-block: var(--s-56) var(--s-48); text-align: center; }
  html.perfil-novo .p-clean .p-name { display: contents; }
  html.perfil-novo .p-clean > :first-child { order: 1; margin-bottom: var(--s-20); }
  html.perfil-novo .p-clean .p-name h2 { order: 2; font-size: clamp(30px, 2.6vw, 38px); }
  html.perfil-novo .p-clean .p-meta { order: 3; justify-content: center; margin-top: var(--s-6); font-size: var(--fs-base); }
  html.perfil-novo .p-clean .pc-right { order: 4; justify-content: center; min-height: 0; margin-top: var(--s-16); }
  html.perfil-novo .p-clean .p-stats { gap: var(--s-14); font-size: var(--fs-base); }
  html.perfil-novo .p-clean .p-acts { order: 5; justify-content: center; margin-top: var(--s-20); }
  html.perfil-novo .p-clean .prof-av { width: 88px; height: 88px; }
  /* the tabs in the middle, the order on the right, on one line */
  html.perfil-novo #prof-body > .p-bar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; margin-bottom: var(--s-24); }
  html.perfil-novo #prof-body > .p-bar > .ctabs { grid-column: 2; }
  html.perfil-novo #prof-body > .p-bar > :not(.ctabs) { grid-column: 3; justify-self: end; }
  /* the one-bar header: who on the left, the tabs on the bar's line, the tones and Editar perfil on the right */
  .p-top { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: end; gap: var(--s-24); margin: 0 calc(-1 * var(--gutter)) var(--s-32); padding: 64px var(--gutter) 0; border-bottom: 1px solid var(--line); }
  .pt-id { display: flex; align-items: flex-start; gap: var(--s-16); min-width: 0; padding-bottom: 28px; }
  .pt-id .prof-av { width: 64px; height: 64px; flex: none; }
  .pt-id .av-pair .studio { width: 40%; height: 40%; right: -4px; }
  .pt-txt { display: grid; gap: var(--s-8); min-width: 0; }
  .pt-txt h2 { margin: 0; font-size: 24px; font-weight: 600; letter-spacing: -.025em; line-height: 30px; }
  .pt-txt .p-meta { margin: 0; font-size: var(--fs-base); }
  .pt-stats { display: flex; gap: var(--s-6); margin: 0; color: var(--muted); font-size: 13px; }
  .pt-stats b { color: var(--ink); font-weight: 500; }
  .pt-stats span + span::before { content: "·"; margin-right: var(--s-6); color: var(--faint); }
  .p-top > .ctabs { gap: 32px; overflow: visible; }
  .p-top > .ctabs button { height: auto; padding-bottom: 24px; font-size: 15px; }
  .p-top > .ctabs .l::after { bottom: -24px; }
  .pt-right { display: flex; align-items: center; justify-content: flex-end; gap: var(--s-12); padding-bottom: 28px; }
  .pt-right .p-acts { margin: 0; }
  .pt-right .pill.line { height: 48px; padding-inline: var(--s-16); }
  /* the tones, in a box as tall as Editar perfil (and drawn like it): overlapping at rest; picking one moves only that
     one 4px apart with a ring, the others stay together at half strength, and "Madeira ×" clears it */
  .pt-tones { display: flex; align-items: center; height: 48px; padding: 0 var(--s-14); border-radius: var(--r-pill); box-shadow: inset 0 0 0 1px var(--surface-2); transition: padding var(--dur-base) var(--spring); }
  .pt-tones.on { padding-right: var(--s-8); }
  .pt-dot { position: relative; width: 22px; height: 22px; padding: 0; border-radius: 50%; background: var(--c);
    transition: margin var(--dur-base) var(--spring), transform var(--dur-base) var(--spring), opacity var(--dur-quick), box-shadow var(--dur-quick); }
  .pt-dot + .pt-dot { margin-left: -4px; }
  .pt-tones:not(.on) .pt-dot:hover { transform: translateY(-3px); }
  .pt-tones.on .pt-dot[aria-pressed="true"]:not(:first-child), .pt-tones.on .pt-dot[aria-pressed="true"] + .pt-dot { margin-left: 4px; }
  .pt-tones.on .pt-dot:not([aria-pressed="true"]) { opacity: .5; }
  .pt-tones.on .pt-dot:not([aria-pressed="true"]):hover { opacity: 1; }
  .pt-tones.on .pt-dot[aria-pressed="true"] { z-index: 1; box-shadow: 0 0 0 2px var(--bg), 0 0 0 3.5px var(--ink); }
  .pt-clear { display: inline-flex; align-items: center; gap: var(--s-6); max-width: 160px; height: 30px; margin-left: var(--s-12); padding: 0 var(--s-8) 0 var(--s-12); overflow: hidden; border-radius: var(--r-pill); background: var(--surface); color: var(--ink); font-size: 13px; font-weight: 500; white-space: nowrap;
    transition: max-width var(--dur-base) var(--spring), opacity var(--dur-quick), margin var(--dur-base) var(--spring), padding var(--dur-base) var(--spring), background var(--dur-quick); }
  .pt-clear:hover { background: var(--surface-2); }
  .pt-clear svg { width: 12px; height: 12px; flex: none; }
  .pt-tones:not(.on) .pt-clear { max-width: 0; margin-left: 0; padding-inline: 0; opacity: 0; visibility: hidden; pointer-events: none; }
}
.pill.ic { width: 34px; padding: 0; } .pill.ic svg { width: 16px; height: 16px; }
.p-acts .pill.ic { height: auto; align-self: stretch; aspect-ratio: 1; }
/* an open post's column, on acervo, ends where the screen does */
html.acervo-new .lb.has-left .lb-f6 { padding-bottom: var(--s-24); }

/* ---------- Explore: the collection's index (instead of cards) ---------- */
.pl-index { display: grid; padding: var(--s-40) 0 var(--s-56); } /* no label, no trends, no rule: only the words */
.pl-ilb { margin: 0; color: var(--muted); font-size: var(--fs-xs); font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.pl-iwords { margin: 0; max-width: 80%; font-size: 48px; font-weight: 500; letter-spacing: -.035em; line-height: 1.32; text-wrap: pretty; }
.pl-iw { display: inline; margin-right: .62em; padding: 0; color: var(--ink); text-align: left; font: inherit; letter-spacing: inherit; animation: pl-iw-in var(--dur-slow) var(--ease) both; animation-delay: calc(var(--i) * 30ms); transition: color var(--dur-quick); }
.pl-iw sup { margin-left: .08em; color: var(--faint); font-size: .34em; font-weight: 400; letter-spacing: 0; vertical-align: 1.5em; font-variant-numeric: tabular-nums; }
.pl-iwords:hover .pl-iw { color: var(--faint); } .pl-iwords .pl-iw:hover, .pl-iwords .pl-iw:focus-visible { color: var(--ink); outline: none; }
.pl-iw:active span { opacity: .6; }
@keyframes pl-iw-in { from { opacity: 0; filter: blur(4px); } }
.pl-itrend { margin: 0; color: var(--muted); font-size: var(--fs-base); line-height: 1.6; }
.pl-itrend button { padding: 0; color: var(--ink); text-decoration: underline; text-decoration-color: var(--faint); text-underline-offset: 3px; transition: text-decoration-color var(--dur-quick); } .pl-itrend button:hover { text-decoration-color: currentColor; }
.pl-peek { position: fixed; left: 0; top: 0; z-index: var(--z-top); width: 180px; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--r-img); background: var(--surface); box-shadow: var(--shadow-overlay); pointer-events: none;
  opacity: 0; scale: .9; transition: opacity var(--dur-quick) var(--ease), scale var(--dur-base) var(--spring); }
.pl-peek.on { opacity: 1; scale: 1; } .pl-peek img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 700px) { .pl-iwords { max-width: none; font-size: 26px; line-height: 1.3; } .pl-index { padding: var(--s-20) 0 var(--s-32); } .pl-mf { margin-bottom: var(--s-24); } .pl-iwords:hover .pl-iw { color: var(--ink); } }
/* Mobiliário: its categories as the same index; a picked category stays dark and the others fade */
.pl-index.fx { padding-bottom: var(--s-48); } .pl-index.fx .pl-iw { animation: none; }
@media (max-width: 700px) { .pl-index.fx { padding-bottom: var(--s-28); } }
.pl-index.fx:has(.pl-iw[aria-pressed="true"]:not(:first-child)) .pl-iw:not([aria-pressed="true"]) { color: var(--faint); }
.pl-index.fx .pl-iwords:hover .pl-iw[aria-pressed="true"] { color: var(--ink); }
@media (prefers-reduced-motion: reduce) { .pl-iw { animation: none; } .pl-peek { transition: opacity var(--dur-quick); } }

/* The studio's mark as a small seal over the corner of the portrait, not a second portrait beside it */
html.perfil-novo .av-pair { position: relative; display: inline-flex; width: max-content; } /* as a grid item it stretched across the row and the studio badge landed at the far right */
html.perfil-novo .av-pair > :first-child { box-shadow: none; }
html.perfil-novo .av-pair .studio { position: absolute; right: -2px; bottom: -2px; z-index: 2; width: 36%; height: 36%; margin: 0; font-size: 11px; box-shadow: 0 0 0 3px var(--bg); }
html.perfil-novo .av-pair .studio svg { width: 55%; height: 55%; }
html.perfil-novo .av-pair .studio.logo { box-shadow: 0 0 0 3px var(--bg), inset 0 0 0 1px rgba(17, 17, 17, .06); }

/* acervo: the divider between the open post and "Mais para explorar" always shows its grip (quieter until pointed at),
   so nobody has to guess the column can be resized */
html.acervo-new .lb-split::before { opacity: .07; }
html.acervo-new .lb-grip { opacity: 1; transform: none; height: 32px; margin-top: -16px; }
html.acervo-new .lb-split:is(:hover, :focus-visible) .lb-grip { opacity: 1; height: 44px; margin-top: -22px; }
html.acervo-new.lb-splitting .lb-grip { height: 64px; margin-top: -32px; }
/* Mobiliário: the same room between its filters (Ambientes, Tipo, Materiais) and the pieces as Explorar's tags have */
html.acervo-new #pg-furniture #fspaces { margin-bottom: var(--s-32); }
@media (max-width: 700px) { html.acervo-new #pg-furniture #fspaces { margin-bottom: var(--s-20); } }
