/* Herramienta «¿Qué entrada me conviene?» (scripts/build_ticket_pages.py) */
.qe-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem 1rem; align-items: end; }
.qe-form label span { display: block; font-weight: 600; font-size: .92rem; margin-bottom: .25rem; }
.qe-form label small { font-weight: 400; color: var(--text-muted); }
.qe-form select, .qe-form input[type=number] { font: inherit; width: 100%; padding: .5rem .6rem; border: 1px solid var(--cr-line, #e6dcc3); border-radius: 10px; background: #fff; }
.qe-form fieldset { grid-column: 1 / -1; border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; }
.qe-form legend { font-weight: 600; font-size: .92rem; margin-bottom: .3rem; width: 100%; }
.qe-radio { display: inline-flex; align-items: center; gap: .35rem; }
.qe-form .cr-note { grid-column: 1 / -1; margin: 0; }
.qe-result { margin-top: 1.2rem; }
.qe-card { border: 1px solid var(--cr-line, #e6dcc3); border-radius: 14px; padding: .9rem 1rem; margin: .6rem 0; background: #fff; }
.qe-card.is-best { border: 2px solid var(--gold); background: #fffdf6; }
.qe-card h3, .qe-card h4 { margin: 0 0 .35rem; font-size: 1.05rem; }
.qe-total { margin: 0; font-size: 1.25rem; font-weight: 700; color: var(--night); }
.qe-unit { margin: .2rem 0 0; font-size: .9rem; color: var(--text-muted); }
.qe-tags { display: flex; flex-wrap: wrap; gap: .3rem .9rem; list-style: none; margin: .5rem 0 0; padding: 0; font-size: .85rem; }
.qe-tags li::before { content: "· "; color: var(--gold); }
.qe-others { margin: 1.2rem 0 .2rem; font-size: 1rem; }
@media (max-width: 640px) { .qe-form { grid-template-columns: 1fr 1fr; } .qe-form label:first-child { grid-column: 1 / -1; } }
