/* KYD SPORTS CANADA — ICE ARENA THEME (LIGHT) */
:root{
  --rink-ice:#F6F9FC;
  --rink-navy:#14496E;
  --navy-ink:#22323E;
  --body-ink:#33434F;
  --faceoff-red:#C8402F;
  --white-ice:#FFFFFF;
  --board-grey:#8FA5B5;
  --puck-black:#1A2530;
  --hairline:#D8E2EC;
  --deep-trust:#0F3A59;
}

*{margin:0;padding:0;box-sizing:border-box;}

html{scroll-behavior:smooth;}

html,body{overflow-x:hidden;}

body{
  background-color:var(--rink-ice);
  color:var(--navy-ink);
  font-family:Georgia, "Times New Roman", serif;
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{font-family:Georgia,"Times New Roman",serif;font-weight:700;line-height:1.2;}
p{color:var(--body-ink);}
a{text-decoration:none;color:var(--rink-navy);}
.container{max-width:1120px;margin:0 auto;padding:0 24px;}

/* ============ BOARDS AND KICKPLATE NAV ============ */
.boards-nav{
  position:sticky;top:0;z-index:1000;background-color:var(--white-ice);
  box-shadow:0 1px 0 var(--hairline);
}
.boards-nav .rink-board{
  height:12px;background-color:var(--rink-navy);
  border-bottom:2px solid var(--faceoff-red);
}
.boards-nav .nav-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 24px;flex-wrap:wrap;gap:10px;
}
.puck-glyph{
  display:inline-block;width:12px;height:12px;border-radius:50%;
  background-color:var(--puck-black);
  border:2px solid var(--board-grey);margin-right:10px;vertical-align:middle;
}
.brand{font-size:21px;font-weight:700;color:var(--rink-navy);letter-spacing:2px;text-transform:uppercase;}
.nav-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.nav-links a{
  font-size:13px;text-transform:uppercase;letter-spacing:1px;
  color:var(--navy-ink);position:relative;padding-bottom:4px;
}
.nav-links a:hover{
  color:var(--rink-navy);
}
.nav-links a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;
  background-color:var(--rink-navy);transition:right .25s ease;
}
.nav-links a:hover::after{right:0;}
.nav-links a:hover::before{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;
  background-color:var(--faceoff-red);
}
.nav-links .dot{color:var(--faceoff-red);font-size:8px;}
.nav-toggle{display:none;background:none;border:1px solid var(--board-grey);color:var(--rink-navy);padding:6px 12px;font-size:14px;cursor:pointer;}

/* ============ ZAMBONI-FRESH HERO ============ */
.zamboni-hero{
  position:relative;background-color:var(--rink-ice);
  padding:0 0 0 0;overflow:hidden;
}
.hero-stack{
  max-width:880px;margin:0 auto;padding:88px 24px 60px;text-align:center;
}
.eyebrow-chip{
  display:inline-block;background-color:var(--rink-navy);color:var(--white-ice);
  font-size:12px;letter-spacing:2px;text-transform:uppercase;
  padding:7px 16px;border-radius:30px;margin-bottom:24px;font-family:Arial,Helvetica,sans-serif;
}
.hero-title{
  font-size:52px;color:var(--navy-ink);margin-bottom:22px;line-height:1.08;
}
.hero-title .red{color:var(--faceoff-red);}
.hero-sub{
  max-width:680px;margin:0 auto 34px;font-size:18px;color:var(--body-ink);
}
.hero-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.btn-primary{
  display:inline-block;background-color:var(--rink-navy);color:var(--white-ice);
  padding:15px 34px;font-size:15px;letter-spacing:1px;text-transform:uppercase;
  transition:background-color .25s ease;
}
.btn-primary:hover{background-color:var(--deep-trust);}
.btn-outline{
  display:inline-block;border:1px solid var(--rink-navy);color:var(--rink-navy);
  padding:15px 34px;font-size:15px;letter-spacing:1px;text-transform:uppercase;
  transition:background-color .25s ease;
}
.btn-outline:hover{background-color:var(--white-ice);}

.ice-sheet{position:relative;}
.ice-panel{
  position:relative;height:340px;background-color:var(--white-ice);
  border-top:2px solid var(--hairline);overflow:hidden;
}
.center-red-line{
  position:absolute;top:0;bottom:0;left:50%;width:6px;
  transform:translateX(-50%);background-color:var(--faceoff-red);
}
.blue-line-left{
  position:absolute;top:0;bottom:0;left:calc(50% - 150px);width:3px;
  background-color:var(--rink-navy);
}
.blue-line-right{
  position:absolute;top:0;bottom:0;left:calc(50% + 150px);width:3px;
  background-color:var(--rink-navy);
}
.faceoff-circle{
  position:absolute;top:120px;left:50%;transform:translateX(-50%);
  width:90px;height:90px;border-radius:50%;
  border:6px solid var(--faceoff-red);
  display:flex;align-items:center;justify-content:center;
}
.faceoff-circle::after{
  content:"";width:16px;height:16px;border-radius:50%;
  background-color:var(--rink-navy);
  border:2px solid var(--faceoff-red);
}
.zamboni{
  position:absolute;bottom:70px;right:-200px;width:190px;height:74px;
  animation:zamboni-drive 26s linear infinite;
}
@keyframes zamboni-drive{
  0%{transform:translateX(0);}
  100%{transform:translateX(calc(-100vw - 400px));}
}
.zamboni-body{
  position:absolute;bottom:0;left:0;width:190px;height:46px;border-radius:8px;
  background-color:var(--rink-navy);
}
.zamboni-cab{
  position:absolute;bottom:38px;left:126px;width:40px;height:38px;border-radius:6px;
  background-color:var(--deep-trust);
}
.zamboni-wheel{
  position:absolute;bottom:0;width:16px;height:16px;border-radius:50%;
  background-color:var(--puck-black);border:2px solid var(--board-grey);
}
.zamboni-wheel.w1{left:18px;}
.zamboni-wheel.w2{left:156px;}
.zamboni-trail{
  position:absolute;bottom:0;right:-260px;width:220px;height:34px;
  background-color:#EAF2F8;border-top:1px solid var(--hairline);
}

/* ============ LOCKER-STALL ROWS ============ */
.locker-rows{padding:90px 0;background-color:var(--rink-ice);}
.locker-rows .section-head{text-align:left;margin-bottom:40px;}
.locker-rows .section-head h2{font-size:34px;color:var(--rink-navy);margin-bottom:14px;}
.locker-rows .section-head p{max-width:720px;color:var(--body-ink);font-size:17px;}

.locker-stall{
  display:flex;align-items:center;gap:26px;background-color:var(--white-ice);
  border:1px solid var(--hairline);padding:26px 30px;margin-bottom:14px;position:relative;
}
.stall-divider{
  flex:0 0 10px;align-self:stretch;background-color:var(--rink-navy);
  position:relative;border-radius:3px;
}
.jersey-plate{
  position:absolute;top:12px;left:50%;transform:translateX(-50%);
  background-color:var(--white-ice);color:var(--rink-navy);
  width:26px;height:34px;font-size:13px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--board-grey);
}
.stall-text{flex:1 1 auto;}
.stall-text h3{font-size:22px;color:var(--navy-ink);margin-bottom:8px;}
.stall-text p{color:var(--body-ink);}
.equipment-hook{
  flex:0 0 70px;display:flex;flex-direction:column;align-items:center;gap:8px;
}
.hook{
  width:34px;height:34px;border:3px solid var(--board-grey);border-radius:50% 50% 0 0;
  border-bottom:none;
}
.jersey{
  width:20px;height:26px;border-radius:3px 3px 0 0;position:relative;
}
.jersey::after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;}
.j-navy{background-color:var(--rink-navy);}
.j-red{background-color:var(--faceoff-red);}

/* ============ GAME-DAY BOARD ============ */
.gameday-board{padding:80px 0;background-color:var(--rink-ice);}
.scoreboard{
  position:relative;background-color:var(--puck-black);
  border-top:4px solid var(--faceoff-red);
  padding:46px 30px 34px;border-bottom:3px solid #0F3A59;
}
.score-cells{display:flex;flex-wrap:wrap;}
.score-cell{flex:1 1 0;min-width:200px;text-align:center;padding:10px 18px;border-right:1px solid var(--board-grey);}
.score-cell:last-child{border-right:none;}
.score-cell .label{color:var(--board-grey);font-size:12px;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px;font-family:Arial,Helvetica,sans-serif;}
.score-cell .value{color:var(--white-ice);font-size:46px;font-weight:700;line-height:1;}
.marquee-strip{
  margin-top:28px;height:14px;border-top:2px solid #0F3A59;
  background-image:linear-gradient(90deg,var(--faceoff-red) 0 12px,transparent 12px 24px,var(--rink-navy) 24px 36px,transparent 36px 48px);
  background-size:48px 14px;background-repeat:repeat-x;
}
.screw{position:absolute;width:12px;height:12px;border-radius:50%;background-color:var(--board-grey);border:2px solid var(--hairline);}
.screw.tl{top:14px;left:14px;}
.screw.tr{top:14px;right:14px;}
.screw.bl{bottom:14px;left:14px;}
.screw.br{bottom:14px;right:14px;}

/* ============ STATEMENT BAND ============ */
.statement-band{background-color:var(--white-ice);padding:90px 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);}
.statement-band .container{position:relative;padding-left:40px;}
.statement-band .accent-bar{position:absolute;left:24px;top:6px;bottom:6px;width:4px;background-color:var(--faceoff-red);}
.statement-band p{font-size:24px;line-height:1.5;color:var(--navy-ink);max-width:860px;font-style:italic;}
.statement-band .attrib{margin-top:20px;font-size:15px;color:var(--rink-navy);letter-spacing:1px;text-transform:uppercase;font-family:Arial,Helvetica,sans-serif;}

/* ============ CTA BAND ============ */
.cta-band{padding:90px 0;background-color:var(--rink-ice);text-align:center;}
.cta-band h2{font-size:34px;color:var(--rink-navy);margin-bottom:16px;}
.cta-band p{max-width:640px;margin:0 auto 32px;color:var(--body-ink);font-size:18px;}

/* ============ RAFTERS-BANNER FOOTER ============ */
.rafters-footer{background-color:var(--rink-navy);color:var(--white-ice);position:relative;z-index:1;}
.rafters-truss{
  height:14px;background-image:linear-gradient(135deg,#0F3A59 25%,transparent 25%,transparent 50%,#0F3A59 50%,#0F3A59 75%,transparent 75%);
  background-size:26px 26px;background-color:#123F60;
}
.banners{display:flex;justify-content:center;gap:26px;padding:34px 0 6px;align-items:flex-start;}
.banner-flag{
  display:flex;flex-direction:column;align-items:center;
}
.banner-string{width:2px;height:22px;background-color:var(--board-grey);}
.banner{
  width:54px;height:96px;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:2px;font-family:Arial,Helvetica,sans-serif;
}
.banner.red{background-color:var(--faceoff-red);}
.banner.ice{background-color:var(--white-ice);}
.banner .b-line{font-size:11px;font-weight:700;letter-spacing:1px;color:var(--navy-ink);}
.banner .b-star{width:8px;height:8px;background-color:var(--faceoff-red);border-radius:50%;}
.b1{height:74px;}
.b2{height:96px;margin-top:14px;}
.b3{height:84px;}

.footer-stack{padding:34px 24px 20px;text-align:center;}
.footer-stack .puck-glyph{margin:0 10px 0 0;}
.footer-brand{font-size:22px;font-weight:700;color:var(--white-ice);letter-spacing:2px;text-transform:uppercase;margin-bottom:20px;}
.footer-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-bottom:20px;}
.footer-links a{color:var(--white-ice);font-size:14px;letter-spacing:1px;text-transform:uppercase;}
.footer-links a:hover{color:#CFE0EE;}
.center-ice-dot{display:flex;align-items:center;gap:14px;justify-content:center;margin-bottom:18px;}
.dot-ring{width:16px;height:16px;border-radius:50%;border:3px solid #C8402F;display:inline-block;}
.dot-ring::after{content:"";display:block;width:6px;height:6px;border-radius:50%;background-color:#C8402F;margin:3px auto 0;}
.dot-line{width:60px;height:1px;background-color:var(--white-ice);}
.footer-legal{font-size:13px;color:#CFE0EE;line-height:1.9;}

.hairline-bg{background:var(--white-ice);}

/* ============ CONTACT PAGE ============ */
.contact-form{max-width:720px;margin:0 0 40px;}
.form-group{margin-bottom:20px;}
.form-group label{
  display:block;font-size:14px;color:var(--navy-ink);
  letter-spacing:1px;text-transform:uppercase;margin-bottom:7px;
  font-family:Arial,Helvetica,sans-serif;font-weight:700;
}
.form-group input,
.form-group textarea{
  width:100%;padding:13px 14px;border:1px solid var(--board-grey);
  background-color:var(--white-ice);color:var(--navy-ink);
  font-family:Georgia,"Times New Roman",serif;font-size:16px;
}
.form-group input:focus,
.form-group textarea:focus{outline:2px solid var(--rink-navy);border-color:var(--rink-navy);}
.contact-form .btn-primary{border:none;cursor:pointer;}
.form-status{margin-top:16px;font-size:15px;font-weight:700;color:var(--rink-navy);}
.score-cell .small-text{font-size:18px;line-height:1.3;color:var(--white-ice);}
.hours-list{max-width:720px;margin-bottom:50px;}
.hour-row{
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
  background-color:var(--white-ice);border:1px solid var(--hairline);
  padding:16px 22px;margin-bottom:10px;
}
.hour-day{color:var(--navy-ink);font-weight:700;}
.hour-time{color:var(--body-ink);}
.faq-item{
  background-color:var(--white-ice);border:1px solid var(--hairline);
  margin-bottom:12px;overflow:hidden;
}
.faq-question{
  cursor:pointer;padding:18px 22px;font-size:18px;color:var(--navy-ink);
  font-weight:700;position:relative;padding-right:48px;
}
.faq-question::after{
  content:"+";position:absolute;right:20px;top:14px;font-size:24px;
  color:var(--faceoff-red);transition:transform .2s ease;
}
.faq-item.open .faq-question::after{transform:rotate(45deg);}
.faq-body{
  max-height:0;overflow:hidden;transition:max-height .3s ease;
  padding:0 22px;color:var(--body-ink);
}
.faq-item.open .faq-body{padding-bottom:18px;}

/* responsive */
@media (max-width:820px){
  .nav-toggle{display:block;}
  .nav-links{display:none;width:100%;flex-direction:column;align-items:flex-start;gap:10px;padding:10px 0;}
  .nav-links.open{display:flex;}
  .hero-title{font-size:38px;}
  .score-cell{flex:1 1 50%;border-right:none;border-bottom:1px solid var(--board-grey);}
  .score-cell:last-child{border-bottom:none;}
  .locker-stall{flex-direction:column;align-items:flex-start;}
  .stall-divider{flex:0 0 8px;align-self:stretch;width:8px;}
  .equipment-hook{flex-direction:row;}
}
