/* ===============================
   LEGAL / INFO PAGINA'S – PREMIUM
   Privacy • GDPR • Cookies • AV
================================= */

/* container */
.uitvaart-container{padding:3rem 0;background:#f4f7f4}
.uitvaart-container .container{max-width:1150px}

/* hoofdkaart */
.voorwaarden-card{
  background:#fff;
  border:1px solid #e4ebe4;
  border-radius:22px;
  box-shadow:0 18px 42px rgba(0,0,0,.08);
  padding:2rem 2.2rem;
  position:relative;
  overflow:hidden
}

/* subtiele accentlijn */
.voorwaarden-card::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:4px;
  background:linear-gradient(90deg,#1e4025,#94b3a0);
}

/* secties */
.voorwaarden-card section{
  padding:1.6rem 0;
  border-top:1px solid #edf2ed
}
.voorwaarden-card section:first-child{
  border-top:0;
  padding-top:.4rem
}

/* titels */
.voorwaarden-card h2{
  margin:0 0 .6rem;
  color:#1e4025;
  font-size:1.45rem;
  font-weight:900;
  letter-spacing:.02em
}
.voorwaarden-card h3{
  margin:1.2rem 0 .45rem;
  color:#1e4025;
  font-size:1.1rem;
  font-weight:900
}

/* tekst */
.voorwaarden-card p{
  margin:.55rem 0 0;
  color:#3f4f45;
  line-height:1.85;
  font-size:1rem
}
.voorwaarden-card p:first-child{margin-top:0}

/* accenten */
.voorwaarden-card strong{color:#1b3a23}
.voorwaarden-card em{color:#5c6e63}
.voorwaarden-card u{
  text-decoration-thickness:2px;
  text-underline-offset:3px
}

/* lijsten */
.voorwaarden-card ul,
.voorwaarden-card ol{
  margin:.8rem 0 0;
  padding-left:1.4rem;
  color:#3f4f45;
  line-height:1.75
}
.voorwaarden-card li{
  margin:.45rem 0;
  padding-left:.2rem
}

/* links */
.voorwaarden-card a{
  color:#1e4025;
  font-weight:800;
  text-decoration:none;
  position:relative;
  padding-bottom:2px
}
.voorwaarden-card a::after{
  content:"";
  position:absolute;
  left:0;bottom:0;
  width:100%;height:2px;
  background:#94b3a0;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s ease
}
.voorwaarden-card a:hover::after{transform:scaleX(1)}
.voorwaarden-card a:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(30,64,37,.18);
  border-radius:6px
}

/* info blokken */
.voorwaarden-card .note{
  margin:1.1rem 0 0;
  padding:1rem 1.2rem;
  border-radius:18px;
  background:#f6f9f6;
  border:1px solid #e4ebe4;
  color:#3f4f45
}
.voorwaarden-card .note b{
  color:#1e4025;
  font-weight:900
}

/* waarschuwing / belangrijk */
.voorwaarden-card .important{
  margin:1.2rem 0 0;
  padding:1.05rem 1.2rem;
  border-radius:18px;
  background:#fff7ec;
  border:1px solid #f0dcc2;
  color:#6b4a1f
}
.voorwaarden-card .important b{color:#8a5a19}

/* small text */
.voorwaarden-card small{
  display:block;
  margin:.7rem 0 0;
  color:#6b7b72;
  line-height:1.6
}

/* horizontale lijn */
.voorwaarden-card hr{
  border:0;
  border-top:1px dashed #e1e8e1;
  margin:1.6rem 0
}

/* tabellen (prijs / info) */
.table-wrapper{
  margin:1.2rem 0 0;
  overflow-x:auto;
  border:1px solid #e4ebe4;
  border-radius:18px;
  background:#fff
}
.price-table{
  width:100%;
  border-collapse:collapse;
  font-size:.95rem;
  min-width:760px
}
.price-table thead{
  background:#1e4025;
  color:#fff
}
.price-table th,
.price-table td{
  padding:.8rem .85rem;
  border-bottom:1px solid #edf2ed;
  white-space:nowrap;
  text-align:left
}
.price-table tbody tr:hover{
  background:#f6f9f6
}

/* contactblok onderaan */
.legal-contact{
  margin-top:2rem;
  padding:1.4rem 1.6rem;
  border-radius:20px;
  background:linear-gradient(180deg,#1e4025,#17331e);
  color:#fff
}
.legal-contact h3{
  margin:0 0 .45rem;
  font-size:1.15rem;
  font-weight:900
}
.legal-contact p{
  margin:0;
  line-height:1.7;
  color:#eef3ef
}
.legal-contact a{color:#d6f0df}

/* responsive */
@media(max-width:900px){
  .voorwaarden-card{padding:1.4rem 1.2rem}
  .voorwaarden-card h2{font-size:1.25rem}
}
