/* Gedeelde header + navigatie — Daantjes cadeaushop */
.dhead { display:flex; align-items:center; justify-content:space-between; gap:20px;
         padding:14px 40px; background:#fdf8f4; border-bottom:2px solid #f4726e; }
.dhead > a.dlogo { display:flex; align-items:center; flex:1 1 0; }
.dhead > .dtools { display:flex; align-items:center; justify-content:flex-end; gap:12px; flex:1 1 0; }
.dhead img.dlogo-img { width:230px; height:74px; object-fit:contain; }
.dnav  { flex:0 0 auto; display:flex; align-items:center; gap:4px; background:#fdeef4;
         border-radius:999px; padding:6px; }
.dnav a, .dnav .dnav-item { display:flex; align-items:center; gap:8px; padding:12px 24px; border-radius:999px;
          font-size:16px; font-weight:700; color:#2e2430; white-space:nowrap; position:relative; cursor:pointer; }
.dnav a.on, .dnav .dnav-item.on { background:#f4726e; color:#ffffff; }
.dnav a.on:hover, .dnav .dnav-item.on:hover { background:#ef5f5b; color:#ffffff; }
.dnav a:not(.on):hover, .dnav .dnav-item:not(.on):hover { color:#b32b60; }
.dnav .dash { position:absolute; left:50%; transform:translateX(-50%); bottom:4px;
              width:22px; height:3px; border-radius:3px; background:#2fbfae; }
.dicon { width:44px; height:44px; border-radius:50%; background:#fdeef4;
         display:flex; align-items:center; justify-content:center; cursor:pointer; position:relative; }
.dicon:hover { background:#fbe0eb; }
.dbadge { position:absolute; top:-2px; right:-2px; background:#e8394a; color:#fff; font-size:11px;
          font-weight:700; min-width:19px; height:19px; border-radius:999px;
          display:flex; align-items:center; justify-content:center; padding:0 5px; }
.dpromo { background:#fdedf2; text-align:center; padding:10px; font-size:13.5px; color:#a33a63; font-weight:700; }

@media (max-width: 900px) {
  .dhead { flex-wrap:wrap; padding:12px 20px; row-gap:12px; }
  .dhead > a.dlogo, .dhead > .dtools { flex:0 0 auto !important; }
  .dnav { order:3; width:100%; justify-content:flex-start; overflow-x:auto; border-radius:16px; }
  .dnav a, .dnav .dnav-item { padding:11px 18px; font-size:15px; }
  .dhead img.dlogo-img { width:180px !important; height:58px !important; }
}

/* ---- responsive: homepage + productpagina ---- */
@media (max-width: 900px) {
  .dsec        { padding:48px 20px !important; }
  .dsec-t      { padding:48px 20px 0 !important; }
  .dsec-b      { padding:0 20px 48px !important; }
  .dsec-pdp    { padding:20px 20px 48px !important; gap:28px !important; }
  .dcrumb      { padding:20px 20px 0 !important; }
  .dfoot       { padding:40px 20px 24px !important; }

  .dg4         { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:18px !important; }
  .dg2         { grid-template-columns:1fr !important; gap:28px !important; }
  .dfoot-grid  { grid-template-columns:1fr !important; gap:28px !important; }

  .dhero-sec   { height:auto !important; min-height:420px; }
  .dhero       { max-width:100% !important; padding:56px 20px !important; }
  .dhero-h1    { font-size:30px !important; margin:0 0 20px !important; }
  .dpdp-h1     { font-size:26px !important; }

  .dmega       { position:static !important; transform:none !important;
                 grid-template-columns:repeat(2,minmax(0,1fr)) !important;
                 width:100% !important; box-shadow:none !important; padding:16px 0 !important; }

  h1, h2       { text-wrap:balance; }
  img          { max-width:100%; }
}
@media (max-width: 560px) {
  .dg4         { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .dhero-h1    { font-size:27px !important; }
}
