/* Portfolio: galeria do perfil do criador e painel "Meu portfolio". */
.ed-pf-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.ed-pf-card{display:flex;flex-direction:column;border:1px solid var(--ed-border,#e6e6ea);border-radius:14px;overflow:hidden;background:#fff;text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}
.ed-pf-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(15,23,42,.12)}
.ed-pf-card-media{display:block;aspect-ratio:4/3;overflow:hidden;background:#f3f4f6}
.ed-pf-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.ed-pf-card-body{display:block;padding:12px 14px}
.ed-pf-card-body strong{display:block;font-size:15px;line-height:1.3}
.ed-pf-card-body em{display:block;margin-top:4px;font-style:normal;font-size:13px;opacity:.7}
.ed-pf-ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:28px;opacity:.35}

.ed-pf-note{padding:10px 14px;border-radius:10px;margin-bottom:14px;font-size:14px}
.ed-pf-note.is-ok{background:#e8f7ee;color:#166534}
.ed-pf-note.is-err{background:#fdecec;color:#991b1b}
.ed-pf-form{margin-bottom:28px}
.ed-pf-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ed-pf-grid .col-2{grid-column:1/-1}
.ed-pf-grid label{display:block;font-weight:600;font-size:13px;margin-bottom:6px}
.ed-pf-grid input,.ed-pf-grid select,.ed-pf-grid textarea{width:100%;padding:10px 12px;border:1px solid var(--ed-border,#e6e6ea);border-radius:10px;font:inherit}
.ed-pf-list{display:grid;gap:12px}
.ed-pf-item{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center;border:1px solid var(--ed-border,#e6e6ea);border-radius:12px;padding:10px}
.ed-pf-item .ed-pf-thumb img{width:120px;height:90px;object-fit:cover;border-radius:8px;display:block}
.ed-pf-item .ed-pf-thumb .ed-pf-ph{width:120px;height:90px;border-radius:8px;background:#f3f4f6}
.ed-pf-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;align-items:center}
.ed-pf-actions form{margin:0}
@media(max-width:640px){.ed-pf-grid{grid-template-columns:1fr}.ed-pf-item{grid-template-columns:1fr}.ed-pf-item .ed-pf-thumb img,.ed-pf-item .ed-pf-thumb .ed-pf-ph{width:100%;height:160px}}

/* Pagina individual do item de portfolio (padrao servico/produto, sem compra) */
.single-portfolio_item .pf-cover { overflow: hidden; padding: 0; }
.single-portfolio_item .pf-cover img { width: 100%; height: auto; display: block; }
.single-portfolio_item .buy-card .btn-block { width: 100%; justify-content: center; }
.single-portfolio_item .buy-card .btn + .btn { margin-top: .6rem; }

/* Galeria de arquivos do portfolio (pagina individual) */
.pf-gallery { display: grid; grid-template-columns: repeat(var(--pf-gal-cols, 3), minmax(0, 1fr)); gap: 14px; }
.pf-gallery .pf-gal-item { margin: 0; border: 1px solid rgba(0,0,0,.08); border-radius: 12px; overflow: hidden; background: #fff; }
.pf-gallery .pf-gal-item img,
.pf-gallery .pf-gal-item video { width: 100%; height: 190px; object-fit: cover; display: block; }
.pf-gallery .pf-gal-item audio { width: 100%; padding: 14px; }
.pf-gallery .pf-gal-item figcaption { padding: 8px 10px; font-size: .82rem; color: #64748b; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pf-gallery .pf-gal-file { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 22px 12px; text-align: center; text-decoration: none; color: inherit; }
.pf-gallery .pf-gal-file i { font-size: 1.9rem; color: #6d28d9; }
.pf-gallery .pf-gal-file em { font-size: .75rem; color: #64748b; font-style: normal; }
@media (max-width: 782px) { .pf-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .pf-gallery { grid-template-columns: 1fr; } }

/* Painel do criador: previsualizacao da galeria */
.ed-pf-gal-preview { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; margin-top: 10px; }
.ed-pf-gal-card { border: 1px solid rgba(0,0,0,.1); border-radius: 10px; padding: 8px; display: flex; flex-direction: column; gap: 6px; background: #fff; }
.ed-pf-gal-card.is-invalid { border-color: #dc2626; background: #fef2f2; }
.ed-pf-gal-media img, .ed-pf-gal-media video { width: 100%; height: 110px; object-fit: cover; border-radius: 8px; display: block; }
.ed-pf-gal-media audio { width: 100%; }
.ed-pf-gal-ico { display: flex; align-items: center; justify-content: center; height: 110px; font-size: 1.8rem; color: #6d28d9; }
.ed-pf-gal-name { font-size: .78rem; color: #475569; word-break: break-word; }
.ed-pf-gal-card em { font-size: .72rem; color: #dc2626; font-style: normal; }
.ed-pf-gal-saved { margin: 18px 0; }


/* Galeria no painel do criador: nome do arquivo e submit padrao oculto */
.ed-pf-default-submit{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.ed-pf-gal-field .ed-pf-gal-saved{margin-top:14px}
.ed-pf-gal-field .ed-pf-gal-saved h4{margin:0 0 8px;font-size:14px}
.ed-pf-gal-card .ed-pf-gal-title{width:100%;margin:6px 0;font-size:13px;padding:6px 8px;border:1px solid var(--border,#e5e7eb);border-radius:8px}
