/* Origami Booking — stile di base. Il tema lo adatta con le variabili --ob-*. */
.ob-search, .ob-booking, .ob-calendar, .ob-facts, .ob-price-from {
	--_accent: var(--ob-accent, #156e8a);
	--_accent-c: var(--ob-accent-contrast, #fff);
	--_text: var(--ob-text, #12343f);
	--_muted: var(--ob-muted, #5b7680);
	--_bg: var(--ob-bg, #f4f4f4);
	--_surface: var(--ob-surface, #fff);
	--_border: var(--ob-border, #d5e0e3);
	--_radius: var(--ob-radius, 2px);
	--_head: var(--ob-font-heading, inherit);
	--_body: var(--ob-font-body, inherit);
	font-family: var(--_body);
	color: var(--_text);
}

.ob-booking *, .ob-search *, .ob-calendar * { box-sizing: border-box; }

/* Pulsanti e campi */
.ob-button {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 48px; padding: .75rem 1.5rem;
	background: var(--_accent); color: var(--_accent-c);
	border: 1px solid var(--_accent); border-radius: var(--_radius);
	font: inherit; font-size: .95rem; letter-spacing: .06em; text-transform: uppercase; text-decoration: none;
	cursor: pointer; transition: background .2s, color .2s;
}
.ob-button:hover { background: transparent; color: var(--_accent); }
.ob-button:focus-visible, .ob-field input:focus-visible, .ob-field select:focus-visible, .ob-field textarea:focus-visible, .ob-day__btn:focus-visible, .ob-link:focus-visible, .ob-calendar__nav:focus-visible {
	outline: 2px solid var(--_accent); outline-offset: 2px;
}
.ob-button[disabled], .ob-button[aria-disabled="true"] { opacity: .5; pointer-events: none; }
.ob-button--wide { width: 100%; }
.ob-link { background: none; border: 0; padding: 0; color: var(--_accent); font: inherit; text-decoration: underline; cursor: pointer; }

.ob-field { display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.ob-field label { font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: var(--_muted); }
.ob-field input, .ob-field select, .ob-field textarea {
	width: 100%; min-height: 48px; padding: .65rem .8rem;
	background: var(--_surface); color: var(--_text);
	border: 1px solid var(--_border); border-radius: var(--_radius);
	font: inherit; font-size: 1rem;
}
.ob-field textarea { min-height: 96px; resize: vertical; }

/* Barra di ricerca */
.ob-search { display: grid; gap: .75rem; grid-template-columns: 1fr 1fr; align-items: end; }
.ob-search .ob-field--guests { grid-column: 1 / -1; }
.ob-search .ob-button { grid-column: 1 / -1; }
@media (min-width: 720px) {
	.ob-search--bar { grid-template-columns: 1fr 1fr 7rem auto; }
	.ob-search--bar .ob-field--guests, .ob-search--bar .ob-button { grid-column: auto; }
}
.ob-search--stacked { grid-template-columns: 1fr; }

/* Flusso di prenotazione */
.ob-booking { max-width: 1100px; margin-inline: auto; }
.ob-title { font-family: var(--_head); font-weight: 400; margin: 1.5rem 0 1rem; }
.ob-steps { display: flex; gap: 1rem; list-style: none; padding: 0; margin: 0 0 1rem; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: var(--_muted); counter-reset: s; flex-wrap: wrap; }
.ob-steps li { counter-increment: s; }
.ob-steps li::before { content: counter(s) ". "; }
.ob-steps .is-active { color: var(--_accent); font-weight: 600; }
.ob-steps .is-done { color: var(--_text); }

.ob-results { margin-top: 1.5rem; }
.ob-summary-line { color: var(--_muted); margin: 0 0 1rem; }
.ob-rooms { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 720px) { .ob-rooms { grid-template-columns: repeat(2, 1fr); } }
.ob-room { background: var(--_surface); border: 1px solid var(--_border); border-radius: var(--_radius); overflow: hidden; display: flex; flex-direction: column; }
.ob-room.is-highlight { border-color: var(--_accent); box-shadow: 0 0 0 1px var(--_accent); }
.ob-room.is-unavailable { opacity: .65; }
.ob-room__img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.ob-room__body { padding: 1rem 1.25rem 1.25rem; display: flex; flex-direction: column; gap: .5rem; flex: 1; }
.ob-room__body .ob-button { margin-top: auto; }
.ob-room__title { font-family: var(--_head); font-weight: 400; font-size: 1.5rem; margin: 0; }
.ob-room__meta, .ob-room__unavailable { color: var(--_muted); margin: 0; }
.ob-room__price { margin: .25rem 0 .5rem; font-size: 1.1rem; }

.ob-details { display: grid; gap: 2rem; grid-template-columns: 1fr; align-items: start; }
@media (min-width: 900px) { .ob-details { grid-template-columns: minmax(0, 1fr) 340px; } .ob-summary { position: sticky; top: 6rem; } }
.ob-form { display: flex; flex-direction: column; gap: 1rem; }
.ob-grid-2 { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 600px) { .ob-grid-2 { grid-template-columns: 1fr 1fr; } }
.ob-extras { border: 1px solid var(--_border); border-radius: var(--_radius); padding: 1rem; margin: 0; }
.ob-extras legend { padding: 0 .5rem; }
.ob-check { display: flex; gap: .6rem; align-items: flex-start; }
.ob-check input { width: 20px; height: 20px; margin-top: .15rem; accent-color: var(--_accent); flex: none; }
.ob-policy { font-size: .9rem; color: var(--_muted); border-left: 2px solid var(--_border); padding-left: 1rem; }
.ob-summary { background: var(--_surface); border: 1px solid var(--_border); border-radius: var(--_radius); padding: 1.25rem; }
.ob-summary h3 { font-family: var(--_head); font-weight: 400; font-size: 1.5rem; margin: 0 0 1rem; }
.ob-summary dl, .ob-done dl { display: grid; grid-template-columns: auto 1fr; gap: .4rem 1rem; margin: 0; }
.ob-summary dt, .ob-done dt { color: var(--_muted); }
.ob-summary dd, .ob-done dd { margin: 0; text-align: right; }
.ob-summary__total { display: flex; justify-content: space-between; border-top: 1px solid var(--_border); margin-top: 1rem; padding-top: 1rem; font-size: 1.15rem; }
.ob-small { font-size: .85rem; color: var(--_muted); }
.ob-notice { background: var(--_surface); border-left: 3px solid var(--_accent); padding: .75rem 1rem; }
.ob-error { color: #a1261b; background: #fbeeec; border-left: 3px solid #a1261b; padding: .75rem 1rem; margin: 0; }
.ob-loading { color: var(--_muted); }
.ob-done { max-width: 980px; margin-inline: auto; }
.ob-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.ob-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Calendario della camera */
.ob-calendar { position: relative; }
.ob-calendar.is-loading { opacity: .6; }
.ob-calendar__head { display: flex; justify-content: space-between; margin-bottom: .5rem; }
.ob-calendar__nav { width: 44px; height: 44px; border: 1px solid var(--_border); background: var(--_surface); color: var(--_accent); font-size: 1.4rem; border-radius: var(--_radius); cursor: pointer; }
.ob-calendar__nav[disabled] { opacity: .3; cursor: default; }
.ob-calendar__months { display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
@media (min-width: 720px) { .ob-calendar__months { grid-template-columns: 1fr 1fr; } }
.ob-month { width: 100%; border-collapse: collapse; table-layout: fixed; }
.ob-month caption { font-family: var(--_head); text-transform: capitalize; font-size: 1.2rem; padding-bottom: .5rem; text-align: left; }
.ob-month th { font-size: .75rem; font-weight: 400; color: var(--_muted); padding: .25rem 0; }
.ob-month td { padding: 2px; text-align: center; }
.ob-day__btn { width: 100%; aspect-ratio: 1; min-height: 40px; border: 0; border-radius: var(--_radius); background: var(--_surface); color: var(--_text); font: inherit; cursor: pointer; }
.ob-day__btn:hover:not([disabled]) { background: var(--_bg); outline: 1px solid var(--_accent); }
.ob-day.is-busy .ob-day__btn { background: repeating-linear-gradient(135deg, var(--_bg), var(--_bg) 4px, var(--_border) 4px, var(--_border) 5px); color: var(--_muted); text-decoration: line-through; }
.ob-day.is-past .ob-day__btn { background: transparent; color: var(--_border); cursor: default; }
.ob-day.is-range .ob-day__btn { background: color-mix(in srgb, var(--_accent) 18%, var(--_surface)); }
.ob-day.is-selected .ob-day__btn { background: var(--_accent); color: var(--_accent-c); text-decoration: none; }
.ob-day__btn[disabled] { cursor: default; }
.ob-calendar__legend { font-size: .85rem; color: var(--_muted); margin: .75rem 0 0; }
.ob-dot { display: inline-block; width: 12px; height: 12px; vertical-align: -1px; border: 1px solid var(--_border); background: var(--_surface); }
.ob-dot--busy { background: repeating-linear-gradient(135deg, var(--_bg), var(--_bg) 3px, var(--_border) 3px, var(--_border) 4px); }
.ob-calendar__status { min-height: 1.5em; margin: .5rem 0 1rem; }

/* Dati della camera */
.ob-facts__main { font-size: 1.05rem; margin: 0 0 .75rem; }
.ob-facts__list { columns: 2; column-gap: 2rem; padding-left: 1.1rem; margin: 0; }
.ob-price-from strong { font-weight: 600; }

@media (prefers-reduced-motion: reduce) { .ob-button { transition: none; } }

/* I titoli ricevono il focus dal codice (per i lettori di schermo): niente riquadro visibile. */
.ob-title[tabindex="-1"]:focus, .ob-done h2[tabindex="-1"]:focus { outline: none; }
.ob-booking .ob-title { font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.1; }

/* Riquadro prenotazione della camera */
.ob-rb { --_accent: var(--ob-accent, #156e8a); --_text: var(--ob-text, #12343f); --_muted: var(--ob-muted, #5b7680); --_surface: var(--ob-surface, #fff); --_border: var(--ob-border, #d5e0e3); --_radius: var(--ob-radius, 2px); --_head: var(--ob-font-heading, inherit);
	font-family: var(--ob-font-body, inherit); color: var(--_text); background: var(--_surface); border: 1px solid var(--_border); border-radius: calc(var(--_radius) * 3); padding: 1.5rem; display: grid; gap: 1rem; box-shadow: 0 18px 40px -24px rgba(18, 52, 63, .35); }
.ob-rb *, .ob-rb-bar * { box-sizing: border-box; }
.ob-rb__head { margin: 0; display: flex; align-items: baseline; gap: .35rem; flex-wrap: wrap; }
.ob-rb__from, .ob-rb__unit { color: var(--_muted); font-size: .95rem; }
.ob-rb__price { font-family: var(--_head); font-weight: 400; font-size: 2.25rem; line-height: 1; color: var(--_accent); }
.ob-rb__dates { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.ob-rb .ob-field label { font-size: .72rem; }
.ob-rb .ob-field input, .ob-rb .ob-field select { min-height: 46px; font-size: .95rem; }
.ob-rb__quote:empty { display: none; }
.ob-rb__sum { display: grid; grid-template-columns: 1fr auto; gap: .35rem 1rem; margin: 0; font-size: .95rem; }
.ob-rb__sum dt { color: var(--_muted); }
.ob-rb__sum dd { margin: 0; text-align: right; }
.ob-rb__sum .ob-rb__tot { border-top: 1px solid var(--_border); padding-top: .6rem; margin-top: .25rem; color: var(--_text); font-weight: 600; font-size: 1.05rem; }
.ob-rb__err { margin: 0; color: #a1261b; font-size: .92rem; }
.ob-rb__note { margin: 0; color: var(--_muted); font-size: .85rem; text-align: center; }
.ob-rb-bar { display: none; }
@media (max-width: 900px) {
	.ob-rb-bar { --_accent: var(--ob-accent, #156e8a); --_accent-c: var(--ob-accent-contrast, #fff); --_radius: var(--ob-radius, 2px); display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 1rem calc(.75rem + env(safe-area-inset-bottom)); background: var(--ob-surface, #fff); border-top: 1px solid var(--ob-border, #d5e0e3); box-shadow: 0 -10px 30px -20px rgba(18,52,63,.4); transform: translateY(110%); transition: transform .25s ease; font-family: var(--ob-font-body, inherit); color: var(--ob-text, #12343f); }
	.ob-rb-bar.is-visible { transform: none; }
	.ob-rb-bar p { margin: 0; display: flex; align-items: baseline; gap: .3rem; }
	.ob-rb-bar .ob-rb__price { font-size: 1.6rem; }
	.ob-rb-bar .ob-button { min-height: 44px; padding: .6rem 1.1rem; }
}
@media (prefers-reduced-motion: reduce) { .ob-rb-bar { transition: none; } }
/* I link del tema non devono cambiare il colore dei pulsanti. */
a.ob-button, a.ob-button:visited { color: var(--_accent-c, #fff); text-decoration: none; }
a.ob-button:hover { color: var(--_accent, #156e8a); }
.ob-rb { --_accent-c: var(--ob-accent-contrast, #fff); }

/* Extra in evidenza (formule della colazione) */
.ob-upsell { display: grid; grid-template-columns: minmax(0, 1fr); border: 1px solid var(--_border); border-radius: var(--_radius); background: var(--_surface); overflow: hidden; margin: 0 0 1.5rem; }
.ob-upsell__media { position: relative; aspect-ratio: 16 / 7; }
.ob-upsell__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 70%; }
.ob-upsell__main, .ob-upsell__options, .ob-upsell__option, .ob-upsell__body { min-width: 0; }
@media (min-width: 720px) { .ob-upsell__options { grid-template-columns: 1fr 1fr; } .ob-upsell__option--none { grid-column: 1 / -1; } }
.ob-upsell__main { padding: 1.4rem 1.5rem 1.5rem; }
.ob-upsell__title { margin: 0 0 .4rem; font-family: var(--_head); font-weight: 400; font-size: 1.7rem; line-height: 1.05; text-transform: uppercase; color: var(--_accent); }
.ob-upsell__lead { margin: 0 0 1rem; font-size: .95rem; line-height: 1.55; color: var(--_muted); }
.ob-upsell__options { display: grid; gap: .6rem; }
.ob-upsell__option { position: relative; display: grid; grid-template-columns: 20px 1fr; gap: .75rem; align-items: start; padding: .85rem 1rem; border: 1px solid var(--_border); border-radius: calc(var(--_radius) * .75); cursor: pointer; transition: border-color .2s ease, background-color .2s ease; }
.ob-upsell__option:hover { border-color: var(--_accent); }
.ob-upsell__option.is-on { border-color: var(--_accent); background: color-mix(in srgb, var(--_accent) 7%, var(--_surface)); box-shadow: inset 0 0 0 1px var(--_accent); }
.ob-upsell__option input { margin: .2rem 0 0; width: 18px; height: 18px; accent-color: var(--_accent); }
.ob-upsell__option:focus-within { outline: 2px solid var(--_accent); outline-offset: 2px; }
.ob-upsell__body { display: grid; grid-template-columns: minmax(0, 1fr); gap: .2rem; }
.ob-upsell__name { font-weight: 700; color: var(--_text); }
.ob-upsell__price { font-size: .85rem; color: var(--_muted); }
.ob-upsell__price strong { font-size: 1rem; color: var(--_text); }
.ob-upsell__text { grid-column: 1 / -1; font-size: .88rem; line-height: 1.5; color: var(--_muted); }
.ob-upsell__total { grid-column: 1 / -1; font-size: .85rem; color: var(--_accent); font-weight: 600; margin-top: .15rem; }
.ob-upsell__option--none { padding-top: .6rem; padding-bottom: .6rem; }
.ob-upsell__option--none .ob-upsell__name { font-weight: 500; color: var(--_muted); }
@media (max-width: 720px) {
	.ob-upsell__media { aspect-ratio: 16 / 9; }
	.ob-upsell__main { padding: 1.1rem 1.1rem 1.2rem; }
	.ob-upsell__body { grid-template-columns: 1fr; }
	.ob-upsell__price { justify-self: start; }
}

/* Riepilogo: date affiancate, importi allineati a destra */
.ob-summary__stay { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; padding: .85rem 0 1rem; margin-bottom: .75rem; border-bottom: 1px solid var(--_border); }
.ob-summary__stay > div { display: grid; gap: .1rem; }
.ob-summary__k { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--_muted); }
.ob-summary__d { font-weight: 600; line-height: 1.3; }
.ob-summary__t { font-size: .85rem; color: var(--_muted); }
.ob-summary dl { grid-template-columns: minmax(0, 1fr) auto; }
.ob-summary dd { text-align: right; }
.ob-upsell__options.is-single { grid-template-columns: 1fr; }

/* Conferma: biglietto */
.ob-done__head { text-align: center; margin: 0 auto 2.25rem; max-width: 40rem; }
.ob-done__kicker { display: inline-flex; align-items: center; gap: .5rem; margin: 0 0 .75rem; font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--_accent); }
.ob-done__kicker::before { content: ""; width: 1.4rem; height: 1.4rem; border-radius: 50%; background: var(--_accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 60% no-repeat; }
.ob-done .ob-title.ob-done__title { margin: 0 0 .9rem; font-size: clamp(2.8rem, 7vw, 5.2rem); line-height: .95; }
.ob-done__lead { margin: 0; font-size: 1.1rem; line-height: 1.6; color: var(--_muted); }
.ob-ticket { display: grid; grid-template-columns: minmax(0, 1fr) 190px; background: var(--_surface); border-radius: 14px; box-shadow: 0 1px 0 var(--_border), 0 24px 60px -30px rgba(18, 52, 63, .35); overflow: hidden; }
.ob-ticket__main { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.ob-ticket__media { position: relative; min-height: 100%; }
.ob-ticket__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ob-ticket__body { padding: 1.75rem 1.9rem 1.6rem; }
.ob-ticket__eyebrow { margin: 0 0 .35rem; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--_muted); }
.ob-ticket__room { margin: 0 0 1.25rem; font-family: var(--_head); font-weight: 400; font-size: clamp(2rem, 4vw, 2.8rem); line-height: 1; text-transform: uppercase; color: var(--_accent); }
.ob-ticket__stay { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .75rem; padding: 1rem 0; border-top: 1px solid var(--_border); border-bottom: 1px solid var(--_border); }
.ob-ticket__date { display: grid; gap: .05rem; }
.ob-ticket__date:last-child { text-align: right; }
.ob-ticket__k { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--_muted); }
.ob-ticket__day { font-family: var(--_head); font-size: 3rem; line-height: 1; color: var(--_text); }
.ob-ticket__my { font-weight: 600; }
.ob-ticket__t { font-size: .85rem; color: var(--_muted); }
.ob-ticket__nights { position: relative; padding: .3rem .8rem; border: 1px solid var(--_border); border-radius: 999px; font-size: .8rem; white-space: nowrap; color: var(--_muted); background: var(--_surface); }
.ob-ticket__nights::before, .ob-ticket__nights::after { content: ""; position: absolute; top: 50%; width: 1.2rem; border-top: 1px dashed var(--_border); }
.ob-ticket__nights::before { right: 100%; } .ob-ticket__nights::after { left: 100%; }
.ob-ticket__lines { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .45rem 1rem; margin: 1rem 0 0; }
.ob-ticket__lines dt { color: var(--_muted); } .ob-ticket__lines dd { margin: 0; text-align: right; }
.ob-ticket__total { display: flex; justify-content: space-between; align-items: baseline; margin: 1rem 0 0; padding-top: .9rem; border-top: 1px solid var(--_border); }
.ob-ticket__total strong { font-size: 1.6rem; }
.ob-ticket__stub { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: .35rem; padding: 1.5rem 1rem; text-align: center; background: var(--_accent); color: var(--_accent-c); }
.ob-ticket__stub::before { content: ""; position: absolute; left: -1px; top: 12px; bottom: 12px; border-left: 2px dashed rgba(255, 255, 255, .55); }
.ob-ticket__stub::after { content: ""; position: absolute; left: -11px; top: -11px; bottom: -11px; width: 22px; background: radial-gradient(circle at 11px 0, var(--_bg) 11px, transparent 11.5px) top / 22px 100% no-repeat, radial-gradient(circle at 11px 100%, var(--_bg) 11px, transparent 11.5px) bottom / 22px 100% no-repeat; }
.ob-ticket__stub .ob-ticket__k { color: rgba(255, 255, 255, .75); }
.ob-ticket__code { font-size: 1.35rem; font-weight: 700; letter-spacing: .12em; word-break: break-all; }
.ob-ticket__hint { font-size: .78rem; opacity: .8; }
.ob-done__next { margin: 2.5rem auto 0; max-width: 46rem; }
.ob-done__next h3 { margin: 0 0 1rem; font-family: var(--_head); font-weight: 400; font-size: 1.7rem; text-transform: uppercase; color: var(--_accent); text-align: center; }
.ob-steps-next { list-style: none; counter-reset: st; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 1rem; }
.ob-steps-next li { counter-increment: st; position: relative; padding: 2.4rem 1rem 1rem; border-top: 2px solid var(--_border); display: grid; gap: .35rem; }
.ob-steps-next li::before { content: counter(st); position: absolute; top: -1rem; left: 0; width: 2rem; height: 2rem; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: .85rem; background: var(--_bg); border: 2px solid var(--_border); color: var(--_muted); }
.ob-steps-next li.is-done { border-top-color: var(--_accent); }
.ob-steps-next li.is-done::before { background: var(--_accent); border-color: var(--_accent); color: var(--_accent-c); }
.ob-steps-next strong { color: var(--_text); }
.ob-steps-next span { font-size: .9rem; line-height: 1.5; color: var(--_muted); }
.ob-done__actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .75rem 1.25rem; margin: 2.25rem 0 1rem; }
.ob-button--line { background: transparent !important; color: var(--_accent) !important; border: 1px solid var(--_accent); }
.ob-done > .ob-small { text-align: center; }
@media (max-width: 760px) {
	.ob-ticket { grid-template-columns: 1fr; }
	.ob-ticket__main { grid-template-columns: 1fr; }
	.ob-ticket__media { aspect-ratio: 16 / 9; }
	.ob-ticket__body { padding: 1.25rem 1.2rem; }
	.ob-ticket__day { font-size: 2.4rem; }
	.ob-ticket__stub { flex-direction: row; flex-wrap: wrap; gap: .5rem 1rem; }
	.ob-ticket__stub::before { left: 12px; right: 12px; top: -1px; bottom: auto; border-left: 0; border-top: 2px dashed rgba(255, 255, 255, .55); }
	.ob-ticket__stub::after { display: none; }
}
