/* Exkurze — doplňky k styles.css (hlavička = stejné styly jako WP, viz styles.css #main-nav) */

/* Obal obsahu — bez bootstrap .container (full-bleed sekce uvnitř používají calc(50% - 50vw)) */
.ps-exkurze-body #page-content.ps-exkurze-wrap {
	width: 100%;
	max-width: none;
	padding-left: 0;
	padding-right: 0;
	margin-left: auto;
	margin-right: auto;
}

.ps-exkurze-body .og-single-exkurze {
	width: 100%;
}

/* Checkbox — popisek vedle zaškrtávátka (jen app exkurze, ne WP web) */
.ps-exkurze-body .form-check-label {
	display: inline-block;
}

.ps-exkurze-body .og-kariera-kontakt__cf7 .og-cf7-field--check label {
	display: inline-block;
}

/* Mobil: služby (ikony) pod sebou — vycentrovat hlavičku a popis */
@media (max-width: 768px) {
	.og-single-exkurze .og-services-section .og-service-feature {
		text-align: center;
	}

	.og-single-exkurze .og-services-section .og-service-feature__head {
		align-items: center;
	}

	.og-single-exkurze .og-services-section .og-service-feature__desc {
		text-align: center;
	}
}

.og-single-exkurze .ps-exkurze-fa-icon {
	display: block;
	font-size: 44px;
	line-height: 1;
	width: 44px;
	color: #b62f2b;
}

.ps-exkurze-booking-section {
	position: relative;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 3rem calc(50vw - 50%);
	color: #4f4538;
}

.ps-exkurze-booking-section__title {
	margin: 0 0 0.5rem;
	padding: 0;
	text-align: center;
	text-transform: none;
	color: var(--Text-Default, #211b13);
	font-family: var(--Text-Font-Family, "Hanken Grotesk"), sans-serif;
	font-size: var(--Font-Size-3L, 28px);
	font-weight: var(--Text-Regular, 400);
	line-height: 140%;
	letter-spacing: var(--Text-Letter-Spacing-Headings, 0.2px);
}

@media (max-width: 991px) {
	.ps-exkurze-booking-section__title {
		font-size: 24px;
	}
}

@media (max-width: 767.98px) {
	.ps-exkurze-booking-section__title {
		font-size: 20px;
	}
}

.ps-exkurze-booking-section__intro {
	margin: 0 auto 2.5rem;
	max-width: 42rem;
	width: 100%;
}

.ps-exkurze-booking-section__lead {
	margin: 0 0 1.25rem;
	max-width: none;
	text-align: center;
	color: #726356;
	font-size: 1.05rem;
	line-height: 1.65;
}

.ps-exkurze-booking-section__intro-list {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: left;
	color: #5a4f44;
	font-size: 0.95rem;
	line-height: 1.55;
}

.ps-exkurze-booking-section__intro-list li {
	position: relative;
	margin: 0 0 0.65rem;
	padding-left: 1.35rem;
}

.ps-exkurze-booking-section__intro-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 50%;
	background: #8b5e3c;
}

.ps-exkurze-booking-section__intro-list li:last-child {
	margin-bottom: 0;
}

.ps-exkurze-booking-section > .container {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

.ps-exkurze-booking-section .ps-booking-form__terms-wrap {
	width: 100%;
	max-width: 40rem;
	margin-left: auto;
	margin-right: auto;
}

.ps-exkurze-slot-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.ps-booking-form__terms-wrap {
	max-width: 40rem;
	margin: 0 auto 1.5rem;
}

.ps-term-list {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.ps-term-card {
	background: #fff;
	border: 2px solid #e6ddd0;
	border-radius: 12px;
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
	box-sizing: border-box;
}

.ps-term-card--collapsed {
	display: none;
}

.ps-exkurze-booking-section .ps-term-card__pick {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.25rem;
	width: 100%;
	padding: 1rem 1.15rem;
	border: 1px solid #fff;
	background: transparent;
	text-align: left;
	cursor: pointer;
	font: inherit;
	color: inherit;
	box-sizing: border-box;
}

.ps-term-card:hover {
	border-color: #d4a8a6;
}

.ps-term-card--selected {
	border-color: #b62f2b;
	box-shadow: 0 4px 20px rgba(182, 47, 43, 0.15);
}

.ps-term-card__pick:hover,
.ps-term-card__pick:focus-visible {
	background: #fdf8f2;
}

.ps-term-card--selected .ps-term-card__pick {
	background: #fff5f4;
}

.ps-term-card__main {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.5rem 1rem;
	min-width: 10rem;
}

.ps-term-card__date {
	font-size: 1.05rem;
	font-weight: 700;
	color: #b62f2b;
}

.ps-term-card__time {
	font-size: 1.1rem;
	font-weight: 600;
	color: #4f4538;
}

.ps-term-card__avail {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.9rem;
	color: #726356;
}

.ps-term-card__avail i {
	color: #b62f2b;
}

.ps-term-card__cart-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.2rem 0.65rem;
	border-radius: 999px;
	background: #fff0ef;
	color: #b62f2b;
	font-size: 0.8rem;
	font-weight: 700;
	border: 1px solid #f0d4d2;
}

.ps-term-card__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 6.5rem;
	padding: 0.5rem 1.1rem;
	border-radius: 999px;
	background: #b62f2b;
	color: #fff;
	font-size: 0.9rem;
	font-weight: 700;
	flex-shrink: 0;
	transition: background 0.15s ease;
}

.ps-term-card__pick:hover .ps-term-card__cta,
.ps-term-card--selected .ps-term-card__cta {
	background: #92120f;
}

.ps-term-card__booking {
	padding: 1rem 1.15rem 1.15rem;
	background: #fff5f4;
	border-top: 2px solid #f0d4d2;
}

.ps-term-card__booking[hidden] {
	display: none !important;
}

.ps-term-card__seats-block {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.65rem;
	margin-bottom: 1rem;
	width: 100%;
}

.ps-exkurze-booking-section .ps-term-card__seats-block .ps-stepper__label {
	display: block;
	margin: 0;
	font-size: 0.95rem;
	font-weight: 700;
	color: #4f4538;
}

.ps-exkurze-booking-section .ps-term-card__seats-block .ps-stepper__control {
	display: inline-flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid #c6bbae;
	border-radius: 999px;
	background: #fff;
	overflow: hidden;
	gap: 0 !important;
}

.ps-exkurze-booking-section .ps-term-card__seats-block .ps-stepper__control > * {
	margin: 0 !important;
	flex: none !important;
}

.ps-exkurze-booking-section .ps-term-card__seats-block .ps-stepper__btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: none;
	background: #f8f3ec;
	font-size: 1.35rem;
	line-height: 1;
	color: #b62f2b;
	cursor: pointer;
}

.ps-exkurze-booking-section .ps-term-card__seats-block .ps-stepper__btn:hover {
	background: #fde8e6;
}

.ps-exkurze-booking-section .ps-term-card__seats-block .ps-stepper__input {
	display: block !important;
	width: 3.25rem !important;
	min-width: 3.25rem !important;
	max-width: 3.25rem !important;
	margin: 0 !important;
	padding: 0.35rem 0.25rem !important;
	border: none !important;
	border-left: 1px solid #e6ddd0 !important;
	border-right: 1px solid #e6ddd0 !important;
	border-radius: 0 !important;
	background: #fff !important;
	text-align: center;
	font-weight: 700;
	font-size: 1.1rem;
	color: #4f4538;
	-moz-appearance: textfield;
}

.ps-exkurze-booking-section .ps-term-card__seats-block .ps-stepper__input::-webkit-outer-spin-button,
.ps-exkurze-booking-section .ps-term-card__seats-block .ps-stepper__input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.ps-exkurze-booking-section .ps-term-card__seats-block .ps-term-card__seats-hint {
	margin: 0;
	font-size: 0.875rem;
	color: #726356;
}

.ps-term-card__add-btn,
.ps-exkurze-booking__submit-btn {
	width: 100%;
	max-width: 100%;
	background: #b62f2b !important;
	color: #fff !important;
	border: 1px solid #b62f2b !important;
	padding: 0.9rem 2rem !important;
	font-weight: 400;
	font-size: 1rem;
	border-radius: 999px !important;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.ps-term-card__add-btn:hover,
.ps-term-card__add-btn:focus-visible,
.ps-exkurze-booking__submit-btn:hover,
.ps-exkurze-booking__submit-btn:focus-visible {
	background: #92120f !important;
	border-color: #92120f !important;
}

.ps-exkurze-booking-section .ps-term-list__toggle {
	display: block;
	width: 100%;
	max-width: 40rem;
	margin: 0.35rem auto 0;
	padding: 0.75rem 1.25rem !important;
	background: #fff !important;
	border: 2px solid #b62f2b !important;
	border-radius: 999px !important;
	color: #b62f2b !important;
	font-weight: 700 !important;
	font-size: 0.95rem !important;
	transition: background 0.15s ease, color 0.15s ease;
}

.ps-exkurze-booking-section .ps-term-list__toggle:hover,
.ps-exkurze-booking-section .ps-term-list__toggle:focus-visible {
	background: #b62f2b !important;
	color: #fff !important;
}

/* Jedna béžová sekce — full-bleed přes celou šířku */
.ps-booking-form__inner > .ps-exkurze-booking-section {
	position: relative;
	width: 100%;
	max-width: none;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: calc(50vw - 50%);
	padding-right: calc(50vw - 50%);
	box-sizing: border-box;
	color: #4f4538;
}

/* Shrnutí rezervace — stejný vzhled jako řádky termínů */
.ps-exkurze-booking-section .ps-cart-summary {
	max-width: 40rem;
	margin: 2rem auto 0;
	box-sizing: border-box;
}

.ps-exkurze-booking-section .ps-cart-summary__title {
	margin: 0 0 1rem;
	padding: 0;
	text-align: left;
	text-transform: none;
	color: var(--Text-Default, #211b13);
	font-family: var(--Text-Font-Family, "Hanken Grotesk"), sans-serif;
	font-size: var(--Font-Size-3L, 28px);
	font-weight: var(--Text-Regular, 400);
	line-height: 140%;
}

@media (max-width: 991px) {
	.ps-exkurze-booking-section .ps-cart-summary__title {
		font-size: 24px;
	}
}

@media (max-width: 767.98px) {
	.ps-exkurze-booking-section .ps-cart-summary__title {
		font-size: 20px;
	}
}

.ps-cart-summary[hidden] {
	display: none !important;
}

/* Kontaktní údaje vždy viditelné (i při staré šabloně s atributem hidden) */
#ps-customer-section.ps-customer-section--booking {
	display: block !important;
}

.ps-exkurze-booking-section .ps-cart-summary__list {
	margin: 0;
	padding: 0;
}

.ps-cart-summary__card .ps-cart-summary__row {
	cursor: default;
}

.ps-cart-summary__card .ps-cart-summary__row:hover,
.ps-cart-summary__card .ps-cart-summary__row:focus-visible {
	background: transparent;
}

.ps-cart-summary__card .ps-cart-summary__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: #b62f2b;
	color: #fff;
	font-size: 1.1rem;
	line-height: 1;
	flex-shrink: 0;
	cursor: pointer;
}

.ps-cart-summary__card .ps-cart-summary__remove:hover,
.ps-cart-summary__card .ps-cart-summary__remove:focus-visible {
	background: #92120f;
}

.ps-cart-summary__total {
	margin: 0.85rem 0 0;
	width: 100%;
	text-align: center;
	font-weight: 400;
	color: #4f4538;
	font-family: var(--Text-Font-Family, "Hanken Grotesk"), sans-serif;
}

.ps-exkurze-booking-section .ps-customer-section--booking {
	max-width: 40rem;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-top: 48px !important;
	padding-bottom: 0 !important;
	border-top: 1px solid #e6ddd0;
}

@media (max-width: 991px) {
	.ps-exkurze-booking-section .ps-customer-section--booking {
		padding-top: 32px !important;
	}
}

.ps-exkurze-slot-hidden,
input[name="cart"] {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.ps-exkurze-seats-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 1.5rem;
	margin-bottom: 1.5rem;
}

.ps-exkurze-seats-row .ps-stepper__label {
	color: #4f4538;
	font-weight: 600;
}

.ps-exkurze-seats-row__hint {
	margin: 0;
	width: 100%;
	font-size: 0.9rem;
	color: #726356;
}

.ps-exkurze-booking-section .ps-customer-section__title {
	margin: 0 0 2rem;
	padding: 0;
	width: 100%;
	text-align: center;
	text-transform: none;
	color: var(--Text-Default, #211b13);
	font-family: var(--Text-Font-Family, "Hanken Grotesk"), sans-serif;
	font-size: var(--Font-Size-3L, 28px);
	font-weight: var(--Text-Regular, 400);
	line-height: 140%;
	letter-spacing: var(--Text-Letter-Spacing-Headings, 0.2px);
}

@media (max-width: 991px) {
	.ps-exkurze-booking-section .ps-customer-section__title {
		font-size: 24px;
	}
}

@media (max-width: 767.98px) {
	.ps-exkurze-booking-section .ps-customer-section__title {
		font-size: 20px;
	}
}

.ps-exkurze-booking-section .ps-customer-section .og-kariera-kontakt__cf7 {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 24px;
	width: 100%;
	max-width: 100%;
}

.ps-exkurze-booking-section .ps-alert--warning {
	background: rgba(255, 248, 230, 0.95);
	color: #2a2118;
}

/* Seznam exkurzí — stejný vzhled jako řádky termínů */
.ps-series-list {
	max-width: 40rem;
	margin-left: auto;
	margin-right: auto;
}

.ps-series-list .ps-series-card {
	display: block;
}

.ps-series-list a.ps-term-card__pick {
	text-decoration: none;
	color: inherit;
}

.ps-series-list a.ps-term-card__pick:hover,
.ps-series-list a.ps-term-card__pick:focus-visible {
	background: #fdf8f2;
}

.ps-series-card__excerpt {
	flex: 1 1 100%;
	margin: 0;
	padding: 0 0.15rem;
	font-size: 0.9rem;
	line-height: 1.45;
	color: #726356;
}

.ps-series-list .ps-series-card__meta {
	flex: 1 1 auto;
	min-width: 8rem;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
}

.ps-series-card__meta-item {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	white-space: nowrap;
}

/* Individuální exkurze — dva sloupce (text vlevo, obrázek vpravo), bez pozadí */
.og-single-exkurze .bg_bez_pozadi .ps-exkurze-individual__img {
	display: block;
	min-height: 220px;
	max-height: 420px;
}

/* Sekce s obrázkem — oddělovací linky přes celou šířku (stejná barva jako u prodejen) */
.og-single-exkurze .og-dva-sloupce-block.og-top-border.og-bottom-border {
	overflow: visible;
	border-top: 1px solid #e6ddd0;
	border-bottom: 1px solid #e6ddd0;
}

@media (max-width: 991.98px) {
	.og-single-exkurze .bg_bez_pozadi .ps-exkurze-individual__img {
		min-height: 200px;
		max-height: 320px;
	}
}

.ps-flash {
	margin: 1rem 0;
	padding: 0.75rem 1rem;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.1);
}

.ps-flash--warning {
	background: #fff8e6;
	border-color: #e6c200;
	color: #4f4538;
}

.ps-alert {
	padding: 1rem 1.25rem;
	margin: 0 0 1rem;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.08);
}

.ps-alert--warning {
	background: #fff8e6;
}

.ps-alert--danger {
	border-color: #b42318;
	color: #b42318;
}

/* Formulář — přes celou šířku (sekce samy řeší full-bleed), bez max-width */
.ps-exkurze-body .ps-booking-form {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	border: none !important;
	border-bottom: none !important;
	padding: 0 !important;
	margin: 0 !important;
	gap: 0 !important;
}

.ps-booking-form__inner {
	display: contents;
}

.ps-booking-form > .ps-alert,
.ps-booking-form__inner > .ps-alert {
	display: block !important;
	width: 100% !important;
	max-width: 40rem !important;
	margin: 2rem auto !important;
}

.ps-terms-list {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.ps-term-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 1.5rem;
	padding: 1rem 1.25rem;
	background: #fff;
	border: 1px solid #e6ddd0;
	border-radius: 12px;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ps-term-row--active {
	border-color: #a02020;
	box-shadow: 0 2px 12px rgba(160, 32, 32, 0.08);
}

.ps-term-row--hidden {
	display: none;
}

.ps-term-row__info {
	flex: 1 1 12rem;
	min-width: 10rem;
}

.ps-term-row__day {
	display: block;
	font-size: 1.05rem;
	color: #a02020;
}

.ps-term-row__time {
	font-size: 0.95rem;
	color: #726356;
}

.ps-term-row__avail {
	font-size: 0.875rem;
	color: #726356;
	margin-top: 0.25rem;
}

.ps-term-row__stepper {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	align-items: flex-end;
	flex-shrink: 0;
}

.ps-stepper {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	min-width: 9rem;
}

.ps-stepper__label {
	font-size: 0.8rem;
	font-weight: 600;
	color: #4f4538;
}

.ps-stepper__control {
	display: inline-flex !important;
	align-items: center;
	border: 1px solid #c6bbae;
	border-radius: 999px;
	background: #f8f3ec;
	overflow: hidden;
}

.ps-stepper__btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
	border: none;
	background: transparent;
	font-size: 1.25rem;
	line-height: 1;
	color: #4f4538;
	cursor: pointer;
}

.ps-stepper__btn:hover {
	background: rgba(0, 0, 0, 0.05);
}

.ps-stepper__input {
	display: block !important;
	width: 2.5rem !important;
	min-width: 2.5rem !important;
	max-width: 2.5rem !important;
	margin: 0 !important;
	padding: 0.25rem !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	text-align: center;
	font-weight: 600;
	font-size: 1rem;
	color: #4f4538;
	-moz-appearance: textfield;
}

.ps-stepper__input::-webkit-outer-spin-button,
.ps-stepper__input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.ps-terms-more {
	margin-top: 0.5rem;
	width: 100%;
	max-width: 24rem;
}

.ps-customer-section {
	padding-top: 0.5rem;
	border-top: 1px solid #e6ddd0;
}

@media (max-width: 767.98px) {
	.ps-term-row {
		flex-direction: column;
		align-items: stretch;
	}

	.ps-term-row__steppers {
		width: 100%;
	}
}

/* Admin check-in — skener QR */
.ps-checkin-qr-reader {
	width: 100%;
	max-width: 320px;
	min-height: 0;
	margin-bottom: 1rem;
	border-radius: 8px;
	overflow: hidden;
	background: #1a1a1a;
}

.ps-checkin-qr-reader:not(:empty) {
	min-height: 260px;
}

.ps-admin-body #ps-checkin-scanner .card-header {
	font-weight: 600;
}
