/* =========================================================================
   BSR Master CSS
   Paste into Bricks → Settings → Custom CSS

   Sections:
     1. Kestrel availability bits + date bar
     2. Litepicker calendar popup theming
     3. Photo product card (.border-d2)
     4. Floating "View cart" FAB
     5. Desktop topbar (info strip)
     6. Offcanvas menu
     7. Cart page (classic shortcode cart)
   ========================================================================= */


/* =========================================================
   1. Kestrel + global rental date bar
   ========================================================= */

.wcrp-rental-products-availability-checker-applied {
	display: flex;
	color: #fff;
	flex-direction: row;
	justify-items: center;
	align-items: center;
}
.wcrp-rental-products-availability-checker-applied-notice.woocommerce-message { display: none; }
.wcrp-rental-products-availability-checker-applied-info-row {
	flex-direction: row;
	display: flex;
	align-items: center;
}
.wcrp-rental-products-availability-checker-applied-info {
	display: flex;
	flex-direction: row;
}
.wcrp-rental-products-availability-checker-applied-info-row-value {
	background-color: var(--bricks-color-ivpmtf);
	color: #000;
	padding: 5px 20px;
	margin: 0 20px;
	border-radius: 30px;
}
.wcrp-rental-products-availability-checker-button {
	padding: 5px 20px;
	border-radius: 30px;
}
.wcrp-rental-products-rental-dates-wrap { display: none !important; }

.bsr-litepicker-bar {
	width: 100%;
	padding: 0.5em 0.6em;
	position: relative;
	z-index: 50;
}
.bsr-litepicker-bar__inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 0.5em;
	flex-wrap: nowrap;
}
.bsr-litepicker-bar__field { flex: 1 1 auto; min-width: 0; }
.bsr-litepicker-bar__field label.screen-reader-text {
	position: absolute; width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); border: 0;
}

.bsr-litepicker-input-wrap { position: relative; display: flex; align-items: center; }
.bsr-litepicker-icon--calendar {
	position: absolute;
	left: 0.35em; top: 50%;
	transform: translateY(-50%);
	width: 2.3em; height: 2.3em;
	display: grid; place-items: center;
	background: rgba(23, 48, 184, .08);
	border-radius: 999px;
	font-size: 1em;
	color: #1730b8;
	pointer-events: none;
	z-index: 2;
	line-height: 1;
}
.bsr-litepicker-range {
	width: 100%;
	height: 3em;
	border: 0;
	border-radius: 999px;
	padding: 0 1.2em 0 3em;
	background: #fff;
	cursor: pointer;
	font-size: 1em;
	color: #1730b8;
	font-weight: 600;
	letter-spacing: -.005em;
	-webkit-appearance: none; appearance: none;
	box-shadow: inset 0 0 0 1px rgba(23, 48, 184, .10), 0 1px 2px rgba(11, 20, 55, .08);
	transition: box-shadow .25s ease, transform .25s ease;
}
.bsr-litepicker-range:hover {
	box-shadow: inset 0 0 0 1px rgba(23, 48, 184, .28), 0 6px 16px rgba(11, 20, 55, .14);
	transform: translateY(-1px);
}
.bsr-litepicker-range:focus,
.bsr-litepicker-range:focus-visible {
	outline: none !important;
	box-shadow: inset 0 0 0 1px rgba(23, 48, 184, .35), 0 0 0 3px rgba(255, 255, 255, .35) !important;
}
.bsr-litepicker-range::placeholder {
	color: #5a6388; opacity: 1; font-weight: 500;
}

.bsr-litepicker-bar__meta { display: flex; align-items: center; white-space: nowrap; }
.bsr-litepicker-days {
	color: #fff;
	font-size: 1em;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.bsr-litepicker-days:not(:empty) {
	background: rgba(255, 255, 255, 0.16);
	padding: 0.4em 1em;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.22);
}

.bsr-litepicker-bar__actions { display: flex; align-items: center; }
.bsr-litepicker-btn {
	height: 3em;
	min-width: 3em;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 999px;
	padding: 0 1em;
	font-size: 1em;
	font-weight: 600;
	cursor: pointer;
	background: rgba(255, 255, 255, .14);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background .25s ease, color .25s ease, transform .35s ease;
}
.bsr-litepicker-btn--icon { width: 3em; padding: 0; }
.bsr-litepicker-btn--icon .ticon,
.bsr-litepicker-btn--icon .brxe-icon { font-size: 1em; line-height: 1; }
.bsr-litepicker-btn:hover {
	background: #fff;
	color: #1730b8;
	transform: rotate(-180deg);
}

@media (max-width: 480px) {
	.bsr-litepicker-bar__meta { display: none; }
	.bsr-litepicker-bar__inner { gap: 0.4em; }
	.bsr-litepicker-bar { padding: 0.5em; }
}
@media (min-width: 768px) {
	.bsr-litepicker-bar { padding: 0.6em 0.8em; }
	.bsr-litepicker-bar__inner { gap: 0.75em; }
}


/* =========================================================
   2. Litepicker calendar popup
   ========================================================= */

.litepicker { font-family: inherit !important; }

.litepicker .container__main {
	border: none !important;
	border-radius: 16px !important;
	box-shadow: 0 12px 40px rgba(23, 48, 184, 0.18), 0 2px 8px rgba(0, 0, 0, 0.06) !important;
	background: #fff !important;
}

.litepicker .container__months {
	background: #fff !important;
	border-radius: 16px !important;
	flex-wrap: nowrap !important;
}
.litepicker .container__months .month-item { width: 260px !important; padding: 8px 12px !important; }
.litepicker .container__months .month-item:nth-child(2) { border-left: 1px solid rgba(23, 48, 184, 0.1) !important; }

.litepicker .container__months .month-item-header div > .month-item-name,
.litepicker .container__months .month-item-header div > .month-item-year {
	font-weight: 800 !important;
	font-size: 14px !important;
	color: #1730b8 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
}
.litepicker .container__months .month-item-header div > select {
	font-weight: 700 !important;
	font-size: 13px !important;
	color: #1730b8 !important;
	border: 1px solid rgba(23, 48, 184, 0.25) !important;
	border-radius: 6px !important;
	padding: 2px 6px !important;
	background: #fff !important;
}

.litepicker .container__months .button-previous-month,
.litepicker .container__months .button-next-month {
	cursor: pointer !important;
	border-radius: 50% !important;
	transition: background 0.15s !important;
}
.litepicker .container__months .button-previous-month:hover,
.litepicker .container__months .button-next-month:hover { background: rgba(23, 48, 184, 0.08) !important; }
.litepicker .container__months .button-previous-month > svg,
.litepicker .container__months .button-next-month > svg { fill: #1730b8 !important; }

.litepicker .container__months .month-item-weekdays-row > div {
	font-size: 11px !important;
	font-weight: 700 !important;
	color: #1730b8 !important;
	opacity: 0.5 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
}

.litepicker .container__days .day-item {
	font-size: 14px !important;
	font-weight: 500 !important;
	color: #1a1a2e !important;
	border-radius: 50% !important;
	transition: background 0.12s, color 0.12s !important;
}
.litepicker .container__days .day-item:hover { background: rgba(23, 48, 184, 0.08) !important; color: #1730b8 !important; }
.litepicker .container__days .day-item.is-today {
	color: #1730b8 !important;
	font-weight: 700 !important;
	border: 2px solid #1730b8 !important;
}
.litepicker .container__days .day-item.is-start-date,
.litepicker .container__days .day-item.is-end-date {
	background: #1730b8 !important;
	color: #fff !important;
	font-weight: 700 !important;
	border-radius: 50% !important;
	border: none !important;
}
.litepicker .container__days .day-item.is-in-range {
	background: rgba(23, 48, 184, 0.10) !important;
	color: #1730b8 !important;
	border-radius: 0 !important;
	border: none !important;
}
.litepicker .container__days .day-item.is-in-range.is-start-date { border-radius: 50% 0 0 50% !important; }
.litepicker .container__days .day-item.is-in-range.is-end-date { border-radius: 0 50% 50% 0 !important; }
.litepicker .container__days .day-item.is-locked { color: #ccc !important; opacity: 0.4 !important; }

.litepicker .container__tooltip {
	background: #1730b8 !important;
	color: #fff !important;
	border-radius: 8px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	padding: 4px 12px !important;
}

@media (max-width: 767px) {
	.litepicker .container__main { border-radius: 12px !important; }
	.litepicker .container__months { flex-wrap: wrap !important; }
	.litepicker .container__months .month-item { width: 100% !important; }
	.litepicker .container__days .day-item { font-size: 13px !important; }
}


/* =========================================================
   3. Photo product card (.border-d2)
   ========================================================= */

.border-d2 {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid rgba(23, 48, 184, .08);
	box-shadow: 0 1px 2px rgba(11,20,55,.04), 0 8px 24px rgba(11,20,55,.06);
	transition: transform .35s cubic-bezier(.2,.7,.2,1),
	            box-shadow .35s cubic-bezier(.2,.7,.2,1),
	            border-color .35s cubic-bezier(.2,.7,.2,1);
}
.border-d2:hover {
	transform: translateY(-4px);
	border-color: rgba(23, 48, 184, .25);
	box-shadow: 0 1px 2px rgba(11,20,55,.04), 0 18px 36px rgba(23, 48, 184, .16);
}

.border-d2 .co-img {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #eef1fb;
}
.border-d2 .co-img img {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform 1s cubic-bezier(.2,.7,.2,1);
}
.border-d2:hover .co-img img { transform: scale(1.04); }

.border-d2 .co-meta {
	padding: 1.1em 1.2em 0.4em;
	display: flex;
	flex-direction: column;
	text-align: left;
}
.border-d2 .co-title,
.border-d2 .co-title a {
	font-size: 1.15em;
	font-weight: 700;
	color: #0b1437;
	letter-spacing: -.01em;
	line-height: 1.2;
	margin: 0 0 0.7em;
	padding: 0 0 0.7em;
	text-transform: capitalize;
	text-decoration: none;
	border-bottom: 1px solid rgba(11,20,55,.08);
}

.border-d2 .co-price {
	display: flex;
	align-items: baseline;
	gap: 0.45em;
	flex-wrap: wrap;
}
.border-d2 .co-price .woocommerce-Price-amount {
	font-size: 1.8em;
	font-weight: 800;
	color: #1730b8;
	font-variant-numeric: tabular-nums;
	letter-spacing: -.02em;
	line-height: 1;
}
.border-d2 .co-price .bsr-price-suffix {
	font-size: 1em;
	font-weight: 500;
	color: #5a6388;
	text-transform: uppercase;
	letter-spacing: .12em;
}
.border-d2 .co-price .bsr-price-breakdown {
	display: block;
	width: 100%;
	margin-top: 0.5em;
	font-size: 1em;
	font-weight: 700;
	color: #1730b8;
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* qty stepper inside the card */
.border-d2 .bsr-qty {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0.9em 1.1em 0;
	padding: 0.25em;
	background: #f4f5fa;
	border-radius: 999px;
	user-select: none;
	font-size: 1em;
}
.border-d2 .bsr-qty__btn {
	width: 2.2em; height: 2.2em;
	border-radius: 999px;
	border: 0;
	background: #fff;
	color: #1730b8;
	font-size: 1em;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	display: grid;
	place-items: center;
	box-shadow: 0 1px 2px rgba(11,20,55,.06);
	transition: background .2s, color .2s, transform .2s;
}
.border-d2 .bsr-qty__btn:hover { background: #1730b8; color: #fff; }
.border-d2 .bsr-qty__btn:disabled {
	opacity: .35; cursor: not-allowed;
	background: #fff; color: #1730b8;
}
.border-d2 .bsr-qty__value {
	font-size: 1em;
	font-weight: 700;
	color: #0b1437;
	font-variant-numeric: tabular-nums;
	min-width: 1.6em;
	text-align: center;
}
.border-d2 .bsr-qty__label {
	font-size: 1em;
	font-weight: 600;
	color: #5a6388;
	text-transform: uppercase;
	letter-spacing: .12em;
	padding-left: 0.7em;
}

.border-d2 .button.product_type_simple {
	margin: 0.9em 1.1em 1.1em;
	padding: 0.95em 1.3em;
	background: #1730b8 !important;
	color: #fff !important;
	border: 0;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.7em;
	font-size: 1em;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background .3s cubic-bezier(.2,.7,.2,1);
}
.border-d2 .button.product_type_simple::after {
	content: "→";
	display: inline-block;
	transition: transform .3s cubic-bezier(.2,.7,.2,1);
}
.border-d2:hover .button.product_type_simple { background: #0f237a !important; }
.border-d2:hover .button.product_type_simple::after { transform: translateX(3px); }
.border-d2 .button.product_type_simple.loading { opacity: .7; cursor: wait; }

.border-d2 a:focus-visible,
.border-d2 .button.product_type_simple:focus-visible,
.border-d2 .bsr-qty__btn:focus-visible {
	outline: 2px solid #1730b8;
	outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
	.border-d2, .border-d2 *, .border-d2 *::after { transition: none !important; }
}


/* =========================================================
   4. Floating "View cart" FAB
   ========================================================= */

.bsr-cart-fab {
	position: fixed;
	right: 1.5em;
	bottom: 1.5em;
	z-index: 100;
	display: inline-flex;
	align-items: center;
	gap: 0.6em;
	padding: 0.85em 1.4em 0.85em 1.1em;
	background: #1730b8;
	color: #fff !important;
	border-radius: 999px;
	text-decoration: none;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	box-shadow: 0 8px 24px rgba(23, 48, 184, .35), 0 2px 6px rgba(11, 20, 55, .12);
	transition: transform .25s cubic-bezier(.2,.7,.2,1),
	            box-shadow .25s cubic-bezier(.2,.7,.2,1),
	            opacity .25s ease,
	            visibility .25s ease;
}
.bsr-cart-fab:hover,
.bsr-cart-fab:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 14px 32px rgba(23, 48, 184, .45), 0 2px 6px rgba(11, 20, 55, .12);
	color: #fff !important;
}
.bsr-cart-fab.is-empty {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(20px);
}
.bsr-cart-fab__icon {
	display: inline-grid;
	place-items: center;
	line-height: 0;
}
.bsr-cart-fab__icon svg { display: block; }
.bsr-cart-fab__label { font-size: 1em; }
.bsr-cart-fab__count {
	display: inline-grid;
	place-items: center;
	min-width: 1.6em;
	height: 1.6em;
	padding: 0 0.4em;
	background: #fff;
	color: #1730b8;
	border-radius: 999px;
	font-size: 1em;
	font-weight: 800;
	letter-spacing: 0;
	font-variant-numeric: tabular-nums;
	box-shadow: 0 1px 2px rgba(11, 20, 55, .15);
}

@media (max-width: 600px) {
	.bsr-cart-fab {
		right: 1em;
		bottom: 1em;
		padding: 0.8em 1.1em 0.8em 0.95em;
	}
}

/* hide FAB on cart + checkout pages */
body.woocommerce-cart .bsr-cart-fab,
body.woocommerce-checkout .bsr-cart-fab { display: none !important; }


/* =========================================================
   5. Desktop topbar (info strip)
   ========================================================= */

.bsr-topbar {
	width: 100%;
	background: #050f5f;
	color: #fff;
	font-size: 0.95em;
}
.bsr-topbar-inner {
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.4em;
	flex-wrap: wrap;
}
.bsr-topbar-link {
	display: inline-flex;
	align-items: center;
	gap: 0.55em;
	color: rgba(255, 255, 255, .85);
	text-decoration: none;
	font-size: 1em;
	font-weight: 500;
	letter-spacing: .02em;
	transition: color .2s ease;
}
.bsr-topbar-link:hover { color: #fff; }
.bsr-topbar-ico {
	display: inline-grid;
	place-items: center;
	width: 1.4em;
	height: 1.4em;
	border-radius: 999px;
	background: rgba(255, 255, 255, .12);
	color: #fff;
	font-size: 0.9em;
	flex-shrink: 0;
}
@media (max-width: 1023px) {
	.bsr-topbar { display: none !important; }
}


/* =========================================================
   6. Offcanvas menu
   ========================================================= */

.bsr-offcanvas-toggle {
	width: 3em;
	height: 3em;
	display: inline-grid;
	place-items: center;
	background: rgba(255, 255, 255, .14);
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	font-size: 1em;
	padding: 0;
	transition: background .25s ease, color .25s ease, transform .25s ease;
}
.bsr-offcanvas-toggle:hover,
.bsr-offcanvas-toggle:focus-visible {
	background: #fff;
	color: #1730b8;
	outline: none;
}
.bsr-offcanvas-toggle svg {
	width: 1em; height: 1em;
	fill: currentColor; stroke: currentColor;
}

.bsr-offcanvas {
	background: #081da6;
	color: #fff;
	box-shadow: -24px 0 60px rgba(7, 12, 38, .35);
}
.bsr-offcanvas .brx-overlay {
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.bsr-offcanvas-inner {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	gap: 1.4em;
	padding: 1.6em;
}

.bsr-offcanvas-close {
	align-self: flex-end;
	width: 2.6em; height: 2.6em;
	display: inline-grid; place-items: center;
	background: rgba(255, 255, 255, .12);
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	padding: 0;
	font-size: 1em;
	transition: background .25s ease, color .25s ease, transform .35s ease;
}
.bsr-offcanvas-close:hover,
.bsr-offcanvas-close:focus-visible {
	background: #fff;
	color: #1730b8;
	transform: rotate(90deg);
	outline: none;
}
.bsr-offcanvas-close svg { width: 1em; height: 1em; fill: currentColor; stroke: currentColor; }

.bsr-offcanvas-nav { margin-top: 1em; }
.bsr-offcanvas-nav .bricks-nav-menu,
.bsr-offcanvas-nav ul.menu {
	list-style: none;
	margin: 0; padding: 0;
	display: flex; flex-direction: column;
	gap: 0;
}
.bsr-offcanvas-nav li { margin: 0; }
.bsr-offcanvas-nav li > a {
	display: block;
	padding: 1.1em 0.4em;
	color: #fff;
	text-decoration: none;
	font-size: 1.25em;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: lowercase;
	border-bottom: 1px solid rgba(255, 255, 255, .10);
	transition: padding-left .25s ease, color .25s ease;
}
.bsr-offcanvas-nav li > a::after {
	content: "→";
	float: right;
	opacity: 0;
	transform: translateX(-6px);
	transition: opacity .25s ease, transform .25s ease;
}
.bsr-offcanvas-nav li > a:hover { padding-left: 1em; color: rgba(255, 255, 255, .92); }
.bsr-offcanvas-nav li > a:hover::after { opacity: .9; transform: translateX(0); }
.bsr-offcanvas-nav li.current-menu-item > a,
.bsr-offcanvas-nav li.current_page_item > a {
	color: #fff;
	border-bottom-color: rgba(255, 255, 255, .35);
}
.bsr-offcanvas-nav .sub-menu {
	list-style: none;
	margin: 0 0 0 0.4em;
	padding: 0.4em 0 0.6em 1em;
	border-left: 1px solid rgba(255, 255, 255, .15);
}
.bsr-offcanvas-nav .sub-menu li > a {
	font-size: 1em;
	font-weight: 500;
	padding: 0.6em 0.4em;
	border-bottom: 0;
	opacity: .85;
}
.bsr-offcanvas-nav .sub-menu li > a:hover { opacity: 1; padding-left: 1em; }

.bsr-offcanvas-foot {
	padding-top: 1.4em;
	border-top: 1px solid rgba(255, 255, 255, .12);
	display: flex; flex-direction: column;
	gap: 0.6em;
}
.bsr-offcanvas-contact { margin-top: auto; }
.bsr-offcanvas-viewcart { padding-top: 1em; border-top: 0; }

.bsr-offcanvas-foot-label {
	margin: 0 0 0.2em;
	font-size: 1em;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .55);
}

.bsr-offcanvas-foot-link {
	display: flex;
	align-items: center;
	gap: 0.7em;
	padding: 0.45em 0;
	color: #fff;
	text-decoration: none;
	font-size: 1em;
	font-weight: 500;
	letter-spacing: .01em;
	transition: color .2s ease, transform .2s ease;
}
.bsr-offcanvas-foot-link:hover { color: rgba(255, 255, 255, .85); transform: translateX(2px); }
.bsr-offcanvas-foot-ico {
	display: inline-grid;
	place-items: center;
	width: 1.8em; height: 1.8em;
	border-radius: 999px;
	background: rgba(255, 255, 255, .12);
	color: #fff;
	font-size: 1em;
	flex-shrink: 0;
}

.bsr-offcanvas-cart-link {
	display: flex;
	align-items: center;
	gap: 0.7em;
	padding: 0.85em 1.1em;
	border-radius: 999px;
	background: #fff;
	color: #1730b8;
	text-decoration: none;
	font-size: 1em;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .25);
	transition: transform .25s ease, box-shadow .25s ease;
}
.bsr-offcanvas-cart-link:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 24px rgba(0, 0, 0, .3);
	color: #1730b8;
}
.bsr-offcanvas-cart-ico {
	display: inline-grid;
	place-items: center;
	font-size: 1.1em;
	line-height: 1;
}
.bsr-offcanvas-cart-text { flex: 1 1 auto; }
.bsr-offcanvas-cart-count {
	display: inline-grid;
	place-items: center;
	min-width: 1.6em;
	height: 1.6em;
	padding: 0 0.4em;
	background: #1730b8;
	color: #fff;
	border-radius: 999px;
	font-size: 1em;
	font-weight: 800;
	letter-spacing: 0;
	font-variant-numeric: tabular-nums;
}
.bsr-offcanvas-cart-link[data-empty="true"] .bsr-offcanvas-cart-count,
.bsr-offcanvas-cart-count:empty { display: none; }

.bsr-offcanvas-toggle:focus-visible,
.bsr-offcanvas-close:focus-visible,
.bsr-offcanvas-nav a:focus-visible {
	outline: 2px solid rgba(255, 255, 255, .8);
	outline-offset: 3px;
	border-radius: 6px;
}
@media (prefers-reduced-motion: reduce) {
	.bsr-offcanvas-toggle,
	.bsr-offcanvas-close,
	.bsr-offcanvas-nav a,
	.bsr-offcanvas-nav a::after { transition: none !important; }
}
@media (max-width: 480px) {
	.bsr-offcanvas-inner { padding: 1.2em; }
	.bsr-offcanvas-nav li > a { font-size: 1.15em; padding: 1em 0.4em; }
}


/* =========================================================
   7. Cart page — THEMING ONLY (layout handled in Bricks)
   ========================================================= */

/* table itself: visual reset + row spacing */
.woocommerce-cart table.shop_table.cart {
	background: transparent;
	border: 0;
	box-shadow: none;
	border-collapse: separate;
	border-spacing: 0 1em;
}

.woocommerce-cart table.shop_table.cart thead th {
	background: transparent;
	color: #5a6388;
	text-transform: uppercase;
	letter-spacing: .14em;
	font-weight: 700;
	font-size: 1em;
	border: 0;
	border-bottom: 1px solid rgba(11, 20, 55, .08);
}

/* narrow + rename quantity column header */
.woocommerce-cart table.shop_table.cart thead th.product-quantity,
.woocommerce-cart table.shop_table.cart tbody td.product-quantity {
	width: 1%;
	white-space: nowrap;
}
/* hide the original "Quantity" text without collapsing the cell, render "Qty" via pseudo so it inherits header font-size */
.woocommerce-cart table.shop_table.cart thead th.product-quantity {
	position: relative;
	color: transparent;
	user-select: none;
}
.woocommerce-cart table.shop_table.cart thead th.product-quantity::before {
	content: "Qty";
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	color: #5a6388;
	letter-spacing: .14em;
	text-transform: uppercase;
	font-weight: 700;
}

/* qty stepper hugs its content so the column stays tight */
.woocommerce-cart .quantity {
	display: inline-flex;
	width: max-content;
}

/* each row as a card — visual only */
/* each row visually a card — applied to all cells (td + th since product-name uses th) */
.woocommerce-cart table.shop_table.cart tbody tr.cart_item > td,
.woocommerce-cart table.shop_table.cart tbody tr.cart_item > th {
	background: #fff !important;
	border-top: 1px solid rgba(11, 20, 55, .14) !important;
	border-bottom: 1px solid rgba(11, 20, 55, .14) !important;
	padding: 0.8em 0.6em !important;
	vertical-align: middle;
	transition: background .2s ease;
}
.woocommerce-cart table.shop_table.cart tbody tr.cart_item > :first-child {
	border-left: 1px solid rgba(11, 20, 55, .14) !important;
	border-top-left-radius: 14px;
	border-bottom-left-radius: 14px;
	padding-left: 1em !important;
}
.woocommerce-cart table.shop_table.cart tbody tr.cart_item > :last-child {
	border-right: 1px solid rgba(11, 20, 55, .14) !important;
	border-top-right-radius: 14px;
	border-bottom-right-radius: 14px;
	padding-right: 1em !important;
}
.woocommerce-cart table.shop_table.cart tbody tr.cart_item:hover > td,
.woocommerce-cart table.shop_table.cart tbody tr.cart_item:hover > th {
	background: #fafbff !important;
}

/* product thumbnail */
.woocommerce-cart td.product-thumbnail img,
.woocommerce-cart td.product-thumbnail a img {
	object-fit: cover;
	border-radius: 8px;
	width: 40px !important;
	height: 40px !important;
	max-width: 40px !important;
	max-height: 40px !important;
}

/* hide nested galleries Kestrel sometimes injects */
.woocommerce-cart td.product-name img,
.woocommerce-cart td.product-name .woocommerce-product-gallery,
.woocommerce-cart td.product-name figure,
.woocommerce-cart td.product-name .wp-post-image {
	display: none !important;
}

/* product name — covers both td.product-name (with link) and th.product-name (plain text) */
.woocommerce-cart .product-name,
.woocommerce-cart .product-name a {
	font-weight: 700;
	color: #1730b8;
	text-transform: capitalize;
	text-decoration: none;
	font-size: 1.2em;
	letter-spacing: -.01em;
	line-height: 1.2;
}
.woocommerce-cart .product-name a { transition: color .2s ease; }
.woocommerce-cart .product-name a:hover { color: #0f237a; }
.woocommerce-cart .product-name .product-quantity { display: none; }

/* product title link on its own line so meta wraps below */
.woocommerce-cart td.product-name a {
	display: inline-block;
	margin-bottom: 0.5em;
}
.woocommerce-cart .wc-item-meta,
.woocommerce-cart .variation {
	display: block;
	width: fit-content;
	max-width: 100%;
	margin: 10px 0 0;
	padding: 0.5em 0.7em;
	background: rgba(23, 48, 184, .08);
	border-radius: 8px;
	list-style: none;
	font-size: 0.8em;
	color: #1730b8;
	clear: both;
}
.woocommerce-cart .wc-item-meta li,
.woocommerce-cart .variation > * { display: inline; margin: 0; }
/* hide the "Rental Period:" label, keep the value */
.woocommerce-cart .wc-item-meta strong,
.woocommerce-cart .wc-item-meta-label,
.woocommerce-cart .variation dt { display: none !important; }
/* dd often wraps the date in a paragraph — strip its default block margins */
.woocommerce-cart .variation dd p {
	margin: 0;
	padding: 0;
	display: inline;
	font: inherit;
	color: inherit;
	line-height: inherit;
}

/* unit price */
.woocommerce-cart td.product-price .woocommerce-Price-amount {
	color: #5a6388;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

/* qty stepper */
.woocommerce-cart .quantity {
	display: inline-flex;
	align-items: center;
	background: #f4f5fa;
	border-radius: 999px;
	padding: 0.25em;
}
.woocommerce-cart .quantity .plus,
.woocommerce-cart .quantity .minus {
	width: 2.2em !important;
	height: 2.2em !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: #1730b8 !important;
	font-size: 1em !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	cursor: pointer;
	display: grid;
	place-items: center;
	box-shadow: 0 1px 2px rgba(11, 20, 55, .06) !important;
	transition: background .2s ease, color .2s ease, transform .2s ease;
}
.woocommerce-cart .quantity .plus:hover,
.woocommerce-cart .quantity .minus:hover {
	background: #1730b8 !important;
	color: #fff !important;
}
.woocommerce-cart .quantity input.qty {
	width: 2.4em;
	height: 2.2em;
	border: 0;
	background: transparent;
	font-weight: 700;
	color: #0b1437;
	text-align: center;
	font-variant-numeric: tabular-nums;
	font-size: 1em;
	-moz-appearance: textfield;
	-webkit-appearance: none;
}
.woocommerce-cart .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* line subtotal */
.woocommerce-cart td.product-subtotal {
	font-weight: 800;
	color: #1730b8;
	font-variant-numeric: tabular-nums;
	font-size: 1.2em;
	letter-spacing: -.02em;
	white-space: nowrap;
}

/* remove (×) — visible circle on a soft tint, scales up on touch */
.woocommerce-cart td.product-remove a.remove {
	display: inline-grid;
	place-items: center;
	width: 2.4em;
	height: 2.4em;
	border-radius: 999px;
	color: #1730b8 !important;
	background: rgba(23, 48, 184, .08) !important;
	font-size: 1.2em !important;
	font-weight: 700;
	line-height: 1;
	transition: background .2s ease, color .2s ease;
}
.woocommerce-cart td.product-remove a.remove:hover {
	background: rgba(209, 26, 42, .10) !important;
	color: #d11a2a !important;
}

/* coupon input */
.woocommerce-cart .actions .coupon input.input-text {
	height: 2.8em;
	padding: 0 1em;
	border: 1px solid rgba(11, 20, 55, .15);
	border-radius: 999px;
	font-size: 1em;
	color: #0b1437;
	background: #fff;
}
.woocommerce-cart .actions .coupon input.input-text:focus-visible {
	outline: 2px solid #1730b8;
	outline-offset: 2px;
}

/* coupon + update cart buttons (ghost) */
.woocommerce-cart .actions .button,
.woocommerce-cart .actions input[type="submit"] {
	background: transparent !important;
	color: #1730b8 !important;
	border: 1.5px solid #1730b8 !important;
	border-radius: 999px !important;
	padding: 0 1.4em !important;
	height: 2.8em;
	font-size: 1em !important;
	font-weight: 700 !important;
	letter-spacing: .12em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .2s ease, color .2s ease;
}
.woocommerce-cart .actions .button:hover,
.woocommerce-cart .actions input[type="submit"]:hover {
	background: #1730b8 !important;
	color: #fff !important;
}

/* cart totals card */
.woocommerce-cart .cart_totals {
	background: #fff;
	border: 1px solid rgba(11, 20, 55, .08);
	border-radius: 16px;
	padding: 1.5em;
	box-shadow: 0 1px 2px rgba(11, 20, 55, .04), 0 8px 24px rgba(11, 20, 55, .04);
}

/* mobile under 767px (matches Woo's responsive cart breakpoint): bypass table layout — TR becomes a block card, cells become flex rows inside */
@media (max-width: 767px) {
	.woocommerce-cart table.shop_table.cart,
	.woocommerce-cart table.shop_table.cart tbody {
		display: block !important;
		width: 100%;
	}
	.woocommerce-cart table.shop_table.cart thead { display: none !important; }

	.woocommerce-cart table.shop_table.cart tbody tr.cart_item {
		display: block !important;
		width: 100%;
		background: #fff !important;
		border: 1px solid rgba(11, 20, 55, .14) !important;
		border-radius: 14px !important;
		margin: 0 0 1em !important;
		overflow: hidden;
		box-shadow: 0 1px 2px rgba(11, 20, 55, .04);
	}

	.woocommerce-cart table.shop_table.cart tbody tr.cart_item > td,
	.woocommerce-cart table.shop_table.cart tbody tr.cart_item > th {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		gap: 0.8em;
		width: 100% !important;
		padding: 0.7em 1em !important;
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
	}

	/* hairline divider between stacked rows inside the card */
	.woocommerce-cart table.shop_table.cart tbody tr.cart_item > td + td,
	.woocommerce-cart table.shop_table.cart tbody tr.cart_item > td + th,
	.woocommerce-cart table.shop_table.cart tbody tr.cart_item > th + td,
	.woocommerce-cart table.shop_table.cart tbody tr.cart_item > th + th {
		border-top: 1px solid rgba(11, 20, 55, .06) !important;
	}

	/* hover */
	.woocommerce-cart table.shop_table.cart tbody tr.cart_item:hover {
		border-color: rgba(23, 48, 184, .25) !important;
	}

	/* image + remove + meta sizing */
	.woocommerce-cart td.product-thumbnail img,
	.woocommerce-cart td.product-thumbnail a img {
		width: 64px !important;
		height: 64px !important;
		max-width: 64px !important;
		max-height: 64px !important;
	}
	.woocommerce-cart td.product-remove a.remove {
		width: 2.6em;
		height: 2.6em;
		font-size: 1.3em !important;
	}
	.woocommerce-cart .wc-item-meta,
	.woocommerce-cart .variation { font-size: 0.95em; }
}
.woocommerce-cart .cart_totals h2 {
	color: #1730b8;
	text-transform: uppercase;
	letter-spacing: .14em;
	font-size: 1em;
	font-weight: 700;
	margin: 0 0 1em;
	padding-bottom: 0.8em;
	border-bottom: 1px solid rgba(11, 20, 55, .08);
}
.woocommerce-cart .cart_totals table {
	width: 100%;
	border: 0;
	border-collapse: collapse;
	margin: 0;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
	border: 0;
	padding: 0.6em 0;
	font-size: 1em;
	background: transparent !important;
}
.woocommerce-cart .cart_totals table th {
	color: #0b1437;
	font-weight: 600;
	text-align: left;
}
.woocommerce-cart .cart_totals table td {
	color: #5a6388;
	text-align: right;
	font-variant-numeric: tabular-nums;
}
.woocommerce-cart .cart_totals .order-total { border-top: 1px solid rgba(11, 20, 55, .08); }
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td { padding-top: 1em !important; }
.woocommerce-cart .cart_totals .order-total th {
	font-size: 1.05em;
	font-weight: 800;
	color: #0b1437;
}
.woocommerce-cart .cart_totals .order-total td .woocommerce-Price-amount {
	font-size: 1.5em;
	font-weight: 800;
	color: #1730b8;
	letter-spacing: -.02em;
}
.woocommerce-cart .cart_totals .woocommerce-shipping-totals { vertical-align: top; }
.woocommerce-cart .cart_totals .shipping-calculator-button {
	color: #1730b8;
	text-decoration: underline;
	font-weight: 600;
}

.woocommerce-cart .wc-proceed-to-checkout { padding: 1.2em 0 0; margin: 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .checkout-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.6em;
	background: #1730b8 !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 1em 1.5em !important;
	font-size: 1em !important;
	font-weight: 700 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	box-shadow: 0 8px 24px rgba(23, 48, 184, .25);
	transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after {
	content: "→";
	transition: transform .25s ease;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	background: #0f237a !important;
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(23, 48, 184, .35);
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover::after {
	transform: translateX(3px);
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce-cart *,
	.woocommerce-cart *::before,
	.woocommerce-cart *::after { transition: none !important; }
}


/* =========================================================
   8. Checkout page — THEMING ONLY (layout handled in Bricks)
   ========================================================= */

/* form labels */
.woocommerce-checkout .form-row label {
	display: block;
	color: #5a6388;
	font-size: 1em;
	font-weight: 600;
	letter-spacing: .04em;
	margin: 0 0 0.4em;
}
.woocommerce-checkout .form-row label .required,
.woocommerce-checkout .form-row label .optional {
	color: #1730b8;
	text-decoration: none;
	margin-left: 0.2em;
}

/* inputs / selects / textareas */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select:not(.select2-hidden-accessible),
.woocommerce-checkout .select2-container .select2-selection--single,
.woocommerce-checkout .select2-container .select2-selection--multiple {
	width: 100%;
	min-height: 2.4em;
	padding: 0.4em 1em;
	border: 1px solid rgba(11, 20, 55, .15);
	border-radius: 12px;
	background: #fff;
	color: #0b1437;
	font-size: 1em;
	font-weight: 500;
	transition: border-color .2s ease, box-shadow .2s ease;
}

/* never style or show the native select once Select2 has hidden it */
.woocommerce-checkout .form-row select.select2-hidden-accessible {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
}
.woocommerce-checkout .form-row textarea {
	min-height: 6em;
	border-radius: 14px;
	resize: vertical;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .select2-container--focus .select2-selection {
	outline: none;
	border-color: #1730b8;
	box-shadow: 0 0 0 3px rgba(23, 48, 184, .12);
}
.woocommerce-checkout .form-row.woocommerce-invalid input.input-text,
.woocommerce-checkout .form-row.woocommerce-invalid select,
.woocommerce-checkout .form-row.woocommerce-invalid textarea {
	border-color: #d11a2a;
	box-shadow: 0 0 0 3px rgba(209, 26, 42, .10);
}
.woocommerce-checkout .form-row .description,
.woocommerce-checkout .form-row .woocommerce-input-wrapper small {
	display: block;
	color: #5a6388;
	font-size: 0.9em;
	margin-top: 0.4em;
}

/* select2 polish */
.woocommerce-checkout .select2-container .select2-selection--single {
	display: flex;
	align-items: center;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #0b1437;
	line-height: 1.4;
	padding-left: 0;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100%;
	right: 0.6em;
}

/* checkboxes */
.woocommerce-checkout .form-row input[type="checkbox"] {
	margin-right: 0.5em;
	width: 1.1em;
	height: 1.1em;
	accent-color: #1730b8;
}

/* coupon form when expanded */
.woocommerce-checkout .checkout_coupon {
	background: #fff;
	border: 1px solid rgba(11, 20, 55, .08);
	border-radius: 14px;
	padding: 1.2em;
	margin: 1em 0;
}
.woocommerce-checkout .checkout_coupon button.button {
	background: #1730b8 !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 0 1.2em !important;
	height: 2.8em;
	font-weight: 700 !important;
	letter-spacing: .12em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .2s ease;
}
.woocommerce-checkout .checkout_coupon button.button:hover {
	background: #0f237a !important;
}

/* order review card */
.woocommerce-checkout #order_review {
	background: #fff;
	border: 1px solid rgba(11, 20, 55, .08);
	border-radius: 16px;
	padding: 1.5em;
	box-shadow: 0 1px 2px rgba(11, 20, 55, .04), 0 8px 24px rgba(11, 20, 55, .04);
}

/* order review table */
.woocommerce-checkout #order_review table.shop_table {
	background: transparent;
	border: 0;
	box-shadow: none;
	border-collapse: collapse;
	width: 100%;
}
.woocommerce-checkout #order_review table.shop_table thead th {
	background: transparent !important;
	color: #5a6388;
	text-transform: uppercase;
	letter-spacing: .14em;
	font-weight: 700;
	font-size: 1em;
	padding: 0 0 0.7em !important;
	border: 0;
	border-bottom: 1px solid rgba(11, 20, 55, .08);
}
.woocommerce-checkout #order_review table.shop_table tbody td,
.woocommerce-checkout #order_review table.shop_table tbody th {
	background: transparent !important;
	border: 0 !important;
	padding: 0.7em 0 !important;
	font-size: 1em;
	color: #0b1437;
}
.woocommerce-checkout #order_review table.shop_table tbody td.product-name {
	font-weight: 700;
	color: #0b1437;
	text-transform: capitalize;
}
.woocommerce-checkout #order_review table.shop_table tbody td.product-name .product-quantity {
	color: #5a6388;
	font-weight: 500;
	margin-left: 0.4em;
}
.woocommerce-checkout #order_review table.shop_table tbody td.product-total {
	text-align: right;
	font-weight: 700;
	color: #0b1437;
	font-variant-numeric: tabular-nums;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr th,
.woocommerce-checkout #order_review table.shop_table tfoot tr td {
	background: transparent !important;
	border: 0 !important;
	border-top: 1px solid rgba(11, 20, 55, .06) !important;
	padding: 0.7em 0 !important;
	font-size: 1em;
	color: #5a6388;
	font-weight: 600;
	text-align: left;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr td {
	text-align: right;
	color: #0b1437;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total th {
	color: #0b1437;
	font-weight: 800;
	font-size: 1.05em;
	padding-top: 1em !important;
	border-top: 1px solid rgba(11, 20, 55, .14) !important;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total td {
	padding-top: 1em !important;
	border-top: 1px solid rgba(11, 20, 55, .14) !important;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total td .woocommerce-Price-amount {
	font-size: 1.5em;
	font-weight: 800;
	color: #1730b8;
	letter-spacing: -.02em;
}

/* rental period meta in the order review (carries over from cart) */
.woocommerce-checkout #order_review .wc-item-meta,
.woocommerce-checkout #order_review .variation {
	display: block;
	width: fit-content;
	max-width: 100%;
	margin: 0.5em 0 0;
	padding: 0.4em 0.7em;
	background: rgba(23, 48, 184, .08);
	border-radius: 8px;
	list-style: none;
	font-size: 0.85em;
	color: #1730b8;
}
.woocommerce-checkout #order_review .wc-item-meta li,
.woocommerce-checkout #order_review .variation > * { display: inline; margin: 0; }
.woocommerce-checkout #order_review .wc-item-meta strong,
.woocommerce-checkout #order_review .wc-item-meta-label,
.woocommerce-checkout #order_review .variation dt { display: none !important; }
.woocommerce-checkout #order_review .variation dd p {
	margin: 0; padding: 0; display: inline; font: inherit; color: inherit; line-height: inherit;
}

/* payment methods */
.woocommerce-checkout #payment {
	background: transparent;
	border-radius: 0;
	margin-top: 1.2em;
}
.woocommerce-checkout #payment ul.payment_methods {
	background: #fafbff;
	border: 1px solid rgba(11, 20, 55, .08);
	border-radius: 14px;
	padding: 0.6em;
	list-style: none;
	margin: 0 0 1em;
}
.woocommerce-checkout #payment ul.payment_methods li {
	background: #fff;
	border: 1px solid transparent;
	border-radius: 10px;
	padding: 0.8em 1em;
	margin: 0;
	transition: border-color .2s ease, background .2s ease;
}
.woocommerce-checkout #payment ul.payment_methods li + li { margin-top: 0.4em; }
.woocommerce-checkout #payment ul.payment_methods li:hover {
	border-color: rgba(23, 48, 184, .25);
}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
	margin-right: 0.6em;
	accent-color: #1730b8;
}
.woocommerce-checkout #payment ul.payment_methods li label {
	display: inline;
	color: #0b1437;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
	margin: 0;
}
.woocommerce-checkout #payment ul.payment_methods li .payment_box {
	margin-top: 0.8em;
	padding: 0.9em 1em;
	background: rgba(23, 48, 184, .04);
	border-radius: 10px;
	color: #5a6388;
	font-size: 1em;
}
.woocommerce-checkout #payment ul.payment_methods li .payment_box::before { display: none; }

/* gateway buttons inside the payment box (Visa/CyberSource "Checkout with card" etc.) — no black border, tighter padding */
.woocommerce-checkout #payment .payment_box button,
.woocommerce-checkout #payment .payment_box .button,
.woocommerce-checkout #payment .payment_box input[type="button"],
.woocommerce-checkout #payment .payment_box input[type="submit"] {
	border: 1px solid rgba(11, 20, 55, .12) !important;
	background: #fff !important;
	color: #0b1437 !important;
	border-radius: 10px !important;
	padding: 0.55em 1em !important;
	font-size: 1em !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	box-shadow: 0 1px 2px rgba(11, 20, 55, .06) !important;
	transition: background .2s ease, border-color .2s ease;

}
.woocommerce-checkout #payment .payment_box button:hover,
.woocommerce-checkout #payment .payment_box .button:hover,
.woocommerce-checkout #payment .payment_box input[type="button"]:hover,
.woocommerce-checkout #payment .payment_box input[type="submit"]:hover {
	border-color: rgba(23, 48, 184, .35) !important;
	background: #fafbff !important;
}

/* outer payment wrapper black border (some themes/Bricks add one) */
.woocommerce-checkout #payment,
.woocommerce-checkout .woocommerce-checkout-payment {
	border: 0 !important;
	background: transparent !important;
	
}
.woocommerce-checkout #payment .terms-and-conditions-wrapper {
	margin-top: 1em;
	color: #5a6388;
	font-size: 1em;
}

/* place order button — hero pill */
.woocommerce-checkout #payment .place-order {
	padding: 1em 0 0;
	margin: 0;
}
.woocommerce-checkout #payment .place-order button.button,
.woocommerce-checkout #place_order {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.6em;
	width: 100% !important;
	background: #1730b8 !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 1em 1.5em !important;
	font-size: 1em !important;
	font-weight: 700 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	cursor: pointer;
	box-shadow: 0 8px 24px rgba(23, 48, 184, .25);
	transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
	line-height:2em !important;
}
.woocommerce-checkout #payment .place-order button.button::after,
.woocommerce-checkout #place_order::after {
	content: "→";
	transition: transform .25s ease;
}
.woocommerce-checkout #payment .place-order button.button:hover,
.woocommerce-checkout #place_order:hover {
	background: #0f237a !important;
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(23, 48, 184, .35);
}
.woocommerce-checkout #payment .place-order button.button:hover::after,
.woocommerce-checkout #place_order:hover::after {
	transform: translateX(3px);
}


@media (prefers-reduced-motion: reduce) {
	.woocommerce-checkout *,
	.woocommerce-checkout *::before,
	.woocommerce-checkout *::after { transition: none !important; }
}


/* =========================================================
   9. WooCommerce notices (cart updated, removed, errors)
   ========================================================= */

.woocommerce-notices-wrapper { margin-bottom: 1em; }

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-NoticeGroup .woocommerce-message,
.woocommerce-NoticeGroup .woocommerce-info,
.woocommerce-NoticeGroup .woocommerce-error {
	display: flex !important;
	align-items: flex-start;
	gap: 1em;
	padding: 0.9em 1.2em !important;
	margin: 0 0 0.7em !important;
	border: 1px solid rgba(11, 20, 55, .08) !important;
	border-left: 4px solid #1730b8 !important;
	border-radius: 12px !important;
	color: #0b1437 !important;
	font-size: 1em !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	box-shadow: 0 1px 2px rgba(11, 20, 55, .04), 0 6px 18px rgba(11, 20, 55, .05) !important;
	list-style: none !important;
}

/* tinted backgrounds + accent borders by type */
.woocommerce-message {
	background: rgba(22, 163, 74, .10) !important;
	border-color: rgba(22, 163, 74, .25) !important;
	border-left-color: #16a34a !important;
	color: #0a4a25 !important;
}
.woocommerce-info {
	background: rgba(23, 48, 184, .08) !important;
	border-color: rgba(23, 48, 184, .20) !important;
	border-left-color: #1730b8 !important;
	color: #0b1437 !important;
}
.woocommerce-error {
	background: rgba(209, 26, 42, .08) !important;
	border-color: rgba(209, 26, 42, .22) !important;
	border-left-color: #d11a2a !important;
	color: #581015 !important;
}

/* kill Woo's default ::before icon */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none !important; }

/* "View cart" / "Undo?" links inside notices — text-style, never a filled pill,
   pinned right and not eating into the message text */
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button,
.woocommerce-message a.button,
.woocommerce-info a.button,
.woocommerce-error a.button,
.woocommerce-message > a,
.woocommerce-info > a,
.woocommerce-error > a {
	color: inherit !important;
	font-weight: 700 !important;
	text-decoration: underline !important;
	background: transparent !important;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	margin-left: auto !important;
	white-space: nowrap;
	float: none !important;
	flex-shrink: 0;
	align-self: center;
	letter-spacing: 0 !important;
	text-transform: none !important;
	min-height: 0 !important;
	height: auto !important;
}
.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.woocommerce-error .button:hover,
.woocommerce-message > a:hover,
.woocommerce-info > a:hover,
.woocommerce-error > a:hover {
	opacity: 0.75;
}

/* error list inside .woocommerce-error (multiple bullet errors) */
.woocommerce-error {
	flex-direction: column;
	align-items: flex-start;
}
.woocommerce-error li {
	display: list-item;
	margin: 0 0 0.3em 1em;
	padding: 0;
}
.woocommerce-error li:last-child { margin-bottom: 0; }
