/* Viona Offers Manager – base design (Elementor style controls override these) */

.vo-wrap,
.vc-grid { font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; box-sizing: border-box; }
.vo-wrap *, .vo-wrap *::before, .vo-wrap *::after,
.vc-grid *, .vc-grid *::before, .vc-grid *::after { box-sizing: border-box; }
.vo-wrap { scroll-margin-top: 110px; }

/* ---------- filter chips ---------- */
.vo-wrap .vo-chips { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.vo-wrap .vo-chip {
	appearance: none; -webkit-appearance: none; margin: 0; cursor: pointer;
	padding: 11px 18px; border: 1px solid #ECE6DA; border-radius: 30px;
	background: #fff; color: #0B1E2B;
	font: 600 14px/1.2 Inter, system-ui, sans-serif; text-transform: none; letter-spacing: 0; box-shadow: none;
	transition: background .25s, border-color .25s, color .25s;
}
.vo-wrap .vo-chip:hover { background: #fff; color: #0B1E2B; border-color: #C8A25E; }
.vo-wrap .vo-chip.is-active,
.vo-wrap .vo-chip.is-active:hover { background: #0B1E2B; border-color: #0B1E2B; color: #fff; }
.vo-wrap .vo-chip b { margin-left: 6px; color: #C8A25E; font-weight: 700; }

.vo-wrap .vo-tools { display: flex; justify-content: center; margin-top: 14px; font: 500 13.5px/1.4 Inter, system-ui, sans-serif; color: #66707B; }
.vo-wrap .vo-tools label { display: inline-flex; gap: 8px; align-items: center; cursor: pointer; }
.vo-wrap .vo-tools input { accent-color: #C8A25E; margin: 0; }

/* ---------- list / rows ---------- */
.vo-wrap .vo-list { display: flex; flex-direction: column; gap: 12px; margin-top: 28px; }

.vo-wrap .vo-head,
.vo-wrap .vo-row {
	display: grid; align-items: center; column-gap: 16px; row-gap: 12px;
	grid-template-columns: repeat(6, minmax(0, 1fr));
}
.vo-wrap .vo-head { padding: 4px 24px; }
.vo-wrap .vo-row {
	padding: 20px 24px; background: #fff; border: 1px solid #ECE6DA; border-radius: 14px;
	transition: opacity .3s, box-shadow .3s, border-color .3s, background-color .3s;
}
.vo-wrap .vo-row:hover { border-color: #C8A25E; box-shadow: 0 14px 34px rgba(11, 30, 43, .08); }
.vo-wrap .vo-row.vo-old { opacity: .62; }
.vo-wrap .vo-row.vo-hide,
.vo-wrap .vo-list.vo-hide-old .vo-row.vo-old { display: none !important; }
.vo-wrap .vo-col { min-width: 0; }

.vo-wrap .vo-label { font: 600 11px/1.2 Inter, system-ui, sans-serif; letter-spacing: .8px; text-transform: uppercase; color: #66707B; }
.vo-wrap .vo-rowlabel { display: none; margin-bottom: 4px; }
.vo-wrap.vo-rl-always .vo-rowlabel { display: block; }

.vo-wrap .vo-dev { margin: 0; font: 700 16.5px/1.3 Inter, system-ui, sans-serif; color: #16212B; letter-spacing: 0; text-transform: none; }
.vo-wrap .vo-title { margin-top: 4px; font: 600 13.5px/1.4 Inter, system-ui, sans-serif; color: #C8A25E; }
.vo-wrap .vo-benefit { margin: 0; font: 400 14.5px/1.55 Inter, system-ui, sans-serif; color: #16212B; }
.vo-wrap .vo-plan { font: 500 14px/1.45 Inter, system-ui, sans-serif; color: #16212B; }

.vo-wrap .vo-badge { display: inline-block; padding: 5px 11px; border-radius: 20px; font: 700 11.5px/1.2 Inter, system-ui, sans-serif; letter-spacing: .4px; text-transform: uppercase; }
.vo-wrap .vo-badge--active { color: #1F9D55; background: #EAF6EE; }
.vo-wrap .vo-badge--sold_out { color: #9B2C24; background: #FBECEB; }
.vo-wrap .vo-badge--expired { color: #66707B; background: #F1EFEA; }
.vo-wrap .vo-note { display: block; margin-top: 6px; font: 400 12.5px/1.5 Inter, system-ui, sans-serif; color: #66707B; }

.vo-wrap .vo-btn {
	display: flex; align-items: center; justify-content: center; width: 100%;
	padding: 13px 14px; border: 1px solid #C8A25E; border-radius: 10px;
	background: #C8A25E; color: #0B1E2B; text-decoration: none; text-align: center;
	font: 600 14px/1.2 Inter, system-ui, sans-serif; letter-spacing: .3px; box-shadow: none;
	transition: background-color .25s, border-color .25s, color .25s;
}
.vo-wrap .vo-btn:hover,
.vo-wrap .vo-btn:focus { background: #E6CB93; border-color: #E6CB93; color: #0B1E2B; text-decoration: none; }
.vo-wrap .vo-btn--arrow::after { content: "\2192"; margin-left: 8px; transition: transform .25s; }
.vo-wrap .vo-btn--arrow:hover::after { transform: translateX(3px); }

.vo-wrap .vo-empty { display: none; padding: 30px; text-align: center; color: #66707B; border: 1px dashed #ECE6DA; border-radius: 14px; }
.vo-wrap .vo-empty.is-visible { display: block; }

/* desktop: column widths (override with the "Column widths" control) */
@media (min-width: 1025px) {
	.vo-wrap .vo-head,
	.vo-wrap .vo-row { grid-template-columns: var(--vo-cols, 22fr 29fr 16fr 12fr 13fr); }
}

/* tablet */
@media (max-width: 1024px) {
	.vo-wrap .vo-head { display: none; }
	.vo-wrap .vo-c-dev,
	.vo-wrap .vo-c-ben { grid-column: span 6; }
	.vo-wrap .vo-c-plan,
	.vo-wrap .vo-c-status,
	.vo-wrap .vo-c-btn { grid-column: span 2; }
	.vo-wrap.vo-rl-responsive .vo-rowlabel { display: block; }
}

/* mobile */
@media (max-width: 767px) {
	.vo-wrap .vo-head,
	.vo-wrap .vo-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vo-wrap .vo-row { padding: 18px; }
	.vo-wrap .vo-c-dev,
	.vo-wrap .vo-c-ben,
	.vo-wrap .vo-c-plan { grid-column: span 2; }
	.vo-wrap .vo-c-status,
	.vo-wrap .vo-c-btn { grid-column: span 1; }
	.vo-wrap .vo-chips { gap: 8px; }
	.vo-wrap .vo-chip { padding: 9px 14px; font-size: 13px; }
}

/* ---------- filter cards ---------- */
.vc-grid { display: grid; gap: 20px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vc-grid .vc-card {
	display: flex; flex-direction: column; align-items: flex-start; text-align: left;
	padding: 28px; background: #fff; border: 1px solid #ECE6DA; border-radius: 16px;
	box-shadow: 0 10px 30px rgba(11, 30, 43, .06); text-decoration: none; color: inherit;
	transition: transform .3s, box-shadow .3s, border-color .3s, background-color .3s;
}
.vc-grid .vc-card:hover { transform: translateY(-4px); border-color: #C8A25E; box-shadow: 0 18px 40px rgba(11, 30, 43, .10); text-decoration: none; }
.vc-grid .vc-icon {
	display: inline-flex; align-items: center; justify-content: center; flex: none;
	width: 54px; height: 54px; margin-bottom: 16px; border-radius: 50%;
	background: #FAF7F2; color: #C8A25E; transition: background-color .3s, color .3s;
}
.vc-grid .vc-icon svg { width: 22px; height: 22px; display: block; }
.vc-grid .vc-title { margin: 0 0 8px; font: 600 17px/1.35 Inter, system-ui, sans-serif; color: #16212B; letter-spacing: 0; text-transform: none; }
.vc-grid .vc-desc { margin: 0; font: 400 15px/1.7 Inter, system-ui, sans-serif; color: #66707B; }

.vc-align-left .vc-card { align-items: flex-start; text-align: left; }
.vc-align-center .vc-card { align-items: center; text-align: center; }
.vc-align-right .vc-card { align-items: flex-end; text-align: right; }

@media (max-width: 1024px) {
	.vc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vc-align-tablet-left .vc-card { align-items: flex-start; text-align: left; }
	.vc-align-tablet-center .vc-card { align-items: center; text-align: center; }
	.vc-align-tablet-right .vc-card { align-items: flex-end; text-align: right; }
}
@media (max-width: 767px) {
	.vc-grid { gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vc-grid .vc-card { padding: 18px; }
	.vc-grid .vc-title { font-size: 15px; }
	.vc-grid .vc-desc { font-size: 13px; }
	.vc-grid .vc-icon svg { width: 18px; height: 18px; }
	.vc-align-mobile-left .vc-card { align-items: flex-start; text-align: left; }
	.vc-align-mobile-center .vc-card { align-items: center; text-align: center; }
	.vc-align-mobile-right .vc-card { align-items: flex-end; text-align: right; }
}
