/* conference.css — per-conference detail page (pairs with base.css) */

.cf-hero { background: linear-gradient(135deg, var(--nvy,#042C53), var(--nm,#185FA5)); color:#fff; }
.cf-hero-inn { max-width:1080px; margin:0 auto; padding:26px 20px 34px; }
.cf-back { background:none; border:none; color:rgba(255,255,255,.85); font-family:'Karla',sans-serif; font-size:13px; font-weight:600; cursor:pointer; padding:0; margin-bottom:18px; display:inline-flex; align-items:center; gap:7px; }
.cf-back:hover { color:#fff; }
.cf-cat { font-size:12px; font-weight:800; letter-spacing:1.5px; color:var(--amb,#EF9F27); text-transform:uppercase; margin-bottom:8px; min-height:14px; }
.cf-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(34px,5vw,52px); line-height:1.02; letter-spacing:.5px; margin:0 0 16px; font-weight:400; }
.cf-meta { display:flex; flex-wrap:wrap; gap:8px 22px; }
.cf-mi { font-size:14px; color:rgba(255,255,255,.92); display:inline-flex; align-items:center; gap:8px; }
.cf-mi i { color:var(--amb,#EF9F27); width:15px; text-align:center; }
.cf-mi.cf-warn { color:var(--amb,#EF9F27); }
.cf-vert { display:flex; gap:6px; margin-top:16px; flex-wrap:wrap; }
.cf-vert span { font-size:11px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; padding:3px 10px; border-radius:20px; background:rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.25); }

.cf-wrap { max-width:1080px; margin:0 auto; padding:26px 20px 60px; }
.cf-grid { display:grid; grid-template-columns:1fr 330px; gap:22px; align-items:start; }
@media (max-width:860px){ .cf-grid{ grid-template-columns:1fr; } }

.cf-card { background:#fff; border:1px solid var(--br,#e5e3dc); border-radius:var(--ra,10px); padding:20px 22px; margin-bottom:18px; }
.cf-card-t { font-family:'Bebas Neue',sans-serif; font-size:20px; letter-spacing:.5px; color:var(--nvy,#042C53); margin:0 0 14px; display:flex; align-items:center; gap:9px; font-weight:400; }
.cf-card-t i { color:var(--nm,#185FA5); font-size:15px; }

.cf-row { display:grid; grid-template-columns:150px 1fr; gap:6px 18px; padding:9px 0; border-bottom:1px solid var(--g10,#ececec); font-size:14px; align-items:baseline; }
.cf-row:last-child { border-bottom:none; }
@media (max-width:480px){ .cf-row{ grid-template-columns:1fr; } }
.cf-lbl { color:var(--tf,#888); font-weight:600; }
.cf-val { color:var(--tx,#1a1a1a); text-align:left; font-weight:600; }
.cf-val a { color:var(--nm,#185FA5); text-decoration:none; word-break:break-word; }
.cf-val a:hover { text-decoration:underline; }
.cf-notes { font-size:13px; color:var(--tm,#555); line-height:1.65; white-space:pre-wrap; }

.cf-act { background:#fff; border:1px solid var(--br,#e5e3dc); border-radius:var(--ra,10px); padding:18px 20px; margin-bottom:16px; }
.cf-act-t { font-size:12px; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:var(--tf,#888); margin-bottom:12px; }
.cf-act p { font-size:12px; color:var(--tm,#555); margin:0 0 10px; line-height:1.5; }
.cf-btn { display:block; width:100%; box-sizing:border-box; text-align:center; font-size:13px; font-weight:700; padding:11px 14px; border-radius:var(--rs,8px); border:1px solid var(--br,#e5e3dc); background:#fff; color:var(--nvy,#042C53); cursor:pointer; font-family:'Karla',sans-serif; margin-bottom:8px; text-decoration:none; }
.cf-btn:last-child { margin-bottom:0; }
.cf-btn.primary { background:var(--amb,#EF9F27); color:#412402; border-color:var(--amb,#EF9F27); }
.cf-btn:hover { filter:brightness(.97); }
.cf-input { width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid var(--br,#e5e3dc); border-radius:var(--rs,8px); font-family:'Karla',sans-serif; font-size:13px; margin-bottom:8px; }

.cf-state { text-align:center; padding:80px 20px; color:var(--tm,#555); font-size:15px; }
.cf-state i { font-size:26px; color:var(--nm,#185FA5); margin-bottom:12px; display:block; }
.cf-state h2 { font-family:'Bebas Neue',sans-serif; font-size:30px; color:var(--nvy,#042C53); margin:0 0 8px; letter-spacing:.5px; font-weight:400; }
.cf-state a { color:var(--nm,#185FA5); font-weight:700; text-decoration:none; }

/* Speakers & faculty */
.cf-spk-group { margin-bottom: 14px; }
.cf-spk-group:last-child { margin-bottom: 0; }
.cf-spk-gt { font-size: 11px; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; color: var(--tf,#888); margin-bottom: 8px; }
.cf-spk-gt span { color: var(--nm,#185FA5); }
.cf-spk { display: flex; align-items: center; gap: 11px; padding: 8px; border-radius: var(--rs,8px); text-decoration: none; color: inherit; }
.cf-spk:hover { background: var(--g50,#f6f5f1); }
.cf-spk-av { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex-shrink: 0; border: 1px solid var(--br,#e5e3dc); }
.cf-spk-ph { display: flex; align-items: center; justify-content: center; background: var(--nvy,#042C53); color: #fff; font-family: 'Bebas Neue', sans-serif; font-size: 18px; }
.cf-spk-meta { min-width: 0; }
.cf-spk-name { font-size: 14px; font-weight: 700; color: var(--tx,#1a1a1a); }
.cf-spk-cr { font-weight: 600; color: var(--tm,#555); font-size: 12px; }
.cf-spk-key { font-size: 9px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; background: var(--amb,#EF9F27); color: #412402; padding: 1px 6px; border-radius: 10px; margin-left: 4px; }
.cf-spk-sess { font-size: 12px; color: var(--tf,#888); font-style: italic; margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Tier-gated presentation */
#cf-logo-wrap { margin-bottom: 16px; }
.cf-logo { max-height: 90px; max-width: 260px; background: #fff; border-radius: var(--rs,8px); padding: 8px 12px; object-fit: contain; }
.cf-badges { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0 4px; }
.cf-badge { font-size: 11px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; padding: 4px 11px; border-radius: 20px; display: inline-flex; align-items: center; gap: 6px; }
.cf-bverified { background: rgba(255,255,255,.16); color: #fff; border: 1px solid rgba(255,255,255,.3); }
.cf-bfeatured { background: var(--amb,#EF9F27); color: #412402; }
.cf-cfp { border-left: 3px solid var(--amb,#EF9F27); }
.cf-cfp-lead { font-size: 13px; color: var(--tm,#555); line-height: 1.6; margin: 0 0 12px; }
.cf-promo { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.cf-promo img { width: 100%; height: 110px; object-fit: cover; border-radius: var(--rs,8px); border: 1px solid var(--br,#e5e3dc); }

/* Past-conference quick actions */
.cf-act-note { font-size: 12px; font-weight: 700; color: var(--tm,#555); background: var(--g50,#f6f5f1); border: 1px solid var(--br,#e5e3dc); border-radius: var(--rs,8px); padding: 9px 11px; margin-bottom: 12px; line-height: 1.45; display: flex; gap: 7px; align-items: flex-start; }
.cf-act-note i { color: var(--amb,#EF9F27); margin-top: 1px; }
.cf-btn.is-disabled { opacity: .45; pointer-events: none; cursor: default; }
.cf-act.is-disabled { opacity: .5; pointer-events: none; }

/* Official social pages (hero) */
.cf-social { display:flex; gap:8px; margin-top:14px; }
.cf-social a { width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.25); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:13px; transition:background .15s; }
.cf-social a:hover { background:var(--amb,#EF9F27); border-color:var(--amb,#EF9F27); color:#412402; }

/* Alternate / "AKA" descriptive name shown as a subtitle under the hero title */
.cf-aka { display: none; font-size: 1.05rem; font-weight: 500; line-height: 1.3; opacity: .85; margin: 2px 0 0; }
