:root{
  --hc-blue:#003F87;
  --hc-blue-dark:#062a52;
  --hc-red:#D4181C;
  --hc-gold:#F2B705;
  --hc-ink:#172033;
  --hc-muted:#667085;
  --hc-line:#e5e9f0;
}

body{
  background:#f4f6f9 !important;
  color:var(--hc-ink);
}

/* =========================================================
   DESKTOP EVENT PAGE
   ========================================================= */

.hc-event-v2{
  max-width:1380px;
  margin:0 auto;
  padding:28px 30px 60px;
}

.hc-event-v2 .breadcrumbs{
  margin-bottom:20px;
}

.hc-event-hero-grid{
  display:grid;
  grid-template-columns:minmax(360px, .78fr) minmax(0,1.22fr);
  gap:24px;
  align-items:start;
}

/* LEFT COLUMN */

.hc-event-left{
  min-width:0;
}

.hc-event-poster{
  background:#0b2a52;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 8px 26px rgba(17,37,66,.12);
}

.hc-event-poster img{
  display:block;
  width:100%;
  max-height:760px;
  object-fit:contain;
  margin:0 auto;
}

.hc-event-about{
  margin-top:18px;
  background:#fff;
  border:1px solid var(--hc-line);
  border-radius:18px;
  padding:22px;
  box-shadow:0 3px 12px rgba(20,45,80,.06);
}

.hc-event-about h2{
  margin:0 0 12px;
  font-size:18px;
  color:var(--hc-ink);
}

.hc-event-about-text{
  color:#475467;
  font-size:14px;
  line-height:1.7;
  white-space:pre-line;
}


/* RIGHT COLUMN */

.hc-event-right{
  display:flex;
  flex-direction:column;
  gap:18px;
  min-width:0;
}

.hc-event-info-card,
.hc-event-location-card,
.hc-event-share-card{
  background:#fff;
  border:1px solid var(--hc-line);
  border-radius:18px;
  box-shadow:0 3px 12px rgba(20,45,80,.06);
}

.hc-event-info-card{
  padding:30px;
}

.hc-event-kicker{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:#fff1f1;
  color:var(--hc-red);
  border-radius:999px;
  padding:7px 11px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.6px;
  text-transform:uppercase;
  margin-bottom:14px;
}

.hc-event-info-card h1{
  margin:0;
  font-size:38px;
  line-height:1.12;
  letter-spacing:-.7px;
  color:#082f63;
}

.hc-event-primary-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  margin-top:17px;
  padding-bottom:22px;
  border-bottom:1px solid #edf0f4;
}

.hc-event-meta-item{
  display:flex;
  align-items:center;
  gap:7px;
  color:#475467;
  font-size:13px;
  font-weight:700;
}

.hc-event-meta-item strong{
  color:var(--hc-red);
}

.hc-event-summary{
  margin-top:22px;
  color:#475467;
  font-size:15px;
  line-height:1.75;
}

.hc-event-facts{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:24px;
  padding-top:22px;
  border-top:1px solid #edf0f4;
}

.hc-event-fact{
  min-width:0;
  padding:14px;
  border-radius:12px;
  background:#f8fafc;
}

.hc-event-fact-icon{
  color:var(--hc-red);
  font-size:18px;
  margin-bottom:5px;
}

.hc-event-fact strong{
  display:block;
  font-size:12px;
  color:#10213d;
}

.hc-event-fact span{
  display:block;
  margin-top:3px;
  color:#667085;
  font-size:12px;
}

.hc-event-actions{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:10px;
  margin-top:25px;
}

.hc-event-rsvp{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  border-radius:11px;
  background:var(--hc-red);
  color:#fff;
  font-size:14px;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 6px 16px rgba(212,24,28,.22);
}

.hc-event-rsvp:hover{
  background:#b81418;
}

.hc-event-secondary{
  border:1px solid #dde3ec;
  background:#f8fafc;
  color:#10213d;
  border-radius:11px;
  min-height:50px;
  font-weight:800;
  font-size:13px;
  cursor:pointer;
}


/* LOCATION */

.hc-event-location-card{
  padding:22px;
}

.hc-event-location-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-bottom:14px;
}

.hc-event-location-title h2{
  margin:0;
  font-size:18px;
  color:#10213d;
}

.hc-event-parking{
  font-size:12px;
  font-weight:800;
  border-radius:999px;
  padding:5px 9px;
}

.hc-event-parking.yes{
  color:#147a42;
  background:#eaf8f0;
}

.hc-event-parking.no{
  color:#667085;
  background:#f2f4f7;
}

.hc-event-map{
  overflow:hidden;
  border:1px solid #e4e7ec;
  border-radius:14px;
}

.hc-event-map iframe{
  display:block;
  width:100%;
  height:310px;
  border:0;
}

.hc-event-directions{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
  margin-top:11px;
}

.hc-event-directions a{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:44px;
  border-radius:10px;
  text-decoration:none;
  font-size:12px;
  font-weight:800;
  background:#f2f4f7;
  color:#172033;
}

.hc-event-directions a:first-child{
  background:var(--hc-blue);
  color:#fff;
}


/* QR SHARE */

.hc-event-share-card{
  margin-top:24px;
  padding:22px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:25px;
}

.hc-event-share-copy h2{
  margin:0;
  font-size:18px;
  color:#10213d;
}

.hc-event-share-copy p{
  margin:5px 0 14px;
  color:#667085;
  font-size:13px;
}

.hc-event-share-copy button{
  border:0;
  border-radius:10px;
  background:var(--hc-blue);
  color:#fff;
  padding:11px 17px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}

#evQr{
  padding:8px !important;
  background:#fff;
}


/* Existing lower sections now use full desktop width */

.hc-event-v2 > .hc-match-going,
.hc-event-v2 > .related-events,
.hc-event-v2 > .links{
  max-width:none;
}

.hc-event-v2 .related-events{
  margin-top:24px;
}


/* =========================================================
   TABLET / MOBILE
   ========================================================= */

@media(max-width:900px){

  .hc-event-v2{
    max-width:680px;
    padding:20px 16px 45px;
  }

  .hc-event-hero-grid{
    grid-template-columns:1fr;
  }

  .hc-event-info-card{
    padding:22px;
  }

  .hc-event-info-card h1{
    font-size:29px;
  }

  .hc-event-facts{
    grid-template-columns:1fr 1fr;
  }

  .hc-event-actions{
    grid-template-columns:1fr;
  }

  .hc-event-map iframe{
    height:240px;
  }

  .hc-event-share-card{
    grid-template-columns:1fr;
    text-align:center;
  }

  #evQr{
    justify-self:center;
  }
}

@media(max-width:520px){

  .hc-event-v2{
    padding:16px 12px 38px;
  }

  .hc-event-info-card{
    padding:18px;
  }

  .hc-event-info-card h1{
    font-size:25px;
  }

  .hc-event-primary-meta{
    flex-direction:column;
    gap:8px;
  }

  .hc-event-facts{
    grid-template-columns:1fr;
  }

  .hc-event-directions{
    grid-template-columns:1fr;
  }

  .hc-event-poster{
    border-radius:13px;
  }
}


/* =========================================================
   SEE WHO'S GOING BANNER
   ========================================================= */

.hc-guest-banner{
  margin-top:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:17px 20px;
  border-radius:15px;
  background:linear-gradient(110deg,#062a52,#003F87);
  color:#fff;
  box-shadow:0 7px 20px rgba(0,63,135,.18);
}

.hc-guest-banner-left{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

.hc-guest-banner-icon{
  width:46px;
  height:46px;
  flex:0 0 46px;
  border-radius:13px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.12);
  font-size:22px;
}

.hc-guest-banner-title{
  font-size:16px;
  font-weight:900;
  line-height:1.2;
}

.hc-guest-banner-sub{
  margin-top:4px;
  color:rgba(255,255,255,.72);
  font-size:12px;
}

.hc-guest-banner-btn{
  flex:0 0 auto;
  min-width:175px;
  padding:11px 18px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.5);
  color:#fff;
  text-decoration:none;
  text-align:center;
  font-size:12px;
  font-weight:900;
  transition:.16s ease;
}

.hc-guest-banner-btn:hover{
  background:#fff;
  color:#003F87;
}

@media(max-width:650px){
  .hc-guest-banner{
    align-items:flex-start;
    flex-direction:column;
  }

  .hc-guest-banner-btn{
    width:100%;
  }
}


/* =========================================================
   RSVP GUEST LIST MODAL
   ========================================================= */

.hc-guest-banner-btn{
  appearance:none;
  cursor:pointer;
  font-family:inherit;
  background:transparent;
}

.hc-guest-modal{
  position:fixed;
  inset:0;
  z-index:10050;

  display:flex;
  align-items:center;
  justify-content:center;

  padding:28px;

  background:rgba(7,20,40,.66);
  backdrop-filter:blur(5px);
}

.hc-guest-dialog{
  width:min(620px,100%);
  max-height:min(720px,88vh);

  display:flex;
  flex-direction:column;

  overflow:hidden;

  background:#fff;

  border-radius:20px;

  box-shadow:
    0 30px 80px rgba(0,0,0,.30),
    0 5px 18px rgba(0,63,135,.12);
}

.hc-guest-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;

  padding:24px 26px 19px;

  border-bottom:1px solid #e8ecf2;
}

.hc-guest-modal-kicker{
  margin-bottom:3px;

  color:#D4181C;

  font-size:9px;
  font-weight:900;

  letter-spacing:.8px;
}

.hc-guest-modal-head h2{
  margin:0;

  color:#0b2f60;

  font-size:24px;
  line-height:1.2;
}

.hc-guest-count{
  margin-top:4px;

  color:#7a8494;

  font-size:12px;
}

.hc-guest-close{
  width:38px;
  height:38px;

  flex:0 0 38px;

  display:flex;
  align-items:center;
  justify-content:center;

  border:0;
  border-radius:50%;

  background:#f1f3f6;
  color:#475467;

  font-size:25px;
  line-height:1;

  cursor:pointer;
}

.hc-guest-close:hover{
  background:#e5e9ef;
}

.hc-guest-modal-body{
  overflow-y:auto;

  padding:8px 0 12px;

  overscroll-behavior:contain;
}

.hc-guest-loading{
  min-height:190px;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;

  color:#8a94a4;

  font-size:13px;
}

.hc-guest-loading i{
  color:#003F87;
  font-size:23px;
}

.hc-guest-person{
  display:flex;
  align-items:center;
  gap:13px;

  padding:13px 24px;

  color:inherit;
  text-decoration:none;

  border-bottom:1px solid #f0f2f5;

  transition:background .14s ease;
}

.hc-guest-person:last-child{
  border-bottom:0;
}

.hc-guest-person:hover{
  background:#f7f9fc;
}

.hc-guest-avatar,
.hc-guest-avatar-fallback{
  width:50px;
  height:50px;

  flex:0 0 50px;

  border-radius:50%;
}

.hc-guest-avatar{
  display:block;
  object-fit:cover;

  border:2px solid #fff;

  box-shadow:0 0 0 1px #dde4ee;
}

.hc-guest-avatar-fallback{
  display:flex;
  align-items:center;
  justify-content:center;

  background:linear-gradient(135deg,#003F87,#0b63ce);

  color:#fff;

  font-size:17px;
  font-weight:900;
}

.hc-guest-person-info{
  flex:1;
  min-width:0;
}

.hc-guest-person-name{
  overflow:hidden;

  color:#172033;

  font-size:14px;
  font-weight:800;

  white-space:nowrap;
  text-overflow:ellipsis;
}

.hc-guest-person-user{
  margin-top:2px;

  overflow:hidden;

  color:#8a94a4;

  font-size:11px;

  white-space:nowrap;
  text-overflow:ellipsis;
}

.hc-guest-person-action{
  display:flex;
  align-items:center;
  gap:7px;

  flex:0 0 auto;

  color:#003F87;

  font-size:11px;
  font-weight:800;
}

.hc-guest-person-action i{
  font-size:9px;
}

.hc-guest-empty{
  min-height:240px;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  padding:30px;

  text-align:center;
}

.hc-guest-empty-icon{
  margin-bottom:8px;

  font-size:38px;
}

.hc-guest-empty h3{
  margin:0;

  color:#172033;

  font-size:18px;
}

.hc-guest-empty p{
  max-width:330px;

  margin:6px 0 0;

  color:#7a8494;

  font-size:12px;
}

.hc-guest-empty-rsvp{
  margin-top:17px;

  padding:10px 18px;

  border-radius:9px;

  background:#D4181C;
  color:#fff;

  text-decoration:none;

  font-size:12px;
  font-weight:800;
}


/* MOBILE — bottom-sheet style */
@media(max-width:600px){

  .hc-guest-modal{
    align-items:flex-end;

    padding:0;
  }

  .hc-guest-dialog{
    width:100%;
    max-height:82vh;

    border-radius:20px 20px 0 0;
  }

  .hc-guest-modal-head{
    padding:19px 18px 16px;
  }

  .hc-guest-modal-head h2{
    font-size:20px;
  }

  .hc-guest-person{
    padding:12px 17px;
  }

  .hc-guest-person-action{
    font-size:0;
  }

  .hc-guest-person-action i{
    font-size:11px;
  }
}


/* =========================================================
   EVENT DETAIL — SHARED HEADER SINGLE ROW FIX
   logo | nav | search | actions
   ========================================================= */

.hc-event-detail-page .hc-header{
  display:grid !important;

  grid-template-columns:
    auto
    minmax(0,1fr)
    minmax(180px,260px)
    auto !important;

  grid-template-areas:
    "logo nav search actions" !important;

  align-items:center !important;

  column-gap:16px !important;

  width:100% !important;
}


/* LOGO */

.hc-event-detail-page .hc-header .hc-logo{
  grid-area:logo !important;

  min-width:max-content;
}


/* NAVIGATION */

.hc-event-detail-page .hc-header .hc-header-nav{
  grid-area:nav !important;

  position:static !important;

  left:auto !important;
  transform:none !important;

  width:100% !important;
  min-width:0 !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  gap:clamp(10px,1.4vw,28px) !important;

  overflow:hidden;
}


/* SEARCH */

.hc-event-detail-page .hc-header .hc-header-search{
  grid-area:search !important;

  width:100% !important;
  min-width:0 !important;

  margin:0 !important;

  justify-self:stretch !important;
}


/* BELL / MESSAGES / PROFILE */

.hc-event-detail-page .hc-header .hc-header-right{
  grid-area:actions !important;

  display:flex !important;
  align-items:center !important;

  flex-wrap:nowrap !important;

  gap:10px !important;

  min-width:max-content !important;

  justify-self:end !important;

  white-space:nowrap !important;
}


/* Smaller desktop */

@media(max-width:1280px){

  .hc-event-detail-page .hc-header{
    grid-template-columns:
      auto
      minmax(0,1fr)
      190px
      auto !important;

    column-gap:10px !important;
  }

  .hc-event-detail-page .hc-header .hc-header-nav{
    gap:8px !important;
  }

  .hc-event-detail-page .hc-header .hc-nav-icon{
    min-width:38px !important;
    width:38px !important;
  }

  .hc-event-detail-page .hc-header .hc-nav-label{
    font-size:8px !important;
  }
}


/* Compact laptop */

@media(max-width:1100px){

  .hc-event-detail-page .hc-header{
    grid-template-columns:
      auto
      minmax(0,1fr)
      165px
      auto !important;
  }

  .hc-event-detail-page .hc-header .hc-nav-label{
    display:none !important;
  }
}


/* Search disappears before anything wraps */

@media(max-width:950px){

  .hc-event-detail-page .hc-header{
    grid-template-columns:
      auto
      minmax(0,1fr)
      auto !important;

    grid-template-areas:
      "logo nav actions" !important;
  }

  .hc-event-detail-page .hc-header .hc-header-search{
    display:none !important;
  }
}
