/*
Theme Name: Sport Wellness Massage
Theme URI: https://www.sportwellnessmassage.nl/
Description: Rustig en modern Kadence child theme voor Sport Wellness Massage in Zoetermeer.
Author: Michael Put
Template: kadence
Version: 1.0.0
Text Domain: swm
Requires at least: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
*/

:root {
  --swm-forest: #234a3a;
  --swm-green: #66826c;
  --swm-sage: #dde7de;
  --swm-cream: #f7f4ed;
  --swm-sand: #c8a978;
  --swm-ink: #28312d;
  --swm-white: #ffffff;
  --swm-radius: 18px;
  --swm-shadow: 0 14px 38px rgba(35, 74, 58, 0.10);
}

html { scroll-behavior: smooth; }
body { color: var(--swm-ink); background: var(--swm-cream); }
a { text-underline-offset: .18em; }

.content-area { margin-top: 0 !important; margin-bottom: 0 !important; }
.entry-content-wrap { padding: 0 !important; }
.single-content h1, .single-content h2, .single-content h3 {
  color: var(--swm-forest);
  letter-spacing: -.025em;
}
.single-content h2 { margin-top: 0; }

.swm-section { padding-top: clamp(4rem, 8vw, 7.5rem); padding-bottom: clamp(4rem, 8vw, 7.5rem); }
.swm-section--compact { padding-top: clamp(2.75rem, 5vw, 4.5rem); padding-bottom: clamp(2.75rem, 5vw, 4.5rem); }
.swm-section--cream { background: var(--swm-cream); }
.swm-section--sage { background: var(--swm-sage); }
.swm-section--forest { background: var(--swm-forest); color: var(--swm-white); }
.swm-section--forest h2, .swm-section--forest h3, .swm-section--forest p { color: var(--swm-white); }

.swm-eyebrow {
  color: var(--swm-green);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .14em;
  margin-bottom: .75rem;
  text-transform: uppercase;
}
.swm-section--forest .swm-eyebrow { color: #d6c397; }
.swm-lead { font-size: clamp(1.08rem, 2vw, 1.28rem); line-height: 1.7; max-width: 760px; }
.swm-muted { color: #627068; }

.swm-hero {
  background:
    radial-gradient(circle at 88% 18%, rgba(200,169,120,.28), transparent 26%),
    radial-gradient(circle at 72% 75%, rgba(221,231,222,.15), transparent 30%),
    linear-gradient(135deg, #17392d 0%, #234a3a 58%, #3e6652 100%);
  color: var(--swm-white);
  min-height: min(760px, 82vh);
  overflow: hidden;
  padding-top: clamp(5rem, 10vw, 9rem);
  padding-bottom: clamp(5rem, 10vw, 9rem);
  position: relative;
}
.swm-hero::after {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  content: "";
  height: min(48vw, 620px);
  position: absolute;
  right: -12vw;
  top: -8vw;
  width: min(48vw, 620px);
}
.swm-hero > * { position: relative; z-index: 1; }
.swm-hero h1 { color: var(--swm-white); font-size: clamp(2.75rem, 7vw, 5.8rem); line-height: .98; max-width: 900px; }
.swm-hero p { color: rgba(255,255,255,.86); }
.swm-hero .swm-eyebrow { color: #dac69b; }

.swm-card {
  background: var(--swm-white);
  border: 1px solid rgba(35,74,58,.08);
  border-radius: var(--swm-radius);
  box-shadow: var(--swm-shadow);
  height: 100%;
  overflow: hidden;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  transition: transform .2s ease, box-shadow .2s ease;
}
.swm-card:hover { box-shadow: 0 18px 46px rgba(35,74,58,.16); transform: translateY(-3px); }
.swm-card h3 { margin-top: .45rem; }
.swm-card .wp-block-image { margin: -2.25rem -2.25rem 1.5rem; }
.swm-card .wp-block-image img { aspect-ratio: 4/3; object-fit: cover; width: 100%; }
.swm-icon {
  align-items: center; background: var(--swm-sage); border-radius: 50%; color: var(--swm-forest);
  display: inline-flex; font-weight: 700; height: 2.8rem; justify-content: center; width: 2.8rem;
}

.wp-block-button__link {
  border-radius: 999px !important;
  font-weight: 700;
  padding: .9rem 1.45rem;
  transition: transform .2s ease, opacity .2s ease;
}
.wp-block-button__link:hover { opacity: .9; transform: translateY(-1px); }
.is-style-outline > .wp-block-button__link { border-width: 1px; }

.swm-price-list { border-top: 1px solid rgba(35,74,58,.14); margin: 1.5rem 0; }
.swm-price-row {
  align-items: baseline; border-bottom: 1px solid rgba(35,74,58,.14); display: flex;
  gap: 1rem; justify-content: space-between; padding: 1rem 0;
}
.swm-price-row p { margin: 0; }
.swm-price-row p:last-child { color: var(--swm-forest); font-weight: 800; white-space: nowrap; }

.swm-checklist { list-style: none; padding-left: 0; }
.swm-checklist li { margin: .65rem 0; padding-left: 1.75rem; position: relative; }
.swm-checklist li::before { color: var(--swm-green); content: "✓"; font-weight: 800; left: 0; position: absolute; }

.swm-cta { border-radius: clamp(20px, 3vw, 32px); box-shadow: var(--swm-shadow); overflow: hidden; }
.swm-contact-card { background: var(--swm-white); border-radius: var(--swm-radius); box-shadow: var(--swm-shadow); padding: clamp(1.5rem,4vw,3rem); }
.swm-form-placeholder { background: #eef3ee; border: 1px dashed #91a496; border-radius: 12px; color: #56645c; padding: 1.25rem; }

.swm-breadcrumb-note { background: var(--swm-sage); border-left: 4px solid var(--swm-green); padding: 1rem 1.25rem; }
.swm-fineprint { font-size: .88rem; line-height: 1.65; }

@media (max-width: 781px) {
  .swm-hero { min-height: auto; }
  .swm-hero::after { height: 340px; right: -180px; width: 340px; }
  .swm-card .wp-block-image { margin: -1.5rem -1.5rem 1.25rem; }
  .swm-price-row { align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .swm-card, .wp-block-button__link { transition: none; }
}

