/* =========================================================
   Course Booking Manager Pro — frontend.css (cleaned)
   - Added missing z-index + button rules
   - Removed duplicated TBCM wizard block (was repeated twice)
   - Kept everything else as-is, just organised
   ========================================================= */

/* === KT12: z-index safety for headers + floating carts === */
header{
  position: relative;
  z-index: 99999;
}
#fkcart-floating-toggler{z-index:99999 !important;}

/* Course Booking Manager Pro: "Add another" button styling */
#tbcm-add-another{background:#595959 !important;}


/* =========================
   TBCM — Horizontal wizard layout
   ========================= */

.tbcm-wrap{
  max-width: 100%;
  margin: 0 auto;
  padding: 18px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #fff;
}

/* Top progress bar */
.tbcm-progress{
  display: flex;
  gap: 10px;
  margin: 0 0 14px 0;
  padding: 10px;
  border-radius: 12px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
}

.tbcm-progress-step{
  flex: 1;
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: #fff;
  opacity: .55;
}

.tbcm-progress-step .tbcm-num{
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  background: #e5e7eb;
}

.tbcm-progress-step .tbcm-label{
  font-weight: bold !important;
  font-size: 13px;
  font-family:'Arial' !important;
  color:black !important;
}
#tbcm-course-title{color:black !important;}

.tbcm-progress-step.is-active{
  opacity: 1;
  border-color: #f97316;
  background: #fff7ed;
}
.tbcm-card-loc{color:black !important;font-size:14px !important;}

.tbcm-progress-step.is-active .tbcm-num{
  background: #f97316;
  color: #fff;
}

.tbcm-progress-step.is-done{
  opacity: 1;
  border-color: #86efac;
  background: #f0fdf4;
}

.tbcm-progress-step.is-done .tbcm-num{
  background: #166534;
  color: #fff;
}

/* Main 4-column wizard */
.tbcm-wizard{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

/* Each step becomes a card */
.tbcm-step{
  margin: 0;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid #e5e7eb;
  background: #fff;
  min-height: 190px;
}

.tbcm-step h3{
  margin: 0 0 10px 0;
  font-size: 14px;
  font-family:'Arial';
}

/* Grid inside each step */
.tbcm-days, .tbcm-slots, .tbcm-levels{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

/* Cards */
.tbcm-card{
  display: block;
  width: 100%;
  text-align: left;
  padding: 12px 12px;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  background: #f9fafb;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background-color .16s ease;
  margin-bottom:10px;
  font-family:'Arial'; font-weight:bold !important;
  font-size:16px !important;
  color:black;
}

.tbcm-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0,0,0,0.06);
  border-color: #cbd5e1;
  background:#F3FBF3;
  color:black;
}

.tbcm-card:active{
  transform: translateY(0px) scale(0.99);
  box-shadow: 0 6px 12px rgba(0,0,0,0.05);
}

.tbcm-card:focus-visible{
  outline: 2px solid rgba(148,163,184,0.9);
  outline-offset: 2px;
}

.tbcm-card.is-active{
  border-color: #f97316;
  background: #fff7ed;
}

.tbcm-card.is-disabled{
  opacity: .5;
  cursor: not-allowed;
}

.tbcm-card-title{
font-family:'Arial'; font-size:18px !important; color:black !important;}


.tbcm-card-sub{
  font-size: 12px;
  color: #6b7280;
  margin-top: 2px;
}

.tbcm-card-date{
  display:flex;
  align-items:center;
  gap:8px;
  color:#7a7a7a;
  font-size:14px;
}

.tbcm-cal{
  display:inline-flex;
  color:#9aa0a6;
}

.tbcm-level-row{
  display: flex;
  gap: 10px;
  align-items: center;
}

.tbcm-dot{
  width: 12px;
  height: 12px;
  border-radius: 999px;
  display: inline-block;
  flex: 0 0 auto;
}

/* Attendee form */
.tbcm-form{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

#tbcm-attendee-step .tbcm-form label{
  display:block;
  font-weight: 600;
  font-size: 14px;
  color: #1f2937;
  margin: 15px 0 8px;
}

.tbcm-form input{
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  background: #fff;
}

.tbcm-btn{
  padding: 12px 14px;
  border-radius: 12px;
  border: none;
  cursor: pointer;
  font-weight: 900;
  background: #166534;
  color: #fff;
}

.tbcm-btn:disabled{
  opacity: .6;
  cursor: not-allowed;
}

.tbcm-msg{
  display: none;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  background: #f9fafb;
}

.tbcm-msg.is-success{
  border-color: #86efac;
  background: #f0fdf4;
  color: #166534;
}
.tbcm-msg.is-error{
  border-color: #fecaca;
  background: #fef2f2;
  color: #991b1b;
}

/* Empty / loading */
.tbcm-loading, .tbcm-empty{
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px dashed #cbd5e1;
  background: #fff;
  color: #6b7280;
}

/* Mobile: stack steps */
@media (max-width: 980px){
  .tbcm-wizard{
    grid-template-columns: 1fr;
  }
  .tbcm-progress{
    flex-direction: column;
  }
}

/* Make ALL links inside the booking UI black (incl. visited) */
.tbcm-wrap a,
.tbcm-wrap a:link,
.tbcm-wrap a:visited,
.tbcm-wrap a:hover,
.tbcm-wrap a:active {
  color: #000 !important;
  -webkit-text-fill-color: #000;
  text-decoration: none !important;
}
.tbcm-wrap a * {
  color: inherit !important;
  -webkit-text-fill-color: inherit;
}
.tbcm-wrap a[x-apple-data-detectors],
.tbcm-wrap a[x-apple-data-detectors] * {
  color: #000 !important;
  -webkit-text-fill-color: #000;
  text-decoration: none !important;
}

/* Make selects match input width & style */
.tbcm-form select {
  width: 100%;
  max-width: 100%;
  padding: 12px 14px;
  border-radius: 8px;
  border: 1px solid #dcdfe6;
  font-size: 16px;
  background-color: #fff;
  box-sizing: border-box;
}

/* Match input height exactly */
.tbcm-form input,
.tbcm-form select,
.tbcm-form textarea {
  min-height: 48px !important;
}

/* Optional: nicer focus state */
.tbcm-form select:focus {
  outline: none;
  border-color: #2b7cff;
  box-shadow: 0 0 0 2px rgba(43,124,255,0.15);
}
.tbcm-form select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='https://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 12px 8px;
}

/* Force the wizard to be single-column full width */
#tbcm-wizard{
  display:block !important;
  width:100% !important;
}
#tbcm-wizard .tbcm-step{
  width:100% !important;
  max-width:none !important;
  flex: none !important;
}
#tbcm-days,
#tbcm-slots,
#tbcm-levels,
#tbcm-attendee-step .tbcm-form{
  width:100% !important;
}

/* =========================
   TBCM Attendee step – stylish form controls
   ========================= */

#tbcm-attendee-step .tbcm-form{
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin-top: 10px;
}

#tbcm-attendee-step .tbcm-form label{
  display:block;
  font-weight: 600;
  font-size: 14px;
  color: #1f2937;
  margin: 15px 0 8px;
}

#tbcm-attendee-step .tbcm-form input[type="text"],
#tbcm-attendee-step .tbcm-form input[type="number"],
#tbcm-attendee-step .tbcm-form input[type="tel"],
#tbcm-attendee-step .tbcm-form select,
#tbcm-attendee-step .tbcm-form textarea{
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #d1d5db;
  border-radius: 12px;
  padding: 12px 14px;
  background: #fff;
  font-size: 15px;
  line-height: 1.2;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}

#tbcm-attendee-step .tbcm-form textarea{
  min-height: 110px;
  resize: vertical;
}

#tbcm-attendee-step .tbcm-form input:focus,
#tbcm-attendee-step .tbcm-form select:focus,
#tbcm-attendee-step .tbcm-form textarea:focus{
  border-color: #22c55e;
  box-shadow: 0 0 0 4px rgba(34,197,94,.15);
}

/* =========================
   Cart / Checkout meta toggle styling (Course items)
   ========================= */

.hthc-cart-meta { margin-top: 10px; }
.hthc-cart-meta summary { cursor:pointer; font-weight:600; list-style:none; }
.hthc-cart-meta summary::-webkit-details-marker { display:none; }

.hthc-cart-meta .hthc-hide { display:none; }
.hthc-cart-meta[open] .hthc-show { display:none; }
.hthc-cart-meta[open] .hthc-hide { display:inline; }

.hthc-cart-meta__inner {
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(0,0,0,0.12);
  border-radius: 8px;
}

.hthc-meta-row { padding: 6px 0; border-bottom: 1px solid rgba(0,0,0,0.06); }
.hthc-meta-row:last-child { border-bottom: 0; }
.hthc-meta-name { font-weight: 700; }

/* Checkout: slight tightening */
.woocommerce-checkout .hthc-cart-meta summary{ padding: 8px 0; }
.woocommerce-checkout .hthc-cart-meta__inner{ background: #fff; }


/* =========================
   NAVIGATION
   ========================= */

/* Default state */
.desktop-nav { display: block; }
.mobile-nav { display: none; }

/* Switch EXACTLY at 1170px */
@media (max-width: 1170px) {
  .desktop-nav { display: none !important; }
  .mobile-nav { display: block !important; }
}


/* Location info toggle (Cart & Checkout) */
.htc-cm-loc-wrap .htc-cm-loc-extra { display: none; }
.htc-cm-loc-wrap.is-open .htc-cm-loc-extra { display: block; }
.htc-cm-loc-wrap .htc-cm-loc-toggle { text-decoration: underline; cursor: pointer; }


/* =========================================================
   TBCM — Centre-screen wait modal (DOM overlay)
   Popup-blocker safe because it's not a browser popup.
   ========================================================= */

#tbcm-wait-modal{
  position: fixed;
  inset: 0;
  display: none;
  z-index: 999999; /* above Divi headers/floating buttons */
}
#tbcm-wait-modal.is-open{display:block;}

#tbcm-wait-modal .tbcm-wait-modal__backdrop{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45);
}

#tbcm-wait-modal .tbcm-wait-modal__panel{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(520px, calc(100% - 34px));
  background: #fff;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 18px 45px rgba(0,0,0,.20);
  padding: 18px 18px 16px;
  text-align: center;
}

#tbcm-wait-modal .tbcm-wait-modal__spinner{
  width: 44px;
  height: 44px;
  margin: 6px auto 12px;
  border-radius: 999px;
  border: 4px solid rgba(0,0,0,.10);
  border-top-color: rgba(0,0,0,.55);
  animation: tbcmSpin 0.9s linear infinite;
}

#tbcm-wait-modal .tbcm-wait-modal__title{
  font-weight: 800;
  font-size: 18px;
  color: #111;
  margin: 0 0 6px;
}

#tbcm-wait-modal .tbcm-wait-modal__text{
  font-size: 14px;
  color: rgba(0,0,0,.75);
  margin: 0;
}

@keyframes tbcmSpin{
  from{ transform: rotate(0deg); }
  to{ transform: rotate(360deg); }
}


/* =========================
   Premium UI polish (icons, tidy spacing)
   ========================= */

.tbcm-date-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
  align-items:center;
  margin-top:4px;
}
.tbcm-date-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  background:#f9fafb;
}
.tbcm-date-label{
  font-weight:700;
  opacity:.75;
  margin-right:2px;
}

/* Base icon */
.tbcm-ico{
  width:16px;
  height:16px;
  display:inline-block;
  background:#6b7280;
}

/* Calendar icon */
.tbcm-ico-cal{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2a1 1 0 0 1 1 1v1h8V3a1 1 0 1 1 2 0v1h1.5A2.5 2.5 0 0 1 22 6.5v13A2.5 2.5 0 0 1 19.5 22h-15A2.5 2.5 0 0 1 2 19.5v-13A2.5 2.5 0 0 1 4.5 4H6V3a1 1 0 0 1 1-1Zm12.5 8h-15v9.5c0 .276.224.5.5.5h15a.5.5 0 0 0 .5-.5V10ZM4.5 6a.5.5 0 0 0-.5.5V8h16V6.5a.5.5 0 0 0-.5-.5H18v1a1 1 0 1 1-2 0V6H8v1a1 1 0 1 1-2 0V6H4.5Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2a1 1 0 0 1 1 1v1h8V3a1 1 0 1 1 2 0v1h1.5A2.5 2.5 0 0 1 22 6.5v13A2.5 2.5 0 0 1 19.5 22h-15A2.5 2.5 0 0 1 2 19.5v-13A2.5 2.5 0 0 1 4.5 4H6V3a1 1 0 0 1 1-1Zm12.5 8h-15v9.5c0 .276.224.5.5.5h15a.5.5 0 0 0 .5-.5V10ZM4.5 6a.5.5 0 0 0-.5.5V8h16V6.5a.5.5 0 0 0-.5-.5H18v1a1 1 0 1 1-2 0V6H8v1a1 1 0 1 1-2 0V6H4.5Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:contain;
  mask-size:contain;
  -webkit-mask-position:center;
  mask-position:center;
}

/* Clock icon (inline) */
.tbcm-ico-clock{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16Zm-1 3a1 1 0 0 1 2 0v5.382l3.447 1.724a1 1 0 1 1-.894 1.788l-4-2A1 1 0 0 1 11 13V7Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16Zm-1 3a1 1 0 0 1 2 0v5.382l3.447 1.724a1 1 0 1 1-.894 1.788l-4-2A1 1 0 0 1 11 13V7Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:contain;
  mask-size:contain;
  -webkit-mask-position:center;
  mask-position:center;
}

/* Mini summary strip */
.tbcm-mini-summary{
  margin: 0 0 14px;
  padding: 12px 12px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #f8fafc;
  box-shadow: 0 8px 20px rgba(0,0,0,0.04);
}
.tbcm-mini-summary__inner{
  display:flex;
  gap:12px;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
}
.tbcm-mini-summary__title{
  font-weight:800;
  color:#111827;
  margin-bottom:6px;
}
.tbcm-mini-summary__chips{display:flex;gap:8px;flex-wrap:wrap;}
.tbcm-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:#eef2f7;
  border:1px solid #e5e7eb;
  color:#111827;
  font-weight:700;
  font-size:13px;
}
.tbcm-chip__label{opacity:.7;font-weight:800;}
.tbcm-mini-summary__right{display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.tbcm-mini-summary__metric{min-width:110px;}
.tbcm-mini-summary__metric-label{font-size:12px;opacity:.7;font-weight:800;}
.tbcm-mini-summary__metric-value{font-size:18px;font-weight:900;color:#111827;}

/* Tiny completed badge */
.tbcm-badge{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  border:1px solid #e5e7eb;
  background:#f3f4f6;
  color:#111827;
}
.tbcm-badge--complete{background:#ecfdf3;border-color:#bbf7d0;}

/* Clock icon for time slots */
.tbcm-card--slot .tbcm-card-title{
  display:flex;
  align-items:center;
  gap:8px;
}
.tbcm-card--slot .tbcm-card-title:before{
  content:"";
  width:16px;
  height:16px;
  display:inline-block;
  background:#6b7280;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16Zm-1 3a1 1 0 0 1 2 0v5.382l3.447 1.724a1 1 0 1 1-.894 1.788l-4-2A1 1 0 0 1 11 13V7Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16Zm-1 3a1 1 0 0 1 2 0v5.382l3.447 1.724a1 1 0 1 1-.894 1.788l-4-2A1 1 0 0 1 11 13V7Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:contain;
  mask-size:contain;
  -webkit-mask-position:center;
  mask-position:center;
  opacity:.95;
}

/* Attendee form progressive section */
.tbcm-attendee-more-head{
  font-weight:800;
  margin: 6px 0 8px;
  opacity:.85;
}


/* Early bird badge (premium, neutral) */
.tbcm-eb-badge{
  display:flex;
  gap:8px;
  align-items:center;
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:999px;
  padding:6px 10px;
  margin-bottom:10px;
  color:#374151;
  font-size:12px;
  line-height:1.2;
}
.tbcm-eb-ico{ opacity:.75; font-size:14px; }
.tbcm-eb-text strong{ font-weight:700; }
@media (max-width: 640px){
  .tbcm-eb-badge{ border-radius:14px; }
}

.tbcm-eb-inline{
  margin-top:6px;
  font-size:12px;
  color:#374151;
  opacity:.9;
}
.tbcm-eb-inline .tbcm-eb-ico{ opacity:.7; margin-right:4px; }



/* =========================================================
   Attendee auth panel + saved attendees
   ========================================================= */
.tbcm-auth-wrapper{margin:0 0 14px 0;}
.tbcm-auth-status{padding:10px 12px;border-radius:12px;margin:0 0 12px 0;font-weight:600;border:1px solid rgba(0,0,0,.08);background:rgba(0,0,0,.03);}
.tbcm-auth-status.is-success{background:rgba(46, 204, 113, .12);border-color:rgba(46, 204, 113, .25);}
.tbcm-auth-status.is-error{background:rgba(231, 76, 60, .12);border-color:rgba(231, 76, 60, .25);}
.tbcm-auth-status.is-info{background:rgba(52, 152, 219, .10);border-color:rgba(52, 152, 219, .22);}

.tbcm-auth-panel{border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:14px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.06);margin-bottom:14px;}
.tbcm-tabs{display:flex;gap:8px;margin-bottom:12px;}
.tbcm-tab{flex:1;cursor:pointer;border:1px solid rgba(0,0,0,.10);background:rgba(0,0,0,.03);padding:10px 12px;border-radius:12px;font-weight:700;}
.tbcm-tab.is-active{background:#fff;box-shadow:0 6px 16px rgba(0,0,0,.08);}
.tbcm-tab-panels{margin-top:6px;}
.tbcm-tab-panel{display:none;}
.tbcm-tab-panel.is-active{display:block;}
.tbcm-auth-msg{margin-top:10px;font-weight:600;color:#b00020;}
.tbcm-guest-btn{width:100%;margin-top:12px;}
.tbcm-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media (max-width:640px){.tbcm-grid-2{grid-template-columns:1fr;}}

.tbcm-saved-attendees{margin:0 0 12px 0;}
.tbcm-saved-attendees select{width:100%;}

.tbcm-save-attendee{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;border:1px solid rgba(0,0,0,.08);background:rgba(176, 203, 31, .10);margin-top:15px;}
.tbcm-save-attendee input{
  /* Divi/some themes can massively up-scale checkboxes — lock it down */
  -webkit-appearance: checkbox !important;
  appearance: auto !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  transform:none !important;
  margin:0 !important;
  padding:0 !important;
  accent-color:#1b6e3b;
}
.tbcm-save-attendee span{font-weight:600;}

/* Make selects feel consistent/modern in the attendee UI */
#tbcm-attendee-fields select,
.tbcm-myattendees select{
  width:100% !important;
  height:46px;
  padding:12px 14px;
  border-radius:16px;
}

/* =========================================================
   My Account - My attendees
   ========================================================= */
.tbcm-panel{border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:18px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.06);}
.tbcm-myattendees h2{margin-top:0;}
.tbcm-myattendees__grid{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.tbcm-myattendees__list{order:1;width:100%;}
.tbcm-myattendees__form{order:2;width:100%;}
.tbcm-myattendees__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}

/* Buttons in the list should be obvious and consistent */
.tbcm-attendee-li__actions .tbcm-btn{min-width:92px;}
.tbcm-attendee-li__actions .tbcm-btn.is-ghost{border:1px solid rgba(0,0,0,.14);background:#fff; color:black;}
.tbcm-attendee-li__actions .tbcm-btn.is-danger{border:1px solid rgba(220,38,38,.35); color:black;}
.tbcm-btn.is-ghost{background:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.10);}
.tbcm-btn.is-danger{background:rgba(231, 76, 60, .14);border:1px solid rgba(231, 76, 60, .30);}
.tbcm-empty{padding:12px;border-radius:14px;background:rgba(0,0,0,.03);border:1px dashed rgba(0,0,0,.15);}
.tbcm-attendees-ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.tbcm-attendee-li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border-radius:16px;border:1px solid rgba(0,0,0,.08);background:rgba(0,0,0,.02);}
.tbcm-attendee-li__name{font-weight:800;}
.tbcm-attendee-li__meta{opacity:.85;font-size:.95em;}
.tbcm-attendee-li__actions{display:flex;gap:8px;flex-wrap:wrap;}
.tbcm-note{margin-top:10px;opacity:.85;font-size:.95em;}

/* =========================================================
   Polished attendee auth + saved attendees (v1.5.2)
   ========================================================= */
.tbcm-auth-title{font-weight:800;margin:2px 0 10px 0;font-size:15px;letter-spacing:.2px;}
.tbcm-auth-panel label{display:block;margin:10px 0 6px;font-weight:700;}
.tbcm-auth-panel input,
.tbcm-auth-panel select,
.tbcm-auth-panel button{width:100%;box-sizing:border-box;}
.tbcm-auth-panel #tbcm-do-login,
.tbcm-auth-panel #tbcm-do-register{max-width:220px;width:auto;}
.tbcm-auth-panel .tbcm-tab-panel input[type="password"]{max-width:none;width:100%;}
.tbcm-guest-link{display:inline-block;margin-top:12px;text-decoration:underline;opacity:.75;font-weight:700;}
.tbcm-guest-link:hover{opacity:1;}

.tbcm-clear-link{display:inline-block;margin-top:8px;font-weight:700;text-decoration:underline;opacity:.8;}
.tbcm-clear-link:hover{opacity:1;}

.tbcm-toast{margin-top:10px;padding:10px 12px;border-radius:14px;border:1px solid rgba(0,0,0,.08);background:rgba(46, 204, 113, .12);font-weight:800;}

/* Ensure attendee inputs feel full width */
#tbcm-attendee-fields input,
#tbcm-attendee-fields select,
#tbcm-attendee-fields textarea{width:100%;box-sizing:border-box;}

/* =========================================================
   My Account - make My attendees feel modern
   ========================================================= */
.tbcm-myattendees h2{font-size:34px;letter-spacing:-.5px;margin-bottom:10px;}
.tbcm-myattendees__form,
.tbcm-myattendees__list{border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:16px;background:rgba(255,255,255,.92);box-shadow:0 10px 22px rgba(0,0,0,.05);}
.tbcm-myattendees__form h3,
.tbcm-myattendees__list h3{margin-top:0;margin-bottom:10px;font-size:22px;}
.tbcm-myattendees label{display:block;margin:12px 0 6px;font-weight:800;}
.tbcm-myattendees input,
.tbcm-myattendees select,
.tbcm-myattendees textarea{width:100%;box-sizing:border-box;border-radius:14px;border:1px solid rgba(0,0,0,.12);padding:12px 12px;background:#fff;}
.tbcm-myattendees textarea{min-height:92px;resize:vertical;}
.tbcm-attendee-li{background:#fff;}
.tbcm-attendee-li__actions .tbcm-btn{padding:10px 14px;border-radius:14px;}


.tbcm-course-image-wrap{
  margin-top: 14px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  background: #f8fafc;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
}

.tbcm-course-image{
  display: block;
  width: 100%;
  height: 180px;
  object-fit: cover;
}


/* Main course search / filter bar */
.tbcm-course-toolbar{
  display:grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(220px, .7fr);
  gap:14px;
  margin:0 0 18px;
  align-items:end;
}
.tbcm-course-toolbar label{
  display:block;
  font-size:13px;
  font-weight:700;
  color:#1f2937;
  margin:0 0 6px;
}
.tbcm-course-toolbar input,
.tbcm-course-toolbar select{
  width:100%;
  height:44px;
  border:1px solid #d1d5db;
  border-radius:12px;
  padding:0 14px;
  background:#fff;
  color:#111827;
}
.tbcm-course-list--grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.tbcm-course-list--grid.tbcm-course-list--cols-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.tbcm-course-list--grid.tbcm-course-list--cols-3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.tbcm-course-list--grid.tbcm-course-list--cols-4{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.tbcm-course-list--full{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.tbcm-course-list--full .tbcm-card--course{
  margin-bottom:0;
}
@media (max-width: 1100px){
  .tbcm-course-list--grid,
  .tbcm-course-list--grid.tbcm-course-list--cols-4{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width: 860px){
  .tbcm-course-list--grid,
  .tbcm-course-list--grid.tbcm-course-list--cols-4,
  .tbcm-course-list--grid.tbcm-course-list--cols-3{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 620px){
  .tbcm-course-list--grid,
  .tbcm-course-list--grid.tbcm-course-list--cols-4,
  .tbcm-course-list--grid.tbcm-course-list--cols-3,
  .tbcm-course-list--grid.tbcm-course-list--cols-2{
    grid-template-columns:1fr;
  }
}
.tbcm-card--course .tbcm-card-body{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.tbcm-card--course .tbcm-card-copy{
  flex:1 1 auto;
}
.tbcm-course-image-wrap{
  flex:0 0 110px;
}
.tbcm-course-image{
  width:110px;
  height:80px;
  object-fit:cover;
  border-radius:12px;
  display:block;
}
.tbcm-card-days{ margin-top:8px; }
.tbcm-loading{
  position:relative;
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:18px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#f8fafc;
  color:#6b7280;
  font-weight:600;
}
.tbcm-loading:before{
  content:'';
  width:18px;
  height:18px;
  border-radius:50%;
  border:2px solid #d1d5db;
  border-top-color:#6b7280;
  animation:tbcmSpin .8s linear infinite;
}
@keyframes tbcmSpin{to{transform:rotate(360deg)}}
@media (max-width: 767px){
  .tbcm-course-toolbar{ grid-template-columns:1fr; }
  .tbcm-card--course .tbcm-card-body{ flex-direction:column; }
  .tbcm-course-image-wrap, .tbcm-course-image{ width:100%; height:auto; max-height:220px; }
}

.tbcm-auth-switch-links{margin:-4px 0 12px;font-size:13px;}
.tbcm-auth-switch-links a{text-decoration:underline;font-weight:700;}

/* =========================================================
   Luxe frontend polish – premium booking UI
   ========================================================= */
:root{
  --tbcm-ink:#0f172a;
  --tbcm-subtle:#475569;
  --tbcm-line:#dbe4f0;
  --tbcm-soft:#f8fbff;
  --tbcm-soft-2:#f5f7fb;
  --tbcm-brand:#0f766e;
  --tbcm-brand-2:#14b8a6;
  --tbcm-accent:#f97316;
  --tbcm-success:#166534;
  --tbcm-radius-xl:22px;
  --tbcm-radius-lg:18px;
  --tbcm-radius-md:14px;
  --tbcm-shadow-lg:0 26px 60px rgba(15,23,42,.12);
  --tbcm-shadow-md:0 16px 38px rgba(15,23,42,.10);
  --tbcm-shadow-sm:0 10px 24px rgba(15,23,42,.07);
}

.tbcm-wrap{
  max-width:100%;
  padding:28px;
  border:1px solid rgba(148,163,184,.22);
  border-radius:28px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  box-shadow:var(--tbcm-shadow-lg);
}

.tbcm-progress{
  gap:14px;
  padding:14px;
  border-radius:20px;
  background:linear-gradient(180deg,#f8fbff 0%,#f2f7fc 100%);
  border:1px solid rgba(148,163,184,.18);
}
.tbcm-progress-step{
  min-height:64px;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(8px);
}
.tbcm-progress-step .tbcm-num{
  width:34px;height:34px;font-size:14px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35), 0 8px 18px rgba(15,23,42,.08);
}
.tbcm-progress-step.is-active{
  border-color:rgba(249,115,22,.28);
  background:linear-gradient(180deg,#fff7ed 0%,#ffffff 100%);
  box-shadow:0 12px 24px rgba(249,115,22,.12);
}
.tbcm-progress-step.is-done{
  border-color:rgba(22,101,52,.16);
  background:linear-gradient(180deg,#ecfdf5 0%,#ffffff 100%);
}

.tbcm-wizard{gap:16px;align-items:start;}
.tbcm-step{
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(148,163,184,.18);
  background:linear-gradient(180deg,#ffffff 0%,#fcfdff 100%);
  box-shadow:var(--tbcm-shadow-sm);
  min-height:240px;
}
.tbcm-step h3{
  font-size:15px;
  font-weight:800;
  letter-spacing:.01em;
  margin-bottom:14px;
  color:var(--tbcm-ink);
}

.tbcm-card{
  position:relative;
  padding:16px 16px;
  border-radius:18px;
  border:1px solid rgba(148,163,184,.22);
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 10px 22px rgba(15,23,42,.05);
  font-size:15px !important;
  overflow:hidden;
}
.tbcm-card::before{
  content:"";
  position:absolute;inset:0 auto 0 0;width:4px;
  background:linear-gradient(180deg,var(--tbcm-brand),var(--tbcm-brand-2));
  opacity:0;transition:opacity .18s ease;
}
.tbcm-card:hover{transform:translateY(-3px);box-shadow:0 18px 32px rgba(15,23,42,.10);border-color:rgba(20,184,166,.25);background:linear-gradient(180deg,#ffffff 0%,#f2fffd 100%);} 
.tbcm-card:hover::before,.tbcm-card.is-active::before{opacity:1;}
.tbcm-card.is-active{
  border-color:rgba(249,115,22,.32);
  background:linear-gradient(180deg,#fff7ed 0%,#ffffff 100%);
  box-shadow:0 18px 34px rgba(249,115,22,.12);
}
.tbcm-card-sub,.tbcm-card-date{color:var(--tbcm-subtle);}
.tbcm-card-title{font-size:17px !important;font-weight:800;color:var(--tbcm-ink)!important;}

.tbcm-mini-summary,
#tbcm-attendees-summary-top,
#tbcm-attendees-summary{
  border-radius:20px;
}

.tbcm-form--lux{
  gap:12px;
}
#tbcm-attendee-step .tbcm-form label,
.tbcm-auth-panel label{
  margin:12px 0 7px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
  color:#334155;
}
.tbcm-form input,
.tbcm-form select,
.tbcm-form textarea,
.tbcm-auth-panel input,
.tbcm-auth-panel select{
  width:100%;
  min-height:52px;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(148,163,184,.28);
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85), 0 6px 16px rgba(15,23,42,.04);
  color:var(--tbcm-ink);
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.tbcm-form input:focus,
.tbcm-form select:focus,
.tbcm-form textarea:focus,
.tbcm-auth-panel input:focus,
.tbcm-auth-panel select:focus{
  outline:none;
  border-color:rgba(20,184,166,.46);
  box-shadow:0 0 0 4px rgba(20,184,166,.14), 0 12px 24px rgba(15,23,42,.08);
  transform:translateY(-1px);
}
.tbcm-form select[disabled],
.tbcm-form input[disabled]{
  background:linear-gradient(180deg,#f8fafc 0%,#eef4f8 100%);
  color:#475569;
  cursor:not-allowed;
}

.tbcm-input-icon-wrap{position:relative;}
.tbcm-input-icon-wrap .tbcm-input-icon{
  position:absolute;left:16px;top:50%;transform:translateY(-50%);
  width:18px;height:18px;pointer-events:none;opacity:1;
  background-repeat:no-repeat;
  background-position:center;
  background-size:18px 18px;
}
.tbcm-input-icon-wrap--date .tbcm-input-icon{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='3'/%3E%3Cpath d='M8 3.5v4M16 3.5v4M3.5 9.5h17'/%3E%3Cpath d='M8.5 13h.01M12 13h.01M15.5 13h.01M8.5 16.5h.01M12 16.5h.01'/%3E%3C/svg%3E");
}
.tbcm-input-icon-wrap--date input[type="date"]{padding-left:48px;padding-right:54px;}
.tbcm-input-icon-wrap--date::after{
  content:"";
  position:absolute;right:14px;top:50%;transform:translateY(-50%);
  width:20px;height:20px;border-radius:999px;
  background:linear-gradient(180deg,rgba(226,232,240,.95) 0%, rgba(241,245,249,.95) 100%);
  box-shadow:inset 0 0 0 1px rgba(148,163,184,.35);
  pointer-events:none;
}
.tbcm-input-icon-wrap--date input[type="date"]::-webkit-calendar-picker-indicator{
  position:relative;z-index:2;opacity:.02;width:100%;height:100%;cursor:pointer;
}

.tbcm-auth-wrapper{margin:0 0 18px 0;}
.tbcm-auth-status{
  padding:14px 16px;
  border-radius:16px;
  font-weight:700;
  border:1px solid rgba(148,163,184,.22);
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 12px 24px rgba(15,23,42,.05);
}
.tbcm-auth-status.is-info{background:linear-gradient(180deg,#eff6ff 0%,#ffffff 100%);border-color:rgba(59,130,246,.18);}
.tbcm-auth-status.is-success{background:linear-gradient(180deg,#ecfdf5 0%,#ffffff 100%);border-color:rgba(34,197,94,.18);}
.tbcm-auth-status.is-error{background:linear-gradient(180deg,#fff1f2 0%,#ffffff 100%);border-color:rgba(239,68,68,.18);}
.tbcm-auth-switch-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 4px 16px;font-size:13px;color:#475569;}
.tbcm-auth-switch-links a,
.tbcm-guest-link,
.tbcm-clear-link{
  display:inline-flex;align-items:center;gap:6px;
  color:var(--tbcm-brand);
  text-decoration:none;
  font-weight:800;
}
.tbcm-auth-switch-links a:hover,
.tbcm-guest-link:hover,
.tbcm-clear-link:hover{color:#0b5d58;text-decoration:none;}
.tbcm-auth-switch-links a::after,
.tbcm-guest-link::after,
.tbcm-clear-link::after{content:"→";font-size:12px;transition:transform .16s ease;}
.tbcm-auth-switch-links a:hover::after,
.tbcm-guest-link:hover::after,
.tbcm-clear-link:hover::after{transform:translateX(2px);} 

.tbcm-auth-panel{
  border:1px solid rgba(148,163,184,.18);
  border-radius:24px;
  padding:20px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  box-shadow:var(--tbcm-shadow-md);
}
.tbcm-tabs{
  display:inline-flex;
  padding:5px;
  border-radius:999px;
  background:#f1f5f9;
  border:1px solid rgba(148,163,184,.18);
  gap:4px;
  margin-bottom:16px;
}
.tbcm-tab{
  border:0;
  min-width:116px;
  padding:11px 18px;
  border-radius:999px;
  background:transparent;
  color:#475569;
  font-weight:800;
}
.tbcm-tab.is-active{
  background:linear-gradient(135deg,var(--tbcm-brand) 0%,var(--tbcm-brand-2) 100%);
  color:#fff;
  box-shadow:0 12px 20px rgba(15,118,110,.24);
}
.tbcm-tab-panel{padding-top:6px;}
.tbcm-auth-title{font-size:18px;font-weight:900;margin-bottom:4px;color:var(--tbcm-ink);}

#tbcm-saved-attendees-wrap{
  padding:18px;
  border-radius:22px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid rgba(148,163,184,.18);
  box-shadow:var(--tbcm-shadow-sm);
}

.tbcm-attendee-more{
  margin-top:14px;
  padding:18px;
  border-radius:22px;
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);
  border:1px solid rgba(148,163,184,.18);
  box-shadow:var(--tbcm-shadow-sm);
}
.tbcm-attendee-more-head{
  display:flex;align-items:center;gap:10px;
  font-size:15px;font-weight:900;color:var(--tbcm-ink);margin-bottom:6px;
}
.tbcm-attendee-more-head::before{
  content:"✦";
  display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:999px;
  background:linear-gradient(135deg,rgba(15,118,110,.12) 0%,rgba(20,184,166,.2) 100%);
  color:var(--tbcm-brand);
}

.tbcm-btn,
#tbcm-add-another,
#tbcm-add-to-cart{
  min-height:50px;
  padding:13px 18px;
  border-radius:16px;
  border:1px solid rgba(15,118,110,.08);
  background:linear-gradient(135deg,var(--tbcm-brand) 0%, var(--tbcm-brand-2) 100%);
  color:#fff !important;
  box-shadow:0 18px 30px rgba(15,118,110,.20);
  font-size:14px;
  letter-spacing:.01em;
}
#tbcm-add-another{background:linear-gradient(135deg,#0f172a 0%,#334155 100%) !important;border-color:rgba(15,23,42,.15);box-shadow:0 18px 30px rgba(15,23,42,.18);} 
.tbcm-btn:hover,
#tbcm-add-another:hover,
#tbcm-add-to-cart:hover{transform:translateY(-1px);filter:brightness(1.02);} 



.tbcm-wizard.is-camp{
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
}

.tbcm-wizard.is-camp #tbcm-day-step,
.tbcm-wizard.is-camp #tbcm-attendee-step{
  display:block;
}

.tbcm-camp-tabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:0 0 14px;
}

.tbcm-camp-tab{
  appearance:none;
  border:1px solid #e5e7eb;
  background:#fff;
  border-radius:16px;
  padding:14px 16px;
  text-align:left;
  font-weight:800;
  color:#0f172a;
  display:flex;
  flex-direction:column;
  gap:6px;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(15,23,42,.05);
}

.tbcm-camp-tab span{
  font-size:13px;
  font-weight:700;
  color:#64748b;
}

.tbcm-camp-tab.is-active{
  border-color:#f97316;
  background:#fff7ed;
  box-shadow:0 12px 24px rgba(249,115,22,.14);
}

.tbcm-camp-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin:0 0 14px;
}

.tbcm-camp-checkall{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:700;
  color:#111827;
  padding:10px 14px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  background:#f8fafc;
}

.tbcm-camp-checkall input,
.tbcm-card--camp-date input{
  width:18px;
  height:18px;
  accent-color:#166534;
}

.tbcm-camp-date-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.tbcm-card--camp-date{
  display:flex;
  align-items:flex-start;
  gap:10px;
  justify-content:flex-start;
  min-height:72px;
  margin-bottom:0;
}

.tbcm-card--camp-date span{
  line-height:1.45;
}

.tbcm-card--camp-date:has(input:checked){
  border-color:#f97316;
  background:#fff7ed;
  box-shadow:0 10px 24px rgba(249,115,22,.12);
}

.tbcm-camp-locked{
  display:inline-flex;
  margin-top:8px;
  font-size:12px;
  font-weight:700;
  color:#7c2d12;
}

.tbcm-camp-actions{
  margin-top:16px;
  display:flex;
  justify-content:flex-end;
}

.tbcm-btn--next{
  min-width:160px;
}

@media (max-width: 1100px){
  .tbcm-wizard{grid-template-columns:1fr 1fr;}
}
@media (max-width: 767px){
  .tbcm-wrap{padding:18px;border-radius:22px;}
  .tbcm-progress{flex-direction:column;}
  .tbcm-wizard{grid-template-columns:1fr;}
  .tbcm-step{min-height:auto;}
  .tbcm-tabs{display:flex;width:100%;}
  .tbcm-tab{flex:1;min-width:0;}
  .tbcm-camp-tabs{grid-template-columns:1fr;}
}


/* =========================================================
   v1.7.0 fixes: membership radios, auth buttons, My Account buttons
   ========================================================= */
#tbcm-membership-wrap{
  margin-top:10px;
}
#tbcm-membership-wrap > label{
  display:block;
  margin-bottom:12px;
}
.tbcm-member-choice{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(180px,1fr));
  gap:14px !important;
  margin:4px 0 14px !important;
}
.tbcm-member-choice label{
  display:flex !important;
  align-items:center;
  gap:12px !important;
  margin:0 !important;
  padding:16px 18px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 20px rgba(15,23,42,.05);
  cursor:pointer;
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease;
}
.tbcm-member-choice label:hover{
  border-color:rgba(15,118,110,.34);
  transform:translateY(-1px);
}
.tbcm-member-choice input[type="radio"]{
  -webkit-appearance:none;
  appearance:none;
  width:22px !important;
  height:22px !important;
  min-width:22px;
  margin:0 !important;
  border-radius:999px;
  border:2px solid #94a3b8;
  background:#fff;
  display:grid;
  place-items:center;
  box-shadow:none !important;
  outline:none;
}
.tbcm-member-choice input[type="radio"]::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:999px;
  transform:scale(0);
  transition:transform .16s ease;
  background:linear-gradient(135deg,var(--tbcm-brand) 0%, var(--tbcm-brand-2) 100%);
}
.tbcm-member-choice input[type="radio"]:checked{
  border-color:var(--tbcm-brand);
}
.tbcm-member-choice input[type="radio"]:checked::before{
  transform:scale(1);
}
.tbcm-member-choice input[type="radio"]:checked + span{
  color:var(--tbcm-ink);
}
.tbcm-member-choice span{
  font-weight:800;
  color:#334155;
}

#tbcm-do-login,
#tbcm-do-register{
  display:block;
  width:100% !important;
  max-width:none !important;
  margin:16px 0 0;
}
#tbcm-do-login + .tbcm-auth-msg,
#tbcm-do-register + .tbcm-auth-msg{
  margin-top:12px;
}
#tbcm-continue-guest{
  margin-top:16px;
}

.tbcm-myattendees__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:16px;
}
.tbcm-attendee-li__actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.tbcm-attendee-li__actions .tbcm-btn{
  min-width:132px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  white-space:nowrap;
  font-size:15px;
  font-weight:800;
}
.tbcm-attendee-li__actions .tbcm-btn.is-ghost{
  color:#0f172a !important;
  background:#fff;
  border:1px solid rgba(148,163,184,.35);
  box-shadow:none;
}
.tbcm-attendee-li__actions .tbcm-btn.is-danger{
  color:#b42318 !important;
  background:rgba(231,76,60,.10);
  border:1px solid rgba(231,76,60,.34);
  box-shadow:none;
}

@media (max-width: 767px){
  .tbcm-member-choice{
    grid-template-columns:1fr;
  }
  .tbcm-myattendees__actions .tbcm-btn,
  .tbcm-attendee-li__actions .tbcm-btn{
    width:100%;
  }
}


/* =========================================================
   v1.7.1 fixes: edit attendee cancel button polish
   ========================================================= */
#tbcm-att-cancel{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:180px;
  color:#334155 !important;
  background:#ffffff !important;
  border:1px solid rgba(148,163,184,.42) !important;
  box-shadow:none !important;
}
#tbcm-att-cancel:hover,
#tbcm-att-cancel:focus{
  color:#0f172a !important;
  border-color:rgba(15,118,110,.35) !important;
  background:#f8fafc !important;
}
.tbcm-myattendees__actions .tbcm-btn{
  min-height:64px;
}

/* =========================================================
   v1.8.x theme presets – dark / light / bespoke styling layer
   ========================================================= */
.tbcm-wrap{
  --tbcm-theme-shell-bg: var(--tbcm-theme-shell-bg, #ffffff);
  --tbcm-theme-shell-bg-2: var(--tbcm-theme-shell-bg-2, #fbfdff);
  --tbcm-theme-panel-bg: var(--tbcm-theme-panel-bg, #f8fbff);
  --tbcm-theme-panel-bg-2: var(--tbcm-theme-panel-bg-2, #ffffff);
  --tbcm-theme-border: var(--tbcm-theme-border, #dbe4f0);
  --tbcm-theme-heading: var(--tbcm-theme-heading, #0f172a);
  --tbcm-theme-text: var(--tbcm-theme-text, #334155);
  --tbcm-theme-subtle: var(--tbcm-theme-subtle, #64748b);
  --tbcm-theme-accent: var(--tbcm-theme-accent, #0f766e);
  --tbcm-theme-accent-soft: var(--tbcm-theme-accent-soft, #ecfeff);
  --tbcm-theme-done-border: var(--tbcm-theme-done-border, #86efac);
  --tbcm-theme-done-bg: var(--tbcm-theme-done-bg, #ecfdf5);
  --tbcm-theme-button: var(--tbcm-theme-button, #0f766e);
  --tbcm-theme-button-hover: var(--tbcm-theme-button-hover, #115e59);
  --tbcm-theme-button-text: var(--tbcm-theme-button-text, #ffffff);
  --tbcm-theme-button-text-hover: var(--tbcm-theme-button-text-hover, var(--tbcm-theme-button-text));
  --tbcm-theme-link: var(--tbcm-theme-link, #0f766e);
  --tbcm-theme-link-hover: var(--tbcm-theme-link-hover, #115e59);
}

.tbcm-wrap,
.tbcm-theme-fresh_light,
.tbcm-theme-super_modern_dark,
.tbcm-theme-custom{
  color:var(--tbcm-theme-text) !important;
  background:linear-gradient(180deg,var(--tbcm-theme-shell-bg) 0%,var(--tbcm-theme-shell-bg-2) 100%) !important;
  border-color:var(--tbcm-theme-border) !important;
}

.tbcm-wrap::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    radial-gradient(circle at top left, color-mix(in srgb, var(--tbcm-theme-accent) 16%, transparent) 0%, transparent 32%),
    radial-gradient(circle at bottom right, color-mix(in srgb, var(--tbcm-theme-link) 14%, transparent) 0%, transparent 28%);
  opacity:.95;
}
.tbcm-wrap > *{position:relative;z-index:1;}

.tbcm-theme-fresh_light{
  box-shadow:0 30px 74px rgba(15,23,42,.12) !important;
}
.tbcm-theme-super_modern_dark,
.tbcm-theme-custom{
  box-shadow:0 34px 88px rgba(2,6,23,.48) !important;
}
.tbcm-theme-super_modern_dark{
  --tbcm-theme-subtle:#94a3b8;
}

.tbcm-wrap .tbcm-progress,
.tbcm-wrap .tbcm-step,
.tbcm-wrap .tbcm-auth-panel,
.tbcm-wrap #tbcm-saved-attendees-wrap,
.tbcm-wrap .tbcm-attendee-more,
.tbcm-wrap .tbcm-mini-summary,
.tbcm-wrap #tbcm-attendees-summary-top,
.tbcm-wrap #tbcm-attendees-summary,
.tbcm-wrap .tbcm-course-toolbar,
.tbcm-wrap .tbcm-card--course .tbcm-card-body,
.tbcm-wrap .tbcm-empty,
.tbcm-wrap .tbcm-loading,
.tbcm-wrap .tbcm-msg,
.tbcm-wrap .tbcm-auth-status{
  background:linear-gradient(180deg,color-mix(in srgb, var(--tbcm-theme-panel-bg) 92%, white 8%) 0%, color-mix(in srgb, var(--tbcm-theme-panel-bg-2) 96%, transparent) 100%) !important;
  border-color:color-mix(in srgb, var(--tbcm-theme-border) 88%, transparent) !important;
  color:var(--tbcm-theme-text) !important;
}

.tbcm-wrap .tbcm-progress-step,
.tbcm-wrap .tbcm-card,
.tbcm-wrap .tbcm-attendee-pill,
.tbcm-wrap .tbcm-auth-switch-links,
.tbcm-wrap .tbcm-member-choice label,
.tbcm-wrap .tbcm-attendee-li,
.tbcm-wrap .tbcm-course-search,
.tbcm-wrap .tbcm-course-day-filter,
.tbcm-wrap .tbcm-qty button,
.tbcm-wrap .tbcm-qty input,
.tbcm-wrap .tbcm-login-note,
.tbcm-wrap .tbcm-register-note{
  background:linear-gradient(180deg,color-mix(in srgb, var(--tbcm-theme-shell-bg) 92%, white 8%) 0%, color-mix(in srgb, var(--tbcm-theme-panel-bg) 95%, transparent) 100%) !important;
  border-color:color-mix(in srgb, var(--tbcm-theme-border) 84%, transparent) !important;
  color:var(--tbcm-theme-text) !important;
}

.tbcm-wrap .tbcm-step h3,
.tbcm-wrap .tbcm-card-title,
.tbcm-wrap .tbcm-auth-title,
.tbcm-wrap .tbcm-progress-step .tbcm-label,
.tbcm-wrap #tbcm-course-title,
.tbcm-wrap .tbcm-attendee-more-head,
.tbcm-wrap .tbcm-member-choice span,
.tbcm-wrap .tbcm-auth-status,
.tbcm-wrap .tbcm-course-search,
.tbcm-wrap .tbcm-course-day-filter,
.tbcm-wrap .tbcm-login-note strong,
.tbcm-wrap .tbcm-register-note strong{
  color:var(--tbcm-theme-heading) !important;
}

.tbcm-wrap .tbcm-card-sub,
.tbcm-wrap .tbcm-card-date,
.tbcm-wrap #tbcm-course-dates,
.tbcm-wrap .tbcm-auth-switch-links,
.tbcm-wrap .tbcm-empty,
.tbcm-wrap .tbcm-loading,
.tbcm-wrap .tbcm-msg,
.tbcm-wrap .tbcm-login-note,
.tbcm-wrap .tbcm-register-note,
.tbcm-wrap .tbcm-qty input,
.tbcm-wrap .tbcm-attendee-li__meta,
.tbcm-wrap .tbcm-attendee-meta{
  color:var(--tbcm-theme-subtle) !important;
}

.tbcm-wrap .tbcm-progress-step .tbcm-num{
  background:color-mix(in srgb, var(--tbcm-theme-border) 78%, white 22%) !important;
  color:var(--tbcm-theme-heading) !important;
}
.tbcm-wrap .tbcm-progress-step.is-active{
  border-color:var(--tbcm-theme-accent) !important;
  background:linear-gradient(180deg,var(--tbcm-theme-accent-soft) 0%, color-mix(in srgb, var(--tbcm-theme-panel-bg) 92%, transparent) 100%) !important;
  box-shadow:0 16px 34px color-mix(in srgb, var(--tbcm-theme-accent) 18%, transparent) !important;
}
.tbcm-wrap .tbcm-progress-step.is-active .tbcm-num,
.tbcm-wrap .tbcm-card.is-active .tbcm-num{
  background:var(--tbcm-theme-accent) !important;
  color:var(--tbcm-theme-button-text) !important;
}
.tbcm-wrap .tbcm-progress-step.is-done{
  border-color:var(--tbcm-theme-done-border) !important;
  background:linear-gradient(180deg,var(--tbcm-theme-done-bg) 0%, color-mix(in srgb, var(--tbcm-theme-panel-bg) 92%, transparent) 100%) !important;
}
.tbcm-wrap .tbcm-card:hover,
.tbcm-wrap .tbcm-member-choice label:hover,
.tbcm-wrap .tbcm-tab:hover,
.tbcm-wrap .tbcm-qty button:hover{
  border-color:color-mix(in srgb, var(--tbcm-theme-accent) 54%, transparent) !important;
  box-shadow:0 18px 34px color-mix(in srgb, var(--tbcm-theme-accent) 12%, transparent) !important;
}
.tbcm-wrap .tbcm-card.is-active,
.tbcm-wrap .tbcm-member-choice input[type="radio"]:checked + span,
.tbcm-wrap .tbcm-member-choice label.is-active{
  border-color:color-mix(in srgb, var(--tbcm-theme-accent) 70%, transparent) !important;
  background:linear-gradient(180deg,var(--tbcm-theme-accent-soft) 0%, color-mix(in srgb, var(--tbcm-theme-panel-bg) 94%, transparent) 100%) !important;
}
.tbcm-wrap .tbcm-card::before,
.tbcm-wrap .tbcm-attendee-more-head::before,
.tbcm-wrap .tbcm-member-choice input[type="radio"]::before{
  background:linear-gradient(135deg,var(--tbcm-theme-accent) 0%, var(--tbcm-theme-link) 100%) !important;
}

.tbcm-wrap input,
.tbcm-wrap select,
.tbcm-wrap textarea,
.tbcm-wrap .tbcm-course-search,
.tbcm-wrap .tbcm-course-day-filter{
  background:linear-gradient(180deg,color-mix(in srgb, var(--tbcm-theme-shell-bg) 94%, white 6%) 0%, color-mix(in srgb, var(--tbcm-theme-panel-bg) 96%, transparent) 100%) !important;
  border-color:color-mix(in srgb, var(--tbcm-theme-border) 86%, transparent) !important;
  color:var(--tbcm-theme-heading) !important;
}
.tbcm-wrap input::placeholder,
.tbcm-wrap textarea::placeholder{color:color-mix(in srgb, var(--tbcm-theme-subtle) 72%, transparent) !important;}
.tbcm-wrap input:focus,
.tbcm-wrap select:focus,
.tbcm-wrap textarea:focus{
  border-color:color-mix(in srgb, var(--tbcm-theme-accent) 78%, transparent) !important;
  box-shadow:0 0 0 4px color-mix(in srgb, var(--tbcm-theme-accent) 14%, transparent), 0 16px 34px rgba(15,23,42,.10) !important;
}

.tbcm-wrap .tbcm-btn,
.tbcm-wrap #tbcm-add-another,
.tbcm-wrap #tbcm-add-to-cart,
.tbcm-wrap #tbcm-do-login,
.tbcm-wrap #tbcm-do-register,
.tbcm-wrap .tbcm-tab.is-active{
  background:linear-gradient(135deg,var(--tbcm-theme-button) 0%, var(--tbcm-theme-button-hover) 100%) !important;
  color:var(--tbcm-theme-button-text) !important;
  border:1px solid transparent !important;
  box-shadow:0 18px 36px color-mix(in srgb, var(--tbcm-theme-button) 26%, transparent) !important;
}
.tbcm-wrap .tbcm-btn:hover,
.tbcm-wrap #tbcm-add-another:hover,
.tbcm-wrap #tbcm-add-to-cart:hover,
.tbcm-wrap #tbcm-do-login:hover,
.tbcm-wrap #tbcm-do-register:hover{
  background:linear-gradient(135deg,var(--tbcm-theme-button-hover) 0%, var(--tbcm-theme-button) 100%) !important;
  color:var(--tbcm-theme-button-text-hover) !important;
}
.tbcm-wrap .tbcm-btn.is-ghost,
.tbcm-wrap #tbcm-att-cancel,
.tbcm-wrap .tbcm-attendee-li__actions .tbcm-btn.is-ghost{
  color:var(--tbcm-theme-heading) !important;
  background:linear-gradient(180deg,color-mix(in srgb, var(--tbcm-theme-shell-bg) 96%, white 4%) 0%, color-mix(in srgb, var(--tbcm-theme-panel-bg) 96%, transparent) 100%) !important;
  border-color:color-mix(in srgb, var(--tbcm-theme-border) 90%, transparent) !important;
  box-shadow:none !important;
}

.tbcm-wrap a,
.tbcm-wrap .tbcm-auth-switch-links a,
.tbcm-wrap .tbcm-guest-link,
.tbcm-wrap .tbcm-clear-link{
  color:var(--tbcm-theme-link) !important;
}
.tbcm-wrap a:hover,
.tbcm-wrap .tbcm-auth-switch-links a:hover,
.tbcm-wrap .tbcm-guest-link:hover,
.tbcm-wrap .tbcm-clear-link:hover{
  color:var(--tbcm-theme-link-hover) !important;
}

.tbcm-theme-super_modern_dark .tbcm-progress,
.tbcm-theme-super_modern_dark .tbcm-step,
.tbcm-theme-super_modern_dark .tbcm-auth-panel,
.tbcm-theme-super_modern_dark #tbcm-saved-attendees-wrap,
.tbcm-theme-super_modern_dark .tbcm-attendee-more,
.tbcm-theme-super_modern_dark .tbcm-mini-summary,
.tbcm-theme-super_modern_dark #tbcm-attendees-summary-top,
.tbcm-theme-super_modern_dark #tbcm-attendees-summary,
.tbcm-theme-super_modern_dark .tbcm-course-toolbar,
.tbcm-theme-super_modern_dark .tbcm-card--course .tbcm-card-body{
  box-shadow:0 24px 54px rgba(2,6,23,.28) !important;
}
.tbcm-theme-super_modern_dark .tbcm-card,
.tbcm-theme-super_modern_dark .tbcm-progress-step,
.tbcm-theme-super_modern_dark .tbcm-member-choice label{
  box-shadow:0 16px 34px rgba(2,6,23,.20) !important;
}
.tbcm-theme-super_modern_dark .tbcm-progress-step .tbcm-num{
  background:rgba(148,163,184,.18) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04), 0 8px 18px rgba(2,6,23,.30) !important;
}
.tbcm-theme-super_modern_dark .tbcm-auth-status.is-info{background:linear-gradient(180deg,#10243b 0%,#0f1b2d 100%) !important;}
.tbcm-theme-super_modern_dark .tbcm-auth-status.is-success{background:linear-gradient(180deg,#0f2d2d 0%,#10263a 100%) !important;}
.tbcm-theme-super_modern_dark .tbcm-auth-status.is-error{background:linear-gradient(180deg,#3b1724 0%,#1b1f31 100%) !important;}


/* =========================================================
   Theme preset refinements + full-width shell options
   ========================================================= */
.tbcm-wrap .tbcm-course-toolbar{
  padding:18px;
  border-radius:24px;
}
.tbcm-wrap .tbcm-course-toolbar > div{
  min-width:0;
}
.tbcm-wrap .tbcm-course-toolbar label{
  display:block;
  margin:0 0 10px;
  color:var(--tbcm-theme-heading) !important;
  font-size:14px !important;
  font-weight:800 !important;
  letter-spacing:-.01em;
}
.tbcm-wrap .tbcm-course-toolbar input,
.tbcm-wrap .tbcm-course-toolbar select{
  min-height:64px;
  border-radius:16px !important;
  background:linear-gradient(180deg,color-mix(in srgb, var(--tbcm-theme-shell-bg) 97%, white 3%) 0%, color-mix(in srgb, var(--tbcm-theme-panel-bg) 96%, transparent) 100%) !important;
  color:var(--tbcm-theme-heading) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.tbcm-wrap .tbcm-course-toolbar input::placeholder{
  color:color-mix(in srgb, var(--tbcm-theme-subtle) 82%, transparent) !important;
}
.tbcm-wrap .tbcm-course-toolbar select option{
  color:#0f172a;
  background:#ffffff;
}
.tbcm-theme-fresh_light .tbcm-course-toolbar{
  background:linear-gradient(135deg, rgba(15,118,110,.06) 0%, rgba(20,184,166,.04) 32%, rgba(255,255,255,.92) 100%) !important;
  border-color:rgba(148,163,184,.22) !important;
}
.tbcm-theme-fresh_light .tbcm-course-toolbar input,
.tbcm-theme-fresh_light .tbcm-course-toolbar select{
  border-color:rgba(203,213,225,.92) !important;
  box-shadow:0 10px 22px rgba(15,23,42,.05), inset 0 1px 0 rgba(255,255,255,.85);
}
.tbcm-theme-fresh_light .tbcm-course-toolbar input:focus,
.tbcm-theme-fresh_light .tbcm-course-toolbar select:focus{
  box-shadow:0 0 0 4px rgba(20,184,166,.10), 0 16px 34px rgba(15,23,42,.08) !important;
}
.tbcm-theme-super_modern_dark .tbcm-course-toolbar{
  background:
    radial-gradient(circle at top left, rgba(103,232,249,.10) 0%, transparent 30%),
    radial-gradient(circle at bottom right, rgba(45,212,191,.08) 0%, transparent 24%),
    linear-gradient(180deg, rgba(15,27,45,.96) 0%, rgba(8,17,31,.98) 100%) !important;
  border-color:rgba(103,232,249,.16) !important;
}
.tbcm-theme-super_modern_dark .tbcm-course-toolbar input,
.tbcm-theme-super_modern_dark .tbcm-course-toolbar select{
  border-color:rgba(148,163,184,.28) !important;
  color:#f8fafc !important;
}
.tbcm-theme-super_modern_dark .tbcm-course-toolbar input::placeholder{
  color:rgba(203,213,225,.72) !important;
}
.tbcm-theme-super_modern_dark .tbcm-course-toolbar label,
.tbcm-theme-super_modern_dark #tbcm-course-title,
.tbcm-theme-super_modern_dark #tbcm-course-dates,
.tbcm-theme-super_modern_dark .tbcm-step h3,
.tbcm-theme-super_modern_dark .tbcm-auth-panel h3,
.tbcm-theme-super_modern_dark #tbcm-attendee-step .tbcm-form label,
.tbcm-theme-super_modern_dark .tbcm-mini-summary__title,
.tbcm-theme-super_modern_dark .tbcm-mini-summary__metric-label,
.tbcm-theme-super_modern_dark .tbcm-mini-summary__metric-value,
.tbcm-theme-super_modern_dark .tbcm-chip,
.tbcm-theme-super_modern_dark .tbcm-chip__label,
.tbcm-theme-super_modern_dark .tbcm-auth-status,
.tbcm-theme-super_modern_dark .tbcm-login-note,
.tbcm-theme-super_modern_dark .tbcm-register-note,
.tbcm-theme-super_modern_dark .tbcm-attendee-more-head,
.tbcm-theme-super_modern_dark .tbcm-attendee-more-head h4{
  color:#f8fafc !important;
}
.tbcm-theme-super_modern_dark #tbcm-course-dates,
.tbcm-theme-super_modern_dark .tbcm-mini-summary__metric-label,
.tbcm-theme-super_modern_dark #tbcm-attendee-step .tbcm-form label,
.tbcm-theme-super_modern_dark .tbcm-login-note,
.tbcm-theme-super_modern_dark .tbcm-register-note{
  opacity:1 !important;
}
.tbcm-theme-super_modern_dark #tbcm-attendee-step .tbcm-form label{
  letter-spacing:.04em;
}
.tbcm-theme-super_modern_dark .tbcm-mini-summary__metric-value{
  text-shadow:0 0 24px rgba(103,232,249,.10);
}
.tbcm-theme-super_modern_dark .tbcm-chip{
  background:linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(15,27,45,.92) 100%) !important;
  border-color:rgba(103,232,249,.12) !important;
}
.tbcm-theme-super_modern_dark .tbcm-wrap select,
.tbcm-theme-super_modern_dark .tbcm-wrap input,
.tbcm-theme-super_modern_dark .tbcm-wrap textarea{
  color:#f8fafc !important;
}
.tbcm-theme-super_modern_dark .tbcm-wrap .tbcm-card-sub,
.tbcm-theme-super_modern_dark .tbcm-wrap .tbcm-card-date,
.tbcm-theme-super_modern_dark .tbcm-wrap .tbcm-card-days,
.tbcm-theme-super_modern_dark .tbcm-wrap .tbcm-empty,
.tbcm-theme-super_modern_dark .tbcm-wrap .tbcm-loading,
.tbcm-theme-super_modern_dark .tbcm-wrap .tbcm-msg,
.tbcm-theme-super_modern_dark .tbcm-wrap .tbcm-attendee-li__meta,
.tbcm-theme-super_modern_dark .tbcm-wrap .tbcm-attendee-meta{
  color:rgba(226,232,240,.88) !important;
}
.tbcm-fullwidth-all{
  max-width:none !important;
  width:100% !important;
  border-radius:0 !important;
}
@media (max-width: 767px){
  .tbcm-fullwidth-mobile{
    max-width:none !important;
    width:100% !important;
    border-radius:0 !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }
}


/* v1.8.x hotfixes: search toolbar cleanup + dark date contrast */
.tbcm-wrap .tbcm-course-search,
.tbcm-wrap .tbcm-course-filter{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  padding:0 !important;
}
.tbcm-wrap .tbcm-course-search label,
.tbcm-wrap .tbcm-course-filter label{
  background:transparent !important;
}
.tbcm-theme-fresh_light .tbcm-course-toolbar,
.tbcm-theme-super_modern_dark .tbcm-course-toolbar{
  overflow:hidden;
}
.tbcm-theme-super_modern_dark .tbcm-date-item{
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
  border-color:rgba(203,213,225,.92) !important;
  color:#0f172a !important;
  box-shadow:0 10px 22px rgba(2,6,23,.14) !important;
}
.tbcm-theme-super_modern_dark .tbcm-date-item .tbcm-date-label,
.tbcm-theme-super_modern_dark .tbcm-date-item .tbcm-ico{
  color:#475569 !important;
  opacity:1 !important;
}
.tbcm-theme-super_modern_dark .tbcm-input-icon-wrap--date input[type="date"]{
  color:#0f172a !important;
  -webkit-text-fill-color:white !important;
  font-weight:700 !important;
}
.tbcm-theme-super_modern_dark .tbcm-input-icon-wrap--date .tbcm-input-icon{
  opacity:.9 !important;
}
.tbcm-theme-super_modern_dark .tbcm-input-icon-wrap--date::after{
  background:linear-gradient(180deg,#e2e8f0 0%,#f8fafc 100%) !important;
  box-shadow:inset 0 0 0 1px rgba(148,163,184,.35) !important;
}


/* v1.7.8 booking UX refinements */
.tbcm-card--course{
  position:relative;
  overflow:hidden;
}
.tbcm-select-course-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  margin-top:16px;
  min-height:48px;
  padding:12px 18px;
  border-radius:16px;
  border:1px solid rgba(15,118,110,.14);
  background:linear-gradient(135deg,var(--tbcm-brand) 0%, var(--tbcm-brand-2) 100%);
  color:#fff;
  font-weight:800;
  letter-spacing:.01em;
  box-shadow:0 16px 34px rgba(15,118,110,.18);
  pointer-events:none;
}
.tbcm-wrap .tbcm-select-course-btn{
  background:linear-gradient(135deg,var(--tbcm-theme-button, var(--tbcm-brand)) 0%, var(--tbcm-theme-button-hover, var(--tbcm-brand-2)) 100%);
  color:var(--tbcm-theme-button-text, #fff);
}
.tbcm-attendee-actions{
  display:flex;
  align-items:stretch;
  gap:14px !important;
}
.tbcm-msg-actions{
  margin-top:12px;
}
.tbcm-recovery-btn{
  min-height:42px;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid rgba(15,118,110,.14);
  background:#fff;
  color:var(--tbcm-brand);
  font-weight:700;
  cursor:pointer;
}
.tbcm-recovery-btn:hover{
  transform:translateY(-1px);
}
@media (max-width: 767px){
  .tbcm-attendee-actions{
    flex-direction:column;
    gap:12px !important;
  }
  .tbcm-attendee-actions .tbcm-btn,
  .tbcm-attendee-actions #tbcm-add-another,
  .tbcm-attendee-actions #tbcm-add-to-cart{
    width:100%;
    margin:0 !important;
  }
  .tbcm-select-course-btn{
    width:100%;
  }
}


/* v1.7.12 frontend light/dark theme toggle */
.tbcm-frontend-theme-switch{
  display:flex;
  justify-content:center;
  margin:0 0 12px;
  position:relative;
  z-index:3;
}
.tbcm-frontend-theme-switch__inner{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:5px 8px;
  border-radius:999px;
  border:1px solid color-mix(in srgb, var(--tbcm-theme-border) 70%, transparent);
  background:linear-gradient(180deg,color-mix(in srgb, var(--tbcm-theme-panel-bg) 97%, white 3%) 0%, color-mix(in srgb, var(--tbcm-theme-panel-bg-2) 98%, transparent) 100%);
  box-shadow:0 10px 20px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(12px);
  max-width:100%;
}
.tbcm-frontend-theme-switch__label{
  appearance:none;
  -webkit-appearance:none;
  border:none;
  background:transparent;
  padding:0 5px;
  margin:0;
  font-size:11px;
  font-weight:800;
  letter-spacing:.01em;
  color:var(--tbcm-theme-heading);
  line-height:1;
  user-select:none;
  cursor:pointer;
}
.tbcm-frontend-theme-switch__toggle{
  position:relative;
  width:58px;
  height:28px;
  border:none;
  background:transparent;
  padding:0;
  margin:0;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  flex:0 0 auto;
  z-index:2;
}
.tbcm-frontend-theme-switch__toggle:focus-visible,
.tbcm-frontend-theme-switch__label:focus-visible{
  outline:2px solid color-mix(in srgb, var(--tbcm-theme-accent) 82%, white 18%);
  outline-offset:2px;
  border-radius:999px;
}
.tbcm-frontend-theme-switch__track{
  position:absolute;
  inset:0;
  border-radius:999px;
  background:linear-gradient(135deg, color-mix(in srgb, var(--tbcm-theme-accent) 72%, #ffffff 28%) 0%, color-mix(in srgb, var(--tbcm-theme-link) 80%, #0f172a 20%) 100%);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.24), 0 6px 14px color-mix(in srgb, var(--tbcm-theme-accent) 18%, transparent);
}
.tbcm-frontend-theme-switch__thumb{
  position:absolute;
  top:3px;
  left:3px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:linear-gradient(180deg,#ffffff 0%,#eef2f7 100%);
  box-shadow:0 4px 10px rgba(15,23,42,.20);
  transition:transform .24s ease;
  pointer-events:none;
}
.tbcm-frontend-theme-switch.is-dark .tbcm-frontend-theme-switch__thumb,
.tbcm-theme-super_modern_dark .tbcm-frontend-theme-switch__thumb{
  transform:translateX(30px);
}
.tbcm-theme-super_modern_dark .tbcm-frontend-theme-switch__inner{
  box-shadow:0 12px 24px rgba(2,6,23,.24), inset 0 1px 0 rgba(255,255,255,.06);
}
@media (max-width: 640px){
  .tbcm-frontend-theme-switch{margin-bottom:10px;}
  .tbcm-frontend-theme-switch__inner{gap:6px;padding:4px 7px;}
  .tbcm-frontend-theme-switch__label{font-size:10px;padding:0 4px;}
  .tbcm-frontend-theme-switch__toggle{width:54px;height:26px;}
  .tbcm-frontend-theme-switch__thumb{width:20px;height:20px;top:3px;left:3px;}
  .tbcm-frontend-theme-switch.is-dark .tbcm-frontend-theme-switch__thumb,
  .tbcm-theme-super_modern_dark .tbcm-frontend-theme-switch__thumb{transform:translateX(28px);}
}


/* Dark theme auth/link readability tweaks */
.tbcm-theme-super_modern_dark .tbcm-auth-switch-links,
.tbcm-theme-super_modern_dark .tbcm-auth-switch-links span,
.tbcm-theme-super_modern_dark .tbcm-auth-switch-links a,
.tbcm-theme-super_modern_dark .tbcm-guest-link,
.tbcm-theme-super_modern_dark #tbcm-continue-guest,
.tbcm-theme-super_modern_dark #tbcm-auth-switch-links,
.tbcm-theme-super_modern_dark #tbcm-auth-switch-links a,
.tbcm-theme-super_modern_dark #tbcm-auth-switch-links span{
  color:#ffffff !important;
}
.tbcm-theme-super_modern_dark .tbcm-auth-switch-links a:hover,
.tbcm-theme-super_modern_dark .tbcm-guest-link:hover,
.tbcm-theme-super_modern_dark #tbcm-continue-guest:hover,
.tbcm-theme-super_modern_dark #tbcm-auth-switch-links a:hover{
  color:rgba(255,255,255,.88) !important;
}

@media (max-width: 980px){
  .tbcm-wizard.is-camp{grid-template-columns:1fr;}
  .tbcm-camp-date-grid{grid-template-columns:1fr;}
}

.tbcm-step-actions{margin-top:18px;display:flex;justify-content:flex-end;}
.tbcm-camp-day-actions .tbcm-btn.is-disabled,
.tbcm-camp-day-actions .tbcm-btn:disabled{opacity:.55;cursor:not-allowed;}

.tbcm-camp-date-grid .tbcm-card--camp-date.is-finished{opacity:.55;cursor:not-allowed;pointer-events:none;}
.tbcm-camp-date-grid .tbcm-card--camp-date .tbcm-camp-finished{display:inline-flex;margin-left:8px;padding:4px 8px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:11px;font-weight:700;}
.tbcm-camp-date-grid .tbcm-card--camp-date.is-finished span:first-of-type{text-decoration:line-through;}


.tbcm-card-title-wrap{display:flex;align-items:center;gap:8px;justify-content:space-between}
.tbcm-info-trigger{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;font-weight:700;font-size:15px;line-height:1;cursor:pointer;box-shadow:0 4px 12px rgba(15,23,42,.08);touch-action:manipulation;-webkit-tap-highlight-color:transparent;position:relative}
.tbcm-info-trigger:hover{transform:translateY(-1px)}
.tbcm-info-trigger::before{content:"";position:absolute;inset:-6px}
#tbcm-course-title .tbcm-info-trigger{margin-left:10px;vertical-align:middle}
.tbcm-info-modal{display:none;position:fixed;inset:0;z-index:99999}
.tbcm-info-modal.is-open{display:block}
.tbcm-info-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55)}
.tbcm-info-modal__panel{position:relative;max-width:680px;margin:8vh auto 0;background:#fff;border-radius:18px;box-shadow:0 24px 60px rgba(15,23,42,.25);padding:22px;max-height:80vh;overflow:auto}
.tbcm-info-modal__close{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:999px;border:1px solid #dbe4f0;background:#fff;font-size:24px;line-height:1;cursor:pointer}
.tbcm-info-modal__title{font-size:22px;font-weight:800;margin:0 36px 12px 0;color:#0f172a}
.tbcm-info-modal__body{color:#334155;line-height:1.65}
body.tbcm-modal-open{overflow:hidden}
.tbcm-camp-availability{display:block;margin-top:6px;font-size:12px;color:#b45309;font-weight:700}


/* Keep course/camp info button aligned neatly with the selected title */
#tbcm-course-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#tbcm-course-title .tbcm-course-title-text{display:inline-block;min-width:0}
#tbcm-course-title .tbcm-info-trigger{position:static;flex:0 0 auto;margin-left:0 !important;vertical-align:middle}
@media (max-width: 767px){
  #tbcm-course-title{gap:8px}
}
@media (max-width: 767px){
  .tbcm-info-trigger{width:42px;height:42px;font-size:18px}
  .tbcm-card--course .tbcm-card-title-wrap{padding-right:60px;min-height:46px}
  .tbcm-card--course .tbcm-info-trigger{top:10px;right:10px}
}

/* Info trigger inside course/camp listing cards */
.tbcm-card--course .tbcm-card-title-wrap{position:relative;display:block;padding-right:52px;min-height:40px}
.tbcm-card--course .tbcm-card-title{display:block}
.tbcm-card--course .tbcm-info-trigger{position:absolute;top:12px;right:12px;z-index:5}


/* Mobile device notice modal */
#tbcm-mobile-warning-modal{
  position:fixed;
  inset:0;
  z-index:100002;
  display:none;
}
#tbcm-mobile-warning-modal.is-open{display:block;}
#tbcm-mobile-warning-modal .tbcm-mobile-warning-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,6,23,.68);
  backdrop-filter:blur(4px);
}
#tbcm-mobile-warning-modal .tbcm-mobile-warning-modal__panel{
  position:relative;
  width:min(92vw,420px);
  margin:12vh auto 0;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  border:1px solid rgba(148,163,184,.22);
  border-radius:24px;
  box-shadow:0 28px 70px rgba(2,6,23,.34);
  padding:24px 22px 22px;
}
#tbcm-mobile-warning-modal .tbcm-mobile-warning-modal__close{
  position:absolute;
  top:12px;
  right:12px;
  width:40px;
  height:40px;
  border:0;
  border-radius:999px;
  background:#0f172a;
  color:#ffffff;
  font-size:26px;
  line-height:1;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
#tbcm-mobile-warning-modal .tbcm-mobile-warning-modal__eyebrow{
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#0f766e;
  margin:0 0 10px;
}
#tbcm-mobile-warning-modal .tbcm-mobile-warning-modal__title{
  font-size:24px;
  line-height:1.15;
  font-weight:800;
  color:#0f172a;
  margin:0 24px 12px 0;
}
#tbcm-mobile-warning-modal .tbcm-mobile-warning-modal__body{
  font-size:15px;
  line-height:1.65;
  color:#334155;
}
.tbcm-theme-super_modern_dark .tbcm-auth-switch-links,
.tbcm-theme-super_modern_dark .tbcm-auth-switch-links span,
.tbcm-theme-super_modern_dark .tbcm-guest-link{
  color:#ffffff !important;
}
.tbcm-theme-super_modern_dark .tbcm-auth-switch-links a,
.tbcm-theme-super_modern_dark .tbcm-guest-link,
.tbcm-theme-super_modern_dark .tbcm-clear-link{
  color:#ffffff !important;
}
.tbcm-theme-super_modern_dark .tbcm-auth-switch-links a:hover,
.tbcm-theme-super_modern_dark .tbcm-guest-link:hover,
.tbcm-theme-super_modern_dark .tbcm-clear-link:hover{
  color:#dbeafe !important;
}


/* Final dark-mode auth link fix */
.tbcm-wrap[data-theme-mode="super_modern_dark"] .tbcm-guest-link,
.tbcm-wrap[data-theme-mode="super_modern_dark"] #tbcm-continue-guest,
.tbcm-wrap[data-theme-mode="super_modern_dark"] .tbcm-auth-switch-links,
.tbcm-wrap[data-theme-mode="super_modern_dark"] .tbcm-auth-switch-links span,
.tbcm-wrap[data-theme-mode="super_modern_dark"] .tbcm-auth-switch-links a,
.tbcm-wrap[data-theme-mode="super_modern_dark"] #tbcm-auth-switch-links,
.tbcm-wrap[data-theme-mode="super_modern_dark"] #tbcm-auth-switch-links span,
.tbcm-wrap[data-theme-mode="super_modern_dark"] #tbcm-auth-switch-links a{
  color:#ffffff !important;
}
.tbcm-wrap[data-theme-mode="super_modern_dark"] .tbcm-guest-link:hover,
.tbcm-wrap[data-theme-mode="super_modern_dark"] .tbcm-auth-switch-links a:hover,
.tbcm-wrap[data-theme-mode="super_modern_dark"] #tbcm-auth-switch-links a:hover{
  color:#dbeafe !important;
}

/* Hard override for dark-mode auth/guest links (including Safari text fill) */
.tbcm-theme-super_modern_dark .tbcm-auth-switch-links,
.tbcm-theme-super_modern_dark .tbcm-auth-switch-links span,
.tbcm-theme-super_modern_dark .tbcm-auth-switch-links a,
.tbcm-theme-super_modern_dark .tbcm-guest-link,
.tbcm-theme-super_modern_dark #tbcm-continue-guest,
.tbcm-theme-super_modern_dark #tbcm-auth-switch-links,
.tbcm-theme-super_modern_dark #tbcm-auth-switch-links span,
.tbcm-theme-super_modern_dark #tbcm-auth-switch-links a,
.tbcm-wrap[data-theme-mode="super_modern_dark"] .tbcm-auth-switch-links,
.tbcm-wrap[data-theme-mode="super_modern_dark"] .tbcm-auth-switch-links span,
.tbcm-wrap[data-theme-mode="super_modern_dark"] .tbcm-auth-switch-links a,
.tbcm-wrap[data-theme-mode="super_modern_dark"] .tbcm-guest-link,
.tbcm-wrap[data-theme-mode="super_modern_dark"] #tbcm-continue-guest,
.tbcm-wrap[data-theme-mode="super_modern_dark"] #tbcm-auth-switch-links,
.tbcm-wrap[data-theme-mode="super_modern_dark"] #tbcm-auth-switch-links span,
.tbcm-wrap[data-theme-mode="super_modern_dark"] #tbcm-auth-switch-links a{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
.tbcm-theme-super_modern_dark .tbcm-auth-switch-links a *,
.tbcm-theme-super_modern_dark .tbcm-guest-link *,
.tbcm-theme-super_modern_dark #tbcm-continue-guest *,
.tbcm-theme-super_modern_dark #tbcm-auth-switch-links a *,
.tbcm-wrap[data-theme-mode="super_modern_dark"] .tbcm-auth-switch-links a *,
.tbcm-wrap[data-theme-mode="super_modern_dark"] .tbcm-guest-link *,
.tbcm-wrap[data-theme-mode="super_modern_dark"] #tbcm-continue-guest *,
.tbcm-wrap[data-theme-mode="super_modern_dark"] #tbcm-auth-switch-links a *{
  color:inherit !important;
  -webkit-text-fill-color:inherit !important;
}
.tbcm-theme-super_modern_dark .tbcm-auth-switch-links a:hover,
.tbcm-theme-super_modern_dark .tbcm-guest-link:hover,
.tbcm-theme-super_modern_dark #tbcm-continue-guest:hover,
.tbcm-theme-super_modern_dark #tbcm-auth-switch-links a:hover,
.tbcm-wrap[data-theme-mode="super_modern_dark"] .tbcm-auth-switch-links a:hover,
.tbcm-wrap[data-theme-mode="super_modern_dark"] .tbcm-guest-link:hover,
.tbcm-wrap[data-theme-mode="super_modern_dark"] #tbcm-continue-guest:hover,
.tbcm-wrap[data-theme-mode="super_modern_dark"] #tbcm-auth-switch-links a:hover{
  color:#dbeafe !important;
  -webkit-text-fill-color:#dbeafe !important;
}



/* Mobile-friendly course info trigger positioning and tap behaviour */
.tbcm-card--course{position:relative;}
.tbcm-card--course .tbcm-card-title-wrap{position:relative;display:block;padding-right:58px;min-height:44px;}
.tbcm-card--course .tbcm-info-trigger{position:absolute;top:10px;right:10px;z-index:30;pointer-events:auto;touch-action:manipulation;-webkit-appearance:none;appearance:none;}
@media (max-width: 767px){
  .tbcm-card--course .tbcm-card-title-wrap{padding-right:64px;min-height:48px;}
  .tbcm-card--course .tbcm-info-trigger{top:8px;right:8px;width:44px;height:44px;font-size:18px;}
}



/* v9: make attendee auth links reliably tappable on phones */
#tbcm-auth-switch-links,
.tbcm-auth-switch-links{
  gap:10px;
  row-gap:10px;
}
#tbcm-auth-switch-links a,
.tbcm-auth-switch-links a,
#tbcm-continue-guest,
.tbcm-guest-link,
.tbcm-auth-switch{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 14px;
  border-radius:14px;
  position:relative;
  z-index:60;
  pointer-events:auto;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
#tbcm-auth-switch-links span,
.tbcm-auth-switch-links span{
  display:inline-flex;
  align-items:center;
  min-height:44px;
}
@media (max-width: 767px){
  #tbcm-auth-switch-links,
  .tbcm-auth-switch-links{
    align-items:stretch;
  }
  #tbcm-auth-switch-links a,
  .tbcm-auth-switch-links a,
  #tbcm-continue-guest,
  .tbcm-guest-link,
  .tbcm-auth-switch{
    min-height:48px;
    padding:12px 16px;
  }
}

/* v8: prevent course info trigger from stealing taps in attendee/auth step on mobile */
#tbcm-course-header{position:relative;z-index:1;}
#tbcm-booking-ui,#tbcm-wizard,#tbcm-attendee-step,#tbcm-auth-wrapper,#tbcm-auth-panel,#tbcm-auth-switch-links,#tbcm-continue-guest{
  position:relative;
  z-index:20;
}
#tbcm-auth-switch-links a,
#tbcm-continue-guest,
.tbcm-auth-switch,
.tbcm-guest-link{
  pointer-events:auto;
  touch-action:manipulation;
}
#tbcm-course-title .tbcm-info-trigger,
.tbcm-info-trigger--header{
  position:relative;
  z-index:2;
}
#tbcm-course-title .tbcm-info-trigger::before,
.tbcm-info-trigger--header::before{
  content:none !important;
}
@media (max-width: 767px){
  #tbcm-course-header{margin-bottom:12px;}
  #tbcm-auth-wrapper,#tbcm-auth-panel,#tbcm-auth-switch-links,#tbcm-continue-guest{z-index:40;}
}

/* v10: keep auth switch links on one line while preserving mobile tap targets */
#tbcm-auth-switch-links,
.tbcm-auth-switch-links{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:nowrap;
  gap:8px;
  row-gap:8px;
}
#tbcm-auth-switch-links a,
.tbcm-auth-switch-links a,
.tbcm-auth-switch-links span,
#tbcm-auth-switch-links span{
  flex:0 0 auto;
  white-space:nowrap;
}
@media (max-width: 767px){
  #tbcm-auth-switch-links,
  .tbcm-auth-switch-links{
    flex-wrap:nowrap;
    gap:6px;
    font-size:12px;
  }
  #tbcm-auth-switch-links a,
  .tbcm-auth-switch-links a,
  .tbcm-auth-switch,
  #tbcm-auth-switch-links span,
  .tbcm-auth-switch-links span{
    min-height:44px;
  }
  #tbcm-auth-switch-links a,
  .tbcm-auth-switch-links a,
  .tbcm-auth-switch{
    padding:10px 10px;
  }
}


/* Keep course/camp CTA buttons aligned to the bottom of listing cards */
.tbcm-course-list--grid .tbcm-card--course,
.tbcm-course-list--full .tbcm-card--course{
  display:flex;
  flex-direction:column;
  height:100%;
}
.tbcm-course-list--grid .tbcm-card--course .tbcm-card-body,
.tbcm-course-list--full .tbcm-card--course .tbcm-card-body{
  flex:1 1 auto;
}
.tbcm-course-list--grid .tbcm-card--course .tbcm-select-course-btn,
.tbcm-course-list--full .tbcm-card--course .tbcm-select-course-btn{
  margin-top:auto;
}
/* =========================================================
   FINAL OVERRIDE — course search + day filter sizing fix
   ========================================================= */

.tbcm-wrap #tbcm-course-toolbar,
.tbcm-wrap .tbcm-course-toolbar{
  display: grid !important;
  grid-template-columns: minmax(0, 1.65fr) minmax(240px, 0.85fr) !important;
  gap: 24px !important;
  align-items: end !important;
  width: 100% !important;
  padding: 24px !important;
  border-radius: 24px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

.tbcm-wrap .tbcm-course-search,
.tbcm-wrap .tbcm-course-filter{
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  min-width: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.tbcm-wrap .tbcm-course-search label,
.tbcm-wrap .tbcm-course-filter label{
  display: block !important;
  margin: 0 0 10px !important;
  line-height: 1.2 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

.tbcm-wrap .tbcm-course-search input,
.tbcm-wrap .tbcm-course-filter select,
.tbcm-wrap .tbcm-course-toolbar input,
.tbcm-wrap .tbcm-course-toolbar select{
  width: 100% !important;
  min-width: 0 !important;
  height: 64px !important;
  min-height: 64px !important;
  padding: 0 18px !important;
  border-radius: 16px !important;
  box-sizing: border-box !important;
  line-height: 64px !important;
  font-size: 16px !important;
  margin: 0 !important;
  display: block !important;
  appearance: none;
  -webkit-appearance: none;
}

.tbcm-wrap .tbcm-course-filter select{
  padding-right: 46px !important;
  background-position: right 16px center !important;
}

/* keep both controls perfectly aligned vertically */
.tbcm-wrap .tbcm-course-search,
.tbcm-wrap .tbcm-course-filter{
  align-self: end !important;
}

/* tablet */
@media (max-width: 980px){
  .tbcm-wrap #tbcm-course-toolbar,
  .tbcm-wrap .tbcm-course-toolbar{
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .tbcm-wrap .tbcm-course-search input,
  .tbcm-wrap .tbcm-course-filter select,
  .tbcm-wrap .tbcm-course-toolbar input,
  .tbcm-wrap .tbcm-course-toolbar select{
    height: 58px !important;
    min-height: 58px !important;
    line-height: 58px !important;
  }
}

/* mobile */
@media (max-width: 640px){
  .tbcm-wrap #tbcm-course-toolbar,
  .tbcm-wrap .tbcm-course-toolbar{
    padding: 18px !important;
    gap: 14px !important;
  }

  .tbcm-wrap .tbcm-course-search label,
  .tbcm-wrap .tbcm-course-filter label{
    margin-bottom: 8px !important;
    font-size: 13px !important;
  }

  .tbcm-wrap .tbcm-course-search input,
  .tbcm-wrap .tbcm-course-filter select,
  .tbcm-wrap .tbcm-course-toolbar input,
  .tbcm-wrap .tbcm-course-toolbar select{
    height: 54px !important;
    min-height: 54px !important;
    line-height: 54px !important;
    font-size: 15px !important;
    border-radius: 14px !important;
  }
}

/* =========================================================
   Polish: simple colours, solid buttons, toolbar hide
   ========================================================= */
.tbcm-wrap::before,
.tbcm-wrap::after{
  display:none !important;
  content:none !important;
}

.tbcm-wrap #tbcm-course-toolbar.is-disabled,
.tbcm-wrap .tbcm-course-toolbar.is-disabled,
.tbcm-wrap #tbcm-course-toolbar[hidden],
.tbcm-wrap .tbcm-course-toolbar[hidden],
.tbcm-wrap #tbcm-course-toolbar[style*="display:none"],
.tbcm-wrap #tbcm-course-toolbar[style*="display: none"]{
  display:none !important;
}

.tbcm-wrap .tbcm-btn,
.tbcm-wrap #tbcm-add-another,
.tbcm-wrap #tbcm-add-to-cart,
.tbcm-wrap #tbcm-do-login,
.tbcm-wrap #tbcm-do-register,
.tbcm-wrap .tbcm-tab.is-active,
.tbcm-wrap .tbcm-select-course-btn,
.tbcm-wrap .tbcm-attendee-actions .tbcm-btn{
  background:var(--tbcm-theme-button) !important;
  background-image:none !important;
  color:var(--tbcm-theme-button-text) !important;
  border-color:var(--tbcm-theme-button) !important;
}

.tbcm-wrap .tbcm-btn:hover,
.tbcm-wrap #tbcm-add-another:hover,
.tbcm-wrap #tbcm-add-to-cart:hover,
.tbcm-wrap #tbcm-do-login:hover,
.tbcm-wrap #tbcm-do-register:hover,
.tbcm-wrap .tbcm-select-course-btn:hover,
.tbcm-wrap .tbcm-attendee-actions .tbcm-btn:hover{
  background:var(--tbcm-theme-button-hover) !important;
  background-image:none !important;
  color:var(--tbcm-theme-button-text-hover, var(--tbcm-theme-button-text)) !important;
  border-color:var(--tbcm-theme-button-hover) !important;
}

.tbcm-wrap .tbcm-btn.is-ghost,
.tbcm-wrap #tbcm-att-cancel,
.tbcm-wrap .tbcm-attendee-li__actions .tbcm-btn.is-ghost{
  background:transparent !important;
  background-image:none !important;
  color:var(--tbcm-theme-heading) !important;
}
/* =========================================================
   Clean SaaS styling refinements: no glow/tints, camp tabs, info icon
   ========================================================= */
.tbcm-wrap,
.tbcm-theme-fresh_light,
.tbcm-theme-super_modern_dark,
.tbcm-theme-custom{
  background:var(--tbcm-theme-shell-bg) !important;
  background-image:none !important;
}

.tbcm-wrap .tbcm-progress,
.tbcm-wrap .tbcm-step,
.tbcm-wrap .tbcm-auth-panel,
.tbcm-wrap #tbcm-saved-attendees-wrap,
.tbcm-wrap .tbcm-attendee-more,
.tbcm-wrap .tbcm-mini-summary,
.tbcm-wrap #tbcm-attendees-summary-top,
.tbcm-wrap #tbcm-attendees-summary,
.tbcm-wrap .tbcm-course-toolbar,
.tbcm-wrap .tbcm-card--course .tbcm-card-body,
.tbcm-wrap .tbcm-empty,
.tbcm-wrap .tbcm-loading,
.tbcm-wrap .tbcm-msg,
.tbcm-wrap .tbcm-auth-status,
.tbcm-wrap .tbcm-card,
.tbcm-wrap .tbcm-progress-step,
.tbcm-wrap .tbcm-attendee-pill,
.tbcm-wrap .tbcm-auth-switch-links,
.tbcm-wrap .tbcm-member-choice label,
.tbcm-wrap .tbcm-attendee-li,
.tbcm-wrap .tbcm-course-search,
.tbcm-wrap .tbcm-course-day-filter,
.tbcm-wrap .tbcm-qty button,
.tbcm-wrap .tbcm-qty input,
.tbcm-wrap .tbcm-login-note,
.tbcm-wrap .tbcm-register-note,
.tbcm-wrap input,
.tbcm-wrap select,
.tbcm-wrap textarea{
  background-image:none !important;
}

.tbcm-wrap .tbcm-btn,
.tbcm-wrap #tbcm-add-another,
.tbcm-wrap #tbcm-add-to-cart,
.tbcm-wrap #tbcm-do-login,
.tbcm-wrap #tbcm-do-register,
.tbcm-wrap .tbcm-tab.is-active,
.tbcm-wrap .tbcm-select-course-btn,
.tbcm-wrap .tbcm-attendee-actions .tbcm-btn{
  background:var(--tbcm-theme-button) !important;
  background-image:none !important;
  box-shadow:none !important;
  text-shadow:none !important;
}

.tbcm-wrap .tbcm-btn:hover,
.tbcm-wrap #tbcm-add-another:hover,
.tbcm-wrap #tbcm-add-to-cart:hover,
.tbcm-wrap #tbcm-do-login:hover,
.tbcm-wrap #tbcm-do-register:hover,
.tbcm-wrap .tbcm-select-course-btn:hover,
.tbcm-wrap .tbcm-attendee-actions .tbcm-btn:hover{
  background:var(--tbcm-theme-button-hover) !important;
  background-image:none !important;
  box-shadow:none !important;
  transform:translateY(-1px);
}

.tbcm-wrap .tbcm-card:hover,
.tbcm-wrap .tbcm-member-choice label:hover,
.tbcm-wrap .tbcm-tab:hover,
.tbcm-wrap .tbcm-qty button:hover{
  box-shadow:none !important;
  background-image:none !important;
}

.tbcm-wrap input:focus,
.tbcm-wrap select:focus,
.tbcm-wrap textarea:focus{
  box-shadow:none !important;
}

.tbcm-camp-tab{
  background:#ffffff !important;
  background-image:none !important;
  box-shadow:none !important;
  border-color:var(--tbcm-theme-border) !important;
}
.tbcm-camp-tab:hover{
  background:#ffffff !important;
  background-image:none !important;
  box-shadow:none !important;
  transform:translateY(-1px);
}
.tbcm-camp-tab.is-active{
  border-color:var(--tbcm-theme-camp-tab, var(--tbcm-theme-accent)) !important;
  background:var(--tbcm-theme-camp-tab-bg, var(--tbcm-theme-accent-soft)) !important;
  background-image:none !important;
  box-shadow:none !important;
  color:var(--tbcm-theme-heading) !important;
}
.tbcm-camp-tab.is-active span{
  color:var(--tbcm-theme-text) !important;
}
.tbcm-card--camp-date:has(input:checked){
  border-color:var(--tbcm-theme-camp-tab, var(--tbcm-theme-accent)) !important;
  background:var(--tbcm-theme-camp-tab-bg, var(--tbcm-theme-accent-soft)) !important;
  background-image:none !important;
  box-shadow:none !important;
}

.tbcm-info-trigger,
.tbcm-card--course .tbcm-info-trigger,
#tbcm-course-title .tbcm-info-trigger{
  width:54px !important;
  height:54px !important;
  min-width:54px !important;
  max-width:54px !important;
  min-height:54px !important;
  max-height:54px !important;
  padding:0 !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#ffffff !important;
  background-image:none !important;
  color:var(--tbcm-theme-heading) !important;
  border:1px solid var(--tbcm-theme-border) !important;
  box-shadow:none !important;
  line-height:1 !important;
  text-align:center !important;
  transition:transform .18s ease !important;
}
.tbcm-info-trigger:hover,
.tbcm-card--course .tbcm-info-trigger:hover,
#tbcm-course-title .tbcm-info-trigger:hover{
  background:#ffffff !important;
  background-image:none !important;
  color:var(--tbcm-theme-heading) !important;
  border-color:var(--tbcm-theme-border) !important;
  box-shadow:none !important;
  transform:scale(1.06) !important;
}


/* =========================================================
   Final clean polish: camp tab hover text, true round info icon,
   black modal close button, optional no-glow compatibility.
   ========================================================= */
.tbcm-wrap .tbcm-camp-tab:hover,
.tbcm-wrap .tbcm-camp-tab:hover span{
  color:var(--tbcm-theme-camp-tab-hover-text, var(--tbcm-theme-heading)) !important;
}

.tbcm-info-trigger,
.tbcm-card--course .tbcm-info-trigger,
#tbcm-course-title .tbcm-info-trigger,
.tbcm-info-trigger--header{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  max-width:42px !important;
  min-height:42px !important;
  max-height:42px !important;
  aspect-ratio:1/1 !important;
  padding:0 !important;
  border-radius:50% !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:#fff !important;
  background-image:none !important;
  color:var(--tbcm-theme-heading) !important;
  border:2px solid var(--tbcm-theme-border) !important;
  box-shadow:none !important;
  line-height:1 !important;
  font-size:16px !important;
  font-weight:800 !important;
  transition:transform .18s ease !important;
}
.tbcm-info-trigger:hover,
.tbcm-card--course .tbcm-info-trigger:hover,
#tbcm-course-title .tbcm-info-trigger:hover,
.tbcm-info-trigger--header:hover{
  background:#fff !important;
  background-image:none !important;
  color:var(--tbcm-theme-heading) !important;
  border-color:var(--tbcm-theme-border) !important;
  box-shadow:none !important;
  transform:scale(1.08) !important;
}
.tbcm-card--course .tbcm-info-trigger{
  top:24px !important;
  right:24px !important;
}
.tbcm-course-image-wrap{
  margin-right:54px !important;
}
@media(max-width:700px){
  .tbcm-card--course .tbcm-info-trigger{top:16px !important;right:16px !important;}
  .tbcm-course-image-wrap{margin-right:0 !important;}
}

.tbcm-info-modal__close,
#tbcm-mobile-warning-modal .tbcm-mobile-warning-modal__close,
.tbcm-modal-close,
.tbcm-modal__close{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  border-radius:50% !important;
  background:#000 !important;
  background-image:none !important;
  color:#fff !important;
  border:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  font-size:22px !important;
  font-weight:700 !important;
  box-shadow:none !important;
  cursor:pointer !important;
  transition:transform .18s ease !important;
}
.tbcm-info-modal__close:hover,
#tbcm-mobile-warning-modal .tbcm-mobile-warning-modal__close:hover,
.tbcm-modal-close:hover,
.tbcm-modal__close:hover{
  background:#000 !important;
  color:#fff !important;
  transform:scale(1.08) !important;
}

.tbcm-wrap.tbcm-no-step-glow .tbcm-progress-step,
.tbcm-wrap.tbcm-no-step-glow .tbcm-progress-step.is-active,
.tbcm-wrap.tbcm-no-step-glow .tbcm-progress-step.is-done,
.tbcm-wrap.tbcm-no-step-glow .tbcm-card:hover,
.tbcm-wrap.tbcm-no-step-glow .tbcm-member-choice label:hover,
.tbcm-wrap.tbcm-no-step-glow .tbcm-tab:hover,
.tbcm-wrap.tbcm-no-step-glow .tbcm-qty button:hover{
  box-shadow:none !important;
}

/* Info icon positioning patch */
.tbcm-course-card,
.tbcm-camp-card {
  position: relative !important;
}

.tbcm-info-icon {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  margin: 0 !important;
  z-index: 5 !important;
}

/* =========================================================
   Info icon true card-corner positioning
   - Anchor the icon to the full .tbcm-card, not the title wrapper.
   - Make it overlap the top-right corner cleanly.
   ========================================================= */
.tbcm-wrap .tbcm-card.tbcm-card--course,
.tbcm-wrap .tbcm-card--course {
  position: relative !important;
  overflow: visible !important;
}

.tbcm-wrap .tbcm-card--course .tbcm-card-title-wrap {
  position: static !important;
  padding-right: 0 !important;
  min-height: 0 !important;
}

.tbcm-wrap .tbcm-card--course .tbcm-info-trigger {
  position: absolute !important;
  top: -22px !important;
  right: -22px !important;
  z-index: 50 !important;
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  max-width: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
  background-image: none !important;
  border: 2px solid var(--tbcm-theme-border, #dbe4f0) !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.08) !important;
  color: var(--tbcm-theme-heading, #0f172a) !important;
  line-height: 1 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  transform: none !important;
  transition: transform .18s ease !important;
}

.tbcm-wrap .tbcm-card--course .tbcm-info-trigger:hover {
  background: #fff !important;
  background-image: none !important;
  color: var(--tbcm-theme-heading, #0f172a) !important;
  border-color: var(--tbcm-theme-border, #dbe4f0) !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.08) !important;
  transform: scale(1.06) !important;
}

.tbcm-wrap .tbcm-course-image-wrap {
  margin-right: 0 !important;
}

@media(max-width:700px){
  .tbcm-wrap .tbcm-card--course .tbcm-info-trigger {
    top: -18px !important;
    right: -18px !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    font-size: 17px !important;
  }
}
