/* FL Eventos — Bootstrap 5 friendly */
:root{ --ts-primary:#0b5ed7; --ts-bg:#f5f7fb; --ts-text:#1f2937; --ts-muted:#6b7280; --ts-card:#ffffff; --ts-border:rgba(17,24,39,.08); --ts-radius:1rem; }
.ts-body{ background:var(--ts-bg); color:var(--ts-text); }
.brand-logo img{ height:44px; width:auto; object-fit:contain; }
@media (max-width: 576px){ .brand-logo img{ height:38px; } }
.ts-search .form-control,.ts-search .input-group-text{ border-color:var(--ts-border); }
.ts-search .input-group-text{ border-right:0; }
.ts-search .form-control{ border-left:0; }
.ts-hero{ background: radial-gradient(1200px 500px at 10% 10%, rgba(11,94,215,.10), transparent 60%), radial-gradient(900px 600px at 90% 20%, rgba(16,185,129,.10), transparent 60%); }
.ts-filter{ border-radius:var(--ts-radius); }
.ts-event-card{ border-radius:var(--ts-radius); overflow:hidden; transition:transform .12s ease, box-shadow .12s ease; }
.ts-event-card:hover{ transform:translateY(-2px); }
.ts-cover{ position:relative; }
.ts-cover-img{ width:100%; height:100%; background: linear-gradient(135deg, rgba(11,94,215,.9), rgba(16,185,129,.65)), url('https://images.unsplash.com/photo-1521412644187-c49fa049e84d?auto=format&fit=crop&w=1200&q=60'); background-size:cover; background-position:center; }
.ts-cover-img--alt{ background: linear-gradient(135deg, rgba(11,94,215,.9), rgba(249,115,22,.55)), url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1200&q=60'); background-size:cover; background-position:center; }
.ts-cover-img--third{ background: linear-gradient(135deg, rgba(30,41,59,.9), rgba(59,130,246,.55)), url('https://images.unsplash.com/photo-1517960413843-0aee8e2b3285?auto=format&fit=crop&w=1200&q=60'); background-size:cover; background-position:center; }
.ts-cover-badge{ position:absolute; left:12px; top:12px; }
.ts-event-hero{ background:transparent; }
.fe-carousel-img{ width:100%; height:auto; object-fit:contain; }
@media (min-width: 768px){ .fe-carousel-img{ height:420px; object-fit:cover; } }
@media (min-width: 992px){ .fe-carousel-img{ height:700px; } }
@media (min-width: 992px){ .fe-carousel-home{ height:500px; } }
.ts-event-cover{ position:relative; border-radius:var(--ts-radius); min-height:220px; }
.ts-event-cover-img{ position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.55)), url('https://images.unsplash.com/photo-1520975916090-3105956dac38?auto=format&fit=crop&w=1600&q=60'); background-size:cover; background-position:center; }
.ts-event-cover-overlay{ position:relative; padding:18px; min-height:220px; display:flex; flex-direction:column; justify-content:flex-end; }
.ts-sticky{ position:sticky; top:88px; }
.ts-stepper{ display:flex; gap:.5rem; justify-content:space-between; align-items:flex-start; }
.ts-step{ flex:1 1 0; text-align:center; position:relative; }
.ts-step:not(:last-child)::after{ content:''; position:absolute; top:13px; left:calc(50% + 14px); right:-10px; height:2px; background:rgba(11,94,215,.18); }
.ts-step-dot{ width:32px; height:32px; border-radius:999px; margin:0 auto 6px auto; display:flex; align-items:center; justify-content:center; font-weight:700; border:1px solid rgba(11,94,215,.25); color:var(--ts-primary); background:#fff; }
.ts-step-label{ font-size:.85rem; color:var(--ts-muted); line-height:1.1; }
.ts-step.is-active .ts-step-label{ color:var(--ts-text); font-weight:600; }
.ts-step.is-active .ts-step-dot{ background:var(--ts-primary); color:#fff; border-color:var(--ts-primary); }
.ts-step.is-done .ts-step-dot{ background:rgba(16,185,129,.12); color:rgba(16,185,129,1); border-color:rgba(16,185,129,.35); }
.ts-step.is-done .ts-step-dot::before{ content:"\2713"; }
.ts-option-list{ display:flex; flex-direction:column; gap:.6rem; }
.ts-option{ display:flex; gap:.75rem; align-items:center; border:1px solid var(--ts-border); border-radius:.9rem; padding:1rem; cursor:pointer; background:#fff; min-height:56px; }
.ts-option:hover{ border-color:rgba(11,94,215,.35); box-shadow:0 0 0 3px rgba(11,94,215,.08); }
.ts-option input{ width:18px; height:18px; accent-color:var(--ts-primary); }
.ts-option-main{ flex:1; }
.ts-option-price{ text-align:right; min-width:110px; }
.ts-option:has(input:checked){ border-color:rgba(11,94,215,.45); box-shadow:0 0 0 3px rgba(11,94,215,.10); }
.ts-mini{ border:1px dashed rgba(11,94,215,.25); border-radius:.75rem; padding:.6rem .75rem; background:rgba(255,255,255,.65); }
.ts-pills{ display:flex; gap:.5rem; }
.ts-pills .btn{ border-radius:999px; padding:.55rem 1rem; font-size:.95rem; }
.ts-pills .btn.is-selected{ background:rgba(11,94,215,.08); border-color:rgba(11,94,215,.35); color:var(--ts-primary); }
.ts-pills{ flex-wrap:wrap; }
.ts-pills .btn{ flex:1 1 140px; }
@media (min-width: 768px){ .ts-pills .btn{ flex:0 0 auto; } }
.ts-select-panel{ border:1px solid var(--ts-border); border-radius:1rem; background:#fff; padding:1rem; box-shadow:0 4px 12px rgba(17,24,39,.05); }
.ts-select-title{ font-weight:700; margin-bottom:.5rem; }
.form-help{ font-size:.85rem; color:var(--ts-muted); }
.ts-hint{ display:flex; gap:.5rem; align-items:flex-start; font-size:.9rem; color:var(--ts-muted); }
.ts-hint i{ color:var(--ts-primary); }
.ts-progressbar{ position:relative; height:6px; background:rgba(17,24,39,.08); border-radius:999px; overflow:hidden; margin:.5rem 0 1rem 0; }
.ts-progressbar .ts-progress-fill{ position:absolute; top:0; left:0; height:100%; width:0%; background:linear-gradient(90deg, var(--ts-primary), #5aa6ff); transition:width .25s ease; }
.ts-step-card{ border:1px solid var(--ts-border); border-radius:1rem; background:#fff; box-shadow:0 6px 14px rgba(17,24,39,.05); }
.ts-step-card .ts-step-header{ padding:1rem 1rem .5rem 1rem; border-bottom:1px solid var(--ts-border); background:rgba(17,24,39,.02); border-top-left-radius:1rem; border-top-right-radius:1rem; }
.ts-step-card .ts-step-body{ padding:1rem; }
.ts-step-title{ font-weight:700; font-size:1rem; }
.ts-step-help{ font-size:.9rem; color:var(--ts-muted); }
.ts-cart-mini{ display:flex; flex-direction:column; gap:.6rem; }
.ts-cart-mini-item{ display:flex; justify-content:space-between; gap:.75rem; border:1px solid var(--ts-border); border-radius:.8rem; padding:.6rem .75rem; background:#fff; }
.ts-summary{ background:rgba(255,255,255,.65); }
/* Highlight for added registrations */
.ts-reg-item{ display:flex; justify-content:space-between; gap:.75rem; border:1px solid var(--ts-border); border-left:4px solid var(--ts-primary); border-radius:1rem; padding:.9rem 1rem; background:#fff; box-shadow:0 8px 18px rgba(17,24,39,.06); }
.ts-reg-main{ flex:1; }
.ts-reg-title{ font-weight:700; }
.ts-reg-meta{ margin-top:.25rem; }
.ts-reg-side{ min-width:140px; text-align:right; }
.ts-reg-price{ font-weight:700; }
.ts-list-panel{ border:1px solid var(--ts-border); border-radius:1rem; background:#fff; box-shadow:0 8px 18px rgba(17,24,39,.06); }
.ts-list-header{ display:flex; align-items:center; justify-content:space-between; padding:1rem; border-bottom:1px solid var(--ts-border); background:rgba(17,24,39,.02); border-top-left-radius:1rem; border-top-right-radius:1rem; }
.ts-list-title{ font-weight:700; }
.ts-list-sub{ color:var(--ts-muted); font-size:.9rem; }
.ts-list-body{ padding:1rem; }
.ts-tabs .nav-link{ border:0; color:var(--ts-muted); }
.ts-tabs .nav-link.active{ color:var(--ts-text); border-bottom:2px solid var(--ts-primary); background:transparent; }
.ts-info{ display:flex; gap:.75rem; align-items:center; border:1px solid var(--ts-border); border-radius:.9rem; padding:.75rem; background:#fff; }
.ts-info-ico{ width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:rgba(11,94,215,.08); color:var(--ts-primary); font-size:1.2rem; }
.ts-mobile-bar{ position:fixed; left:0; right:0; bottom:0; background:#fff; border-top:1px solid var(--ts-border); padding:.75rem .9rem; border-top-left-radius:14px; border-top-right-radius:14px; z-index:1030; }
@media (min-width: 992px){ .ts-mobile-bar{ display:none; } }

.ts-topbar--dark{ background:#FFF; border-bottom:1px solid rgba(255,255,255,.08); }
.ts-topbar--dark .brand-logo img{ filter:none; }
.ts-nav-dark .nav-link{ color:#0f1218; }
.ts-nav-dark .nav-link:hover{ color:#ccc; }
.ts-nav-dark .nav-link i{ color:#9ca3af; }
.ts-search-pill{ background:#fff; border-radius:999px; box-shadow:0 10px 26px rgba(2,6,23,.15); padding:.6rem .8rem; border:1px solid var(--ts-border); }
.ts-search-pill .form-control{ border:0; }
.ts-chip{ display:flex; align-items:center; gap:.35rem; padding:.35rem .6rem; background:#fff; border-radius:999px; border:1px solid var(--ts-border); color:var(--ts-muted); }
.ts-chip i{ color:#64748b; }
.ts-hero--banner{ position:relative; min-height:520px; display:flex; align-items:center; overflow:visible; padding-bottom:0px; }
.ts-hero-cards{ display:flex; gap:22px; flex-wrap:wrap; justify-content:flex-start; }
.ts-hero-card{ border-radius:28px; width:320px; box-shadow:0 12px 28px rgba(2,6,23,.18); }
.ts-hero-card .card-body{ padding:1.25rem 1.35rem; }
.ts-hero .container{ position:relative; z-index:1; }
.ts-hero--banner .ts-search-pill{ position:absolute; left:50%; transform:translateX(-50%) translateY(320%); bottom:0; width:min(1100px, calc(100% - 2rem)); z-index:20; }
.ts-after-hero{ margin-top:50px; }
.ts-chip-icon{ width:36px; height:36px; border-radius:999px; display:flex; align-items:center; justify-content:center; border:1px solid var(--ts-border); color:#64748b; background:#fff; }
@media(min-width:992px){ .ts-hero-card{ width:340px; } .ts-hero-cards{ flex-wrap:nowrap; } }

/* Mobile-first refinements */
@media (max-width: 576px){
  .ts-hero--banner{ min-height:auto; padding-bottom:2rem; flex-direction: column; }
  .ts-hero--banner .container { padding-top: 1rem; padding-bottom: 1rem; }
  .ts-hero-cards { flex-direction: column; width: 100%; gap: 1rem; }
  .ts-hero-card { width: 100%; margin-bottom: 0; }
  .ts-hero--banner .ts-search-pill{ position: relative; width: 100%; transform: none; left: auto; bottom: auto; margin-top: 1.5rem; }
  .ts-after-hero{ padding-top: 2rem; margin-top: 0; }
  .ts-stepper{ gap:.4rem; }
  .ts-step-dot{ width:28px; height:28px; }
  .ts-step-label{ font-size:.8rem; }
  .ts-progressbar{ height:4px; }
  .ts-step-card .ts-step-header{ padding:.75rem .75rem .4rem .75rem; }
  .ts-step-card .ts-step-body{ padding:.75rem; }
  .ts-select-panel{ padding:.75rem; }
  .ts-option{ flex-direction:column; align-items:flex-start; }
  .ts-option-price{ text-align:left; min-width:auto; margin-top:.25rem; }
  .ts-step-body .d-flex.gap-2{ flex-direction:column; }
  .ts-step-body .d-flex.gap-2 .btn{ width:100%; padding:.55rem .85rem; font-size:.95rem; }
  .ts-pills .btn{ padding:.45rem .9rem; font-size:.9rem; }
  .ts-cart-mini-item{ flex-direction:column; align-items:flex-start; padding:.75rem; }
  .ts-cart-mini-item .text-end{ align-self:stretch; text-align:right; }
  .ts-list-body{ padding:.75rem; }
  .ts-reg-item{ flex-direction:column; align-items:flex-start; padding:.85rem; }
  .ts-reg-side{ width:100%; text-align:right; margin-top:.35rem; }
  .ts-select-panel{ padding:.6rem; }
}

/* Desktop hover dropdown */
@media (min-width: 992px) {
  .ts-hover-dropdown:hover .dropdown-menu {
    display: block;
    margin-top: 0;
  }
}

/* Global scale overrides (reduce 15%) */
html{ font-size:85%; }
.brand-logo img{ height:calc(44px * .85); }
@media (max-width: 576px){ .brand-logo img{ height:calc(38px * .85); } }
.fe-carousel-img{ height:calc(380px * .85); }
@media (min-width: 768px){ .fe-carousel-img{ height:calc(420px * .85); } }
@media (min-width: 992px){ .fe-carousel-img{ height:calc(700px * .85); } }
@media (min-width: 992px){ .fe-carousel-home{ height:calc(500px * .85); } }
.ts-event-cover{ min-height:calc(220px * .85); }
.ts-event-cover-overlay{ padding:calc(18px * .85); min-height:calc(220px * .85); }
.ts-sticky{ top:calc(88px * .85); }
.ts-step-dot{ width:calc(32px * .85); height:calc(32px * .85); }
.ts-option input{ width:calc(18px * .85); height:calc(18px * .85); }
.ts-option-price{ min-width:calc(110px * .85); }
.ts-progressbar{ height:calc(6px * .85); }
.ts-info-ico{ width:calc(40px * .85); height:calc(40px * .85); border-radius:calc(12px * .85); font-size:1.02rem; }
@media (max-width: 576px){
  .ts-step-dot{ width:calc(28px * .85); height:calc(28px * .85); }
  .ts-progressbar{ height:calc(4px * .85); }
  .ts-step-card .ts-step-header{ padding:.7rem .7rem .35rem .7rem; }
  .ts-step-card .ts-step-body{ padding:.6rem; }
  .ts-select-panel{ padding:.6rem; }
}

/* Atleta Area - Dashboard Styling */
.ts-sidebar-nav .list-group-item {
  border: none;
  border-left: 3px solid transparent;
  padding: 0.85rem 1.25rem;
  color: var(--ts-muted);
  font-weight: 500;
  transition: all 0.2s ease;
  background: #fff;
  margin-bottom: 1px;
}
.ts-sidebar-nav .list-group-item:hover {
  background-color: rgba(11,94,215,0.04);
  color: var(--ts-primary);
  border-left-color: rgba(11,94,215,0.3);
}
.ts-sidebar-nav .list-group-item.active {
  background-color: rgba(11,94,215,0.08);
  color: var(--ts-primary);
  border-left-color: var(--ts-primary);
  border-color: transparent transparent transparent var(--ts-primary);
}
.ts-sidebar-nav .list-group-item i {
  width: 24px;
  text-align: center;
  margin-right: 0.5rem;
  font-size: 1.1rem;
}

.ts-user-card {
  text-align: center;
  padding: 2rem 1rem;
  background: #fff;
  border-radius: var(--ts-radius);
  margin-bottom: 1.5rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
}
.ts-user-avatar {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(11,94,215,0.1);
  color: var(--ts-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  font-weight: 700;
  margin: 0 auto 1rem;
}

/* Highlight selected person card */
.ts-card-selected{
  border: 2px solid var(--ts-primary) !important;
  box-shadow: 0 0 0 4px rgba(11,94,215,.18) !important;
  background: rgba(11,94,215,.06) !important;
  border-radius: var(--ts-radius);
}
