/* ═══ modal da prova virtual ═══ */
.pv-modal, .pv-modal * {
  font-family: 'DM Sans', -apple-system, sans-serif; box-sizing: border-box;
}
.pv-modal {
  position: fixed; top: 0; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 100%; max-width: 430px; z-index: 700;
  background: rgba(42, 37, 32, .5);
  display: none; align-items: center; justify-content: center; padding: 18px;
}
.pv-modal.on { display: flex; animation: pvFade .25s ease; }
@keyframes pvFade { from { opacity: 0 } to { opacity: 1 } }

.pv-card {
  background: #FAF8F5; border-radius: 22px; padding: 22px 18px 18px;
  width: 100%; position: relative; text-align: center;
  max-height: 90vh; overflow-y: auto;
  animation: pvSobe .3s cubic-bezier(.22,.9,.3,1);
}
@keyframes pvSobe { from { opacity: 0; transform: translateY(18px) } to { opacity: 1; transform: none } }
.pv-x {
  position: absolute; top: 12px; right: 12px; z-index: 2;
  width: 30px; height: 30px; border: none; background: rgba(255,255,255,.9);
  border-radius: 50%; cursor: pointer; color: #6B6055; font-size: 21px; line-height: 1;
  display: flex; align-items: center; justify-content: center;
}

.pv-h { font-size: 19px; font-weight: 700; color: #2A2520; margin: 4px 0 8px; }
.pv-p { font-size: 14px; color: #6B6055; line-height: 1.5; margin: 0 0 18px; }

.pv-carregando { padding: 34px 0 26px; }
.pv-spin {
  width: 34px; height: 34px; border: 3px solid #EFE7DC; border-top-color: #C14E1A;
  border-radius: 50%; margin: 0 auto 16px; animation: pvGira .85s linear infinite;
}
@keyframes pvGira { to { transform: rotate(360deg) } }
.pv-txt { font-size: 15px; color: #2A2520; }
.pv-sub { font-size: 12.5px; color: #A89C90; margin-top: 5px; }

.pv-resultado {
  width: 100%; border-radius: 16px; display: block; margin-bottom: 14px;
  background: #F2ECE5;
}
.pv-pecas { display: flex; gap: 7px; justify-content: center; flex-wrap: wrap; margin-bottom: 12px; }
.pv-restam { font-size: 12px; color: #A89C90; margin-bottom: 14px; }

.pv-btn {
  width: 100%; padding: 15px; border: none; border-radius: 99px;
  background: #C14E1A; color: #fff; font-size: 15.5px; cursor: pointer;
  font-family: inherit; transition: opacity .16s;
}
.pv-btn:active { opacity: .7; }

.pv-modelos { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; }
.pv-modelo {
  background: #fff; border: 1.5px solid #EAE2D8; border-radius: 14px;
  padding: 8px; cursor: pointer; font-family: inherit; transition: border-color .16s;
}
.pv-modelo:active { border-color: #C14E1A; }
.pv-modelo-foto {
  width: 100%; aspect-ratio: 3/4; border-radius: 9px; overflow: hidden;
  background: #F5F0E9; margin-bottom: 6px;
}
.pv-modelo-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pv-modelo-nome { font-size: 13px; color: #2A2520; }

.pv-upload {
  display: block; width: 100%; padding: 14px; border: 1.5px dashed #D4C4B0;
  border-radius: 99px; text-align: center; font-size: 14px; color: #6B6055;
  cursor: pointer;
}

/* botao Try on nos cards de My Outfits */
.mo-card { position: relative; }
.mo-tryon {
  position: absolute; left: 50%; bottom: 12px; transform: translateX(-50%);
  background: #C14E1A; color: #fff; border: none; border-radius: 10px;
  padding: 9px 18px; font-size: 13px; font-family: inherit; cursor: pointer;
  white-space: nowrap; z-index: 5; box-shadow: 0 2px 8px rgba(0,0,0,.18);
  transition: opacity .16s;
}
.mo-tryon:active { opacity: .7; }

/* ── Daily Inspo com pecas reais ── */
.inspo-card { position: relative; }
.inspo-colagem { display:grid; grid-template-columns:1.5fr 1fr; gap:8px; padding:20px 16px; height:100%; background:#FBF8F4; }
.inspo-principal { display:flex; align-items:center; justify-content:center; overflow:hidden; }
.inspo-principal img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.inspo-apoios { display:flex; flex-direction:column; gap:8px; }
.inspo-apoios div { flex:1; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.inspo-apoios img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.inspo-hide, .inspo-fav {
  position:absolute; top:14px; width:38px; height:38px; border-radius:50%;
  border:none; background:rgba(255,255,255,.94); cursor:pointer; z-index:6;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 1px 4px rgba(0,0,0,.08);
}
.inspo-hide { left:14px; }
.inspo-fav { right:14px; }
.inspo-card .btn-tryon { position:absolute; left:50%; bottom:22px; transform:translateX(-50%); z-index:6; }

/* ── trocador de perfil (teste) ── */
.pf-modal { position:fixed; inset:0; z-index:900; background:rgba(42,37,32,.55);
  display:flex; align-items:center; justify-content:center; padding:20px;
  font-family:'DM Sans',-apple-system,sans-serif; }
.pf-card { background:#FAF8F5; border-radius:20px; padding:22px 20px; width:100%;
  max-width:380px; position:relative; max-height:88vh; overflow-y:auto; }
.pf-x { position:absolute; top:12px; right:14px; border:none; background:none;
  font-size:22px; color:#6B6055; cursor:pointer; }
.pf-card h3 { font-size:18px; margin:0 0 4px; color:#2A2520; }
.pf-card h3 span { font-size:12px; color:#A89C90; font-weight:400; }
.pf-nota { font-size:12.5px; color:#7A6F65; margin:0 0 16px; line-height:1.45; }
.pf-card label { display:block; font-size:12.5px; color:#6B6055; margin-bottom:11px; }
.pf-card select { display:block; width:100%; margin-top:5px; padding:11px 12px;
  border:1.5px solid #EAE2D8; border-radius:10px; font-size:14px;
  font-family:inherit; background:#fff; color:#2A2520; }
.pf-btn { width:100%; padding:14px; border:none; border-radius:99px; background:#C14E1A;
  color:#fff; font-size:15px; font-family:inherit; cursor:pointer; margin-top:6px; }
.pf-btn:active { opacity:.7; }
.pf-status { font-size:13px; color:#4A423A; margin-top:12px; line-height:1.5; text-align:center; }
