/* ================================
   GBP SEO PAGE STYLES
   ================================
   Google Business Profile category landing pages
   Pattern: BEM naming .gbp-seo__*
   Reference: gutscheine.css
   ================================ */

/* ================================
   BASE STRUCTURE
   ================================ */

.gbp-seo {
	padding: var(--spacing-8) 0;
	background-color: var(--color-neutral-50);
}

.gbp-seo__container {
	max-width: var(--max-width-7xl);
	margin: 0 auto;
	padding: 0 var(--spacing-4);
}

.gbp-seo__article {
	background-color: var(--color-neutral-white);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-md);
	overflow: hidden;
}

.gbp-seo__content {
	padding: var(--spacing-6);
}

@media (min-width: 640px) {
	.gbp-seo__container {
		padding: 0 var(--spacing-6);
	}

	.gbp-seo__content {
		padding: var(--spacing-8);
	}
}

@media (min-width: 1024px) {
	.gbp-seo__container {
		padding: 0 var(--spacing-8);
	}

	.gbp-seo__content {
		padding: var(--spacing-10);
	}
}

/* ================================
   HERO SECTION
   ================================ */

.gbp-seo__hero {
	background-image: url('/images/seo/gbp-category-hero.webp');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-color: var(--color-primary-700);
	min-height: 250px;
	position: relative;
	padding: var(--spacing-8) 0;
}

.gbp-seo__hero-overlay {
	background: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.5));
	padding: var(--spacing-8) 0;
	min-height: inherit;
	display: flex;
	align-items: center;
}

.gbp-seo__hero-content {
	max-width: 72rem;
	margin: 0 auto;
	padding: 0 var(--spacing-4);
}

/* Hero text overrides for white text on dark overlay */
.gbp-seo__hero .component-headline__tagline,
.gbp-seo__hero .component-headline__heading {
	color: var(--color-neutral-white);
}

.gbp-seo__hero .component-headline__divider-svg {
	fill: var(--color-neutral-white);
}

/* Hero paragraph text - white with good readability */
.gbp-seo__hero-content p {
	color: var(--color-neutral-white);
	font-size: var(--font-size-lg);
	line-height: var(--line-height-relaxed);
	margin-top: var(--spacing-4);
	margin-bottom: var(--spacing-6);
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.gbp-seo__hero-content p strong {
	color: var(--color-neutral-white);
	font-weight: var(--font-weight-semibold);
}

@media (min-width: 768px) {
	.gbp-seo__hero {
		min-height: 350px;
		padding: var(--spacing-12) 0;
	}

	.gbp-seo__hero-overlay {
		padding: var(--spacing-12) 0;
	}

	.gbp-seo__hero-content {
		padding: 0 var(--spacing-6);
	}
}

@media (min-width: 992px) {
	.gbp-seo__hero {
		min-height: 400px;
		padding: var(--spacing-16) 0;
	}

	.gbp-seo__hero-overlay {
		padding: var(--spacing-16) 0;
	}

	.gbp-seo__hero-content {
		padding: 0 var(--spacing-8);
	}
}

/* ================================
   CONTENT SECTIONS
   ================================ */

/* Shared Section Styles - sections inside .gbp-seo__content */
.gbp-seo__intro,
.gbp-seo__section,
.gbp-seo__audience,
.gbp-seo__testimonial,
.gbp-seo__cta {
	margin-bottom: var(--spacing-8);
}

.gbp-seo__intro:last-child,
.gbp-seo__section:last-child,
.gbp-seo__audience:last-child,
.gbp-seo__testimonial:last-child,
.gbp-seo__cta:last-child {
	margin-bottom: 0;
}

/* Intro Section - Lead Paragraph */
.gbp-seo__lead {
	font-size: var(--font-size-xl);
	line-height: var(--line-height-relaxed);
	color: var(--color-neutral-700);
	text-align: center;
	margin-bottom: var(--spacing-6);
}

/* Section Title */
.gbp-seo__section-title {
	font-size: var(--font-size-2xl);
	color: var(--color-neutral-800);
	text-align: center;
	margin-bottom: var(--spacing-6);
}

/* Benefits Section */
.gbp-seo__benefits {
	display: block;
}

.gbp-seo__benefits p {
	margin-bottom: var(--spacing-4);
}

.gbp-seo__benefits-list {
	margin: var(--spacing-6) 0;
	padding-left: var(--spacing-6);
}

.gbp-seo__benefits-list li {
	margin-bottom: var(--spacing-4);
	line-height: var(--line-height-relaxed);
}

.gbp-seo__benefits-list li:last-child {
	margin-bottom: 0;
}

.gbp-seo__benefits-item {
	background: var(--color-neutral-50);
	border-radius: var(--radius-md);
	padding: var(--spacing-6);
	border-left: 4px solid var(--color-primary-500);
}

.gbp-seo__benefits-title {
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-semibold);
	color: var(--color-neutral-800);
	margin-bottom: var(--spacing-2);
}

.gbp-seo__benefits-text {
	font-size: var(--font-size-base);
	line-height: var(--line-height-relaxed);
	color: var(--color-neutral-700);
	margin: 0;
}

/* Audience Section - same styling as benefits */
.gbp-seo__audience-list {
	display: grid;
	gap: var(--spacing-6);
}

.gbp-seo__audience-item {
	background: var(--color-neutral-50);
	border-radius: var(--radius-md);
	padding: var(--spacing-6);
}

.gbp-seo__audience-title {
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-semibold);
	color: var(--color-neutral-800);
	margin-bottom: var(--spacing-2);
}

.gbp-seo__audience-text {
	font-size: var(--font-size-base);
	line-height: var(--line-height-relaxed);
	color: var(--color-neutral-700);
	margin: 0;
}

/* Testimonial Section */
.gbp-seo__testimonial {
	background: var(--color-primary-50);
	padding: var(--spacing-6);
	border-radius: var(--radius-md);
}

.gbp-seo__testimonial-label {
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-semibold);
	color: var(--color-primary-700);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: var(--spacing-2);
	text-align: center;
}

.gbp-seo__testimonial-quote {
	margin: 0;
	padding: 0;
	border: none;
}

.gbp-seo__testimonial-quote p {
	font-size: var(--font-size-lg);
	line-height: var(--line-height-relaxed);
	color: var(--color-neutral-700);
	font-style: italic;
	text-align: center;
	margin: 0;
}

/* CTA Section */
.gbp-seo__cta {
	text-align: center;
}

.gbp-seo__cta-heading {
	font-size: var(--font-size-2xl);
	color: var(--color-neutral-800);
	text-align: center;
	margin-bottom: var(--spacing-6);
}

.gbp-seo__cta-lead {
	font-size: var(--font-size-lg);
	line-height: var(--line-height-relaxed);
	color: var(--color-neutral-700);
	margin-bottom: var(--spacing-6);
}

.gbp-seo__cta-button {
	margin-bottom: var(--spacing-4);

	/* DesignProfile green color scheme */
	background-color: var(--color-secondary-500);
	border: 2px solid var(--color-secondary-600);
	color: var(--color-neutral-white);

	/* Typography */
	font-family: var(--font-body);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-semibold);

	/* Sizing - touch-friendly */
	padding: 12px 24px;
	min-width: 200px;

	/* Visual treatment */
	border-radius: var(--border-radius-md);
	box-shadow: var(--shadow-sm);

	/* Smooth transitions */
	transition: all 0.25s ease-in-out;
	cursor: pointer;
}

/* CTA Button Hover State */
@media (hover: hover) {
	.gbp-seo__cta-button:hover {
		background-color: var(--color-secondary-600);
		border-color: var(--color-secondary-700);
		transform: translateY(-2px);
		box-shadow: var(--shadow-md);
	}
}

/* CTA Button Focus State - Accessibility */
.gbp-seo__cta-button:focus,
.gbp-seo__cta-button:focus-visible {
	outline: 3px solid var(--color-neutral-900);
	outline-offset: 3px;
}

/* CTA Button Active State */
.gbp-seo__cta-button:active {
	background-color: var(--color-secondary-700);
	border-color: var(--color-secondary-800);
	transform: translateY(0);
	box-shadow: var(--shadow-sm);
}

.gbp-seo__cta-supporting {
	font-size: var(--font-size-base);
	color: var(--color-neutral-600);
	font-style: italic;
	margin: 0;
}

/* ================================
   RESPONSIVE - TABLET (768px+)
   ================================ */

@media (min-width: 768px) {
	.gbp-seo__intro,
	.gbp-seo__section,
	.gbp-seo__audience,
	.gbp-seo__testimonial,
	.gbp-seo__cta {
		margin-bottom: var(--spacing-10);
	}

	.gbp-seo__audience-list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: var(--spacing-6);
	}
}

/* ================================
   RESPONSIVE - DESKTOP (992px+)
   ================================ */

@media (min-width: 992px) {
	.gbp-seo__intro,
	.gbp-seo__section,
	.gbp-seo__audience,
	.gbp-seo__testimonial,
	.gbp-seo__cta {
		margin-bottom: var(--spacing-12);
	}

	.gbp-seo__audience-list {
		grid-template-columns: repeat(3, 1fr);
	}

	.gbp-seo__section-title,
	.gbp-seo__cta-heading {
		font-size: var(--font-size-3xl);
	}
}

/* ================================
   RESPONSIVE - LARGE DESKTOP (1200px+)
   ================================ */

@media (min-width: 1200px) {
	.gbp-seo__container,
	.gbp-seo__hero-content {
		max-width: 80rem;
	}
}

/* ================================
   ACCESSIBILITY - REDUCED MOTION
   ================================ */

@media (prefers-reduced-motion: reduce) {
	.gbp-seo__cta-button {
		transition: none;
	}

	.gbp-seo__cta-button:hover {
		transform: none;
	}
}
