 .wps-opb-wrapper {
	--wps-opb-card-bg: #ffffff;
	--wps-opb-card-accent: #2563eb;
	margin: 24px 0;
	font-family: inherit;
}

.wps-opb-hero,
.wps-opb-selector,
.wps-opb-package-card,
.wps-opb-empty-state,
.wps-opb-after-packages {
	border-radius: 22px;
	border: 1px solid #e5e7eb;
	background: #fff;
	box-shadow: 0 10px 30px rgba(15,23,42,.05);
}

.wps-opb-hero,
.wps-opb-selector,
.wps-opb-after-packages,
.wps-opb-empty-state {
	padding: 22px;
	margin-bottom: 18px;
}

.wps-opb-hero-title {
	margin: 0 0 12px;
	font-size: clamp(28px, 4vw, 40px);
	line-height: 1.15;
}

.wps-opb-hero-text,
.wps-opb-selector-text,
.wps-opb-after-packages {
	color: #475467;
}

.wps-opb-selector-title {
	margin: 0 0 10px;
	font-size: 24px;
}

.wps-opb-state-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.wps-opb-state-button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 1px solid #d0d5dd;
	background: #fff;
	border-radius: 999px;
	padding: 12px 16px;
	font-weight: 600;
	cursor: pointer;
	transition: .2s ease;
}

.wps-opb-state-button .dashicons {
	color: var(--wps-opb-state-color, #2563eb);
}

.wps-opb-state-button:hover,
.wps-opb-state-button.is-active {
	border-color: var(--wps-opb-state-color, #2563eb);
	box-shadow: 0 0 0 3px rgba(37,99,235,.12);
	transform: translateY(-1px);
}

.wps-opb-choose-state-text {
	margin-top: 14px;
	font-size: 14px;
	color: #667085;
}

.wps-opb-packages {
	display: grid;
	grid-template-columns: repeat(60, minmax(0, 1fr));
	gap: 0.01;
	margin-bottom: 18px;
}

.wps-opb-package-card {
	padding: 22px;
	position: relative;
	background: var(--wps-opb-card-bg);
	border-top: 5px solid var(--wps-opb-card-accent);
	grid-column: span 30;
}

.wps-opb-package-card.is-normal,
.wps-opb-package-card.is-1-2 {
	grid-column: span 30;
}

.wps-opb-package-card.is-wide,
.wps-opb-package-card.is-2-3 {
	grid-column: span 40;
}

.wps-opb-package-card.is-1-1 { grid-column: span 60; }
.wps-opb-package-card.is-5-6 { grid-column: span 50; }
.wps-opb-package-card.is-4-5 { grid-column: span 48; }
.wps-opb-package-card.is-3-4 { grid-column: span 45; }
.wps-opb-package-card.is-3-5 { grid-column: span 36; }
.wps-opb-package-card.is-2-5 { grid-column: span 24; }
.wps-opb-package-card.is-1-3 { grid-column: span 20; }
.wps-opb-package-card.is-1-4 { grid-column: span 15; }
.wps-opb-package-card.is-1-5 { grid-column: span 12; }
.wps-opb-package-card.is-1-6 { grid-column: span 10; }

.wps-opb-package-card.is-featured {
	transform: scale(1.02);
}

.wps-opb-package-card.is-soft {
	background: linear-gradient(180deg, #fff, #f8fafc);
}

.wps-opb-package-card.is-strong {
	box-shadow: 0 18px 34px rgba(15,23,42,.12);
}

.wps-opb-card-badge {
	display: inline-flex;
	align-items: center;
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(251,191,36,.16);
	color: #8a6400;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 14px;
}

.wps-opb-card-title {
	margin: 0 0 8px;
	font-size: 24px;
	line-height: 1.2;
}

.wps-opb-card-subtitle {
	font-weight: 600;
	color: #475467;
	margin-bottom: 12px;
}

.wps-opb-card-price {
	font-size: 30px;
	font-weight: 800;
	line-height: 1.1;
	margin-bottom: 6px;
	color: var(--wps-opb-card-accent);
}

.wps-opb-card-price-note {
	font-size: 12px;
	color: #667085;
	margin-bottom: 14px;
}

.wps-opb-card-description,
.wps-opb-card-secondary-text {
	color: #475467;
}

.wps-opb-card-items {
	list-style: none;
	margin: 16px 0;
	padding: 0;
	display: grid;
	gap: 10px;
}

.wps-opb-card-items li {
	position: relative;
	padding-left: 18px;
}

.wps-opb-card-items li::before {
	content: "•";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--wps-opb-card-accent);
	font-weight: 700;
}

.wps-opb-item-qty {
	margin-left: 6px;
	font-weight: 700;
}

.wps-opb-card-items small {
	display: block;
	color: #667085;
	margin-top: 2px;
}

.wps-opb-card-footer {
	margin-top: 18px;
}

.wps-opb-card-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	padding: 12px 18px;
	border-radius: 14px;
	text-decoration: none;
	font-weight: 700;
	border: 1px solid transparent;
	cursor: pointer;
}

.wps-opb-card-button.is-primary {
	background: var(--wps-opb-card-accent);
	color: #fff;
}

.wps-opb-card-button.is-secondary {
	background: #fff;
	color: var(--wps-opb-card-accent);
	border-color: var(--wps-opb-card-accent);
}

.wps-opb-card-button.is-ghost {
	background: #f8fafc;
	color: #101828;
	border-color: #d0d5dd;
}

.wps-opb-card-button.is-disabled {
	opacity: .65;
	cursor: default;
}

.wps-opb-card-footer-note {
	margin-top: 10px;
	font-size: 13px;
	color: #667085;
	text-align: center;
}

.wps-opb-empty-state {
	text-align: center;
	font-weight: 600;
}

@media (max-width: 1024px) {
	.wps-opb-packages {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.wps-opb-package-card {
		grid-column: span 1;
	}
	.wps-opb-package-card.is-1-1,
	.wps-opb-package-card.is-5-6,
	.wps-opb-package-card.is-4-5,
	.wps-opb-package-card.is-3-4,
	.wps-opb-package-card.is-wide,
	.wps-opb-package-card.is-2-3 {
		grid-column: span 2;
	}
}

@media (max-width: 767px) {
	.wps-opb-packages {
		grid-template-columns: 1fr;
	}
	.wps-opb-package-card,
	.wps-opb-package-card.is-wide,
	.wps-opb-package-card.is-1-1,
	.wps-opb-package-card.is-5-6,
	.wps-opb-package-card.is-4-5,
	.wps-opb-package-card.is-3-4,
	.wps-opb-package-card.is-2-3,
	.wps-opb-package-card.is-3-5,
	.wps-opb-package-card.is-1-2,
	.wps-opb-package-card.is-2-5,
	.wps-opb-package-card.is-1-3,
	.wps-opb-package-card.is-1-4,
	.wps-opb-package-card.is-1-5,
	.wps-opb-package-card.is-1-6 {
		grid-column: auto;
	}
	.wps-opb-state-buttons {
		flex-direction: column;
	}
	.wps-opb-state-button {
		width: 100%;
		justify-content: center;
	}
}


.wps-opb-card-title-toggle{
	display:block;
	width:100%;
	padding:0;
	margin:0 0 8px;
	background:transparent;
	border:0;
	text-align:left;
	cursor:pointer;
	color:inherit;
}
.wps-opb-card-body{
	display:block;
}
.wps-opb-package-card.wps-opb-is-collapsed .wps-opb-card-body{
	display:none;
}

.wps-opb-state-button i{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:20px;
	height:20px;
}


.wps-opb-modal[hidden]{display:none !important;}
.wps-opb-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:var(--wps-opb-modal-outer-padding,24px);}
.wps-opb-modal__overlay{position:absolute;inset:0;background:rgba(16,24,40,var(--wps-opb-modal-overlay-opacity,.56));}
.wps-opb-modal__dialog{position:relative;z-index:1;width:min(var(--wps-opb-modal-width,520px),100%);background:var(--wps-opb-modal-bg,#fff);color:var(--wps-opb-modal-text,#1f2937);border:var(--wps-opb-modal-border-width,1px) solid var(--wps-opb-modal-border,#d0d5dd);border-radius:var(--wps-opb-modal-radius,20px);box-shadow:var(--wps-opb-modal-shadow,0 30px 80px rgba(16,24,40,.22));padding:var(--wps-opb-modal-padding,24px);}
.wps-opb-modal__title{margin:0 0 var(--wps-opb-modal-gap,12px);font-size:24px;line-height:1.2;color:var(--wps-opb-modal-text,#1f2937);}
.wps-opb-modal__message{font-size:15px;line-height:1.65;color:var(--wps-opb-modal-muted,#667085);}
.wps-opb-modal__actions{display:flex;justify-content:flex-end;gap:var(--wps-opb-modal-gap,12px);margin-top:calc(var(--wps-opb-modal-gap,12px) * 2);}
.wps-opb-modal__button{appearance:none;border:1px solid var(--wps-opb-modal-border,#d0d5dd);border-radius:var(--wps-opb-modal-button-radius,12px);padding:var(--wps-opb-modal-button-padding,12px 18px);font-weight:700;cursor:pointer;transition:transform .15s ease,opacity .15s ease;}
.wps-opb-modal__button:hover{transform:translateY(-1px);}
.wps-opb-modal__button.is-primary{background:var(--wps-opb-modal-primary-bg,#2563eb);border-color:var(--wps-opb-modal-primary-bg,#2563eb);color:var(--wps-opb-modal-primary-text,#fff);}
.wps-opb-modal__button.is-secondary{background:var(--wps-opb-modal-secondary-bg,#eef2ff);color:var(--wps-opb-modal-secondary-text,#1f2937);}
body.wps-opb-modal-open{overflow:hidden;}
@media (max-width: 640px){.wps-opb-modal{padding:16px;}.wps-opb-modal__dialog{border-radius:16px;padding:20px;}.wps-opb-modal__actions{flex-direction:column-reverse;}.wps-opb-modal__button{width:100%;}}
