/* v3 styles: directory and profile + form baseline */
.prf-form { max-width: 980px; margin: 24px auto; background: #fbfbf8; border: 4px solid #000; border-radius: 20px; padding: 28px; box-sizing: border-box; font-family: 'Inter', Roboto, Arial, sans-serif; color: #111; }
.prf-header h2 { margin: 0 0 6px; font-size: 22px; font-weight:700; }
.prf-subtitle { margin: 0 0 16px; color: #333; font-size: 14px; }
.prf-section-title { border-top: 6px solid #000; padding-top: 10px; margin-top: 18px; margin-bottom: 12px; font-weight: 800; font-size: 13px; background:#fbfbf8; display:block; width:100%; }
.prf-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom:12px; align-items:start; }
.prf-row.single-line { grid-template-columns: 1fr; }
.address-row { grid-template-columns: 3fr 1fr; align-items:end; }
.prf-form label { display: block; margin-bottom: 6px; font-size:13px; }
.prf-form input[type="text"], .prf-form input[type="mail"], .prf-form input[type="url"], .prf-form input[type="number"], .prf-form textarea, .prf-form select { width: 100%; padding: 10px; border-radius: 8px; border: 1px solid #111; background: #fff; font-size:14px; }
.prf-button { background:#5b2c84; color:#fff; padding:11px 60px; margin-bottom: 7px; border-radius:12px; border:none; cursor:pointer; font-weight:700; }
.support-input-wrap { display:flex; gap:8px; align-items:center; }
.prf-add-location { background:#5b2c84; color:#fff; border:none; width:40px; height:40px; border-radius:8px; font-size:20px; cursor:pointer; }
.prf-drop { border: 2px dashed #333; padding: 14px; text-align:center; border-radius: 10px; margin-bottom: 10px; background:#fff; }
.prf-portfolio-grid { display:grid; grid-template-columns: repeat(4, 1fr); gap:12px; margin-top:12px; }
.prf-portfolio-box { border:2px dashed #333; border-radius:12px; height:120px; display:flex; align-items:center; justify-content:center; background:#fff; position:relative; overflow:hidden; }
.prf-portfolio-inner { width:100%; height:100%; display:flex; align-items:center; justify-content:center; position:relative; cursor:pointer; }
.prf-portfolio-input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.prf-plus { font-size:28px; color:#333; font-weight:700; }
.prf-portfolio-box img { width:100%; height:100%; object-fit:cover; display:block; }
.prf-submit { background:#5b2c84; color:#fff; padding:12px 20px; border-radius:12px; border:none; cursor:pointer; display:block; margin: 20px 0 0 0; font-weight:700; }
.prf-checkbox { display:block; margin-top:12px; font-size:13px; }
.prf-message { padding:12px; background:#efe; border:1px solid #cfc; border-radius:8px; }

/* Directory */
.pro-directory { display:grid; grid-template-columns: repeat(auto-fill, minmax(250px,1fr)); gap:20px; margin:20px 0; }
.pro-card { border:1px solid #ddd; border-radius:12px; padding:12px; text-align:center; background:#fff; box-shadow:0 2px 6px rgba(0,0,0,0.04); }
.pro-card img { width:100%; height:180px; object-fit:cover; border-radius:8px; }
.pro-card .no-photo { width:100%; height:180px; display:flex; align-items:center; justify-content:center; background:#f4f4f4; border-radius:8px; color:#777; }
.pro-card h3 { margin:10px 0 6px; font-size:16px; }
.pro-card .pro-location { color:#555; font-size:13px; margin-bottom:8px; }
.btn-view { display:inline-block; background:#000; color:#fff; padding:8px 15px; border-radius:8px; text-decoration:none; }

/* Profile */
.pro-profile { max-width:1100px; margin:20px auto; background:#fff; padding:18px; border-radius:12px; box-shadow:0 6px 18px rgba(0,0,0,0.06); }
.pro-header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.pro-header h2 { margin:0; }
.pro-grid { display:grid; grid-template-columns: 2fr 1fr; gap:18px; margin-top:12px; }
.pro-main { }
.pro-side .pro-portfolio { display:flex; flex-wrap:wrap; gap:8px; }
.pro-side .pro-portfolio img { width:120px; height:120px; object-fit:cover; border-radius:8px; }
.pro-bio p { line-height:1.6; color:#222; }
.btn-download { display:inline-block; background:#000; color:#fff; padding:8px 12px; border-radius:8px; text-decoration:none; }

/* Responsive */
@media (max-width:900px) {
  .prf-row { grid-template-columns: 1fr; }
  .prf-portfolio-grid { grid-template-columns: repeat(2, 1fr); }
  .address-row { grid-template-columns: 1fr; }
  .pro-grid { grid-template-columns: 1fr; }
}
