/* Boreal Tickets — páginas públicas. Desarrollado por Boreal Studio · https://borealstudio.mx */

.btk { --btk-accent: #1f6f5c; --btk-border: rgba(0, 0, 0, .12); --btk-muted: rgba(0, 0, 0, .6); max-width: 760px; margin: 1.5em auto; font-size: 16px; line-height: 1.5; font-family: var(--btk-font-body, inherit); }
.btk-card-title, .btk-express-label { font-family: var(--btk-font-heading, inherit); }
.btk *, .btk *::before, .btk *::after { box-sizing: border-box; }
.btk-event-info { list-style: none; margin: 0 0 1.25em; padding: 0; display: grid; gap: .35em; }
.btk-event-info a { color: var(--btk-accent); }
.btk-alert { border: 1px solid var(--btk-border); border-radius: 10px; padding: .85em 1.1em; margin: 0 0 1em; background: rgba(0, 0, 0, .03); }
.btk-alert-error { border-color: #e7b4b4; background: #fdf1f1; color: #7f1d1d; }
.btk-alert ul { margin: 0; padding-left: 1.1em; }
.btk-card { border: 1px solid var(--btk-border); border-radius: 14px; padding: 1.1em 1.25em; margin: 0 0 1em; background: #fff; color: #1a1a1a; }
.btk-card-head { display: flex; gap: 1em; align-items: flex-start; margin-bottom: .5em; }
.btk-card-img { width: 96px; height: 96px; object-fit: cover; border-radius: 10px; flex-shrink: 0; }
.btk-card-title { font-size: 1.15em; margin: 0 0 .2em; line-height: 1.3; }
.btk-card-type { display: block; font-size: .8em; font-weight: 500; color: var(--btk-accent); margin-top: .15em; }
.btk-card-desc, .btk-card-note { margin: 0 0 .25em; color: var(--btk-muted); font-size: .92em; }
.btk-row { display: flex; align-items: center; gap: .85em; padding: .7em 0; border-top: 1px solid var(--btk-border); }
.btk-row-img { width: 52px; height: 52px; object-fit: cover; border-radius: 8px; }
.btk-row-info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.btk-row-name { font-weight: 600; }
.btk-row-price del { opacity: .55; margin-right: .3em; }
.btk-row-price ins { text-decoration: none; font-weight: 600; color: var(--btk-accent); }
.btk-row.is-soldout { opacity: .55; }
.btk-soldout { font-size: .85em; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.btk-qty { display: inline-flex; align-items: center; border: 1px solid var(--btk-border); border-radius: 99px; overflow: hidden; }
.btk-qty input { width: 3em; text-align: center; border: 0; background: transparent; font-size: 1em; padding: .4em 0; -moz-appearance: textfield; appearance: textfield; color: inherit; }
.btk-qty input::-webkit-outer-spin-button, .btk-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.btk-qty-btn { width: 2.4em; height: 2.4em; border: 0; background: transparent; font-size: 1.1em; cursor: pointer; color: inherit; padding: 0; line-height: 1; }
.btk-qty-btn:hover { background: rgba(0, 0, 0, .05); }
.btk-qty-lg { margin: 1em auto; }
.btk-qty-lg input { width: 4em; font-size: 1.6em; }
.btk-qty-lg .btk-qty-btn { width: 2.6em; height: 2.6em; font-size: 1.6em; }
.btk-total-bar { position: sticky; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 1em; padding: .85em 1.1em; margin-top: 1em; border: 1px solid var(--btk-border); border-radius: 14px; background: #fff; color: #1a1a1a; z-index: 5; }
.btk-total-bar.is-over .btk-total-count { color: #b42318; font-weight: 700; }
.btk .btk-button, .btk button.btk-button { background: var(--btk-accent); color: #fff; border: 0; border-radius: var(--btk-radius, 10px); padding: .8em 1.5em; font-size: 1em; font-weight: 600; cursor: pointer; text-decoration: none; }
.btk .btk-button:hover, .btk .btk-button:focus { background: var(--btk-accent); color: #fff; filter: brightness(.92); }
.btk-button:disabled { opacity: .45; cursor: not-allowed; }
.btk-max-note, .btk-privacy { font-size: .88em; color: var(--btk-muted); margin: .75em 0 0; }
.btk-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25em 1em; margin-top: .75em; }
.btk-field { margin: 0 0 .6em; min-width: 0; }
.btk-w-full { grid-column: 1 / -1; }
.btk-field > label, .btk-field legend { display: block; font-size: .88em; font-weight: 600; margin-bottom: .25em; padding: 0; }
.btk-field fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.btk-field input:not([type=checkbox]):not([type=radio]), .btk-field select, .btk-field textarea { width: 100%; padding: .6em .75em; border: 1px solid var(--btk-border); border-radius: 8px; font-size: 1em; background: #fff; color: #1a1a1a; font-family: inherit; }
.btk-field input:focus, .btk-field select:focus, .btk-field textarea:focus { outline: 2px solid var(--btk-accent); outline-offset: 1px; }
.btk-choices { display: flex; flex-wrap: wrap; gap: .35em 1.1em; padding-top: .2em; }
.btk-choice { display: inline-flex; gap: .4em; align-items: center; cursor: pointer; font-size: .95em; }
.btk-field-checkbox .btk-check { font-size: .95em; }
.btk-help { display: block; color: var(--btk-muted); font-size: .8em; margin-top: .2em; }
.btk-step-note { color: var(--btk-muted); margin: 0 0 1em; }
.btk-soldout-badge { display: inline-block; vertical-align: middle; margin-left: .4em; font-size: .62em; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; background: #fde4e4; color: #7f1d1d; border-radius: 99px; padding: .2em .7em; }
.btk-card.is-soldout .btk-card-img { filter: grayscale(1); opacity: .6; }
.btk-card-sale { color: var(--btk-accent); font-weight: 600; }
.btk-row.is-simple { border-top: 0; padding-top: .2em; }
.btk-req { color: #b42318; }
.btk-check { display: flex; gap: .5em; align-items: flex-start; cursor: pointer; }
.btk-check input { margin-top: .3em; }
.btk-actions { display: flex; align-items: center; justify-content: space-between; gap: 1em; margin-top: 1.25em; flex-wrap: wrap; }
.btk-actions-buttons { display: flex; gap: .6em; flex-wrap: wrap; justify-content: flex-end; }
.btk .btk-button-secondary, .btk button.btk-button-secondary { background: #fff; color: var(--btk-accent); box-shadow: inset 0 0 0 2px var(--btk-accent); }
.btk .btk-button-secondary:hover, .btk .btk-button-secondary:focus { background: #fff; color: var(--btk-accent); filter: none; box-shadow: inset 0 0 0 3px var(--btk-accent); }
.btk-in-cart ul { margin: .4em 0 0; padding-left: 1.2em; }
.btk-link { color: var(--btk-accent); }
.btk-express { max-width: 460px; }
.btk-express-card { border: 1px solid var(--btk-border); border-radius: 18px; padding: 1.5em; text-align: center; background: #fff; color: #1a1a1a; }
.btk-express-label { text-transform: uppercase; letter-spacing: .08em; font-size: .78em; font-weight: 700; color: var(--btk-accent); margin: 0 0 .25em; }
.btk-express .btk-total-bar { position: static; border: 0; padding: .5em 0 0; flex-direction: column; }
.btk-express .btk-button { width: 100%; padding: 1em; font-size: 1.15em; }
@media (max-width: 520px) {
	.btk-fields { grid-template-columns: 1fr; }
	.btk-card { padding: 1em; }
	.btk-card-img { width: 72px; height: 72px; }
	.btk-row { flex-wrap: wrap; }
	.btk-total-bar { border-radius: 12px; }
	.btk-actions { flex-direction: column-reverse; align-items: stretch; }
	.btk-actions .btk-button, .btk-actions-buttons { width: 100%; }
	.btk-actions-buttons { flex-direction: column-reverse; }
}

/* Aceptaciones (carta responsiva, aviso de privacidad): resaltan como un bloque propio */
.btk .btk-consents { display: grid; gap: .55em; margin: 1.25em 0 0; padding: 1em 1.1em; border: 2px solid var(--btk-accent); border-radius: var(--btk-radius, 12px); background: color-mix(in srgb, var(--btk-accent) 5%, #fff); color: #1a1a1a; font-size: .95em; }
.btk .btk-consent { align-items: flex-start; gap: .65em; line-height: 1.45; }
.btk .btk-consent input[type=checkbox] { flex: 0 0 auto; width: 1.25em; height: 1.25em; margin-top: .12em; accent-color: var(--btk-accent); cursor: pointer; }
.btk .btk-consent a { color: var(--btk-accent); font-weight: 700; }
