/* Memorial blocks */
.vdw-memorial { margin: 18px 0 24px; }

/*
  Option B (pixel/optical alignment):
  Use one shared "card" visual language for both memorial blocks and the candle button.
  This reduces perceived misalignment caused by different shadows/radii between columns.
*/
:root{
  --vdw-card-radius: 16px;
  --vdw-card-border: 1px solid rgba(0,0,0,.10);
  --vdw-card-shadow: 0 10px 30px rgba(0,0,0,.06);
}

/* Fixed memorial layout: 2 rows x 2 columns
   Row 1: photo + funeral info
   Row 2: card + livestream
*/
.vdw-layout{
  display: grid;
  gap: 14px;
  grid-template-columns: 1fr;
  grid-template-areas:
    "photo"
    "info"
    "card"
    "live";
}

@media (min-width: 900px){
  .vdw-layout{
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "photo info"
      "card  live";
    align-items: start;
  }
}

.vdw-block-photo{ grid-area: photo; }
.vdw-block-info{ grid-area: info; }
.vdw-block-card{ grid-area: card; }
.vdw-block-live{ grid-area: live; }

.vdw-empty{
  display:none;
}

@media (min-width: 900px){
  /* If a cell is missing, keep layout stable with an invisible placeholder */
  .vdw-empty{ display:block; visibility:hidden; }
}

.vdw-client-photo{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}

.vdw-grid { display: grid; gap: 14px; }
@media (min-width: 900px){ .vdw-grid { grid-template-columns: 1fr 1fr; } }

.vdw-block{
  padding: 14px 16px;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 14px;
}
/* Photo block: spacing must be OUTSIDE the card (gutter), not inside the card */
@media (min-width: 900px){
  .vdw-block.vdw-block-photo{
    margin-right: 20px;
  }
}
.vdw-block h3{ margin: 0 0 10px; font-size: 1.1rem; }
.vdw-block-body p{ margin: 0 0 8px; }

.vdw-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.15);
  text-decoration:none;
}
.vdw-btn-secondary{ opacity:.9; }

.vdw-card-img{ border-radius: 12px; display:block; max-width:100%; height:auto; }
.vdw-embed iframe{ max-width:100%; }

/* Condoleances */
.vdw-condoleance{ margin-top: 18px; }
.vdw-head{ margin-bottom: 12px; }
.vdw-title{ margin: 0 0 6px 0; font-size: 1.25rem; line-height: 1.2; }
.vdw-sub{ margin: 0; opacity: .8; font-size: .95rem; }

.vdw-form{
  padding: 14px;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 14px;
}
.vdw-row{ display:grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (max-width: 680px){ .vdw-row{ grid-template-columns: 1fr; } }
.vdw-name, .vdw-city, .vdw-email, .vdw-message{ width:100%; margin:0; }
.vdw-message{ margin-top: 0; resize: vertical; }

.vdw-memory-name, .vdw-memory-city, .vdw-memory-email, .vdw-memory-message{ width:100%; margin:0; }
.vdw-memory-message{ margin-top: 0; resize: vertical; }

.vdw-hp,
.vdw-memory-hp{
  position:absolute !important; left:-9999px !important;
  width:1px !important; height:1px !important; opacity:0 !important;
}

/* ── Unified message form ─────────────────────────────── */
.vdw-message-form .vdw-field { margin-bottom: 14px; }
.vdw-message-form .vdw-field label {
  display: block;
  font-size: .85rem;
  font-weight: 500;
  margin-bottom: 5px;
  color: inherit;
}
.vdw-message-form .vdw-field label span[aria-hidden] { color: #C07830; }
.vdw-msg-name,
.vdw-msg-message { width: 100%; margin: 0; }
.vdw-msg-message { resize: vertical; }

/* Privacy fieldset */
.vdw-privacy-fieldset {
  border: none;
  margin: 0 0 16px;
  padding: 0;
}
.vdw-privacy-legend {
  font-size: .85rem;
  font-weight: 500;
  margin-bottom: 10px;
  padding: 0;
}
.vdw-privacy-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
@media (max-width: 480px) {
  .vdw-privacy-options { grid-template-columns: 1fr; }
}
.vdw-privacy-option { cursor: pointer; }
.vdw-privacy-option input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0; height: 0;
}
.vdw-privacy-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1.5px solid rgba(0,0,0,.12);
  border-radius: 10px;
  background: transparent;
  transition: border-color .15s ease, background .15s ease;
  user-select: none;
}
.vdw-privacy-option input[type="radio"]:focus-visible + .vdw-privacy-card {
  outline: 2px solid #C07830;
  outline-offset: 2px;
}
.vdw-privacy-card.is-selected,
.vdw-privacy-option input[type="radio"]:checked + .vdw-privacy-card {
  border-color: #C07830;
  background: rgba(192,120,48,.07);
}
.vdw-privacy-card__icon { font-size: 1.3rem; line-height: 1; flex-shrink: 0; }
.vdw-privacy-card__text { display: flex; flex-direction: column; gap: 2px; }
.vdw-privacy-card__text strong { font-size: .85rem; font-weight: 600; }
.vdw-privacy-card__text span  { font-size: .78rem; opacity: .7; }

/* Closed notice */
.vdw-closed-notice { font-weight: 600; color: #666; margin: 0; }

.vdw-actions{ display:flex; align-items:center; gap:12px; margin-top: 10px; }
.vdw-status{ font-size:.95rem; opacity:.85; }
.vdw-status.is-error{ opacity:1; }

.vdw-list{
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 14px;
}

.vdw-item-wrap{ display:block; }
.vdw-item-head{
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 6px;
}
.vdw-item-head strong {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: #C07830;
}
.vdw-item{
  padding: 16px 18px;
  background: #FAFAF7;
  border: 1px solid rgba(192,120,48,0.13);
  border-radius: 12px;
  box-shadow: 0 1px 4px rgba(44,44,44,0.05);
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.vdw-item:hover {
  box-shadow: 0 4px 14px rgba(44,44,44,0.10);
  transform: translateY(-2px);
}
.vdw-item-date {
  font-size: 0.72rem;
  color: rgba(44,44,44,0.42);
  white-space: nowrap;
  flex-shrink: 0;
  font-style: normal;
}
.vdw-item-body{
  font-family: 'Lora', Georgia, serif;
  font-size: 0.9rem;
  line-height: 1.7;
  color: #2C2C2C;
}
.vdw-item-foot{
  margin-top: 6px;
  padding: 0 14px;
  display:flex;
  justify-content:flex-end;
}
.vdw-item-counter{
  font-size: .70rem;
  color: rgba(0,0,0,.55);
  text-transform:none !important;
}
.vdw-pending-note{ margin-top: 8px; font-size:.9rem; opacity:.75; font-style:italic; }
.vdw-more{ margin-top: 12px; display:inline-flex; }

/* Condoleance pagination (non-onepager fallback). One-pager styles override this. */
.vdw-pagination{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}
.vdw-pagination button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.15);
  background: rgba(255,255,255,0.92);
}
.vdw-pagination button[disabled]{ opacity:.45; cursor:not-allowed; }
.vdw-pagination .vdw-page-ellipsis{ opacity:.75; font-weight:600; padding:0 6px; }
.vdw-pagination .vdw-page-btn.is-active{ background:#fff; border-color: rgba(0,0,0,.25); }


/* Hide theme featured image/header image on memorial pages (we use our own photo block) */
body.single-vdw_memorial .entry-header .entry-image,
body.single-vdw_memorial .entry-header .featured-image,
body.single-vdw_memorial .post-thumbnail,
body.single-vdw_memorial .featured-image{
  display:none !important;
}

/* Family moderation panel */
.vdw-manage-panel{
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px dashed rgba(0,0,0,.20);
  border-radius: 14px;
}
.vdw-manage-actions{ margin-bottom: 10px; }
.vdw-manage-item{
  padding: 10px 12px;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 12px;
  margin-bottom: 10px;
}
.vdw-manage-head{
  display:flex;
  justify-content:space-between;
  gap: 12px;
  font-size: .92rem;
  opacity: .9;
}
.vdw-manage-msg{
  margin-top: 8px;
  white-space: pre-wrap;
}
.vdw-manage-buttons{
  margin-top: 10px;
  display:flex;
  gap: 10px;
}


/* Hide theme post meta/footer (author, categories, 'posted in', bookmark) on memorial pages */
body.single-vdw_memorial .entry-meta,
body.single-vdw_memorial .entry-header .entry-meta,
body.single-vdw_memorial .post-meta,
body.single-vdw_memorial .post-meta-meta,
body.single-vdw_memorial .post-meta-author,
body.single-vdw_memorial .byline,
body.single-vdw_memorial .meta-author,
body.single-vdw_memorial .cat-links,
body.single-vdw_memorial .tags-links,
body.single-vdw_memorial .posted_in,
body.single-vdw_memorial .entry-utility,
body.single-vdw_memorial .blog-post-meta,
body.single-vdw_memorial .article-meta,
body.single-vdw_memorial footer.entry-meta,
body.single-vdw_memorial .single-post-meta{
  display:none !important;
}

/* Sidebar blocks */
.vdw-sidebar-block{ margin-bottom: 14px; }
.vdw-sidebar-block h3{ margin-top:0; }
.vdw-sidebar-block--upcoming {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.vdw-sidebar-upcoming-label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: rgba(30,45,84,0.5);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.vdw-sidebar-upcoming-when {
  font-size: 0.9375rem;
  color: #1E2D54;
  font-weight: 500;
}


/* Hide Flatsome author header (avatar + name) on memorial pages */
body.single-vdw_memorial .author-box,
body.single-vdw_memorial .post-author,
body.single-vdw_memorial .entry-author,
body.single-vdw_memorial .entry-header .author,
body.single-vdw_memorial .entry-header .author-name,
body.single-vdw_memorial .entry-header .author-avatar,
body.single-vdw_memorial .entry-header .author-meta,
body.single-vdw_memorial .post-author-avatar,
body.single-vdw_memorial .post-author-name{
  display:none !important;
}


/* Center client photo on memorial page (v1.8.26.99: also vertically center so padding is equal) */
.vdw-block-photo .vdw-photo-only{
  display: flex;
  justify-content: center;
  align-items: center;
}

.vdw-block-photo img.vdw-client-photo{
  max-width: 100%;
  height: auto;
  display: block;
}


/* Layout: photo left, page content right */
.vdw-main-layout{
  display: block;
}

.vdw-main-layout .vdw-layout{
  flex: 0 0 364px;
}

.vdw-main-content{
  flex: 1 1 auto;
}

/* Mobile: stack */
@media (max-width: 768px){
  .vdw-main-layout{
    flex-direction: column;
  }
}


/* Ensure text column truly sits next to photo and uses full remaining width */
.vdw-main-layout{
  width: 100%;
}

.vdw-main-content{
  max-width: none;
  text-align: left;
}

/* Prevent Flatsome centering the content area */
body.single-vdw_memorial .entry-content{
  max-width: none;
}

/* Align first paragraph nicely with photo top */
.vdw-main-content > *:first-child{
  margin-top: 0;
}


/* Client info block next to photo */
.vdw-client-info{
  padding: 14px 16px;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 14px;
  margin-bottom: 14px;
  width: 100%;
  box-sizing: border-box;
}

.vdw-client-info p:last-child{
  margin-bottom: 0;
}


/* Labeled client info list */
.vdw-client-meta{
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 6px 14px;
  margin: 0;
}
.vdw-client-meta dt{
  font-weight: 600;
  opacity: .85;
}
.vdw-client-meta dd{
  margin: 0;
}
.vdw-client-extra{
  margin-top: 10px;
}

/* (front only) helper class present in admin too; harmless */
.vdw-grid-2{display:grid;grid-template-columns:1fr;gap:10px 16px;}
@media(min-width:700px){.vdw-grid-2{grid-template-columns:1fr 1fr;}}


/* Labeled funeral info list */
.vdw-funeral-meta{
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 6px 12px;
  margin: 0 0 10px 0;
}
.vdw-funeral-meta dt{
  font-weight: 600;
  opacity: .85;
}
.vdw-funeral-meta dd{
  margin: 0;
}
.vdw-funeral-extra{
  margin-top: 8px;
}


/* Overview table */
.vdw-overzicht-wrap{
  max-width: 1100px;
  margin: 0 auto;
  padding: 16px 12px;
}
.vdw-overzicht-table{
  overflow-x: auto;
}
.vdw-table{
  width: 100%;
  border-collapse: collapse;
}
.vdw-table th, .vdw-table td{
  padding: 10px 12px;
  border-bottom: 1px solid rgba(0,0,0,.10);
  text-align: left;
}
.vdw-table th{
  font-weight: 700;
}


/* Full client name in info card */
.vdw-client-name{
  font-weight: 700;
  font-size: 1.05em;
  margin-bottom: 8px;
}

.vdw-map{ margin-left:0; font-size:0.95em; }


.vdw-turnstile{ margin: 10px 0; }


/* Flatsome: make sidebar a bit wider on large screens (memorial pages only) */
@media (min-width: 1024px){
  body.single-vdw_memorial .col.large-3{
    flex-basis: calc(25% + 100px);
    max-width: calc(25% + 100px);
  }
  body.single-vdw_memorial .col.large-9{
    flex-basis: calc(75% - 100px);
    max-width: calc(75% - 100px);
  }
}


/* Sidebar widget buttons: force white text (normal + visited + hover) */
.vdw-sidebar-block a.button,
.vdw-sidebar-block a.button:visited,
.vdw-sidebar-block a.button span{
  color: #fff !important;
}


/* Overview grid (3 columns on desktop) */
.vdw-head.vdw-head-center{ text-align: center; }
.vdw-overzicht-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}
@media (min-width: 900px){
  .vdw-overzicht-grid{ grid-template-columns: repeat(3, 1fr); }
}
.vdw-overzicht-card{
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}
.vdw-overzicht-link{
  display: block;
  padding: 16px 18px;
  text-decoration: none;
}
.vdw-overzicht-name{ font-weight: 700; margin-bottom: 6px; }
.vdw-overzicht-date{ opacity: .85; }



/* Memorial client header: left text/details (50%) + right photo (50%) on large screens */
.vdw-client-header{
  display: flex;
  flex-direction: column;
  gap: 20px;
  /* Mobile: stretch children so widths match */
  align-items: stretch;
}
@media (min-width: 1200px){
  .vdw-client-header{
    flex-direction: row;
    gap: 24px;
  }
  .vdw-client-left,
  .vdw-client-right{
    flex: 0 0 50%;
    max-width: 50%;
    min-width: 0;
  }
}
.vdw-client-right img{
  width: 100%;
  height: auto;
  display: block;
  max-width: 100%;
}

/* Overview cards: thumbnail */
.vdw-overzicht-thumb{
  margin-bottom: 12px;
}
.vdw-overzicht-thumb-img{
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
  border-radius: 12px;
}


/* ---- Header background image (per memorial) ---- */
.vdw-memorial-hero{
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 24px;
}

.vdw-memorial-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--vdw-bg-url);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0.35;
  transform: scale(1.02);
}

.vdw-memorial-hero::after{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.60);
}

.vdw-memorial-hero__inner{
  position: relative;
  z-index: 1;
  padding: 24px;
}

@media (max-width: 767px){
  .vdw-memorial-hero__inner{
    padding: 16px;
  }
}


/* Memorial hero title (we render our own title inside the hero, and hide the theme title) */
.single-vdw_memorial h1.entry-title,
.single-vdw_memorial .entry-title,
.single-vdw_memorial .page-title{
  display: none !important;
}

.vdw-memorial-pagehead{
  text-align: center;
  padding: 12px 0 8px;
}

.vdw-memorial-title{
  margin: 0 0 14px;
}

.vdw-memorial-title-divider{
  width: 48px;
  height: 3px;
  margin: 0 auto 28px;
  background: #2b2b2b;
  display: block;
}


/* === Memorial page header cleanup === */
/* Hide theme divider above memorial hero */
body.single-vdw_memorial .divider,
body.single-vdw_memorial .ux-divider,
body.single-vdw_memorial .hr,
body.single-vdw_memorial hr {
  display: none !important;
}

/* Reduce top spacing before memorial hero */
body.single-vdw_memorial .vdw-memorial-hero {
  margin-top: 0 !important;
  padding-top: 16px !important;
}


/* === Memorial page: hide theme title/header output (Flatsome etc.) === */
body.single-vdw_memorial .page-title,
body.single-vdw_memorial .page-title-inner,
body.single-vdw_memorial .title-wrapper,
body.single-vdw_memorial .entry-header,
body.single-vdw_memorial header.entry-header,
body.single-vdw_memorial h1.entry-title,
body.single-vdw_memorial .entry-title {
  display: none !important;
}

/* Reduce extra spacing some themes add above content */
body.single-vdw_memorial .main-content,
body.single-vdw_memorial #main,
body.single-vdw_memorial #content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}


/* Align memorial content with theme sidebar (Flatsome / similar) */
@media (min-width: 900px){
  body.single-vdw_memorial .vdw-memorial{ margin-top: 0 !important; }
}


/* Add breathing room for theme sidebar widgets on memorial pages */
@media (min-width: 900px){
  body.single-vdw_memorial .sidebar,
  body.single-vdw_memorial #secondary,
  body.single-vdw_memorial .widget-area,
  body.single-vdw_memorial .sidebar-wrapper {
    padding-left: 24px !important;
    box-sizing: border-box;
  }
}


/* Restore vertical spacing above sidebar widgets (Uitvaartinformatie) */
@media (min-width: 900px){
  body.single-vdw_memorial .sidebar .widget,
  body.single-vdw_memorial #secondary .widget,
  body.single-vdw_memorial .widget-area .widget {
    margin-top: 24px !important;
  }
}


/* Revert sidebar horizontal padding to theme default */
@media (min-width: 900px){
  body.single-vdw_memorial .sidebar,
  body.single-vdw_memorial #secondary,
  body.single-vdw_memorial .widget-area,
  body.single-vdw_memorial .sidebar-wrapper {
    padding-left: 0 !important;
  }
}

/* Add padding around client photo */
@media (min-width: 900px){
  body.single-vdw_memorial .vdw-client-photo,
  body.single-vdw_memorial .vdw-memorial-photo {
    padding-left: 24px;
    box-sizing: border-box;
  }
}


/* Correct padding: add space on the RIGHT of the photo FRAME (not the image) */
@media (min-width: 900px){
  body.single-vdw_memorial .vdw-client-photo,
  body.single-vdw_memorial .vdw-memorial-photo {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.single-vdw_memorial .vdw-memorial-photo-frame,
  body.single-vdw_memorial .vdw-client-photo-frame,
  body.single-vdw_memorial .vdw-photo-frame {
    padding-right: 24px !important;
    box-sizing: border-box;
  }
}


/* Final alignment tweak: spacing for blocks */
@media (min-width: 900px){
  body.single-vdw_memorial .vdw-block{
    margin-right: 20px;
  }
}


/* Increase spacing between left info block and photo block */
@media (min-width: 900px){
  body.single-vdw_memorial .vdw-layout{
    column-gap: 20px;
    row-gap: 14px;
  }
  /* Undo earlier margin-right tweak that doesn't help in CSS grid */
  body.single-vdw_memorial .vdw-block{
    margin-right: 0 !important;
  }
}

/* Mobile: align personalia card width with the photo frame */
@media (max-width: 899px){
  /* Mobile: show photo first, then personalia */
  body.single-vdw_memorial .vdw-client-header .vdw-client-right{ order: 1; }
  body.single-vdw_memorial .vdw-client-header .vdw-client-left{ order: 2; }

  /* Make sure the outer cards align too (not just inner frames) */
  body.single-vdw_memorial .vdw-memorial-hero__content .vdw-block,
  body.single-vdw_memorial .vdw-memorial-hero__content .vdw-block-info,
  body.single-vdw_memorial .vdw-memorial-hero__content .vdw-block-photo{
    width:100%;
    margin-left:0;
    margin-right:0;
    box-sizing:border-box;
  }
  body.single-vdw_memorial .vdw-client-info,
  body.single-vdw_memorial .vdw-client-photo-frame,
  body.single-vdw_memorial .vdw-memorial-photo-frame,
  body.single-vdw_memorial .vdw-photo-frame{
    width: 100%;
    box-sizing: border-box;
  }
}




/* Mobile: ensure photo frame has equal padding on all sides and image is truly centered */
@media (max-width: 899px){
  body.single-vdw_memorial .vdw-client-photo-frame,
  body.single-vdw_memorial .vdw-memorial-photo-frame,
  body.single-vdw_memorial .vdw-photo-frame{
    padding: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }
  body.single-vdw_memorial .vdw-client-photo-frame img,
  body.single-vdw_memorial .vdw-memorial-photo-frame img,
  body.single-vdw_memorial .vdw-photo-frame img{
    margin: 0 !important;
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
  }
}

/* === Layout gutters (match theme column spacing) === */
@media (min-width: 900px){
  /* Provide outside spacing towards the sidebar/divider */
  body.single-vdw_memorial .vdw-memorial{ margin-top: 0; }
  body.single-vdw_memorial .vdw-layout{ margin-right: 20px; }
  /* The candle button should start on the same baseline as the main content */
  body.single-vdw_memorial .vdw-candle-widget{ padding-top: 0; margin-top: 0; }
}

/* === Digital candle sidebar widget === */
.vdw-candle-widget{ margin: 0 0 16px 0; padding-top: 0; }

/* --- Meeleven widgetlijst (Condoleance / Herinnering) --- */
.vdw-widgetlist{ display:flex; gap:10px; flex-wrap:wrap; margin: 10px 0 18px 0; }
.vdw-widgetbtn{ appearance:none; border:1px solid rgba(0,0,0,0.12); background:#fff; padding:10px 14px; border-radius:999px; cursor:pointer; font-size:14px; line-height:1; }
.vdw-widgetbtn.is-active{ border-color: rgba(0,0,0,0.25); box-shadow: 0 1px 0 rgba(0,0,0,0.06); }
.vdw-pane[hidden]{ display:none !important; }
.vdw-hint{ background: rgba(0,0,0,0.04); border:1px solid rgba(0,0,0,0.08); padding: 12px 14px; border-radius: 12px; margin: 0 0 14px 0; }
.vdw-manage-email{ opacity:0.8; font-size: 13px; margin: 6px 0 0 0; }
.vdw-candle-open{
  width:100%;
  display:block;
  padding:14px 16px;
  border-radius: var(--vdw-card-radius);
  border: var(--vdw-card-border);
  box-shadow: var(--vdw-card-shadow);
  background:#fff;
  font-weight:700;
}

/* Candle icon in sidebar button: reuse same candle CSS as modal (no emoji) */
.vdw-candle-open{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.vdw-candle-open .vdw-candle-icon{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 18px;
}
.vdw-candle-open .vdw-candle-icon .vdw-candle--mini{
  position: static;
  left: auto;
  top: auto;
  margin: 0;
  transform: scale(0.25); /* mini candle is 32x72; scale down for button */
  transform-origin: center;
}
.vdw-candle-open .vdw-candle-label{
  display:inline-block;
}

.vdw-candle-modal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(250,250,247,0.72);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  z-index:99999;
}
.vdw-candle-modal.is-open{ display:flex; }
.vdw-candle-modal__inner{
  width:min(420px, 92vw);
  border-radius:18px;
  padding:0 18px 20px 18px;
  background:#FAFAF7;
  border:1px solid rgba(192,120,48,0.16);
  box-shadow:0 16px 48px rgba(30,45,84,0.18);
  /* Ensure theme styles cannot clip the candle cluster */
  overflow: visible !important;
  color:#2C2C2C;
  text-align:center;
}
.vdw-candle-title{ font-family:'Lora',Georgia,serif; font-size:16px; line-height:1.55; font-weight:400; font-style:italic; margin:8px 0 14px; color:#1E2D54; }
.vdw-candle{
  width:64px;
  height:130px;
  margin:0 auto 18px;
  position:relative;
  cursor:pointer;
}
/* Wax pillar */
.vdw-candle:not(.vdw-candle--mini)::before {
  content:'';
  position:absolute;
  left:50%; bottom:0;
  transform:translateX(-50%);
  width:28px;
  height:68px;
  background: linear-gradient(to bottom, rgba(255,255,255,0.92) 0%, rgba(240,232,220,0.85) 100%);
  border-radius:3px 3px 2px 2px;
  box-shadow: inset -3px 0 6px rgba(0,0,0,0.08);
}
.vdw-candle__wick{
  position:absolute; left:50%; top:48px; transform:translateX(-50%);
  width:3px; height:20px; border-radius:2px 2px 1px 1px;
  background: linear-gradient(to bottom, #bbb 0%, #666 100%);
}
.vdw-candle__flame{
  position:absolute; left:50%; top:12px;
  width:20px; height:36px;
  border-radius: 50% 50% 32% 32% / 58% 58% 42% 42%;
  background: radial-gradient(
    ellipse at 50% 68%,
    #fffde7 0%,
    #ffe57f 22%,
    #ffb300 52%,
    #e65100 82%,
    transparent 100%
  );
  opacity:0;
  transform: translateX(-50%);
  transform-origin: center bottom;
  box-shadow:none;
  will-change: transform, opacity;
}
.vdw-candle.is-lit .vdw-candle__flame{
  opacity:1;
  box-shadow:
    0 0 5px 2px rgba(255,200,80,.75),
    0 0 18px 7px rgba(255,140,20,.45),
    0 0 40px 18px rgba(255,100,10,.18);
}
.vdw-candle-close{
  display:inline-block !important;
  padding:10px 28px !important;
  border-radius:6px !important;
  border:none !important;
  background:#C07830 !important;
  color:#fff !important;
  font-family:Inter,sans-serif !important;
  font-size:0.9375rem !important;
  font-weight:600 !important;
  cursor:pointer !important;
  text-transform: none !important;
  letter-spacing: .01em !important;
  box-shadow:0 2px 8px rgba(0,0,0,0.18) !important;
}
.vdw-candle-close:hover,
.vdw-candle-close:focus,
.vdw-candle-close:active {
  background:#A06228 !important;
  color:#fff !important;
  outline:none !important;
}

/* Candle "view all" button */
.vdw-candle-view{
  display:inline-block;
}


/* Candle count visualization */
.vdw-candle-count-visual{
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 6px 6px;
  align-items: center;
  justify-items: center;
}
.vdw-candle-mini{
  font-size: 18px;
  line-height: 1;
}
.vdw-candle-more{
  font-size: 14px;
  font-weight: 800;
  padding: 6px 10px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.9);
}
@media (max-width: 420px){
  .vdw-candle-count-visual{ grid-template-columns: repeat(6, 1fr); }
}


/* Candle cluster behind the main candle */
.vdw-candle-stage{
  position: relative;
  width: 220px;
  height: 200px;
  margin: 48px auto 0;
}
.vdw-candle-stage .vdw-candle{
  position: absolute;
  left: 50%;
  top: 35px; /* centers 130px candle in 200px stage */
  transform: translateX(-50%);
  z-index: 2;
  margin: 0;
}
.vdw-candle-stage.has-group .vdw-candle{
  top: 42px;
  /* Keep the just-lit candle visible and "untouched" by the surrounding cluster */
  z-index: 3;
  transform: translateX(-50%);
}

.vdw-candle-group{
  position: absolute;
  left: 50%;
  top: 8px;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  z-index: 1;
}
.vdw-candle--mini{
  width: 32px;
  height: 72px;
  transform: translateX(-50%);
  opacity: 0.95;
  filter: blur(0.1px);
}
.vdw-candle--mini::before {
  content:'';
  position:absolute;
  left:50%; bottom:0;
  transform:translateX(-50%);
  width:14px;
  height:38px;
  background: linear-gradient(to bottom, rgba(255,255,255,0.88) 0%, rgba(240,232,220,0.80) 100%);
  border-radius:2px 2px 1px 1px;
}
.vdw-candle--mini .vdw-candle__wick{
  top: 26px;
  width: 2px;
  height: 12px;
}
.vdw-candle--mini .vdw-candle__flame{
  top: 6px;
  width: 11px;
  height: 20px;
}
/* ensure mini candle internal parts position correctly */
.vdw-candle--mini .vdw-candle__wick,
.vdw-candle--mini .vdw-candle__flame{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
}

/* +N badge in the cluster */
.vdw-candle-group .vdw-candle-more{
  position:absolute;
  left: 62px;
  top: -10px;
  background: rgba(0,0,0,.15);
  border: 2px solid rgba(255,255,255,.9);
  color:#fff;
}


/* Fix: prevent mini candles from inheriting main-candle absolute centering */
.vdw-candle-stage > .vdw-candle{
  position: absolute;
  left: 50%;
  top: 35px;
  transform: translateX(-50%);
  z-index: 2;
}
.vdw-candle-stage .vdw-candle--mini{
  transform: translateX(-50%); /* keep x-centering around its own left */
  z-index: 1;
}
.vdw-candle-group .vdw-candle--mini{
  position: absolute;
}

/* When the candle cluster is visible, keep ALL candles (including the one just lit) the same visual size */
.vdw-candle-stage.has-group > .vdw-candle,
.vdw-candle-stage.has-group .vdw-candle--mini{
  transform: translateX(-50%) scale(0.78);
  transform-origin: 50% 0%;
}

/* Denser clusters (25+ candles): slightly smaller to maintain a round silhouette without overlaps */
.vdw-candle-stage.has-group.vdw-candle-stage--dense > .vdw-candle,
.vdw-candle-stage.has-group.vdw-candle-stage--dense .vdw-candle--mini{
  transform: translateX(-50%) scale(0.70);
  transform-origin: 50% 0%;
}
/* Keep the "main" candle from visually dominating the cluster */
.vdw-candle-stage.has-group > .vdw-candle{
  z-index: 3;
}



/* Gentle breathe — very subtle scale, no rotation, no opacity changes */
@keyframes vdwFlameBreathe {
  0%   { transform: translateX(-50%) scaleY(1.00) scaleX(1.00); }
  50%  { transform: translateX(-50%) scaleY(1.06) scaleX(0.96); }
  100% { transform: translateX(-50%) scaleY(1.00) scaleX(1.00); }
}

.vdw-candle.is-lit .vdw-candle__flame {
  animation: vdwFlameBreathe 2.8s infinite ease-in-out;
}


/* Cleanup: remove legacy navigation separators (old prev/next client) */
.vdw-client-nav,
.vdw-prev-next,
.vdw-nav,
.vdw-divider,
.vdw-nav-divider,
.vdw-client-divider{
  display:none !important;
}
.vdw-client-nav::before,
.vdw-client-nav::after,
.vdw-prev-next::before,
.vdw-prev-next::after,
.vdw-nav::before,
.vdw-nav::after,
.vdw-divider::before,
.vdw-divider::after,
.vdw-nav-divider::before,
.vdw-nav-divider::after,
.vdw-client-divider::before,
.vdw-client-divider::after{
  content:none !important;
  display:none !important;
}


/* Definitieve cleanup: oude client-navigatie & separators */
.vdw-client-nav,
.vdw-prev-next,
.vdw-navigation,
.vdw-divider,
.vdw-nav-divider,
.vdw-client-divider {
  display: none !important;
}
.vdw-client-nav::before,
.vdw-client-nav::after,
.vdw-prev-next::before,
.vdw-prev-next::after,
.vdw-navigation::before,
.vdw-navigation::after,
.vdw-divider::before,
.vdw-divider::after {
  content: none !important;
  display: none !important;
}


/* Cleanup: legacy navigation + theme next/prev (alleen op memorial pagina's) */
body.single-vdw_memorial .vdw-client-nav,
body.single-vdw_memorial .vdw-prev-next,
body.single-vdw_memorial .vdw-navigation,
body.single-vdw_memorial .vdw-divider,
body.single-vdw_memorial .vdw-nav-divider,
body.single-vdw_memorial .vdw-client-divider,
body.single-vdw_memorial .post-navigation,
body.single-vdw_memorial nav.post-navigation,
body.single-vdw_memorial nav.navigation-post,
body.single-vdw_memorial .navigation-post,
body.single-vdw_memorial .post-nav,
body.single-vdw_memorial .nav-previous,
body.single-vdw_memorial .nav-next,
body.single-vdw_memorial .post-footer .is-divider,
body.single-vdw_memorial .post-footer hr,
body.single-vdw_memorial .post-footer .row-divider,
body.single-vdw_memorial .post-footer .page-nav {
  display: none !important;
}


/* Candle popup – more breathing room, still clustered */
.vdw-candles-popup,
.vdw-candle-popup {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 14px; /* vertical | horizontal */
}

.vdw-candles-popup .vdw-candle,
.vdw-candle-popup .vdw-candle {
  margin: 0;
}


/* Candle popup layout tweaks */
.vdw-candle-modal__inner .vdw-candle-stage{
  margin-top: 14px;
  width: 220px;
  height: 220px;
  max-width: 86vw;
}

/* Give the candle cluster more vertical breathing room in the modal so
   all mini candles stay comfortably within the glassy frame. */
.vdw-candle-modal__inner .vdw-candle-stage.has-group > .vdw-candle{
  top: 50px;
}
.vdw-candle-modal__inner .vdw-candle-info{
  margin-top: 14px;
  margin-bottom: 10px;
  text-align: center;
  font-family: 'Lora', Georgia, serif;
  font-size: 1rem;
  font-style: italic;
  line-height: 1.6;
  color: #1E2D54;
}
.vdw-candle-modal__inner .vdw-candle-close{
  margin-top: 0;
}


@media (min-width: 1024px){
  .vdw-client-right{ padding-right: 25px; }
  .vdw-candle-open{ margin-top: 25px; }
}




/* Photo lightbox (album) */
.vdw-photo-lightbox{ display:block; cursor: zoom-in; width:100%; padding:0; border:0; background:transparent; text-align:inherit; }
.vdw-photo-lightbox .vdw-client-photo{ display:block; }

.vdw-lightbox { position: fixed; inset: 0; z-index: 99999; display:none; }
.vdw-lightbox.is-open { display:block; }
.vdw-lightbox__overlay { position:absolute; inset:0; background: rgba(0,0,0,0.65); }
.vdw-lightbox__inner { position:absolute; inset:0; padding:0; box-sizing:border-box; margin:0; }
.vdw-lightbox__frame { position:absolute; inset:25px; display:flex; align-items:center; justify-content:center; box-sizing:border-box; }
.vdw-lightbox__img { width:100%; height:100%; object-fit: contain; display:block; border-radius: 18px; box-shadow: 0 10px 40px rgba(0,0,0,0.35); background: #fff; }
/* No close button in this UX (close by tapping overlay / ESC) */
.vdw-lightbox__close { display: none !important; }

/* Navigation: bottom corners with 25px margin */
.vdw-lightbox__prev, .vdw-lightbox__next {
  /* Use fixed positioning so the 25px offset is relative to the viewport.
     If we position inside .vdw-lightbox__inner (which has 25px padding),
     the offset becomes effectively 50px on right/bottom on mobile. */
  position: fixed;
  top: auto;
  bottom: 25px;
  transform: none;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 0;
  background: rgba(255,255,255,0.9);
  cursor: pointer;

  /* Proper icon centering */
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  line-height: 1;
  padding: 0;
}
.vdw-lightbox__prev { left: 25px; }
.vdw-lightbox__next { right: 25px; }


/* --- v1.8.26.98: Frame-first lightbox so gutters are equal on all sides --- */
.vdw-lightbox__inner{
  position: absolute;
  inset: 0;
  padding: 0;
  box-sizing: border-box;
}
.vdw-lightbox__frame{
  position: absolute;
  inset: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.vdw-lightbox__img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* Robust centering of arrow glyphs inside the circular buttons */
.vdw-lightbox__prev, .vdw-lightbox__next{
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}


/* Form polish: consistent label spacing + button look */
.vdw-sr{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.vdw-field label{ display:block; margin: 0 0 10px; }
.vdw-field input::placeholder,
.vdw-field textarea::placeholder{
  opacity: .65;
}
.vdw-submit{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 22px;
  height: 42px;
  box-sizing: border-box;
  border-radius: 6px;
  border: none;
  background: #C07830;
  color: #ffffff !important;
  font-family: Inter, sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 2px 12px rgba(192,120,48,0.25), 0 1px 3px rgba(192,120,48,0.15);
  transition: background 0.15s ease, box-shadow 0.15s ease, transform 0.1s ease;
}
.vdw-submit:hover{ background: #A06228; box-shadow: 0 4px 18px rgba(192,120,48,0.35); }
.vdw-submit:active{ transform: scale(0.98); }
.vdw-submit:focus{ outline: 2px solid #C07830; outline-offset: 2px; }

.vdw-memory-submit{
  text-transform: none !important;
  letter-spacing: .01em !important;
}


/* ── Homepage Meeleven preview section ─────────────────────────────── */
.vdw-preview-wrap {
  width: 100%;
  margin-block: 1.5rem;
  padding-inline: 1rem;
  box-sizing: border-box;
}
.vdw-preview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 340px));
  gap: 1.25rem;
  justify-content: center;
}
.vdw-preview-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  background: #ffffff;
  border-radius: 6px;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 1px 4px rgba(44,44,44,0.08);
}
.vdw-preview-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(44,44,44,0.14);
}
.vdw-preview-photo-wrap {
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #EEEAE4;
}
.vdw-preview-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.vdw-preview-card:hover .vdw-preview-photo {
  transform: scale(1.03);
}
.vdw-preview-photo-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #EEEAE4;
  color: #b0a898;
}
.vdw-preview-photo-placeholder svg {
  width: 48px;
  height: 48px;
}
.vdw-preview-info {
  display: flex;
  flex-direction: column;
  padding: 1.125rem 1.25rem 1.25rem;
  gap: 0.25rem;
}
.vdw-preview-name {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.125rem;
  color: #1E2D54;
  font-weight: 600;
  line-height: 1.3;
}
.vdw-preview-years {
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  color: #7a7368;
  letter-spacing: 0.01em;
}
.vdw-preview-cta {
  font-family: 'Inter', sans-serif;
  font-size: 0.8rem;
  color: #C07830;
  font-weight: 500;
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.3em;
}
.vdw-preview-cta::after {
  content: '→';
}
.vdw-preview-more {
  margin-top: 2rem;
  text-align: center;
}
.vdw-preview-more-link {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  color: #C07830;
  border: 1.5px solid #C07830;
  padding: 0.6em 1.5em;
  border-radius: 999px;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}
.vdw-preview-more-link:hover {
  background: #C07830;
  color: #ffffff;
}


/* ── Form drawer toggle ─────────────────────────────────────────────── */
.vdw-form-toggle-wrap {
  margin-top: 24px;
  margin-bottom: 20px;
  text-align: center;
}

.vdw-form-toggle-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 22px;
  border-radius: 6px;
  background: #C07830;
  color: #ffffff !important;
  border: none;
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: background 0.15s ease;
  text-transform: none !important;
}
.vdw-form-toggle-btn:hover {
  background: #A06228;
}
.vdw-form-toggle-btn__icon {
  font-style: normal;
  font-size: 0.9375rem;
}

.vdw-form-drawer {
  border-top: 1px solid rgba(192, 120, 48, 0.15);
  padding-top: 20px;
  margin-bottom: 4px;
  animation: vdw-drawer-in 0.2s ease;
}

@keyframes vdw-drawer-in {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Boom planten modal ───────────────────────────────────────────────── */
.vdw-tree-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
}
.vdw-tree-modal[hidden] { display: none !important; }

.vdw-tree-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(250, 250, 247, 0.78);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.vdw-tree-modal__inner {
  position: relative;
  z-index: 1;
  width: min(820px, 94vw);
  max-height: 92vh;
  overflow-y: auto;
  border-radius: 20px;
  padding: 28px 28px 24px;
  background: #FAFAF7;
  border: 1px solid rgba(192, 120, 48, 0.16);
  box-shadow: 0 16px 48px rgba(30, 45, 84, 0.18);
  text-align: center;
}

/* Twee-koloms grid bij voldoende breedte */
.vdw-tree-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-bottom: 20px;
}
@media (min-width: 560px) {
  .vdw-tree-layout {
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    text-align: left;
  }
  .vdw-tree-col--left { text-align: left; }
  .vdw-tree-col--left .vdw-tree-illustration { margin: 0 0 14px; }
  .vdw-tree-col--left .vdw-tree-svg { margin: 0; }
  .vdw-tree-col--left .vdw-tree-title { text-align: left; font-size: 1.125rem; }
  .vdw-tree-col--left .vdw-tree-intro { text-align: left; }
  .vdw-tree-col--left .vdw-tree-counter { justify-content: flex-start; }
}

/* Boom SVG illustratie */
.vdw-tree-illustration { margin: 0 auto 16px; }
.vdw-tree-svg { width: 100px; height: 84px; display: block; margin: 0 auto; }

.vdw-tree-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.125rem, 3vw, 1.375rem);
  font-weight: 500;
  color: #1E2D54;
  line-height: 1.3;
  margin: 0 0 10px;
}

.vdw-tree-intro {
  font-family: 'Lora', Georgia, serif;
  font-style: italic;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: rgba(44, 44, 44, 0.70);
  margin: 0 0 16px;
}

/* Teller */
.vdw-tree-counter {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: rgba(30, 45, 84, 0.05);
  border-radius: 8px;
  padding: 10px 16px;
  margin-bottom: 16px;
}
.vdw-tree-counter[hidden] { display: none !important; }
.vdw-tree-counter__num {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.5rem;
  font-weight: 600;
  color: #1E2D54;
}
.vdw-tree-counter__label {
  font-family: 'Lora', Georgia, serif;
  font-size: 0.875rem;
  color: rgba(44, 44, 44, 0.65);
  font-style: italic;
}

/* Bankgegevens kaart */
.vdw-tree-bank-card {
  background: #ffffff;
  border: 1px solid rgba(192, 120, 48, 0.14);
  border-radius: 10px;
  padding: 4px 0;
  margin-bottom: 14px;
  text-align: left;
}

.vdw-tree-bank-row {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  border-bottom: 1px solid rgba(192, 120, 48, 0.08);
}
.vdw-tree-bank-row:last-child { border-bottom: none; }

.vdw-tree-bank-label {
  font-size: 0.6875rem;
  font-weight: 600;
  color: rgba(44, 44, 44, 0.45);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  min-width: 68px;
  flex-shrink: 0;
}

.vdw-tree-bank-value {
  font-size: 0.8125rem;
  color: #2C2C2C;
  flex: 1;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.vdw-tree-iban {
  font-family: 'Courier New', monospace;
  letter-spacing: 0.04em;
}

.vdw-tree-copy {
  font-size: 0.6875rem;
  color: #C07830 !important;
  background: none !important;
  border: 1px solid rgba(192, 120, 48, 0.35) !important;
  border-bottom: 1px solid rgba(192, 120, 48, 0.35) !important;
  border-radius: 4px !important;
  padding: 2px 7px !important;
  cursor: pointer !important;
  font-weight: 500;
  white-space: nowrap;
  box-shadow: none !important;
  text-transform: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
.vdw-tree-copy:hover { background: rgba(192, 120, 48, 0.08) !important; }

.vdw-tree-after {
  font-size: 0.8125rem;
  color: rgba(44, 44, 44, 0.55);
  margin: 0 0 16px;
  line-height: 1.5;
}

/* Actie-knoppen */
.vdw-tree-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.vdw-tree-confirm {
  display: block !important;
  width: 100% !important;
  padding: 13px 24px !important;
  background: #1E2D54 !important;
  color: #FAFAF7 !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: Inter, sans-serif !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  text-transform: none !important;
  box-shadow: 0 2px 12px rgba(30, 45, 84, 0.22) !important;
  transition: background 0.15s !important;
  outline: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
.vdw-tree-confirm[hidden] { display: none !important; }

.vdw-tree-close {
  display: block !important;
  width: 100% !important;
  padding: 11px 24px !important;
  background: transparent !important;
  color: rgba(44, 44, 44, 0.55) !important;
  border: 1px solid rgba(44, 44, 44, 0.18) !important;
  border-radius: 8px !important;
  font-family: Inter, sans-serif !important;
  font-size: 0.875rem !important;
  cursor: pointer !important;
  text-transform: none !important;
  box-shadow: none !important;
  outline: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

/* ID-specificiteit om Kadence theme button-overrides definitief te verslaan */
#vdw-tree-modal .vdw-tree-confirm,
#vdw-tree-modal .vdw-tree-confirm:link,
#vdw-tree-modal .vdw-tree-confirm:visited,
#vdw-tree-modal .vdw-tree-confirm:hover,
#vdw-tree-modal .vdw-tree-confirm:focus,
#vdw-tree-modal .vdw-tree-confirm:active,
#vdw-tree-modal .vdw-tree-confirm:focus-visible {
  background: #1E2D54 !important;
  color: #FAFAF7 !important;
  border: none !important;
  box-shadow: 0 2px 12px rgba(30,45,84,0.22) !important;
  text-decoration: none !important;
}
#vdw-tree-modal .vdw-tree-confirm:hover  { background: #162244 !important; }
#vdw-tree-modal .vdw-tree-confirm:focus,
#vdw-tree-modal .vdw-tree-confirm:focus-visible { outline: 2px solid rgba(192,120,48,0.5) !important; outline-offset: 2px !important; }
#vdw-tree-modal .vdw-tree-confirm:active { background: #162244 !important; outline: none !important; }

#vdw-tree-modal .vdw-tree-close,
#vdw-tree-modal .vdw-tree-close:link,
#vdw-tree-modal .vdw-tree-close:visited,
#vdw-tree-modal .vdw-tree-close:hover,
#vdw-tree-modal .vdw-tree-close:focus,
#vdw-tree-modal .vdw-tree-close:active,
#vdw-tree-modal .vdw-tree-close:focus-visible {
  background: transparent !important;
  color: rgba(44,44,44,0.55) !important;
  border: 1px solid rgba(44,44,44,0.18) !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
#vdw-tree-modal .vdw-tree-close:hover  { background: rgba(44,44,44,0.05) !important; }
#vdw-tree-modal .vdw-tree-close:focus,
#vdw-tree-modal .vdw-tree-close:focus-visible { outline: 2px solid rgba(44,44,44,0.2) !important; outline-offset: 2px !important; }
#vdw-tree-modal .vdw-tree-close:active { outline: none !important; }

/* Slider */
.vdw-tree-slider-wrap {
  width: 100%;
  margin: 0 0 12px;
}
.vdw-tree-slider-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 8px;
}
.vdw-tree-slider-label {
  font-family: Inter, sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(30,45,84,0.5);
}
.vdw-tree-slider-amount {
  font-family: 'Lora', Georgia, serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #1E2D54;
}
.vdw-tree-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 6px;
  border-radius: 99px;
  background: linear-gradient(to right, #C07830 var(--pct, 13%), #B0B8CC var(--pct, 13%));
  outline: none;
  border: none !important;
  box-shadow: none !important;
  cursor: pointer;
}
.vdw-tree-slider::-webkit-slider-runnable-track {
  height: 6px;
  border-radius: 99px;
  background: linear-gradient(to right, #C07830 var(--pct, 13%), #B0B8CC var(--pct, 13%));
}
.vdw-tree-slider::-moz-range-track {
  height: 6px;
  border-radius: 99px;
  background: #B0B8CC;
}
.vdw-tree-slider::-moz-range-progress {
  height: 6px;
  border-radius: 99px;
  background: #C07830;
}
.vdw-tree-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 22px; height: 22px;
  margin-top: -8px;
  border-radius: 50%;
  background: #1E2D54;
  border: 3px solid #FAFAF7;
  box-shadow: 0 1px 6px rgba(0,0,0,0.25);
  cursor: pointer;
}
.vdw-tree-slider::-moz-range-thumb {
  width: 22px; height: 22px;
  border-radius: 50%;
  background: #1E2D54;
  border: 3px solid #FAFAF7;
  box-shadow: 0 1px 6px rgba(0,0,0,0.25);
  cursor: pointer;
}
.vdw-tree-slider-pct {
  margin-top: 6px;
  font-family: Inter, sans-serif;
  font-size: 0.75rem;
  color: rgba(30,45,84,0.5);
  text-align: center;
}

/* QR code */
.vdw-tree-qr-wrap {
  text-align: center;
  margin: 4px 0 8px;
}
.vdw-tree-qr-label {
  font-family: Inter, sans-serif;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(30,45,84,0.45);
  margin-bottom: 8px;
}
.vdw-tree-qr {
  display: inline-block;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,0.10);
}
.vdw-tree-qr img, .vdw-tree-qr canvas { display: block; }

/* Bedankmelding */
.vdw-tree-thankyou {
  margin-top: 12px;
  padding: 12px 16px;
  background: rgba(45, 90, 27, 0.08);
  border-radius: 8px;
  font-family: 'Lora', Georgia, serif;
  font-style: italic;
  font-size: 0.9375rem;
  color: #2D5A1B;
}
.vdw-tree-thankyou[hidden] { display: none !important; }

/* Familie-plant-zelf melding (voor betaling) */
.vdw-tree-family-msg {
  font-family: 'Lora', Georgia, serif;
  font-style: italic;
  font-size: 1rem;
  color: #2D5A1B;
  text-align: center;
  padding: 16px;
  background: rgba(45, 90, 27, 0.07);
  border-radius: 8px;
  margin: 0 0 16px;
}
