/*
Theme Name: R420 Supermarkt Service Recovery
Theme URI: https://supermarkt-service.be/
Author: Recovery workflow
Description: Minimal recovery theme for the restored Supermarkt Service België Elementor content.
Version: 1.0.2
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: r420-supermarkt-recovery
*/

:root {
  --r420-blue: #3d9df2;
  --r420-blue-soft: #cbdafd;
  --r420-ink: #161616;
  --r420-muted: #5f6368;
  --r420-max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--r420-ink);
  background: #fff;
  font-family: "Open Sans", Arial, sans-serif;
}
a { color: inherit; }
.r420-shell { width: min(calc(100% - 40px), var(--r420-max)); margin-inline: auto; }
.r420-site-header {
  position: relative;
  z-index: 20;
  border-bottom: 1px solid #e9edf2;
  background: rgba(255,255,255,.97);
}
.r420-header-row {
  min-height: 92px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.r420-brand { text-decoration: none; font-size: 1.35rem; font-weight: 800; letter-spacing: -.03em; }
.r420-nav { display: flex; gap: 28px; align-items: center; }
.r420-nav a { text-decoration: none; font-weight: 700; }
.r420-nav a:hover, .r420-nav a:focus-visible { color: var(--r420-blue); }
.r420-main { min-height: 65vh; }
.r420-main .elementor { width: 100%; }
.page-id-7 .elementor-element.elementor-element-7eccb432 {
  min-height: clamp(560px, 72vh, 820px);
  background-image:
    linear-gradient(90deg, rgba(8, 36, 76, .94) 0%, rgba(8, 58, 116, .82) 42%, rgba(24, 150, 254, .28) 100%),
    url("assets/waves-1.png") !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}
.page-id-7 .elementor-element.elementor-element-80095ee .elementor-heading-title,
.page-id-7 .elementor-element.elementor-element-d8389e7 .elementor-heading-title {
  color: #fff !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .28);
}
.r420-article { width: min(calc(100% - 40px), 820px); margin: 70px auto; }
.r420-article h1 { font-size: clamp(2.2rem, 5vw, 4rem); line-height: 1.05; }
.r420-site-footer { margin-top: 80px; color: #fff; background: #111827; }
.r420-footer-wave { height: 18px; background: linear-gradient(135deg, var(--r420-blue-soft) 0 50%, transparent 50% 100%) 0 0/34px 34px repeat-x; }
.r420-footer-grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr;
  gap: 48px;
  padding: 62px 0 40px;
}
.r420-footer-title { margin: 0 0 14px; font-size: 1.55rem; }
.r420-footer-copy, .r420-footer-list { color: #d6dbe4; line-height: 1.7; }
.r420-footer-list { list-style: none; padding: 0; margin: 0; }
.r420-footer-list a { text-decoration: none; }
.r420-footer-list a:hover, .r420-footer-list a:focus-visible { color: var(--r420-blue); }
.r420-footer-bottom { border-top: 1px solid #303846; padding: 20px 0 30px; color: #aeb7c5; font-size: .92rem; }

@media (max-width: 760px) {
  .r420-header-row { min-height: 78px; align-items: flex-start; flex-direction: column; padding-block: 20px; }
  .r420-nav { width: 100%; gap: 18px; flex-wrap: wrap; }
  .r420-footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .page-id-7 .elementor-element.elementor-element-7eccb432 {
    min-height: 620px;
    background-position: 64% center !important;
  }
}
