/* Tomatesta – vaste header (sticky) met glaseffect, krimp bij scrollen en mobiel uitklapmenu. */
html { scroll-padding-top: 96px; scroll-behavior: smooth; }
header.elementor-location-header {
  position: sticky; top: 0; z-index: 999;
  background-color: rgba(255, 250, 242, .84);
  -webkit-backdrop-filter: saturate(1.5) blur(14px); backdrop-filter: saturate(1.5) blur(14px);
  box-shadow: 0 0 0 rgba(90, 50, 30, 0);
  transition: box-shadow .3s ease, background-color .3s ease;
}
body.admin-bar header.elementor-location-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar header.elementor-location-header { top: 46px; } }
header.elementor-location-header.tm-scrolled {
  background-color: rgba(255, 250, 242, .94);
  box-shadow: 0 14px 30px -22px rgba(90, 50, 30, .55);
}
header.elementor-location-header img { transition: width .3s ease; }
header.elementor-location-header.tm-scrolled img { width: 128px !important; }
header.elementor-location-header .e-button-base { transition: padding .3s ease, background-color .2s ease; }
header.elementor-location-header.tm-scrolled .e-button-base { padding-block: .6rem !important; }

header.elementor-location-header .tm-burger { display: none; width: 46px; height: 46px; border: 2px solid #efdcbf; border-radius: 50%; background: #fff; cursor: pointer; padding: 0; margin: 0; line-height: 0; box-shadow: none; align-items: center; justify-content: center; flex-direction: column; gap: 5px; }
header.elementor-location-header .tm-burger span { display: block; width: 20px; height: 2px; border-radius: 2px; background: #b8452a; transition: transform .25s ease, opacity .2s ease; }
header.elementor-location-header.tm-open .tm-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
header.elementor-location-header.tm-open .tm-burger span:nth-child(2) { opacity: 0; }
header.elementor-location-header.tm-open .tm-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 860px) {
  header.elementor-location-header.tm-js .tm-burger { display: flex; }
  header.elementor-location-header.tm-js .tm-nav {
    display: none !important; position: absolute; left: 0; right: 0; top: 100%;
    flex-direction: column !important; align-items: stretch !important; gap: .2rem !important;
    padding: 1rem 1.25rem 1.4rem !important; width: auto !important;
    background: rgba(255, 250, 242, .97); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
    box-shadow: 0 24px 36px -24px rgba(90, 50, 30, .5); border-top: 2px solid #efdcbf;
  }
  header.elementor-location-header.tm-js.tm-open .tm-nav { display: flex !important; animation: tmdrop .25s ease; }
  header.elementor-location-header.tm-js .tm-nav a { padding: .7rem .2rem; border-bottom: 1px dotted #e3d1b3; text-align: left; }
  header.elementor-location-header.tm-js .tm-nav a:last-child { border: 0; margin-top: .6rem; text-align: center; }
}
@keyframes tmdrop { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  header.elementor-location-header, header.elementor-location-header img, header.elementor-location-header .e-button-base, header.elementor-location-header .tm-burger span { transition: none; }
  header.elementor-location-header.tm-js.tm-open .tm-nav { animation: none; }
}

/* Kloppend hartje in de footer */
.tm-heart { display: inline-block; color: #ffffff; transform-origin: center; animation: tmbeat 1.5s ease-in-out infinite; }
@keyframes tmbeat {
  0%, 60%, 100% { transform: scale(1); }
  10% { transform: scale(1.3); }
  22% { transform: scale(1); }
  34% { transform: scale(1.22); }
}
@media (prefers-reduced-motion: reduce) { .tm-heart { animation: none; } }

/* Footer-logo schrijft zichzelf (zelfde effect als op de binnenkortpagina) */
footer.elementor-location-footer img.tm-write {
  -webkit-mask-image: linear-gradient(100deg, #000 46%, transparent 54%); mask-image: linear-gradient(100deg, #000 46%, transparent 54%);
  -webkit-mask-size: 260% 100%; mask-size: 260% 100%; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: 100% 0; mask-position: 100% 0;
}
footer.elementor-location-footer img.tm-write.tm-write-go { animation: tmwrite 3.2s cubic-bezier(.45, .1, .35, 1) forwards; }
@keyframes tmwrite { to { -webkit-mask-position: 0 0; mask-position: 0 0; } }
