			.pbe-booking-widget { background: #0c1220; color: #f3efe6; border-radius: 20px; padding: 22px; box-shadow: 0 14px 36px rgba(5, 10, 20, .22); max-width: 1100px; margin: 18px auto 0; }
			.pbe-booking-widget h2 { margin: 0 0 8px; font-size: 1.55rem; letter-spacing: .03em; }
			.pbe-booking-widget h2,
			.pbe-booking-widget h3,
			.pbe-booking-widget label,
			.pbe-booking-widget strong { color: #f3efe6; }
			.pbe-booking-widget p { margin: 0 0 14px; color: #bfcae0; font-size: .96rem; }
			.pbe-booking-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
			.pbe-field label { display: block; margin-bottom: 8px; font-weight: 600; color: #f3efe6; }
			.pbe-field input, .pbe-field select, .pbe-field textarea { width: 100%; padding: 11px 12px; border: 1px solid #27324a; border-radius: 12px; background: #111a2d; color: #f3efe6; font-size: .95rem; }
			.pbe-field input:-webkit-autofill,
			.pbe-field input:-webkit-autofill:hover,
			.pbe-field input:-webkit-autofill:focus,
			.pbe-field textarea:-webkit-autofill,
			.pbe-field textarea:-webkit-autofill:hover,
			.pbe-field textarea:-webkit-autofill:focus,
			.pbe-field select:-webkit-autofill,
			.pbe-field select:-webkit-autofill:hover,
			.pbe-field select:-webkit-autofill:focus {
				-webkit-text-fill-color: #f3efe6 !important;
				caret-color: #f3efe6;
				-webkit-box-shadow: 0 0 0px 1000px #111a2d inset !important;
				box-shadow: 0 0 0px 1000px #111a2d inset !important;
				border: 1px solid #27324a !important;
				transition: background-color 9999s ease-out 0s;
			}
			.pbe-field select option { color: #f3efe6; background: #111a2d; }
			.pbe-field textarea { min-height: 92px; resize: vertical; }
			.pbe-compact-fields { gap: 10px; }
			.pbe-compact-fields .pbe-field label { margin-bottom: 6px; font-size: .9rem; }
			.pbe-compact-fields .pbe-field input,
			.pbe-compact-fields .pbe-field select,
			.pbe-compact-fields .pbe-field textarea { padding: 9px 10px; font-size: .9rem; border-radius: 10px; }
			.pbe-full-width { grid-column: 1 / -1; }
			.pbe-room-picker { display: none; }
			.pbe-room-tabs-panel { display: flex; flex-direction: column; }
			.pbe-room-tabs { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(180px, 1fr); gap: 10px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; }
			.pbe-room-tab { appearance: none; width: 100%; min-width: 0; text-align: left; border: 1px solid #22314b; border-radius: 14px; background: #070b14; color: #f3efe6; padding: 14px 14px 12px; cursor: pointer; transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease; scroll-snap-align: start; }
			.pbe-room-tab:hover { border-color: #4d83aa; transform: translateY(-1px); }
			.pbe-room-tab.is-active { background: linear-gradient(180deg, rgba(225, 0, 17, .18), rgba(17, 26, 45, .96)); border-color: rgba(225, 0, 17, .55); box-shadow: 0 16px 30px rgba(122, 4, 18, .18); }
			.pbe-room-tab-name { display: block; color: #fff; font-size: .98rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
			.pbe-room-tab-meta { display: block; margin-top: 6px; color: #9fb4cf; font-size: .82rem; line-height: 1.45; }
			.pbe-account-strip { margin: 0 0 16px; padding: 12px 14px; border-radius: 14px; background: rgba(17, 26, 45, .78); border: 1px solid #22314b; color: #c6d3ea; display: flex; justify-content: space-between; gap: 12px; align-items: center; flex-wrap: wrap; }
			.pbe-account-strip strong { color: #fff; }
			.pbe-account-strip a { color: #8fd7ff; font-weight: 700; }
			.pbe-account-strip.is-gold { background:
				radial-gradient(circle at top left, rgba(255, 214, 112, .22), transparent 34%),
				linear-gradient(135deg, rgba(45, 31, 10, .92), rgba(15, 17, 27, .96)); border-color: rgba(245, 193, 72, .42); color: #ffeab0; box-shadow: 0 18px 36px rgba(98, 66, 9, .18), inset 0 1px 0 rgba(255,255,255,.08); }
			.pbe-account-strip.is-gold strong { color: #fff8dc; }
			.pbe-login-required { padding: 24px 18px; text-align: center; }
			.pbe-login-required p { margin: 0 0 18px; color: #b7c3dd; font-size: .96rem; line-height: 1.6; }
			.pbe-login-required .pbe-button { display: inline-block; text-decoration: none; }
			.pbe-gold-pill { display: inline-flex; align-items: center; gap: 8px; padding: 7px 11px; border-radius: 999px; border: 1px solid rgba(255, 220, 128, .42); background: rgba(255, 210, 95, .12); color: #ffeab0; font-size: .72rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
			.pbe-gold-pill::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: #f7c84b; box-shadow: 0 0 16px rgba(247, 200, 75, .62); }
			.pbe-calendar { background: #070b14; border: 1px solid #202c42; border-radius: 18px; padding: 14px; }
			.pbe-calendar-header { display: grid; grid-template-columns: 42px 1fr 42px; align-items: center; gap: 10px; margin-bottom: 10px; }
			.pbe-calendar-nav { appearance: none; border: 0; background: transparent; color: #f3efe6; font-size: 2rem; line-height: 1; cursor: pointer; padding: 0; }
			.pbe-calendar-title { text-align: center; font-size: 1.45rem; color: #f3efe6; }
			.pbe-calendar-weekdays,
			.pbe-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
			.pbe-calendar-weekdays { margin-bottom: 4px; }
			.pbe-calendar-weekdays span { text-align: center; color: #7f8490; font-size: .85rem; }
			.pbe-calendar-day { appearance: none; min-height: 38px; display: flex; align-items: center; justify-content: center; padding: 0; border: 1px solid transparent; border-radius: 10px; background: transparent; color: #c6c8ce; font-size: .9rem; line-height: 1; white-space: nowrap; cursor: pointer; }
			.pbe-calendar-day.is-outside { color: #3a4150; cursor: default; }
			.pbe-calendar-day.is-disabled { color: #5a5e67; cursor: default; opacity: .45; }
			.pbe-calendar-day.is-selected { background: #e10011; color: #fff; border-color: #e10011; }
			.pbe-calendar-day:not(.is-outside):not(.is-disabled):hover { border-color: #36577a; }
			.pbe-selected-date { margin-top: 10px; color: #9fb4cf; font-size: .9rem; }
			.pbe-booking-panels { display: grid; gap: 18px; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr); align-items: stretch; }
			.pbe-panel { background: rgba(17, 62, 94, .68); border: 1px solid #202c42; border-radius: 16px; padding: 16px; display: flex; flex-direction: column; height: 100%; }
			.pbe-panel h3 { margin: 0 0 12px; font-size: 1rem; letter-spacing: .03em; }
			.pbe-panel.is-slots { background: rgba(17, 62, 94, .68); }
			.pbe-room-tabs-panel { grid-column: 1 / -1; display: flex; flex-direction: column; }
			.pbe-left-stack { display: grid; gap: 14px; height: 100%; }
			.pbe-right-stack { display: grid; gap: 14px; height: 100%; }
			.pbe-subpanel { background: #070b14; border: 1px solid #1e2a3a; border-radius: 14px; padding: 14px; }
			.pbe-subpanel h4 { margin: 0 0 10px; color: #f3efe6; font-size: .96rem; letter-spacing: .03em; }
			.pbe-slots { display: grid; gap: 8px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 10px 0 0; }
			.pbe-slot { position: relative; }
			.pbe-slot input { position: absolute; opacity: 0; pointer-events: none; }
			.pbe-slot span { display: block; padding: 12px 12px; border-radius: 12px; border: 1px solid #294a65; background: #111a2d; text-align: center; font-size: .92rem; transition: border-color .15s ease, background .15s ease, opacity .15s ease; }
			.pbe-slot input:checked + span { background: #e10011; border-color: #e10011; color: #fff; }
			.pbe-slot:not(.is-disabled) span:hover { border-color: #4d83aa; }
			.pbe-slot.is-disabled span { opacity: .38; border-color: #2a3040; background: #0f1420; }
			.pbe-slot.is-mine span { border-color: #4aa8ff; box-shadow: 0 0 0 2px rgba(74, 168, 255, .28); }
			.pbe-slot.is-mine input:checked + span { background: #e10011; border-color: #e10011; box-shadow: none; }
			.pbe-slots-note { margin-top: 12px; color: #8d97ac; font-size: .84rem; }
			.pbe-summary { display: grid; gap: 6px; margin-top: 10px; }
			.pbe-summary-row { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-bottom: 1px solid #243048; font-size: .92rem; align-items: center; }
			.pbe-summary-row strong { color: #fff; }
			.pbe-summary-row:last-child { border-bottom: 0; padding-bottom: 0; }
			.pbe-summary-total { font-size: .98rem; }
			.pbe-summary-row.is-hidden { display: none; }
			.pbe-summary-row-discount {
				margin: 4px 0 2px;
				padding: 12px 14px;
				border: 1px solid rgba(108, 201, 255, .22);
				border-radius: 14px;
				background:
					radial-gradient(circle at left top, rgba(108, 201, 255, .12), transparent 36%),
					linear-gradient(135deg, rgba(9, 30, 49, .96), rgba(8, 18, 34, .96));
				box-shadow: inset 0 1px 0 rgba(255,255,255,.03), 0 10px 24px rgba(3, 11, 20, .16);
			}
			.pbe-summary-row-discount + .pbe-summary-row {
				margin-top: 2px;
			}
			.pbe-summary-main {
				display: grid;
				gap: 5px;
				min-width: 0;
			}
			.pbe-summary-badge {
				display: inline-flex;
				align-items: center;
				gap: 8px;
				width: fit-content;
				padding: 6px 10px;
				border-radius: 999px;
				border: 1px solid rgba(108, 201, 255, .22);
				background: rgba(108, 201, 255, .08);
				color: #8fd7ff;
				font-size: .7rem;
				font-weight: 800;
				letter-spacing: .14em;
				text-transform: uppercase;
			}
			.pbe-summary-badge::before {
				content: "";
				width: 8px;
				height: 8px;
				border-radius: 50%;
				background: #6cc9ff;
				box-shadow: 0 0 14px rgba(108, 201, 255, .42);
			}
			.pbe-summary-discount-label {
				color: #e7f3ff;
				font-weight: 700;
			}
			.pbe-summary-discount-value {
				font-size: 1.08rem;
				font-weight: 900;
				color: #8fd7ff !important;
				letter-spacing: .01em;
				text-shadow: 0 0 18px rgba(108, 201, 255, .16);
			}
			.pbe-summary-row-gold {
				margin: 4px 0 2px;
				padding: 12px 14px;
				border: 1px solid rgba(247, 200, 75, .34);
				border-radius: 14px;
				background:
					radial-gradient(circle at left top, rgba(247, 200, 75, .18), transparent 36%),
					linear-gradient(135deg, rgba(49, 32, 9, .96), rgba(10, 15, 26, .96));
				box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 10px 24px rgba(3, 11, 20, .16);
			}
			.pbe-summary-row-gold strong { color: #ffeab0 !important; }
			.pbe-actions { display: flex; gap: 10px; align-items: center; margin-top: 14px; flex-wrap: wrap; }
			.pbe-consent-box { margin-top: 14px; margin-bottom: 18px; padding: 12px 14px; border-radius: 14px; background: rgba(10, 17, 30, .55); border: 1px solid rgba(53, 76, 117, .24); }
			.pbe-consent-label { display: flex; align-items: flex-start; gap: 10px; color: #c6d6ec; font-size: .9rem; line-height: 1.65; cursor: pointer; }
			.pbe-consent-label input { margin-top: 3px; width: 16px; height: 16px; accent-color: #19a8da; flex: 0 0 16px; }
			.pbe-consent-label strong { color: #fff; }
			.pbe-button { appearance: none; border: 0; border-radius: 999px; background: linear-gradient(135deg, #ff5b78 0%, #e10011 52%, #8b0614 100%); color: #fff; padding: 14px 24px; font-weight: 800; letter-spacing: .03em; cursor: pointer; box-shadow: 0 18px 34px rgba(124, 8, 24, .28), inset 0 1px 0 rgba(255,255,255,.14); transition: transform .18s ease, box-shadow .18s ease, filter .18s ease; }
			.pbe-button:hover { transform: translateY(-1px); box-shadow: 0 22px 40px rgba(124, 8, 24, .34), inset 0 1px 0 rgba(255,255,255,.16); filter: saturate(1.08); }
			.pbe-button:disabled { opacity: .78; cursor: wait; transform: none; box-shadow: 0 14px 24px rgba(124, 8, 24, .22); }
			.pbe-button[data-pbe-checkout-button]::after { content: "→"; display: inline-block; margin-left: 10px; font-size: 1rem; line-height: 1; transform: translateX(0); transition: transform .18s ease; }
			.pbe-button[data-pbe-checkout-button]:hover::after { transform: translateX(3px); }
			.pbe-note { font-size: .88rem; color: #99aac7; }
			.pbe-submit-box { margin-top: auto; padding-top: 18px; }
			.pbe-submit-box .pbe-actions { margin-top: 0; justify-content: center; }
			.pbe-alert { margin-bottom: 14px; padding: 12px 14px; border-radius: 14px; font-size: .94rem; }
			.pbe-alert.is-success { background: rgba(20, 142, 102, .18); color: #dff8ef; border: 1px solid rgba(73, 209, 153, .42); }
			.pbe-alert.is-error { background: rgba(170, 45, 58, .18); color: #ffe6e8; border: 1px solid rgba(244, 106, 120, .42); }
			.pbe-alert.is-warning { background: rgba(180, 120, 25, .18); color: #fff0c7; border: 1px solid rgba(242, 185, 87, .48); }
			@media (max-width: 980px) {
				.pbe-booking-panels { grid-template-columns: 1fr 1fr; }
				.pbe-room-tabs { grid-auto-columns: minmax(170px, 1fr); }
			}
			@media (max-width: 680px) {
				.pbe-booking-widget { padding: 18px 14px; border-radius: 16px; }
				.pbe-booking-widget h2 { font-size: 1.28rem; }
				.pbe-account-strip { padding: 10px 12px; gap: 8px; align-items: flex-start; }
				.pbe-field label { margin-bottom: 6px; font-size: .88rem; }
				.pbe-field input,
				.pbe-field select,
				.pbe-field textarea { padding: 10px 11px; font-size: .9rem; border-radius: 10px; }
				.pbe-booking-panels { grid-template-columns: 1fr; }
				.pbe-booking-grid { grid-template-columns: 1fr; }
				.pbe-full-width { grid-column: auto; }
				.pbe-room-tabs-panel { margin-bottom: -2px; }
				.pbe-room-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row; grid-auto-columns: unset; gap: 8px; overflow-x: visible; padding-bottom: 0; margin: 0; }
				.pbe-room-tab { padding: 11px 11px 10px; border-radius: 12px; min-height: 72px; }
				.pbe-room-tab-name { font-size: .86rem; line-height: 1.15; }
				.pbe-room-tab-meta { margin-top: 4px; font-size: .74rem; line-height: 1.35; }
				.pbe-panel { padding: 14px; border-radius: 14px; }
				.pbe-panel h3 { font-size: .94rem; }
				.pbe-subpanel { padding: 12px; border-radius: 12px; }
				.pbe-subpanel h4 { font-size: .9rem; margin-bottom: 8px; }
				.pbe-left-stack,
				.pbe-right-stack { gap: 12px; }
				.pbe-calendar { padding: 10px; border-radius: 14px; }
				.pbe-calendar-header { grid-template-columns: 34px 1fr 34px; gap: 6px; margin-bottom: 8px; }
				.pbe-calendar-nav { font-size: 1.6rem; }
				.pbe-calendar-title { font-size: 1.06rem; }
				.pbe-calendar-weekdays,
				.pbe-calendar-grid { gap: 3px; }
				.pbe-calendar-weekdays span { font-size: .74rem; }
				.pbe-calendar-day { min-height: 34px; font-size: .8rem; border-radius: 8px; }
				.pbe-selected-date { margin-top: 8px; font-size: .82rem; }
				.pbe-slots { grid-template-columns: repeat(3, minmax(0, 1fr)); }
				.pbe-slot span { padding: 10px 6px; font-size: .8rem; border-radius: 10px; }
				.pbe-compact-fields { gap: 8px; }
				.pbe-compact-fields .pbe-field label { margin-bottom: 5px; font-size: .84rem; }
				.pbe-compact-fields .pbe-field input,
				.pbe-compact-fields .pbe-field select,
				.pbe-compact-fields .pbe-field textarea { padding: 8px 9px; font-size: .86rem; }
				.pbe-summary { gap: 4px; }
				.pbe-summary-row { padding: 6px 0; font-size: .86rem; }
				.pbe-summary-total { font-size: .92rem; }
				.pbe-summary-row-discount { padding: 11px 12px; }
				.pbe-summary-discount-value { font-size: 1rem; }
				.pbe-actions { flex-direction: column; align-items: stretch; }
				.pbe-button { width: 100%; padding: 13px 16px; font-size: .92rem; }
				.pbe-submit-box { padding-top: 14px; }
			}
			@media (max-width: 420px) {
				.pbe-booking-widget { padding: 16px 10px; border-radius: 14px; }
				.pbe-booking-widget h2 { font-size: 1.16rem; }
				.pbe-account-strip { font-size: .86rem; }
				.pbe-room-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
				.pbe-room-tab { min-height: 66px; padding: 10px 10px 9px; }
				.pbe-room-tab-name { font-size: .8rem; }
				.pbe-room-tab-meta { font-size: .7rem; }
				.pbe-calendar-title { font-size: .96rem; }
				.pbe-calendar-weekdays span { font-size: .68rem; }
				.pbe-calendar-day { min-height: 30px; font-size: .74rem; }
				.pbe-slots { grid-template-columns: repeat(3, minmax(0, 1fr)); }
				.pbe-slot span { padding: 9px 5px; font-size: .76rem; }
				.pbe-summary-row { font-size: .82rem; }
				.pbe-summary-row-discount { padding: 10px 11px; }
			}
				.pbe-return-panel { overflow: hidden; }
				.pbe-return-panel.is-success { background:
					radial-gradient(circle at top left, rgba(76, 214, 165, .16), transparent 34%),
					radial-gradient(circle at top right, rgba(76, 185, 255, .14), transparent 30%),
					linear-gradient(180deg, rgba(16, 37, 58, .96), rgba(7, 17, 31, .98)); border-color: rgba(86, 231, 180, .22); box-shadow: 0 22px 56px rgba(6, 18, 31, .34); }
				.pbe-return-panel.is-error { background:
					radial-gradient(circle at top left, rgba(255, 106, 128, .14), transparent 30%),
					linear-gradient(180deg, rgba(41, 20, 31, .96), rgba(15, 10, 18, .98)); border-color: rgba(255, 121, 145, .18); box-shadow: 0 20px 48px rgba(25, 10, 18, .34); }
				.pbe-return-panel.is-pending { background:
					radial-gradient(circle at top left, rgba(255, 198, 94, .12), transparent 30%),
					radial-gradient(circle at top right, rgba(91, 169, 255, .10), transparent 26%),
					linear-gradient(180deg, rgba(28, 36, 52, .96), rgba(9, 15, 27, .98)); border-color: rgba(255, 206, 113, .16); box-shadow: 0 20px 48px rgba(10, 16, 28, .32); }
				.pbe-return-card { position: relative; }
				.pbe-return-hero { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 14px; }
				.pbe-return-icon { width: 64px; height: 64px; border-radius: 18px; display: flex; align-items: center; justify-content: center; font-size: 1.75rem; font-weight: 900; flex: 0 0 64px; }
				.pbe-return-icon.is-success { background: linear-gradient(135deg, rgba(42, 193, 132, .24), rgba(14, 117, 78, .34)); color: #e7fff4; border: 1px solid rgba(104, 240, 178, .38); box-shadow: 0 14px 32px rgba(18, 130, 89, .22); }
				.pbe-return-icon.is-error { background: linear-gradient(135deg, rgba(230, 70, 90, .22), rgba(122, 16, 36, .34)); color: #fff1f3; border: 1px solid rgba(255, 121, 145, .32); box-shadow: 0 14px 32px rgba(122, 16, 36, .22); }
				.pbe-return-icon.is-pending { background: linear-gradient(135deg, rgba(255, 196, 81, .18), rgba(156, 103, 15, .34)); color: #fff7e8; border: 1px solid rgba(255, 206, 113, .32); box-shadow: 0 14px 32px rgba(156, 103, 15, .18); }
				.pbe-return-copy h3 { margin: 0 0 6px; }
				.pbe-return-copy p { margin: 0; color: #d7e5f6; }
				.pbe-return-close { position: absolute; top: 16px; right: 16px; z-index: 5; width: 42px; height: 42px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .34); display: inline-flex; align-items: center; justify-content: center; color: #ffffff; text-decoration: none; font-size: 1.3rem; font-weight: 800; line-height: 1; background: rgba(5, 10, 18, .88); box-shadow: 0 10px 24px rgba(0,0,0,.22); transition: transform .16s ease, border-color .16s ease, background .16s ease; }
				.pbe-return-close:hover { transform: translateY(-1px); border-color: rgba(255,255,255,.62); background: rgba(16, 24, 38, .96); }
