/* BOAGS exhibitors page — V15 cleanup (2026-07-24). Page-specific styles only;
 * shared nav/footer/buttons/typography/etc live in css/global.css. */

.btn-nav-cta:hover { background:#E2B007; }

.sec-pad { padding:3rem 1rem; }

.sec-pad-sm { padding:3.75rem 2rem; }

.sec-sky { background:#EBF4FF; }

.btn-amber { background:#F2820D; color:#0E1116; font-family:'Inter',sans-serif; font-size:1.0625rem; font-weight:700; padding:1rem 2.5rem; border-radius:2px; text-decoration:none; border:none; cursor:pointer; letter-spacing:0.05em; text-transform:uppercase; display:inline-block; box-shadow:0 2px 12px rgba(242,130,13,0.22); transition:background 0.15s,transform 0.12s; }

.btn-amber:hover { background:#E2B007; transform:translateY(-2px); }

.btn-amber-hero { background:#F2820D; color:#0E1116; font-family:'Inter',sans-serif; font-size:1.1875rem; font-weight:700; padding:1.25rem 3rem; border-radius:2px; text-decoration:none; border:none; cursor:pointer; letter-spacing:0.05em; text-transform:uppercase; display:inline-block; box-shadow:0 4px 24px rgba(242,130,13,0.30); transition:background 0.15s,transform 0.12s; }

.btn-amber-hero:hover { background:#E2B007; transform:translateY(-2px); }

.hero-section { position:relative; min-height:60vh; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; padding-top:120px; }

.hero-bg picture, .hero-bg img { width:100%; height:100%; object-fit:cover; object-position:center 38%; }

.hero-content { position:relative; z-index:2; max-width:1400px; margin:0 auto; padding:4rem 2rem 5rem; width:100%; }

.hero-h1 { font-family:'Oswald',sans-serif; font-weight:700; font-size:clamp(2.5rem,5.5vw,4.25rem); line-height:1.10; color:#E8EAED; margin:1rem 0; letter-spacing:-0.01em; }

.hero-sub { font-family:'Inter',sans-serif; font-size:clamp(1.1875rem,2.4vw,1.4375rem); font-weight:400; color:rgba(232,234,237,0.80); line-height:1.80; margin-bottom:0; }

.hero-badge { display:inline-flex; align-items:center; gap:0.5rem; background:rgba(242,130,13,0.18); border:1px solid rgba(242,130,13,0.55); border-radius:2px; padding:0.4rem 1rem; font-family:'Inter',sans-serif; font-size:1rem; font-weight:700; letter-spacing:0.10em; text-transform:uppercase; color:rgba(255,255,255,0.95); margin-bottom:1.5rem; }

.marquee-section { background:#1B3A5C; border-top:2px solid rgba(242,130,13,0.80); border-bottom:2px solid rgba(242,130,13,0.80); padding:1.0625rem 0; overflow:hidden; }

.marquee-track { display:flex; gap:0; animation:marquee-scroll 38s linear infinite; will-change:transform; }

.marquee-track:hover { animation-play-state:paused; }

@keyframes marquee-scroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }

.marquee-item { font-family:'Oswald',sans-serif; font-weight:500; font-size:1.25rem; color:rgba(232,234,237,0.65); white-space:nowrap; padding:0 2.25rem; letter-spacing:0.05em; }

.marquee-sep { color:#F2820D; padding:0 0.2rem; }

.exhibitors-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:0.75rem; margin-bottom:2rem; }

.ex-tile { background:#FFFFFF; border:1px solid #D0DBE8; border-radius:4px; height:76px; display:flex; align-items:center; justify-content:center; padding:0.5rem 1rem; text-align:center; font-family:'Inter',sans-serif; font-size:0.8125rem; font-weight:600; color:rgba(13,31,45,0.70); transition:background 0.18s,color 0.18s,border-color 0.18s; }

.ex-tile:hover { background:#FBF4EC; color:#F2820D; border-color:rgba(242,130,13,0.35); }

.attend-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:1.25rem; }

@media(min-width:600px) { .attend-grid { grid-template-columns:1fr 1fr; } }

@media(min-width:960px) { .attend-grid { grid-template-columns:repeat(3,1fr); } }

.attend-card { background:#FFFFFF; border:1px solid #D0DBE8; box-shadow:0 2px 12px rgba(27,58,92,0.08); border-radius:4px; padding:1.75rem; position:relative; overflow:hidden; transition:border-color 0.2s,transform 0.2s,box-shadow 0.2s; }

.attend-card:hover { border-color:rgba(242,130,13,0.40); transform:translateY(-3px); box-shadow:0 12px 32px rgba(27,58,92,0.12); }

.attend-card::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:#F2820D; opacity:0; transition:opacity 0.2s; }

.attend-card:hover::before { opacity:1; }

.attend-icon { width:42px; height:42px; border-radius:50%; background:rgba(242,130,13,0.12); border:1.5px solid rgba(242,130,13,0.32); display:flex; align-items:center; justify-content:center; margin-bottom:1.125rem; }

.attend-title { font-family:'Oswald',sans-serif; font-weight:600; font-size:1.375rem; color:#1B3A5C; letter-spacing:0.01em; margin-bottom:0.5rem; display:block; }

.attend-body { font-family:'Inter',sans-serif; font-size:1.125rem; color:rgba(13,31,45,0.70); line-height:1.75; }

.fastlane-band { background:#F5F6F7; padding:3rem 1rem; position:relative; overflow:hidden; }

.fastlane-band::after { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:#F2820D; }

.fastlane-inner { display:grid; grid-template-columns:minmax(0,1fr); gap:3rem; }

@media(min-width:960px) { .fastlane-inner { grid-template-columns:5fr 4fr; gap:5rem; } }

.fastlane-heading { font-family:'Oswald',sans-serif; font-weight:700; font-size:clamp(2rem,4.5vw,3.25rem); line-height:1.04; color:#14181D; margin-bottom:1rem; letter-spacing:-0.01em; }

.fastlane-heading strong { color:#F2820D; }

.fastlane-body { font-family:'Inter',sans-serif; font-size:1.25rem; color:rgba(20,24,29,0.70); line-height:1.85; margin-bottom:1.75rem; }

.fastlane-pill { font-family:'Inter',sans-serif; font-size:0.875rem; font-weight:700; letter-spacing:0.07em; text-transform:uppercase; padding:0.3rem 0.75rem; border-radius:2px; border:1.5px solid rgba(242,130,13,0.40); color:#F2820D; display:inline-block; margin:0.25rem 0.25rem 0 0; }

.fl-card { background:#fff; border:1px solid rgba(20,24,29,0.08); border-radius:5px; padding:1.375rem 1.5rem; display:flex; align-items:flex-start; gap:1.125rem; box-shadow:0 2px 16px rgba(0,0,0,0.06); transition:box-shadow 0.2s,transform 0.2s; margin-bottom:1rem; }

.fl-card:hover { box-shadow:0 8px 32px rgba(0,0,0,0.10); transform:translateY(-3px); }

.fl-card-icon { width:44px; height:44px; border-radius:50%; background:rgba(242,130,13,0.10); border:1.5px solid rgba(242,130,13,0.28); display:flex; align-items:center; justify-content:center; flex-shrink:0; }

.fl-card-icon svg { width:20px; height:20px; stroke:#F2820D; fill:none; }

.fl-card-head { font-family:'Inter',sans-serif; font-size:1.1875rem; font-weight:700; color:#14181D; margin-bottom:0.375rem; }

.fl-card-body { font-family:'Inter',sans-serif; font-size:1.0625rem; color:rgba(20,24,29,0.60); line-height:1.65; }

footer { background:#1B3A5C; border-top:3px solid #F2820D; padding:4rem 2rem 2.25rem; }

/* === Exhibitor page visual rework === */

.exhibit-split { display:grid; grid-template-columns:minmax(0,1fr); }

@media(min-width:960px) { .exhibit-split { grid-template-columns:5fr 6fr; min-height:600px; } }

.exhibit-photo { position:relative; overflow:hidden; min-height:320px; }

.exhibit-photo picture, .exhibit-photo img { width:100%; height:100%; object-fit:cover; display:block; object-position:center 40%; }

.exhibit-content { padding:3rem 1rem; display:flex; flex-direction:column; justify-content:center; }

@media(min-width:960px) { .exhibit-content { padding:5rem 4.5rem; } }

.exhibit-list { list-style:none; margin:2rem 0 0; padding:0; }

.exhibit-item { display:flex; align-items:flex-start; gap:1.125rem; padding:1.125rem 0; border-bottom:1px solid rgba(27,58,92,0.10); }

.exhibit-item:last-child { border-bottom:none; padding-bottom:0; }

.exhibit-icon { width:38px; height:38px; min-width:38px; border-radius:50%; background:rgba(242,130,13,0.10); border:1.5px solid rgba(242,130,13,0.28); display:flex; align-items:center; justify-content:center; margin-top:2px; }

.exhibit-title { font-family:'Oswald',sans-serif; font-weight:600; font-size:1.1875rem; color:#1B3A5C; display:block; margin-bottom:0.2rem; line-height:1.2; }

.exhibit-body { font-family:'Inter',sans-serif; font-size:1.0625rem; color:rgba(13,31,45,0.65); line-height:1.65; margin:0; }

/* Stats photo band */

.stats-photo-band { position:relative; overflow:hidden; min-height:300px; display:flex; align-items:center; }

.stats-photo-band picture { position:absolute; inset:0; width:100%; height:100%; }

.stats-photo-band picture img { width:100%; height:100%; object-fit:cover; object-position:center 45%; display:block; }

.stats-photo-overlay { position:absolute; inset:0; background:rgba(8,18,32,0.74); }

.stats-photo-inner { position:relative; z-index:2; max-width:1400px; margin:0 auto; padding:5rem 2rem; width:100%; display:grid; grid-template-columns:minmax(0,1fr); gap:3rem; }

@media(min-width:600px) { .stats-photo-inner { grid-template-columns:repeat(3,1fr); gap:2rem; } }

.stat-item { display:flex; flex-direction:column; align-items:center; text-align:center; }

.stat-num { font-family:'Oswald',sans-serif; font-weight:700; font-size:clamp(3.5rem,8vw,5.5rem); color:#F2820D; line-height:1; letter-spacing:-0.02em; }

.stat-label { font-family:'Inter',sans-serif; font-size:1.0625rem; font-weight:500; color:rgba(232,234,237,0.78); margin-top:0.625rem; letter-spacing:0.06em; text-transform:uppercase; }

/* Room split */

.room-split { display:grid; grid-template-columns:minmax(0,1fr); gap:3.5rem; align-items:center; }

@media(min-width:960px) { .room-split { grid-template-columns:5fr 4fr; gap:5rem; } }

.room-photo { border-radius:8px; overflow:hidden; position:relative; min-height:300px; box-shadow:0 24px 72px rgba(0,0,0,0.32); }

@media(min-width:960px) { .room-photo { min-height:480px; } }

.room-photo img { width:100%; height:100%; object-fit:cover; display:block; }

.room-tags { display:flex; flex-wrap:wrap; gap:0.625rem; margin-top:2rem; }

.room-tag { font-family:'Inter',sans-serif; font-size:1rem; font-weight:600; color:rgba(232,234,237,0.90); background:rgba(255,255,255,0.09); border:1px solid rgba(255,255,255,0.22); border-radius:2px; padding:0.5rem 1rem; }

/* Program ads pricing list */

.program-ads-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:1px; background:rgba(27,58,92,0.12); border-radius:4px; overflow:hidden; border:1px solid rgba(27,58,92,0.12); margin-bottom:2.5rem; }

@media(min-width:640px) { .program-ads-grid { grid-template-columns:repeat(4,1fr); } }

.program-ad-item { background:#FFFFFF; padding:1.75rem 1.5rem; text-align:center; transition:background 0.18s; }

.program-ad-item:hover { background:#FBF4EC; }

.program-ad-size { font-family:'Oswald',sans-serif; font-weight:700; font-size:1.5rem; color:#1B3A5C; display:block; margin-bottom:0.375rem; }

.program-ad-desc { font-family:'Inter',sans-serif; font-size:1rem; color:rgba(13,31,45,0.60); line-height:1.55; }

.program-ad-bar { height:4px; background:#F2820D; border-radius:2px; margin:0 auto 1rem; }

.dir-filter {
    font-family:'Inter',sans-serif; font-size:0.9375rem; font-weight:600;
    padding:0.5rem 1.125rem; border-radius:2px; border:1.5px solid #D0DBE8;
    background:#FFFFFF; color:rgba(13,31,45,0.65); cursor:pointer;
    transition:background 0.15s,border-color 0.15s,color 0.15s;
    letter-spacing:0.02em;
  }
  .dir-filter:hover { border-color:#F2820D; color:#F2820D; }
  .dir-filter.active { background:#1B3A5C; border-color:#1B3A5C; color:#FFFFFF; }
  .dir-filter-count { font-size:0.8125rem; opacity:0.7; margin-left:0.25rem; }
  .dir-card {
    background:#FFFFFF; border:1px solid #D0DBE8; border-radius:5px;
    padding:1.125rem 1.375rem; transition:border-color 0.18s,box-shadow 0.18s,transform 0.18s;
    cursor:default; position:relative;
  }
  .dir-card:hover { border-color:rgba(242,130,13,0.45); box-shadow:0 4px 20px rgba(27,58,92,0.10); transform:translateY(-2px); }
  .dir-card::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:#F2820D; border-radius:3px 0 0 3px; opacity:0; transition:opacity 0.18s; }
  .dir-card:hover::before { opacity:1; }
  .dir-card-cat { font-family:'Inter',sans-serif; font-size:0.75rem; font-weight:700; letter-spacing:0.10em; text-transform:uppercase; color:#F2820D; margin-bottom:0.375rem; }
  .dir-card-name { font-family:'Inter',sans-serif; font-size:1.125rem; font-weight:600; color:#14181D; line-height:1.3; }
  .dir-card-booth { font-family:'Inter',sans-serif; font-size:0.875rem; font-weight:600; color:rgba(13,31,45,0.45); margin-top:0.375rem; }
  .dir-card.hidden { display:none; }
  #dir-search:focus { border-color:rgba(242,130,13,0.65); box-shadow:0 0 0 3px rgba(242,130,13,0.12); outline:none; }
