/* Sistema de inscrições / ingressos */
body.page-template-page-consultar-inscricao,
body.page-template-page-validar-ingresso {
    background: #10100f;
}

.bc-ticket-page {
    min-height: 78vh;
    padding: clamp(44px, 7vw, 90px) 20px;
    background:
        radial-gradient(circle at 12% 5%, rgba(189,139,69,.16), transparent 30%),
        radial-gradient(circle at 88% 95%, rgba(189,139,69,.08), transparent 32%),
        #10100f;
    color: #211d18;
}

.bc-ticket-shell { width: min(920px, 100%); margin: 0 auto; }
.bc-ticket-shell--narrow { width: min(660px, 100%); }
.bc-ticket-page__header { margin-bottom: 28px; color: #fffdf8; }
.bc-ticket-page__eyebrow { margin: 0 0 8px; color: #d7b274; font: 800 .72rem/1.2 "Manrope", sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.bc-ticket-page__header h1 { margin: 0; color: #fffdf8; font: 600 clamp(2.2rem, 5vw, 4rem)/1 "Playfair Display", serif; letter-spacing: -.035em; }
.bc-ticket-page__header > p:last-child { max-width: 630px; margin: 14px 0 0; color: #bcb4a8; }

.bc-ticket-form-card,
.bc-ticket-card,
.bc-validation-card {
    border: 1px solid rgba(33,29,24,.08);
    border-radius: 20px;
    background: #fffdf8;
    box-shadow: 0 24px 70px rgba(0,0,0,.27);
}

.bc-ticket-form-card { padding: clamp(22px, 4vw, 38px); }
.bc-ticket-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.bc-ticket-form label { display: grid; gap: 7px; color: #4b433a; font-size: .82rem; font-weight: 700; }
.bc-ticket-form input { width: 100%; min-height: 52px; padding: 12px 14px; border: 1px solid #d9cfbf; border-radius: 10px; background: #fff; color: #211d18; font: inherit; outline: none; }
.bc-ticket-form input:focus { border-color: #bd8b45; box-shadow: 0 0 0 3px rgba(189,139,69,.13); }
.bc-ticket-form button,
.bc-ticket-print { min-height: 54px; padding: 13px 22px; border: 0; border-radius: 10px; background: linear-gradient(135deg,#c59652,#8f642d); color: #fffdf8; font: 800 .82rem/1 "Manrope",sans-serif; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.bc-ticket-form button { grid-column: 1 / -1; }
.bc-ticket-form-card__privacy { margin: 18px 0 0; color: #746f66; font-size: .78rem; }
.bc-ticket-alert { margin-bottom: 16px; padding: 12px 14px; border-radius: 9px; font-size: .88rem; }
.bc-ticket-alert.is-error { border: 1px solid #e3b7b2; background: #fff1ef; color: #8d2d26; }

.bc-ticket-card { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 28px; padding: clamp(22px,4vw,38px); overflow: hidden; position: relative; }
.bc-ticket-card::before { content:""; position:absolute; inset:0 auto 0 0; width:5px; background:linear-gradient(#d7b274,#8f642d); }
.bc-ticket-card__eyebrow { margin: 0 0 7px; color: #9b6d31; font: 800 .7rem/1 "Manrope",sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.bc-ticket-card h2 { margin:0 0 14px; color:#211d18; font:600 clamp(1.7rem,3vw,2.35rem)/1.05 "Playfair Display",serif; }
.bc-ticket-status { display:inline-flex; align-items:center; min-height:34px; padding:7px 11px; border-radius:999px; font-size:.76rem; font-weight:800; }
.bc-ticket-status.is-confirmed { background:#e7f6ec; color:#176438; }
.bc-ticket-status.is-pending { background:#fff4d9; color:#7b5813; }
.bc-ticket-status.is-cancelled { background:#fde8e6; color:#8d2d26; }
.bc-ticket-data { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 24px; margin:26px 0 0; }
.bc-ticket-data div { min-width:0; }
.bc-ticket-data dt { margin-bottom:4px; color:#82786c; font-size:.69rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.bc-ticket-data dd { margin:0; color:#211d18; font-weight:700; overflow-wrap:anywhere; }
.bc-ticket-data__code { grid-column:1 / -1; padding-top:16px; border-top:1px solid #e4dacb; }
.bc-ticket-data__code dd { color:#8f642d; font:800 clamp(1.25rem,3vw,1.65rem)/1 "Manrope",sans-serif; letter-spacing:.08em; }
.bc-ticket-card__qr { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; padding:14px; border-radius:14px; background:#fff; }
.bc-ticket-card__qr img { width:180px; max-width:100%; height:auto; }
.bc-ticket-card__qr small { max-width:180px; color:#746f66; text-align:center; font-size:.7rem; }
.bc-ticket-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:18px; }
.bc-ticket-actions a { color:#d7b274; font-weight:700; }

.bc-validation-card { padding:clamp(28px,6vw,48px); text-align:center; }
.bc-validation-card__icon { display:grid; place-items:center; width:70px; height:70px; margin:0 auto 18px; border-radius:50%; font-size:2rem; font-weight:900; }
.bc-validation-card.is-valid .bc-validation-card__icon { background:#e7f6ec; color:#176438; }
.bc-validation-card.is-invalid .bc-validation-card__icon { background:#fde8e6; color:#8d2d26; }
.bc-validation-card h2 { margin:0; font:600 clamp(1.8rem,4vw,2.6rem)/1.05 "Playfair Display",serif; }
.bc-validation-card__code { margin:12px 0 24px; color:#8f642d; font-weight:800; letter-spacing:.08em; }
.bc-validation-card dl { display:grid; gap:0; margin:24px 0 0; text-align:left; }
.bc-validation-card dl div { display:grid; grid-template-columns:130px 1fr; gap:12px; padding:12px 0; border-top:1px solid #e4dacb; }
.bc-validation-card dt { color:#82786c; font-size:.76rem; font-weight:800; text-transform:uppercase; }
.bc-validation-card dd { margin:0; font-weight:700; }
.bc-validation-card__note { margin:22px 0 0; color:#746f66; font-size:.78rem; }

@media (max-width: 680px) {
    .bc-ticket-form { grid-template-columns:1fr; }
    .bc-ticket-card { grid-template-columns:1fr; }
    .bc-ticket-card__qr { justify-self:stretch; }
    .bc-ticket-data { grid-template-columns:1fr; }
    .bc-ticket-data__code { grid-column:auto; }
    .bc-validation-card dl div { grid-template-columns:1fr; gap:4px; }
}

@media print {
    body * { visibility:hidden !important; }
    .bc-ticket-card, .bc-ticket-card * { visibility:visible !important; }
    .bc-ticket-card { position:absolute; inset:20px; box-shadow:none; border:1px solid #ccc; }
}
