/* ============================================================================
   Pro Angles — Cast & Crew Marketplace stylesheet
   Design tokens + base + components, generated from the "Pro Angles Design System"
   Claude Design project (brand purple #C401CB, Alexandria, Bootstrap-friendly).
   Loaded only on marketplace public/talent pages via layouts/marketplace/app.
   ========================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Alexandria:wght@300;400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700&display=swap");

:root {
  /* Brand purple scale */
  --purple-50:#F9E5FA; --purple-100:#F3CCF5; --purple-200:#E799EA; --purple-300:#DC67E0;
  --purple-400:#D034D5; --purple-500:#C401CB; --purple-600:#A701AD; --purple-700:#830188;
  --purple-800:#620065; --purple-900:#3B003D;
  --brand-grad:linear-gradient(135deg,#C401CB 0%,#830188 100%);
  /* Neutrals */
  --ink-900:#1D1D1B; --ink-800:#212529; --gray-600:#6C757D; --gray-500:#777777;
  --gray-300:#DDDDDD; --gray-200:#E5E5E5; --gray-100:#F5F5F5; --gray-50:#FAFAFA;
  --white:#FFFFFF; --black:#000000;
  /* Semantic */
  --success:#2EB85C; --success-alt:#81BA00; --warning:#F9B115; --danger:#E83837;
  --info:#3399FF; --whatsapp:#25D366; --star:#FFA200;
  --success-soft-bg:#E8F7EE; --success-soft-fg:#1E7E40;
  --warning-soft-bg:#FEF3D7; --warning-soft-fg:#8A6100;
  --danger-soft-bg:#FBE6E6; --danger-soft-fg:#B11E1D;
  --purple-soft-bg:#F9E5FA; --purple-soft-fg:#830188;
  /* Aliases */
  --brand:var(--purple-500); --brand-hover:var(--purple-600); --brand-active:var(--purple-700);
  --secondary:var(--black);
  --text-heading:var(--ink-900); --text-body:var(--ink-800); --text-muted:var(--gray-600);
  --link:var(--purple-500); --link-hover:var(--purple-700);
  --bg-page:var(--gray-50); --surface:var(--gray-100); --surface-card:var(--white);
  --border:var(--gray-200); --divider:var(--gray-300);
  /* Type */
  --font-sans:"Alexandria",Arial,sans-serif; --font-arabic:"Cairo","Alexandria",sans-serif;
  --fw-medium:500; --fw-semibold:600; --fw-bold:700;
  --fs-body:1rem; --lh-body:1.6; --lh-tight:1.2;
  /* Layout */
  --container-max:1200px; --radius:5px; --radius-lg:10px; --radius-pill:50rem;
  --shadow:0 2px 10px rgba(0,0,0,.08); --shadow-hover:0 8px 24px rgba(0,0,0,.12);
  --focus:0 0 0 3px rgba(196,1,203,.25); --dur:200ms; --ease:cubic-bezier(.4,0,.2,1);
}

/* ---- Base (scoped to marketplace pages) ---- */
.pa-app{font-family:var(--font-sans);color:var(--text-body);background:var(--bg-page);
  font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;
  margin:0;min-height:100vh;display:flex;flex-direction:column;}
.pa-shell{flex:1 0 auto;}
.pa-footer{flex-shrink:0;}
.pa-app *{box-sizing:border-box;}
.pa-app h1,.pa-app h2,.pa-app h3,.pa-app h4{color:var(--text-heading);line-height:var(--lh-tight);font-weight:var(--fw-bold);margin:0;}
.pa-app a{color:var(--link);text-decoration:none;}
.pa-app a:hover{color:var(--link-hover);}
.pa-container{max-width:var(--container-max);margin:0 auto;padding:0 1.25rem;}

/* ---- Header (mirror Chrome.jsx) ---- */
.pa-header{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--gray-200);box-shadow:0 1px 6px rgba(0,0,0,.04);}
.pa-header__in{display:flex;align-items:center;gap:1.25rem;padding:.75rem 0;}
.pa-logo{display:flex;align-items:center;gap:.55rem;font-weight:700;color:var(--ink-900);font-size:1.15rem;flex-shrink:0;}
.pa-logo__mark{width:34px;height:34px;border-radius:8px;background:var(--brand-grad);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;}
.pa-header__nav{margin-inline-start:auto;display:flex;align-items:center;gap:1.1rem;}
.pa-header__nav a{color:var(--ink-800);font-weight:500;font-size:.925rem;white-space:nowrap;}
.pa-header__nav a:hover{color:var(--purple-600);}
.pa-hsearch{position:relative;flex:1;max-width:440px;}
.pa-hsearch__icon{position:absolute;inset-inline-start:.9rem;top:50%;transform:translateY(-50%);color:var(--gray-500);font-size:.9rem;pointer-events:none;}
.pa-hsearch__input{width:100%;padding:.55rem .9rem;padding-inline-start:2.4rem;border-radius:var(--radius-pill);border:1px solid var(--gray-200);background:var(--gray-50);font-family:var(--font-sans);font-size:.9rem;outline:none;}
.pa-hsearch__input:focus{border-color:var(--purple-300);box-shadow:var(--focus);background:#fff;}
.pa-hsearch__results{position:absolute;top:calc(100% + .4rem);inset-inline-start:0;width:100%;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-hover);overflow:hidden;z-index:50;}
.pa-hsearch__item{display:flex;align-items:center;gap:.6rem;padding:.6rem .85rem;color:var(--ink-900);}
.pa-hsearch__item:hover{background:var(--purple-50);}
.pa-hsearch__item img,.pa-hsearch__ava{width:34px;height:34px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.pa-hsearch__ava{background:var(--purple-100);color:var(--purple-700);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;}
.pa-hsearch__meta{display:flex;flex-direction:column;min-width:0;}
.pa-hsearch__meta small{color:var(--gray-600);font-size:.78rem;}
.pa-hsearch__empty{padding:.85rem;color:var(--gray-600);font-size:.875rem;text-align:center;}
/* Language switch — mirrors the ecommerce storefront .sh-lang pill */
.pa-lang{display:inline-flex;padding:3px;background:var(--gray-100);border-radius:50rem;font-size:.8rem;font-weight:600;}
.pa-lang a{padding:.35rem .7rem;border-radius:50rem;background:transparent;color:var(--gray-600);line-height:1.4;text-decoration:none;}
.pa-lang a.is-active{background:var(--purple-500);color:#fff;}
.pa-lang a.ar{font-family:var(--font-arabic);}
.pa-bell{position:relative;color:var(--ink-800);font-size:1.1rem;display:inline-flex;}
.pa-bell__badge{position:absolute;top:-7px;inset-inline-end:-9px;background:var(--purple-500);color:#fff;font-size:.62rem;font-weight:700;min-width:16px;height:16px;border-radius:50rem;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;}
.pa-burger{display:none;background:none;border:none;font-size:1.35rem;color:var(--ink-900);cursor:pointer;padding:.2rem .4rem;}

/* ---- Header: divider that sets the other Pro Angles services apart ---- */
.pa-navdiv{width:1px;height:22px;background:var(--gray-200);flex-shrink:0;}
.pa-navform{display:inline-flex;margin:0;}

/* ---- Header: account menu ---- */
.pa-account{position:relative;}
.pa-account__btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:50rem;padding:.22rem .55rem .22rem .25rem;cursor:pointer;color:var(--ink-800);line-height:1;}
.pa-account__btn:hover{background:var(--gray-200);}
.pa-account__ava{width:28px;height:28px;border-radius:50rem;background:var(--brand-grad);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;object-fit:cover;flex-shrink:0;}
.pa-account__btn .fa-chevron-down{font-size:.65rem;color:var(--gray-500);}
.pa-account__menu{position:absolute;inset-inline-end:0;top:calc(100% + .5rem);min-width:232px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:0 12px 32px rgba(0,0,0,.13);padding:.4rem;z-index:60;display:flex;flex-direction:column;gap:.05rem;}
.pa-account__menu[hidden]{display:none;}
.pa-account__head{padding:.5rem .7rem .6rem;border-bottom:1px solid var(--gray-100);margin-bottom:.3rem;}
.pa-account__name{font-weight:700;color:var(--ink-900);font-size:.9rem;line-height:1.25;}
.pa-account__email{font-size:.76rem;color:var(--gray-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pa-account__menu a,.pa-account__menu button{display:flex;align-items:center;gap:.65rem;width:100%;padding:.5rem .7rem;border-radius:8px;background:transparent;border:none;text-align:start;font-size:.875rem;color:var(--ink-800);font-weight:500;cursor:pointer;font-family:var(--font-sans);white-space:nowrap;}
.pa-account__menu a:hover,.pa-account__menu button:hover{background:var(--purple-50);color:var(--purple-700);}
.pa-account__menu a i,.pa-account__menu button i{width:18px;text-align:center;color:var(--gray-500);font-size:.9rem;}
.pa-account__menu a:hover i,.pa-account__menu button:hover i{color:var(--purple-600);}
.pa-account__menu form{margin:0;}
.pa-account__sep{height:1px;background:var(--gray-100);margin:.3rem 0;}
.pa-account__logout{color:var(--danger)!important;}
.pa-account__logout i{color:var(--danger)!important;}

/* ---- Footer (mirror Chrome.jsx) ---- */
.pa-footer{background:var(--black);color:#fff;margin-top:4rem;}
.pa-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2rem;padding:3rem 1.25rem;}
.pa-footer__logo{display:flex;align-items:center;gap:.55rem;margin-bottom:.85rem;}
.pa-footer__mark{width:30px;height:30px;border-radius:7px;background:var(--brand-grad);color:#fff;display:inline-flex;align-items:center;justify-content:center;}
.pa-footer__name{font-weight:700;font-size:1.05rem;color:#fff;}
.pa-footer__about{color:var(--gray-300);font-size:.875rem;line-height:1.6;max-width:280px;margin:0 0 1rem;}
.pa-footer__contact{display:flex;flex-direction:column;gap:.3rem;color:var(--gray-300);font-size:.83rem;margin-bottom:1rem;}
.pa-footer__contact i{color:var(--purple-300);width:16px;}
.pa-footer__social{display:flex;gap:.85rem;font-size:1.15rem;}
.pa-footer__social a{color:#fff;}
.pa-footer__social a:hover{color:var(--purple-300);}
.pa-footer__col{display:flex;flex-direction:column;gap:.5rem;}
.pa-footer__col h4{color:#fff;font-size:.925rem;font-weight:600;margin:0 0 .35rem;}
.pa-footer__col a{color:var(--gray-300);font-size:.875rem;}
.pa-footer__col a:hover{color:#fff;}
.pa-footer__bar{border-top:1px solid rgba(255,255,255,.12);padding:1.25rem;text-align:center;color:var(--gray-500);font-size:.825rem;}

/* ---- Responsive header/footer ---- */
@media (max-width:992px){
  .pa-burger{display:inline-flex;order:-1;}
  .pa-hsearch{order:3;flex-basis:100%;max-width:none;margin-top:.6rem;}
  .pa-header__in{flex-wrap:wrap;}
  .pa-logo{margin-inline-end:auto;}
  .pa-header__nav{order:4;flex-basis:100%;flex-direction:column;align-items:stretch;gap:.25rem;display:none;padding-top:.6rem;border-top:1px solid var(--gray-200);margin-top:.6rem;}
  .pa-header__nav.is-open{display:flex;}
  .pa-header__nav a{padding:.5rem .25rem;}
  /* Services divider becomes a horizontal rule on mobile */
  .pa-navdiv{width:auto;height:1px;margin:.5rem 0;}
  .pa-navform{display:flex;}
  .pa-navform .pa-btn{width:100%;}
  /* Account menu renders inline (no floating dropdown) on mobile */
  .pa-account{width:100%;}
  .pa-account__btn{display:none;}
  .pa-account__menu,.pa-account__menu[hidden]{position:static;display:flex;box-shadow:none;border:none;padding:0;min-width:0;margin-top:.25rem;}
  .pa-account__head{padding-inline:.25rem;}
  .pa-account__menu a,.pa-account__menu button{padding:.55rem .25rem;}
  .pa-footer__grid{grid-template-columns:1fr 1fr;gap:1.5rem;}
}
@media (max-width:560px){
  .pa-footer__grid{grid-template-columns:1fr;}
}

/* ---- Buttons (mirror components/core/Button.jsx) ----
   Variant colors use compound .pa-btn.pa-btn--x selectors (specificity 0,2,0) so an
   <a class="pa-btn ..."> always beats .pa-app a / .pa-header__nav a (0,1,1) — otherwise
   anchor buttons inherited the link color (magenta text on magenta = invisible "View"). */
.pa-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-sans);
  font-weight:600;line-height:1.2;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;
  text-decoration:none;padding:.6rem 1.4rem;font-size:1rem;
  transition:background var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease);}
.pa-btn:focus-visible{outline:none;box-shadow:var(--focus);}
.pa-btn:disabled,.pa-btn.is-disabled{opacity:.5;cursor:not-allowed;}
.pa-btn.pa-btn--primary{background:var(--purple-500);color:#fff;border-color:var(--purple-500);}
.pa-btn.pa-btn--primary:hover{background:var(--purple-600);color:#fff;}
.pa-btn.pa-btn--secondary,.pa-btn.pa-btn--dark{background:var(--black);color:#fff;border-color:var(--black);}
.pa-btn.pa-btn--secondary:hover,.pa-btn.pa-btn--dark:hover{background:var(--ink-900);color:#fff;}
.pa-btn.pa-btn--outline{background:transparent;color:var(--purple-500);border-color:var(--purple-500);}
.pa-btn.pa-btn--outline:hover{background:var(--purple-50);color:var(--purple-700);}
.pa-btn.pa-btn--ghost{background:transparent;color:var(--purple-500);border-color:transparent;}
.pa-btn.pa-btn--ghost:hover{background:var(--purple-50);color:var(--purple-700);}
.pa-btn.pa-btn--whatsapp{background:var(--whatsapp);color:#fff;border-color:var(--whatsapp);}
.pa-btn.pa-btn--whatsapp:hover{background:#1FB855;color:#fff;}
.pa-btn.pa-btn--gradient{background:var(--brand-grad);color:#fff;border:none;}
.pa-btn.pa-btn--gradient:hover{filter:brightness(1.07);color:#fff;}
.pa-btn.pa-btn--sm{padding:.4rem .9rem;font-size:.875rem;}
.pa-btn.pa-btn--lg{padding:.8rem 1.8rem;font-size:1.125rem;}
.pa-btn--block{width:100%;}

/* ---- Cards & sections ---- */
.pa-card{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);}
.pa-section{margin-top:2rem;}
/* Specificity must beat the base `.pa-app h2 {margin:0}` rule, or the title's
   bottom margin is ignored and the label sits on top of its content. */
.pa-app .pa-section__title{font-size:1.25rem;font-weight:700;color:var(--ink-900);margin:0 0 1.5rem;}

/* ---- Chips / badges ---- */
.pa-chip{display:inline-block;padding:.4rem .85rem;border-radius:var(--radius-pill);background:var(--gray-100);color:var(--ink-800);font-size:.85rem;font-weight:500;}
.pa-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:600;padding:.35rem .7rem;border-radius:var(--radius-pill);}
.pa-badge--featured{background:var(--brand-grad);color:#fff;}
.pa-badge--purple{background:var(--purple-soft-bg);color:var(--purple-soft-fg);}
.pa-badge--success{background:var(--success-soft-bg);color:var(--success-soft-fg);}
.pa-badge--warning{background:var(--warning-soft-bg);color:var(--warning-soft-fg);}
.pa-badge .dot{width:7px;height:7px;border-radius:50%;}

/* ---- Profile hero ---- */
.pa-cover{position:relative;height:clamp(200px,30vw,300px);overflow:hidden;background:var(--gray-200);}
.pa-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.pa-cover__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.58));}
.pa-cover__actions{position:absolute;top:1rem;inset-inline-end:1.25rem;display:flex;gap:.5rem;}
.pa-iconbtn{width:40px;height:40px;border-radius:var(--radius);border:none;background:rgba(255,255,255,.9);color:var(--ink-800);cursor:pointer;}
.pa-iconbtn:hover{background:#fff;}
.pa-identity{position:relative;display:flex;align-items:flex-start;gap:1.25rem;flex-wrap:wrap;padding-top:1.1rem;}
.pa-identity__avatar{margin-top:-72px;flex-shrink:0;position:relative;}
.pa-avatar{width:132px;height:132px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 4px #fff,var(--shadow);}
.pa-verified{position:absolute;inset-inline-end:4px;bottom:6px;width:32px;height:32px;border-radius:50%;background:var(--purple-500);color:#fff;display:flex;align-items:center;justify-content:center;border:3px solid #fff;font-size:.8rem;}

/* ---- Stats ---- */
.pa-stats{margin-top:1.6rem;display:flex;flex-wrap:wrap;}
.pa-stat{flex:1 1 160px;padding:1.15rem 1.25rem;display:flex;align-items:center;gap:.85rem;border-inline-start:1px solid var(--border);}
.pa-stat:first-child{border-inline-start:none;}
.pa-stat__icon{width:42px;height:42px;border-radius:10px;background:var(--purple-50);display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;color:var(--purple-500);}
.pa-stat__val{font-size:1.2rem;font-weight:700;color:var(--ink-900);line-height:1.1;}
.pa-stat__lbl{font-size:.82rem;color:var(--gray-600);}

/* ---- Body grid ---- */
.pa-grid{margin-top:1.6rem;display:flex;flex-wrap:wrap;gap:1.6rem;align-items:flex-start;padding-bottom:2rem;}
.pa-main{flex:1 1 420px;display:flex;flex-direction:column;gap:1.6rem;min-width:0;}
.pa-aside{flex:0 0 340px;display:flex;flex-direction:column;gap:1.2rem;position:sticky;top:80px;}

/* ---- Service / portfolio / feed / review ---- */
.pa-service{display:flex;gap:1rem;align-items:flex-start;flex-wrap:wrap;padding:1.2rem 1.35rem;transition:box-shadow var(--dur),transform var(--dur);}
.pa-service:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px);}
.pa-portfolio{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.65rem;}
.pa-port-item{position:relative;aspect-ratio:1/1;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;box-shadow:var(--shadow);transition:transform var(--dur);}
.pa-port-item:hover{transform:scale(1.015);}
.pa-port-item img{width:100%;height:100%;object-fit:cover;display:block;}
.pa-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.22);color:#fff;font-size:1.4rem;}
.pa-review{padding:1.2rem 1.35rem;border:1px solid var(--gray-150,#eee);border-radius:12px;background:#fff;}
.pa-review__avatar{width:38px;height:38px;border-radius:50%;background:var(--purple-50);color:var(--purple-700);display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;flex-shrink:0;object-fit:cover;}

/* ---- Social links ---- */
.pa-social{display:flex;flex-wrap:wrap;gap:.55rem;}
.pa-social a{width:42px;height:42px;border-radius:var(--radius);border:1px solid var(--gray-200);display:inline-flex;align-items:center;justify-content:center;color:var(--ink-800);font-size:1.05rem;}
.pa-social a:hover{background:var(--purple-50);color:var(--purple-600);border-color:var(--purple-200);}

/* ---- Sticky mobile CTA ---- */
.pa-mobilebar{display:none;position:fixed;bottom:0;inset-inline:0;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--border);padding:.65rem 1rem;align-items:center;gap:.7rem;}

/* ---- Forms (talent onboarding / editor) ---- */
.pa-field{margin-bottom:1rem;}
.pa-label{display:block;font-weight:500;color:var(--ink-800);font-size:.875rem;margin-bottom:.35rem;}
.pa-input,.pa-textarea,.pa-select{width:100%;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:.6rem .9rem;font:inherit;color:var(--ink-800);}
.pa-input:focus,.pa-textarea:focus,.pa-select:focus{outline:none;border-color:var(--purple-500);box-shadow:var(--focus);}
.pa-help{font-size:.8rem;color:var(--gray-600);margin-top:.25rem;}
.pa-error{font-size:.8rem;color:var(--danger);margin-top:.25rem;}
.pa-steps{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;}
.pa-step{display:flex;align-items:center;gap:.5rem;padding:.5rem .9rem;border-radius:var(--radius-pill);background:var(--gray-100);color:var(--gray-600);font-size:.85rem;font-weight:600;}
.pa-step--active{background:var(--purple-50);color:var(--purple-700);}
.pa-step--done{background:var(--success-soft-bg);color:var(--success-soft-fg);}
.pa-switch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.6rem;}
.pa-vis-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .9rem;border:1px solid var(--border);border-radius:var(--radius);background:#fff;}
.pa-vis-row--locked{opacity:.6;}

/* ---- Alerts ---- */
.pa-alert{padding:.85rem 1.1rem;border-radius:var(--radius);font-size:.9rem;margin-bottom:1rem;}
.pa-alert--success{background:var(--success-soft-bg);color:var(--success-soft-fg);}
.pa-alert--danger{background:var(--danger-soft-bg);color:var(--danger-soft-fg);}
.pa-alert--warning{background:var(--warning-soft-bg);color:var(--warning-soft-fg);}
.pa-alert--info{background:var(--purple-soft-bg);color:var(--purple-soft-fg);}

/* ---- Empty state ---- */
.pa-empty{text-align:center;color:var(--gray-600);padding:2.5rem 1rem;}
.pa-empty i{font-size:2rem;color:var(--gray-300);display:block;margin-bottom:.6rem;}

/* ---- Directory ---- */
.pa-hero{background:var(--brand-grad);color:#fff;}
.pa-hero__in{padding-block:2.75rem;}
.pa-hero .eyebrow{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;opacity:.85;}
.pa-hero h1{color:#fff;font-size:2.5rem;margin:.4rem 0 .5rem;}
.pa-hero p{margin:0;font-size:1.05rem;opacity:.92;max-width:520px;}
.pa-directory{display:grid;grid-template-columns:240px 1fr;gap:2rem;padding:2rem 0;align-items:start;}
.pa-filters{position:sticky;top:80px;}
.pa-results-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap;}
.pa-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:1.25rem;}
.pa-dir-toolbar{display:none;align-items:center;gap:.6rem;padding-top:.25rem;padding-bottom:.85rem;position:sticky;top:0;z-index:20;background:var(--bg-page);}
.pa-filter-count{background:var(--purple-500);color:#fff;border-radius:50rem;font-size:.7rem;font-weight:700;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;margin-inline-start:.35rem;}
.pa-toolbar-sort{margin-inline-start:auto;font-family:var(--font-sans);font-size:.9rem;color:var(--ink-800);background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:.6rem .85rem;cursor:pointer;max-width:200px;}
.pa-filters-aside__head{display:none;align-items:center;gap:.5rem;padding:.5rem .25rem 1rem;font-weight:700;color:var(--ink-900);}
.pa-filters-aside__head .pa-iconbtn{margin-inline-start:auto;}
.pa-sheet-handle{display:none;}
.pa-filters-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:60;}
.pa-filters-backdrop.is-open{display:block;animation:pa-fade var(--dur) var(--ease);}
@keyframes pa-fade{from{opacity:0;}to{opacity:1;}}
.pa-loading{text-align:center;padding:1.5rem;color:var(--gray-600);font-size:.9rem;}
.pa-loading .spin{display:inline-block;width:22px;height:22px;border:2.5px solid var(--purple-100);border-top-color:var(--purple-500);border-radius:50%;animation:pa-spin .7s linear infinite;vertical-align:middle;margin-inline-end:.4rem;}
@keyframes pa-spin{to{transform:rotate(360deg);}}
#paSentinel{height:1px;}
/* applied-filter chips */
.pa-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.25rem;}
.pa-chips:empty{display:none;}
.pa-chip-filter{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .35rem .3rem .75rem;background:var(--purple-50);color:var(--purple-700);border:1px solid var(--purple-200);border-radius:50rem;font-size:.8rem;font-weight:600;white-space:nowrap;}
[dir=rtl] .pa-chip-filter{padding:.3rem .75rem .3rem .35rem;}
.pa-chip-filter button{width:20px;height:20px;border:none;border-radius:50%;background:transparent;color:var(--purple-700);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;}
.pa-chip-filter button:hover{background:var(--purple-100);}
.pa-chips__clear{border:none;background:transparent;color:var(--gray-600);cursor:pointer;font-size:.8rem;font-weight:600;text-decoration:underline;padding:.2rem .3rem;}
/* skeleton shimmer cards */
.pa-skel{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;}
.pa-skel__img{height:150px;}
.pa-skel__body{padding:1.6rem 1.1rem 1.1rem;display:flex;flex-direction:column;gap:.6rem;}
.pa-skel__line{height:14px;border-radius:4px;}
.pa-skel__img,.pa-skel__line{background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-200) 37%,var(--gray-100) 63%);background-size:720px 100%;animation:pa-shimmer 1.4s linear infinite;}
@keyframes pa-shimmer{from{background-position:-360px 0;}to{background-position:360px 0;}}

/* ---- Talent card ---- */
.pa-talent-card{overflow:hidden;display:flex;flex-direction:column;position:relative;transition:box-shadow var(--dur),transform var(--dur);}
.pa-talent-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px);}
.pa-talent-card__cover{position:relative;height:150px;background:var(--purple-50);background-size:cover;background-position:center;}
.pa-talent-card__cover .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.45) 100%);}
.pa-talent-card__ava{position:absolute;inset-inline-start:1.1rem;bottom:-28px;width:64px;height:64px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px #fff,var(--shadow);background:var(--purple-100);display:flex;align-items:center;justify-content:center;color:var(--purple-700);font-weight:700;}
.pa-talent-card__body{padding:2.4rem 1.1rem 1.1rem;display:flex;flex-direction:column;flex:1;}
.pa-talent-card__name{font-size:1.05rem;font-weight:600;color:var(--ink-900);margin:0;}
.pa-talent-card__cat{font-size:.875rem;color:var(--purple-700);font-weight:500;}
.pa-talent-card__meta{margin-top:.5rem;font-size:.825rem;color:var(--gray-600);display:flex;align-items:center;gap:.35rem;}
.pa-talent-card__foot{margin-top:auto;padding-top:.9rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;}

/* ---- Social feed ---- */
.pa-feed-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1.6rem;align-items:start;padding:1.6rem 0;}
.pa-feed-main{display:flex;flex-direction:column;gap:1.25rem;min-width:0;max-width:560px;margin:0 auto;width:100%;}
.pa-feed-rail{position:sticky;top:80px;display:flex;flex-direction:column;gap:1rem;}
.pa-post{overflow:hidden;}
.pa-post__head{display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;}
.pa-post__avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;background:var(--purple-100);display:flex;align-items:center;justify-content:center;color:var(--purple-700);font-weight:700;font-size:.85rem;}
.pa-post__media{width:100%;background:#000;}
.pa-post__media img,.pa-post__media video{width:100%;display:block;max-height:620px;object-fit:contain;background:#000;}
.pa-media-processing{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:320px;width:100%;background:#0b0b0b;color:#bdbdbd;font-size:.85rem;}
.pa-media-processing i{font-size:1.6rem;color:var(--purple-400);}
.pa-post__actions{display:flex;align-items:center;gap:1rem;padding:.7rem 1rem .3rem;font-size:1.25rem;}
.pa-post__actions .pa-like{background:none;border:none;cursor:pointer;color:var(--ink-800);font-size:1.25rem;padding:0;display:inline-flex;align-items:center;gap:.35rem;}
.pa-post__actions .pa-like.is-liked i{color:var(--purple-500);animation:pa-pop .35s ease;}
.pa-post__actions .count{font-size:.9rem;color:var(--ink-800);}
.pa-post__body{padding:0 1rem 1rem;}
.pa-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;}
.pa-carousel>*{flex:0 0 100%;scroll-snap-align:center;}
@keyframes pa-pop{0%{transform:scale(1)}30%{transform:scale(1.4)}55%{transform:scale(.85)}100%{transform:scale(1)}}
.pa-composer{display:flex;flex-direction:column;gap:.6rem;padding:1.1rem;}
.pa-pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;}
.pa-pgrid__item{position:relative;aspect-ratio:1/1;overflow:hidden;cursor:pointer;background:var(--purple-50);}
.pa-pgrid__item img{width:100%;height:100%;object-fit:cover;display:block;}
.pa-pgrid__badge{position:absolute;top:.4rem;inset-inline-end:.4rem;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);}
.pa-comment{display:flex;gap:.6rem;padding:.5rem 0;}
.pa-comment__avatar{width:30px;height:30px;border-radius:50%;flex-shrink:0;background:var(--purple-50);color:var(--purple-700);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;}

/* ---- Responsive ---- */
@media (max-width:992px){
  .pa-feed-layout{grid-template-columns:1fr;}
  .pa-feed-rail{display:none;}
  .pa-directory{display:block;padding-top:0;}
  .pa-dir-toolbar{display:flex;}
  .pa-filters{position:static;}
  /* mobile = bottom-sheet drawer */
  .pa-filters-aside{position:fixed;inset-inline:0;bottom:0;top:auto;width:auto;max-width:460px;margin-inline:auto;max-height:88vh;background:#fff;z-index:70;border-radius:18px 18px 0 0;transform:translateY(100%);transition:transform var(--dur) var(--ease);overflow-y:auto;padding:0 1.1rem 1.1rem;box-shadow:var(--shadow-hover);}
  .pa-filters-aside.is-open{transform:translateY(0);}
  .pa-filters{box-shadow:none;border:none;padding:0!important;}
  .pa-filters-aside__head{display:flex;position:sticky;top:0;background:#fff;z-index:1;}
  .pa-sheet-handle{display:block;width:42px;height:5px;border-radius:50rem;background:var(--gray-300);margin:.6rem auto .2rem;}
}
@media (max-width:880px){
  .pa-aside{display:none;}
  .pa-mobilebar{display:flex;}
  .pa-app{padding-bottom:88px;}
  .pa-portfolio{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
  .pa-hero h1{font-size:1.9rem;}
}

/* ---- Cast & Crew auth pages (login + register), mirrors CastCrewAuth design ---- */
.pa-auth{display:flex;align-items:stretch;min-height:100vh;}
.pa-auth__hero{flex:1 1 46%;max-width:620px;position:relative;overflow:hidden;background:var(--brand-grad);color:#fff;padding:3.25rem 3rem;display:flex;flex-direction:column;}
.pa-auth__motif{position:absolute;inset-inline-end:-3rem;bottom:-3.5rem;font-size:20rem;color:rgba(255,255,255,.07);transform:rotate(-12deg);pointer-events:none;}
.pa-auth__brand{position:relative;display:flex;align-items:center;gap:.7rem;}
.pa-auth__brand-mark{width:40px;height:40px;border-radius:9px;background:#fff;color:var(--purple-600);display:inline-flex;align-items:center;justify-content:center;font-size:1.15rem;box-shadow:0 2px 10px rgba(0,0,0,.18);}
.pa-auth__brand-mark img{max-height:30px;max-width:120px;object-fit:contain;}
.pa-auth__brand-name{font-weight:700;font-size:1.25rem;letter-spacing:-.01em;}
.pa-auth__brand-logo{display:inline-flex;align-items:center;background:#fff;border-radius:10px;padding:.4rem .7rem;box-shadow:0 2px 10px rgba(0,0,0,.18);}
.pa-auth__brand-logo img{height:34px;max-width:170px;object-fit:contain;display:block;}
.pa-auth__hero-body{position:relative;margin-top:auto;padding-top:3rem;}
.pa-auth__eyebrow{font-size:.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;opacity:.82;margin-bottom:1.1rem;}
.pa-auth__title{font-weight:700;font-size:2.5rem;line-height:1.12;margin:0 0 1rem;color:#fff;}
.pa-auth__sub{font-size:1.05rem;line-height:1.6;opacity:.9;margin:0 0 2.1rem;max-width:30rem;}
.pa-auth__bullets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.1rem;}
.pa-auth__bullet{display:flex;align-items:flex-start;gap:.9rem;}
.pa-auth__bullet-ic{flex:0 0 auto;width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.16);display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;}
.pa-auth__bullet b{font-weight:600;font-size:.98rem;display:block;}
.pa-auth__bullet span{font-size:.88rem;opacity:.82;line-height:1.5;}
.pa-auth__trust{position:relative;margin-top:2.75rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.18);display:inline-flex;align-items:center;gap:.6rem;font-size:.85rem;opacity:.9;}
.pa-auth__main{flex:1 1 54%;display:flex;flex-direction:column;min-width:0;overflow-y:auto;background:var(--bg-page);}
.pa-auth__mobile-brand{display:none;background:var(--brand-grad);color:#fff;padding:1.5rem 1.4rem 1.6rem;position:relative;overflow:hidden;}
.pa-auth__form-wrap{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:2.75rem 1.4rem 3.25rem;}
.pa-auth__form{width:100%;max-width:432px;margin:auto 0;}
.pa-auth__head h2{font-size:1.75rem;font-weight:700;color:var(--ink-900);margin:0 0 .35rem;letter-spacing:-.01em;}
.pa-auth__head p{font-size:.95rem;color:var(--gray-600);margin:0 0 1.6rem;}
.pa-auth__alert{display:flex;gap:.7rem;align-items:flex-start;background:var(--danger-soft-bg);border:1px solid #F3C2C2;border-radius:var(--radius);padding:.8rem 1rem;margin-bottom:1.25rem;}
.pa-auth__alert i{color:var(--danger-soft-fg);margin-top:.15rem;}
.pa-auth__alert span{font-size:.9rem;font-weight:500;color:var(--danger-soft-fg);line-height:1.45;}
.pa-auth__row{display:flex;flex-direction:column;gap:1.05rem;}
.pa-auth__between{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.pa-auth__check{display:inline-flex;align-items:flex-start;gap:.5rem;cursor:pointer;font-size:.9rem;color:var(--ink-800);line-height:1.5;}
.pa-auth__check input{width:1.1rem;height:1.1rem;margin-top:.12rem;accent-color:var(--purple-500);cursor:pointer;flex:0 0 auto;}
.pa-auth__foot{margin-top:1.6rem;text-align:center;font-size:.92rem;color:var(--gray-600);}
.pa-field-err{font-size:.8rem;color:var(--danger);margin-top:.1rem;}
.pa-input.is-invalid,.pa-select.is-invalid{border-color:var(--danger);box-shadow:0 0 0 3px rgba(232,56,55,.18);}
/* password field with show/hide */
.pa-pwd{position:relative;display:block;}
.pa-pwd .pa-input{width:100%;padding-inline-end:2.6rem;}
.pa-pwd__toggle{position:absolute;inset-inline-end:.35rem;top:50%;transform:translateY(-50%);width:34px;height:34px;border:none;background:none;color:var(--gray-500);cursor:pointer;border-radius:var(--radius);font-size:.9rem;}
.pa-pwd__toggle:hover{color:var(--purple-600);}
/* "joining as" intent selector (Requester / Cast / Crew) */
.pa-intent{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;}
.pa-intent__btn{display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center;padding:.85rem .5rem;border-radius:var(--radius);cursor:pointer;font-family:var(--font-sans);border:1px solid var(--gray-200);background:#fff;color:var(--ink-800);}
.pa-intent__btn:hover{border-color:var(--purple-300);background:var(--gray-50);}
.pa-intent__btn.is-active{border-color:var(--purple-500);background:var(--purple-50);color:var(--purple-700);}
.pa-intent__btn i{font-size:1.2rem;}
.pa-intent__t{font-weight:600;font-size:.9rem;}
.pa-intent__d{font-size:.72rem;color:var(--gray-600);line-height:1.3;}
.pa-intent__btn.is-active .pa-intent__d{color:var(--purple-600);}
@media (max-width:480px){.pa-intent{grid-template-columns:1fr;}.pa-intent__btn{flex-direction:row;justify-content:flex-start;gap:.6rem;text-align:start;}}
/* account-type toggle */
.pa-acct{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;}
.pa-acct__btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem .9rem;border-radius:var(--radius);cursor:pointer;font-family:var(--font-sans);font-size:.92rem;font-weight:600;border:1px solid var(--gray-200);background:#fff;color:var(--ink-800);}
.pa-acct__btn:hover{border-color:var(--purple-300);background:var(--gray-50);}
.pa-acct__btn.is-active{border-color:var(--purple-500);background:var(--purple-50);color:var(--purple-700);}
/* phone with dial-code prefix */
.pa-phone{display:flex;align-items:stretch;border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;background:#fff;}
.pa-phone:focus-within{border-color:var(--purple-500);box-shadow:var(--focus);}
.pa-phone__code{display:inline-flex;align-items:center;padding:0 .65rem;background:var(--gray-100);color:var(--ink-800);font-size:.92rem;font-weight:600;border-inline-end:1px solid var(--gray-200);white-space:nowrap;}
.pa-phone input{flex:1;min-width:0;border:none;outline:none;background:transparent;padding:.68rem .8rem;font:inherit;color:var(--ink-800);}
@media (max-width:900px){
  .pa-auth{flex-direction:column;min-height:0;}
  .pa-auth__hero{display:none;}
  .pa-auth__mobile-brand{display:block;}
}

/* ---- OTP (verify email code) ---- */
.pa-otp{display:flex;gap:.55rem;}
.pa-otp__box{flex:1;min-width:0;max-width:58px;aspect-ratio:1/1;text-align:center;font-family:var(--font-sans);font-size:1.55rem;font-weight:600;color:var(--ink-900);background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);outline:none;padding:0;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);}
.pa-otp__box:focus{border-color:var(--purple-500);box-shadow:var(--focus);}
.pa-otp__box.is-invalid{border-color:var(--danger);box-shadow:0 0 0 3px rgba(232,56,55,.16);}
.pa-otp__resend{background:none;border:none;padding:0;font-family:inherit;font-size:.92rem;font-weight:600;color:var(--link);cursor:pointer;}
.pa-otp__resend:hover{color:var(--link-hover);text-decoration:underline;}
.pa-otp__resend:disabled{color:var(--gray-500);cursor:default;text-decoration:none;}

/* ---- Onboarding wizard ---- */
.pa-wsteps{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.3rem;}
.pa-wstep{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--gray-200);background:#fff;border-radius:var(--radius-pill);padding:.4rem .85rem .4rem .45rem;cursor:pointer;font-family:var(--font-sans);color:var(--gray-600);font-size:.85rem;}
.pa-wstep__num{width:22px;height:22px;border-radius:50%;background:var(--gray-100);color:var(--gray-600);display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;}
.pa-wstep.is-active{border-color:var(--purple-500);color:var(--purple-700);background:var(--purple-50);}
.pa-wstep.is-active .pa-wstep__num{background:var(--brand-grad);color:#fff;}
.pa-wstep.is-done .pa-wstep__num{background:var(--success);color:#fff;}
.pa-wstep.is-done .pa-wstep__num::before{content:"\2713";}
.pa-wstep.is-done .pa-wstep__num{font-size:0;}
.pa-wstep.is-done .pa-wstep__num::before{font-size:.78rem;}
.pa-step-panel{display:none;}
.pa-step-panel.is-active{display:block;animation:paFade .25s var(--ease);}
@keyframes paFade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.pa-step-note{color:var(--gray-600);font-size:.88rem;line-height:1.55;margin:0 0 1.1rem;background:var(--gray-50);border-inline-start:3px solid var(--purple-300);padding:.6rem .8rem;border-radius:6px;}
.pa-step-note i{color:var(--purple-500);margin-inline-end:.3rem;}
.pa-wnav{display:flex;align-items:center;gap:.6rem;position:sticky;bottom:0;background:var(--bg-page);padding:1rem 0;border-top:1px solid var(--border);margin-top:.4rem;}
.pa-error{color:var(--danger);font-size:.8rem;margin-top:.3rem;min-height:0;}
.pa-input.is-invalid,.pa-select.is-invalid,.pa-textarea.is-invalid{border-color:var(--danger);box-shadow:0 0 0 3px rgba(232,56,55,.14);}
.pa-file-prev img{display:block;}
.pa-badge--type{background:var(--purple-50);color:var(--purple-700);border:1px solid var(--purple-200);border-radius:var(--radius-pill);font-size:.72rem;font-weight:700;padding:.18rem .6rem;text-transform:uppercase;letter-spacing:.04em;}
.pa-wtoast{position:fixed;bottom:1.2rem;inset-inline:0;margin:0 auto;width:max-content;max-width:90%;background:var(--ink-900);color:#fff;font-size:.9rem;font-weight:500;padding:.7rem 1.2rem;border-radius:50rem;box-shadow:var(--shadow-hover);z-index:60;opacity:0;transition:opacity .2s var(--ease);}
.pa-wtoast.is-show{opacity:1;}

/* ---- Onboarding redesign: essentials / attributes / equipment ---- */
.pa-locked-field{display:flex;align-items:center;gap:.5rem;width:100%;font-size:1rem;color:var(--gray-600);background:var(--gray-100);border:1px solid var(--gray-200);border-radius:var(--radius);padding:.6rem .9rem;}
.pa-locked-field i{font-size:.8rem;color:var(--gray-500);}
.pa-agechip{display:inline-flex;align-items:center;gap:.5rem;align-self:flex-start;background:var(--purple-50);color:var(--purple-800);border:1px solid var(--purple-100);border-radius:50rem;padding:.5rem 1rem;font-weight:600;font-size:.95rem;}
.pa-help{color:var(--gray-600);font-size:.8rem;margin-top:.3rem;}

/* languages with level */
.pa-lang-row{display:flex;align-items:center;gap:.7rem;background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius);padding:.45rem .5rem .45rem .85rem;}
.pa-lang-row__ico{width:26px;height:26px;border-radius:50%;background:var(--purple-50);color:var(--purple-700);display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;flex-shrink:0;}
.pa-lang-row__name{flex:1;font-weight:600;color:var(--ink-900);font-size:.92rem;}
.pa-lang-row__level{flex:0 0 auto;font-family:var(--font-sans);font-size:.85rem;font-weight:500;color:var(--purple-700);background:#fff;border:1px solid var(--gray-200);border-radius:50rem;padding:.35rem .7rem;cursor:pointer;}
.pa-lang-row__rm{width:30px;height:30px;flex-shrink:0;border-radius:var(--radius);border:none;background:transparent;color:var(--gray-500);cursor:pointer;font-size:.82rem;}
.pa-lang-row__rm:hover{background:var(--danger-soft-bg);color:var(--danger);}
.pa-chip-add{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .8rem;border-radius:50rem;border:1px solid var(--gray-200);background:#fff;color:var(--ink-800);font-size:.83rem;font-weight:500;cursor:pointer;font-family:var(--font-sans);}
.pa-chip-add:hover{border-color:var(--purple-300);background:var(--purple-50);color:var(--purple-700);}
.pa-chip-add i{font-size:.68rem;color:var(--purple-500);}

/* physical attributes */
.pa-attr-grouptitle{font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-500);margin-bottom:.55rem;}
.pa-unitbox{display:flex;align-items:stretch;border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;}
.pa-unitbox .pa-input{border:none;border-radius:0;flex:1;min-width:0;}
.pa-unitbox__u{display:inline-flex;align-items:center;padding:0 .85rem;background:var(--gray-100);color:var(--gray-600);font-size:.85rem;font-weight:600;}
.pa-swatch{display:flex;flex-direction:column;align-items:center;gap:.3rem;border:none;background:transparent;cursor:pointer;font-family:var(--font-sans);padding:0;}
.pa-swatch__dot{width:38px;height:38px;border-radius:50%;display:inline-block;box-shadow:0 0 0 1px rgba(0,0,0,.12);}
.pa-swatch.is-on .pa-swatch__dot{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--purple-500);}
.pa-swatch__lbl{font-size:.68rem;color:var(--gray-600);max-width:60px;text-align:center;line-height:1.2;}
.pa-swatch.is-on .pa-swatch__lbl{color:var(--purple-700);font-weight:600;}
.pa-optchip{min-width:52px;padding:.5rem .9rem;border-radius:var(--radius);border:1px solid var(--gray-200);background:#fff;color:var(--ink-800);font-size:.9rem;font-weight:600;cursor:pointer;font-family:var(--font-sans);}
.pa-optchip.is-on{border-color:var(--purple-500);background:var(--purple-50);color:var(--purple-700);}

/* crew equipment */
.pa-switch2{position:relative;display:inline-block;flex-shrink:0;cursor:pointer;}
.pa-switch2 input{position:absolute;opacity:0;width:0;height:0;}
.pa-switch2__track{display:inline-block;width:3rem;height:1.65rem;border-radius:50rem;background:var(--gray-300);transition:background .15s var(--ease);position:relative;}
.pa-switch2__thumb{position:absolute;top:.15rem;inset-inline-start:.15rem;width:1.35rem;height:1.35rem;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:inset-inline-start .15s var(--ease);}
.pa-switch2 input:checked + .pa-switch2__track{background:var(--purple-500);}
.pa-switch2 input:checked + .pa-switch2__track .pa-switch2__thumb{inset-inline-start:1.5rem;}
.pa-equip-row__ico{width:38px;height:38px;flex-shrink:0;border-radius:var(--radius);background:var(--purple-50);color:var(--purple-600);display:inline-flex;align-items:center;justify-content:center;}
.pa-equip-row__rm{width:36px;height:36px;flex-shrink:0;border-radius:var(--radius);border:1px solid var(--gray-200);background:#fff;color:var(--danger);cursor:pointer;font-size:.85rem;}
.pa-equip-row__rm:hover{background:var(--danger-soft-bg);border-color:#F3C2C2;}

/* ---- Directory physical-attribute facets ---- */
.pa-attrfacet{border-top:1px solid var(--gray-100);padding-top:.85rem;margin-top:.4rem;}
.pa-swatchpick{cursor:pointer;display:inline-flex;}
.pa-swatchpick__dot{width:26px;height:26px;border-radius:50%;display:inline-block;box-shadow:0 0 0 1px rgba(0,0,0,.12);transition:box-shadow .12s var(--ease);}
.pa-swatchpick input:checked + .pa-swatchpick__dot{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--purple-500);}
.pa-chippick{cursor:pointer;}
.pa-chippick span{display:inline-block;padding:.35rem .7rem;border-radius:var(--radius);border:1px solid var(--gray-200);background:#fff;color:var(--ink-800);font-size:.82rem;font-weight:600;}
.pa-chippick input:checked + span{border-color:var(--purple-500);background:var(--purple-50);color:var(--purple-700);}

/* ---- Directory Cast/Crew tabs + grouped search ---- */
.pa-typetabs{display:flex;gap:.3rem;background:var(--gray-100);border-radius:var(--radius-pill);padding:.25rem;margin-bottom:1rem;}
.pa-typetab{flex:1;border:none;background:none;border-radius:var(--radius-pill);padding:.45rem .5rem;font-family:var(--font-sans);font-size:.85rem;font-weight:600;color:var(--gray-600);cursor:pointer;}
.pa-typetab.is-active{background:#fff;color:var(--purple-700);box-shadow:0 1px 4px rgba(0,0,0,.08);}
.pa-hsearch__group{padding:.5rem .85rem .25rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);background:var(--gray-50);}

/* ---- RTL: dropdown (Choices) arrow on the left ---- */
[dir=rtl] .choices[data-type*="select-one"]::after{left:11.5px;right:auto;}
[dir=rtl] .choices[data-type*="select-one"] .choices__inner{padding-inline-start:1.6rem;padding-inline-end:.75rem;}
[dir=rtl] .choices[data-type*="select-one"] .choices__button{left:0;right:auto;margin-inline-start:25px;margin-inline-end:0;}

/* ───────── Feed enhancements (Phase 3) ───────── */
/* Card spacing: cards live inside #paFeed, which wasn't a flex parent → they touched. */
#paFeed{display:flex;flex-direction:column;gap:1.5rem;}

/* Composer trigger (replaces the inline composer) */
.pa-composer-trigger{display:flex;align-items:center;gap:.75rem;width:100%;text-align:start;padding:.9rem 1.1rem;border:none;cursor:pointer;}
.pa-composer-trigger__text{flex:1;color:var(--gray-500);font-size:.95rem;}
.pa-postbtn{display:inline-flex;align-items:center;gap:.35rem;}

/* Bell pulse on new realtime notification */
.pa-bell--pulse{animation:paBellPulse .6s ease 2;}
@keyframes paBellPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.18);}}

/* Video player overlay controls */
.pa-videowrap{position:relative;width:100%;background:#000;}
.pa-videowrap video{display:block;width:100%;max-height:620px;object-fit:contain;background:#000;cursor:pointer;}
.pa-video__mute{position:absolute;bottom:12px;inset-inline-end:12px;width:38px;height:38px;border-radius:50%;border:none;background:rgba(0,0,0,.55);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;z-index:2;}
.pa-video__mute:hover{background:rgba(0,0,0,.75);}
.pa-video__play{position:absolute;inset:0;margin:auto;width:64px;height:64px;border-radius:50%;border:none;background:rgba(0,0,0,.5);color:#fff;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;}
.pa-videowrap.is-playing .pa-video__play{display:none;}

/* "New posts" pill */
.pa-newposts{position:fixed;top:74px;left:50%;transform:translateX(-50%);z-index:60;border:none;cursor:pointer;background:var(--purple-600,#c401cb);color:#fff;border-radius:999px;padding:.5rem 1rem;font-size:.85rem;font-weight:600;box-shadow:0 6px 18px rgba(0,0,0,.18);display:inline-flex;align-items:center;gap:.4rem;}
.pa-newposts:hover{filter:brightness(1.05);}
.pa-newposts[hidden]{display:none;} /* class display must not override the hidden attribute */

/* Modal */
.pa-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:4vh 1rem;overflow-y:auto;}
.pa-modal[hidden]{display:none;}
.pa-modal__backdrop{position:fixed;inset:0;background:rgba(15,15,20,.6);backdrop-filter:blur(2px);}
.pa-modal__dialog{position:relative;z-index:1;width:100%;max-width:540px;background:#fff;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.3);overflow:hidden;}
.pa-modal__head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;border-bottom:1px solid var(--gray-150,#eee);}
.pa-modal__title{margin:0;font-size:1.05rem;font-weight:700;color:var(--ink-900);}
.pa-modal__close{background:none;border:none;font-size:1.2rem;color:var(--gray-500);cursor:pointer;}
.pa-modal__body{padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.85rem;max-height:64vh;overflow-y:auto;}
.pa-modal__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.2rem;border-top:1px solid var(--gray-150,#eee);}
.pa-composer__who{display:flex;align-items:center;gap:.6rem;}
.pa-select--inline{width:auto;padding:.2rem .5rem;font-size:.8rem;border-radius:6px;margin-top:.2rem;}

/* Dropzone + previews */
.pa-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;border:2px dashed var(--purple-200,#e6b8e8);border-radius:12px;padding:1.6rem 1rem;cursor:pointer;color:var(--gray-600);text-align:center;transition:border-color .15s,background .15s;}
.pa-dropzone.is-drag{border-color:var(--purple-500,#c401cb);background:var(--purple-50,#fbeffb);}
.pa-dropzone i{font-size:1.6rem;color:var(--purple-400,#d36ad6);}
.pa-dropzone__main{font-weight:600;color:var(--ink-800);}
.pa-dropzone__sub{font-size:.8rem;}
.pa-previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.5rem;}
.pa-previews:empty{display:none;}
.pa-preview{position:relative;aspect-ratio:1/1;border-radius:8px;overflow:hidden;background:var(--purple-50,#fbeffb);}
.pa-preview img{width:100%;height:100%;object-fit:cover;display:block;}
.pa-preview__vid{display:flex;align-items:center;justify-content:center;height:100%;color:var(--purple-400,#d36ad6);font-size:1.4rem;}
.pa-preview__rm{position:absolute;top:4px;inset-inline-end:4px;width:22px;height:22px;border-radius:50%;border:none;background:rgba(0,0,0,.6);color:#fff;cursor:pointer;font-size:.7rem;display:flex;align-items:center;justify-content:center;}
.pa-preview__bar{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(0,0,0,.2);}
.pa-preview__bar span{display:block;height:100%;width:0;background:var(--purple-500,#c401cb);}

/* Upload + status */
.pa-uplbar{height:8px;border-radius:999px;background:var(--gray-150,#eee);overflow:hidden;flex:1;}
.pa-uplbar span{display:block;height:100%;width:0;background:var(--purple-500,#c401cb);transition:width .15s;}
.pa-uplpct{font-size:.8rem;color:var(--gray-600);margin-top:.3rem;}
.pa-composer__status{font-size:.85rem;color:var(--gray-700);display:flex;align-items:center;gap:.4rem;flex:1;}
.pa-composer__error{white-space:pre-line;color:#c0392b;background:#fdecea;border-radius:8px;padding:.5rem .7rem;font-size:.82rem;}
.pa-text-ok{color:#1e7e34;}.pa-text-danger{color:#c0392b;}

[dir=rtl] .pa-newposts{transform:translateX(50%);}

/* Suggested-talent rail (feed) — reuses the directory talent card */
.pa-rail-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.2rem;}
.pa-rail-head__more{font-size:.8rem;color:var(--purple-600);font-weight:600;}
.pa-rail-list{display:flex;flex-direction:column;gap:1rem;}
.pa-rail-item{display:flex;flex-direction:column;}
.pa-rail-item .pa-talent-card{margin:0;}
.pa-rail-follow{margin-top:.5rem;}
.pa-btn--block{display:flex;width:100%;justify-content:center;}

/* ───────── Comments, likes, toast, portfolio (UX pass) ───────── */
.pa-post__caption{font-size:.92rem;color:var(--ink-800);line-height:1.5;}
.pa-post__viewall{display:inline-block;margin:.55rem 0 .15rem;font-size:.84rem;color:var(--gray-500);font-weight:600;}
.pa-post__viewall:hover{color:var(--purple-600);}
.pa-post__commentform{display:flex;gap:.5rem;margin-top:.7rem;}
.pa-post__commentform .pa-input{padding:.5rem .8rem;}

/* Comment row (shared: feed card, post page, realtime) */
.pa-comments{display:flex;flex-direction:column;gap:.2rem;}
.pa-comment{display:flex;gap:.55rem;padding:.4rem .35rem;border-radius:10px;align-items:flex-start;transition:background .4s ease;}
.pa-post__lastcomment{cursor:pointer;}
.pa-post__lastcomment .pa-comment{padding-inline:0;}
.pa-comment__ava{width:32px;height:32px;border-radius:50%;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--purple-50);}
.pa-comment__ava img{width:100%;height:100%;object-fit:cover;}
.pa-comment__ava--txt{color:var(--purple-700);font-size:.75rem;font-weight:700;}
.pa-comment__main{min-width:0;flex:1;}
.pa-comment__bubble{background:var(--gray-100);border-radius:14px;padding:.45rem .7rem;display:inline-block;max-width:100%;}
.pa-comment__name{font-weight:700;color:var(--ink-900);font-size:.82rem;margin-inline-end:.35rem;}
.pa-comment__name a{color:var(--ink-900);}
.pa-comment__name a:hover{color:var(--purple-600);}
.pa-comment__name i{font-size:.66rem;}
.pa-comment__body{font-size:.88rem;color:var(--ink-800);word-break:break-word;}
.pa-comment__time{font-size:.7rem;color:var(--gray-500);margin:.15rem 0 0 .3rem;}
.pa-comment-reply{margin-inline-start:2.4rem;}
.pa-comment--hl{background:var(--purple-50);} /* soft purple highlight from a notification */
.pa-comment--hl .pa-comment__bubble{background:var(--purple-100);}

/* Owner "see who liked" */
.pa-likes-link{display:inline-flex;align-items:center;gap:.4rem;background:none;border:none;cursor:pointer;padding:.1rem 0 .5rem;color:var(--ink-800);font-size:.85rem;font-weight:600;}
.pa-likes-link:hover{color:var(--purple-600);}

/* Likes modal list */
.pa-liker{display:flex;align-items:center;gap:.6rem;padding:.45rem .2rem;}
.pa-liker__ava{width:38px;height:38px;border-radius:50%;object-fit:cover;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--purple-50);}
.pa-liker__ava--txt{color:var(--purple-700);font-weight:700;font-size:.8rem;}
.pa-liker__name{font-weight:600;color:var(--ink-900);font-size:.9rem;}
.pa-liker__name a{color:var(--ink-900);}
.pa-liker__name a:hover{color:var(--purple-600);}

/* Toast */
.pa-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,16px);z-index:1100;background:var(--ink-900);color:#fff;border-radius:10px;padding:.7rem 1.1rem;font-size:.9rem;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.25);display:flex;align-items:center;gap:.5rem;opacity:0;transition:opacity .3s,transform .3s;max-width:90vw;}
.pa-toast.is-in{opacity:1;transform:translate(-50%,0);}
.pa-toast i{color:var(--success,#2EB85C);}
.pa-toast--error i{color:var(--danger,#E83837);}

/* Portfolio grid overlay + placeholder */
.pa-port-item__ph{width:100%;height:100%;background:var(--purple-50);display:flex;align-items:center;justify-content:center;color:var(--purple-400);font-size:1.6rem;}
.pa-port-item__title{position:absolute;left:0;right:0;bottom:0;padding:1.4rem .6rem .5rem;font-size:.8rem;font-weight:600;color:#fff;background:linear-gradient(to top,rgba(0,0,0,.72),transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* Portfolio show page */
.pa-portshow__media{width:100%;background:#000;display:flex;align-items:center;justify-content:center;}
.pa-portshow__media img,.pa-portshow__media video{width:100%;max-height:70vh;object-fit:contain;display:block;background:#000;}
.pa-portshow__ext{width:100%;min-height:280px;display:flex;align-items:center;justify-content:center;background:var(--purple-50);color:var(--purple-300);font-size:2.4rem;}

/* Clickable stat (followers count → modal) */
.pa-stat--btn{background:none;border:none;font:inherit;text-align:inherit;cursor:pointer;}
.pa-stat--btn:hover .pa-stat__val{color:var(--purple-600);}

/* Composer limits hint */
.pa-composer__limits{font-size:.78rem;color:var(--gray-600);background:var(--gray-50);border-radius:8px;padding:.45rem .6rem;}
.pa-composer__limits i{color:var(--purple-400);}

/* ───────── Service request: messages, tabs, rows ───────── */
.pa-msgs{display:flex;flex-direction:column;gap:.55rem;max-height:420px;overflow-y:auto;margin-bottom:.8rem;padding:.2rem;}
.pa-msg{display:flex;flex-direction:column;max-width:78%;align-self:flex-start;}
.pa-msg--mine{align-self:flex-end;align-items:flex-end;}
.pa-msg--system{align-self:center;max-width:100%;text-align:center;font-size:.78rem;color:var(--gray-500);background:var(--gray-50);border-radius:999px;padding:.25rem .8rem;}
.pa-msg__bubble{background:var(--gray-100);color:var(--ink-800);padding:.55rem .8rem;border-radius:14px;border-bottom-inline-start-radius:4px;}
.pa-msg--mine .pa-msg__bubble{background:var(--purple-500);color:#fff;border-bottom-inline-start-radius:14px;border-bottom-inline-end-radius:4px;}
.pa-msg__text{white-space:pre-wrap;word-break:break-word;font-size:.9rem;}
.pa-msg__atts{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem;}
.pa-msg__img{display:block;width:120px;height:120px;border-radius:8px;overflow:hidden;}
.pa-msg__img img{width:100%;height:100%;object-fit:cover;display:block;}
.pa-msg__file{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;color:inherit;text-decoration:underline;background:rgba(0,0,0,.06);padding:.3rem .6rem;border-radius:8px;}
.pa-msg--mine .pa-msg__file{background:rgba(255,255,255,.18);}
.pa-msg__meta{font-size:.68rem;color:var(--gray-500);margin-top:.2rem;}
.pa-reqform{display:flex;gap:.5rem;align-items:flex-end;}
.pa-reqform .pa-textarea{flex:1;min-height:42px;resize:vertical;}
.pa-reqform__clip{cursor:pointer;}
.pa-reqpreviews{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;}
.pa-reqpreviews:empty{display:none;}
.pa-reqchip{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;background:var(--gray-100);border-radius:8px;padding:.25rem .5rem;color:var(--gray-700);}
.pa-reqchip img{width:24px;height:24px;border-radius:5px;object-fit:cover;}

/* Requests page tabs + rows */
.pa-reqtabs{display:flex;gap:.5rem;margin-bottom:1.1rem;border-bottom:1px solid var(--gray-200);flex-wrap:wrap;}
.pa-reqtab{background:none;border:none;cursor:pointer;font:inherit;font-weight:600;font-size:.92rem;color:var(--gray-600);padding:.5rem .2rem;border-bottom:2px solid transparent;margin-bottom:-1px;}
.pa-reqtab.is-active{color:var(--purple-600);border-bottom-color:var(--purple-500);}
.pa-reqrow{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;margin-bottom:.75rem;text-decoration:none;}
.pa-reqrow:hover{box-shadow:var(--shadow-hover);}
