/* Boreal Tickets – Carrera. Boreal Studio · https://borealstudio.mx */

.btkc-selector { max-width: 980px; font-family: var(--btk-font-body, inherit); }
.btk h1, .btk h2, .btk h3, .btkc-card-title, .btk-card-title { font-family: var(--btk-font-heading, inherit); font-weight: 400; }
.btkc-step { display: flex; align-items: center; gap: .6em; font-weight: 700; font-size: 1.15em; margin: 0 0 1em; font-family: var(--btk-font-heading, inherit); }
.btkc-step span { display: inline-grid; place-items: center; width: 1.8em; height: 1.8em; border-radius: 50%; background: var(--btk-accent); color: #fff; font-size: .85em; }
.btkc-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1em; }
.btkc-card { display: flex; flex-direction: column; gap: .35em; padding: 1.4em 1.25em; border: 2px solid var(--btk-border); border-radius: 18px; background: #fff; color: #1a1a1a; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.btkc-card:hover, .btkc-card:focus-within { transform: translateY(-3px); border-color: var(--btk-accent); box-shadow: 0 12px 30px rgba(0, 0, 0, .1); }
.btkc-card-title { font-family: var(--btk-font-heading, inherit); font-size: 2.6em; line-height: 1; margin: 0; letter-spacing: -.02em; }
.btkc-card-desc { margin: 0; color: var(--btk-muted); font-size: .92em; }
.btkc-price { margin: .3em 0 0; font-size: 1.6em; }
.btkc-price del { font-size: .6em; opacity: .5; margin-right: .3em; }
.btkc-price strong { color: var(--btk-accent); }
.btkc-note { margin: 0; font-size: .85em; font-weight: 600; color: #b42318; }
.btkc-meta { margin: 0; font-size: .82em; color: var(--btk-muted); }
.btkc-qty { display: flex; align-items: center; justify-content: space-between; gap: .5em; margin-top: auto; padding-top: .8em; font-size: .85em; color: var(--btk-muted); }
.btkc-qty select { width: auto; padding: .3em .5em; border: 1px solid var(--btk-border); border-radius: 8px; font-size: 1em; background: #fff; color: #1a1a1a; }
.btkc-go { width: 100%; margin-top: .5em; padding: 1em; font-size: 1.05em; border-radius: 12px; }
.btkc-card.is-soldout { opacity: .55; }
.btkc-soldout { margin-top: auto; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.btkc-left { text-align: center; font-weight: 700; color: #b42318; margin: 1em 0 0; }
.btkc-steps-hint { display: flex; justify-content: center; gap: 1.5em; list-style: none; padding: 0; margin: 1.5em 0 0; font-size: .85em; color: var(--btk-muted); counter-reset: s; }
.btkc-steps-hint li { counter-increment: s; }
.btkc-steps-hint li::before { content: counter(s) ". "; font-weight: 700; }

/* Formulario guiado */
.btk-attendees .btk-field input:not([type=checkbox]):not([type=radio]), .btk-attendees .btk-field select { padding: .8em .9em; font-size: 16px; border-radius: 10px; }
.btkc-bday { display: grid; grid-template-columns: 1fr 1.6fr 1.2fr; gap: .5em; }
.btkc-chip { margin-top: .5em; font-size: .9em; font-weight: 600; border-radius: 10px; }
.btkc-chip.is-ok { padding: .55em .8em; background: rgba(31, 111, 92, .1); color: #135342; }
.btkc-chip.is-error { padding: .55em .8em; background: #fdf1f1; color: #7f1d1d; }
.btkc-hint { display: block; color: #b42318; font-size: .82em; margin-top: .2em; }
.btk-field input.is-invalid { border-color: #b42318 !important; }
.btk-attendees .btk-field-radio .btk-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: .5em; }
.btk-attendees .btk-field-radio .btk-choice { position: relative; justify-content: center; padding: .85em 1em; border: 2px solid var(--btk-border); border-radius: 12px; font-weight: 600; font-size: 1em; }
.btk-attendees .btk-field-radio .btk-choice input { position: absolute; opacity: 0; pointer-events: none; }
.btk-attendees .btk-field-radio .btk-choice:has(input:checked) { border-color: var(--btk-accent); background: var(--btk-accent); color: #fff; }
.btk-attendees .btk-field-radio .btk-choice:has(input:focus-visible) { outline: 2px solid var(--btk-accent); outline-offset: 2px; }
.btk-attendees .btk-field-checkbox { padding: .7em .9em; border: 1px solid var(--btk-border); border-radius: 10px; }
.btk-attendees .btk-button { padding: 1em 1.8em; font-size: 1.05em; }
@media (max-width: 520px) {
	.btkc-card-title { font-size: 2.2em; }
	.btkc-steps-hint { gap: .8em; }
}

/* Distancia que se está llenando */
.btkc-now { margin: 0 0 1.2em; padding: 1.1em 1.3em; border-radius: 12px; background: #141414; color: #fff; border-left: 8px solid var(--btk-accent); }
.btkc-now-label { margin: 0 0 .3em; font-size: .78em; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; opacity: .8; }
.btkc-now-row { display: flex; align-items: center; gap: .9em 1.4em; flex-wrap: wrap; }
.btkc-now-km { font-family: var(--btk-font-heading, inherit); font-size: clamp(2.8em, 9vw, 4em); line-height: .9; letter-spacing: -.02em; }
.btkc-now-info { display: flex; flex-direction: column; gap: .15em; font-size: .92em; }
.btkc-now-info span { opacity: .85; }
.btkc-now-info strong { font-family: var(--btk-font-heading, inherit); font-weight: 400; font-size: 1.4em; color: #fff; }
.btk-attendee .btk-card-type { font-size: 1.1em; }
a.btkc-go { display: block; text-align: center; text-decoration: none; }
