.hh-concierge{
  --hh-ink:#15181d;
  --hh-card:#20242c;
  --hh-card2:#15181d;
  --hh-line:rgba(255,255,255,.08);
  --hh-muted:#9aa3b0;
  --hh-red:#c8202e;
  --hh-red-dark:#a81824;
  font-family:"Helvetica Neue",Arial,sans-serif;
  max-width:760px;margin:0 auto;padding:14px 16px 4px;
  text-align:center;color:var(--hh-ink);
}
.hh-concierge *{box-sizing:border-box;}
.hh-eyebrow{font:700 12px/1 "Archivo",sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--hh-red);margin-bottom:10px;}
.hh-head{font:800 30px/1.1 "Archivo",sans-serif;letter-spacing:-.5px;margin:0 0 6px;}
.hh-sub{color:#5b6472;font-size:15px;margin:0 auto 26px;max-width:460px;}
.hh-card{
  position:relative;max-width:420px;margin:0 auto;text-align:left;
  background:linear-gradient(165deg,#262b34 0%,#15181d 100%);
  border:1px solid var(--hh-line);border-radius:20px;
  padding:32px 30px 30px;overflow:hidden;color:#fff;
  box-shadow:0 24px 60px -20px rgba(0,0,0,.55);
  animation:hh-rise .6s cubic-bezier(.2,.7,.2,1) both;
}
.hh-card::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--hh-red);}
@keyframes hh-rise{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}
.hh-badge{display:inline-block;font:700 11px/1 "Archivo",sans-serif;letter-spacing:.12em;text-transform:uppercase;
  color:#ffd2d6;background:rgba(200,32,46,.18);border:1px solid rgba(200,32,46,.4);
  padding:6px 12px;border-radius:999px;margin-bottom:18px;}
.hh-plan{font:700 22px/1 "Archivo",sans-serif;margin:0 0 4px;}
.hh-plan-meta{color:var(--hh-muted);font-size:13px;margin:0 0 20px;}
.hh-price{display:flex;align-items:baseline;gap:8px;margin-bottom:4px;}
.hh-price .amt{font:800 46px/1 "Archivo",sans-serif;letter-spacing:-1px;}
.hh-price .per{color:var(--hh-muted);font-size:14px;}
.hh-member{color:#cdd4dd;font-size:13px;margin:0 0 22px;}
.hh-member b{color:#fff;}
.hh-rule{height:1px;background:var(--hh-line);margin:20px 0;}
.hh-list{list-style:none;margin:0 0 22px;padding:0;}
.hh-list li{display:flex;align-items:flex-start;gap:11px;font-size:14px;color:#e7ebf0;margin-bottom:11px;}
.hh-check{flex:0 0 18px;width:18px;height:18px;border-radius:50%;background:var(--hh-red);position:relative;margin-top:1px;}
.hh-check::after{content:"";position:absolute;left:6px;top:3px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);}
.hh-options{background:rgba(0,0,0,.28);border:1px solid var(--hh-line);border-radius:12px;padding:6px;margin-bottom:22px;}
.hh-opt{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;border-radius:9px;}
.hh-opt + .hh-opt{margin-top:2px;}
.hh-opt.is-primary{background:rgba(200,32,46,.12);box-shadow:inset 3px 0 0 var(--hh-red);}
.hh-opt .l{font:700 16px/1 "Archivo",sans-serif;color:#fff;}
.hh-opt .r{font-size:12px;color:var(--hh-muted);text-transform:uppercase;letter-spacing:.08em;}
.hh-buy{display:block;width:100%;border:0;cursor:pointer;text-align:center;text-decoration:none;
  background:var(--hh-red);color:#fff;font:700 16px/1 "Archivo",sans-serif;letter-spacing:.03em;
  padding:16px;border-radius:11px;transition:transform .15s ease,background .15s ease,box-shadow .15s ease;
  box-shadow:0 10px 24px -10px rgba(200,32,46,.7);}
.hh-buy:hover{background:var(--hh-red-dark);transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(200,32,46,.8);color:#fff;}
.hh-buy:active{transform:translateY(0);}
.hh-foot{text-align:center;color:#8a929d;font-size:11px;margin:14px 0 0;}
@media(max-width:480px){
  .hh-head{font-size:25px;}
  .hh-card{padding:26px 22px;}
  .hh-price .amt{font-size:40px;}
}

.wp-block-post-title{text-align:center;text-transform:uppercase;font-weight:700;font-size:30px;}
header:not(.hh-header),.wp-block-template-part[data-type="wp_template_part"][data-slug="header"],header.wp-block-template-part,
footer:not(.hh-footer),.wp-block-template-part[data-type="wp_template_part"][data-slug="footer"],footer.wp-block-template-part{display:none !important;}
.hh-form-wrap{max-width:600px;margin:0 auto;padding:40px;font-family:"Helvetica Neue",Arial,sans-serif;color:#15181d;border:1px solid #e4e7ec;border-radius:14px;background:#fff;box-shadow:0 4px 18px -10px rgba(21,24,29,.08);}
.hh-form-wrap h2{font:800 24px/1.2 "Archivo",sans-serif;margin:0 0 6px;text-align:center;}
.hh-form-wrap .hh-form-sub{color:#15181d;font-size:14px;margin:0 0 22px;text-align:center;}
.hh-form-logo{text-align:center;margin:0 0 22px;}
.hh-form-logo img{max-width:180px;height:auto;display:inline-block;border-radius:0;}
.hh-form fieldset{border:1px solid #e4e7ec;border-radius:10px;padding:20px 22px 10px;margin:0 0 18px;}
.hh-form legend{font:700 12px/1 "Archivo",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#c8202e;padding:0 6px;}
.hh-form label{display:block;font-size:13px;font-weight:600;margin:8px 0 4px;color:#15181d;}
.hh-form input:not([type=radio]):not([type=checkbox]):not([type=hidden]),.hh-form select{
  width:100%;padding:16px 14px;border:1px solid #cfd4dc;border-radius:8px;font-size:14px;background:#fff;box-sizing:border-box;}
.hh-form input:focus,.hh-form select:focus{outline:2px solid #c8202e33;border-color:#c8202e;}
.hh-form .hh-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:6px;}
@media(max-width:520px){.hh-form .hh-grid{grid-template-columns:1fr;}}
.hh-form .hh-radio{display:flex;align-items:center;gap:10px;padding:16px 12px;border:1px solid #cfd4dc;border-radius:8px;margin-bottom:8px;cursor:pointer;}
.hh-form .hh-radio input{accent-color:#c8202e;}
.hh-form .hh-radio .l{font-weight:700;}
.hh-form .hh-radio .r{margin-left:auto;color:#15181d;font-size:13px;text-transform:uppercase;letter-spacing:.08em;}
.hh-submit{display:inline-block;background:#c8202e;color:#fff;border:0;cursor:pointer;text-decoration:none;
  padding:14px 22px;border-radius:10px;font:700 15px/1 "Archivo",sans-serif;letter-spacing:.03em;}
.hh-submit:hover{background:#a81824;color:#fff;}
.hh-msg{padding:12px 14px;border-radius:8px;margin:0 0 16px;font-size:14px;}
.hh-msg.is-error{background:#fdecee;border:1px solid #f3b1b8;color:#a11220;}
.hh-msg.is-success{background:#eaf6ee;border:1px solid #b6dec3;color:#1a7f37;}
.hh-msg ul{margin:6px 0 0 18px;padding:0;}

/* Coach dashboard member table */
.hh-form-wrap table.widefat{border-collapse:separate;border-spacing:0;border:1px solid #e4e7ec;border-radius:10px;overflow:hidden;width:100%;font-size:14px;}
.hh-form-wrap table.widefat thead th{background:#15181d;color:#fff;text-align:left;padding:12px 14px;font:700 12px/1 "Archivo",sans-serif;letter-spacing:.1em;text-transform:uppercase;}
.hh-form-wrap table.widefat td{padding:12px 14px;border-top:1px solid #e4e7ec;color:#15181d;vertical-align:middle;}
.hh-form-wrap table.widefat tbody tr:nth-child(4n+1){background:#fafbfc;}
.hh-form-wrap .button{display:inline-block;background:#fff;border:1px solid #cfd4dc;color:#15181d;padding:6px 10px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;text-decoration:none;line-height:1.2;}
.hh-form-wrap .button:hover{border-color:#c8202e;color:#c8202e;}
.hh-form-wrap .button.button-primary{background:#c8202e;border-color:#c8202e;color:#fff;}
.hh-form-wrap .button.button-primary:hover{background:#a81824;color:#fff;}

/* Add to Calendar dropdown (native <details>) */
.hh-cal{position:relative;display:inline-block;}
.hh-cal-btn{display:inline-flex;align-items:center;gap:6px;list-style:none;cursor:pointer;background:#c8202e;color:#fff;border:0;padding:9px 16px;border-radius:8px;font:700 13px/1 "Archivo",Arial,sans-serif;letter-spacing:.02em;white-space:nowrap;}
.hh-cal-btn::-webkit-details-marker{display:none;}
.hh-cal-btn:hover,.hh-cal[open] .hh-cal-btn{background:#a81824;}
.hh-cal[open] .hh-cal-btn span{transform:rotate(180deg);}
.hh-cal-btn span{display:inline-block;font-size:10px;transition:transform .15s ease;}
.hh-cal-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:215px;background:#fff;border:1px solid #e4e7ec;border-radius:10px;box-shadow:0 14px 34px -12px rgba(21,24,29,.32);overflow:hidden;z-index:30;}
.hh-cal-menu a{display:block;padding:11px 16px;color:#15181d;text-decoration:none;font-size:14px;border-bottom:1px solid #f1f3f5;}
.hh-cal-menu a:last-child{border-bottom:0;}
.hh-cal-menu a:hover{background:#fafbfc;color:#c8202e;}

/* WordPress login form rendered inside a HockeyHero wrap (association / coach dashboards) */
.hh-form-wrap #loginform{margin:6px 0 0;}
.hh-form-wrap #loginform p{margin:0 0 14px;}
.hh-form-wrap #loginform label{display:block;font-size:13px;font-weight:600;margin:0 0 4px;color:#15181d;}
.hh-form-wrap #loginform input.input,.hh-form-wrap #user_login,.hh-form-wrap #user_pass{width:100%;padding:16px 14px;border:1px solid #cfd4dc;border-radius:8px;font-size:14px;background:#fff;box-sizing:border-box;}
.hh-form-wrap #loginform input:focus{outline:2px solid #c8202e33;border-color:#c8202e;}
.hh-form-wrap #loginform .login-remember label{display:flex;align-items:center;gap:8px;font-weight:400;}
.hh-form-wrap #loginform .login-remember input{width:auto;accent-color:#c8202e;}
.hh-form-wrap #wp-submit{display:inline-block;width:100%;background:#c8202e;border:0;color:#fff;cursor:pointer;padding:15px 22px;border-radius:10px;font:700 15px/1 "Archivo",sans-serif;letter-spacing:.03em;}
.hh-form-wrap #wp-submit:hover{background:#a81824;color:#fff;}

/* Roster add/remove rows */
.hh-form .hh-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:center;margin-bottom:8px;}
@media(max-width:520px){.hh-form .hh-row{grid-template-columns:1fr;}}
.hh-form .hh-row .hh-remove{background:transparent;border:1px solid #cfd4dc;border-radius:8px;width:36px;height:36px;cursor:pointer;color:#5b6472;font-size:18px;line-height:1;}
.hh-form .hh-row .hh-remove:hover{color:#c8202e;border-color:#c8202e;}
.hh-form .hh-add{margin:6px 0 2px;background:#fff;border:1px dashed #c8202e;color:#c8202e;padding:8px 14px;border-radius:8px;cursor:pointer;font-weight:600;}
.hh-form .hh-add:hover{background:#fdecee;}
.hh-form .hh-add[disabled]{opacity:.45;cursor:not-allowed;border-style:dotted;}
.hh-form .hh-add[disabled]:hover{background:#fff;}
