
.pb-hof-wrap{--blue:#004c89;--gold:#f5c242;max-width:1060px;margin:0 auto;padding:8px 10px 64px;font-family:Arial,Helvetica,sans-serif;color:#171717;text-align:center}
.pb-hof-wrap *{box-sizing:border-box}.pb-hof-wrap a{text-decoration:none}
.pb-hof-hero{padding:34px 20px 30px;border-radius:18px;background:linear-gradient(145deg,#003a68,#004c89 62%,#002b4d);color:#fff;box-shadow:0 10px 26px rgba(0,0,0,.14)}
.pb-hof-kicker{font-size:10px;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}.pb-hof-kicker.dark{color:var(--blue)}
.pb-hof-hero h1{margin:6px 0 8px!important;color:#fff!important;font-size:clamp(34px,7vw,60px)!important;line-height:1!important;text-align:center!important}
.pb-hof-established{display:inline-block;padding:6px 12px;border:1px solid rgba(255,255,255,.4);border-radius:999px;font-size:10px;font-weight:900}
.pb-hof-hero p{max-width:650px;margin:14px auto 0;font-size:15px}
.pb-hof-intro{padding:32px 10px 18px}.pb-hof-intro h2,.pb-hof-map-section h2,.pb-hof-nominate h2{margin:4px 0 7px!important;text-align:center!important}.pb-hof-intro h2{font-size:34px!important}
.pb-hof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.pb-hof-card{overflow:hidden;border-radius:18px;background:#fff;border:1px solid #e6e6e6;box-shadow:0 9px 26px rgba(0,0,0,.11);border-top:5px solid var(--local-secondary)}
.pb-hof-image{position:relative;height:255px;overflow:hidden;background:#222}.pb-hof-image img{width:100%;height:100%;object-fit:cover;display:block}.pb-hof-image:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.88),rgba(0,0,0,.06) 70%)}
.pb-hof-year{position:absolute;z-index:2;top:14px;left:14px;padding:7px 11px;border-radius:999px;background:var(--local-primary);color:#fff;font-size:10px;font-weight:900;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.pb-hof-name{position:absolute;z-index:2;left:14px;right:14px;bottom:15px;color:#fff}.pb-hof-name span{color:var(--local-secondary);font-size:9px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase}.pb-hof-name h3{margin:2px 0 0!important;color:#fff!important;font-size:27px!important;line-height:1.05!important;text-align:center!important}
.pb-hof-cardbody{padding:16px 17px 19px}.pb-hof-victory-year{font-size:32px;line-height:1;font-weight:1000;color:var(--local-primary);letter-spacing:-1px}.pb-hof-place{margin-top:4px;color:#555;font-size:10px;font-weight:900;letter-spacing:.8px;text-transform:uppercase}
.pb-hof-visit{display:inline-block;margin-top:12px;padding:9px 15px;border-radius:999px;background:var(--local-primary);color:#fff!important;font-size:10px;font-weight:900}.pb-hof-follow{margin:13px 0 7px;color:#777;font-size:9px;font-weight:900;letter-spacing:1px}
.pb-hof-socials{display:flex;justify-content:center;gap:10px}.pb-hof-social{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 11px rgba(0,0,0,.13)}.pb-hof-social svg{width:20px;height:20px;fill:#fff}.pb-facebook{background:#1877f2}.pb-instagram{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045)}
.pb-hof-map-section{margin-top:48px}.pb-hof-map-section>p{max-width:680px;margin:0 auto 18px;color:#666}
.pb-hof-region-map{position:relative;height:440px;border-radius:20px;overflow:hidden;background:linear-gradient(115deg,#eef1e8 0 49%,#dfe9ec 49% 53%,#eef3ec 53%);border:1px solid #d9dfd6;box-shadow:0 9px 26px rgba(0,0,0,.1)}
.pb-map-water{position:absolute;left:48%;top:-10%;width:7%;height:120%;background:#b9dbe8;transform:rotate(8deg);opacity:.85}.pb-map-state{position:absolute;font-size:12px;font-weight:900;letter-spacing:2px;color:rgba(0,0,0,.22)}.pb-map-pa{left:13%;top:12%}.pb-map-nj{right:10%;top:18%}.pb-map-city-label{position:absolute;left:49%;top:59%;transform:translate(-50%,-50%);font-size:10px;font-weight:900;color:#004c89;letter-spacing:1px}
.pb-map-pin{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;max-width:120px;color:#111!important;text-align:center}.pb-map-pin:before{content:"";width:18px;height:18px;border-radius:50% 50% 50% 0;background:var(--pin);transform:rotate(-45deg);border:3px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.3)}.pb-map-pin span{margin-top:4px;padding:2px 5px;border-radius:7px;background:#fff;font-size:9px;font-weight:1000;color:var(--pin)}.pb-map-pin strong{margin-top:2px;padding:2px 4px;background:rgba(255,255,255,.88);border-radius:4px;font-size:9px;line-height:1.1}
.pb-hof-nominate{margin-top:36px;padding:36px 20px;border:2px solid var(--gold);border-radius:18px;background:#fbf8f1}.pb-hof-nominate p{max-width:700px;margin:0 auto 20px;color:#555}.pb-hof-success{max-width:700px;margin:0 auto 16px;padding:11px;border-radius:9px;background:#e8f7eb;color:#176b2f;font-weight:800}
.pb-hof-form{max-width:760px;margin:auto}.pb-hof-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pb-hof-form label{text-align:left}.pb-hof-form label span{display:block;margin-bottom:4px;font-size:10px;font-weight:900;color:#444}.pb-hof-form input,.pb-hof-form textarea{width:100%;padding:11px;border:1px solid #ccc;border-radius:9px;font:inherit}.pb-hof-form .pb-full{grid-column:1/-1}.pb-hof-form button{margin-top:16px;padding:12px 19px;border:0;border-radius:999px;background:var(--blue);color:#fff;font-weight:900}
@media(max-width:720px){.pb-hof-wrap{padding-left:5px;padding-right:5px}.pb-hof-hero{padding:28px 14px}.pb-hof-grid,.pb-hof-form-grid{grid-template-columns:1fr}.pb-hof-form .pb-full{grid-column:auto}.pb-hof-image{height:230px}.pb-hof-card{border-radius:16px}.pb-hof-region-map{height:500px}.pb-map-pin strong{font-size:8px;max-width:88px}.pb-hof-nominate{padding:30px 13px}}


/* ===== v1.4.2 REVIEW + FACEBOOK FIX ===== */
.pb-hof-cardbody{
  color:#171717!important;
  background:#fff!important;
}
.pb-hof-victory-year{
  color:var(--local-primary)!important;
  font-size:34px!important;
  font-weight:900!important;
}
.pb-hof-place{
  color:#444!important;
  font-weight:800!important;
}
.pb-hof-google-review{
  margin:16px auto 14px;
  padding:16px 16px 14px;
  max-width:460px;
  background:#f7f7f7;
  border:1px solid #dedede;
  border-left:5px solid #4285f4;
  border-radius:12px;
  text-align:left;
  box-shadow:0 3px 10px rgba(0,0,0,.06);
}
.pb-hof-google-review-head{
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:9px;
}
.pb-hof-google-g{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:25px;
  height:25px;
  border-radius:50%;
  background:#fff;
  border:1px solid #d8d8d8;
  color:#4285f4;
  font-size:15px;
  font-weight:900;
}
.pb-hof-stars{
  color:#fbbc04;
  letter-spacing:1px;
  font-size:14px;
}
.pb-hof-google-review-head strong{
  color:#333;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.6px;
}
.pb-hof-google-review blockquote{
  margin:0!important;
  padding:0!important;
  border:0!important;
  color:#1f1f1f!important;
  font-size:15px!important;
  line-height:1.48!important;
  font-style:italic;
  font-weight:600;
}
.pb-hof-reviewer{
  margin-top:8px;
  color:#666;
  font-size:11px;
  font-weight:800;
}
.pb-hof-visit{
  margin-top:12px!important;
}
.pb-hof-social{
  position:relative;
  z-index:3;
}
.pb-hof-social.pb-facebook{
  background:#1877f2!important;
}
@media(max-width:720px){
  .pb-hof-google-review{
    margin-top:14px;
    padding:14px;
  }
  .pb-hof-google-review blockquote{
    font-size:14px!important;
  }
}


/* ===== v1.4.3 VERIFIED SOCIALS + VISIT BUTTON CONTRAST ===== */
.pb-hof-visit,
.pb-hof-wrap a.pb-hof-visit{
  display:inline-block!important;
  margin-top:14px!important;
  padding:12px 20px!important;
  background:#071c31!important;
  color:#ffffff!important;
  border:2px solid #d8a83d!important;
  border-radius:999px!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.6px!important;
  text-transform:uppercase!important;
  box-shadow:0 5px 14px rgba(0,0,0,.18)!important;
  text-decoration:none!important;
}
.pb-hof-visit:hover,
.pb-hof-wrap a.pb-hof-visit:hover{
  background:#004c89!important;
  color:#ffffff!important;
  border-color:#f5c242!important;
}
.pb-hof-follow{
  color:#555!important;
  font-weight:900!important;
}
.pb-hof-socials{
  position:relative;
  z-index:4;
}
.pb-hof-social{
  cursor:pointer!important;
  pointer-events:auto!important;
}
.pb-hof-social.pb-facebook{background:#1877f2!important}
.pb-hof-social.pb-instagram{
  background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045)!important;
}


/* ===== v1.4.6 SAFE INTERACTIVE MAP — NO EXTERNAL LIBRARIES ===== */
.pb-hof-map-section{margin-top:54px!important}
.pb-hof-map-section>p{max-width:720px;margin:0 auto 18px!important;color:#555!important}
.pb-safe-map-shell{position:relative}
.pb-safe-map-toolbar{display:flex;justify-content:flex-end;gap:7px;margin-bottom:8px}
.pb-safe-map-toolbar button{
  min-width:42px;height:38px;padding:0 11px;border:2px solid #d8a83d;
  border-radius:9px;background:#071c31;color:#fff;font-size:20px;
  font-weight:900;cursor:pointer
}
.pb-safe-map-toolbar .pb-safe-reset{font-size:11px;letter-spacing:.5px}
.pb-safe-map{
  position:relative;height:470px;overflow:hidden;border:3px solid #d8a83d;
  border-radius:18px;background:#dfe9ec;box-shadow:0 12px 30px rgba(0,0,0,.14);
  touch-action:none;cursor:grab
}
.pb-safe-map:active{cursor:grabbing}
.pb-safe-map-stage{
  position:absolute;inset:0;transform-origin:center center;
  transition:transform .12s ease-out;
  background:linear-gradient(112deg,#eef1e8 0 50%,#dbe9ee 50% 55%,#eef3ec 55%);
}
.pb-safe-land{position:absolute;font-size:13px;font-weight:900;letter-spacing:2px;color:rgba(0,0,0,.20)}
.pb-safe-pa{left:12%;top:12%}.pb-safe-nj{right:9%;top:14%}
.pb-safe-river{position:absolute;left:53%;top:-12%;width:7%;height:125%;background:#afd4e2;transform:rotate(8deg);opacity:.85}
.pb-safe-city{position:absolute;left:56%;top:63%;font-size:10px;font-weight:900;letter-spacing:1px;color:#004c89}
.pb-safe-pin{
  position:absolute;transform:translate(-50%,-50%);width:32px;height:32px;
  border-radius:50% 50% 50% 0;transform-origin:center;
  background:var(--pin);border:3px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.28);
  cursor:pointer;rotate:-45deg;z-index:4
}
.pb-safe-pin span{
  display:flex;align-items:center;justify-content:center;width:100%;height:100%;
  color:#fff;font-size:8px;font-weight:900;rotate:45deg
}
.pb-safe-pin:hover,.pb-safe-pin:focus{outline:3px solid #f5c242;outline-offset:3px}
.pb-safe-map-card{
  margin:12px auto 0;max-width:520px;padding:15px 17px;border-radius:12px;
  background:#fff;border:1px solid #ddd;border-left:5px solid #d8a83d;
  box-shadow:0 5px 15px rgba(0,0,0,.08);text-align:left;color:#222
}
.pb-safe-map-card .pb-safe-card-year{color:#a51e22;font-size:10px;font-weight:900;letter-spacing:.8px}
.pb-safe-map-card strong{display:block;margin:3px 0 5px;color:#071c31;font-size:17px}
.pb-safe-map-card a{display:inline-block;margin:9px 14px 0 0;color:#004c89!important;font-weight:800;text-decoration:none!important}
.pb-safe-map-card a:hover{text-decoration:underline!important}
@media(max-width:720px){.pb-safe-map{height:430px}.pb-safe-map-toolbar{justify-content:center}}


/* ===== v1.4.7 TRUE STREET MAP ===== */
.pb-hof-real-map{
  width:100%;
  height:500px;
  margin-top:14px;
  border:3px solid #d8a83d;
  border-radius:18px;
  overflow:hidden;
  background:#e7ecef;
  box-shadow:0 12px 30px rgba(0,0,0,.14);
  text-align:left;
}
.pb-hof-map-legend{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:18px;
  margin:14px auto 4px;
  font-size:12px;
  font-weight:800;
  color:#333;
}
.pb-hof-map-legend span{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.pb-legend-city,
.pb-legend-outside{
  display:inline-block;
  width:20px;
  height:20px;
}
.pb-legend-city{
  border-radius:50%;
  background:#0057a8;
  border:3px solid #fff;
  box-shadow:0 0 0 1px #0057a8;
}
.pb-legend-outside{
  background:#d8a83d;
  border:3px solid #fff;
  box-shadow:0 0 0 1px #9a6f13;
  transform:rotate(45deg);
}
.pb-map-div-icon{
  background:transparent!important;
  border:0!important;
}
.pb-map-marker{
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:3px solid #fff;
  box-shadow:0 4px 12px rgba(0,0,0,.35);
  font-family:Arial,Helvetica,sans-serif;
}
.pb-map-marker span{
  color:#fff;
  font-size:9px;
  font-weight:900;
}
.pb-map-marker-city{
  border-radius:50%;
  background:#0057a8;
}
.pb-map-marker-outside{
  background:#d8a83d;
  border-color:#fff;
  transform:rotate(45deg);
}
.pb-map-marker-outside span{
  transform:rotate(-45deg);
  color:#071c31;
}
.pb-real-popup{
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.4;
  color:#222;
  min-width:220px;
}
.pb-real-popup-year{
  color:#a51e22;
  font-size:10px;
  font-weight:900;
  letter-spacing:.8px;
}
.pb-real-popup strong{
  display:block;
  margin:3px 0 5px;
  color:#071c31;
  font-size:16px;
}
.pb-real-popup-place{
  margin-bottom:4px;
  color:#444;
  font-size:12px;
}
.pb-real-popup-type{
  margin-bottom:8px;
  color:#666;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.5px;
}
.pb-real-popup a{
  display:block;
  margin-top:6px;
  color:#004c89!important;
  font-weight:800;
  font-size:12px;
  text-decoration:none!important;
}
.pb-real-popup a:hover{
  text-decoration:underline!important;
}
.pb-hof-map-note{
  margin-top:6px;
  color:#777;
  font-size:9px;
}
.pb-hof-map-error{
  padding:30px;
  text-align:center;
  color:#333;
}
@media(max-width:720px){
  .pb-hof-real-map{height:430px}
}


/* ===== v1.4.8 NOMINATION FORM FIX ===== */
.pb-hof-nominate{
  margin-top:42px!important;
  padding:40px 22px!important;
  background:#fbf8f1!important;
  border:3px solid #d8a83d!important;
  border-radius:18px!important;
  box-shadow:0 10px 24px rgba(0,0,0,.08)!important;
}
.pb-hof-nominate>p{
  max-width:760px;
  margin:0 auto 22px!important;
  color:#444!important;
  line-height:1.55!important;
}
.pb-hof-form{
  position:relative;
  z-index:3;
  max-width:780px!important;
  margin:0 auto!important;
}
.pb-hof-form input,
.pb-hof-form textarea{
  display:block!important;
  width:100%!important;
  padding:12px!important;
  background:#fff!important;
  color:#171717!important;
  border:2px solid #c8c8c8!important;
  border-radius:9px!important;
  pointer-events:auto!important;
}
.pb-hof-form input:focus,
.pb-hof-form textarea:focus{
  border-color:#004c89!important;
  outline:3px solid rgba(0,76,137,.15)!important;
}
.pb-hof-submit-button{
  display:inline-block!important;
  position:relative!important;
  z-index:5!important;
  margin:20px auto 0!important;
  padding:15px 25px!important;
  min-height:50px!important;
  background:#a51e22!important;
  color:#fff!important;
  border:3px solid #d8a83d!important;
  border-radius:999px!important;
  box-shadow:0 6px 16px rgba(0,0,0,.2)!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.7px!important;
  cursor:pointer!important;
  pointer-events:auto!important;
}
.pb-hof-submit-button:hover,
.pb-hof-submit-button:focus{
  background:#071c31!important;
}
.pb-hof-form-message{
  max-width:760px;
  margin:0 auto 18px;
  padding:13px 16px;
  border-radius:10px;
  font-size:14px;
  font-weight:800;
}
.pb-hof-form-success{
  background:#e9f7ed;
  border:1px solid #9ed4aa;
  color:#176b2f;
}
.pb-hof-form-error{
  background:#fff0f0;
  border:1px solid #e4abab;
  color:#8b1d1d;
}
.pb-hof-form-note{
  margin:12px auto 0!important;
  color:#777!important;
  font-size:10px!important;
}
.pb-hof-honeypot{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
@media(max-width:720px){
  .pb-hof-submit-button{width:100%!important}
}


/* v1.5.1 Champions Hero - forced theme override */
.pb-hof-champions-wrapper .pb-hof-champions-hero{
    text-align:center!important;
    max-width:900px!important;
    margin:0 auto 35px!important;
}
.pb-hof-champions-wrapper .pb-hof-champions-hero h2{
    text-align:center!important;
    font-size:34px!important;
    line-height:1.2!important;
    font-weight:950!important;
    color:#071c31!important;
}
.pb-hof-champions-wrapper .pb-hof-champions-hero h3{
    text-align:center!important;
    color:#a51e22!important;
    font-size:22px!important;
}
.pb-hof-champions-wrapper .pb-hof-champions-hero p{
    text-align:center!important;
    max-width:700px!important;
    margin:15px auto!important;
    font-size:17px!important;
}
.pb-hof-champions-intro{
    max-width:850px;
    margin:30px auto;
    padding:30px;
    text-align:center;
    background:#fbf8f1;
    border-top:5px solid #d8a83d;
    border-bottom:5px solid #d8a83d;
    border-radius:16px;
}
.pb-hof-vote-banner{
    display:inline-block;
    margin-top:18px;
    padding:14px 22px;
    background:#071c31;
    color:#fff;
    border-radius:999px;
    font-weight:900;
}

/* v1.5.2 Champions Page */
.pb-hof-champions-page .pb-hof-champions-hero{
 text-align:center!important;max-width:900px!important;margin:0 auto 35px!important;
}
.pb-hof-champions-page .pb-hof-champions-hero h2{
 text-align:center!important;font-size:34px!important;line-height:1.2!important;font-weight:950!important;color:#071c31!important;
}
.pb-hof-champions-page .pb-hof-champions-hero h3{
 text-align:center!important;color:#a51e22!important;
}
.pb-hof-champions-page .pb-hof-champions-hero p{text-align:center!important;}
.pb-hof-champions-intro{
 max-width:850px;margin:30px auto;padding:30px;text-align:center;background:#fbf8f1;border-top:5px solid #d8a83d;border-bottom:5px solid #d8a83d;border-radius:16px;
}
.pb-hof-vote-banner{display:inline-block;background:#071c31;color:#fff;padding:14px 22px;border-radius:999px;font-weight:900;}


/* ===== v1.5.3 HALL OF CHAMPIONS CHILD PAGE FIX ===== */
.pb-hof-champions-page,
.pb-hof-champions-page .pb-hof-champions-hero,
.pb-hof-champions-page .pb-hof-champions-intro{
  text-align:center!important;
}

.pb-hof-champions-page .pb-hof-champions-main-title,
.pb-hof-champions-page h2.pb-hof-champions-main-title{
  display:block!important;
  width:100%!important;
  margin:0 auto 10px!important;
  padding:0!important;
  text-align:center!important;
  font-size:32px!important;
  line-height:1.18!important;
  font-weight:900!important;
  letter-spacing:1.4px!important;
  color:#071c31!important;
}

.pb-hof-champions-page .pb-hof-champions-subtitle{
  display:block!important;
  margin:0 auto 14px!important;
  text-align:center!important;
  color:#a51e22!important;
  font-size:18px!important;
  line-height:1.35!important;
  font-weight:900!important;
}

.pb-hof-champions-page .pb-hof-champions-hero{
  max-width:900px!important;
  margin:0 auto 30px!important;
  padding:22px 18px!important;
}

.pb-hof-champions-page .pb-hof-champions-hero p{
  max-width:720px!important;
  margin:0 auto!important;
  text-align:center!important;
  color:#444!important;
  font-size:16px!important;
  line-height:1.55!important;
}

.pb-hof-champions-page .pb-hof-champions-intro{
  max-width:860px!important;
  margin:0 auto 38px!important;
  padding:30px 24px!important;
  background:#fbf8f1!important;
  border-top:5px solid #d8a83d!important;
  border-bottom:5px solid #d8a83d!important;
  border-radius:16px!important;
}

.pb-hof-champions-page .pb-hof-champions-intro h2{
  margin:0 0 14px!important;
  text-align:center!important;
  color:#071c31!important;
  font-size:27px!important;
  font-weight:900!important;
}

.pb-hof-champions-page .pb-hof-champions-intro p{
  max-width:760px!important;
  margin:0 auto 13px!important;
  text-align:center!important;
  color:#333!important;
  font-size:15px!important;
  line-height:1.6!important;
}

.pb-hof-champions-page .pb-hof-vote-banner{
  display:inline-block!important;
  margin:12px auto 0!important;
  padding:13px 20px!important;
  background:#071c31!important;
  color:#fff!important;
  border:2px solid #d8a83d!important;
  border-radius:999px!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.7px!important;
  text-align:center!important;
}

@media(max-width:720px){
  .pb-hof-champions-page .pb-hof-champions-main-title,
  .pb-hof-champions-page h2.pb-hof-champions-main-title{
    font-size:27px!important;
  }
  .pb-hof-champions-page .pb-hof-champions-subtitle{
    font-size:16px!important;
  }
  .pb-hof-champions-page .pb-hof-vote-banner{
    border-radius:14px!important;
  }
}
