/*
 * Local Sponsor ads + the "Advertise With Us" page.
 * Two-class selectors throughout: theme/Elementor CSS loads after this file.
 */
.vgc-ad-slot.vgc-ad-slot--banner {
	max-width: 1200px;
	margin: 40px auto;
	padding: 0 16px;
	box-sizing: border-box;
}
.vgc-ad.vgc-ad--banner { position: relative; margin: 0; }
.vgc-ad.vgc-ad--banner .vgc-ad__link { display: block; border-radius: 14px; overflow: hidden; line-height: 0; }
.vgc-ad.vgc-ad--banner img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	aspect-ratio: 4 / 1;
	object-fit: cover;
	border-radius: 0;
}
.vgc-ad.vgc-ad--banner .vgc-ad__label {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 1;
}
@media (max-width: 600px) {
	.vgc-ad.vgc-ad--banner img { aspect-ratio: auto; }
}

.vgc-ad .vgc-ad__label {
	display: inline-block;
	padding: 3px 9px;
	border-radius: 999px;
	background: rgba(15, 26, 46, .72);
	color: #fff;
	font: 700 10.5px/1.4 "Mulish", system-ui, sans-serif;
	letter-spacing: .1em;
	text-transform: uppercase;
	pointer-events: none;
}

/* Card */
.vgc-ad.vgc-ad--card {
	margin: 0;
	border: 1px solid #dfe9ec;
	border-radius: 14px;
	overflow: hidden;
	background: #fff;
	font-family: "Mulish", system-ui, sans-serif;
	transition: box-shadow .18s ease, transform .18s ease;
}
.vgc-ad.vgc-ad--card:hover { box-shadow: 0 16px 32px -20px rgba(28, 44, 76, .45); transform: translateY(-3px); }
.vgc-ad.vgc-ad--card .vgc-ad__link { display: flex; flex-direction: column; height: 100%; color: #1c2c4c; text-decoration: none; }
.vgc-ad.vgc-ad--card .vgc-ad__img { position: relative; display: block; aspect-ratio: 4 / 3; background: #e5f7f4; }
.vgc-ad.vgc-ad--card .vgc-ad__img img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.vgc-ad.vgc-ad--card .vgc-ad__img .vgc-ad__label { position: absolute; top: 10px; left: 10px; }
.vgc-ad.vgc-ad--card .vgc-ad__body { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px 18px; flex: 1 1 auto; }
.vgc-ad.vgc-ad--card .vgc-ad__who { font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #138376; }
.vgc-ad.vgc-ad--card .vgc-ad__title { font-family: "Suranna", Georgia, serif; font-size: 24px; line-height: 1.15; color: #1c2c4c; }
.vgc-ad.vgc-ad--card .vgc-ad__text { font-size: 14.5px; line-height: 1.5; color: #4a5468; }
.vgc-ad.vgc-ad--card .vgc-ad__btn { margin-top: auto; padding-top: 6px; font-size: 14px; font-weight: 800; color: #1c2c4c; }
.vgc-ad.vgc-ad--card:hover .vgc-ad__btn { color: #138376; }

/* Card beside content (event page, articles): horizontal on wide screens */
.vgc-ad.vgc-ad--aside { max-width: 760px; margin: 32px auto; }
@media (min-width: 640px) {
	.vgc-ad.vgc-ad--aside .vgc-ad__link { flex-direction: row; }
	.vgc-ad.vgc-ad--aside .vgc-ad__img { flex: 0 0 42%; aspect-ratio: auto; min-height: 180px; }
}

/* ── Advertise With Us page ─────────────────────────────────────────────── */
.vgc-adv {
	max-width: 900px;
	margin: 0 auto;
	padding: 24px 16px 48px;
	color: #3b4a5e;
	font-family: "Mulish", system-ui, sans-serif;
	font-size: 16px;
	line-height: 1.7;
	box-sizing: border-box;
}
.vgc-adv *, .vgc-adv *::before, .vgc-adv *::after { box-sizing: border-box; }
.vgc-adv .vgc-adv__eyebrow { margin: 0 0 6px; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #138376; }
.vgc-adv .vgc-adv__h { margin: 0 0 14px; font-family: "Suranna", Georgia, serif; font-size: clamp(32px, 5vw, 46px); line-height: 1.1; color: #1c2c4c; }
.vgc-adv .vgc-adv__h3 { margin: 0 0 16px; font-family: "Suranna", Georgia, serif; font-size: 32px; line-height: 1.15; color: #1c2c4c; }
.vgc-adv .vgc-adv__rates { display: grid; gap: 12px; margin: 28px 0 14px; }
.vgc-adv .vgc-adv__rate {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 18px 22px;
	border: 1px solid #dfe9ec;
	border-radius: 16px;
	background: #fff;
}
.vgc-adv .vgc-adv__rate h3 { margin: 0 0 2px; font-family: "Mulish", system-ui, sans-serif; font-size: 18px; font-weight: 800; color: #1c2c4c; }
.vgc-adv .vgc-adv__rate p { margin: 0; font-size: 14.5px; }
.vgc-adv .vgc-adv__rate .vgc-adv__price { margin: 0; font-size: 30px; font-weight: 800; color: #1c2c4c; white-space: nowrap; font-variant-numeric: tabular-nums; }
.vgc-adv .vgc-adv__price span { font-size: 14px; font-weight: 600; color: #6b7486; }
.vgc-adv .vgc-adv__note { font-size: 14.5px; margin: 0 0 40px; }
.vgc-adv .vgc-adv__form { padding: 28px; border-radius: 20px; background: #eef9f7; }
.vgc-adv .vgc-adv__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.vgc-adv .vgc-adv__form p { margin: 0 0 14px; }
.vgc-adv .vgc-adv__form label { display: block; font-size: 14px; font-weight: 700; color: #1c2c4c; margin-bottom: 4px; }
.vgc-adv .vgc-adv__form input:not([type=checkbox]),
.vgc-adv .vgc-adv__form textarea {
	width: 100%;
	padding: 11px 14px !important;
	border: 1px solid #cfdde2 !important;
	border-radius: 10px !important;
	background: #fff !important;
	font: inherit;
	font-size: 15px;
	color: #1c2c4c;
}
.vgc-adv .vgc-adv__spots { border: 0; padding: 0; margin: 0 0 14px; display: flex; flex-wrap: wrap; gap: 8px 18px; }
.vgc-adv .vgc-adv__spots legend { font-size: 14px; font-weight: 700; color: #1c2c4c; margin-bottom: 6px; padding: 0; }
.vgc-adv .vgc-adv__spots label { display: flex; align-items: center; gap: 6px; font-weight: 600; margin: 0; }
.vgc-adv .vgc-adv__hp { position: absolute !important; left: -9999px !important; }
.vgc-adv .vgc-adv__submit {
	display: inline-block !important;
	padding: 14px 30px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #1c2c4c !important;
	color: #fff !important;
	font: 700 15px/1 "Mulish", system-ui, sans-serif !important;
	cursor: pointer;
}
.vgc-adv .vgc-adv__submit:hover { background: #138376 !important; }
.vgc-adv .vgc-adv__submit[disabled] { opacity: .6; cursor: wait; }
.vgc-adv .vgc-adv__msg { font-weight: 700; color: #138376; }
.vgc-adv .vgc-adv__msg.is-error { color: #b4233c; }
@media (max-width: 600px) {
	.vgc-adv .vgc-adv__grid { grid-template-columns: 1fr; }
	.vgc-adv .vgc-adv__rate { flex-direction: column; align-items: flex-start; gap: 6px; }
	.vgc-adv .vgc-adv__form { padding: 20px 16px; }
}
