/* Dare2Shine Tickets — pagina de bilete (temă închisă, ca referința) */

/* paginile plugin-ului ies din containerul îngust al temei */
body.page-bilete .container-narrow,
body.page-bilete-plata .container-narrow,
body.page-bilete-confirmare .container-narrow { max-width: 1180px; }
body.page-bilete .single-header,
body.page-bilete-plata .single-header,
body.page-bilete-confirmare .single-header { display: none; }
body.page-bilete .single-main,
body.page-bilete-plata .single-main,
body.page-bilete-confirmare .single-main { padding-top: 32px; }

.d2s-app { max-width: 1100px; margin: 0 auto; padding: 24px; }
.d2s-loading, .d2s-app .d2s-error { text-align: center; padding: 40px 0; }
.d2s-app .d2s-error { color: #c0392b; }
.d2s-ok { color: #1e8a4c; }

.d2s-event-head { text-align: center; margin-bottom: 24px; }
.d2s-event-title { font-family: 'Libre Bodoni', serif; font-size: clamp(28px, 4vw, 40px); letter-spacing: -.03em; }
.d2s-event-meta { color: #777; }

/* ---- Sala ---- */
.d2s-hall {
	background: #232323; border-radius: 12px;
	padding: 28px 12px 36px; overflow-x: auto;
}
.d2s-screen {
	text-align: center; color: #fff; letter-spacing: .3em; font-size: 13px;
	border-top: 3px solid #fff; border-radius: 100% / 22px;
	margin: 0 60px 30px; padding-top: 12px; min-width: 600px;
}
.d2s-row { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 7px; min-width: 860px; }
.d2s-row-label { color: #999; font-size: 11px; width: 14px; text-align: center; flex-shrink: 0; }
.d2s-row-seats { display: flex; gap: 4px; align-items: center; }
.d2s-gap { width: 26px; flex-shrink: 0; }

.d2s-seat {
	width: 17px; height: 15px; border-radius: 4px 4px 2px 2px;
	background: #fff; border: 0; padding: 0; cursor: pointer;
	transition: transform .1s, background .1s; flex-shrink: 0;
}
.d2s-seat:hover:not(:disabled) { transform: scale(1.35); }
.d2s-seat.cat-P { background: #4b8fe2; }
.d2s-seat.st-occupied, .d2s-seat.st-blocked { background: #4a4a4a; cursor: default; }
.d2s-seat.st-wheel { background: transparent; border: 1px dashed #777; cursor: default; }
.d2s-seat.sel { background: #FE7901 !important; }

/* ---- Legenda ---- */
.d2s-legend {
	display: flex; flex-wrap: wrap; gap: 10px 24px; justify-content: center;
	padding: 18px 0; color: #555; font-size: 14px;
}
.d2s-legend span { display: inline-flex; align-items: center; gap: 8px; }
.d2s-legend i.d2s-seat { display: inline-block; cursor: default; }
.d2s-legend i.st-free { background: #ddd; }
.d2s-legend i.st-free.cat-P { background: #4b8fe2; }
.d2s-legend i.st-occupied { background: #4a4a4a; }
.d2s-legend i.sel { background: #FE7901; }
.d2s-leg-prices { width: 100%; justify-content: center; color: #888; }

/* ---- Panou selecție + checkout ---- */
.d2s-panel { display: grid; grid-template-columns: 1fr 1.2fr; gap: 40px; margin-top: 16px; }
.d2s-panel h3 { font-family: 'Libre Bodoni', serif; font-size: 22px; margin-bottom: 14px; }
#d2s-sel-list { list-style: none; padding: 0; margin: 0 0 16px; }
#d2s-sel-list li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid #eee; }
#d2s-sel-list li em { color: #999; font-style: normal; font-size: 13px; }
#d2s-sel-list .d2s-empty { color: #999; border: 0; }
.d2s-discount { display: flex; gap: 8px; margin-bottom: 6px; }
.d2s-discount input { flex: 1; padding: 10px 14px; border: 1px solid #ddd; border-radius: 8px; font: inherit; text-transform: uppercase; }
.d2s-discount button { padding: 10px 18px; border: 0; border-radius: 8px; background: #1a1a1a; color: #fff; cursor: pointer; }
.d2s-total { font-size: 20px; margin-top: 12px; }
.d2s-total strong { color: #FE7901; }

.d2s-checkout input[type=text], .d2s-checkout input[type=email],
.d2s-checkout input:not([type]) {
	width: 100%; padding: 12px 14px; border: 1px solid #ddd; border-radius: 8px; font: inherit;
}
.d2s-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.d2s-check { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: #555; margin-bottom: 10px; cursor: pointer; }
.d2s-billing { margin: 4px 0 14px; }
.d2s-billing input[name=billing_company] { width: 100%; margin-bottom: 12px; }
.d2s-check input { margin-top: 3px; }

.d2s-btn {
	display: inline-block; background: #FE7901; color: #fff !important; border: 0;
	padding: 14px 32px; border-radius: 999px; font-weight: 600; font-size: 15px;
	cursor: pointer; text-decoration: none !important; transition: background .2s;
}
.d2s-btn:hover { background: #000; }
.d2s-btn:disabled { background: #ccc; cursor: default; }
.d2s-btn-ghost { background: #fff; color: #1a1a1a !important; border: 1px solid #ddd; }
#d2s-form-error { margin-top: 10px; }

/* ---- Mock pay + confirmare ---- */
.d2s-mockbox, .d2s-confirm { text-align: center; padding: 40px 20px; }
.d2s-mockbox h1, .d2s-confirm h1 { font-family: 'Libre Bodoni', serif; letter-spacing: -.03em; margin-bottom: 16px; }
.d2s-mockbox .d2s-note { color: #999; font-size: 13px; margin: 12px 0 24px; }
.d2s-tickets { display: flex; flex-wrap: wrap; gap: 24px; justify-content: center; margin: 28px 0; }
.d2s-ticket { border: 1px solid #eee; border-radius: 12px; padding: 18px; }
.d2s-ticket img { width: 180px; height: 180px; display: block; margin: 0 auto 10px; }

@media (max-width: 800px) {
	.d2s-panel { grid-template-columns: 1fr; }
	.d2s-grid2 { grid-template-columns: 1fr; }
}
