/* Smash BookingPress Polish — doar aspect, scoped pe widget-ul BookingPress. */

/* 1. Carduri de selecție servicii/pachete */
html body .bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card {
	background-color: #161616 !important;
	border: 1px solid #2a2a2a !important;
	border-radius: 0 !important;
	cursor: pointer;
	transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
html body .bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card:hover,
html body .bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card:focus-visible {
	background-color: #1a1a1a !important;
	border-color: #FA2828 !important;
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(0, 0, 0, .45);
	outline: none;
}
html body .bpa-frontend-main-container .bpa-front-module--service-item.__bpa-is-selected .bpa-front-si-card {
	background-color: #1c1212 !important;
	border-color: #FA2828 !important;
	transform: translateY(-2px);
	box-shadow: 0 0 0 1px #FA2828, 0 10px 28px rgba(250, 40, 40, .18);
}
html body .bpa-frontend-main-container .bpa-front-module--service-item.__bpa-is-selected .bpa-front-si-card .bpa-front-si__card-body--heading {
	color: #fff !important;
}
@media (prefers-reduced-motion: reduce) {
	html body .bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card { transition: none; }
	html body .bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card:hover,
	html body .bpa-frontend-main-container .bpa-front-module--service-item.__bpa-is-selected .bpa-front-si-card { transform: none; }
}

/* 2. Imaginea/iconița rotundă din card: era micșorată de flex (48x56 => oval). */
html body .bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card__left {
	flex: 0 0 56px !important;
	width: 56px !important;
	height: 56px !important;
	min-width: 56px !important;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	overflow: hidden;
}
html body .bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card__left img,
html body .bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card__left .bpa-front-si__default-img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center;
	border-radius: 50% !important;
}
html body .bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card__left img {
	display: block;
}

/* 3. Opțiuni extra („Verifică opțiunea de mai jos!”): rând clicabil + checkbox vizibil */
html body .bpa-frontend-main-container .bpa-se--wrapper .bpa-service-extra__item {
	background-color: #141414;
	border: 1px solid #2a2a2a !important;
	padding: 10px 16px !important;
	margin-bottom: 8px;
	cursor: pointer;
	transition: border-color .2s ease, background-color .2s ease;
}
html body .bpa-frontend-main-container .bpa-se--wrapper .bpa-service-extra__item:hover {
	background-color: #1a1a1a;
	border-color: #6b6b6b !important;
}
html body .bpa-frontend-main-container .bpa-se--wrapper .bpa-service-extra__item:has(.el-checkbox.is-checked) {
	background-color: #1c1212;
	border-color: #FA2828 !important;
}
html body .bpa-frontend-main-container .bpa-se--wrapper .bpa-sei__header,
html body .bpa-frontend-main-container .bpa-se--wrapper .bpa-sei__left {
	align-items: center;
}
html body .bpa-frontend-main-container .bpa-se--wrapper .el-checkbox__inner {
	width: 20px !important;
	height: 20px !important;
	border: 2px solid #6b6b6b !important;
	border-radius: 4px !important;
	background-color: rgba(255, 255, 255, .06) !important;
	transition: border-color .15s ease, background-color .15s ease;
}
html body .bpa-frontend-main-container .bpa-se--wrapper .bpa-service-extra__item:hover .el-checkbox__inner {
	border-color: #FA2828 !important;
}
html body .bpa-frontend-main-container .bpa-se--wrapper .el-checkbox__input.is-checked .el-checkbox__inner {
	background-color: #FA2828 !important;
	border-color: #FA2828 !important;
}
/* Bifa BookingPress e un mask SVG pe ::after; doar o colorăm și o animăm. */
html body .bpa-frontend-main-container .bpa-se--wrapper .el-checkbox__inner::after {
	content: "" !important;
	position: absolute !important;
	left: 1px !important;
	top: 1px !important;
	width: 14px !important;
	height: 14px !important;
	border: 0 !important;
	background-color: #fff !important;
	transform: scale(0) !important;
	transition: transform .15s ease;
}
html body .bpa-frontend-main-container .bpa-se--wrapper .el-checkbox__input.is-checked .el-checkbox__inner::after {
	transform: scale(1) !important;
}
html body .bpa-frontend-main-container .bpa-se--wrapper .bpa-se--heading { color: #fff; }
html body .bpa-frontend-main-container .bpa-se--wrapper .bpa-se-o__item { color: #a0a0a0; }
html body .bpa-frontend-main-container .bpa-se--wrapper .bpa-service-extra__item:has(.el-checkbox.is-checked) .bpa-se-o__item { color: #FA2828; }

/* 4. Calendar „Data și ora”: celule cu bordură, hover roșu, zile indisponibile estompate */
html body .bpa-frontend-main-container .vc-weekday {
	color: #d0d0d0 !important;
	font-weight: 600;
	text-transform: uppercase;
	font-size: 12px;
	letter-spacing: .04em;
}
html body .bpa-frontend-main-container .vc-week {
	gap: 4px;
}
html body .bpa-frontend-main-container .vc-week + .vc-week {
	margin-top: 4px;
}
html body .bpa-frontend-main-container .vc-day-content {
	border: 1px solid #2a2a2a !important;
	border-radius: 0 !important;
	background-color: #141414 !important;
	color: #fff !important;
	transition: border-color .15s ease, background-color .15s ease;
}
html body .bpa-frontend-main-container .vc-day-content:not(.is-disabled):not(.vc-disabled):hover {
	border-color: #FA2828 !important;
	background-color: #1c1212 !important;
}
html body .bpa-frontend-main-container .vc-day-content.is-disabled,
html body .bpa-frontend-main-container .vc-day-content.vc-disabled {
	background-color: transparent !important;
	border-color: #1c1c1c !important;
	color: #4a4a4a !important;
	cursor: not-allowed;
}
html body .bpa-frontend-main-container .vc-day.is-not-in-month .vc-day-content { opacity: .45; }
html body .bpa-frontend-main-container .vc-day-content.__bp-v3-selected,
html body .bpa-frontend-main-container .vc-day-content.vc-highlight-content-solid {
	background-color: #FA2828 !important;
	border-color: #FA2828 !important;
	color: #fff !important;
	font-weight: 700;
}

/* 5. Intervale orare: chips selectabile */
html body .bpa-frontend-main-container .bpa-front--dt__ts-body--items { gap: 10px; flex-wrap: wrap; }
html body .bpa-frontend-main-container .bpa-front--dt__ts-body--item {
	margin: 0 !important;
	padding: 12px 16px !important;
	min-height: 44px;
	justify-content: center;
	align-items: center;
	border: 1px solid #2a2a2a !important;
	border-radius: 0 !important;
	background-color: #141414 !important;
	color: #fff !important;
	font-weight: 600;
	cursor: pointer;
	transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}
html body .bpa-frontend-main-container .bpa-front--dt__ts-body--item span { color: inherit !important; }
html body .bpa-frontend-main-container .bpa-front--dt__ts-body--item:hover,
html body .bpa-frontend-main-container .bpa-front--dt__ts-body--item:focus-visible {
	border-color: #FA2828 !important;
	background-color: #1c1212 !important;
	outline: none;
}
html body .bpa-frontend-main-container .bpa-front--dt__ts-body--item[aria-checked="true"],
html body .bpa-frontend-main-container .bpa-front--dt__ts-body--item.__bpa-is-selected {
	border-color: #FA2828 !important;
	background-color: #FA2828 !important;
	color: #fff !important;
}
html body .bpa-frontend-main-container .bpa-front--dt-ts__sub-heading { color: #a0a0a0 !important; }

/* 6. Rezumat: butoanele „Aplica” / „Răscumpăra” pe un singur rând */
html body .bpa-frontend-main-container .bpa-cmt__right .bpa-front-btn {
	flex: 0 0 auto !important;
	width: auto !important;
	min-width: 130px !important;
	padding: 0 20px !important;
	white-space: nowrap !important;
	background-color: #FA2828 !important;
	border-color: #FA2828 !important;
	color: #fff !important;
}
html body .bpa-frontend-main-container .bpa-cmt__right .bpa-front-btn .bpa-btn__label {
	white-space: nowrap !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
}
html body .bpa-frontend-main-container .bpa-cmt__right .bpa-front-btn:hover { background-color: #780000 !important; border-color: #780000 !important; }

/* 7. Metode de plată: carduri cu indicator radio */
html body .bpa-frontend-main-container .bpa-front--pm-body-items {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 12px;
}
html body .bpa-frontend-main-container .bpa-front-module--pm-body__item {
	position: relative;
	display: flex !important;
	align-items: center;
	gap: 12px;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 16px 18px 16px 52px !important;
	border: 1px solid #2a2a2a !important;
	border-radius: 0 !important;
	background-color: #141414 !important;
	color: #fff !important;
	cursor: pointer;
	transition: border-color .15s ease, background-color .15s ease;
}
html body .bpa-frontend-main-container .bpa-front-module--pm-body__item::before {
	content: "";
	position: absolute;
	left: 18px;
	top: 50%;
	width: 18px;
	height: 18px;
	margin-top: -9px;
	box-sizing: border-box;
	border: 2px solid #6b6b6b !important;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, .06);
	transition: border-color .15s ease, box-shadow .15s ease;
}
html body .bpa-frontend-main-container .bpa-front-module--pm-body__item p {
	margin: 0 !important;
	color: inherit !important;
	font-weight: 600;
}
html body .bpa-frontend-main-container .bpa-front-module--pm-body__item svg {
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	fill: #a0a0a0;
}
html body .bpa-frontend-main-container .bpa-front-module--pm-body__item:hover,
html body .bpa-frontend-main-container .bpa-front-module--pm-body__item:focus-visible {
	border-color: #FA2828 !important;
	background-color: #1a1a1a !important;
	outline: none;
}
html body .bpa-frontend-main-container .bpa-front-module--pm-body__item:hover::before { border-color: #FA2828 !important; }
html body .bpa-frontend-main-container .bpa-front-module--pm-body__item[aria-checked="true"],
html body .bpa-frontend-main-container .bpa-front-module--pm-body__item.__bpa-is-selected {
	border-color: #FA2828 !important;
	background-color: #1c1212 !important;
	box-shadow: 0 0 0 1px #FA2828;
}
html body .bpa-frontend-main-container .bpa-front-module--pm-body__item[aria-checked="true"]::before,
html body .bpa-frontend-main-container .bpa-front-module--pm-body__item.__bpa-is-selected::before {
	border-color: #FA2828 !important;
	background-color: #FA2828;
	box-shadow: inset 0 0 0 3px #1c1212;
}
html body .bpa-frontend-main-container .bpa-front-module--pm-body__item[aria-checked="true"] svg,
html body .bpa-frontend-main-container .bpa-front-module--pm-body__item.__bpa-is-selected svg { fill: #FA2828; }

/* 8. Ajustări de specificitate peste stilurile BookingPress */
html body .bpa-frontend-main-container .bpa-front--dt__calendar .vc-weeks .vc-week .vc-day .vc-day-content.is-disabled {
	background-color: #0e0e0e !important;
	border-color: #1c1c1c !important;
	opacity: .6 !important;
}
html body .bpa-frontend-main-container .vc-weeks .vc-day .vc-day-content:focus,
html body .bpa-frontend-main-container .vc-weeks .vc-day .vc-day-content.__bp-v3-selected {
	box-shadow: none !important;
	outline: none !important;
}
html body .bpa-frontend-main-container .vc-weeks .vc-day .vc-day-content:focus-visible {
	outline: 2px solid #FA2828 !important;
	outline-offset: 1px;
}
html body .bpa-frontend-main-container .bpa-front-tabs .bpa-front--dt__time-slots .bpa-front--dt__ts-body .bpa-front--dt__ts-body--row .bpa-front--dt__ts-body--items .bpa-front--dt__ts-body--item span {
	color: #fff !important;
	font-size: 14px;
}
html body .bpa-frontend-main-container .bpa-front-tabs .bpa-front-module--payment-methods .bpa-front-module--pm-body .bpa-front--pm-body-items .bpa-front-module--pm-body__item p { color: #fff !important; }
html body .bpa-frontend-main-container .bpa-front--pm-body-items .bpa-front-module--pm-body__item .bpa-front-si-card--checkmark-icon { display: none !important; }
html body .bpa-frontend-main-container .bpa-cmt__right {
	width: min(380px, 100%) !important;
}
html body .bpa-frontend-main-container .bpa-cmt__right .bp-input__inner {
	padding-right: 160px !important;
	text-overflow: ellipsis;
}
html body .bpa-frontend-main-container .bpa-front-tabs .bpa-front--dt__time-slots .bpa-front--dt__ts-body .bpa-front--dt__ts-body--row .bpa-front--dt__ts-body--items .bpa-front--dt__ts-body--item:hover span,
html body .bpa-frontend-main-container .bpa-front-tabs .bpa-front--dt__time-slots .bpa-front--dt__ts-body .bpa-front--dt__ts-body--row .bpa-front--dt__ts-body--items .bpa-front--dt__ts-body--item:hover {
	color: #fff !important;
}
html body .bpa-frontend-main-container .bpa-front-tabs .bpa-front--dt__time-slots .bpa-front--dt__ts-body .bpa-front--dt__ts-body--row .bpa-front--dt__ts-body--items .bpa-front--dt__ts-body--item:hover span { opacity: 1 !important; }
html body .bpa-frontend-main-container .bpa-front-tabs .bpa-front--dt__time-slots .bpa-front--dt__ts-body .bpa-front--dt__ts-body--row .bpa-front--dt__ts-body--items .bpa-front--dt__ts-body--item:not([aria-checked="true"]):hover {
	background-color: #1c1212 !important;
	border-color: #FA2828 !important;
}

/* Fix mobil: iconița pasului ACTIV din bara de pași era roșie (fill primary) pe fundal roșu => invizibilă pe mobil. O forțăm albă peste tot (fundalul activ e roșu brand). */
html body .bpa-frontend-main-container .bpa-front-tab-menu--item.__bpa-is-active .bpa-front-tm--item-icon,
html body .bpa-frontend-main-container .bpa-front-tab-menu--item.__bpa-is-active .bpa-front-tm--item-icon svg,
html body .bpa-frontend-main-container .bpa-front-tab-menu--item.__bpa-is-active .bpa-front-tm--item-icon svg * {
	fill: #ffffff !important;
	color: #ffffff !important;
}

/* Fix mobil v2: BookingPress (max-width:576px) forțează iconița pasului activ roșie cu specificitate mare. O batem cu specificitate mai mare + alb. */
@media (max-width: 576px) {
  html body .bpa-frontend-vue3 .bpa-front-tabs--vertical-left .bpa-front-tab-menu .bpa-front-tab-menu--item.__bpa-is-active.__bpa-is-active .bpa-front-tm--item-icon svg,
  html body .bpa-frontend-vue3 .bpa-front-tabs--vertical-left .bpa-front-tab-menu a.__bpa-is-active.__bpa-is-active .bpa-front-tm--item-icon svg,
  html body .bpa-frontend-vue3 .bpa-front-tabs--vertical-left .bpa-front-tab-menu .bpa-front-tab-menu--item.__bpa-is-active.__bpa-is-active .bpa-front-tm--item-icon svg * {
    fill: #ffffff !important;
  }
}
