.gpd-wrap,
.gpd-wrap *,
.gpd-wrap *::before,
.gpd-wrap *::after {
	box-sizing: border-box !important;
	margin: 0;
	padding: 0;
}

.gpd-wrap {
	--gpd-accent: #5A1A1A;
	--gpd-icon-color: #A65D66;
	--gpd-radius: 16px;
	--gpd-title-fs: 32px;
	--gpd-text-fs: 16px;
	--gpd-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--gpd-ink: #1a2332;
	--gpd-muted: #5c6270;
	--gpd-border: #eceef1;

	display: block !important;
	width: 100% !important;
	background: transparent !important;
	font-family: var(--gpd-font) !important;
	color: var(--gpd-ink) !important;
}

.gpd-wrap svg { display: inline-block !important; overflow: visible !important; }
.gpd-wrap img { max-width: 100% !important; display: block !important; }
.gpd-wrap a { text-decoration: none !important; color: inherit !important; }
.gpd-wrap ul { list-style: none !important; }

/* ---------- Layout ---------- */
.gpd-layout {
	display: grid !important;
	grid-template-columns: 1fr 340px !important;
	gap: 32px !important;
	align-items: start !important;
}

.gpd-layout-no-sidebar { grid-template-columns: 1fr !important; }

.gpd-main { min-width: 0 !important; }

/* ---------- Capa / título ---------- */
.gpd-cover {
	width: 100% !important;
	aspect-ratio: 16 / 8 !important;
	border-radius: var(--gpd-radius) !important;
	overflow: hidden !important;
	margin-bottom: 24px !important;
}

.gpd-cover img { width: 100% !important; height: 100% !important; object-fit: cover !important; }

.gpd-title {
	font-size: var(--gpd-title-fs) !important;
	font-weight: 800 !important;
	letter-spacing: -0.01em !important;
	color: var(--gpd-ink) !important;
	margin-bottom: 8px !important;
	line-height: 1.25 !important;
}

.gpd-subtitle {
	font-size: 17px !important;
	color: var(--gpd-muted) !important;
	margin-bottom: 26px !important;
	line-height: 1.5 !important;
}

/* ---------- Blocos ---------- */
.gpd-block { margin-bottom: 30px !important; }

.gpd-block-heading {
	font-size: 22px !important;
	font-weight: 800 !important;
	color: var(--gpd-ink) !important;
	margin-bottom: 16px !important;
	letter-spacing: -0.01em !important;
}

.gpd-block-texto {
	font-size: var(--gpd-text-fs) !important;
	line-height: 1.75 !important;
	color: #33383f !important;
}

.gpd-block-texto p { margin: 0 0 1.1em !important; }
.gpd-block-texto p:last-child { margin-bottom: 0 !important; }

.gpd-block-imagem img { border-radius: var(--gpd-radius) !important; width: 100% !important; }

/* ---------- Galeria ---------- */
.gpd-gallery-grid {
	display: grid !important;
	grid-template-columns: repeat(var(--gpd-gallery-cols, 2), 1fr) !important;
	gap: 16px !important;
}

.gpd-gallery-thumb {
	display: block !important;
	aspect-ratio: 4 / 3 !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	cursor: zoom-in !important;
}

.gpd-gallery-thumb img { width: 100% !important; height: 100% !important; object-fit: cover !important; transition: transform .4s ease !important; }
.gpd-gallery-thumb:hover img { transform: scale(1.05) !important; }

/* ---------- Cartões de destaque ---------- */
.gpd-features-grid {
	display: grid !important;
	grid-template-columns: repeat(var(--gpd-features-cols, 2), 1fr) !important;
	gap: 16px !important;
}

.gpd-feature-card {
	display: flex !important;
	align-items: flex-start !important;
	gap: 14px !important;
	background: #fff !important;
	border: 1px solid var(--gpd-border) !important;
	border-radius: var(--gpd-radius) !important;
	padding: 20px !important;
	transition: box-shadow .25s ease, border-color .25s ease !important;
}

.gpd-feature-card:hover {
	box-shadow: 0 10px 26px rgba(20,20,25,0.08) !important;
	border-color: transparent !important;
}

.gpd-feature-icon {
	flex-shrink: 0 !important;
	width: 44px !important;
	height: 44px !important;
	border-radius: 50% !important;
	background: color-mix(in srgb, var(--gpd-icon-color) 16%, white) !important;
	color: var(--gpd-icon-color) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.gpd-feature-icon .dashicons { font-size: 20px !important; width: 20px !important; height: 20px !important; }

.gpd-feature-body { display: flex !important; flex-direction: column !important; gap: 4px !important; }

.gpd-feature-title { font-size: 15px !important; font-weight: 700 !important; color: var(--gpd-ink) !important; line-height: 1.35 !important; }

.gpd-feature-text { font-size: 13.5px !important; line-height: 1.55 !important; color: var(--gpd-muted) !important; }

/* ---------- Barra lateral ---------- */
.gpd-sidebar { display: flex !important; flex-direction: column !important; gap: 20px !important; }

.gpd-widget {
	background: #fff !important;
	border: 1px solid var(--gpd-border) !important;
	border-radius: var(--gpd-radius) !important;
	padding: 22px !important;
}

.gpd-widget-title { font-size: 18px !important; font-weight: 800 !important; color: var(--gpd-ink) !important; margin-bottom: 14px !important; }

.gpd-widget-desc { font-size: 13.5px !important; color: var(--gpd-muted) !important; line-height: 1.55 !important; margin-bottom: 16px !important; }

/* Categorias */
.gpd-cat-list li { margin-bottom: 8px !important; }
.gpd-cat-list li:last-child { margin-bottom: 0 !important; }

.gpd-cat-item {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 10px 12px !important;
	border-radius: 12px !important;
	transition: background .2s ease !important;
}

.gpd-cat-item:hover { background: #f7f7f8 !important; }

.gpd-cat-icon {
	flex-shrink: 0 !important;
	width: 34px !important;
	height: 34px !important;
	border-radius: 50% !important;
	background: color-mix(in srgb, var(--gpd-icon-color) 16%, white) !important;
	color: var(--gpd-icon-color) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.gpd-cat-icon .dashicons { font-size: 16px !important; width: 16px !important; height: 16px !important; }

.gpd-cat-label { flex: 1 !important; font-size: 14px !important; font-weight: 600 !important; color: var(--gpd-ink) !important; }

.gpd-cat-chevron { color: var(--gpd-muted) !important; flex-shrink: 0 !important; }

/* Contactos */
.gpd-contact-list li { margin-bottom: 6px !important; }
.gpd-contact-list li:last-child { margin-bottom: 0 !important; }

.gpd-contact-item {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 10px 4px !important;
}

.gpd-contact-icon {
	flex-shrink: 0 !important;
	width: 38px !important;
	height: 38px !important;
	border-radius: 50% !important;
	background: color-mix(in srgb, var(--gpd-icon-color) 16%, white) !important;
	color: var(--gpd-icon-color) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.gpd-contact-icon svg { stroke: var(--gpd-icon-color) !important; fill: none !important; }

.gpd-contact-label { font-size: 14.5px !important; font-weight: 700 !important; color: var(--gpd-ink) !important; }

/* Formulário */
.gpd-lead-form { display: flex !important; flex-direction: column !important; gap: 4px !important; }

.gpd-field-label {
	display: block !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	color: var(--gpd-ink) !important;
	margin: 10px 0 4px !important;
}

.gpd-lead-form input,
.gpd-lead-form select,
.gpd-lead-form textarea {
	width: 100% !important;
	border: 1px solid var(--gpd-border) !important;
	background: #fafafb !important;
	border-radius: 10px !important;
	padding: 11px 12px !important;
	font-size: 13.5px !important;
	font-family: var(--gpd-font) !important;
	color: var(--gpd-ink) !important;
	outline: none !important;
	resize: vertical !important;
}

.gpd-lead-form input:focus,
.gpd-lead-form select:focus,
.gpd-lead-form textarea:focus { border-color: var(--gpd-accent) !important; }

.gpd-submit-btn {
	margin-top: 16px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	background: var(--gpd-accent) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 50px !important;
	padding: 13px !important;
	font-size: 14.5px !important;
	font-weight: 700 !important;
	font-family: var(--gpd-font) !important;
	cursor: pointer !important;
	transition: filter .2s ease !important;
}

.gpd-submit-btn:hover { filter: brightness(1.1) !important; }

.gpd-lead-msg { margin-top: 10px !important; font-size: 12.5px !important; }
.gpd-lead-msg.is-success { color: #1a7f37 !important; }
.gpd-lead-msg.is-error { color: #c0392b !important; }

/* ---------- Lightbox ---------- */
.gpd-lightbox-overlay {
	position: fixed !important;
	inset: 0 !important;
	background: rgba(0,0,0,0.92) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	z-index: 99999 !important;
	opacity: 0 !important;
	visibility: hidden !important;
	transition: opacity .3s ease !important;
}

.gpd-lightbox-overlay.is-open { opacity: 1 !important; visibility: visible !important; }

.gpd-lightbox-overlay img {
	max-width: 92vw !important;
	max-height: 86vh !important;
	border-radius: 8px !important;
}

.gpd-lightbox-close {
	position: absolute !important;
	top: 24px !important;
	right: 24px !important;
	background: rgba(255,255,255,0.1) !important;
	border: 1px solid rgba(255,255,255,0.25) !important;
	color: #fff !important;
	width: 42px !important;
	height: 42px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	font-size: 20px !important;
}

/* ---------- Responsivo ---------- */
@media (max-width: 980px) {
	.gpd-layout { grid-template-columns: 1fr !important; }
}

@media (max-width: 640px) {
	.gpd-gallery-grid,
	.gpd-features-grid { grid-template-columns: 1fr !important; }
	.gpd-title { font-size: 26px !important; }
	.gpd-cover { aspect-ratio: 16 / 10 !important; }
}
