/* =========================================================
   DR Peps Nederland: site styles (v2, dark)
   Loaded by the "DR Peps Site" plugin. Brand colors are the variables below.
   ========================================================= */
:root {
  --drp-bg:        #07080f;
  --drp-surface:   #0e1020;
  --drp-raised:    #151833;
  --drp-fg:        #f1f3ff;
  --drp-muted:     #9aa3c7;
  --drp-line:      #232850;
  --drp-blue:      #2e8bff;
  --drp-violet:    #8b5cf6;
  --drp-amber:     #f5b83d;
  --drp-green:     #25d366;
  --drp-grad:      linear-gradient(135deg, #2e8bff, #8b5cf6);
  --drp-tile:      radial-gradient(120% 90% at 50% 20%, #1a1f45 0%, #0e1020 60%, #07080f 100%);
  --drp-radius:    14px;
  --drp-head:      'Sora', ui-sans-serif, system-ui, sans-serif;
  --drp-body:      'Inter', ui-sans-serif, system-ui, sans-serif;
  --drp-mono:      'JetBrains Mono', ui-monospace, monospace;
}

/* ---------- Page ---------- */
html, body, body .wp-site-blocks, body.elementor-template-canvas {
  background: var(--drp-bg) !important;
  color: var(--drp-fg);
  font-family: var(--drp-body);
}
body ::selection { background: rgba(46,139,255,.35); }

/* ---------- Base type (beats Elementor global colors/fonts) ---------- */
body .drp .elementor-heading-title {
  font-family: var(--drp-head) !important; color: var(--drp-fg) !important;
  font-weight: 600 !important; letter-spacing: -0.02em; line-height: 1.12;
}
body .drp .elementor-widget-text-editor,
body .drp .elementor-widget-text-editor p {
  font-family: var(--drp-body) !important; color: var(--drp-muted) !important;
  font-size: 18px; line-height: 1.65; margin: 0;
}
body .drp .drp-h1 .elementor-heading-title {
  font-size: clamp(38px, 4.6vw, 60px) !important; line-height: 1.04 !important; overflow-wrap: break-word; hyphens: manual;
  font-weight: 700 !important; letter-spacing: -0.035em !important;
}
body .drp .drp-h1 .elementor-heading-title span {
  background: var(--drp-grad); -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
body .drp .drp-h2 .elementor-heading-title { font-size: clamp(32px, 3.6vw, 44px) !important; font-weight: 700 !important; }
body .drp .drp-h3 .elementor-heading-title { font-size: clamp(26px, 2.6vw, 32px) !important; font-weight: 700 !important; }
body .drp .drp-eyebrow .elementor-heading-title {
  font-family: var(--drp-mono) !important; font-size: 12px !important; font-weight: 400 !important;
  letter-spacing: .2em !important; text-transform: uppercase; color: var(--drp-muted) !important;
}
body .drp .drp-mono .elementor-heading-title {
  font-family: var(--drp-mono) !important; font-size: 13px !important; font-weight: 400 !important;
  letter-spacing: .02em; color: var(--drp-muted) !important;
}

/* ---------- Buttons ---------- */
body .drp .drp-btn .elementor-button {
  font-family: var(--drp-head) !important; font-size: 15px !important; font-weight: 600 !important;
  height: 48px; padding: 0 22px !important; border-radius: 10px !important;
  display: inline-flex; align-items: center; line-height: 1;
  border: 1px solid var(--drp-line) !important; color: var(--drp-fg) !important;
  transition: filter .2s, border-color .2s, background .2s, transform .2s;
}
body .drp .drp-btn .elementor-button .elementor-button-icon { font-size: 13px; }
body .drp .drp-btn-primary .elementor-button { background: var(--drp-grad) !important; border-color: transparent !important; }
body .drp .drp-btn-primary .elementor-button:hover { filter: brightness(1.12); transform: translateY(-1px); }
body .drp .drp-btn-secondary .elementor-button { background: var(--drp-surface) !important; }
body .drp .drp-btn-secondary .elementor-button:hover { border-color: #3a4180 !important; background: var(--drp-raised) !important; }
body .drp .drp-btn-wa .elementor-button-icon { color: var(--drp-green); font-size: 18px !important; }
body .drp .drp-btn-link .elementor-button {
  background: none !important; border: 0 !important; padding: 0 !important; height: auto;
  color: var(--drp-blue) !important; font-family: var(--drp-body) !important; font-weight: 500 !important; font-size: 18px !important;
}
body .drp .drp-btn-link .elementor-button:hover { color: #6aaeff !important; }

/* ---------- Tiles / cards ---------- */
.drp .drp-tile, .drp-tile {
  background: var(--drp-tile) !important; border: 1px solid var(--drp-line); border-radius: var(--drp-radius);
}
.drp-hero-visual { min-height: 520px; overflow: hidden; position: relative; }
.drp-hero-visual::after {
  content: ""; position: absolute; left: 25%; right: 25%; bottom: 8%; height: 30%;
  background: radial-gradient(closest-side, rgba(46,139,255,.28), transparent); pointer-events: none;
}
.drp-hero-img img { max-height: 440px; width: auto !important; object-fit: contain; position: relative; z-index: 1; }

.drp .drp-card, .drp-card {
  background: var(--drp-surface) !important; border: 1px solid var(--drp-line); border-radius: var(--drp-radius);
}
body .drp .drp-card-icon .elementor-icon { font-size: 30px !important; color: var(--drp-blue) !important; fill: var(--drp-blue); }

/* ---------- Feature strip ---------- */
.drp-strip { background: var(--drp-surface) !important; border-top: 1px solid var(--drp-line); border-bottom: 1px solid var(--drp-line); }
body .drp .drp-feature .elementor-icon { font-size: 22px !important; color: var(--drp-blue) !important; fill: var(--drp-blue); }
body .drp .drp-feature .elementor-icon-box-wrapper { gap: 14px; align-items: flex-start; }
body .drp .drp-feature .elementor-icon-box-icon { margin: 2px 0 0 !important; }
body .drp .drp-feature .elementor-icon-box-title,
body .drp .drp-feature .elementor-icon-box-title a {
  font-family: var(--drp-head) !important; font-size: 17px !important; font-weight: 600 !important;
  color: var(--drp-fg) !important; margin: 0 0 6px !important; letter-spacing: -0.01em;
}
body .drp .drp-feature .elementor-icon-box-description {
  font-family: var(--drp-body) !important; font-size: 16px !important; line-height: 1.55; color: var(--drp-muted) !important; margin: 0;
}

/* ---------- Certificates list ---------- */
.drp-cert-row { border-bottom: 1px solid var(--drp-line); }

/* ---------- CTA ---------- */
.drp .drp-cta-box, .drp-cta-box { background: var(--drp-raised) !important; border: 1px solid var(--drp-line); border-radius: var(--drp-radius); }

/* ---------- Logo ---------- */
body .drp .drp-logo .elementor-heading-title a { display: inline-flex; align-items: center; gap: 10px; color: var(--drp-fg) !important; }
.drp-logo-mark {
  width: 36px; height: 36px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center;
  background: var(--drp-raised); border: 1px solid var(--drp-line); color: var(--drp-violet); font-size: 18px; line-height: 1;
}
.drp-logo-text { display: inline-flex; flex-direction: column; line-height: 1; }
.drp-logo-text b { font-family: var(--drp-head); font-size: 17px; font-weight: 700; letter-spacing: -0.02em; }
.drp-logo-text small { font-family: var(--drp-mono); font-size: 9px; letter-spacing: .25em; color: var(--drp-muted); margin-top: 3px; }

/* ---------- Header ---------- */
.drp-header {
  background: rgba(7,8,15,.82) !important; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--drp-line);
}
#masthead, .ehf-header #masthead { position: sticky; top: 0; z-index: 99; }
body.admin-bar .ehf-header #masthead { top: 32px; }
body .drp .drp-nav .elementor-icon-list-item { margin: 0 14px !important; padding: 0 !important; white-space: nowrap; }
body .drp .drp-nav .elementor-icon-list-item::after { display: none !important; }
body .drp .drp-nav .elementor-icon-list-text,
body .drp .drp-links .elementor-icon-list-text {
  font-family: var(--drp-body) !important; font-size: 16px !important; color: #c9cfee !important; transition: color .2s; padding: 0 !important;
}
body .drp .drp-nav a:hover .elementor-icon-list-text,
body .drp .drp-links a:hover .elementor-icon-list-text { color: #fff !important; }
body .drp .drp-wa-icon .elementor-icon {
  width: 40px; height: 40px; border-radius: 10px; display: inline-flex !important; align-items: center; justify-content: center;
  border: 1px solid var(--drp-line); background: var(--drp-surface); color: var(--drp-green) !important; fill: var(--drp-green); font-size: 18px !important;
}
body .drp .drp-wa-icon .elementor-icon:hover { border-color: var(--drp-green); }

/* ---------- Footer ---------- */
.drp-footer { background: var(--drp-bg) !important; border-top: 1px solid var(--drp-line); }
body .drp .drp-tagline, body .drp .drp-tagline p { color: #8ea0e0 !important; font-size: 18px; max-width: 320px; }
body .drp .drp-foot-h .elementor-heading-title {
  font-family: var(--drp-mono) !important; font-size: 12px !important; font-weight: 700 !important;
  letter-spacing: .15em !important; text-transform: uppercase; color: var(--drp-muted) !important;
}
body .drp .drp-links .elementor-icon-list-item { padding-bottom: 12px !important; }
body .drp .drp-links .elementor-icon-list-text { color: var(--drp-fg) !important; }
body .drp .drp-disclaimer .elementor-icon-list-item {
  padding: 16px 20px !important; border: 1px solid rgba(245,184,61,.35); border-radius: 12px;
  background: rgba(245,184,61,.06); align-items: center;
}
body .drp .drp-disclaimer .elementor-icon-list-icon i { color: var(--drp-amber) !important; font-size: 16px; }
body .drp .drp-disclaimer .elementor-icon-list-icon svg { fill: var(--drp-amber) !important; width: 16px; }
body .drp .drp-disclaimer .elementor-icon-list-text { color: var(--drp-fg) !important; font-size: 15px !important; padding-left: 8px !important; }
.drp-footer-bottom { border-top: 1px solid var(--drp-line); }
body .drp .drp-copy .elementor-heading-title {
  font-family: var(--drp-mono) !important; font-size: 12px !important; font-weight: 400 !important; color: var(--drp-muted) !important; letter-spacing: .02em;
}

/* =========================================================
   WooCommerce product cards
   ========================================================= */
.woocommerce ul.products, .drp-products ul.products {
  display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0 !important; padding: 0 !important;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product {
  width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important;
  background: var(--drp-surface); border: 1px solid var(--drp-line); border-radius: var(--drp-radius);
  overflow: hidden; display: flex; flex-direction: column; text-align: left;
  transition: border-color .25s, transform .25s, box-shadow .25s;
}
.woocommerce ul.products li.product:hover {
  border-color: #3a4180; transform: translateY(-3px); box-shadow: 0 18px 50px -18px rgba(46,139,255,.35);
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: block; text-decoration: none; color: inherit; }
.woocommerce ul.products li.product a img {
  width: 100% !important; aspect-ratio: 4 / 3; object-fit: contain; padding: 36px; margin: 0 !important;
  background: var(--drp-tile); border-bottom: 1px solid var(--drp-line); border-radius: 0 !important; box-shadow: none !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--drp-head) !important; font-size: 20px !important; font-weight: 600; letter-spacing: -0.02em;
  color: var(--drp-fg) !important; padding: 24px 20px 0 !important; margin: 0 !important;
}
.woocommerce ul.products li.product .price { display: block; padding: 8px 20px 0; color: var(--drp-fg) !important; font-family: var(--drp-mono); font-size: 14px; }
.drp-chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 14px 20px 0; }
.drp-chip {
  font-family: var(--drp-mono); font-size: 12px; letter-spacing: .02em; line-height: 1.4;
  color: var(--drp-fg); background: var(--drp-raised); border: 1px solid var(--drp-line); border-radius: 6px; padding: 4px 8px;
}
.drp-chip.is-muted { color: var(--drp-muted); }
.drp-card-foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 22px 20px 22px; flex-wrap: wrap; }
.drp-ruo {
  font-family: var(--drp-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase;
  color: var(--drp-amber); display: inline-flex; align-items: center; gap: 6px;
}
.drp-ruo svg { width: 14px; height: 14px; }
.woocommerce ul.products li.product .drp-details,
.drp-details { color: var(--drp-blue) !important; font-family: var(--drp-body); font-size: 15px; font-weight: 500; text-decoration: none !important; }
.drp-details:hover { color: #6aaeff !important; }
.woocommerce ul.products li.product .button { display: none !important; }

/* ---------- Single product ---------- */
body.single-product, body.woocommerce-page { color: var(--drp-fg); }
body.single-product .product_title, body.woocommerce-page h1, body.woocommerce-page h2 {
  font-family: var(--drp-head) !important; color: var(--drp-fg) !important; letter-spacing: -0.02em;
}
body.single-product div.product div.images img, body.single-product .woocommerce-product-gallery img {
  background: var(--drp-tile); border: 1px solid var(--drp-line); border-radius: var(--drp-radius); padding: 40px;
}
body.single-product .woocommerce-product-details__short-description,
body.single-product .woocommerce-Tabs-panel, body.single-product .woocommerce-tabs p { color: var(--drp-muted) !important; }
.drp-single-specs { list-style: none; margin: 20px 0; padding: 0; border: 1px solid var(--drp-line); border-radius: 10px; background: var(--drp-surface); }
.drp-single-specs li { display: flex; justify-content: space-between; gap: 16px; padding: 12px 16px; border-bottom: 1px solid var(--drp-line); font-family: var(--drp-mono); font-size: 14px; color: var(--drp-fg); }
.drp-single-specs li:last-child { border-bottom: 0; }
.drp-single-specs span { color: var(--drp-muted); }
.drp-wa-btn {
  display: inline-flex; align-items: center; gap: 10px; height: 48px; padding: 0 22px; border-radius: 10px;
  background: var(--drp-grad); color: #fff !important; font-family: var(--drp-head); font-weight: 600; text-decoration: none !important;
}
.drp-wa-btn:hover { filter: brightness(1.12); }
.drp-ruo-note { font-size: 13px; color: var(--drp-amber); margin-top: 14px; font-family: var(--drp-mono); }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  .woocommerce ul.products, .drp-products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .drp-hero-visual { min-height: 400px; }
}
@media (max-width: 767px) {
  .woocommerce ul.products, .drp-products ul.products { grid-template-columns: 1fr; }
  .drp-hero-visual { min-height: 320px; }
  .drp-hero-img img { max-height: 280px; }
  body .drp .drp-nav { order: 3; width: 100%; }
  body .drp .drp-nav .elementor-icon-list-item { margin: 0 16px 0 0 !important; }
  body .drp .drp-nav .elementor-icon-list-text { font-size: 15px !important; }
  body .drp .drp-h1 .elementor-heading-title { font-size: 32px !important; }
  .drp .drp-card, .drp-card { padding: 26px !important; }
  .drp .drp-cta-box, .drp-cta-box { padding: 28px !important; }
  body .drp .drp-btn-wa, body .drp .drp-cta-box > .e-con { align-items: flex-start !important; }
}
