:root{--bg:#f7f5ef;--paper:#fff;--ink:#141414;--muted:#666b73;--line:#ece5d8;--brand:#e0aa46;--brand2:#111111;--soft:#fff4df;--green:#147b45;--red:#b42318;--blue:#234dd4;--shadow:0 18px 45px rgba(12,12,12,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#fff;color:var(--ink);font-size:16px;line-height:1.55}.topbar{height:72px;background:#101010;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:50}.brand{font-size:27px;font-weight:900;color:#fff;text-decoration:none;display:flex;gap:10px;align-items:center}.brand-mark{background:var(--brand);color:#111;border-radius:12px;padding:7px 9px;font-size:13px;letter-spacing:.5px}.nav{display:flex;gap:22px;align-items:center}.nav a,.adminbar a{color:#fff;text-decoration:none;font-weight:700}.nav a:hover,.adminbar a:hover{color:var(--brand)}.nav-cta{background:var(--brand);color:#111!important;padding:10px 15px;border-radius:999px}.menu-btn{display:none;background:none;border:0;color:#fff;font-size:26px}.adminbar{background:#fff2dc;border-bottom:1px solid #efd9ad;padding:11px 26px;display:flex;gap:18px;flex-wrap:wrap}.adminbar a{color:#111;font-size:14px}.wrap{max-width:1220px;margin:0 auto;padding:34px 24px}.hero{background:radial-gradient(circle at top right,#ffe3b1,transparent 28%),linear-gradient(135deg,#111,#2a1c0a);color:#fff;padding:74px 24px;border-bottom:1px solid #222}.hero-inner{max-width:1220px;margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;gap:38px;align-items:center}.hero h1{font-size:60px;line-height:1.03;margin:0 0 18px}.hero p{font-size:20px;color:#f4efe6;max-width:700px}.hero-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.17);border-radius:24px;padding:26px;backdrop-filter:blur(10px)}.hero-card strong{font-size:36px}.hero-actions{margin-top:28px;display:flex;gap:14px;flex-wrap:wrap}.btn,button.btn{display:inline-block;background:var(--brand);color:#111;border:0;text-decoration:none;border-radius:12px;padding:13px 19px;font-weight:900;cursor:pointer}.btn.secondary{background:#111;color:#fff;border:1px solid #333}.btn.light{background:#fff;color:#111}.btn.small{padding:8px 11px;font-size:13px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:16px}.section-title h1,.section-title h2{margin:0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid.two{grid-template-columns:repeat(2,1fr)}.grid.four{grid-template-columns:repeat(4,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:var(--shadow)}.card.flat{box-shadow:none}.card h1,.card h2,.card h3{margin-top:0}.muted{color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:6px;background:#fff1d8;color:#6a3d00;border-radius:999px;padding:6px 11px;font-size:13px;font-weight:900}.badge.ok{background:#e6f6ed;color:var(--green)}.badge.warn{background:#fff1d8;color:#8a5200}.badge.bad{background:#ffe7e4;color:var(--red)}.table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.table th{background:#111;color:#fff;text-align:left}.table th,.table td{padding:14px;border-bottom:1px solid var(--line);vertical-align:top}.table tr:last-child td{border-bottom:0}.form{max-width:760px}.form.wide{max-width:none}.form label{display:block;font-weight:900;margin:17px 0 7px}.form input,.form select,.form textarea{width:100%;padding:13px;border:1px solid #ddd;border-radius:12px;font:inherit;background:#fff}.form textarea{min-height:120px}.notice{background:#fff5e4;border-left:4px solid var(--brand);padding:14px 17px;border-radius:10px;margin:14px 0}.notice.success{background:#eaf7ed;border-color:#20a45b;color:#116235}.notice.danger{background:#ffe8e6;border-color:#d92d20;color:#8a1f15}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.stat{background:#111;color:#fff;border-radius:20px;padding:22px}.stat span{display:block;color:#fac26b}.stat strong{font-size:32px}.filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:10px;align-items:end;margin-bottom:18px}.ad-slot{border:1px dashed #ddb56e;background:#fff9ed;border-radius:18px;padding:15px;margin:18px 0;text-align:center}.ad-slot span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#8a5200;font-weight:900}.ad-slot a{text-decoration:none;color:#111;display:block}.ad-slot img{max-width:100%;border-radius:12px;margin-bottom:8px}.ad-slot strong{display:block}.ad-slot small{display:block;color:var(--muted)}.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.price-card{border:1px solid var(--line);border-radius:22px;padding:24px;background:#fff;box-shadow:var(--shadow)}.price{font-size:38px;font-weight:900}.pill-list{display:flex;gap:10px;flex-wrap:wrap}.pill{background:#f2f2f2;border-radius:999px;padding:7px 12px;font-weight:700;font-size:13px}footer{border-top:1px solid var(--line);background:#fafafa;margin-top:60px}.footer-grid{display:flex;justify-content:space-between;gap:30px}.footer-grid a{display:block;color:#111;margin:6px 0;text-decoration:none}.footline{text-align:center;color:var(--muted);padding:0 24px 25px}.split{display:grid;grid-template-columns:1fr 1fr;gap:24px}.action-row{display:flex;gap:8px;flex-wrap:wrap}.empty{padding:30px;border:1px dashed #d5d5d5;border-radius:18px;text-align:center;color:var(--muted)}@media(max-width:850px){.menu-btn{display:block}.nav{display:none;position:absolute;top:72px;right:0;left:0;background:#111;padding:20px;flex-direction:column;align-items:flex-start}.nav-open .nav{display:flex}.hero-inner,.grid,.grid.two,.grid.four,.split,.pricing,.stats{grid-template-columns:1fr}.hero h1{font-size:38px}.filters{grid-template-columns:1fr}.table{font-size:14px;display:block;overflow-x:auto}.topbar{padding:0 18px}.brand{font-size:22px}}
/* Phase 3 additions */
.ledger-box{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0;padding:16px;border-radius:16px;background:#fff7e8;border:1px solid #f2d7a7}.ledger-box div{background:#fff;border-radius:12px;padding:12px}.ledger-box span{display:block;color:#6b7280;font-size:13px;margin-bottom:6px}.ledger-box b{font-size:18px}.notice b{font-weight:800}.adminbar a{white-space:nowrap}
@media(max-width:800px){.ledger-box{grid-template-columns:1fr}}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.festival-cover{background:linear-gradient(90deg,#111,#3a2a13);background-size:cover;background-position:center;color:#fff;padding:70px 0}.festival-hero-card{max-width:820px}.festival-logo{width:96px;height:96px;object-fit:cover;border-radius:22px;background:#fff;margin-bottom:18px;box-shadow:0 12px 30px rgba(0,0,0,.25)}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px}.media-card{border:1px solid #eee;border-radius:18px;padding:12px;background:#fff}.media-card img{width:100%;height:180px;object-fit:cover;border-radius:14px}.video-box{padding:35px;background:#111;color:#fff;border-radius:14px;word-break:break-word}.form h2,.form h3{margin-top:28px}.table td{vertical-align:top}.action-row{display:flex;flex-direction:column;gap:5px;margin-top:8px}@media(max-width:800px){.grid-2,.grid-3,.media-grid{grid-template-columns:1fr}.festival-cover{padding:40px 0}}

/* Phase 4.1 additions */
.required-note{font-size:13px;color:#8a5200;background:#fff4df;padding:10px 12px;border-radius:10px;margin:10px 0}.conditional-block{display:none}.jury-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.jury-card{border:1px solid var(--line);border-radius:18px;padding:18px;background:#fff}.score-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.tiny-link{font-size:13px;word-break:break-all;color:#234dd4}.festival-detail-list p{margin:0 0 14px}.public-team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.team-member{border:1px solid var(--line);border-radius:16px;padding:15px;background:#fff}.team-member b{display:block}@media(max-width:850px){.jury-grid,.score-grid,.public-team{grid-template-columns:1fr}}@media print{.topbar,.adminbar{position:static!important}.menu-btn{display:none!important}.nav{display:flex!important;position:static!important;flex-direction:row!important;background:transparent!important}.topbar{background:#101010!important;color:#fff!important}}

.payment-status-box{border:1px solid #e5e7eb;border-radius:14px;padding:16px;background:#fff}.notice.danger{background:#fff1f2;border-color:#fecdd3;color:#9f1239}.notice.success{background:#ecfdf5;border-color:#bbf7d0;color:#065f46}
.auth-switch{margin-top:22px;padding:18px;border:1px solid #eee;border-radius:14px;background:#fff8eb}.project-card .thumb{width:100%;max-height:190px;object-fit:cover;border-radius:14px;margin-bottom:12px}.form label .muted{font-weight:400}.notice.danger ul{margin:8px 0 0 18px}

/* Phase 9 festival builder cleanup */
.setup-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}.setup-steps{position:sticky;top:92px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow)}.setup-steps b{display:block;margin-bottom:10px}.setup-steps a{display:block;text-decoration:none;color:#111;padding:9px 10px;border-radius:10px;font-weight:800}.setup-steps a:hover{background:#fff4df}.setup-form{display:flex;flex-direction:column;gap:22px}.setup-card{scroll-margin-top:115px}.step-pill{display:inline-block;background:#111;color:#fff;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900;margin-bottom:10px}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 18px}.check-row{display:flex!important;align-items:center;gap:10px;margin:0!important;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;font-weight:800!important}.check-row input{width:auto!important;min-width:18px;height:18px;margin:0}.check-row span{line-height:1.2}.category-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.category-card{border:1px solid var(--line);border-radius:18px;padding:18px;background:#fff}.category-card b{font-size:18px}.category-card span,.category-card small{display:block;color:var(--muted)}.action-row.horizontal{flex-direction:row!important}.ledger-box.clean{grid-template-columns:repeat(3,minmax(0,1fr))}.card-cover{width:100%;height:160px;object-fit:cover;border-radius:18px;margin-bottom:14px}.festival-card{overflow:hidden}@media(max-width:900px){.setup-shell{grid-template-columns:1fr}.setup-steps{position:static}.option-grid,.category-cards{grid-template-columns:1fr}.ledger-box.clean{grid-template-columns:1fr}}
/* Phase 10: talent/cast-crew fields */
.crew-list{display:flex;flex-direction:column;gap:18px;margin:12px 0 18px}.crew-card{border:1px solid var(--line);border-radius:18px;padding:18px;background:#fffdf9}.crew-card .removeCrew{margin-top:10px}.radio-row{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin:8px 0 18px}.radio-choice{display:inline-flex!important;align-items:center;gap:8px;margin:0!important;font-weight:700;line-height:1.2}.radio-choice input[type="radio"]{width:18px!important;height:18px!important;margin:0!important;flex:0 0 auto}.avatar-large{width:92px;height:92px;border-radius:50%;object-fit:cover;border:1px solid var(--line);margin-bottom:12px}.talent-card a{font-weight:800;text-decoration:none;margin-right:10px}.tiny-help{display:block;color:var(--muted);font-size:12px;margin-top:5px}
.price-card .price{font-size:30px;font-weight:800;margin:10px 0}.talent-home-cta .grid.four div{padding:14px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.talent-home-cta .grid.four b{display:block;font-size:20px}.avatar-placeholder{width:96px;height:96px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#111827;color:#fff;font-size:36px;font-weight:800;margin-bottom:12px}.required-note{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:12px;margin-bottom:14px}.setup-card input:required,.setup-card textarea:required,.setup-card select:required{border-left:4px solid #f59e0b}

/* Phase 12.1: Talent Search filter layout polish */
.talent-search-form{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  padding:18px;
  box-shadow:var(--shadow);
  margin:18px 0 20px;
}
.talent-search-fields{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:14px;
  align-items:end;
}
.talent-search-fields label{
  display:block;
  font-weight:900;
  font-size:14px;
  color:#111;
}
.talent-search-fields input{
  width:100%;
  margin-top:7px;
  padding:13px 14px;
  border:1px solid #ddd;
  border-radius:12px;
  font:inherit;
  background:#fff;
}
.talent-search-actions{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:14px;
  flex-wrap:wrap;
}
.talent-search-actions .reset-btn{
  background:#fff;
  color:#111;
  border:1px solid #111;
}
.talent-search-actions .reset-btn:hover{
  background:#111;
  color:#fff;
}
@media(max-width:850px){
  .talent-search-fields{grid-template-columns:1fr;}
  .talent-search-actions{align-items:stretch;}
  .talent-search-actions .btn{width:100%;text-align:center;}
}
.avatar-small{width:42px;height:42px;border-radius:50%;object-fit:cover;border:1px solid var(--line);vertical-align:middle;margin-right:8px}.project-card .btn.secondary{margin-left:6px}.security-list code{word-break:break-all}.form .grid-2,.form .grid-3{align-items:start}

.message-list{display:grid;gap:12px}.message-row{display:grid;gap:4px;border:1px solid #eee;border-radius:14px;padding:14px;text-decoration:none;color:inherit;background:#fff}.message-row:hover{box-shadow:0 8px 24px rgba(0,0,0,.07)}.message-row span,.message-row small{color:#666}.message-thread{display:grid;gap:14px;margin:18px 0}.message-bubble{border:1px solid #eee;border-radius:16px;padding:14px 16px;background:#fff}.message-bubble.mine{background:#fff8e9;border-color:#f1d48a;margin-left:40px}.message-bubble.theirs{background:#f8fafc;margin-right:40px}.message-bubble b{display:block}.message-bubble small{display:block;color:#777;margin-top:3px}.message-bubble p{margin-bottom:0}.festival-detail-list .btn.small{margin-top:8px}

/* Phase 15.4 messaging hardening */
.message-topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.message-row.unread{border-left:4px solid #f5a236;background:#fff9ef}
.message-row div{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}
.pager{display:flex;gap:10px;margin-top:16px;align-items:center}
.message-thread{max-height:720px;overflow:auto;padding:6px;border:1px solid #eee;border-radius:14px;background:#fafafa}
.message-bubble p{white-space:pre-wrap;overflow-wrap:anywhere}
.message-bubble small{display:block;color:#777;margin-top:3px}
@media(max-width:700px){.message-topbar{align-items:flex-start}.message-thread{max-height:none}.message-row div{display:block}.message-row div .btn{margin-top:6px}}

/* Phase 15.5 festival public page layout polish */
.festival-cover{
  background:linear-gradient(135deg,#111827 0%,#2b1f12 55%,#f5a236 160%);
  background-size:cover;
  background-position:center;
  color:#fff;
  padding:72px 0 52px;
  margin-bottom:30px;
  position:relative;
  overflow:hidden;
}
.festival-cover:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 82% 22%,rgba(245,162,54,.28),transparent 34%),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.25));
  pointer-events:none;
}
.festival-cover .wrap{position:relative;z-index:1;}
.festival-hero-card{
  max-width:980px;
  display:flex;
  gap:22px;
  align-items:center;
  padding:26px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(4px);
  border-radius:28px;
  box-shadow:0 22px 55px rgba(0,0,0,.22);
}
.festival-hero-card h1{margin:8px 0 8px;color:#fff;font-size:42px;line-height:1.08;}
.festival-hero-card p{color:rgba(255,255,255,.88);font-size:16px;line-height:1.6;margin:0 0 8px;}
.festival-hero-card .badge{background:#fff;color:#111;border:0;}
.festival-logo,
.festival-logo.logo-placeholder.large{
  width:112px;
  height:112px;
  min-width:112px;
  border-radius:24px;
  object-fit:cover;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#111827;
  color:#fff;
  font-weight:900;
  font-size:30px;
  box-shadow:0 15px 35px rgba(0,0,0,.32);
  border:2px solid rgba(255,255,255,.22);
  margin:0;
}
.grid-2{align-items:start;}
.festival-detail-list p{line-height:1.6;}
.categories-section{overflow:hidden;}
.public-category-list{
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
  margin-top:18px;
}
.public-category-card{
  border:1px solid #ececec;
  border-radius:24px;
  padding:22px;
  background:linear-gradient(180deg,#fff 0%,#fffdf8 100%);
  box-shadow:0 12px 30px rgba(15,23,42,.05);
}
.public-category-card .badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin-bottom:8px;
}
.category-main{
  display:grid;
  grid-template-columns:minmax(0,1fr) 230px;
  gap:18px;
  align-items:stretch;
  padding-bottom:18px;
  border-bottom:1px solid #f0f0f0;
}
.category-main h3{font-size:24px;margin:0 0 8px;}
.category-main p{line-height:1.55;margin:0;}
.current-fee-box{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  border:1px solid #f2d7a7;
  border-radius:20px;
  background:#fff9ef;
  padding:18px;
  min-height:112px;
}
.current-fee-box span,
.category-info-grid span,
.deadline-fee-grid span{
  display:block;
  text-transform:uppercase;
  letter-spacing:.045em;
  color:#6b7280;
  font-size:12px;
  font-weight:900;
  margin-bottom:6px;
}
.current-fee-box b{font-size:26px;line-height:1.1;color:#111;}
.current-fee-box small{display:block;color:#8a5200;font-weight:900;margin-top:5px;}
.current-fee-box .closed{color:#b91c1c;}
.category-info-grid,
.deadline-fee-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
.category-info-grid div,
.deadline-fee-grid div{
  border:1px solid #eeeeee;
  border-radius:16px;
  background:#fff;
  padding:14px;
  min-height:86px;
}
.category-info-grid b,
.deadline-fee-grid b{
  display:block;
  color:#111;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.deadline-fee-grid small{
  display:block;
  color:#111;
  font-weight:900;
  margin-top:6px;
}
.qualification-box{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid #eeeeee;
}
.qualification-box p{margin:10px 0 0;line-height:1.55;}
.badge.warn{background:#fff4df;color:#8a5200;border:1px solid #f2d7a7;}
.card h2{line-height:1.2;}
.card .form select,
.card .form input,
.card .form textarea{
  max-width:100%;
}
.ledger-box.clean{
  margin-top:18px;
  background:#fff9ef;
  border-color:#f2d7a7;
}
.media-grid{align-items:stretch;}
.video-box{min-height:120px;display:flex;align-items:center;justify-content:center;text-align:center;}
@media(max-width:980px){
  .festival-hero-card{align-items:flex-start;}
  .category-main{grid-template-columns:1fr;}
  .current-fee-box{align-items:flex-start;text-align:left;}
  .category-info-grid,.deadline-fee-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  .festival-cover{padding:38px 0 32px;}
  .festival-hero-card{flex-direction:column;padding:20px;border-radius:22px;}
  .festival-hero-card h1{font-size:32px;}
  .festival-logo,.festival-logo.logo-placeholder.large{width:92px;height:92px;min-width:92px;font-size:24px;}
  .category-info-grid,.deadline-fee-grid{grid-template-columns:1fr;}
  .public-category-card{padding:18px;border-radius:20px;}
}
@media print{
  .festival-cover{padding:28px 0!important;color:#111!important;background:#fff!important;margin-bottom:20px!important;}
  .festival-cover:before{display:none!important;}
  .festival-hero-card{background:#fff!important;color:#111!important;border:1px solid #ddd!important;box-shadow:none!important;}
  .festival-hero-card h1,.festival-hero-card p{color:#111!important;}
  .category-main{display:grid!important;grid-template-columns:1fr 190px!important;}
  .category-info-grid,.deadline-fee-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;}
  .public-category-card{break-inside:avoid;page-break-inside:avoid;box-shadow:none!important;}
}

/* Phase 15.6 marketplace form/search layout polish START */
/* Global page form hygiene */
.wrap form,
.card form,
.notice form,
.setup-card form,
.payment-status-box form {
  max-width: 100%;
}
.wrap label,
.card label,
.setup-card label,
.payment-status-box label,
.filter-card label,
.search-card label {
  display: block;
  margin: 0 0 7px;
  font-weight: 850;
  color: #141414;
  line-height: 1.25;
}
.wrap input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="submit"]):not([type="button"]),
.wrap select,
.wrap textarea,
.card input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="submit"]):not([type="button"]),
.card select,
.card textarea {
  width: 100%;
  max-width: 100%;
  display: block;
  padding: 13px 14px;
  border: 1px solid #ded7c8;
  border-radius: 14px;
  background: #fff;
  color: #141414;
  font: inherit;
  line-height: 1.35;
  outline: none;
  box-shadow: none;
}
.wrap textarea,
.card textarea {
  min-height: 140px;
  resize: vertical;
}
.wrap input:focus,
.wrap select:focus,
.wrap textarea:focus,
.card input:focus,
.card select:focus,
.card textarea:focus {
  border-color: #f5a236;
  box-shadow: 0 0 0 4px rgba(245,162,54,.14);
}
.wrap input[type="file"],
.card input[type="file"] {
  display: block;
  width: 100%;
  padding: 12px;
  border: 1px dashed #d7c6aa;
  border-radius: 14px;
  background: #fffaf1;
}
.card form > label,
.card form > input,
.card form > select,
.card form > textarea,
.card form > .field,
.card form > .form-field,
.card form > .grid-2,
.card form > .grid-3,
.card form > .action-row,
.card form > button,
.card form > .btn {
  margin-top: 10px;
}

/* Buttons should not look squeezed */
.btn,
button.btn,
a.btn,
.wrap button:not(.menu-btn),
.card button:not(.menu-btn) {
  min-height: 42px;
  padding: 11px 18px;
  border-radius: 14px;
  font-weight: 900;
  line-height: 1.15;
  cursor: pointer;
  text-align: center;
}
.btn.secondary,
a.btn.secondary,
button.btn.secondary,
.reset-btn {
  background: #fff;
  color: #111;
  border: 1px solid #111;
}
.btn.secondary:hover,
a.btn.secondary:hover,
button.btn.secondary:hover,
.reset-btn:hover {
  background: #111;
  color: #fff;
}
.action-row,
.form-actions,
.search-actions,
.filter-actions,
.talent-search-actions,
.message-actions,
.checkout-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 16px;
}

/* Internal messaging layout */
.message-compose,
.card.message-compose-card,
.card:has(textarea[name="message_body"]) {
  overflow: hidden;
}
.card form textarea[name="message_body"] {
  min-height: 170px;
}
.card form input[name="subject"] {
  min-height: 48px;
}
.card form button[name="new_message"],
.card form button[name="reply_message"] {
  width: auto;
  align-self: flex-start;
  margin-top: 14px;
}
.message-thread {
  max-height: 720px;
  overflow: auto;
  padding: 10px;
  border: 1px solid #eee7dc;
  border-radius: 18px;
  background: #faf8f4;
}
.message-bubble {
  max-width: 82%;
}
.message-bubble.mine {
  margin-left: auto;
}
.message-bubble.theirs {
  margin-right: auto;
}
.message-topbar form,
.message-row form,
.action-row form,
.admin-actions form,
.payment-actions form {
  display: inline-flex !important;
  width: auto !important;
  margin: 0 !important;
  gap: 8px;
  align-items: center;
}
.message-topbar form button,
.message-row form button,
.action-row form button,
.admin-actions form button,
.payment-actions form button {
  width: auto !important;
  margin: 0 !important;
}

/* Search/filter cards across marketplace */
.filters,
.search-panel,
.search-box,
.filter-box,
.filter-card,
.search-card,
.festival-search-form,
.talent-search-form,
.admin-filter-form {
  background: #fff;
  border: 1px solid #ece5d8;
  border-radius: 22px;
  padding: 18px;
  box-shadow: 0 18px 45px rgba(12,12,12,.08);
  margin: 18px 0 22px;
}
.filters,
.festival-search-fields,
.talent-search-fields,
.admin-filter-fields,
.search-grid,
.filter-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  align-items: end;
}
.filters input,
.filters select,
.festival-search-fields input,
.festival-search-fields select,
.talent-search-fields input,
.talent-search-fields select input select,
.admin-filter-fields input,
.admin-filter-fields select,
.search-grid input,
.search-grid select,
.filter-grid input,
.filter-grid select {
  width: 100%;
  margin-top: 7px;
}
.filters .btn,
.search-panel .btn,
.search-box .btn,
.filter-box .btn,
.filter-card .btn,
.search-card .btn {
  white-space: nowrap;
}

/* Common two/three-column form grids */
.grid-2,
.form-grid-2,
.two-col-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
}
.grid-3,
.form-grid-3,
.three-col-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
}
.field,
.form-field {
  min-width: 0;
}
.field .muted,
.form-field .muted,
label .muted {
  display: block;
  margin-top: 4px;
  font-weight: 500;
  color: #666b73;
}

/* Tables/action-heavy admin cards should not collapse */
.table-actions,
.card-actions,
.inline-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
.table-actions form,
.card-actions form,
.inline-actions form {
  display: inline-flex !important;
  width: auto !important;
  margin: 0 !important;
}

/* Clean empty states */
.empty {
  padding: 28px;
  border: 1px dashed #d8d0c2;
  border-radius: 18px;
  background: #fffdf8;
  text-align: center;
  color: #666b73;
}

/* Responsive behavior */
@media (max-width: 950px) {
  .filters,
  .festival-search-fields,
  .talent-search-fields,
  .provider-search-fields,
  .admin-filter-fields,
  .search-grid,
  .filter-grid,
  .grid-2,
  .grid-3,
  .form-grid-2,
  .form-grid-3,
  .two-col-form,
  .three-col-form {
    grid-template-columns: 1fr;
  }
  .action-row,
  .form-actions,
  .search-actions,
  .filter-actions,
  .talent-search-actions,
  .message-actions,
  .checkout-actions {
    align-items: stretch;
  }
  .action-row .btn,
  .form-actions .btn,
  .search-actions .btn,
  .filter-actions .btn,
  .talent-search-actions .btn,
  .message-actions .btn,
  .checkout-actions .btn {
    width: 100%;
  }
  .message-bubble {
    max-width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .card form button[name="new_message"],
  .card form button[name="reply_message"] {
    width: 100%;
  }
}
/* Phase 15.6 marketplace form/search layout polish END */

/* Phase 15.7 targeted listing layout fix START */
/* Only target the two disturbed listing areas: festival cards + talent cards. */

/* FESTIVAL MARKETPLACE LISTING: restore compact professional cards */
.market-search-form {
  max-width: 100% !important;
}
.market-search-fields {
  display: grid !important;
  grid-template-columns: minmax(260px, 2fr) minmax(180px, 1fr) minmax(180px, 1fr) !important;
  gap: 14px !important;
  align-items: end !important;
}
.market-search-form label {
  display: block !important;
  margin: 0 !important;
  font-weight: 850 !important;
}
.market-search-form input,
.market-search-form select {
  width: 100% !important;
  min-height: 46px !important;
  margin-top: 7px !important;
}
.market-search-actions {
  display: flex !important;
  flex-direction: row !important;
  gap: 12px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-top: 16px !important;
}
.market-search-actions .btn,
.market-search-actions .reset-btn {
  width: auto !important;
  min-width: 140px !important;
  max-width: none !important;
  padding: 12px 18px !important;
  text-align: center !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Force festival list to use cards, not giant stacked media blocks on tablet/desktop */
.wrap > .grid:has(.festival-card-media) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
}
.festival-card-media {
  padding: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
}
.festival-card-media .festival-card-cover {
  height: 150px !important;
  min-height: 150px !important;
  max-height: 150px !important;
  width: 100% !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  display: block !important;
  background: linear-gradient(135deg,#111827,#f5a236) !important;
}
.festival-card-media .festival-card-cover img {
  width: 100% !important;
  height: 150px !important;
  max-height: 150px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
}
.festival-card-media .festival-card-body {
  padding: 18px !important;
  flex: 1 1 auto !important;
}
.festival-card-media .festival-title-row {
  display: flex !important;
  flex-direction: row !important;
  gap: 12px !important;
  align-items: flex-start !important;
  margin: 0 0 10px !important;
}
.festival-card-media img.festival-logo-sm,
.festival-card-media .festival-logo-sm,
.festival-card-media .logo-placeholder {
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  max-width: 54px !important;
  max-height: 54px !important;
  flex: 0 0 54px !important;
  border-radius: 15px !important;
  object-fit: cover !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 16px !important;
  line-height: 1 !important;
}
.festival-card-media h3 {
  margin: 6px 0 0 !important;
  line-height: 1.25 !important;
}
.festival-card-media p {
  margin: 10px 0 !important;
}
.festival-card-media .btn.small {
  width: auto !important;
  display: inline-flex !important;
  min-width: auto !important;
}

/* TALENT SEARCH LISTING: restore compact cards and prevent huge preview images */
.talent-search-form {
  max-width: 100% !important;
}
.talent-search-fields {
  display: grid !important;
  grid-template-columns: minmax(260px, 2fr) minmax(180px, 1fr) minmax(180px, 1fr) !important;
  gap: 14px !important;
  align-items: end !important;
}
.talent-search-form label {
  display: block !important;
  margin: 0 !important;
  font-weight: 850 !important;
}
.talent-search-actions {
  display: flex !important;
  flex-direction: row !important;
  gap: 12px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-top: 16px !important;
}
.talent-search-actions .btn,
.talent-search-actions .reset-btn {
  width: auto !important;
  min-width: 135px !important;
  padding: 12px 18px !important;
  text-align: center !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.talent-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}
.talent-card-pro {
  display: grid !important;
  grid-template-columns: 96px minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;
  padding: 18px !important;
  min-height: 0 !important;
}
.talent-card-pro .talent-photo-wrap {
  width: 96px !important;
  height: 96px !important;
  min-width: 96px !important;
  overflow: hidden !important;
}
.talent-card-pro .talent-photo,
.talent-card-pro img.talent-photo,
.talent-card-pro .talent-photo.placeholder {
  width: 96px !important;
  height: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;
  max-height: 96px !important;
  border-radius: 20px !important;
  object-fit: cover !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 32px !important;
  line-height: 1 !important;
}
.talent-card-pro .talent-info h3 {
  margin: 0 0 8px !important;
  line-height: 1.25 !important;
}
.talent-card-pro .talent-info p {
  margin: 8px 0 !important;
}
.talent-card-pro .btn.small {
  width: auto !important;
  min-width: auto !important;
  display: inline-flex !important;
}

/* Keep ad inline cards from breaking listing grids */
.ad-inline-card {
  grid-column: 1 / -1 !important;
}

@media (max-width: 720px) {
  .market-search-fields,
  .talent-search-fields,
  .wrap > .grid:has(.festival-card-media),
  .talent-grid {
    grid-template-columns: 1fr !important;
  }
  .market-search-actions,
  .talent-search-actions {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .market-search-actions .btn,
  .market-search-actions .reset-btn,
  .talent-search-actions .btn,
  .talent-search-actions .reset-btn {
    width: 100% !important;
  }
  .talent-card-pro {
    grid-template-columns: 78px minmax(0, 1fr) !important;
    gap: 14px !important;
  }
  .talent-card-pro .talent-photo-wrap,
  .talent-card-pro .talent-photo,
  .talent-card-pro img.talent-photo,
  .talent-card-pro .talent-photo.placeholder {
    width: 78px !important;
    height: 78px !important;
    min-width: 78px !important;
    max-width: 78px !important;
    max-height: 78px !important;
    border-radius: 16px !important;
    font-size: 26px !important;
  }
  .festival-card-media .festival-card-cover,
  .festival-card-media .festival-card-cover img {
    height: 125px !important;
    min-height: 125px !important;
    max-height: 125px !important;
  }
}
/* Phase 15.7 targeted listing layout fix END */

/* Phase 15.8 professional festival search/list layout START */
.ffp-festival-list-page .ffp-list-hero { margin-bottom: 26px !important; }
.ffp-festival-search {
  background: #fff !important;
  border: 1px solid rgba(17,24,39,.10) !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 44px rgba(17,24,39,.06) !important;
  padding: 18px !important;
  margin: 0 0 22px !important;
}
.ffp-main-search-row { display: grid !important; grid-template-columns: minmax(280px, 1fr) auto auto !important; gap: 12px !important; align-items: end !important; }
.ffp-festival-search label, .ffp-festival-search .ffp-search-field { display:block !important; font-weight: 800 !important; margin:0 !important; }
.ffp-festival-search label span { display:block !important; margin-bottom:8px !important; }
.ffp-festival-search input, .ffp-festival-search select { width: 100% !important; min-height: 48px !important; padding: 12px 14px !important; border-radius: 10px !important; }
.ffp-festival-search .btn { min-height:48px !important; white-space:nowrap !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; padding: 12px 18px !important; }
.ffp-filter-panel { margin-top: 14px !important; }
.ffp-filter-panel summary { cursor:pointer !important; display:inline-flex !important; align-items:center !important; border:1px solid rgba(17,24,39,.14) !important; border-radius:9px !important; padding:10px 14px !important; font-weight:850 !important; background:#fff !important; }
.ffp-filter-grid { margin-top: 14px !important; display:grid !important; grid-template-columns: repeat(3, minmax(180px,1fr)) !important; gap:14px !important; }
.ffp-results-meta { display:flex !important; justify-content:space-between !important; gap:16px !important; align-items:center !important; color:#6b7280 !important; margin: 8px 0 16px !important; border-bottom:1px solid rgba(17,24,39,.10) !important; padding-bottom:12px !important; }
.ffp-results-meta strong { color:#111827 !important; }
.ffp-festival-list { display:flex !important; flex-direction:column !important; gap:16px !important; }
.ffp-festival-row-card { background:#fff !important; border:1px solid rgba(17,24,39,.10) !important; border-radius:16px !important; box-shadow:0 12px 32px rgba(17,24,39,.05) !important; padding:20px !important; display:grid !important; grid-template-columns:130px minmax(0,1fr) 190px !important; gap:22px !important; align-items:center !important; overflow:hidden !important; }
.ffp-festival-logo-col { display:flex !important; align-items:center !important; justify-content:center !important; }
.ffp-festival-list-logo { width:118px !important; height:118px !important; max-width:118px !important; max-height:118px !important; min-width:118px !important; border-radius:12px !important; object-fit:cover !important; background:#111827 !important; box-shadow:0 10px 24px rgba(17,24,39,.10) !important; }
.ffp-logo-fallback { display:flex !important; align-items:center !important; justify-content:center !important; color:#fff !important; font-weight:900 !important; font-size:30px !important; background:linear-gradient(135deg,#111827,#f5a236) !important; }
.ffp-festival-list-main { min-width:0 !important; }
.ffp-festival-list-topline { display:flex !important; gap:10px !important; align-items:flex-start !important; justify-content:space-between !important; flex-wrap:wrap !important; }
.ffp-festival-list-topline h2 { margin:0 !important; font-size:28px !important; line-height:1.15 !important; font-weight:800 !important; }
.ffp-location-line { margin:8px 0 2px !important; color:#374151 !important; }
.ffp-taxonomy-line { margin:4px 0 10px !important; line-height:1.45 !important; }
.ffp-festival-excerpt { margin:10px 0 !important; line-height:1.55 !important; color:#374151 !important; }
.ffp-festival-badges { display:flex !important; flex-wrap:wrap !important; gap:8px !important; margin:10px 0 !important; }
.ffp-badge-soft { display:inline-flex !important; border:1px solid rgba(245,162,54,.45) !important; color:#8a5a0a !important; background:#fffaf0 !important; border-radius:999px !important; padding:5px 9px !important; font-size:12px !important; font-weight:850 !important; }
.ffp-deadline-line { color:#059669 !important; font-weight:900 !important; margin:10px 0 0 !important; }
.ffp-festival-action-col { display:flex !important; flex-direction:column !important; gap:10px !important; align-items:stretch !important; }
.ffp-entry-fee { border:1px solid rgba(17,24,39,.10) !important; border-radius:12px !important; padding:11px 12px !important; background:#fafafa !important; }
.ffp-entry-fee span { display:block !important; font-size:12px !important; color:#6b7280 !important; font-weight:750 !important; margin-bottom:3px !important; }
.ffp-entry-fee strong { display:block !important; font-size:18px !important; color:#111827 !important; }
.ffp-festival-action-col .btn { width:100% !important; text-align:center !important; display:flex !important; align-items:center !important; justify-content:center !important; min-height:44px !important; }
.ffp-festival-list-page .ad-inline-card { margin: 8px 0 !important; }
@media (max-width: 900px) {
  .ffp-main-search-row { grid-template-columns:1fr !important; }
  .ffp-filter-grid { grid-template-columns:1fr !important; }
  .ffp-results-meta { flex-direction:column !important; align-items:flex-start !important; }
  .ffp-festival-row-card { grid-template-columns:96px minmax(0,1fr) !important; gap:16px !important; align-items:start !important; }
  .ffp-festival-action-col { grid-column:1 / -1 !important; flex-direction:row !important; flex-wrap:wrap !important; }
  .ffp-festival-action-col .ffp-entry-fee { flex:1 1 160px !important; }
  .ffp-festival-action-col .btn { flex:1 1 150px !important; }
  .ffp-festival-list-logo { width:92px !important; height:92px !important; max-width:92px !important; max-height:92px !important; min-width:92px !important; }
  .ffp-festival-list-topline h2 { font-size:22px !important; }
}
@media (max-width: 560px) {
  .ffp-festival-row-card { grid-template-columns:1fr !important; padding:16px !important; }
  .ffp-festival-logo-col { justify-content:flex-start !important; }
  .ffp-festival-action-col { flex-direction:column !important; }
}
/* Phase 15.8 professional festival search/list layout END */

/* Phase 15.9 professional festival search/list + status filter START */
.ffp-festival-list-page .ffp-list-hero { margin-bottom: 26px !important; }
.ffp-festival-search {
  background: #fff !important;
  border: 1px solid rgba(17,24,39,.10) !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 44px rgba(17,24,39,.06) !important;
  padding: 18px !important;
  margin: 0 0 22px !important;
}
.ffp-main-search-row { display: grid !important; grid-template-columns: minmax(280px, 1fr) auto auto !important; gap: 12px !important; align-items: end !important; }
.ffp-festival-search label, .ffp-festival-search .ffp-search-field { display:block !important; font-weight: 800 !important; margin:0 !important; }
.ffp-festival-search label span { display:block !important; margin-bottom:8px !important; }
.ffp-festival-search input, .ffp-festival-search select { width: 100% !important; min-height: 48px !important; padding: 12px 14px !important; border-radius: 10px !important; }
.ffp-festival-search .btn { min-height:48px !important; white-space:nowrap !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; padding: 12px 18px !important; }
.ffp-filter-panel { margin-top: 14px !important; }
.ffp-filter-panel summary { cursor:pointer !important; display:inline-flex !important; align-items:center !important; border:1px solid rgba(17,24,39,.14) !important; border-radius:9px !important; padding:10px 14px !important; font-weight:850 !important; background:#fff !important; }
.ffp-filter-grid { margin-top: 14px !important; display:grid !important; grid-template-columns: repeat(4, minmax(180px,1fr)) !important; gap:14px !important; }
.ffp-results-meta { display:flex !important; justify-content:space-between !important; gap:16px !important; align-items:center !important; color:#6b7280 !important; margin: 8px 0 16px !important; border-bottom:1px solid rgba(17,24,39,.10) !important; padding-bottom:12px !important; }
.ffp-results-meta strong { color:#111827 !important; }
.ffp-festival-list { display:flex !important; flex-direction:column !important; gap:16px !important; }
.ffp-festival-row-card { background:#fff !important; border:1px solid rgba(17,24,39,.10) !important; border-radius:16px !important; box-shadow:0 12px 32px rgba(17,24,39,.05) !important; padding:20px !important; display:grid !important; grid-template-columns:130px minmax(0,1fr) 190px !important; gap:22px !important; align-items:center !important; overflow:hidden !important; }
.ffp-festival-logo-col { display:flex !important; align-items:center !important; justify-content:center !important; }
.ffp-festival-list-logo { width:118px !important; height:118px !important; max-width:118px !important; max-height:118px !important; min-width:118px !important; border-radius:12px !important; object-fit:cover !important; background:#111827 !important; box-shadow:0 10px 24px rgba(17,24,39,.10) !important; }
.ffp-logo-fallback { display:flex !important; align-items:center !important; justify-content:center !important; color:#fff !important; font-weight:900 !important; font-size:30px !important; background:linear-gradient(135deg,#111827,#f5a236) !important; }
.ffp-festival-list-main { min-width:0 !important; }
.ffp-festival-list-topline { display:flex !important; gap:10px !important; align-items:flex-start !important; justify-content:space-between !important; flex-wrap:wrap !important; }
.ffp-festival-list-topline h2 { margin:0 !important; font-size:28px !important; line-height:1.15 !important; font-weight:800 !important; }
.ffp-location-line { margin:8px 0 2px !important; color:#374151 !important; }
.ffp-taxonomy-line { margin:4px 0 10px !important; line-height:1.45 !important; }
.ffp-festival-excerpt { margin:10px 0 !important; line-height:1.55 !important; color:#374151 !important; }
.ffp-festival-badges { display:flex !important; flex-wrap:wrap !important; gap:8px !important; margin:10px 0 !important; }
.ffp-open-badge { background:#ecfdf5 !important; color:#047857 !important; border-color:#a7f3d0 !important; }
.ffp-closed-badge { background:#fef2f2 !important; color:#991b1b !important; border-color:#fecaca !important; }
.ffp-disabled-submit { opacity:.62 !important; cursor:not-allowed !important; background:#f3f4f6 !important; color:#6b7280 !important; border-color:#d1d5db !important; }
.ffp-badge-soft { display:inline-flex !important; border:1px solid rgba(245,162,54,.45) !important; color:#8a5a0a !important; background:#fffaf0 !important; border-radius:999px !important; padding:5px 9px !important; font-size:12px !important; font-weight:850 !important; }
.ffp-deadline-line { color:#059669 !important; font-weight:900 !important; margin:10px 0 0 !important; }
.ffp-festival-action-col { display:flex !important; flex-direction:column !important; gap:10px !important; align-items:stretch !important; }
.ffp-entry-fee { border:1px solid rgba(17,24,39,.10) !important; border-radius:12px !important; padding:11px 12px !important; background:#fafafa !important; }
.ffp-entry-fee span { display:block !important; font-size:12px !important; color:#6b7280 !important; font-weight:750 !important; margin-bottom:3px !important; }
.ffp-entry-fee strong { display:block !important; font-size:18px !important; color:#111827 !important; }
.ffp-festival-action-col .btn { width:100% !important; text-align:center !important; display:flex !important; align-items:center !important; justify-content:center !important; min-height:44px !important; }
.ffp-festival-list-page .ad-inline-card { margin: 8px 0 !important; }
@media (max-width: 900px) {
  .ffp-main-search-row { grid-template-columns:1fr !important; }
  .ffp-filter-grid { grid-template-columns:1fr !important; }
  .ffp-results-meta { flex-direction:column !important; align-items:flex-start !important; }
  .ffp-festival-row-card { grid-template-columns:96px minmax(0,1fr) !important; gap:16px !important; align-items:start !important; }
  .ffp-festival-action-col { grid-column:1 / -1 !important; flex-direction:row !important; flex-wrap:wrap !important; }
  .ffp-festival-action-col .ffp-entry-fee { flex:1 1 160px !important; }
  .ffp-festival-action-col .btn { flex:1 1 150px !important; }
  .ffp-festival-list-logo { width:92px !important; height:92px !important; max-width:92px !important; max-height:92px !important; min-width:92px !important; }
  .ffp-festival-list-topline h2 { font-size:22px !important; }
}
@media (max-width: 560px) {
  .ffp-festival-row-card { grid-template-columns:1fr !important; padding:16px !important; }
  .ffp-festival-logo-col { justify-content:flex-start !important; }
  .ffp-festival-action-col { flex-direction:column !important; }
}
/* Phase 15.9 professional festival search/list + status filter END */


/* FestOrbit v16 branding + email foundation */
.topbar{background:#fff;color:#111;border-bottom:1px solid var(--line);box-shadow:0 8px 24px rgba(15,23,42,.06)}
.brand{color:#111;gap:12px;min-width:185px;line-height:1}
.brand-logo{height:48px;width:auto;display:block;object-fit:contain;max-width:260px}
.brand-fallback{display:none;align-items:center;gap:10px}
.nav a{color:#111}.nav a:hover{color:var(--brand)}.menu-btn{color:#111}.nav-cta{box-shadow:0 8px 20px rgba(245,162,54,.22)}
.adminbar{border-top:1px solid #fff4df}.footer-logo{max-width:360px;width:100%;height:auto;display:block;margin-bottom:12px}.brand-hero-card{background:#fff;color:#111}.brand-hero-card img{width:100%;max-width:430px;display:block;margin:0 auto 18px;background:#fff;border-radius:18px}.email-pref-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.email-pref-item{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff}.email-pref-item label{display:flex;gap:10px;align-items:flex-start;margin:0}.email-pref-item input{width:auto;margin-top:4px}.email-pref-item b{display:block}.email-pref-item span{display:block;color:var(--muted);font-size:14px;margin-top:3px}.template-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px}.suppressed{color:#b42318;font-weight:900}.sent{color:#147b45;font-weight:900}.logged{color:#8a5200;font-weight:900}
@media(max-width:850px){.topbar{background:#fff}.nav{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 14px 28px rgba(15,23,42,.08)}.brand-logo{height:42px;max-width:210px}.email-pref-grid,.template-meta{grid-template-columns:1fr}}


/* FestOrbit v16.5.1 logo/layout hotfix */
.brand{min-width:auto !important; flex-shrink:0 !important;}
.brand-logo{width:220px !important; max-width:220px !important; height:auto !important; max-height:52px !important; object-fit:contain !important; display:block !important;}
.brand-mini{display:flex;align-items:center;gap:16px;margin-bottom:18px;}
.brand-mini img{flex:0 0 auto;width:84px !important;max-width:84px !important;height:auto !important;object-fit:contain !important;}
.brand-mini b{display:block;font-size:24px;line-height:1.1;color:#111;}
.brand-mini span{display:block;color:var(--muted);font-size:14px;line-height:1.35;margin-top:4px;}
.footer-brand-mini{margin-bottom:0;}
.footer-brand-mini img{width:72px !important;max-width:72px !important;}
.footer-brand-mini b{font-size:20px;}
.brand-hero-card>img,.footer-logo{display:none !important;}
.brand-hero-card{overflow:hidden;}
@media(max-width:850px){.brand-logo{width:178px !important;max-width:178px !important;max-height:44px !important}.brand-mini{align-items:flex-start}.brand-mini img{width:64px !important;max-width:64px !important}.brand-mini b{font-size:21px}.footer-grid{flex-direction:column}}
@media print{.brand-logo{width:190px !important;max-width:190px !important;max-height:45px !important}.brand-mini img{width:56px !important;max-width:56px !important}.brand-hero-card>img,.footer-logo{display:none !important}.hero{background:#fff !important;color:#111 !important;padding:28px 24px !important}.hero p{color:#555 !important}.hero h1{font-size:32px !important}.topbar{height:58px !important;padding:0 20px !important}.footer-grid{display:block !important}}

/* v16.5.3 UI cleanup: forms, admin menu, buttons, logs and email preferences */
:root{--gold:#e0aa46;--gold2:#e0aa46;--goldText:#111}
.form.auth-form{max-width:860px;margin:0 auto;padding-top:44px}.form.auth-form h1{margin-bottom:18px}.form.auth-form form{display:flex;flex-direction:column;gap:10px}.form.auth-form label{margin:8px 0 0;font-weight:800}.form.auth-form input,.form.auth-form select{height:54px;padding:0 18px;border:1px solid #dfd7c9;border-radius:14px;background:#fff;font-size:16px}.form.auth-form button{align-self:flex-start;margin-top:18px}.form input,.form select,.form textarea{border:1px solid #dfd7c9;border-radius:13px}.form label{font-weight:800;margin-top:10px}input[type="checkbox"],input[type="radio"]{width:auto!important;min-width:18px;height:18px;display:inline-block;vertical-align:middle;accent-color:var(--gold2)}
.btn,button.btn,.nav-cta,input[type="submit"]{background:linear-gradient(135deg,var(--gold2),var(--gold));color:var(--goldText)!important;border:0;border-radius:14px;min-height:44px;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:8px;padding:11px 22px;font-weight:900;line-height:1.1;text-decoration:none;box-shadow:0 10px 22px rgba(201,148,46,.18);cursor:pointer}.btn:hover,button.btn:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(201,148,46,.24)}.btn.small{min-height:38px;padding:9px 16px;border-radius:12px;font-size:14px}.btn.secondary{background:#fff!important;border:1px solid #151515;color:#111!important;box-shadow:none}.btn.secondary:hover{background:#fff8ec!important}
.adminbar{background:linear-gradient(180deg,#fff7e8,#fff1db);border-top:1px solid #f0dfbd;border-bottom:1px solid #e9d2a8;padding:10px 24px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;box-shadow:0 8px 20px rgba(0,0,0,.03);position:relative;z-index:40}.adminbar a{color:#181818!important;background:rgba(255,255,255,.56);border:1px solid rgba(218,176,95,.25);border-radius:999px;padding:8px 12px;font-size:13px;font-weight:850;line-height:1;text-decoration:none;white-space:nowrap}.adminbar a:hover{background:linear-gradient(135deg,#fff,#fff3dd);border-color:var(--gold);color:#000!important}.topbar{background:#fff;color:#111;border-bottom:1px solid #eee;box-shadow:0 8px 24px rgba(0,0,0,.04)}.nav a{color:#111}.menu-btn{color:#111}.brand-fallback{display:none}.brand-logo{max-height:58px!important;width:220px!important;object-fit:contain}.nav{gap:18px}.nav a{font-size:15px;white-space:nowrap}.nav a:hover{color:var(--gold2)}
.section-title .badge,.badge{background:#fff2dc;color:#5f3b00;border:1px solid #f0d8a8;border-radius:999px;padding:8px 13px;font-weight:900;display:inline-flex;align-items:center;justify-content:center}.section-title.compact{margin-bottom:10px}.log-tools{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:12px 0 18px}.log-tools label{display:flex;flex-direction:column;gap:5px;font-weight:800;color:#333}.log-tools input,.log-tools select{height:42px;border:1px solid #dfd7c9;border-radius:11px;padding:0 12px}.table-wrap{overflow:auto;border-radius:14px}.table{width:100%;border-collapse:separate;border-spacing:0}.table th{background:#111;color:#fff;text-align:left}.table th,.table td{padding:12px 14px;border-bottom:1px solid #eee;vertical-align:top}.table tr:last-child td{border-bottom:0}
.email-pref-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:18px}.email-pref-item,.notice.email-unsubscribe-box{border:1px solid #f0d7a4;background:#fffaf0;border-radius:16px;padding:16px}.email-pref-item label,.check-row,.notice label{display:flex!important;align-items:flex-start!important;gap:12px!important;margin:0!important;line-height:1.35}.email-pref-item label>span{display:flex;flex-direction:column;gap:4px}.email-pref-item b{font-size:16px}.email-pref-item span span{color:var(--muted);font-size:14px}.form.wide .notice{border-left:5px solid var(--gold2);background:#fff7e8;padding:16px 20px;border-radius:14px}.form.wide .notice p{margin:8px 0 0 30px}.template-meta{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end}.template-meta .check-row{background:#fff7e8;border:1px solid #f0d7a4;border-radius:12px;padding:12px 14px;min-height:48px;align-items:center!important}
@media(max-width:900px){.topbar{height:auto;min-height:72px;padding:10px 16px}.brand-logo{width:180px!important}.nav{display:none}.nav-open .nav{display:flex;position:absolute;left:12px;right:12px;top:74px;background:#fff;border:1px solid #eee;border-radius:18px;padding:16px;flex-direction:column;align-items:flex-start;box-shadow:var(--shadow)}.menu-btn{display:block}.adminbar{overflow-x:auto;flex-wrap:nowrap;padding:10px 12px}.adminbar a{flex:0 0 auto}.form.auth-form{padding:30px 16px}.form.auth-form input,.form.auth-form select{height:50px}.log-tools{align-items:stretch}.log-tools label{width:100%}.log-tools .btn{width:100%}}


/* FestOrbit v16.5.4 focused UI fixes */
:root{--brand:#e0aa46!important;--gold:#e0aa46!important;--gold2:#e0aa46!important}
.btn,button.btn,.nav-cta,input[type="submit"]{background:#e0aa46!important;color:#111!important;align-items:center!important;justify-content:center!important;text-align:center!important}
.dashboard-card-grid .card{display:flex;flex-direction:column;min-height:210px}
.dashboard-card-grid .card .btn{margin-top:auto;align-self:flex-start}
.profile-type-other-wrap{display:none}.profile-type-other-wrap.is-visible{display:block}
.email-engine-help{background:#fff8ec;border:1px solid #efd4a5;border-radius:16px;padding:16px;margin:14px 0;color:#333}.email-engine-help ul{margin:8px 0 0 20px}.email-engine-help li{margin:5px 0}
@media print{.email-engine-help{break-inside:avoid}.adminbar,.topbar{position:static!important}.card{break-inside:avoid}}

/* FestOrbit v16.5.5 filmmaker festival eligibility + button color */
.ffp-match-selector{margin:0 0 18px!important;padding:18px!important;border:1px solid rgba(17,24,39,.10)!important;border-radius:18px!important;box-shadow:0 12px 30px rgba(17,24,39,.05)!important;background:#fff!important}
.ffp-match-selector label{display:block!important;margin:0!important}.ffp-match-selector select{width:100%;margin-top:8px;min-height:48px;border:1px solid #dfd7c9;border-radius:12px;padding:10px 14px;font:inherit;background:#fff}.ffp-match-selector p{margin:10px 0 0}.eligibility-box{margin-top:10px;border-radius:12px;padding:10px 12px;line-height:1.4;border:1px solid #e5e7eb;background:#fafafa}.eligibility-box b{display:inline-flex;margin-right:8px}.eligibility-box span{color:#374151}.eligibility-box.eligible{border-color:#bbf7d0;background:#ecfdf5}.eligibility-box.eligible b{color:#047857}.eligibility-box.not-eligible{border-color:#fecaca;background:#fff1f2}.eligibility-box.not-eligible b{color:#b91c1c}.btn.disabled,.ffp-disabled-submit{opacity:.68;pointer-events:none;filter:grayscale(.15)}

/* v16.5.6 eligibility reason cleanup */
.eligibility-box.not-eligible b{display:block;margin:0 0 6px 0;}
.eligibility-box.not-eligible ol{margin:6px 0 0 20px;padding:0;color:#374151;}
.eligibility-box.not-eligible li{margin:4px 0;line-height:1.45;}

/* FestOrbit v17 subscription, direct-payment, promotion and portal UI */
.promotion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px;margin:22px 0}.promotion-package{display:flex;flex-direction:column}.promotion-package .form{margin-top:auto}.promotion-exclusive{border:2px solid var(--brand);box-shadow:0 18px 44px rgba(181,130,47,.18)}.form.compact{gap:8px}.form.compact input,.form.compact textarea,.form.compact select{min-height:40px}.promoted-festival{border-color:rgba(181,130,47,.55)!important;box-shadow:0 15px 36px rgba(181,130,47,.12)!important}.promotion-badge{background:#111!important;color:#fff!important;border-color:#111!important}.festival-premium-banners{display:grid;gap:14px;margin:22px 0}.festival-premium-banner{display:none;grid-template-columns:minmax(220px,36%) 1fr;gap:22px;align-items:center;background:#111;color:#fff;border-radius:20px;overflow:hidden;text-decoration:none;box-shadow:0 20px 48px rgba(0,0,0,.14)}.festival-premium-banner.is-active{display:grid}.festival-premium-banner img{width:100%;height:220px;object-fit:cover}.festival-premium-banner>div{padding:22px}.festival-premium-banner h2{color:#fff;margin:10px 0}.festival-premium-banner p{color:#e5e7eb}.festival-week-spotlight{display:grid;grid-template-columns:minmax(280px,42%) 1fr;gap:28px;align-items:center;margin:26px 0;border:2px solid rgba(181,130,47,.45)}.festival-week-media img{width:100%;height:300px;object-fit:cover;border-radius:16px}.festival-week-media img.contain{object-fit:contain;background:#fff}.festival-feature-card{display:block;text-decoration:none;color:inherit}.festival-feature-card img{width:100%;height:150px;object-fit:contain;background:#fafafa;border-radius:12px;margin-bottom:12px}.portal-brand-row{display:flex;gap:24px;align-items:center}.portal-logo{width:150px;height:150px;object-fit:contain;border-radius:18px;background:#fff;border:1px solid var(--line)}.portal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.portal-powered{text-align:center;background:#fff8ec;border:1px solid #efd4a5;border-radius:12px;padding:10px 14px;margin:14px 0;color:#513609}.portal-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.portal-gallery img{width:100%;height:180px;object-fit:cover;border-radius:14px}.footer-brand{margin-top:22px}.table-scroll{overflow:auto}.price small{font-size:14px;margin-left:4px;color:var(--muted)}
@media(max-width:800px){.festival-premium-banner,.festival-week-spotlight{grid-template-columns:1fr}.festival-premium-banner img,.festival-week-media img{height:210px}.portal-brand-row{align-items:flex-start;flex-direction:column}.portal-logo{width:110px;height:110px}}

/* FestOrbit v17.0.2 copy, spacing, festival-plan and admin navigation polish */
.hero-copy > .badge{
  margin-bottom:20px;
}
.home-how-section{
  margin-top:46px;
}
.home-how-section > .section-title{
  margin-bottom:22px;
}
.advertise-request-grid{
  margin-top:32px;
}

.festival-format-section{
  padding:30px;
}
.festival-format-intro{
  max-width:850px;
  margin:0 0 22px;
}
.festival-plan-selection{
  align-items:stretch;
}
.festival-plan-selection .festival-plan-card{
  position:relative;
  display:flex;
  flex-direction:column;
  height:100%;
  padding:28px;
  cursor:pointer;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.festival-plan-selection .festival-plan-card:hover{
  transform:translateY(-2px);
  border-color:rgba(224,170,70,.65);
  box-shadow:0 20px 46px rgba(17,24,39,.10);
}
.festival-plan-selection .festival-plan-card:has(input:checked){
  border:2px solid var(--brand);
  background:linear-gradient(180deg,#fff 0%,#fffaf0 100%);
  box-shadow:0 18px 44px rgba(224,170,70,.20);
}
.festival-plan-selection .festival-plan-card > input[type="radio"]{
  position:absolute;
  top:20px;
  right:20px;
  width:20px!important;
  height:20px;
}
.festival-plan-selection .festival-plan-card h3{
  padding-right:34px;
  margin:0 0 12px;
}
.festival-plan-selection .festival-plan-card .price{
  margin:4px 0 16px;
}
.festival-plan-selection .festival-plan-card .muted{
  margin:0 0 16px;
}
.plan-benefits{
  margin:0 0 20px;
  padding-left:24px;
}
.plan-benefits li{
  margin:5px 0;
}
.additional-edition-price{
  margin-top:auto!important;
  padding-top:14px;
  border-top:1px solid var(--line);
}

.adminbar.adminbar-pro{
  min-height:64px;
  padding:12px 30px;
  gap:12px;
  flex-wrap:wrap;
  overflow:visible;
  align-items:center;
}
.adminbar-pro > a,
.adminbar-pro .admin-menu-group > summary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:11px 16px;
  border:1px solid rgba(194,145,51,.30);
  border-radius:12px;
  background:rgba(255,255,255,.78);
  color:#171717;
  font-size:15px;
  font-weight:900;
  line-height:1;
  text-decoration:none;
  cursor:pointer;
  box-shadow:0 5px 14px rgba(70,48,12,.04);
  white-space:nowrap;
}
.adminbar-pro > a:hover,
.adminbar-pro .admin-menu-group > summary:hover,
.adminbar-pro .admin-menu-group[open] > summary{
  background:#fff;
  border-color:var(--brand);
  color:#000;
  box-shadow:0 8px 20px rgba(181,130,47,.13);
}
.adminbar-pro .adminbar-home{
  background:#111;
  color:#fff!important;
  border-color:#111;
}
.adminbar-pro .adminbar-home:hover{
  background:#2b2b2b;
  color:#fff!important;
}
.admin-menu-group{
  position:relative;
}
.admin-menu-group > summary{
  list-style:none;
}
.admin-menu-group > summary::-webkit-details-marker{
  display:none;
}
.admin-menu-group > summary::after{
  content:"⌄";
  margin-left:9px;
  font-size:15px;
  line-height:1;
  transition:transform .18s ease;
}
.admin-menu-group[open] > summary::after{
  transform:rotate(180deg);
}
.admin-menu-dropdown{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  z-index:100;
  min-width:260px;
  padding:10px;
  border:1px solid rgba(17,24,39,.12);
  border-radius:16px;
  background:#fff;
  box-shadow:0 22px 55px rgba(17,24,39,.16);
}
.admin-menu-dropdown a{
  display:block;
  padding:11px 12px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#171717!important;
  font-size:15px;
  font-weight:800;
  line-height:1.25;
  text-decoration:none;
  white-space:nowrap;
}
.admin-menu-dropdown a:hover{
  background:#fff5e4;
  color:#000!important;
}

@media(max-width:900px){
  .hero-copy > .badge{margin-bottom:16px;}
  .home-how-section{margin-top:36px;}
  .festival-format-section{padding:22px;}
  .adminbar.adminbar-pro{
    overflow:visible;
    flex-wrap:wrap;
    padding:12px;
  }
  .adminbar-pro > a,
  .adminbar-pro .admin-menu-group{
    flex:1 1 210px;
  }
  .adminbar-pro .admin-menu-group > summary{
    width:100%;
  }
  .admin-menu-dropdown{
    position:static;
    width:100%;
    min-width:0;
    margin-top:8px;
    box-shadow:0 12px 28px rgba(17,24,39,.10);
  }
}

/* FestOrbit v17.0.3 global eyebrow/badge spacing polish */
.section-title > div > .badge:first-child,
.hero-copy > .badge:first-child,
.card > .badge:first-child,
.festival-premium-banner > div > .badge:first-child,
.festival-week-spotlight > div:last-child > .badge:first-child {
  display:flex;
  width:max-content;
  max-width:100%;
  padding:10px 16px;
  margin:0 0 16px !important;
  line-height:1.25;
}

.badge + h1,
.badge + h2,
.badge + h3,
.badge + h4 {
  margin-top:16px !important;
}

@media(max-width:600px){
  .section-title > div > .badge:first-child,
  .hero-copy > .badge:first-child,
  .card > .badge:first-child,
  .festival-premium-banner > div > .badge:first-child,
  .festival-week-spotlight > div:last-child > .badge:first-child {
    padding:9px 14px;
    margin-bottom:14px !important;
  }
  .badge + h1,
  .badge + h2,
  .badge + h3,
  .badge + h4 {
    margin-top:14px !important;
  }
}

/* FestOrbit v17.1 automated campaign and safe preview UI */
.preview-mode-bar{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:12px 20px;background:#171717;color:#fff;border-bottom:3px solid #e0aa46;font-size:14px;position:relative;z-index:90}.preview-mode-bar span{opacity:.82}.preview-mode-bar a{color:#171717;background:#e0aa46;border-radius:999px;padding:7px 13px;font-weight:800;text-decoration:none}.preview-placement-card{margin:24px 0 34px;padding:20px;border:1px solid rgba(17,24,39,.12);border-radius:18px;background:#fff;box-shadow:0 12px 32px rgba(17,24,39,.07)}.preview-placement-card>div:first-child{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:16px}.preview-placement-card>div:first-child span{color:#666}.ad-preview-art,.promo-preview-art{display:flex;min-height:150px;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:24px;border-radius:14px;background:linear-gradient(135deg,#fff7e7,#f4c76e);border:1px dashed rgba(17,24,39,.22);color:#171717}.ad-preview-art b,.promo-preview-art b{font-size:clamp(20px,3vw,34px)}.ad-preview-art span,.promo-preview-art span{font-weight:800;opacity:.65}.promotion-preview-card .promo-preview-art{margin:16px 0;min-height:180px}.campaign-confirmation{margin:22px 0;padding:20px;border-radius:16px;border:1px solid rgba(24,126,77,.25);background:#effaf4}.campaign-confirmation h3{margin-top:0}.campaign-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.process-list{display:grid;gap:14px;counter-reset:steps}.process-list>div{position:relative;padding:16px 16px 16px 54px;border:1px solid rgba(17,24,39,.1);border-radius:14px;background:#fff}.process-list>div:before{counter-increment:steps;content:counter(steps);position:absolute;left:15px;top:14px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#171717;color:#fff;font-weight:800}.payment-result-card{max-width:760px;margin:42px auto;padding:28px;border-radius:20px;background:#fff;box-shadow:0 20px 55px rgba(17,24,39,.1)}.ad-slot{margin:24px 0 34px}.ad-slot a{display:block;text-decoration:none;color:inherit}.ad-slot img{display:block;width:100%;height:auto;max-height:420px;object-fit:cover;border-radius:14px}.ad-slot>span{display:block;margin-bottom:8px;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900;color:#777}.ad-slot strong,.ad-slot small{display:block;margin-top:8px}.ad-slot small{color:#666}.ad-inline-card .ad-slot{margin:0;height:100%}.ad-inline-card .ad-slot img{aspect-ratio:1/1;object-fit:cover}.ad-safe-zone{clear:both;margin-top:34px}.checkout-ad-zone{padding-top:18px;border-top:1px solid rgba(17,24,39,.1)}
@media(max-width:700px){.preview-placement-card{padding:14px}.preview-mode-bar{justify-content:flex-start}.ad-slot{margin:20px 0 28px}}

/* FestOrbit v17.1.1 structured payment, homepage and preview layouts */
.payment-settings-page,.ad-preview-page{--panel-border:rgba(17,24,39,.10);--panel-shadow:0 14px 38px rgba(17,24,39,.07)}
.payment-page-heading,.ad-preview-heading{margin-bottom:26px}.payment-page-heading>div,.ad-preview-heading>div{max-width:920px}.payment-page-heading h1,.ad-preview-heading h1{margin-top:0}
.settings-section,.preview-section{margin:26px 0;padding:28px;border:1px solid var(--panel-border);border-radius:22px;background:#fff;box-shadow:var(--panel-shadow)}
.settings-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:22px}.settings-section-heading h2{margin:3px 0 5px}.settings-section-heading p{margin:0;max-width:820px}.settings-kicker{display:block;color:#8a5a0a;font-size:12px;line-height:1.2;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.paypal-connection-section{background:linear-gradient(135deg,#fff 0%,#fffaf1 100%)}.paypal-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.paypal-status-tile{min-height:138px;padding:19px;border:1px solid rgba(17,24,39,.10);border-radius:16px;background:#fff;display:flex;flex-direction:column;justify-content:center}.paypal-status-tile>span{font-size:13px;color:var(--muted);font-weight:800}.paypal-status-tile strong{display:block;font-size:20px;line-height:1.25;margin:8px 0 5px;overflow-wrap:anywhere}.paypal-status-tile small{color:var(--muted);line-height:1.35}.paypal-security-note{margin:18px 0;padding:15px 17px;border-left:4px solid var(--brand);border-radius:12px;background:#fff5e4}.payment-settings-actions{display:flex!important;flex-direction:row!important;align-items:center;gap:10px!important;margin-top:18px!important}.payment-settings-actions form{margin:0}.payment-settings-actions .btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center}
.settings-product-grid{display:grid;gap:16px}.settings-product-grid.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-product-grid.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-setting-card{margin:0!important;padding:20px;border:1px solid rgba(17,24,39,.10);border-radius:17px;background:#fcfcfb;display:flex!important;flex-direction:column;gap:4px;min-height:150px}.pricing-setting-card>span{font-size:17px;line-height:1.3}.pricing-setting-card>small{font-weight:600;color:var(--muted)}.money-input{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;margin-top:auto;padding-top:15px}.money-input>b{height:48px;display:grid;place-items:center;border:1px solid #ddd;border-right:0;border-radius:12px 0 0 12px;background:#fff5e4;font-size:18px}.money-input input{height:48px!important;margin:0!important;border-radius:0 12px 12px 0!important;font-weight:900;font-size:17px}
.payment-settings-page .campaign-admin-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.inventory-setting-card{padding:20px;border:1px solid rgba(17,24,39,.10);border-radius:18px;background:#fcfcfb}.inventory-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.inventory-card-heading h3{margin:0 0 4px;font-size:18px;line-height:1.25}.inventory-card-heading p,.inventory-placement{margin:0}.dimension-chip{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;padding:6px 10px;background:#111;color:#fff;font-size:11px;font-weight:900}.inventory-placement{min-height:48px;margin:13px 0!important}.inventory-fields{display:grid;grid-template-columns:1.35fr .75fr .9fr;gap:10px}.inventory-fields label{margin:0!important}.inventory-fields label span{display:block;min-height:34px;font-size:12px;line-height:1.25;color:var(--muted)}.inventory-fields input{min-height:44px!important;padding:10px!important}.settings-save-row{display:flex;justify-content:flex-end;margin-top:22px}.settings-save-row .btn{min-width:230px}.plan-status-section .table-wrap{border:1px solid var(--line);border-radius:16px}.plan-status-section .table{border:0;box-shadow:none;border-radius:0}.operational-rules{margin-top:26px}

.home-content{display:flex;flex-direction:column;gap:28px}.home-sponsored-zone{margin:0}.home-sponsored-zone .ad-slot{margin:0}.home-value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.home-value-grid .card{padding:23px;min-height:220px}.home-value-grid h3{margin:15px 0 9px}.home-value-icon{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:40px;padding:0 12px;border-radius:999px;background:#111;color:#fff;font-size:14px;font-weight:900}.home-featured-festival-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.home-content>section{margin-top:0;margin-bottom:0}.home-content .festival-premium-banners{margin:0}.home-content .festival-week-spotlight{margin:0}.home-content .talent-home-cta{margin-top:0}.home-content .home-how-section{margin-top:0}.talent-home-cta .section-title{align-items:center}.talent-home-cta .grid.four{gap:14px}.talent-home-cta .grid.four div{min-height:92px;display:flex;flex-direction:column;justify-content:center}.home-how-section .card{min-height:220px;display:flex;flex-direction:column}.home-how-section .card .btn{margin-top:auto;width:max-content}

.preview-control-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 26px;padding:25px 28px;border:1px solid var(--panel-border);border-radius:20px;background:linear-gradient(135deg,#fff8e9,#fff);box-shadow:var(--panel-shadow)}.preview-control-panel h2{margin:4px 0 7px}.preview-control-panel p{margin:0}.preview-pages-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.preview-page-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;padding:20px;border:1px solid rgba(17,24,39,.10);border-radius:17px;background:#fcfcfb}.preview-page-card h3{margin:0 0 7px}.preview-page-card p{margin:0 0 14px}.preview-page-icon{width:48px;height:48px;border-radius:14px;background:#111;color:#fff;display:grid;place-items:center;font-size:20px;font-weight:900}.preview-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ad-preview-page .preview-placement-card{margin:0;padding:20px;box-shadow:none}.ad-preview-page .preview-placement-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.ad-preview-page .preview-placement-card h3{margin:0 0 4px;font-size:18px}.ad-preview-page .preview-placement-card header p{margin:0;color:var(--muted)}.preview-placement-copy{min-height:48px;margin:0 0 13px}.preview-art-shell{border-radius:14px;overflow:hidden}.ad-preview-page .preview-art-shell .ad-slot{margin:0;padding:10px}.ad-preview-page .preview-art-shell .ad-preview-art{height:170px;min-height:170px;padding:16px}.ad-preview-page .preview-art-shell .ad-preview-art b{font-size:clamp(18px,2vw,25px)}.promotion-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.promotion-preview-card{padding:20px;border:1px solid rgba(17,24,39,.10);border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(17,24,39,.05)}.promotion-preview-card.is-exclusive{border:2px solid rgba(224,170,70,.70)}.promotion-preview-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.ad-preview-page .promotion-preview-card .badge{margin:0!important;padding:7px 10px!important}.ad-preview-page .promotion-preview-card .promo-preview-art{height:185px;min-height:185px;margin:15px 0;padding:14px;aspect-ratio:auto!important}.ad-preview-page .promotion-preview-card .promo-preview-art b{font-size:clamp(17px,2vw,24px)}.promotion-preview-card>p{min-height:48px;margin:0 0 12px}.promotion-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.promotion-meta>*{padding:5px 8px;border-radius:999px;background:#f4f4f4;font-size:12px}.promotion-meta b{background:#111;color:#fff}

@media(max-width:1050px){.payment-settings-page .campaign-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-value-grid,.home-featured-festival-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.promotion-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.paypal-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-product-grid.three-up{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-product-grid.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-pages-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-content .festival-premium-banner,.home-content .festival-week-spotlight{grid-template-columns:minmax(220px,38%) minmax(0,1fr)}.home-content .festival-premium-banner img{height:220px}.home-content .festival-week-media img{height:260px}.talent-home-cta .grid.four{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-how-section .grid.two{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:680px){.settings-section,.preview-section{padding:20px}.settings-section-heading,.preview-control-panel{flex-direction:column;align-items:flex-start}.settings-product-grid.three-up,.settings-product-grid.two-up,.payment-settings-page .campaign-admin-grid,.preview-pages-grid,.preview-gallery-grid,.promotion-preview-grid,.home-value-grid,.home-featured-festival-grid{grid-template-columns:1fr}.paypal-status-grid{grid-template-columns:1fr}.payment-settings-actions{align-items:stretch!important;flex-direction:column!important}.payment-settings-actions form,.payment-settings-actions .btn{width:100%}.inventory-fields{grid-template-columns:1fr}.inventory-fields label span{min-height:0}.home-content .festival-premium-banner,.home-content .festival-week-spotlight{grid-template-columns:1fr}.talent-home-cta .grid.four,.home-how-section .grid.two{grid-template-columns:1fr!important}.preview-control-panel{padding:20px}}
@media print{.payment-settings-page .paypal-status-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.payment-settings-page .settings-product-grid.three-up{grid-template-columns:repeat(3,minmax(0,1fr))!important}.payment-settings-page .settings-product-grid.two-up{grid-template-columns:repeat(2,minmax(0,1fr))!important}.payment-settings-page .campaign-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ad-preview-page .preview-pages-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.ad-preview-page .preview-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ad-preview-page .promotion-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-value-grid,.home-featured-festival-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-content .festival-premium-banner,.home-content .festival-week-spotlight{grid-template-columns:minmax(220px,38%) minmax(0,1fr)!important}.talent-home-cta .grid.four,.home-how-section .grid.two{grid-template-columns:repeat(2,minmax(0,1fr))!important}.settings-section,.preview-section,.preview-placement-card,.promotion-preview-card{break-inside:avoid}.hero{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* FestOrbit v17.2 compliance, trust, resources, invoices and growth toolkit */
.legal-page,.trust-page,.resource-hub,.invoice-page,.toolkit-page,.results-page{padding-top:34px;padding-bottom:52px}
.legal-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}
.legal-nav{position:sticky;top:24px;padding:18px;display:flex;flex-direction:column;gap:5px}
.legal-nav>b{padding:4px 10px 12px;font-size:17px}.legal-nav a{padding:10px 12px;border-radius:10px;text-decoration:none;color:#222;font-weight:750}.legal-nav a:hover,.legal-nav a.active{background:#fff3dd;color:#6d4300}
.legal-content{padding:30px}.legal-content section{padding:0 0 23px;margin:0 0 24px;border-bottom:1px solid var(--line)}.legal-content section:last-of-type{border-bottom:0}.legal-content h2{margin:0 0 9px;font-size:22px}.legal-content p{margin:0;line-height:1.78;color:#343434}.policy-version,.trust-updated{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px;font-weight:800;color:var(--muted)}
.checkbox-row.legal-consent{display:flex!important;align-items:flex-start!important;gap:10px;margin:16px 0;padding:13px 14px;border:1px solid rgba(181,130,47,.28);border-radius:12px;background:#fffaf1;font-size:13px;line-height:1.45}.checkbox-row.legal-consent input{width:18px!important;height:18px!important;min-height:0!important;margin:2px 0 0!important;flex:0 0 auto}.checkbox-row.legal-consent a{font-weight:800}.purchase-consent-form .btn{width:100%;margin-top:7px}
.trust-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:26px 0}.trust-metric-grid .card{min-height:215px;padding:24px}.trust-metric-grid strong{display:block;font-size:clamp(32px,4vw,50px);line-height:1;color:#111;margin-bottom:18px}.trust-metric-grid h3{margin:0 0 8px}.trust-metric-grid p{margin:0;color:var(--muted)}.trust-warning{border-color:rgba(181,85,47,.35)}.trust-methodology{margin-top:24px}
.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.resource-card{display:flex;flex-direction:column;min-height:260px;text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease}.resource-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(17,24,39,.1)}.resource-card h2{font-size:21px}.resource-card p{color:var(--muted);flex:1}.resource-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#111;color:#fff;font-size:22px;font-weight:900}.resource-tool{max-width:940px;margin:0 auto}.resource-tool .calculator-panel{padding:28px}.calculator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.calculator-result{margin-top:22px;padding:22px;border-radius:18px;background:linear-gradient(135deg,#171717,#343434);color:#fff}.calculator-result strong{font-size:32px}.guide-sections{display:grid;gap:18px}.guide-sections .card h2{margin-top:0}
.home-trust-strip{padding:27px}.home-trust-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.home-trust-metrics>div{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fcfcfb}.home-trust-metrics strong{display:block;font-size:30px}.home-trust-metrics span{display:block;color:var(--muted);font-weight:700;margin-top:5px}.home-resource-callout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.8fr);gap:24px;padding:32px;border-radius:22px;background:linear-gradient(135deg,#161616,#2a241b);color:#fff}.home-resource-callout h2{font-size:clamp(26px,3vw,38px)}.home-resource-callout p{color:#e8e0d3;line-height:1.65}.home-resource-callout .badge{background:#fff3dd;color:#6d4300}.home-resource-callout .btn.secondary{border-color:#fff;color:#fff}.home-resource-links{display:grid;gap:10px}.home-resource-links a{display:block;padding:14px 16px;border:1px solid rgba(255,255,255,.2);border-radius:13px;color:#fff;text-decoration:none;font-weight:800;background:rgba(255,255,255,.06)}.home-resource-links a:hover{background:rgba(255,255,255,.13)}.savings-callout{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:24px 0;padding:26px;background:#fff8e9}.savings-callout h2{margin:10px 0 5px}.savings-callout p{margin:0;color:var(--muted)}
.toolkit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.toolkit-card{padding:22px}.toolkit-card code,.toolkit-code{display:block;width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8f8f8;white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.toolkit-preview{padding:20px;border:1px dashed rgba(181,130,47,.55);border-radius:15px;background:#fffaf1;text-align:center}.festival-verified-badge{display:inline-flex;align-items:center;gap:8px;margin:10px 0}.festival-verified-badge img{height:auto;max-width:260px}.results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.result-card .badge{margin-bottom:12px!important}.result-card h3{margin:0 0 7px}
.invoice-shell{max-width:960px;margin:30px auto;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 54px rgba(17,24,39,.09);overflow:hidden}.invoice-head{display:flex;justify-content:space-between;gap:20px;padding:28px;background:#171717;color:#fff}.invoice-head h1{margin:0}.invoice-meta{text-align:right}.invoice-parties{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:28px}.invoice-party{padding:18px;border:1px solid var(--line);border-radius:14px}.invoice-table{padding:0 28px}.invoice-total{display:flex;justify-content:flex-end;padding:22px 28px}.invoice-total>div{min-width:330px}.invoice-total p{display:flex;justify-content:space-between}.invoice-total .grand{font-size:20px;font-weight:900;border-top:2px solid #111;padding-top:12px}.invoice-notes{padding:0 28px 28px}.invoice-actions{display:flex;justify-content:flex-end;gap:10px;max-width:960px;margin:20px auto}.accounting-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.accounting-summary .card strong{font-size:26px}
.retired-feature{max-width:760px;margin:50px auto;padding:34px;text-align:center}.retired-feature .hero-actions{justify-content:center}
@media(max-width:1000px){.trust-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-grid,.results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-trust-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.accounting-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.legal-layout{grid-template-columns:1fr}.legal-nav{position:static}.resource-grid,.results-grid,.toolkit-grid,.calculator-grid,.invoice-parties,.home-resource-callout{grid-template-columns:1fr}.trust-metric-grid,.home-trust-metrics,.accounting-summary{grid-template-columns:1fr}.savings-callout{flex-direction:column;align-items:flex-start}.invoice-head{flex-direction:column}.invoice-meta{text-align:left}.invoice-total>div{min-width:0;width:100%}}
@media print{header,footer,.adminbar,.invoice-actions,.preview-mode-bar{display:none!important}.invoice-shell{box-shadow:none;border:0;margin:0;max-width:none}.invoice-page{padding:0}.legal-nav{display:none}.legal-layout{grid-template-columns:1fr}.legal-content{box-shadow:none;border:0}}
.invoice-wrap{padding-top:26px;padding-bottom:52px}.invoice-sheet{max-width:960px;margin:0 auto;padding:30px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 20px 54px rgba(17,24,39,.09)}.invoice-sheet>header{display:flex;justify-content:space-between;gap:30px;padding-bottom:22px;border-bottom:2px solid #111}.invoice-logo{max-width:220px;height:auto}.invoice-heading{text-align:right}.invoice-heading h1{margin:12px 0 6px}.invoice-lines{margin:24px 0}.invoice-sheet>footer{margin-top:25px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.toolkit-badge-preview{display:block;max-width:260px;height:auto;margin:16px 0}.toolkit-footer-badge-preview{display:block;max-width:210px;height:auto;margin:16px 0}.toolkit-grid textarea{min-height:145px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.toolkit-button-preview{padding:22px;margin:14px 0;border:1px dashed rgba(181,130,47,.5);border-radius:14px;background:#fffaf1;text-align:center}.festival-verified-mark{display:inline-flex;align-items:center;margin:10px 0}.festival-verified-mark img{max-width:260px;height:auto}
@media(max-width:760px){.invoice-sheet>header{flex-direction:column}.invoice-heading{text-align:left}.invoice-sheet{padding:20px}}

/* FestOrbit v17.3 claimable directory, ownership and one-click visibility controls */
.directory-disclaimer{margin:22px 0;padding:18px 20px;border-left:4px solid #b5822f;background:#fff8e9;border-radius:14px;line-height:1.6}.directory-disclaimer .source-note,.source-note{display:block;margin-top:9px}.directory-festival-card{border-style:dashed;background:linear-gradient(135deg,#fff,#fffaf1)}.directory-entry-status strong{font-size:18px!important}.directory-card-actions,.directory-link-list,.stack-list>div>div{display:flex;gap:9px;flex-wrap:wrap}.directory-card-actions{margin-top:14px}.directory-activation-card{margin-top:22px;background:linear-gradient(135deg,#fff9ec,#fff)}.directory-form-page{padding-top:30px;padding-bottom:52px}.directory-claim-layout{align-items:start}.directory-trust-card{position:sticky;top:24px}.directory-trust-card ol{padding-left:22px;display:grid;gap:12px}.narrow-card{max-width:780px;margin:40px auto;padding:30px}.professional-directory-page{padding-top:34px;padding-bottom:55px}.directory-profile-hero{display:grid;grid-template-columns:180px minmax(0,1fr);gap:26px;align-items:center;padding:28px}.directory-profile-photo{width:180px;height:180px;object-fit:cover;border-radius:22px;border:1px solid var(--line);background:#f5f2eb}.directory-profile-photo.placeholder{display:grid;place-items:center;font-size:64px;font-weight:900}.directory-link-list{flex-direction:column}.directory-link-list a{padding:11px 13px;border:1px solid var(--line);border-radius:11px;text-decoration:none;font-weight:800}.directory-admin-page{padding-top:30px;padding-bottom:60px}.directory-master-toggle{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:26px;margin:22px 0}.directory-master-toggle.enabled{border-color:rgba(31,145,90,.35);background:linear-gradient(135deg,#f3fff8,#fff)}.directory-master-toggle.disabled{border-color:rgba(193,119,29,.35);background:linear-gradient(135deg,#fff8ea,#fff)}.directory-master-toggle h2{margin:10px 0 6px}.directory-master-toggle p{margin:0;max-width:800px}.danger-button{background:#7b2828!important;border-color:#7b2828!important}.directory-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0}.directory-stat-grid .card{padding:22px}.directory-stat-grid strong{display:block;font-size:34px}.directory-stat-grid span{color:var(--muted);font-weight:750}.directory-admin-list{display:grid;gap:16px}.directory-admin-list article{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr);gap:18px;padding:19px;border:1px solid var(--line);border-radius:16px;background:#fcfcfb}.directory-admin-list h3{margin:8px 0}.directory-admin-list pre{max-height:220px;overflow:auto;padding:12px;border-radius:10px;background:#f4f4f4}.directory-decision-form{display:flex;flex-direction:column;gap:9px}.directory-decision-form textarea{min-height:88px}.directory-search{display:flex;align-items:end;gap:12px;margin:25px 0}.directory-search label{flex:1}.stack-list{display:grid;gap:14px}.stack-list>div{display:grid;gap:7px;padding:15px;border:1px solid var(--line);border-radius:13px}.stack-list span{display:block}.directory-talent-card{border-style:dashed}.directory-talent-card .talent-info>.badge{margin-bottom:9px!important}.ffp-festival-action-col .btn{white-space:normal;text-align:center}.ffp-festival-action-col{min-width:210px}.directory-master-toggle .btn{min-width:240px}.directory-profile-hero .hero-actions{justify-content:flex-start}
@media(max-width:1000px){.directory-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-admin-list article{grid-template-columns:1fr}.directory-trust-card{position:static}}
@media(max-width:720px){.directory-profile-hero{grid-template-columns:1fr}.directory-profile-photo{width:130px;height:130px}.directory-master-toggle,.directory-search{flex-direction:column;align-items:stretch}.directory-master-toggle .btn{min-width:0}.directory-stat-grid{grid-template-columns:1fr}.directory-profile-hero .hero-actions{flex-direction:column;align-items:stretch}.directory-profile-hero .hero-actions .btn{width:100%}}

/* FestOrbit v17.4 large claimable-directory pagination and audit views */
.pagination{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:24px 0 4px}.pagination-link{display:inline-grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);font-weight:800;text-decoration:none}.pagination-link:hover,.pagination-link.active{background:#b5822f;border-color:#b5822f;color:#fff}.directory-stat-grid-wide{grid-template-columns:repeat(6,minmax(0,1fr))}.directory-data-review{border-color:rgba(181,130,47,.45);background:linear-gradient(135deg,#fffaf0,#fff)}.directory-data-review .stack-list>div{grid-template-columns:minmax(0,1fr) auto;align-items:center}.directory-data-review .stack-list a:not(.btn){overflow-wrap:anywhere}.directory-admin-page details>summary{cursor:pointer;padding:6px 0;font-size:18px}.directory-admin-page .table td{vertical-align:top}.directory-admin-page .table .btn{margin:2px}
@media(max-width:1200px){.directory-stat-grid-wide{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.directory-stat-grid-wide{grid-template-columns:1fr}.directory-data-review .stack-list>div{grid-template-columns:1fr}.pagination{justify-content:flex-start}}

/* FestOrbit v17.5 */
.resource-icon{width:58px!important;height:58px!important;overflow:hidden!important;padding:0!important}.resource-icon span{font-size:12px!important;max-width:44px;white-space:nowrap;overflow:hidden;text-align:center}.resource-card{padding:24px!important}.ffp-festival-list-logo,.festival-logo{object-fit:contain!important;background:#fff!important;padding:10px!important}.ffp-festival-list-topline{display:flex!important;gap:12px!important;align-items:center!important;flex-wrap:wrap!important}.ffp-festival-action-col{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:10px!important;grid-column:2;min-width:0!important}.ffp-festival-action-col .btn{flex:1 1 170px;min-height:50px;display:flex;align-items:center;justify-content:center;font-size:14px!important}.festival-badge-row{display:flex!important;gap:14px!important;flex-wrap:wrap!important}.festival-hero-card .hero-actions{display:grid!important;grid-template-columns:repeat(3,minmax(210px,1fr));gap:14px!important}.festival-hero-card .hero-actions .btn{width:100%;min-height:54px;display:flex;align-items:center;justify-content:center;font-size:15px!important}.back-directory-button{margin-bottom:22px!important}.directory-profile-photo,.talent-photo{object-fit:contain!important;background:#f7f4ed!important}.directory-talent-card{min-height:460px!important}.directory-talent-card .talent-photo-wrap{height:190px!important}.directory-talent-card .talent-photo{width:100%!important;height:190px!important}.directory-card-actions{margin-top:auto!important}.talent-info{display:flex!important;flex-direction:column!important}.talent-grid{grid-template-columns:repeat(3,minmax(260px,1fr))!important;gap:22px!important}@media(max-width:1000px){.festival-hero-card .hero-actions{grid-template-columns:1fr 1fr}.talent-grid{grid-template-columns:repeat(2,minmax(240px,1fr))!important}}@media(max-width:720px){.festival-hero-card .hero-actions,.talent-grid{grid-template-columns:1fr!important}.ffp-festival-action-col{grid-column:1}}


/* FestOrbit v17.6 premium directory system */
.premium-directory-page,.premium-profile-page,.premium-festival-profile-body{padding-top:34px;padding-bottom:64px}.premium-directory-hero{display:flex;justify-content:space-between;align-items:end;gap:28px;padding:34px 38px;margin-bottom:24px;border:1px solid rgba(181,130,47,.24);border-radius:26px;background:radial-gradient(circle at 90% 10%,rgba(229,170,54,.2),transparent 34%),linear-gradient(135deg,#111827,#302719);color:#fff;box-shadow:0 24px 70px rgba(17,24,39,.14)}.premium-directory-hero h1{margin:10px 0 8px;font-size:clamp(34px,4vw,56px);line-height:1.04;color:#fff}.premium-directory-hero p{max-width:760px;margin:0;color:rgba(255,255,255,.78);font-size:17px;line-height:1.65}.premium-search-panel{display:grid;grid-template-columns:minmax(260px,2fr) repeat(3,minmax(150px,1fr)) auto auto;gap:14px;align-items:end;padding:20px;margin-bottom:24px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 14px 40px rgba(17,24,39,.06)}.premium-search-panel label{display:grid;gap:7px}.premium-search-panel label span{font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:#5f6673}.premium-search-panel input,.premium-search-panel select{min-height:48px}.premium-results-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:22px 0 16px}.premium-results-bar>div{display:flex;align-items:baseline;gap:9px}.premium-results-bar strong{font-size:36px}.premium-results-bar span,.premium-results-bar p{color:var(--muted);font-weight:700}.premium-festival-list{display:grid;gap:20px}.premium-festival-card{display:grid;grid-template-columns:150px minmax(0,1fr) 250px;gap:24px;align-items:stretch;padding:24px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(17,24,39,.07);transition:.2s ease}.premium-festival-card:hover{transform:translateY(-2px);box-shadow:0 24px 60px rgba(17,24,39,.11)}.premium-festival-logo{display:grid;place-items:center;min-height:150px;border:1px solid #ebe6dc;border-radius:20px;background:linear-gradient(145deg,#fff,#f7f4ed);overflow:hidden}.premium-festival-logo img{width:100%;height:150px;object-fit:contain;padding:14px}.festival-card-status-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.festival-format-pill,.directory-status-pill,.submission-status-pill{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:850;line-height:1.15}.festival-format-pill{background:#eaf8ef;color:#117846;border:1px solid #bee3ca}.directory-status-pill.is-unclaimed{background:#fff4d9;color:#815500;border:1px solid #ead39a}.directory-status-pill.is-claimed{background:#e9f8ef;color:#117846;border:1px solid #bfe4cc}.submission-status-pill.is-inactive{background:#fff0f0;color:#a22222;border:1px solid #f0caca}.submission-status-pill.is-open{background:#eaf8ef;color:#117846;border:1px solid #bee3ca}.premium-festival-content h2{margin:4px 0 7px;font-size:26px;line-height:1.16}.premium-festival-content h2 a,.premium-talent-content h2 a{color:inherit;text-decoration:none}.festival-location{margin:0 0 10px;font-weight:800;color:#384152}.festival-card-summary{margin:0 0 15px;color:#4f5868;line-height:1.65}.festival-card-facts{display:flex;gap:10px;flex-wrap:wrap}.festival-card-facts span{display:grid;gap:2px;min-width:130px;padding:9px 11px;border-radius:12px;background:#f7f7f5;font-size:12px;color:#505866}.festival-card-facts b{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#8a651f}.premium-festival-actions{display:flex;flex-direction:column;justify-content:center;gap:10px;border-left:1px solid #eee8de;padding-left:22px}.premium-festival-actions .btn{width:100%;min-height:48px;white-space:normal;text-align:center}.festival-fee-box{display:grid;gap:2px;padding:13px;border-radius:15px;background:#fff8e9}.festival-fee-box span{font-size:12px;color:#6b7280}.festival-fee-box strong{font-size:22px}.premium-talent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.premium-talent-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(17,24,39,.07)}.premium-talent-media{display:block;height:260px;background:linear-gradient(145deg,#f8f6f1,#ece7dd)}.premium-talent-media img{width:100%;height:100%;object-fit:cover}.premium-talent-content{display:flex;flex-direction:column;flex:1;padding:21px}.premium-talent-content h2{margin:12px 0 6px;font-size:23px;line-height:1.15}.talent-role{margin:0 0 11px;font-weight:800}.talent-role span{color:var(--muted);font-weight:600}.talent-summary{margin:0 0 18px;color:#596170;line-height:1.55}.premium-card-actions{display:grid;gap:9px;margin-top:auto}.premium-card-actions .btn{width:100%}.text-action{text-align:center;font-size:13px;font-weight:800;color:#70511c}.premium-profile-page>.back-link,.back-link{display:inline-flex;margin-bottom:20px;color:#4b5563;text-decoration:none;font-weight:850}.premium-profile-hero{display:grid;grid-template-columns:260px minmax(0,1fr);gap:34px;align-items:center;padding:34px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,#fff,#fbf7ee);box-shadow:0 22px 60px rgba(17,24,39,.09)}.premium-profile-photo{width:260px;height:300px;border-radius:24px;overflow:hidden;background:#eee9df}.premium-profile-photo img{width:100%;height:100%;object-fit:cover}.premium-profile-intro h1{margin:12px 0 8px;font-size:clamp(38px,5vw,62px);line-height:1}.profile-role{font-size:19px;font-weight:750;color:#4b5563}.profile-action-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.profile-action-row .btn{min-height:52px;display:inline-flex;align-items:center}.premium-profile-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:24px;margin-top:24px}.premium-profile-main,.premium-profile-side{padding:30px}.profile-section-divider{height:1px;background:var(--line);margin:28px 0}.profile-fact-list{display:grid;gap:0;margin:8px 0 24px}.profile-fact-list>div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:13px 0;border-bottom:1px solid #eee}.profile-fact-list dt{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#7b8493;font-weight:850}.profile-fact-list dd{margin:0;font-weight:750}.premium-official-links{display:grid;gap:9px}.premium-official-links a{display:flex;justify-content:space-between;padding:12px 14px;border:1px solid var(--line);border-radius:12px;text-decoration:none;font-weight:800}.premium-festival-profile-hero{position:relative;padding:42px 0 56px;background:radial-gradient(circle at 85% 15%,rgba(214,151,38,.42),transparent 36%),linear-gradient(135deg,#0f141e,#251f17);color:#fff;overflow:hidden}.premium-festival-profile-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(8,12,18,.93),rgba(8,12,18,.62)),var(--festival-banner,none);background-size:cover;background-position:center;opacity:.74}.premium-festival-profile-hero .wrap{position:relative}.back-link.light{color:#fff}.premium-festival-hero-card{display:grid;grid-template-columns:250px minmax(0,1fr);gap:34px;align-items:center;padding:32px;border:1px solid rgba(255,255,255,.2);border-radius:28px;background:rgba(255,255,255,.09);backdrop-filter:blur(14px)}.premium-festival-profile-logo{height:230px;padding:16px;border-radius:24px;background:#fff;overflow:hidden}.premium-festival-profile-logo img{width:100%;height:100%;object-fit:contain}.premium-festival-hero-copy h1{margin:14px 0 8px;color:#fff;font-size:clamp(38px,5vw,66px);line-height:1.02}.profile-location{font-weight:850;color:#f4d99d}.festival-hero-summary{max-width:850px;color:rgba(255,255,255,.84);font-size:17px;line-height:1.6}.festival-profile-actions{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));width:100%}.festival-profile-actions .btn{justify-content:center;text-align:center;white-space:normal}.festival-snapshot-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,.75fr);gap:24px}.festival-about-card,.festival-facts-card{padding:30px}.section-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#9a6c17;font-weight:900}.premium-ownership-card{padding:28px;border-color:#e7d3a9;background:#fff9ec}.premium-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-resource-card{display:grid!important;grid-template-columns:72px 1fr;gap:18px;align-items:start;min-height:210px}.premium-resource-icon{display:grid!important;place-items:center!important;width:64px!important;height:64px!important;border-radius:18px!important;background:linear-gradient(145deg,#111827,#594015)!important;color:#fff!important;overflow:visible!important}.premium-resource-icon b{font-size:18px!important;white-space:normal!important;overflow:visible!important}.resource-card-copy h2{margin:0 0 10px}.directory-media-admin{padding-top:34px;padding-bottom:70px}.full{width:100%;justify-content:center}
@media(max-width:1100px){.premium-search-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-search-panel .search-wide{grid-column:1/-1}.premium-festival-card{grid-template-columns:130px minmax(0,1fr)}.premium-festival-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-left:0;border-top:1px solid #eee8de;padding:18px 0 0}.premium-talent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.festival-profile-actions{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:760px){.premium-directory-hero{align-items:flex-start;flex-direction:column;padding:26px}.premium-search-panel{grid-template-columns:1fr}.premium-search-panel .search-wide{grid-column:auto}.premium-results-bar{align-items:flex-start;flex-direction:column}.premium-festival-card{grid-template-columns:1fr;padding:18px}.premium-festival-logo{min-height:180px}.premium-festival-logo img{height:180px}.premium-festival-actions{grid-template-columns:1fr}.premium-talent-grid{grid-template-columns:1fr}.premium-profile-hero,.premium-festival-hero-card,.premium-profile-layout,.festival-snapshot-grid{grid-template-columns:1fr}.premium-profile-photo{width:100%;height:360px}.premium-festival-profile-logo{height:210px}.festival-profile-actions{grid-template-columns:1fr}.profile-action-row{display:grid;grid-template-columns:1fr}.premium-resource-grid{grid-template-columns:1fr}.premium-resource-card{grid-template-columns:58px 1fr}.profile-fact-list>div{grid-template-columns:1fr;gap:5px}}

/* FestOrbit v17.6.1 profile-content refinement */
.premium-profile-layout.profile-details-only{grid-template-columns:minmax(0,1fr)}
.premium-profile-layout.profile-details-only .premium-profile-side{max-width:none}
/* FestOrbit production profile polish v20 */
.clean-profile-list{margin:14px 0 0;padding-left:22px;display:grid;gap:9px}.clean-profile-list li{line-height:1.55}.historical-profile-data{margin-top:18px;border-top:1px solid rgba(0,0,0,.08);padding-top:14px}.historical-profile-data summary{font-weight:800;cursor:pointer}.profile-tag-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.premium-official-links{display:grid;gap:8px;margin-top:12px}.premium-official-links a{display:flex;justify-content:space-between;gap:10px;text-decoration:none;border:1px solid rgba(181,130,47,.25);border-radius:10px;padding:10px 12px}.festival-facts-card .btn.full{width:100%;text-align:center;box-sizing:border-box;margin-top:12px}.festival-about-card p,.premium-profile-main p{line-height:1.75}.public-category-card .category-info-grid:empty{display:none}@media(max-width:760px){.premium-profile-layout,.festival-snapshot-grid{grid-template-columns:1fr}.premium-festival-profile-logo{max-width:190px}}
/* FestOrbit v20.1 entity profiles and protected enrichment reports */
.entity-banner{width:100%;margin-bottom:1.25rem}.entity-banner img{width:100%;max-height:420px;object-fit:cover;border-radius:20px;display:block}.entity-project-heading{display:flex;gap:1.5rem;align-items:flex-start}.entity-poster{width:min(240px,32vw);flex:0 0 auto}.entity-poster img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:18px;display:block}.entity-project-heading>div:last-child{flex:1}.enrichment-run-table td{vertical-align:top;min-width:130px}.enrichment-run-table td:nth-child(5){min-width:260px}.enrichment-run-table td:nth-child(8),.enrichment-run-table td:nth-child(9){min-width:120px}@media(max-width:760px){.entity-project-heading{flex-direction:column}.entity-poster{width:min(260px,75vw)}}

/* FestOrbit v20.3 structured rules and filmography */
.festival-rule-sections{display:grid;gap:1.25rem;margin-top:1rem}.festival-rule-section{border-top:1px solid var(--border,#e8e2d6);padding-top:1rem}.festival-rule-section:first-child{border-top:0;padding-top:0}.festival-rule-section h3{margin:0 0 .65rem;font-size:1.08rem}.festival-rule-section p{margin:.45rem 0;line-height:1.65}.festival-rule-section .clean-profile-list{margin:.55rem 0 0;padding-left:1.25rem}.profile-credit-summary{display:flex;flex-wrap:wrap;gap:.5rem;margin:.7rem 0 1rem}.profile-credit-list{display:grid;gap:.75rem}.profile-credit-item{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border:1px solid var(--border,#e8e2d6);border-radius:12px;background:#fff}.profile-credit-item h3{font-size:1rem;margin:0 0 .3rem}.profile-credit-item p{display:flex;gap:.65rem;flex-wrap:wrap;margin:0;color:var(--muted,#666)}.profile-credit-item time{font-weight:700;white-space:nowrap}.profile-credit-item a{text-decoration:none}.profile-credit-item a:hover{text-decoration:underline}@media(max-width:640px){.profile-credit-item{align-items:flex-start}.profile-credit-item time{font-size:.9rem}}

/* FestOrbit v20.5.0 complete professional profiles and structured festival layout */
.danger-outline{border-color:#d7a6a6!important;color:#9f2626!important;background:#fff!important}.profile-section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}.credit-total{font-size:13px;font-weight:850;color:var(--muted)}.profile-credit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.profile-credit-card{padding:17px;border:1px solid #e9e3d8;border-radius:16px;background:linear-gradient(145deg,#fff,#fbf8f1)}.profile-credit-card h3{margin:10px 0 4px;font-size:18px;line-height:1.25}.profile-credit-card h3 a{color:inherit;text-decoration:none}.profile-credit-card p{margin:0;color:var(--muted)}.credit-card-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.credit-role{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#986916}.credit-card-top time{font-weight:850;color:#4b5563}.more-credit-details{margin-top:18px}.more-credit-details summary{cursor:pointer;font-weight:850;color:#76531a}.more-credit-details .profile-credit-grid{margin-top:16px}.profile-biography p{line-height:1.75;margin:0 0 14px}.compact-form{min-width:260px}.compact-form textarea{min-height:64px}@media(max-width:760px){.profile-credit-grid{grid-template-columns:1fr}.profile-section-heading{align-items:flex-start;flex-direction:column}}

/* FestOrbit v20.5.0 festival hierarchy and complete professional profiles */
.compact-festival-hero{padding:28px 0 34px;background:linear-gradient(145deg,#fbf8f0,#fff)}.compact-festival-hero .wrap{position:relative}.compact-festival-hero .premium-festival-hero-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;padding:24px;border:1px solid #e8dfcf;border-radius:24px;background:#fff;box-shadow:0 16px 45px rgba(17,24,39,.07)}.compact-festival-hero .premium-festival-logo{display:grid;place-items:center;width:150px;height:150px;padding:14px;border:1px solid #eee5d7;border-radius:20px;background:#fff}.compact-festival-hero .premium-festival-logo img{width:100%;height:100%;object-fit:contain}.compact-festival-hero h1{margin:10px 0 6px;font-size:clamp(34px,4.8vw,60px);line-height:1.04;color:#151515}.festival-status-row{display:flex;flex-wrap:wrap;gap:8px}.directory-status-pill.is-inactive{background:#fff1f1;color:#a52a2a;border:1px solid #efcaca}.festival-overview-copy p{margin:0 0 14px;line-height:1.72}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.historical-badge{background:#f2eee5;color:#6c5a39}.edition-date-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px}.accepted-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.accepted-project-card{padding:15px;border:1px solid #e9e2d5;border-radius:14px;background:#fbfaf7}.accepted-project-card h3{margin:0 0 8px;font-size:16px}.accepted-project-card p{margin:5px 0;color:#555;line-height:1.5}.award-chip-grid{display:flex;flex-wrap:wrap;gap:9px}.award-chip{display:inline-flex;padding:9px 12px;border:1px solid #e3cf9f;border-radius:999px;background:#fff9e9;font-weight:800}.festival-rule-accordion{display:grid;gap:10px;margin-top:16px}.festival-rule-details{border:1px solid #e8e1d5;border-radius:14px;background:#fff;overflow:hidden}.festival-rule-details summary{display:flex;justify-content:space-between;gap:14px;cursor:pointer;padding:15px 17px;font-weight:900;background:#fbf8f1}.festival-rule-details summary::-webkit-details-marker{display:none}.festival-rule-details summary span{font-size:20px;color:#9a6c17}.festival-rule-details[open] summary span{transform:rotate(45deg)}.festival-rule-content{padding:4px 18px 18px}.festival-rule-content p{line-height:1.68}.festival-rule-content ol{padding-left:22px;display:grid;gap:9px}.festival-rule-content li{line-height:1.58}.professional-hero-v205{grid-template-columns:190px minmax(0,1fr);padding:26px}.professional-hero-v205 .premium-profile-photo{width:190px;height:220px;border-radius:20px}.professional-hero-v205 .premium-profile-photo.is-placeholder img{object-fit:contain;padding:24px}.professional-hero-v205 .premium-profile-intro h1{font-size:clamp(36px,5vw,58px)}.grouped-project-credits .credit-role{text-transform:none;letter-spacing:0;font-size:12px;line-height:1.4}.education-list{display:grid;gap:12px}.education-card{position:relative;padding:16px 18px;border-left:4px solid #b5822f;border-radius:12px;background:#faf8f3}.education-card h3{margin:0 0 5px;font-size:18px}.education-card p,.education-card time{margin:0;color:#5b6470}.premium-profile-photo img{object-position:center top}
@media(max-width:900px){.accepted-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.edition-date-grid{grid-template-columns:1fr}.professional-hero-v205{grid-template-columns:150px minmax(0,1fr)}.professional-hero-v205 .premium-profile-photo{width:150px;height:180px}}
@media(max-width:640px){.compact-festival-hero .premium-festival-hero-card{grid-template-columns:1fr}.compact-festival-hero .premium-festival-logo{width:110px;height:110px}.accepted-project-grid{grid-template-columns:1fr}.professional-hero-v205{grid-template-columns:110px minmax(0,1fr);gap:16px;padding:18px}.professional-hero-v205 .premium-profile-photo{width:110px;height:135px}.professional-hero-v205 .premium-profile-intro h1{font-size:32px}.professional-hero-v205 .profile-role{font-size:15px}.professional-hero-v205 .profile-action-row{grid-column:1/-1}.profile-action-row .btn{width:100%;justify-content:center}}

/* FestOrbit v20.6.0 structured profile media */
.professional-hero-v205{position:relative;overflow:hidden}.professional-profile-cover{position:absolute;inset:0;z-index:0;opacity:.22}.professional-profile-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--surface,#fff) 0%,rgba(255,255,255,.82) 45%,rgba(255,255,255,.62) 100%)}.professional-profile-cover img{width:100%;height:100%;object-fit:cover}.professional-hero-v205>.premium-profile-photo,.professional-hero-v205>.premium-profile-intro{position:relative;z-index:1}
.profile-source-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.profile-source-gallery figure{margin:0;border:1px solid var(--line,#e6dfd2);border-radius:14px;overflow:hidden;background:#fff}.profile-source-gallery img{display:block;width:100%;height:190px;object-fit:cover}.profile-source-gallery figcaption{padding:9px 11px;color:#555;font-size:.9rem}.profile-source-gallery .btn{margin:8px 10px 12px}
.professional-award-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.professional-award-card{border:1px solid var(--line,#e6dfd2);border-radius:13px;padding:14px;background:#fff}.professional-award-card h3{font-size:1rem;margin:0 0 6px}.professional-award-card p,.professional-award-card time{margin:0;color:#666;font-size:.9rem}

/* FestOrbit v20.10.3 unified-enrichment admin cleanup */
.v2010-admin{padding-bottom:56px}.admin-accordion{background:#fff;border:1px solid #eadfca;border-radius:24px;margin:18px 0;box-shadow:0 10px 28px rgba(35,24,8,.055);overflow:hidden}.admin-accordion>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;padding:22px 26px;font-size:1.25rem;font-weight:800}.admin-accordion>summary::-webkit-details-marker{display:none}.admin-accordion>summary:after{content:'+';display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff5df;color:#8e5d0d;font-size:22px;flex:none}.admin-accordion[open]>summary:after{content:'−'}.admin-accordion>summary small{margin-left:auto;font-size:.82rem;font-weight:500;color:#706b64}.admin-accordion-body{border-top:1px solid #f0e8dc;padding:26px}.subcard{background:#fffaf1;border:1px solid #f0dfbd;border-radius:18px;padding:20px;margin-bottom:22px}.enrichment-progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.progress-entity-card{padding:22px;border:1px solid #eadfca;border-radius:20px;background:linear-gradient(180deg,#fff,#fffaf2)}.progress-entity-card h3{margin:0 0 18px;font-size:1.25rem}.progress-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.progress-metric{display:flex;flex-direction:column;gap:5px;min-height:76px;padding:13px 15px;border-radius:14px;background:#fff;border:1px solid #f0e8dc}.progress-metric span{font-size:.78rem;color:#746d64;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.progress-metric strong{font-size:1.32rem;line-height:1.1}.report-toolbar,.toolbar,.filter-bar,.inline-form{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:16px 0}.report-toolbar{padding:12px 14px;background:#fff9ed;border:1px solid #f0dfbd;border-radius:14px}.filter-bar{padding:16px;background:#faf9f7;border:1px solid #ebe7e0;border-radius:16px}.filter-bar label,.inline-form label{min-width:150px;flex:1}.btn.small{padding:8px 12px;font-size:.82rem}.compact-table td,.compact-table th{padding:9px 10px}.token-code{display:block;overflow-wrap:anywhere;padding:12px;margin-top:8px;background:#191919;color:#fff;border-radius:10px}.pagination{display:flex;gap:7px;margin:18px 0}.pagination a{display:grid;place-items:center;min-width:36px;height:36px;padding:0 8px;border-radius:10px;border:1px solid #ddd;color:#222;text-decoration:none}.pagination a.active{background:#b5822f;color:#fff;border-color:#b5822f}.report-delete-note{padding:18px 22px;border:1px solid #efdfbf;background:#fff8e9;border-radius:16px}.admin-table th{white-space:nowrap}.admin-table td{vertical-align:top}.directory-enrichment-admin .table-wrap{max-width:100%;overflow:auto}.directory-enrichment-admin .form{gap:14px}.directory-enrichment-admin details+details{margin-top:18px}
@media(max-width:900px){.enrichment-progress-grid{grid-template-columns:1fr}.progress-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-accordion>summary{align-items:flex-start;flex-wrap:wrap}.admin-accordion>summary small{order:3;width:100%;margin:0}.admin-accordion-body{padding:18px}}
@media(max-width:520px){.progress-metric-grid{grid-template-columns:1fr 1fr}.admin-accordion>summary{padding:18px}.progress-entity-card{padding:16px}.report-toolbar .btn{width:100%}}

/* FestOrbit profile media lightbox */
[data-fo-lightbox]{cursor:zoom-in}.profile-banner-lightbox-trigger{position:absolute;right:18px;bottom:18px;z-index:3;border:1px solid rgba(255,255,255,.75);background:rgba(15,15,15,.68);color:#fff;border-radius:999px;padding:9px 14px;font-weight:700;backdrop-filter:blur(8px);cursor:zoom-in}.compact-festival-hero{position:relative}.fo-lightbox[hidden]{display:none}.fo-lightbox{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:24px}.fo-lightbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.92)}.fo-lightbox-dialog{position:relative;z-index:1;width:min(96vw,1500px);height:min(94vh,1000px);display:grid;grid-template-columns:62px minmax(0,1fr) 62px;align-items:center}.fo-lightbox figure{margin:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}.fo-lightbox img{display:block;max-width:100%;max-height:calc(94vh - 74px);object-fit:contain;opacity:0;transition:opacity .18s ease}.fo-lightbox img.loaded{opacity:1}.fo-lightbox figcaption{width:100%;min-height:52px;display:flex;justify-content:space-between;gap:20px;align-items:center;color:#fff;padding:12px 4px;font-size:.92rem}.fo-lightbox-counter{white-space:nowrap;color:#ddd}.fo-lightbox-close,.fo-lightbox-nav{border:0;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;display:grid;place-items:center}.fo-lightbox-close{position:absolute;right:2px;top:2px;width:44px;height:44px;border-radius:50%;font-size:32px;z-index:5}.fo-lightbox-nav{width:50px;height:66px;border-radius:14px;font-size:52px;line-height:1}.fo-lightbox-nav:hover,.fo-lightbox-close:hover{background:rgba(255,255,255,.28)}.fo-lightbox-loader{position:absolute;color:#fff;background:rgba(0,0,0,.55);border-radius:10px;padding:9px 13px}.fo-lightbox-open{overflow:hidden}.premium-festival-logo img,.premium-profile-photo img,.professional-profile-cover img,.profile-source-gallery img,.media-card img{transition:transform .18s ease}.premium-festival-logo img:hover,.premium-profile-photo img:hover,.professional-profile-cover img:hover,.profile-source-gallery img:hover,.media-card img:hover{transform:scale(1.015)}
@media(max-width:700px){.fo-lightbox{padding:8px}.fo-lightbox-dialog{width:100%;height:98vh;grid-template-columns:42px minmax(0,1fr) 42px}.fo-lightbox-nav{width:38px;height:56px;font-size:42px}.fo-lightbox img{max-height:calc(98vh - 82px)}.fo-lightbox figcaption{font-size:.82rem}.profile-banner-lightbox-trigger{right:10px;bottom:10px}}


/* FestOrbit v20.10.3 festival presentation, directory grid and gallery consistency */
.festival-profile-banner-frame{position:relative;display:block;width:100%;height:clamp(190px,27vw,360px);margin:0 0 20px;padding:0;border:1px solid #e7dece;border-radius:24px;overflow:hidden;background:#ece7dd;box-shadow:0 16px 42px rgba(17,24,39,.08);cursor:zoom-in}
.festival-profile-banner-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.festival-profile-banner-frame span{position:absolute;right:16px;bottom:16px;padding:9px 14px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(15,15,15,.7);color:#fff;font-weight:800;backdrop-filter:blur(8px)}
.compact-festival-hero.has-banner{background:linear-gradient(145deg,#f7f1e5,#fff)}
.festival-overview-grid{align-items:start}.festival-overview-copy{display:grid;gap:18px}.festival-overview-copy p{margin:0;line-height:1.78}.festival-overview-copy p+p{padding-top:18px;border-top:1px solid #eee8dc}.festival-key-facts{margin-bottom:20px}.festival-key-empty{padding:14px;border:1px dashed #d9c69f;border-radius:12px;background:#fffaf0;line-height:1.6}
.profile-gallery-section{overflow:hidden}.profile-gallery-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.profile-gallery-preview figure{margin:0;aspect-ratio:4/3;border:1px solid #e7dfd2;border-radius:15px;overflow:hidden;background:#f5f1e9}.profile-gallery-preview img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .18s ease}.profile-gallery-preview img:hover{transform:scale(1.025)}.profile-gallery-view-button{display:flex!important;width:max-content;min-width:190px;justify-content:center;margin:18px auto 0}.profile-video-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.talent-grid-ad{grid-column:1/-1;margin:22px 0}
@media(min-width:720px){.premium-talent-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.premium-talent-media{height:210px}.premium-talent-content{padding:18px}.premium-talent-content h2{font-size:20px}}
@media(min-width:560px) and (max-width:719px){.premium-talent-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.premium-talent-media{height:210px}}
@media(max-width:559px){.premium-talent-grid{grid-template-columns:1fr!important}.profile-gallery-preview{grid-template-columns:1fr 1fr}.festival-profile-banner-frame{height:190px}.festival-profile-banner-frame span{right:10px;bottom:10px}}


/* FestOrbit v20.10.5 full-resolution profile media and clickable uncropped banners */
.festival-profile-banner-frame,
.professional-profile-cover{appearance:none;-webkit-appearance:none;position:relative;display:grid;place-items:center;width:100%;height:clamp(270px,36vw,500px);margin:0 0 22px;padding:0;border:1px solid #dfd3bf;border-radius:64px / 42px;overflow:hidden;background:linear-gradient(145deg,#efe9de,#faf7f0);box-shadow:0 18px 48px rgba(17,24,39,.10);cursor:zoom-in;opacity:1}
.festival-profile-banner-frame img,
.professional-profile-cover img{display:block;width:100%;height:100%;object-fit:contain!important;object-position:center center!important;image-orientation:from-image;opacity:1!important;filter:none!important;transform:none}
.festival-profile-banner-frame:hover img,
.professional-profile-cover:hover img{transform:scale(1.006)}
.festival-profile-banner-frame span{display:none!important}
.professional-profile-cover{inset:auto;z-index:auto}
.professional-profile-cover:after{display:none!important;content:none!important}
.professional-hero-v205{display:block!important;padding:0!important;overflow:hidden;background:linear-gradient(145deg,#fff,#fbf7ee)}
.professional-hero-v205 .professional-profile-cover{margin:0;border-width:0 0 1px;border-radius:0 0 64px 64px / 0 0 38px 38px;box-shadow:none;background:#f2ede4}
.professional-hero-details{display:grid;grid-template-columns:190px minmax(0,1fr);gap:26px;align-items:center;padding:26px}
.professional-hero-v205>.premium-profile-photo,.professional-hero-v205>.premium-profile-intro{position:static;z-index:auto}
.professional-hero-v205 .professional-hero-details>.premium-profile-photo{width:190px;height:220px;border-radius:22px}
.professional-profile-cover img,.festival-profile-banner-frame img,.profile-gallery-preview img,.fo-lightbox img{image-rendering:auto}
.fo-lightbox{padding:8px}
.fo-lightbox-dialog{width:100vw;max-width:none;height:100vh;max-height:none;grid-template-columns:64px minmax(0,1fr) 64px;padding:8px}
.fo-lightbox figure{width:100%;height:100%}
.fo-lightbox img{max-width:100%;max-height:calc(100vh - 62px);width:auto;height:auto;object-fit:contain;image-orientation:from-image}
.fo-lightbox figcaption{min-height:46px;padding:8px 6px}
@media(max-width:900px){.professional-hero-details{grid-template-columns:150px minmax(0,1fr)}.professional-hero-v205 .professional-hero-details>.premium-profile-photo{width:150px;height:180px}.festival-profile-banner-frame,.professional-profile-cover{height:clamp(230px,45vw,390px);border-radius:46px / 32px}}
@media(max-width:640px){.professional-hero-details{grid-template-columns:110px minmax(0,1fr);gap:16px;padding:18px}.professional-hero-v205 .professional-hero-details>.premium-profile-photo{width:110px;height:135px}.festival-profile-banner-frame,.professional-profile-cover{height:220px;border-radius:32px / 24px}.professional-hero-v205 .professional-profile-cover{border-radius:0 0 36px 36px / 0 0 24px 24px}.fo-lightbox-dialog{grid-template-columns:42px minmax(0,1fr) 42px;padding:2px}}

/* FestOrbit v20.10.6 compact talent hero restoration.
   The established compact header is preserved. Profile identity/actions and the banner
   use separate panes, so a full-opacity banner can stay centered and uncropped without
   forcing the profile information into a narrow vertical stack. */
.professional-hero-v205,
.professional-hero-v205.has-cover{position:relative!important;min-height:0!important;padding:0!important;overflow:hidden!important;border-radius:30px!important;background:linear-gradient(145deg,#fff,#fbf7ee)!important}
.professional-hero-v205.has-cover{display:grid!important;grid-template-columns:minmax(0,2fr) minmax(320px,.75fr)!important;grid-template-areas:"details cover"!important;min-height:286px!important}
.professional-hero-v205:not(.has-cover){display:block!important}
.professional-hero-v205.has-cover:after{display:none!important;content:none!important}
.professional-hero-v205.has-cover .professional-profile-cover{grid-area:cover!important;position:relative!important;inset:auto!important;z-index:1!important;display:grid!important;place-items:center!important;width:100%!important;height:100%!important;min-height:286px!important;margin:0!important;padding:0!important;border:0!important;border-left:1px solid rgba(181,130,47,.18)!important;border-radius:68px 30px 30px 68px / 44px 30px 30px 44px!important;background:linear-gradient(145deg,#eee8dd,#faf7f0)!important;box-shadow:inset 14px 0 30px rgba(17,24,39,.04)!important;overflow:hidden!important;cursor:zoom-in!important;opacity:1!important}
.professional-hero-v205.has-cover .professional-profile-cover img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;opacity:1!important;filter:none!important;transform:none!important}
.professional-hero-v205.has-cover .professional-profile-cover:hover img{transform:scale(1.004)!important}
.professional-hero-v205 .professional-hero-details{grid-area:details!important;position:relative!important;z-index:2!important;display:grid!important;grid-template-columns:190px minmax(0,1fr)!important;gap:28px!important;align-items:center!important;width:100%!important;min-height:286px!important;padding:28px 30px!important;background:linear-gradient(145deg,#fff,#fffaf2)!important}
.professional-hero-v205 .professional-hero-details>.premium-profile-photo{position:relative!important;z-index:2!important;width:190px!important;height:220px!important;align-self:center!important;border:5px solid #fff!important;border-radius:22px!important;background:#fff!important;box-shadow:0 15px 34px rgba(17,24,39,.17)!important;overflow:hidden!important}
.professional-hero-v205 .professional-hero-details>.premium-profile-photo img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important;opacity:1!important;filter:none!important}
.professional-hero-v205 .premium-profile-intro{position:relative!important;z-index:2!important;align-self:center!important;min-width:0!important;max-width:none!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
.professional-hero-v205 .premium-profile-intro h1{margin:10px 0 10px!important;font-size:clamp(34px,4.3vw,56px)!important;line-height:1.02!important;overflow-wrap:anywhere!important}
.professional-hero-v205 .profile-role{margin:0 0 20px!important}
.professional-hero-v205 .profile-action-row{display:flex!important;flex-wrap:wrap!important;gap:10px!important;align-items:center!important}
.professional-hero-v205 .profile-action-row .btn{width:auto!important;min-width:0!important;white-space:normal!important;padding:11px 13px!important;font-size:14px!important}
@media(max-width:1120px){
  .professional-hero-v205.has-cover{grid-template-columns:minmax(0,1.7fr) minmax(290px,.8fr)!important}
  .professional-hero-v205 .professional-hero-details{grid-template-columns:150px minmax(0,1fr)!important;gap:21px!important;padding:24px!important}
  .professional-hero-v205 .professional-hero-details>.premium-profile-photo{width:150px!important;height:182px!important}
  .professional-hero-v205 .premium-profile-intro h1{font-size:clamp(32px,4.6vw,48px)!important}
  .professional-hero-v205 .profile-action-row .btn{padding:10px 12px!important;font-size:14px!important}
}
@media(max-width:820px){
  .professional-hero-v205.has-cover{display:flex!important;flex-direction:column!important;min-height:0!important}
  .professional-hero-v205.has-cover .professional-profile-cover{order:1!important;height:240px!important;min-height:240px!important;border-left:0!important;border-bottom:1px solid rgba(181,130,47,.18)!important;border-radius:0 0 38px 38px / 0 0 26px 26px!important;box-shadow:inset 0 -12px 28px rgba(17,24,39,.035)!important}
  .professional-hero-v205 .professional-hero-details{order:2!important;min-height:0!important;grid-template-columns:116px minmax(0,1fr)!important;gap:17px!important;padding:20px!important}
  .professional-hero-v205 .professional-hero-details>.premium-profile-photo{width:116px!important;height:142px!important;border-width:4px!important}
  .professional-hero-v205 .premium-profile-intro h1{font-size:32px!important;line-height:1.05!important}
  .professional-hero-v205 .profile-action-row{grid-column:1/-1!important}
  .professional-hero-v205 .profile-action-row .btn{flex:1 1 180px!important;justify-content:center!important}
}
@media(max-width:480px){
  .professional-hero-v205.has-cover .professional-profile-cover{height:200px!important;min-height:200px!important}
  .professional-hero-v205 .professional-hero-details{grid-template-columns:92px minmax(0,1fr)!important;gap:13px!important;padding:15px!important}
  .professional-hero-v205 .professional-hero-details>.premium-profile-photo{width:92px!important;height:116px!important}
  .professional-hero-v205 .premium-profile-intro h1{font-size:27px!important}
  .professional-hero-v205 .profile-role{font-size:14px!important;margin-bottom:14px!important}
}


/* FestOrbit v20.10.10 talent hero contrast refinement: preserve the original integrated
   profile layout while showing the banner at full strength everywhere except
   for a light, localized fade behind the portrait on the far left. */
.professional-hero-v205,
.professional-hero-v205.has-cover{
  position:relative!important;
  display:grid!important;
  grid-template-columns:190px minmax(0,1fr)!important;
  grid-template-areas:none!important;
  gap:34px!important;
  align-items:center!important;
  min-height:0!important;
  padding:34px 26px!important;
  overflow:hidden!important;
  border-radius:28px!important;
  background:linear-gradient(145deg,#fff,#fbf7ee)!important;
}
.professional-hero-v205.has-cover:after{
  display:none!important;
  content:none!important;
}
.professional-hero-v205.has-cover .professional-profile-cover{
  appearance:none!important;
  -webkit-appearance:none!important;
  position:absolute!important;
  inset:0!important;
  grid-area:auto!important;
  z-index:0!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:inherit!important;
  background:#eee8dd!important;
  box-shadow:none!important;
  overflow:hidden!important;
  cursor:zoom-in!important;
  opacity:1!important;
}
.professional-hero-v205.has-cover .professional-profile-cover img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
}
.professional-hero-v205.has-cover .professional-profile-cover:hover img{
  transform:none!important;
}
.professional-hero-v205.has-cover .professional-profile-cover:after{
  display:block!important;
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,
    rgba(255,255,255,.56) 0%,
    rgba(255,255,255,.42) 11%,
    rgba(255,255,255,.16) 17%,
    rgba(255,255,255,.04) 21%,
    rgba(255,255,255,0) 25%)!important;
}
.professional-hero-v205>.premium-profile-photo,
.professional-hero-v205>.premium-profile-intro{
  position:relative!important;
  z-index:2!important;
}
.professional-hero-v205>.premium-profile-photo{
  width:190px!important;
  height:220px!important;
  align-self:center!important;
  border:5px solid rgba(255,255,255,.96)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 15px 34px rgba(17,24,39,.17)!important;
  overflow:hidden!important;
}
.professional-hero-v205>.premium-profile-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center top!important;
  opacity:1!important;
  filter:none!important;
}
.professional-hero-v205>.premium-profile-intro{
  min-width:0!important;
  max-width:none!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.professional-hero-v205.has-cover>.premium-profile-intro{
  isolation:isolate!important;
}
.professional-hero-v205.has-cover>.premium-profile-intro:before{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  inset:-16px -54px -16px -18px!important;
  border-radius:22px!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,
    rgba(8,12,18,.78) 0%,
    rgba(8,12,18,.67) 48%,
    rgba(8,12,18,.40) 72%,
    rgba(8,12,18,0) 100%)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.08)!important;
}
.professional-hero-v205.has-cover>.premium-profile-intro h1,
.professional-hero-v205.has-cover>.premium-profile-intro .profile-role,
.professional-hero-v205.has-cover>.premium-profile-intro .profile-role span{
  color:#fff!important;
  text-shadow:0 2px 9px rgba(0,0,0,.92),0 1px 2px rgba(0,0,0,.95)!important;
}
.professional-hero-v205>.premium-profile-intro h1{
  margin:12px 0 8px!important;
  font-size:clamp(36px,5vw,58px)!important;
  line-height:1!important;
  overflow-wrap:anywhere!important;
}
.professional-hero-v205>.premium-profile-intro .profile-role{
  margin:0!important;
}
.professional-hero-v205>.premium-profile-intro .profile-action-row{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin-top:22px!important;
}
.professional-hero-v205>.premium-profile-intro .profile-action-row .btn{
  width:auto!important;
  min-height:52px!important;
  min-width:0!important;
  padding:12px 17px!important;
  white-space:normal!important;
}
@media(max-width:900px){
  .professional-hero-v205,
  .professional-hero-v205.has-cover{
    grid-template-columns:150px minmax(0,1fr)!important;
    gap:24px!important;
    padding:30px 24px!important;
  }
  .professional-hero-v205>.premium-profile-photo{
    width:150px!important;
    height:180px!important;
  }
  .professional-hero-v205>.premium-profile-intro h1{
    font-size:clamp(32px,4.6vw,48px)!important;
  }
}
@media(max-width:640px){
  .professional-hero-v205,
  .professional-hero-v205.has-cover{
    grid-template-columns:110px minmax(0,1fr)!important;
    gap:16px!important;
    padding:22px 18px!important;
  }
  .professional-hero-v205.has-cover .professional-profile-cover:after{
    background:linear-gradient(90deg,
      rgba(255,255,255,.58) 0%,
      rgba(255,255,255,.42) 26%,
      rgba(255,255,255,.12) 40%,
      rgba(255,255,255,0) 52%)!important;
  }
  .professional-hero-v205>.premium-profile-photo{
    width:110px!important;
    height:135px!important;
    border-width:4px!important;
  }
  .professional-hero-v205>.premium-profile-intro h1{
    font-size:32px!important;
    line-height:1.05!important;
  }
  .professional-hero-v205>.premium-profile-intro .profile-role{
    font-size:15px!important;
  }
  .professional-hero-v205>.premium-profile-intro .profile-action-row{
    gap:8px!important;
  }
  .professional-hero-v205>.premium-profile-intro .profile-action-row .btn{
    min-height:44px!important;
    padding:9px 11px!important;
    font-size:12px!important;
  }
  .professional-hero-v205.has-cover>.premium-profile-intro:before{
    inset:-12px -18px -12px -12px!important;
    border-radius:18px!important;
    background:linear-gradient(90deg,rgba(8,12,18,.82) 0%,rgba(8,12,18,.68) 64%,rgba(8,12,18,.20) 90%,rgba(8,12,18,0) 100%)!important;
  }
}

/* FestOrbit v22.6.0 admin session management and fuzzy-search guidance. */
.session-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:13px 15px;margin:18px 0 12px;border:1px solid #eddcb9;border-radius:15px;background:#fff9ec}
.session-toolbar>label{display:flex;align-items:center;gap:7px;font-weight:750;white-space:nowrap}.session-safety-note{margin-left:auto;color:#746b60;font-size:.8rem}.session-table-wrap{border:1px solid #eee4d4;border-radius:16px;background:#fff}.session-admin-table{min-width:880px;margin:0}.session-admin-table thead th{position:sticky;top:0;z-index:1;background:#fbf8f2}.session-admin-table .check-col{width:38px}.session-admin-table td:first-child,.session-admin-table th:first-child{text-align:center}.session-admin-table td>small{display:block;margin-top:4px;max-width:290px;color:#80776c;overflow-wrap:anywhere}.session-admin-table .mode-label{display:block;margin-bottom:7px;font-weight:750}.session-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(74px,1fr));gap:6px}.session-summary-grid span{display:flex;flex-direction:column;gap:1px;padding:7px 8px;border:1px solid #eee4d4;border-radius:9px;background:#fffaf1;font-size:.72rem;color:#766d61}.session-summary-grid b{font-size:.96rem;color:#171717}.file-actions{white-space:nowrap}.file-actions a{display:inline-flex;margin-right:8px}.token-header-actions{display:grid;grid-template-columns:auto minmax(420px,1fr);gap:18px;align-items:end}.token-create-form{margin:0}.token-admin-table{min-width:940px}.token-admin-table td:nth-child(3),.token-admin-table td:nth-child(4),.token-admin-table td:nth-child(5){white-space:nowrap}.token-admin-table td:nth-child(2) small{display:block;color:#80776c;margin-top:3px}.search-help{display:block;margin-top:6px;color:#756d62;font-size:.78rem;font-weight:500}
@media(max-width:980px){.token-header-actions{grid-template-columns:1fr}.session-safety-note{width:100%;margin-left:0}.session-summary-grid{grid-template-columns:repeat(3,minmax(82px,1fr))}}
@media(max-width:600px){.session-toolbar .btn{width:100%}.session-toolbar>label{width:100%}.session-summary-grid{grid-template-columns:repeat(2,minmax(82px,1fr))}}

/* FestOrbit v22.6.0 admin editor and bulk-selection usability */
.admin-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-edit-grid .wide{grid-column:1/-1}.lock-field{display:flex!important;align-items:center;gap:8px;font-weight:600}.lock-field input{width:auto}.session-toolbar [disabled],.report-toolbar [disabled]{opacity:.45;cursor:not-allowed}.session-toolbar{flex-wrap:wrap}.session-admin-table .check-col,.token-admin-table .check-col{width:44px}.admin-profile-editor hr{border:0;border-top:1px solid #ddd;margin:20px 0}@media(max-width:760px){.admin-edit-grid{grid-template-columns:1fr}}
.admin-edit-field{display:flex;flex-direction:column;gap:7px;padding:12px;border:1px solid #eadfce;border-radius:13px;background:#fffdf9}.admin-edit-field>label:first-child{margin:0}.admin-edit-field small{color:#776f65}.admin-gallery-edit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:16px 0 22px}.admin-gallery-edit-item{display:flex!important;flex-direction:column;gap:8px;padding:9px;border:1px solid #e5ddcf;border-radius:12px;background:#fff}.admin-gallery-edit-item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;background:#f2eee8}.admin-gallery-edit-item span{display:flex;align-items:center;gap:7px;font-weight:700}.admin-gallery-edit-item input{width:auto}.admin-profile-editor textarea{resize:vertical}

/* FestOrbit v21.1.0 — refined festival search layout */
.festival-search-panel{
  grid-template-columns:minmax(300px,2.1fr) minmax(155px,.95fr) minmax(150px,.9fr) minmax(170px,1fr) minmax(160px,.95fr) minmax(210px,1.15fr);
  gap:16px 18px;
  align-items:end;
  padding:24px 26px;
}
.festival-search-panel .search-wide{min-width:0}
.festival-search-panel .search-help{display:block;min-height:34px;line-height:1.4;color:#6b7280}
.festival-search-panel>label:not(.search-wide){align-self:end}
.festival-search-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-self:end;min-width:210px}
.festival-search-actions .btn{width:100%;min-height:50px;justify-content:center;text-align:center;margin:0}
@media(max-width:1280px){
  .festival-search-panel{grid-template-columns:repeat(4,minmax(150px,1fr))}
  .festival-search-panel .search-wide{grid-column:1 / span 2}
  .festival-search-actions{grid-column:3 / -1}
}
@media(max-width:900px){
  .festival-search-panel{grid-template-columns:repeat(2,minmax(0,1fr))}
  .festival-search-panel .search-wide,.festival-search-actions{grid-column:1/-1}
}
@media(max-width:600px){
  .festival-search-panel{grid-template-columns:1fr;padding:18px}
  .festival-search-panel .search-wide,.festival-search-actions{grid-column:auto}
  .festival-search-actions{grid-template-columns:1fr}
  .festival-search-panel .search-help{min-height:0}
}


/* FestOrbit v21.3.1 admin navigation layout and viewport containment */
body.fo-admin-session{overflow-x:hidden;}
body.fo-admin-session .topbar,
body.fo-admin-session .adminbar{width:100%;max-width:100%;}
.adminbar.adminbar-pro{justify-content:flex-start;}
.admin-menu-dropdown{max-width:calc(100vw - 32px);}
.admin-menu-group:last-child .admin-menu-dropdown{left:auto;right:0;}
@media(min-width:901px){
  body.fo-admin-session .topbar{
    height:auto;
    min-height:84px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"brand toggle" "nav nav";
    align-items:center;
    padding:10px 24px 0;
    row-gap:0;
  }
  body.fo-admin-session .topbar .brand{grid-area:brand;width:max-content;max-width:100%;}
  body.fo-admin-session .topbar .menu-btn{grid-area:toggle;}
  body.fo-admin-session .topbar .nav{
    grid-area:nav;
    width:100%;
    min-width:0;
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-start;
    align-items:center;
    gap:7px 18px;
    padding:10px 0 12px;
    border-top:1px solid #eee7dc;
  }
  body.fo-admin-session .topbar .nav a{font-size:14px;line-height:1.25;}
  body.fo-admin-session .adminbar.adminbar-pro{padding-left:24px;padding-right:24px;}
}
@media(max-width:900px){
  body.fo-admin-session .topbar{overflow:visible;}
  body.fo-admin-session .adminbar.adminbar-pro{width:100%;overflow:visible;}
  .admin-menu-group:last-child .admin-menu-dropdown{left:0;right:auto;}
}


/* FestOrbit v21.4.0 — centered navigation, stable festival filters and admin RBAC UI */
html,body{max-width:100%;overflow-x:hidden}
body.fo-admin-session .topbar .nav{justify-content:center!important;gap:9px 24px!important;text-align:center}
body.fo-admin-session .topbar .nav a{font-size:16px!important;line-height:1.3!important;font-weight:850!important;white-space:nowrap}
body.fo-admin-session .topbar .brand{justify-self:start}
body.fo-admin-session .adminbar.adminbar-pro{display:flex;justify-content:center;align-items:center;gap:10px 16px;padding:12px 22px;overflow:visible}
.admin-session-label{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border-radius:999px;background:#111;color:#fff;font-size:12px;font-weight:900;letter-spacing:.03em;white-space:nowrap}
.adminbar.adminbar-pro>.adminbar-home,.adminbar.adminbar-pro summary{font-size:14px;font-weight:850}

.festival-search-panel{
  width:100%;max-width:100%;
  grid-template-columns:minmax(250px,2.2fr) minmax(120px,1fr) minmax(130px,1fr) minmax(145px,1.15fr) minmax(135px,1fr) minmax(190px,1.3fr)!important;
  gap:15px!important;padding:24px!important;align-items:end!important;overflow:hidden;
}
.festival-search-panel>*{min-width:0}
.festival-search-panel label{min-width:0}
.festival-search-panel input,.festival-search-panel select{display:block;width:100%;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis}
.festival-search-panel .search-wide{grid-column:auto!important}
.festival-search-panel .search-help{min-height:44px;margin-top:4px}
.festival-search-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;min-width:0!important;width:100%;grid-column:auto!important;align-self:end}
.festival-search-actions .btn{display:flex!important;align-items:center;justify-content:center;min-width:0;min-height:50px;padding:12px 14px;white-space:nowrap}
@media(max-width:1180px){
  .festival-search-panel{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .festival-search-panel .search-wide{grid-column:span 2!important}
  .festival-search-actions{grid-column:span 2!important}
}
@media(max-width:820px){
  body.fo-admin-session .topbar .nav a{font-size:15px!important}
  .festival-search-panel{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:18px!important}
  .festival-search-panel .search-wide,.festival-search-actions{grid-column:1/-1!important}
}
@media(max-width:560px){
  .festival-search-panel{grid-template-columns:1fr!important}
  .festival-search-panel .search-wide,.festival-search-actions{grid-column:auto!important}
  .festival-search-actions{grid-template-columns:1fr!important}
  .festival-search-panel .search-help{min-height:0}
}

.admin-access-layout{grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr)}
.admin-department-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 18px}
.admin-permission-card{display:flex!important;gap:11px;align-items:flex-start;padding:15px;border:1px solid #eadfca;border-radius:15px;background:#fffaf1;cursor:pointer}
.admin-permission-card input{width:auto;margin-top:4px;flex:none}
.admin-permission-card span,.admin-permission-card small{display:block}.admin-permission-card small{margin-top:4px;color:#6f675c;font-weight:500}
.admin-permission-details{border:1px solid #eadfca;border-radius:15px;padding:14px;margin-bottom:18px}.admin-permission-details summary{cursor:pointer;font-weight:850}
.admin-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 16px;margin-top:15px}.admin-permission-grid .check-row{margin:0}
.admin-account-table td{vertical-align:top}.admin-direct-action{border-color:#e8bd6d;background:#fff9ec}
@media(max-width:900px){.admin-access-layout,.admin-department-grid,.admin-permission-grid{grid-template-columns:1fr}}


/* FestOrbit v21.4.1 — authenticated navigation rows without changing the logged-out header */
body.fo-auth-session{max-width:100%;overflow-x:hidden}
body.fo-auth-session .topbar{width:100%;max-width:100%}
body.fo-auth-session .adminbar.rolebar{
  width:100%;max-width:100%;justify-content:center;align-items:center;
  gap:8px 10px;padding:11px 24px;overflow:visible;
}
body.fo-auth-session .adminbar.rolebar a{font-size:14px;padding:9px 14px}

@media(min-width:1281px){
  body.fo-auth-session .topbar{
    height:auto;min-height:0;display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"brand toggle" "nav nav";
    align-items:center;padding:10px 30px 0;row-gap:0;
  }
  body.fo-auth-session .topbar .brand{
    grid-area:brand;justify-self:start;width:max-content;max-width:100%;
  }
  body.fo-auth-session .topbar .menu-btn{grid-area:toggle;display:none}
  body.fo-auth-session .topbar .nav{
    grid-area:nav;display:flex;width:100%;min-width:0;
    justify-content:center!important;align-items:center;flex-wrap:nowrap;
    gap:clamp(10px,1.05vw,20px)!important;
    padding:10px 0 13px;border-top:1px solid #eee7dc;text-align:center;
  }
  body.fo-auth-session .topbar .nav a{
    flex:0 0 auto;font-size:clamp(12px,.82vw,16px)!important;
    line-height:1.25!important;font-weight:850!important;white-space:nowrap;
  }
}

@media(max-width:1280px){
  body.fo-auth-session .topbar{
    height:auto;min-height:76px;display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"brand toggle" "nav nav";
    align-items:center;padding:10px 18px;overflow:visible;
  }
  body.fo-auth-session .topbar .brand{grid-area:brand;justify-self:start}
  body.fo-auth-session .topbar .menu-btn{grid-area:toggle;display:block}
  body.fo-auth-session .topbar .nav{
    grid-area:nav;display:none;position:static;width:100%;min-width:0;
    margin-top:10px;padding:15px 16px;background:#fff;border:1px solid #eee;
    border-radius:16px;box-shadow:var(--shadow);flex-direction:column;
    align-items:center;justify-content:center;gap:10px!important;text-align:center;
  }
  body.fo-auth-session.nav-open .topbar .nav{display:flex}
  body.fo-auth-session .topbar .nav a{font-size:15px!important;line-height:1.3!important}
}

@media(max-width:900px){
  body.fo-auth-session .adminbar.rolebar{
    justify-content:center;flex-wrap:wrap;overflow:visible;padding:10px 12px;
  }
  body.fo-auth-session .adminbar.rolebar a{flex:0 0 auto}
}

@media(min-width:1500px){
  body.fo-role-festival .adminbar.rolebar-festival{
    flex-wrap:nowrap;gap:6px;padding-left:18px;padding-right:18px;
  }
  body.fo-role-festival .adminbar.rolebar-festival a{
    font-size:13px;padding:8px 10px;
  }
}

/* FestOrbit v21.5.0 — admin-only festival activity and outreach preparation */
.outreach-centre .card{overflow:visible}
.outreach-stats{grid-template-columns:repeat(6,minmax(130px,1fr));margin:18px 0}
.outreach-stats .stat{min-width:0}
.outreach-control-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:18px;margin-bottom:18px}
.outreach-control-grid>.card{margin:0}
.outreach-limit-form,.outreach-backfill-actions,.outreach-save-segment,.outreach-suppression-form{display:grid;gap:12px;align-items:end}
.outreach-limit-form{grid-template-columns:repeat(2,minmax(140px,1fr)) auto}
.outreach-backfill-actions{grid-template-columns:auto auto;justify-content:start}
.outreach-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:14px;align-items:end}
.outreach-filter-grid .wide{grid-column:span 2}
.outreach-filter-grid .check-field{min-height:50px;align-self:end}
.outreach-filter-actions{display:flex;flex-wrap:wrap;gap:10px;grid-column:1/-1}
.outreach-presets{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:14px 0 0;padding-top:14px;border-top:1px solid #eee4d4}
.outreach-presets a{display:inline-flex;padding:7px 11px;border:1px solid #e7d4ae;border-radius:999px;background:#fffaf1;font-weight:750}
.outreach-save-segment{grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr) auto}
.outreach-table{min-width:1180px}
.outreach-table td{vertical-align:top}
.outreach-table details{margin:0 0 8px}
.outreach-table summary{cursor:pointer;font-weight:800;color:#7a5318}
.outreach-mini-form{display:grid;gap:8px;min-width:240px;margin-top:8px;padding:10px;border:1px solid #eadfce;border-radius:12px;background:#fffaf1}
.outreach-mini-form input,.outreach-mini-form select{width:100%}
.outreach-suppression-form{grid-template-columns:minmax(200px,1fr) minmax(180px,.7fr) minmax(220px,1fr) minmax(240px,1.2fr) auto;margin-bottom:18px}
.outreach-permission-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:9px}
.outreach-permission-grid span{padding:11px 13px;border:1px solid #eadfce;border-radius:12px;background:#fffaf1;font-weight:750}
.directory-search-outreach{display:grid!important;grid-template-columns:minmax(260px,1.7fr) minmax(135px,.7fr) minmax(135px,.7fr) minmax(180px,.9fr) minmax(190px,.9fr);gap:14px!important;align-items:end!important}
.directory-search-outreach .directory-search-main{min-width:0}
.directory-search-outreach .directory-unknown-check{min-height:50px;margin:0;align-self:end}
.directory-search-outreach .directory-search-actions{display:flex;flex-wrap:wrap;gap:9px;grid-column:1/-1}
.directory-search-outreach input,.directory-search-outreach select{width:100%;max-width:100%}
@media(max-width:1200px){
  .outreach-stats{grid-template-columns:repeat(3,minmax(130px,1fr))}
  .outreach-filter-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}
  .outreach-permission-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}
  .directory-search-outreach{grid-template-columns:repeat(3,minmax(160px,1fr))}
  .directory-search-outreach .directory-search-main{grid-column:span 2}
}
@media(max-width:850px){
  .outreach-control-grid{grid-template-columns:1fr}
  .outreach-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .outreach-filter-grid .wide{grid-column:1/-1}
  .outreach-save-segment,.outreach-suppression-form{grid-template-columns:1fr}
  .directory-search-outreach{grid-template-columns:repeat(2,minmax(0,1fr))}
  .directory-search-outreach .directory-search-main{grid-column:1/-1}
}
@media(max-width:560px){
  .outreach-stats,.outreach-filter-grid,.outreach-limit-form,.outreach-permission-grid,.directory-search-outreach{grid-template-columns:1fr}
  .outreach-filter-grid .wide,.directory-search-outreach .directory-search-main{grid-column:auto}
  .outreach-backfill-actions{grid-template-columns:1fr}
  .outreach-filter-actions,.directory-search-outreach .directory-search-actions{flex-direction:column}
  .outreach-filter-actions .btn,.directory-search-outreach .directory-search-actions .btn{width:100%;justify-content:center}
}
.outreach-policy-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin:12px 0 16px}
.outreach-policy-grid>div{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid #eadfce;border-radius:14px;background:#fffaf1}
.outreach-policy-grid strong{font-size:1.55rem;color:#171717}.outreach-policy-grid span{color:#6f675c;font-weight:650}
.outreach-checkbox{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;min-height:50px;margin:0}.outreach-checkbox input{width:auto!important}
@media(max-width:850px){.outreach-policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.outreach-policy-grid{grid-template-columns:1fr}}
.admin-festival-activity-filter{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(135px,.65fr) minmax(135px,.65fr) minmax(180px,.9fr) minmax(170px,.8fr);gap:14px;align-items:end}
.admin-festival-activity-filter .check-field{min-height:50px;margin:0}.admin-festival-filter-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:9px}
@media(max-width:900px){.admin-festival-activity-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-festival-activity-filter>label:first-child{grid-column:1/-1}}
@media(max-width:560px){.admin-festival-activity-filter{grid-template-columns:1fr}.admin-festival-activity-filter>label:first-child{grid-column:auto}.admin-festival-filter-actions{flex-direction:column}.admin-festival-filter-actions .btn{width:100%;justify-content:center}}

/* FestOrbit v21.5.1 — Outreach Centre width, responsive result cards and explicit schema status */
.outreach-centre{
  width:100%;
  max-width:1680px;
  overflow:visible;
}
.outreach-centre .card,
.outreach-centre .table-wrap,
.outreach-centre .outreach-results-card{
  max-width:100%;
  min-width:0;
}
.outreach-schema-status{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin:0 0 18px;
  padding:16px 18px;
  border:1px solid;
  border-radius:16px;
  box-shadow:0 10px 28px rgba(15,23,42,.05);
}
.outreach-schema-status.is-ready{background:#ecfdf5;border-color:#bbf7d0;color:#065f46}
.outreach-schema-status.is-incomplete{background:#fff7ed;border-color:#fdba74;color:#9a3412}
.outreach-schema-icon{
  display:flex;
  flex:0 0 34px;
  width:34px;
  height:34px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:currentColor;
  color:#fff;
  font-size:20px;
  font-weight:900;
  line-height:1;
}
.outreach-schema-copy{display:flex;min-width:0;flex-direction:column;gap:3px}
.outreach-schema-copy strong{font-size:17px}
.outreach-schema-copy span,.outreach-schema-copy small{line-height:1.45}
.outreach-schema-copy code{overflow-wrap:anywhere}
.outreach-schema-copy details{margin-top:7px}
.outreach-schema-copy summary{cursor:pointer;font-weight:850}
.outreach-schema-details{margin-top:7px;overflow-wrap:anywhere}

.outreach-results-card{overflow:hidden!important}
.outreach-results-card .table-wrap{
  width:100%;
  overflow-x:auto;
  overflow-y:visible;
  scrollbar-gutter:stable;
  -webkit-overflow-scrolling:touch;
}
.outreach-table{
  width:100%;
  min-width:0!important;
  table-layout:fixed;
}
.outreach-table th,.outreach-table td{
  min-width:0;
  overflow-wrap:anywhere;
  word-break:normal;
}
.outreach-table th:nth-child(1){width:25%}
.outreach-table th:nth-child(2){width:15%}
.outreach-table th:nth-child(3){width:19%}
.outreach-table th:nth-child(4){width:10%}
.outreach-table th:nth-child(5){width:14%}
.outreach-table th:nth-child(6){width:17%}
.outreach-contact-cell{overflow-wrap:anywhere;word-break:break-word}
.outreach-actions-cell details{max-width:100%}
.outreach-mini-form{width:100%;min-width:0!important;max-width:100%}
.outreach-mini-form button{width:max-content;max-width:100%}
.outreach-centre .table td,.outreach-centre .table th{overflow-wrap:anywhere}

@media(max-width:1400px){
  .outreach-centre{max-width:100%;padding-left:18px;padding-right:18px}
  .outreach-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .outreach-control-grid{grid-template-columns:1fr}
}

/* Below wide-desktop size, results become readable cards rather than a clipped six-column table. */
@media(max-width:1100px){
  .outreach-results-card{padding:18px}
  .outreach-results-card .table-wrap{overflow:visible;border-radius:0}
  .outreach-table,.outreach-table tbody{display:block;width:100%;border:0;box-shadow:none;background:transparent}
  .outreach-table thead{display:none}
  .outreach-table tbody{display:grid;gap:14px}
  .outreach-table tr{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    min-width:0;
    overflow:hidden;
    border:1px solid #eadfce;
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 24px rgba(15,23,42,.05);
  }
  .outreach-table td{
    display:block;
    width:auto!important;
    min-width:0;
    padding:13px 15px;
    border:0;
    border-bottom:1px solid #f0e8dc;
    background:#fff;
  }
  .outreach-table td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:6px;
    color:#8a5a12;
    font-size:11px;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
  }
  .outreach-table td:first-child{
    grid-column:1/-1;
    background:#fffaf1;
    border-bottom:1px solid #eadfce;
  }
  .outreach-table td:last-child{
    grid-column:1/-1;
    border-bottom:0;
  }
  .outreach-table .outreach-empty-row{display:block;border:0;box-shadow:none}
  .outreach-table .outreach-empty-row td{display:block;border:0;padding:0}
  .outreach-table .outreach-empty-row td::before{display:none}
  .outreach-actions-cell details{display:inline-block;width:min(100%,360px);margin-right:12px;vertical-align:top}
  .outreach-actions-cell>form{display:inline-block;margin-top:8px}
}

@media(max-width:700px){
  .outreach-centre{padding:22px 12px}
  .outreach-table tr{grid-template-columns:1fr}
  .outreach-table td:first-child,.outreach-table td:last-child{grid-column:auto}
  .outreach-table td:last-child{border-bottom:0}
  .outreach-actions-cell details{display:block;width:100%;margin-right:0}
  .outreach-schema-status{padding:14px}
  .outreach-schema-icon{flex-basis:30px;width:30px;height:30px}
}

/* Clean browser/PDF printing: no clipped navigation or horizontally cropped outreach columns. */
@media print{
  @page{margin:10mm}
  .topbar,.adminbar,footer,.menu-btn{display:none!important}
  body,body.fo-auth-session{overflow:visible!important;background:#fff!important}
  .outreach-centre{max-width:none!important;width:100%!important;padding:0!important;margin:0!important}
  .outreach-centre .card{box-shadow:none!important;break-inside:auto}
  .outreach-filter-actions,.outreach-save-segment button,.outreach-backfill-actions,.outreach-suppression-form button{display:none!important}
  .outreach-results-card .table-wrap{overflow:visible!important}
  .outreach-table,.outreach-table tbody{display:block!important;width:100%!important;min-width:0!important;border:0!important;box-shadow:none!important}
  .outreach-table thead{display:none!important}
  .outreach-table tbody{display:grid!important;gap:8px!important}
  .outreach-table tr{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;border:1px solid #ddd!important;border-radius:10px!important;break-inside:avoid!important;overflow:hidden!important}
  .outreach-table td{display:block!important;width:auto!important;padding:8px 10px!important;border:0!important;border-bottom:1px solid #eee!important;overflow-wrap:anywhere!important}
  .outreach-table td::before{content:attr(data-label);display:block;margin-bottom:3px;font-size:9px;font-weight:900;text-transform:uppercase;color:#6b7280}
  .outreach-table td:first-child,.outreach-table td:last-child{grid-column:1/-1!important}
  .outreach-table td:last-child{border-bottom:0!important}
  .outreach-table details{display:none!important}
  .outreach-table .outreach-empty-row{display:block!important;border:0!important}
  .outreach-table .outreach-empty-row td::before{display:none!important}
  .outreach-schema-status,.outreach-stats,.outreach-control-grid,.outreach-filter-grid,.outreach-save-segment,.outreach-permission-grid{break-inside:avoid}
}

/* FestOrbit v21.6.0 talent memberships and controlled contact reveals */
.talent-pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:24px 0}.talent-plan-card{position:relative;display:flex;flex-direction:column;gap:12px}.talent-plan-card.featured{border:2px solid #b5822f;transform:translateY(-6px)}.talent-plan-card.enterprise{background:linear-gradient(145deg,#111827,#2d2518);color:#fff}.talent-plan-card.enterprise .muted{color:rgba(255,255,255,.74)}.plan-popular{position:absolute;right:18px;top:18px;padding:6px 10px;border-radius:999px;background:#111;color:#fff;font-size:11px;font-weight:900;text-transform:uppercase}.plan-price-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.plan-price-row>div{padding:12px;border:1px solid var(--line);border-radius:14px;background:#fafafa}.plan-price-row strong{display:block;font-size:21px}.plan-price-row span{display:block;color:var(--muted);font-size:12px}.plan-reveal-count{display:flex;align-items:baseline;gap:10px;padding:16px;border-radius:16px;background:#fff6e4}.talent-plan-card.enterprise .plan-reveal-count{background:rgba(255,255,255,.1)}.plan-reveal-count b{font-size:34px}.plan-reveal-count span{font-weight:800}.plan-action-stack{display:grid;gap:9px;margin-top:auto}.talent-listing-layout{align-items:start}.talent-membership-panel{position:sticky;top:98px}.listing-price-option{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.listing-price-option b{font-size:34px}.listing-price-option .btn{grid-column:1/-1;text-align:center}.talent-access-summary{display:grid;gap:3px;min-width:210px;padding:18px;border-radius:18px;background:rgba(255,255,255,.11);text-align:center}.talent-access-summary b{font-size:40px;line-height:1}.talent-access-summary span{color:rgba(255,255,255,.8);font-weight:800}.locked-contact-note{display:block;text-align:center;color:#71521e;font-size:13px;font-weight:850}.talent-contact-panel{margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:18px}.talent-contact-panel.is-locked{background:#fff8e9}.talent-contact-panel.is-unlocked{background:#f0faf4;border-color:#c7e7d2}.talent-contact-panel h3{margin:6px 0 10px}.contact-facts{margin-bottom:16px}.contact-facts a{color:inherit}.reveal-balance{display:flex;align-items:baseline;gap:7px}.reveal-balance b{font-size:30px}.contact-use-note{margin-top:14px;color:var(--muted);font-size:12px}.talent-privacy-promise{margin-top:26px}.talent-home-cta .grid.four{grid-template-columns:repeat(3,1fr)}
@media(max-width:1100px){.talent-pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.talent-plan-card.featured{transform:none}.talent-home-cta .grid.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.talent-pricing-grid,.plan-price-row,.talent-home-cta .grid.four{grid-template-columns:1fr}.talent-membership-panel{position:static}.talent-access-summary{width:100%}}

/* FestOrbit v21.7.0 Outreach Command Center — clean task-based layout */
.occ-shell{padding-top:28px;padding-bottom:56px}.occ-tabs{display:flex;gap:8px;overflow-x:auto;padding:8px;margin:0 0 22px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 28px rgba(17,24,39,.06)}.occ-tabs a{white-space:nowrap;padding:10px 13px;border-radius:10px;color:#38332b;font-size:13px;font-weight:850;text-decoration:none}.occ-tabs a:hover,.occ-tabs a.active{background:#111;color:#fff}.occ-preset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.occ-preset{display:flex;flex-direction:column;min-height:190px;text-decoration:none;color:inherit;transition:.18s ease}.occ-preset:hover,.occ-preset.selected{transform:translateY(-2px);border-color:#b5822f;box-shadow:0 15px 38px rgba(107,75,23,.13)}.occ-preset>strong{font-size:34px;line-height:1.05;margin:12px 0 4px}.occ-preset h2{font-size:18px;margin:4px 0}.occ-preset p{margin:auto 0 0;color:var(--muted)}.occ-summary{display:grid;grid-template-columns:auto auto;gap:2px 10px;align-items:baseline;padding:10px 14px;background:#fff8e8;border-radius:12px}.occ-summary b{font-size:20px;text-align:right}.occ-summary span{font-size:11px;text-transform:uppercase;font-weight:900;color:#72521d}.occ-filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0}.occ-filter-bar>input,.occ-filter-bar>select{min-width:155px;flex:1}.occ-more{flex-basis:100%;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fafafa}.occ-more summary{cursor:pointer;font-weight:850}.occ-more>div{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:12px}.occ-more label{font-size:12px;font-weight:800}.occ-batch-create{display:grid;grid-template-columns:minmax(230px,1.4fr) minmax(180px,1fr) minmax(180px,1fr) auto;gap:10px;align-items:center;padding:16px;margin:18px 0;background:#111;color:#fff;border-radius:16px}.occ-batch-create>div{display:grid;gap:3px}.occ-batch-create .muted{color:#d8d3ca}.occ-batch-create input{background:#fff}.occ-table td{vertical-align:top}.occ-campaign-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.occ-campaign-form label{display:grid;gap:6px;font-size:12px;font-weight:850}.occ-campaign-form button{align-self:end}.occ-stat-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px;margin:18px 0}.occ-stat-grid .card{padding:17px;text-align:center}.occ-stat-grid b{display:block;font-size:27px}.occ-stat-grid span{font-size:11px;text-transform:uppercase;font-weight:900;color:var(--muted)}.occ-campaign-control{display:flex;align-items:center;justify-content:space-between;gap:20px}.occ-campaign-control form{display:flex;flex-wrap:wrap;gap:8px}.occ-template{padding:15px 0;border-bottom:1px solid var(--line)}.occ-template:last-child{border:0}.occ-template .badge{margin-left:8px}.occ-email-preview{margin-top:10px;padding:15px;border:1px solid var(--line);border-radius:12px;background:#fff}.occ-call-list{display:grid;gap:14px}.occ-call-card{display:grid;grid-template-columns:minmax(240px,.8fr) 1.7fr;gap:24px;margin:0}.occ-call-card h2{margin:8px 0 2px}.occ-list-row{display:grid;gap:5px;padding:13px 0;border-bottom:1px solid var(--line)}.occ-list-row time{font-size:12px;color:var(--muted)}.occ-quick-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
@media(max-width:1100px){.occ-preset-grid{grid-template-columns:repeat(2,1fr)}.occ-more>div{grid-template-columns:repeat(3,1fr)}.occ-batch-create{grid-template-columns:1fr 1fr}.occ-batch-create>div{grid-column:1/-1}.occ-campaign-form{grid-template-columns:repeat(2,1fr)}.occ-stat-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:720px){.occ-preset-grid,.occ-more>div,.occ-batch-create,.occ-campaign-form,.occ-call-card{grid-template-columns:1fr}.occ-stat-grid{grid-template-columns:repeat(2,1fr)}.occ-summary{width:100%}.occ-campaign-control{align-items:flex-start;flex-direction:column}.occ-filter-bar>*{width:100%;flex-basis:100%}}
.occ-config-grid{align-items:start}.occ-config-grid>.card{min-width:0}.form-check-stack{display:grid;align-content:center;gap:10px;padding-top:24px}.form-check-stack label{display:flex;align-items:flex-start;gap:8px;font-size:13px;font-weight:750}.form-check-stack input{width:auto;margin-top:3px}.form-actions{display:flex;flex-wrap:wrap;gap:8px}.occ-campaign-wizard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.occ-campaign-wizard fieldset{min-width:0;margin:0;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.occ-campaign-wizard legend{display:flex;align-items:center;gap:8px;padding:0 8px;font-weight:900}.occ-campaign-wizard legend span{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:#111;color:#fff}.occ-campaign-wizard label{display:grid;gap:6px;margin:10px 0;font-size:12px;font-weight:850}.occ-campaign-wizard .review{display:flex;flex-direction:column;justify-content:center;background:#fff8e8}.occ-campaign-wizard .review .btn{align-self:flex-start}.occ-campaign-wizard select option:disabled{color:#9ca3af}
@media(max-width:800px){.occ-campaign-wizard{grid-template-columns:1fr}.form-check-stack{padding-top:0}}


/* FestOrbit v21.7.3 — contact alignment, plan separation and visibility controls */
.profile-fact-list>div{grid-template-columns:120px minmax(0,1fr)}
.profile-fact-list dd{min-width:0}
.talent-contact-panel .contact-facts>div{grid-template-columns:88px minmax(0,1fr);align-items:start}
.talent-contact-panel .contact-facts dd,.talent-contact-panel .contact-facts a{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word;line-height:1.45}
.talent-contact-panel .contact-facts a{display:inline;white-space:normal;font-size:14px}
.home-talent-plan-sections{display:grid;gap:22px}
.talent-hirer-price-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.talent-listing-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:900px}
.talent-hirer-price-grid>div,.talent-listing-price-grid>div{display:grid;gap:6px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}
.talent-hirer-price-grid b,.talent-listing-price-grid b{font-size:24px}
.talent-hirer-price-grid span,.talent-listing-price-grid span{color:var(--muted)}
.talent-listing-home-cta{background:linear-gradient(145deg,#fffaf0,#fff)}
.trust-visibility-setting{margin:22px 0}
.trust-visibility-setting .section-title{align-items:end}
.trust-visibility-select{min-width:220px}
@media(max-width:1000px){.talent-hirer-price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.talent-hirer-price-grid,.talent-listing-price-grid{grid-template-columns:1fr}.trust-visibility-setting .section-title{align-items:stretch}.trust-visibility-select{min-width:0}.talent-contact-panel .contact-facts>div{grid-template-columns:1fr;gap:5px}}

/* FestOrbit-native festival reviews */
.festival-review-summary{margin:.35rem 0 0}.festival-review-list{display:grid;gap:1rem;margin-top:1.25rem}.festival-review-card{border:1px solid rgba(0,0,0,.1);border-radius:14px;padding:1rem;background:#fff}.festival-reviewer{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.festival-reviewer img,.reviewer-avatar-fallback{width:52px;height:52px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:#111;color:#fff;font-weight:700}.festival-reviewer>div:nth-child(2){display:flex;flex-direction:column;min-width:180px}.festival-review-stars{margin-left:auto;color:#b5822f;font-size:1.15rem;letter-spacing:.08rem}.festival-review-stars span{color:#bbb}.festival-review-card>p{white-space:normal;margin:1rem 0}.festival-review-form textarea{min-height:180px}

/* FestOrbit v22 project-first filmography */
.profile-credit-card .credit-project-poster{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:10px;margin:0 0 12px;background:#f3f3f3}.grouped-project-credits{align-items:stretch}.profile-credit-card{overflow:hidden}
