.baycomed-booking{margin:1rem 0 1.25rem;padding:1rem;border:1px solid #e5e5e5;border-radius:4px;background:#fafafa}
.baycomed-booking fieldset{margin:0 0 1rem;padding:.75rem;border:1px solid #ddd}
.baycomed-booking legend{font-weight:700;padding:0 .35rem}
.baycomed-booking label{display:block;font-weight:600;margin-bottom:.35rem}
.baycomed-booking select{width:100%;max-width:28rem}
.baycomed-booking__meta{margin:.5rem 0;font-size:.95em;color:#333}
.baycomed-booking__next{margin:0 0 .75rem}

/* Compact booking meta – title + one line, tight spacing */
.baycomed-booking-meta{
	margin:0.15em 0 0 !important;
	padding:0 !important;
	line-height:1.3 !important;
}
.baycomed-booking-meta__item{
	display:block;
	margin:0 0 0.35em !important;
	padding:0 !important;
	line-height:1.3 !important;
}
.baycomed-booking-meta__item:last-child{margin-bottom:0 !important}
.baycomed-booking-meta__title{
	display:inline !important;
	font-weight:700 !important;
	font-size:inherit !important;
	margin:0 !important;
	padding:0 !important;
	color:inherit !important;
}
.baycomed-booking-meta__title::after{content:":"; margin-right:0.25em}
.baycomed-booking-meta__details{
	display:inline !important;
	font-weight:400 !important;
	opacity:0.88;
	margin:0 !important;
	padding:0 !important;
}

/* Mini-cart: keep compact */
.widget_shopping_cart .variation,
.woocommerce-mini-cart .variation,
.glozin-minipopup-panel .variation{
	font-size:0.82em;
	line-height:1.3;
	margin:0.2em 0 0;
}
.widget_shopping_cart .variation dt,
.woocommerce-mini-cart .variation dt,
.glozin-minipopup-panel .variation dt{
	font-weight:700;
	float:none !important;
	display:inline;
	margin:0;
	padding:0;
}
.widget_shopping_cart .variation:has(.baycomed-booking-meta) dt,
.woocommerce-mini-cart .variation:has(.baycomed-booking-meta) dt,
.glozin-minipopup-panel .variation:has(.baycomed-booking-meta) dt{
	display:block;
	margin:0 0 0.15em;
}
.widget_shopping_cart .variation dd,
.woocommerce-mini-cart .variation dd,
.glozin-minipopup-panel .variation dd{
	margin:0;
	padding:0;
	display:block;
}
.widget_shopping_cart .variation dd p,
.woocommerce-mini-cart .variation dd p,
.glozin-minipopup-panel .variation dd p{
	margin:0 !important;
	padding:0 !important;
	line-height:1.3 !important;
}

/* Blocks cart/checkout: compact, no slash separators, no huge gaps */
.wc-block-cart-items .wc-block-components-product-details,
.wc-block-components-order-summary .wc-block-components-product-details,
.wp-block-woocommerce-cart .wc-block-components-product-details,
.wp-block-woocommerce-checkout .wc-block-components-product-details{
	display:block !important;
	font-size:0.82em !important;
	line-height:1.3 !important;
	margin:0.15em 0 0 !important;
}
.wc-block-cart-items .wc-block-components-product-details > span,
.wc-block-components-order-summary .wc-block-components-product-details > span,
.wp-block-woocommerce-cart .wc-block-components-product-details > span,
.wp-block-woocommerce-checkout .wc-block-components-product-details > span{
	display:block !important;
	margin:0 !important;
	padding:0 !important;
	line-height:1.3 !important;
}
.wc-block-cart-items .wc-block-components-product-details > span > span[aria-hidden="true"],
.wc-block-components-order-summary .wc-block-components-product-details > span > span[aria-hidden="true"],
.wp-block-woocommerce-cart .wc-block-components-product-details > span > span[aria-hidden="true"],
.wp-block-woocommerce-checkout .wc-block-components-product-details > span > span[aria-hidden="true"]{
	display:none !important;
}
.wc-block-cart-items .wc-block-components-product-details__name,
.wc-block-components-order-summary .wc-block-components-product-details__name,
.wp-block-woocommerce-cart .wc-block-components-product-details__name,
.wp-block-woocommerce-checkout .wc-block-components-product-details__name{
	font-weight:700 !important;
}
.wc-block-cart-items .wc-block-components-product-details__value,
.wp-block-woocommerce-cart .wc-block-components-product-details__value,
.wp-block-woocommerce-checkout .wc-block-components-product-details__value,
.wc-block-components-order-summary .wc-block-components-product-details__value{
	display:block !important;
	margin:0 !important;
	padding:0 !important;
}
.wc-block-cart-items .baycomed-booking-meta__title,
.wp-block-woocommerce-cart .baycomed-booking-meta__title,
.wp-block-woocommerce-checkout .baycomed-booking-meta__title,
.glozin-minipopup-panel .baycomed-booking-meta__title,
.widget_shopping_cart .baycomed-booking-meta__title{
	font-weight:700 !important;
}

/* Neutralize theme p margins inside product details */
.wc-block-components-product-details p,
.widget_shopping_cart .variation p,
.woocommerce-mini-cart .variation p{
	margin:0 !important;
	padding:0 !important;
}


/* Sticky ATC: course-only compact bar + modal picker */
.baycomed-booking__fields--hidden{
	position:absolute !important;
	width:1px !important;
	height:1px !important;
	padding:0 !important;
	margin:-1px !important;
	overflow:hidden !important;
	clip:rect(0,0,0,0) !important;
	white-space:nowrap !important;
	border:0 !important;
}

body.baycomed-course-product .glozin-sticky-add-to-cart.baycomed-sticky-course .glozin-sticky-atc__content{
	display:flex;
	align-items:center;
	justify-content:flex-start;
	gap:1rem;
	flex-wrap:nowrap;
	padding-top:0.75rem;
	padding-bottom:0.75rem;
	min-height:72px;
}
body.baycomed-course-product .glozin-sticky-add-to-cart.baycomed-sticky-course .glozin-sticky-atc__image{
	width:56px !important;
	height:56px !important;
	flex:0 0 56px !important;
	margin-right:0 !important;
	margin-inline-end:0 !important;
	overflow:hidden;
	border-radius:50% !important;
	aspect-ratio:1 / 1;
}
body.baycomed-course-product .glozin-sticky-add-to-cart.baycomed-sticky-course .glozin-sticky-atc__image img{
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
	border-radius:50% !important;
	display:block;
}
body.baycomed-course-product .glozin-sticky-add-to-cart.baycomed-sticky-course .glozin-sticky-atc__product-info{
	flex:0 1 11rem;
	min-width:0;
	padding-right:0 !important;
	padding-inline-end:0 !important;
}
body.baycomed-course-product .glozin-sticky-add-to-cart.baycomed-sticky-course .glozin-sticky-atc__title{
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
	line-height:1.25;
}
body.baycomed-course-product .glozin-sticky-add-to-cart.baycomed-sticky-course .glozin-sticky-atc__rating{
	display:none;
}
body.baycomed-course-product .glozin-sticky-add-to-cart.baycomed-sticky-course .glozin-sticky-atc__actions,
body.baycomed-course-product .glozin-sticky-add-to-cart.baycomed-sticky-course .glozin-sticky-atc__actions form.cart{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:0.75rem;
	flex:1 1 auto;
	margin-inline-start:0 !important;
	width:auto;
	min-width:0;
}
body.baycomed-course-product .glozin-sticky-add-to-cart.baycomed-sticky-course .baycomed-booking--sticky{
	margin:0;
	padding:0;
	border:0;
	background:transparent;
	flex:1 1 auto;
	min-width:0;
	max-width:18rem;
}
body.baycomed-course-product .glozin-sticky-add-to-cart.baycomed-sticky-course .baycomed-booking__sticky-trigger{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:0.5rem;
	width:100%;
	min-height:50px;
	padding:0.55rem 0.9rem;
	border:1px solid #d9d9d9;
	border-radius:999px;
	background:#fff;
	color:#333;
	font-size:14px;
	font-weight:600;
	line-height:1.2;
	cursor:pointer;
	text-align:left;
}
body.baycomed-course-product .glozin-sticky-add-to-cart.baycomed-sticky-course .baycomed-booking__sticky-trigger:hover,
body.baycomed-course-product .glozin-sticky-add-to-cart.baycomed-sticky-course .baycomed-booking__sticky-trigger:focus{
	border-color:#6b2d7b;
	outline:none;
}
body.baycomed-course-product .glozin-sticky-add-to-cart.baycomed-sticky-course .baycomed-booking__sticky-trigger.is-selected{
	border-color:#6b2d7b;
	background:#faf6fb;
}
body.baycomed-course-product .glozin-sticky-add-to-cart.baycomed-sticky-course .baycomed-booking__sticky-trigger-summary{
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
body.baycomed-course-product .glozin-sticky-add-to-cart.baycomed-sticky-course .baycomed-booking__sticky-trigger::after{
	content:"";
	width:0.45rem;
	height:0.45rem;
	border-right:2px solid currentColor;
	border-bottom:2px solid currentColor;
	transform:rotate(45deg);
	flex:0 0 auto;
	opacity:0.7;
	margin-top:-0.15rem;
}
body.baycomed-course-product .glozin-sticky-add-to-cart.baycomed-sticky-course .quantity{
	margin:0 !important;
	flex:0 0 auto;
}
body.baycomed-course-product .glozin-sticky-add-to-cart.baycomed-sticky-course .single_add_to_cart_button{
	margin:0 !important;
	margin-inline-start:0 !important;
	flex:0 0 auto;
	min-width:10.5rem;
	height:50px;
}
body.baycomed-course-product .glozin-sticky-add-to-cart.baycomed-sticky-course .baycomed-booking__meta{
	display:none;
}

/* Modal */
.baycomed-sticky-modal[hidden]{display:none !important;}
.baycomed-sticky-modal{
	position:fixed;
	inset:0;
	z-index:100000;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:1rem;
}
.baycomed-sticky-modal__backdrop{
	position:absolute;
	inset:0;
	background:rgba(17,17,17,0.45);
}
.baycomed-sticky-modal__dialog{
	position:relative;
	z-index:1;
	width:min(32rem, 100%);
	max-height:min(80vh, 40rem);
	display:flex;
	flex-direction:column;
	background:#fff;
	border-radius:12px;
	box-shadow:0 16px 48px rgba(0,0,0,0.18);
	overflow:hidden;
}
.baycomed-sticky-modal__header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1rem;
	padding:1rem 1.15rem;
	border-bottom:1px solid #eee;
}
.baycomed-sticky-modal__title{
	margin:0;
	font-size:1.15rem;
	font-weight:700;
}
.baycomed-sticky-modal__close{
	border:0;
	background:transparent;
	font-size:1.75rem;
	line-height:1;
	cursor:pointer;
	color:#666;
	padding:0 0.25rem;
}
.baycomed-sticky-modal__body{
	padding:1rem 1.15rem;
	overflow:auto;
	flex:1 1 auto;
}
.baycomed-sticky-modal__field{
	margin:0 0 0.85rem;
}
.baycomed-sticky-modal__field label{
	display:block;
	font-weight:600;
	margin-bottom:0.35rem;
	color:#1a1a1a;
}
.baycomed-sticky-modal__field select,
.baycomed-sticky-modal__location,
.baycomed-sticky-modal__session{
	width:100%;
	min-height:44px;
	font-size:15px;
}
.baycomed-sticky-modal__session{display:none;}
.baycomed-sticky-modal__session-list{
	display:flex;
	flex-direction:column;
	gap:0.5rem;
	margin-top:0.25rem;
}
.baycomed-sticky-modal__session-option{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:0.15rem;
	width:100%;
	padding:0.75rem 0.9rem;
	border:1px solid #e0e0e0;
	border-radius:10px;
	background:#fff !important;
	color:#1a1a1a !important;
	cursor:pointer;
	text-align:left;
	box-shadow:none;
}
.baycomed-sticky-modal__session-option:hover,
.baycomed-sticky-modal__session-option:focus,
.baycomed-sticky-modal__session-option.is-active{
	border-color:#6b2d7b;
	background:#faf6fb !important;
	color:#1a1a1a !important;
}
.baycomed-sticky-modal__session-date{
	display:block;
	font-weight:700;
	font-size:0.95rem;
	color:#1a1a1a !important;
}
.baycomed-sticky-modal__session-meta{
	display:block;
	font-size:0.85rem;
	color:#555 !important;
}
.baycomed-sticky-modal__field-hint{
	margin:0.15rem 0 0;
	font-size:0.85rem;
	color:#777;
}
.baycomed-sticky-modal__component{
	margin:0 0 1rem;
	padding:0.75rem;
	border:1px solid #e5e5e5;
	border-radius:8px;
}
.baycomed-sticky-modal__component legend{
	font-weight:700;
	padding:0 0.35rem;
	color:#1a1a1a;
}
.baycomed-sticky-modal__footer{
	display:flex;
	justify-content:flex-end;
	gap:0.5rem;
	padding:0.85rem 1.15rem;
	border-top:1px solid #eee;
	background:#fafafa;
}
body.baycomed-sticky-modal-open{overflow:hidden;}

@media (max-width: 991.98px){
	body.baycomed-course-product .glozin-sticky-add-to-cart.baycomed-sticky-course .glozin-sticky-atc__content{
		flex-wrap:wrap;
		gap:0.65rem;
	}
	body.baycomed-course-product .glozin-sticky-add-to-cart.baycomed-sticky-course .baycomed-booking--sticky{
		order:-1;
		flex:1 1 100%;
		max-width:100%;
	}
	body.baycomed-course-product .glozin-sticky-add-to-cart.baycomed-sticky-course .glozin-sticky-atc__actions,
	body.baycomed-course-product .glozin-sticky-add-to-cart.baycomed-sticky-course .glozin-sticky-atc__actions form.cart{
		width:100%;
	}
}
