/**
 * Homepage Specific Styles
 * YC Ramen & Deuren
 */

/* ==========================================================================
   HERO SECTION - Moved to css/blocks/hero.css
   ========================================================================== */
/* All hero styles consolidated in css/blocks/hero.css for single source of truth */

/* ==========================================================================
   SERVICES SECTION
   ========================================================================== */

.bouw-services-section {
  margin-top: var(--space-xl); /* 2.5rem extra buffer after trust-bar */
  padding: clamp(3rem, 8vw, 6rem) 0;
}

.bouw-services-section .wp-block-heading {
  text-align: center;
  margin-bottom: 3rem;
}

/* Service Cards Grid */
.bouw-services-grid,
.wp-block-columns.is-style-services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
}

/* Individual Service Card */
.bouw-service-card {
  position: relative;
  border-radius: 0.75rem;
  overflow: hidden;
  aspect-ratio: 4/3;
  background: var(--wp--preset--color--gray-200);
}

.bouw-service-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.bouw-service-card:hover img {
  transform: scale(1.05);
}

.bouw-service-card__content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 2rem;
  background: linear-gradient(
    to top,
    color-mix(in srgb, var(--color-primary) 95%, transparent) 0%,
    color-mix(in srgb, var(--color-primary) 70%, transparent) 60%,
    transparent 100%
  );
  color: var(--ink-inverse, #ffffff);
}

.bouw-service-card__title {
  font-size: 1.375rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: var(--ink-inverse, #ffffff);
}

.bouw-service-card__desc {
  font-size: 0.9375rem;
  opacity: 0.9;
  line-height: 1.5;
}

/* ==========================================================================
   ABOUT/INTRO SECTION
   ========================================================================== */

.bouw-about-section {
  padding: clamp(3rem, 8vw, 6rem) 0;
  background-color: var(--wp--preset--color--gray-100);
}

.bouw-about-section .wp-block-media-text {
  gap: 3rem;
}

.bouw-about-section .wp-block-media-text__content {
  padding: 2rem 0;
}

/* ==========================================================================
   CTA SECTION (Dark Blue)
   ========================================================================== */

.bouw-cta-section {
  background: linear-gradient(135deg, var(--wp--preset--color--primary) 0%, var(--wp--preset--color--primary-dark) 100%);
  color: var(--ink-inverse, #ffffff);
  padding: clamp(3rem, 8vw, 5rem) 0;
  text-align: center;
}

.bouw-cta-section h2,
.bouw-cta-section h3 {
  color: var(--ink-inverse, #ffffff);
  margin-bottom: 1rem;
}

.bouw-cta-section p {
  color: var(--ink-inverse-muted, rgba(255, 255, 255, 0.85));
  max-width: 600px;
  margin: 0 auto 2rem;
}

.bouw-cta-section .wp-block-buttons {
  justify-content: center;
}

/* ==========================================================================
   REALISATIES / PORTFOLIO SECTION
   ========================================================================== */

.bouw-portfolio-section {
  padding: clamp(3rem, 8vw, 6rem) 0;
}

/* Mobile-first: Single column on mobile */
.bouw-portfolio-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

/* Desktop: 2 columns */
@media (min-width: 769px) {
  .bouw-portfolio-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.bouw-portfolio-item {
  position: relative;
  aspect-ratio: 16/10;
  border-radius: 0.75rem;
  overflow: hidden;
}

.bouw-portfolio-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.bouw-portfolio-item:hover img {
  transform: scale(1.03);
}

/* ==========================================================================
   TESTIMONIALS SECTION
   ========================================================================== */

.bouw-testimonials-section {
  padding: clamp(3rem, 8vw, 6rem) 0;
  background-color: var(--wp--preset--color--gray-100);
}

.bouw-testimonials-section .wp-block-heading {
  text-align: center;
  margin-bottom: 3rem;
}

/* Google Rating Display */
.bouw-google-rating {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 3rem;
}

.bouw-google-rating img {
  height: 40px;
  width: auto;
}

.bouw-rating-stars {
  color: var(--color-rating-star, #f59e0b);
  font-size: 1.25rem;
}

.bouw-rating-score {
  font-size: 1.5rem;
  font-weight: 700;
}

/* Testimonial Cards */
.bouw-testimonials-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
}

.bouw-testimonial-card {
  background: var(--surface-elevated, #ffffff);
  border-radius: var(--card-radius, 0.75rem);
  padding: var(--card-padding, 2rem);
  box-shadow: var(--shadow-sm);
}

.bouw-testimonial-card__quote {
  font-size: 1.0625rem;
  font-style: italic;
  line-height: 1.7;
  color: var(--wp--preset--color--gray-800);
  margin-bottom: 1.5rem;
}

.bouw-testimonial-card__author {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.bouw-testimonial-card__avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
}

.bouw-testimonial-card__name {
  font-weight: 600;
  color: var(--wp--preset--color--contrast);
}

.bouw-testimonial-card__location {
  font-size: 0.875rem;
  color: var(--wp--preset--color--gray-600);
}

/* ==========================================================================
   PARTNERS / BRANDS SECTION
   ========================================================================== */

.bouw-partners-section {
  padding: clamp(2rem, 5vw, 4rem) 0;
  background-color: var(--wp--preset--color--primary-dark);
}

.bouw-partners-section .wp-block-heading {
  color: var(--ink-inverse-muted, rgba(255, 255, 255, 0.85));
  text-align: center;
  font-size: var(--text-sm, 0.875rem);
  text-transform: uppercase;
  letter-spacing: var(--tracking-caps, 0.12em);
  margin-bottom: var(--space-xl, 2rem);
}

.bouw-partners-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 3rem;
}

.bouw-partner-logo {
  height: 50px;
  width: auto;
  filter: brightness(0) invert(1);
  opacity: 1;
  transition: opacity 0.2s ease;
}

.bouw-partner-logo:hover {
  opacity: 1;
}

/* ==========================================================================
   CONTACT SECTION
   ========================================================================== */

.bouw-contact-section {
  padding: clamp(3rem, 8vw, 6rem) 0;
}

.bouw-contact-section .wp-block-media-text {
  background: var(--wp--preset--color--primary);
  border-radius: 1rem;
  overflow: hidden;
}

.bouw-contact-section .wp-block-media-text__content {
  padding: var(--space-3xl, 3rem);
  color: var(--ink-inverse, #ffffff);
}

.bouw-contact-section h2,
.bouw-contact-section h3 {
  color: var(--ink-inverse, #ffffff);
}

.bouw-contact-info-list {
  list-style: none;
  padding: 0;
  margin: var(--space-xl, 2rem) 0;
}

.bouw-contact-info-list li {
  display: flex;
  align-items: center;
  gap: var(--space-md, 1rem);
  margin-bottom: var(--space-md, 1rem);
  color: var(--ink-inverse-muted, rgba(255, 255, 255, 0.85));
}

.bouw-contact-info-list svg {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  color: var(--wp--preset--color--secondary);
}

/* ==========================================================================
   RESPONSIVE ADJUSTMENTS - Mobile-First Overrides
   ========================================================================== */

/* Hero button styles moved to css/blocks/hero.css */

/* Trust bar layout is handled by bouw-blocks.css (flex-direction:row) +
   yc-ramen-deuren.css (mobile adjustments). The column override that was
   here broke the marquee on mobile — deleted 2026-05. */
