/* 0.3.0 — professional practice, legible copy and WhatsApp contact. */
body.avu-site { --avu-whatsapp: #176d4a; --avu-whatsapp-hover: #105538; }
body.avu-site .avu-site-header { background: #fffcf8; }
body.avu-site .avu-site-header .avu-header-inner { min-height: 104px; height: auto; padding-block: 11px; gap: 24px; }
body.avu-site .avu-site-header .avu-brand { min-width: 0; flex: 0 0 auto; }
body.avu-site .avu-site-header .avu-brand img { width: 245px; height: auto; max-width: 100%; max-height: 82px; object-fit: contain; }
body.avu-site .avu-site-header .avu-brand-name { font-size: 31px; }
body.avu-site .avu-site-header .avu-desktop-nav a { font-size: 13px; }
body.avu-site .avu-site-header .avu-header-appointment { padding: 13px 17px; min-height: 48px; font-size: 13px; }
body.avu-site .avu-button { gap: 13px; line-height: 1.4; text-align: left; }
body.avu-site .avu-button > .avu-button-label { font-size: inherit; line-height: inherit; margin: 0; }
body.avu-site .avu-button > .avu-button-arrow { font-size: 19px; margin-left: 7px; }
body.avu-site .avu-whatsapp-icon { width: 22px; height: 25px; flex: 0 0 22px; display: inline-block; vertical-align: middle; }
body.avu-site a.avu-whatsapp-button,
body.avu-site .avu-site-header a.avu-header-appointment.avu-whatsapp-button,
body.avu-site a.avu-mobile-appointment.avu-whatsapp-button {
  background: var(--avu-whatsapp); color: #fff; border: 1px solid var(--avu-whatsapp); gap: 12px;
}
body.avu-site a.avu-whatsapp-button:is(:hover,:focus) { background: var(--avu-whatsapp-hover); border-color: var(--avu-whatsapp-hover); color: #fff; }
body.avu-site a.avu-whatsapp-button.avu-button-outline { background: transparent; color: var(--avu-whatsapp); }
body.avu-site a.avu-whatsapp-button.avu-button-outline:is(:hover,:focus) { background: var(--avu-whatsapp); color: #fff; }
body.avu-site .avu-whatsapp-link { gap: 10px; }
body.avu-site .avu-editorial-section :is(h1,h2),
body.avu-site .avu-treatment-hero h1,
body.avu-site .avu-professional-hero h1 { font-family: var(--avu-sans); font-weight: 500; letter-spacing: -.035em; }
body.avu-site .avu-editorial-section h2 { font-size: clamp(30px,3.5vw,45px); line-height: 1.16; }
body.avu-site .avu-editorial-section h2 em { font-style: normal; font-weight: 500; }
body.avu-site .avu-editorial-section.avu-hero .avu-hero-grid { grid-template-columns: minmax(0,1.25fr) minmax(0,.75fr); gap: 72px; padding-top: 66px; padding-bottom: 53px; }
body.avu-site .avu-editorial-section.avu-hero .avu-hero-copy > :is(h1,h2) { font-size: clamp(42px,4.8vw,65px); line-height: 1.1; letter-spacing: -.04em; }
body.avu-site .avu-editorial-section.avu-hero .avu-hero-copy > :is(h1,h2) em { display: inline; font-style: normal; font-weight: 500; padding: 0; }
body.avu-site .avu-editorial-section.avu-hero .avu-lead { color: #fff4ec; font-size: 21px; line-height: 1.5; margin-top: 26px; max-width: 580px; }
body.avu-site .avu-editorial-section.avu-hero .avu-hero-description { max-width: 560px; margin-top: 16px; font-size: 16px; line-height: 1.8; }
body.avu-site .avu-editorial-section.avu-hero .avu-hero-actions { margin-top: 28px; gap: 22px; }
body.avu-site .avu-editorial-section.avu-hero .avu-hero-portrait { max-width: 340px; margin: 0; }
body.avu-site .avu-editorial-section.avu-hero .avu-portrait-frame { border-radius: 5px; overflow: hidden; }
body.avu-site .avu-editorial-section.avu-hero .avu-portrait-frame::before,
body.avu-site .avu-editorial-section .avu-treatment-star,
body.avu-site .avu-editorial-section .avu-tiny-star,
body.avu-site .avu-editorial-section .avu-portrait-side-note { display: none; }
body.avu-site .avu-editorial-section.avu-hero .avu-hero-portrait figcaption { border-radius: 0 0 4px 4px; padding: 15px 18px; }
body.avu-site .avu-editorial-section.avu-hero .avu-portrait-name { font-family: var(--avu-sans); font-style: normal; font-size: 18px; font-weight: 500; letter-spacing: -.02em; }
body.avu-site .avu-editorial-section.avu-hero .avu-portrait-role { font-size: 11px; letter-spacing: 0; }
body.avu-site .avu-editorial-section.avu-hero .avu-hero-bottom { display: flex; justify-content: space-between; gap: 24px; padding-block: 24px; font-size: 13px; letter-spacing: 0; }
body.avu-site .avu-editorial-section.avu-hero .avu-hero-bottom > span:not(.avu-tiny-star) { flex: 1; text-align: center; }
body.avu-site .avu-section-space { padding-block: 83px; }
body.avu-site .avu-intro-heading h2 { max-width: 420px; }
body.avu-site .avu-intro-content > p:not(.avu-lead),
body.avu-site .avu-about-copy > p:not(.avu-eyebrow):not(.avu-lead),
body.avu-site .avu-treatment-copy > p:not(.avu-eyebrow):not(.avu-lead) { font-size: 16px; line-height: 1.8; color: #66555d; }
body.avu-site .avu-needs-list > div > div > p:first-child { font-size: 17px; font-weight: 600; color: var(--avu-accent); }
body.avu-site .avu-needs-list > div > div > p + p { font-size: 14px; line-height: 1.7; margin-top: 5px; }
body.avu-site .avu-treatment-copy .avu-treatment-details summary { font-size: 16px; }
body.avu-site .avu-treatment-details details[id$="-reflexologie"] .avu-details-content { font-size: 16px; line-height: 1.8; }
body.avu-site .avu-treatment-details details[id$="-reflexologie"] .avu-details-content h3 { font-family: var(--avu-sans); font-size: 18px; font-weight: 600; line-height: 1.5; color: var(--avu-accent); margin: 24px 0 10px; }
body.avu-site .avu-treatment-details details[id$="-reflexologie"] .avu-details-content h3:first-child { margin-top: 0; }
body.avu-site .avu-about-actions { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 22px; margin-top: 26px; }
body.avu-site .avu-about-actions > .avu-text-link { font-size: 15px; }
body.avu-site .avu-about-actions > .avu-button { font-size: 14px; }
body.avu-site .avu-affiliations--home { padding: 0 0 76px; }
body.avu-site .avu-affiliations-heading h2 { font-family: var(--avu-sans); }
body.avu-site .avu-contact-section .avu-contact-inner { grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: 90px; padding-block: 76px; }
body.avu-site .avu-contact-section .avu-contact-information { padding: 0 0 0 40px; border-left: 1px solid #856a74; }
body.avu-site .avu-contact-section .avu-contact-information h3 { font-size: 12px; }
body.avu-site .avu-contact-section .avu-contact-information p,
body.avu-site .avu-contact-section .avu-contact-information address,
body.avu-site .avu-contact-section .avu-contact-information a { font-size: 15px; line-height: 1.7; }
body.avu-site .avu-contact-copy > p.avu-contact-preference { margin-top: 15px; font-size: 13px; }
body.avu-site .avu-contact-button > span { margin-left: 0; }
body.avu-site .avu-footer-practice-links { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 32px; padding-block: 22px 12px; }
body.avu-site .avu-footer-practice-links a { font-size: 13px; }
body.avu-site .avu-footer-brand { font-size: 26px; }
body.avu-site .avu-footer-subtitle { max-width: 430px; }
body.avu-site .avu-treatment-sidebar .avu-text-link { font-size: 14px; margin-top: 20px; }
@media (max-width: 1100px) {
  body.avu-site .avu-site-header .avu-brand img { width: 210px; }
  body.avu-site .avu-site-header .avu-header-inner { gap: 16px; }
  body.avu-site .avu-site-header .avu-header-appointment { padding-inline: 12px; }
  body.avu-site .avu-editorial-section.avu-hero .avu-hero-grid { gap: 38px; }
}
@media (max-width: 980px) {
  body.avu-site .avu-site-header .avu-header-inner { min-height: 86px; }
  body.avu-site .avu-site-header .avu-brand img { width: 200px; max-height: 68px; }
  body.avu-site .avu-contact-section .avu-contact-inner { gap: 38px; }
  body.avu-site .avu-contact-section .avu-contact-information { padding-left: 28px; }
}
@media (max-width: 700px) {
  body.avu-site .avu-container { width: calc(100% - 36px); }
  body.avu-site .avu-site-header .avu-header-inner { height: 80px; min-height: 80px; padding-block: 6px; gap: 12px; }
  body.avu-site .avu-site-header .avu-brand img { width: 185px; max-width: 58vw; height: auto; max-height: 67px; }
  body.avu-site .avu-site-header a.avu-header-appointment { display: none; }
  body.avu-site .avu-editorial-section.avu-hero .avu-hero-grid { grid-template-columns: minmax(0,1fr) min(31vw,145px); column-gap: 17px; row-gap: 22px; padding-top: 27px; padding-bottom: 28px; }
  body.avu-site .avu-editorial-section.avu-hero .avu-hero-copy > :is(h1,h2) { font-size: clamp(28px,7.6vw,43px); line-height: 1.13; letter-spacing: -.045em; }
  body.avu-site .avu-editorial-section.avu-hero .avu-hero-copy > .avu-lead { font-size: 17px; line-height: 1.5; margin: 0; }
  body.avu-site .avu-editorial-section.avu-hero .avu-hero-description { font-size: 15px; margin: -9px 0 0; line-height: 1.75; }
  body.avu-site .avu-editorial-section.avu-hero .avu-hero-portrait { align-self: start; }
  body.avu-site .avu-editorial-section.avu-hero .avu-portrait-frame { border-radius: 4px; aspect-ratio: 4/5; }
  body.avu-site .avu-editorial-section.avu-hero .avu-hero-portrait figcaption { background: transparent; color: #fff4ec; padding: 9px 0 0; }
  body.avu-site .avu-editorial-section.avu-hero .avu-portrait-name { font-size: 12px; line-height: 1.5; }
  body.avu-site .avu-editorial-section.avu-hero .avu-portrait-role { display: none; }
  body.avu-site .avu-editorial-section.avu-hero .avu-hero-actions { margin: 0; gap: 8px; }
  body.avu-site .avu-editorial-section.avu-hero .avu-hero-actions .avu-button { justify-content: flex-start; gap: 12px; }
  body.avu-site .avu-editorial-section.avu-hero .avu-hero-actions .avu-button-arrow { margin-left: auto; }
  body.avu-site .avu-editorial-section.avu-hero .avu-hero-bottom { display: grid; grid-template-columns: 1fr; gap: 7px; padding-block: 19px; font-size: 12px; text-align: left; }
  body.avu-site .avu-editorial-section.avu-hero .avu-hero-bottom > span:not(.avu-tiny-star) { text-align: left; padding-left: 18px; position: relative; }
  body.avu-site .avu-editorial-section.avu-hero .avu-hero-bottom > span:not(.avu-tiny-star)::before { content: ''; width: 5px; height: 5px; background: var(--avu-peach); border-radius: 50%; position: absolute; left: 0; top: 9px; }
  body.avu-site .avu-section-space { padding-block: 52px; }
  body.avu-site .avu-editorial-section h2 { font-size: clamp(29px,7.7vw,38px); }
  body.avu-site .avu-editorial-section .avu-lead { font-size: 19px; }
  body.avu-site .avu-about-actions { flex-direction: column; gap: 20px; }
  body.avu-site .avu-affiliations--home { padding-bottom: 48px; }
  body.avu-site .avu-contact-section .avu-contact-inner { grid-template-columns: minmax(0,1fr); padding-block: 50px; gap: 35px; }
  body.avu-site .avu-contact-section .avu-contact-information { display: grid; grid-template-columns: minmax(0,1fr); gap: 28px; padding: 28px 0 0; border-left: 0; border-top: 1px solid #856a74; }
  body.avu-site .avu-contact-section .avu-contact-information > div + div { margin-top: 0; }
  body.avu-site .avu-contact-section .avu-contact-information p,
  body.avu-site .avu-contact-section .avu-contact-information address,
  body.avu-site .avu-contact-section .avu-contact-information a { font-size: 14px; }
  body.avu-site .avu-contact-section .avu-contact-button { font-size: 14px; width: 100%; justify-content: flex-start; }
  body.avu-site .avu-contact-section .avu-contact-button .avu-button-arrow { margin-left: auto; }
  body.avu-site .avu-mobile-cta.avu-whatsapp-button { left: 18px; right: 18px; bottom: calc(12px + env(safe-area-inset-bottom)); min-height: 50px; font-size: 14px; justify-content: center; }
  body.avu-site .avu-footer-practice-links { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 370px) {
  body.avu-site .avu-editorial-section.avu-hero .avu-hero-grid { column-gap: 12px; grid-template-columns: minmax(0,1fr) 105px; }
  body.avu-site .avu-editorial-section.avu-hero .avu-hero-copy > :is(h1,h2) { font-size: 27px; }
  body.avu-site .avu-button { padding-inline: 16px; }
}

/* 0.3.3 — keep the header WhatsApp action as the single desktop hero-area CTA. */
@media screen and (min-width: 981px) {
  body.avu-site .avu-editorial-section.avu-hero .avu-hero-actions > .avu-button.avu-whatsapp-button {
    display: none;
  }
}

/* 0.3.5 — practical registration information. */
body.avu-site .avu-footer-registration { margin-top: 0; padding-bottom: 24px; font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
body.avu-site .avu-practice-registration { font-size: .9em; overflow-wrap: anywhere; }
body.avu-site #vergoedingen { scroll-margin-top: 110px; }
body.avu-site #aanvullende-werkwijzen { scroll-margin-top: 110px; }
