/*
Theme Name: Mississippi River Challenge
Author: Mississippi River Challenge
Description: Custom Mississippi River Challenge website theme.
Version: 2.1.5
Text Domain: mississippi-river-challenge
*/

:root{--navy:#06131d;--navy2:#0a2538;--panel:#0d2e43;--blue:#32b9ff;--blue2:#0b77c7;--white:#fff;--muted:#b8d7e7;--line:#1e536f}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#06131d 0%,#09293d 55%,#06131d 100%);color:white;font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
.shell{max-width:1180px;margin:auto;padding:12px}
.nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;background:#081f2e;border:1px solid var(--line);border-radius:14px;padding:10px;position:sticky;top:0;z-index:20}
.nav button{border:0;border-radius:9px;padding:10px 14px;background:#123d56;color:#fff;font-weight:850;cursor:pointer}
.nav button.active{background:var(--blue);color:#032033}
.view{display:none} .view.active{display:block}
.hero{margin-top:14px;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:
radial-gradient(circle at 50% 0%,rgba(50,185,255,.17),transparent 34%),
linear-gradient(160deg,#0c3952,#071823 72%);padding:36px 26px 24px}
.source{text-align:center;text-transform:uppercase;color:#65ceff;font-size:clamp(23px,4vw,40px);font-weight:950;letter-spacing:.08em}
.title{text-align:center;text-transform:uppercase;color:#31b7ff;font-size:clamp(38px,6vw,70px);font-weight:950;line-height:.96;margin-top:18px}
.sub{text-align:center;color:#e1f5ff;font-size:clamp(17px,2vw,23px);font-weight:800;margin:14px 0}
.presented{text-align:center;color:#65ceff;font-weight:950;letter-spacing:.17em;text-transform:uppercase;font-size:20px;margin-top:20px}
.logo-wrap{width:min(324px,82vw);margin:10px auto 24px;background:#F8D94A;border-radius:12px;padding:8px 20px}
.logo-wrap img{width:100%;max-height:100px;object-fit:contain;display:block}
.cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:26px auto 0;
  max-width:760px;
}
.feature{min-height:260px;background:linear-gradient(180deg,#113d56,#0a283a);border:1px solid #28617c;border-radius:16px;padding:20px;display:flex;flex-direction:column;justify-content:center;text-align:center}
.feature h2{font-size:clamp(24px,2.5vw,34px);line-height:1.04;text-transform:uppercase;margin:0 0 12px}
.feature p{color:#d8edf7;line-height:1.45}
.btn{background:#1198f5;color:white;border:0;border-radius:9px;padding:12px 18px;font-weight:950;text-transform:uppercase;cursor:pointer}
.page{padding-top:14px}
.card{background:linear-gradient(180deg,#0f334a,#0a2435);border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:14px}
.card h1{color:#4bc3ff;margin-top:0;text-align:center}
.grid{display:grid;grid-template-columns:1.3fr .7fr;gap:14px}
.guess-row{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;align-items:center;margin:9px 0}
input{width:100%;padding:11px;border-radius:9px;border:1px solid #34657f;background:#061823;color:white}
table{width:100%;border-collapse:collapse} th,td{padding:10px;border-bottom:1px solid #215069;text-align:left} th{color:#a9d8ef;font-size:12px;text-transform:uppercase}
.social{display:grid;grid-template-columns:150px 1fr;gap:15px;background:#071d2b;border:1px solid var(--line);border-radius:14px;padding:13px;margin:12px 0}
.thumb{height:110px;border-radius:10px;background:linear-gradient(135deg,#1a516e,#0b2b3f);display:flex;align-items:center;justify-content:center;font-size:38px}
.platform{display:inline-block;background:#174862;padding:4px 9px;border-radius:999px;color:#dff6ff;font-size:12px;font-weight:850}
.map{height:430px;border-radius:15px;border:1px solid var(--line);background:
radial-gradient(circle at center,rgba(50,185,255,.12),transparent 45%),
repeating-linear-gradient(0deg,#0c2a3c 0,#0c2a3c 1px,transparent 1px,transparent 32px),
repeating-linear-gradient(90deg,#0c2a3c 0,#0c2a3c 1px,transparent 1px,transparent 32px),#071a27;
display:flex;align-items:center;justify-content:center;color:#b6d7e7;font-size:24px}
.sponsors{margin-top:18px;background:white;color:#0b2940;border-radius:14px;padding:14px 18px;text-align:center}
.sponsor-label{font-size:12px;font-weight:950;letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px}
.sponsor-row{display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap}
.sponsor-row img{max-height:58px;max-width:230px;object-fit:contain}
.sponsor-row img:nth-child(3){max-height:232px;max-width:920px}
.placeholder{font-weight:900;border:1px dashed #86a9ba;border-radius:8px;padding:10px 18px;color:#57798b}
.hash{text-align:center;color:#98bfd1;padding:14px;font-weight:700}
@media(max-width:850px){.cards,.grid{grid-template-columns:1fr} .guess-row{grid-template-columns:1fr} .social{grid-template-columns:1fr}}

.mrc-global-sponsors{clear:both;}


/* Keep Plano, Clam, and Power-Pole on equal visual centers.
   This makes Clam centered between Plano and Power-Pole. */
.mrc-primary-sponsor-slot{
  width:220px;
  min-width:220px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.mrc-primary-sponsor-slot img{
  display:block;
  margin-left:auto;
  margin-right:auto;
}
@media(max-width:750px){
  .mrc-primary-sponsor-slot{
    width:180px;
    min-width:180px;
  }
}

.sponsor-row img[alt="Bass Pro Shops"]{margin-left:32px!important;margin-right:32px!important;}


/* Sponsor banner refinements */
.sponsors{
  background:#eaf6ff !important;
}

/* Bottom sponsor row: Lowrance + American Sport Fish + Ultimate Angler + Precision Sonar */
.sponsor-row{
  justify-content:center;
}

.sponsor-row img[alt="Lowrance"],
.sponsor-row img[alt="American Sport Fish"],
.sponsor-row img[alt="Ultimate Angler"],
.sponsor-row img[alt="Precision Sonar"]{
  margin-left:24px !important;
  margin-right:24px !important;
}

/* Keep the four lower-row sponsors visually balanced across the row. */
@media(min-width:751px){
  .sponsor-row img[alt="Lowrance"],
  .sponsor-row img[alt="American Sport Fish"],
  .sponsor-row img[alt="Ultimate Angler"],
  .sponsor-row img[alt="Precision Sonar"]{
    flex:0 0 auto;
  }
}

/* Slightly darker sponsor blue and balanced top/bottom breathing room */
.sponsors{
  background:#d7edfa !important;
  padding-top:24px !important;
  padding-bottom:24px !important;
}

/* Power-Pole Boat ETA checkpoint list: approximately 3pt larger */
.eta-checkpoints{
  font-size:calc(1em + 3pt) !important;
}

/* Power-Pole Boat ETA checkpoint winners table */
.eta-winners-wrap{
  overflow-x:auto;
  margin:14px 0 24px;
}
.eta-winners{
  width:100%;
  border-collapse:collapse;
  font-size:1rem;
}
.eta-winners th,
.eta-winners td{
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.18);
  text-align:left;
  vertical-align:top;
}
.eta-winners th{
  font-weight:800;
}

/* Actual Boat ETA page fixes */
.eta-point-row{
  display:flex;
  align-items:baseline;
  gap:18px;
  margin:8px 0;
}
.eta-point-value{
  min-width:90px;
  font-weight:800;
}
.eta-point-desc{
  display:inline-block;
}
.eta-winners-wrap{
  overflow-x:auto;
}
.eta-winners{
  width:100%;
  border-collapse:collapse;
}
.eta-winners th,
.eta-winners td{
  padding:10px 12px;
  text-align:left;
  vertical-align:top;
  border:1px solid rgba(0,0,0,.15);
}
#eta .guess-row label{
  font-size:calc(1em + 3pt);
}


/* Boat ETA top Power-Pole logo only — half size and centered */
#eta .mrc-eta-top-logo{
  width:100% !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
}
#eta .mrc-eta-top-logo img{
  width:170px !important;
  max-width:50% !important;
  height:auto !important;
  display:block !important;
  margin:0 auto !important;
  flex:none !important;
}

/* Boat ETA top Power-Pole logo only — 4x previous theme size, centered */
#eta .mrc-eta-top-logo{
  width:100% !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  background:transparent !important;
}
#eta .mrc-eta-top-logo img{
  width:min(680px,90vw) !important;
  max-width:680px !important;
  height:auto !important;
  display:block !important;
  margin:0 auto !important;
  background:transparent !important;
}

/* Boat ETA top Power-Pole logo only — 2x current size and centered */
#eta .mrc-eta-top-logo{
  width:100% !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
}
#eta .mrc-eta-top-logo img{
  width:min(1360px,96vw) !important;
  max-width:1360px !important;
  height:auto !important;
  display:block !important;
  margin:0 auto !important;
  flex:none !important;
}

/* Boat ETA top Power-Pole logo only — 50% smaller, still centered */
#eta .mrc-eta-top-logo img{
  width:min(680px,48vw) !important;
  max-width:680px !important;
  height:auto !important;
  display:block !important;
  margin:0 auto !important;
}

/* Admin-only journal entry button in the top website navigation */
.nav .admin-entry-btn{
  border:0;
  border-radius:9px;
  padding:10px 14px;
  background:#f6c94a;
  color:#06131d;
  font-weight:950;
  text-decoration:none;
  text-transform:uppercase;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.nav .admin-entry-btn:hover{filter:brightness(1.05)}

/* Contact line below sponsor logos on every page */
.mrc-contact-us{
  text-align:center;
  padding:14px 16px 18px;
  font-size:1rem;
}
.mrc-contact-us a{
  color:inherit;
  font-weight:800;
  text-decoration:underline;
  overflow-wrap:anywhere;
}

/* Rebuilt from existing HTML source */
.feature h2 { color:#fff !important; }



/* Clam Outdoors — desktop/web only: true 70% size. Mobile unchanged. */
@media (min-width: 751px) {
  .mrc-primary-sponsor-slot img[alt="Clam"] {
    width: 70% !important;
    max-width: 70% !important;
    height: auto !important;
    transform: none !important;
  }
}

/* Homepage Mississippi River Challenge route poster */
.mrc-home-route-poster{
  margin:22px auto 28px;
  text-align:center;
}
.mrc-home-route-poster img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  margin:0 auto;
}
@media (min-width:751px){
  .mrc-home-route-poster{
    width:30% !important;
    max-width:30% !important;
  }
}
@media (max-width:750px){
  .mrc-home-route-poster{
    width:50% !important;
    max-width:50% !important;
    margin:18px auto 24px;
  }
}

/* Live location map below homepage route image */
.mrc-live-location-wrap{
  width:min(900px,92%);
  margin:0 auto 30px;
}
.mrc-live-location-card{
  background:#fff;
  border:1px solid #d7e3ea;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 4px 18px rgba(0,0,0,.08);
}
.mrc-live-location-card h3{
  margin:0;
  padding:14px 16px 6px;
  text-align:center;
}
.mrc-live-location-card .mrc-location-meta{
  text-align:center;
  padding:0 16px 12px;
  font-size:14px;
}
.mrc-live-location-card iframe{
  width:100%;
  height:360px;
  border:0;
  display:block;
}
@media(max-width:750px){
  .mrc-live-location-card iframe{height:280px;}
}


/* Westonka Marine Electronics — final sponsor, responsive spacing */
.sponsor-row img[alt="Westonka Marine Electronics"]{
  display:block;
  max-height:68px;
  max-width:220px;
  width:auto;
  height:auto;
  object-fit:contain;
  margin-left:24px !important;
  margin-right:24px !important;
}

/* Keep sponsor rows comfortably spaced when they wrap on desktop/web. */
.sponsor-row{
  row-gap:24px !important;
}

@media(max-width:750px){
  .sponsor-row{
    column-gap:16px !important;
    row-gap:20px !important;
  }
  .sponsor-row img[alt="Westonka Marine Electronics"]{
    max-height:56px;
    max-width:180px;
    margin-left:10px !important;
    margin-right:10px !important;
  }
}
