/* Novakeyshub : surcharges de la boutique de logiciels (chargé en dernier). */
:root {
  --tk-accent: #24508a;
  --dkh-orange: #f08a24;
  --dkh-blue: #24508a;
  --dkh-blue-dark: #1b3d6b;
  --dkh-sky: #eef3fa;
  --mbtb-accent: #24508a;
}

/* ---------- boutons ---------- */
.dkh-btn { display: inline-flex; align-items: center; justify-content: center; padding: 0.95rem 1.7rem; border-radius: 6px; border: 2px solid var(--dkh-blue); background: var(--dkh-blue); color: #fff; font: 600 0.9375rem/1 var(--tk-font); text-decoration: none; transition: background .2s, color .2s, border-color .2s; }
.dkh-btn:hover { background: var(--dkh-blue-dark); border-color: var(--dkh-blue-dark); color: #fff; }
.dkh-btn--ghost { background: transparent; color: var(--dkh-blue); }
.dkh-btn--ghost:hover { background: var(--dkh-blue); color: #fff; }
html body .tk-btn--dark { background: var(--dkh-blue); }
html body .tk-btn--dark:hover { background: var(--dkh-blue-dark); }
html body .tk-btn--line { color: var(--dkh-blue); border-color: var(--dkh-blue); }
html body .tk-btn--line:hover { background: var(--dkh-blue); color: #fff; }

/* ---------- en-tête ---------- */
html body .mbtb-hdr__ann { background: var(--dkh-blue); color: #fff; }
html body .mbtb-hdr__ann-item, html body .mbtb-hdr__ann-item a { color: #fff; }
html body .mbtb-hdr__count { background: var(--dkh-orange); color: #fff; }
html body .mbtb-hdr__logo img { max-height: 40px; width: auto; }

/* ---------- bandeau d'accueil ---------- */
.dkh-hero { background: linear-gradient(135deg, #f4f8fd 0%, #e4edf9 100%); overflow: hidden; }
.dkh-hero__in { max-width: 1240px; margin: 0 auto; padding: clamp(36px, 6vw, 84px) 20px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 64px); align-items: center; }
.dkh-hero__title { margin: 0 0 1rem; font: 700 clamp(2.1rem, 4.6vw, 3.6rem)/1.05 var(--tk-font); letter-spacing: -0.02em; color: #14213d; }
.dkh-hero__lead { margin: 0 0 1.8rem; max-width: 34em; font-size: clamp(1rem, 1.5vw, 1.15rem); line-height: 1.6; color: #3d4a63; }
.dkh-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; }
.dkh-hero__ticks { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 1.6rem 0 0; padding: 0; list-style: none; font-size: 0.875rem; color: #3d4a63; }
.dkh-hero__ticks li::before { content: "✓"; margin-right: 7px; color: var(--dkh-orange); font-weight: 700; }
.dkh-hero__art { position: relative; height: clamp(260px, 36vw, 440px); }
.dkh-hero__box { position: absolute; display: block; width: 44%; filter: drop-shadow(0 18px 24px rgba(20, 33, 61, 0.22)); transition: transform .35s ease; }
.dkh-hero__box img { display: block; width: 100%; height: auto; }
.dkh-hero__box--1 { left: 2%; top: 14%; z-index: 2; transform: rotate(-4deg); }
.dkh-hero__box--2 { left: 28%; top: 0; z-index: 3; width: 48%; }
.dkh-hero__box--3 { right: 0; top: 18%; z-index: 1; transform: rotate(5deg); }
.dkh-hero__art:hover .dkh-hero__box--1 { transform: rotate(-6deg) translateX(-6px); }
.dkh-hero__art:hover .dkh-hero__box--3 { transform: rotate(7deg) translateX(6px); }
@media (max-width: 860px) {
  .dkh-hero__in { grid-template-columns: 1fr; }
  .dkh-hero__art { height: 260px; order: -1; }
  .dkh-hero__box { width: 36%; }
  .dkh-hero__box--2 { width: 40%; left: 30%; }
}

/* ---------- cartes produit : jaquette sur fond blanc, texte dessous ---------- */
html body .tk-card,
html body .tk-row .tk-card,
html body .tk-row--rel .tk-card,
html body .tk-row--sel .tk-card { aspect-ratio: auto !important; display: flex; flex-direction: column; color: var(--tk-ink); background: #fff !important; border: 1px solid #e6eaf0; border-radius: 12px; }
html body .tk-card::after { display: none; }
html body .tk-card:hover { border-color: #c9d4e6; box-shadow: 0 10px 28px rgba(20, 33, 61, 0.09); }
html body .tk-card__img { position: relative; display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; padding: 14px; box-sizing: border-box; background: #fff; }
html body .tk-card__img img { width: 100%; height: 100%; object-fit: contain; }
html body .tk-card:hover .tk-card__img img { transform: scale(1.04); }
html body .tk-card__txt { position: static; display: flex; flex-direction: column; align-items: stretch; gap: 8px; padding: 4px 16px 18px; }
html body .tk-card__name { display: flex; flex-direction: column-reverse; gap: 6px; }
html body .tk-card__name b { font-size: 0.9375rem; font-weight: 600; line-height: 1.3; color: var(--tk-ink); }
html body .tk-card__name small { display: block; margin: 0; font-size: 0.6875rem; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: #6b768a; }
html body .tk-card__price { flex-direction: row; align-items: baseline; gap: 8px; font-size: 1rem; color: var(--dkh-blue); }
html body .tk-card__price b { font-size: 1.0625rem; font-weight: 700; color: var(--dkh-blue); }
html body .tk-card__price s { order: 2; font-size: 0.8125rem; color: #8a93a3; opacity: 1; }
html body .tk-card__tag { background: var(--dkh-orange); border-radius: 999px; }
html body .tk-card__tag--dark { background: var(--dkh-blue); }
html body .tk-card__tag--grey { background: #6b768a; }
html body .tk-card .tk-card__buy { display: inline-flex; align-self: flex-start; margin-top: 6px; padding: 0.55rem 1.1rem; border-radius: 6px; background: var(--dkh-blue); color: #fff; font-size: 0.8125rem; font-weight: 600; transition: background .2s; }
html body .tk-card .tk-card__buy:hover { background: var(--dkh-orange); }

/* grille de l'accueil */
.dkh-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; margin: 0; padding: 0; list-style: none; }
.dkh-grid li { margin: 0; }
html body .dkh-grid .tk-card { flex: none; width: 100%; min-width: 0; height: 100%; }
.dkh-more { margin: 2rem 0 0; text-align: center; }
@media (max-width: 1000px) { .dkh-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 720px) { .dkh-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } html body .tk-card__txt { padding: 2px 12px 14px; } }

/* ---------- trois étapes ---------- */
.dkh-steps .tk-h2 { max-width: 30em; margin-inline: auto; color: var(--dkh-blue); }
.dkh-steps__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 2.2rem 0 0; padding: 0; list-style: none; }
.dkh-step { text-align: center; padding: 28px 22px; background: #fff; border-radius: 14px; border: 1px solid #e6eaf0; }
.dkh-step__n { display: inline-grid; place-items: center; width: 52px; height: 52px; margin-bottom: 14px; border-radius: 50%; background: var(--dkh-blue); color: #fff; font: 700 1.35rem/1 var(--tk-font); }
.dkh-step__t { margin: 0 0 6px; font: 700 1.15rem/1.2 var(--tk-font); text-transform: uppercase; letter-spacing: 0.04em; color: #14213d; }
.dkh-step__d { margin: 0; color: #5b667a; line-height: 1.5; }
@media (max-width: 720px) { .dkh-steps__list { grid-template-columns: 1fr; } }

/* ---------- avantages ---------- */
.dkh-trust { padding: clamp(36px, 5vw, 64px) 20px; background: #fff; }
.dkh-trust__list { max-width: 1180px; margin: 0 auto; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.dkh-trust__item { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; color: #5b667a; font-size: 0.9rem; line-height: 1.5; }
.dkh-trust__item b { color: #14213d; font-size: 1rem; }
.dkh-trust__ico svg { width: 42px; height: 42px; color: var(--dkh-blue); }
@media (max-width: 900px) { .dkh-trust__list { grid-template-columns: repeat(2, 1fr); } }

/* ---------- pied de page ---------- */
.dkh-co { display: grid; gap: 4px; margin-top: 1rem; font-style: normal; font-size: 0.875rem; line-height: 1.5; }
.dkh-co a { color: inherit; }
.dkh-wa { position: fixed; right: 20px; bottom: 20px; z-index: 90; display: inline-flex; align-items: center; gap: 8px; padding: 0.75rem 1.1rem; border-radius: 999px; background: #25d366; color: #fff; font: 600 0.875rem/1 var(--tk-font); text-decoration: none; box-shadow: 0 8px 22px rgba(0, 0, 0, 0.22); }
.dkh-wa svg { width: 20px; height: 20px; }
.dkh-wa:hover { color: #fff; filter: brightness(0.95); }
@media (max-width: 600px) { .dkh-wa span { display: none; } .dkh-wa { padding: 0.85rem; bottom: 76px; } }

/* ---------- fiche produit : liste d'atouts (description courte) ---------- */
.dkh-features { display: grid; gap: 8px; margin: 0 0 1.2rem; padding: 0; list-style: none; font-size: 0.9375rem; line-height: 1.45; }
.dkh-features li { display: flex; gap: 10px; align-items: flex-start; }
.dkh-icon { flex: none; display: inline-grid; place-items: center; width: 20px; height: 20px; margin-top: 1px; border-radius: 50%; background: var(--dkh-sky); color: var(--dkh-blue); font-size: 0.75rem; font-weight: 700; }
.dkh-install { margin: 0; padding-left: 1.2rem; display: grid; gap: 8px; line-height: 1.5; }

/* ---------- pages d'information ---------- */
.pp-page__body { max-width: 780px; margin-inline: auto; line-height: 1.7; }
.pp-page__body h2 { margin: 2rem 0 0.6rem; font: 600 1.3rem/1.3 var(--tk-font); }
.pp-page__body ul { padding-left: 1.2rem; display: grid; gap: 6px; }
.dkh-faq { display: grid; gap: 10px; }
.dkh-faq details { border: 1px solid #e6eaf0; border-radius: 10px; background: #fff; }
.dkh-faq summary { cursor: pointer; padding: 1rem 1.2rem; font-weight: 600; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.dkh-faq summary::-webkit-details-marker { display: none; }
.dkh-faq summary::after { content: "+"; font-size: 1.3rem; line-height: 1; color: var(--dkh-blue); }
.dkh-faq details[open] summary::after { content: "–"; }
.dkh-faq details p { margin: 0; padding: 0 1.2rem 1.1rem; color: #4a5568; }
.dkh-contact { font-style: normal; padding: 1.2rem 1.4rem; border-radius: 10px; background: var(--dkh-sky); line-height: 1.8; }

/* ---------- accents bleus ---------- */
.dkh-hero__box img { mix-blend-mode: multiply; }
.dkh-hero__box { filter: none; }
html body .tk-arrow { background: var(--dkh-blue); color: #fff; border-color: var(--dkh-blue); }
html body .tk-arrow:hover { background: var(--dkh-orange); border-color: var(--dkh-orange); }
html body .tk-chip.is-on, html body .tk-chip:hover { background: var(--dkh-blue); border-color: var(--dkh-blue); color: #fff; }
html body .tk-tab.is-on { border-color: var(--dkh-blue); color: var(--dkh-blue); }

/* ---------- fiche produit : description courte (les deux formats importés) et tableau des caractéristiques ---------- */
html body .pp-short { display: block; -webkit-line-clamp: unset; overflow: visible; }
html body .pp-short > div:not(.dkh-features) { white-space: pre-line; border: 1px solid #d3e6f5; }
html body .mbtb-pdp__info .pp-attrs { display: grid !important; }

/* ---------- boutons d'achat en bleu ---------- */
html body .single_add_to_cart_button, html body .tk-sticky__btn, html body .mcd__btn, html body .tk-ft__btn:not(.tk-ft__btn--line), html body .tk-notif__cta, html body .pp-up__add { background: var(--dkh-blue) !important; border-color: var(--dkh-blue) !important; color: #fff !important; }
html body .single_add_to_cart_button:hover, html body .tk-sticky__btn:hover, html body .mcd__btn:hover, html body .tk-ft__btn:not(.tk-ft__btn--line):hover { background: var(--dkh-orange) !important; border-color: var(--dkh-orange) !important; }
html body .tk-ft__btn--line { color: var(--dkh-blue); border-color: var(--dkh-blue); }

/* ---------- fiche produit : pastilles de variantes (Besturingssysteem / Versiejaar) ---------- */
.dkh-var { margin: 0 0 1rem; }
.dkh-var__l { margin: 0 0 0.45rem; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: #6b768a; }
.dkh-var__row { display: flex; flex-wrap: wrap; gap: 8px; }
.dkh-var__opt { display: inline-flex; align-items: center; padding: 0.55rem 1rem; border: 1px solid #d3dae6; border-radius: 6px; background: #fff; color: #1a1a1a; font: 600 0.8125rem/1 var(--tk-font); text-decoration: none; transition: border-color .2s, background .2s, color .2s; }
a.dkh-var__opt:hover { border-color: var(--dkh-blue); color: var(--dkh-blue); }
.dkh-var__opt.is-on { background: var(--dkh-blue); border-color: var(--dkh-blue); color: #fff; }
.dkh-var__opt.is-off { opacity: 0.4; border-style: dashed; cursor: not-allowed; }
html body .mbtb-pdp__info > .dkh-var { order: 3; margin: 0.2rem 0 0.9rem; }
html body.single-product .mbtb-hdr__ann { display: none !important; }

/* ---------- fiche produit : conseil « dernière version pour quelques euros de plus » ---------- */
.dkh-upg { display: grid; gap: 2px; margin: 0.9rem 0 0; padding: 0.8rem 1rem; border: 1px solid #f7d4ad; border-left: 4px solid var(--dkh-orange); border-radius: 8px; background: #fff7ee; color: #14213d; text-decoration: none; }
.dkh-upg__t { font-size: 0.9375rem; font-weight: 600; }
.dkh-upg__t b { color: var(--dkh-orange); }
.dkh-upg__d { font-size: 0.8125rem; color: #5b667a; }
.dkh-upg:hover { background: #fff0e0; }
html body .mbtb-pdp__info > .dkh-upg { order: 4; }

/* ---------- fiche produit : ordre des blocs (titre, prix, variantes, achat, atouts) ---------- */
html body .mbtb-pdp__info > .mbtb-pdp__price { order: 2; margin: 0.35rem 0 0.9rem; }
html body .mbtb-pdp__info .mbtb-pdp__price .mbtb-price, html body .mbtb-pdp__info .mbtb-pdp__price [data-price-now] { font-size: 2.25rem; font-weight: 700; line-height: 1.1; color: var(--dkh-blue); }
html body .mbtb-pdp__info > .dkh-var { order: 3; }
html body .mbtb-pdp__info > .dkh-upg { order: 4; margin: 0 0 1rem; }
html body .mbtb-pdp__info > .mbtb-pdp__form { order: 6; }
html body .mbtb-pdp__info > .pp-short { order: 20; margin: 1.2rem 0 0; padding: 1.1rem 1.25rem; border: 1px solid rgba(36, 80, 138, 0.14); border-radius: 14px; background: linear-gradient(135deg, rgba(36, 80, 138, 0.12) 0%, rgba(36, 80, 138, 0.04) 60%, rgba(36, 80, 138, 0.01) 100%); }
html body .pp-short .dkh-features { margin: 0; }
html body .pp-short .dkh-icon { background: rgba(36, 80, 138, 0.14); }

/* ---------- mobile : pas d'espace entre le titre et le prix ---------- */
@media (max-width: 999px) {
  html body .mbtb-pdp__info > .mbtb-pdp__title { margin: 0 !important; padding: 8px 0 0 !important; }
  html body .mbtb-pdp__info > .mbtb-pdp__price { margin-top: 0 !important; padding-top: 10px !important; padding-bottom: 8px !important; background: transparent !important; margin-inline: 0 !important; padding-inline: 0 !important; }
}

/* ---------- mobile : titre de la fiche plus grand, pas de barre de recherche dans l'en-tête ---------- */
@media (max-width: 999px) {
  html body .mbtb-pdp__info > .mbtb-pdp__title { font-size: 26px !important; line-height: 1.2 !important; font-weight: 600 !important; }
  html body .mbtb-hdr .mbtb-hdr__tool--search { display: none !important; }
}

/* ---------- encadré « dernière version » : un curseur de souris apparaît et clique dessus ---------- */
.dkh-upg { position: relative; overflow: hidden; cursor: pointer; animation: dkh-upg-press 5s ease-in-out infinite; transition: box-shadow .2s ease, background .2s; }
.dkh-upg__arr { display: inline-block; font-weight: 700; color: var(--dkh-orange); animation: dkh-upg-arrow 1.2s ease-in-out infinite; }
.dkh-upg__mouse { position: absolute; left: 78%; top: 46%; z-index: 3; width: 26px; height: 26px; opacity: 0; filter: drop-shadow(0 3px 4px rgba(20, 33, 61, 0.35)); pointer-events: none; animation: dkh-upg-mouse 5s ease-in-out infinite; }
.dkh-upg__ripple { position: absolute; left: 78%; top: 46%; z-index: 2; width: 46px; height: 46px; margin: -23px 0 0 -23px; border-radius: 50%; background: rgba(240, 138, 36, 0.45); opacity: 0; transform: scale(0); pointer-events: none; animation: dkh-upg-ripple 5s ease-out infinite; }
.dkh-upg:hover { box-shadow: 0 10px 24px rgba(240, 138, 36, 0.28); }
.dkh-upg:hover .dkh-upg__arr { animation-duration: 0.6s; }
.dkh-upg:active { transform: scale(0.98); }
@keyframes dkh-upg-mouse {
  0%, 8% { opacity: 0; transform: translate(70px, 46px) scale(1); }
  14% { opacity: 1; transform: translate(70px, 46px) scale(1); }
  38% { opacity: 1; transform: translate(0, 0) scale(1); }
  42% { opacity: 1; transform: translate(0, 0) scale(0.78); }
  47% { opacity: 1; transform: translate(0, 0) scale(1); }
  66% { opacity: 1; transform: translate(0, 0) scale(1); }
  76%, 100% { opacity: 0; transform: translate(14px, 10px) scale(1); }
}
@keyframes dkh-upg-ripple {
  0%, 41% { opacity: 0; transform: scale(0); }
  43% { opacity: 1; transform: scale(0.2); }
  60%, 100% { opacity: 0; transform: scale(1.6); }
}
@keyframes dkh-upg-press {
  0%, 40%, 48%, 100% { transform: scale(1); background: #fff7ee; }
  43% { transform: scale(0.985); background: #ffe9d0; }
}
@keyframes dkh-upg-arrow { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(5px); } }
@media (prefers-reduced-motion: reduce) { .dkh-upg, .dkh-upg__mouse, .dkh-upg__ripple, .dkh-upg__arr { animation: none; } .dkh-upg__mouse, .dkh-upg__ripple { display: none; } }

/* ---------- barre d'achat fixe (comme sur prokeyshub) : miniature, nom, étoiles, prix et bouton ---------- */
html body .tk-sticky:not([hidden]) { position: fixed; left: 0; right: 0; bottom: 0; z-index: 800; display: flex !important; align-items: center; gap: 14px; padding: 10px max(14px, calc((100% - 1180px) / 2)) calc(10px + env(safe-area-inset-bottom, 0px)); background: #fff; border-top: 1px solid #e6eaf0; box-shadow: 0 -6px 22px rgba(20, 33, 61, 0.12); }
html body .tk-sticky__img { flex: none; width: 48px; height: 48px; object-fit: contain; }
html body .tk-sticky__info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
html body .tk-sticky__name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 600 15px/1.3 var(--tk-font); color: #1a1a1a; }
html body .tk-sticky__price { flex: none; display: block; min-height: 0; height: auto; padding: 0; border: 0; background: none; box-shadow: none; font: 700 20px/1 var(--tk-font); color: #000; text-align: right; }
html body .tk-sticky__btn { flex: none; width: auto; min-height: 44px; height: 44px; padding: 0 24px; border-radius: 6px; font: 600 15px/44px var(--tk-font); white-space: nowrap; }
html body .tk-sticky__btn:active { transform: scale(0.97); }
html body.tk-has-sticky { padding-bottom: 76px; }
@media (max-width: 600px) {
  html body .tk-sticky:not([hidden]) { gap: 10px; padding-inline: 12px; }
  html body .tk-sticky__img { width: 40px; height: 40px; }
  html body .tk-sticky__name { font-size: 13px; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
  html body .tk-sticky__info .pp-stars { display: none; }
  html body .tk-sticky__price { font-size: 17px; }
  html body .tk-sticky__btn { padding: 0 14px; font-size: 14px; }
}
}

/* description : le texte occupe toute la largeur (plus de carte de livraison à côté) */
html body .v2-desc { display: block; }
html body .v2-desc__text { max-width: none; }

/* ---------- fiche produit : 6 blocs de réassurance (icône, titre, description) ---------- */
html body .v2-pillars--six { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; max-width: 1010px; margin: 0 auto 64px; padding: 0 16px; border: 0; }
html body .v2-pillars--six .v2-pillar { min-height: 0; padding: 22px 18px; gap: 6px; border: 1px solid rgba(120, 128, 140, 0.16); border-radius: 14px; background: rgba(120, 128, 140, 0.09); justify-content: flex-start; }
html body .v2-pillars--six .v2-pillar__ico { width: 52px; height: 52px; margin-bottom: 4px; width: auto; height: auto; border-radius: 0; background: none; color: var(--dkh-blue) !important; }
html body .v2-pillars--six .v2-pillar__ico svg { width: 36px; height: 36px; color: var(--dkh-blue) !important; stroke-width: 1.2; }
html body .v2-pillars--six .v2-pillar__t { margin: 0; font: 700 15px/1.3 var(--tk-font); color: #14213d; }
html body .v2-pillars--six .v2-pillar__d { font: 400 13px/1.5 var(--tk-font); color: #5b667a; }
@media (max-width: 999px) {
  html body .v2-pillars--six { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 16px 32px; padding: 0; }
  html body .v2-pillars--six .v2-pillar { padding: 16px 12px; }
  html body .v2-pillars--six .v2-pillar__ico { width: auto; height: auto; }
  html body .v2-pillars--six .v2-pillar__ico svg { width: 30px; height: 30px; }
  html body .v2-pillars--six .v2-pillar__t { font-size: 14px; }
  html body .v2-pillars--six .v2-pillar__d { font-size: 12.5px; }
}

/* ---------- avis : titre simple, bouton noir carré en majuscules, formulaire épuré (style omegakeys) ---------- */
html body .pp-av__title { font: 400 clamp(1.9rem, 4vw, 2.5rem)/1.1 var(--tk-font); letter-spacing: 0; color: #161619; }
html body .pp-av__head { align-items: center; padding-bottom: 18px; border-bottom: 1px solid #e6e6e6; }
html body .pp-av__write, html body .pp-avf__send { min-height: 46px; padding: 0 40px; border: 0; border-radius: 0; background: #161619; color: #fff; font: 500 14px/1 var(--tk-font); letter-spacing: 0.04em; text-transform: uppercase; }
html body .pp-av__write:hover, html body .pp-avf__send:hover { background: var(--dkh-blue); }
html body .pp-av__empty { padding: 28px 0; color: #161619; }
html body .pp-av__empty p { margin: 0 0 4px; }
html body .pp-avf__h { font: 400 1.5rem/1.3 var(--tk-font); color: #161619; }
html body .pp-avf label, html body .pp-avf legend { font: 400 1rem/1.4 var(--tk-font); color: #161619; }
html body .pp-avf input[type="text"], html body .pp-avf input[type="email"], html body .pp-avf textarea { border: 1px solid #cfcfcf; border-radius: 0; background: #fff; }
html body .pp-avf input:focus, html body .pp-avf textarea:focus { border-color: #161619; }
html body .pp-avf__cancel { color: #161619; }

/* ---------- fiche produit : moyens de paiement sous le bouton d'achat ---------- */
.dkh-pay { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.dkh-pay li { display: grid; place-items: center; width: 62px; height: 40px; border: 1px solid #e3e7ee; border-radius: 6px; background: #fff; }
.dkh-pay svg { width: 56px; height: 34px; }
html body .mbtb-pdp__info > .dkh-pay { order: 10; }
@media (max-width: 999px) { html body .mbtb-pdp__info > .dkh-pay { margin-top: 12px; } .dkh-pay li { width: 56px; height: 36px; } .dkh-pay svg { width: 50px; height: 30px; } }
.dkh-pay img { display: block; }
.dkh-pay img { width: auto; height: 22px; max-width: 100%; }
.dkh-pay img[alt="Google Pay"] { height: 20px; }

/* ---------- mobile : sélecteur de quantité + bouton d'achat sans bandeau gris pleine largeur ---------- */
@media (max-width: 999px) {
  html body .mbtb-pdp__info .mbtb-pdp__buy { background: transparent !important; margin-inline: 0 !important; padding: 0 !important; gap: 10px; align-items: stretch; }
  html body .mbtb-pdp__info .pp-qty { height: 52px; min-height: 52px; border: 1px solid #e3e7ee; border-radius: 8px; background: #f5f6f8; }
  html body .mbtb-pdp__info .single_add_to_cart_button { height: 52px; min-height: 52px; border-radius: 8px; }
}
.dkh-pay { justify-content: center; }
.dkh-pay img { height: 26px; }
.dkh-pay img[alt="Google Pay"] { height: 24px; }

/* ---------- moyens de paiement : icônes plus grandes, réunies dans un même bloc ---------- */
html body .mbtb-pdp__info > .dkh-pay { gap: 6px 14px; margin: 16px 0 0; padding: 14px 16px; border: 1px solid #e3e7ee; border-radius: 12px; background: #fff; justify-content: center; align-items: center; }
html body .dkh-pay li { width: 72px; height: 46px; border: 0; border-radius: 0; background: none; }
html body .dkh-pay svg { width: 68px; height: 42px; }
html body .dkh-pay img { height: 32px; }
html body .dkh-pay img[alt="Google Pay"] { height: 30px; }
@media (max-width: 999px) {
  html body .mbtb-pdp__info > .dkh-pay { gap: 4px 6px; padding: 12px 8px; }
  html body .dkh-pay li { width: 60px; height: 42px; }
  html body .dkh-pay svg { width: 58px; height: 38px; }
  html body .dkh-pay img { height: 28px; }
  html body .dkh-pay img[alt="Google Pay"] { height: 26px; }
}

/* ---------- fiche produit : plus d'air autour de l'encadré « dernière version » ---------- */
html body .mbtb-pdp__info > .dkh-var:last-of-type { margin-bottom: 1.4rem; }
html body .mbtb-pdp__info > .dkh-upg { margin: 1.5rem 0 1.3rem; }

/* ---------- mobile : sélecteur de quantité de la même taille que le bouton d'achat ---------- */
@media (max-width: 999px) {
  html body .mbtb-pdp__info .mbtb-pdp__buy { align-items: stretch; }
  html body .mbtb-pdp__info .pp-qty, html body .mbtb-pdp__info .single_add_to_cart_button { height: 56px !important; min-height: 56px !important; box-sizing: border-box; }
  html body .mbtb-pdp__info .pp-qty { display: flex; align-items: center; justify-content: space-between; width: auto; min-width: 124px; }
}

/* ---------- moyens de paiement : une carte bordurée par icône, jamais écrasée, dans un bloc commun ---------- */
html body .dkh-pay li { flex: 0 0 auto; display: grid; place-items: center; width: 72px; height: 46px; border: 1px solid #e3e7ee; border-radius: 8px; background: #fff; overflow: hidden; }
html body .dkh-pay svg { display: block; width: 62px; height: auto; max-height: 38px; }
html body .dkh-pay img { display: block; width: auto; max-width: 56px; height: 28px; }
html body .dkh-pay img[alt="Google Pay"] { height: 26px; }
@media (max-width: 999px) {
  html body .mbtb-pdp__info > .dkh-pay { flex-wrap: wrap; gap: 8px 6px; padding: 12px 8px; }
  html body .dkh-pay li { width: 56px; height: 40px; }
  html body .dkh-pay svg { width: 50px; max-height: 32px; }
  html body .dkh-pay img { max-width: 46px; height: 22px; }
  html body .dkh-pay img[alt="Google Pay"] { height: 20px; }
}

/* ---------- moyens de paiement : icônes espacées, avec de l'air à l'intérieur de chaque carte ---------- */
html body .mbtb-pdp__info > .dkh-pay { justify-content: space-between; gap: 8px; padding: 14px 12px; }
html body .dkh-pay li { padding: 0 8px; box-sizing: border-box; }
html body .dkh-pay img { max-width: 100%; height: 20px; }
html body .dkh-pay img[alt="Google Pay"] { height: 18px; }
html body .dkh-pay svg { width: 100%; max-width: 100%; }
@media (min-width: 1000px) { html body .mbtb-pdp__info > .dkh-pay { justify-content: space-around; } html body .dkh-pay li { width: 76px; height: 48px; } html body .dkh-pay img { height: 24px; } html body .dkh-pay img[alt="Google Pay"] { height: 22px; } }
@media (max-width: 999px) { html body .dkh-pay li { width: 58px; height: 42px; padding: 0 7px; } html body .dkh-pay svg { width: 100%; max-height: 28px; } }

/* ---------- fiche produit : phrase d'assistance sous les moyens de paiement ---------- */
html body .mbtb-pdp__info > .dkh-assist { order: 11; display: flex; align-items: center; justify-content: center; gap: 10px; margin: 12px 0 0; padding: 11px 14px; border-radius: 10px; background: rgba(36, 80, 138, 0.07); color: #14213d; font: 400 13.5px/1.4 var(--tk-font); text-align: left; }
.dkh-assist svg { flex: none; width: 24px; height: 24px; color: var(--dkh-blue); }
.dkh-assist b { font-weight: 700; color: var(--dkh-blue); }

/* ---------- mobile : plus de ligne de séparation au-dessus des 6 blocs ---------- */
@media (max-width: 999px) { html body .mbtb-pdp__info { border-bottom: 0 !important; } }
html body .dkh-pay img[alt="Apple Pay"] { height: auto; width: 100%; max-width: 100%; max-height: 24px; }

/* phrase d'assistance : texte tout en noir, sans fond (seule l'icône reste bleue) */
html body .mbtb-pdp__info > .dkh-assist { background: none; padding: 8px 0 0; color: #000; }
html body .dkh-assist b { color: #000; }
html body .dkh-pay img[alt="Apple Pay"] { width: 34px; height: auto; max-height: none; }
html body .dkh-pay img[alt="Google Pay"] { height: auto; width: 38px; }
@media (min-width: 1000px) { html body .dkh-pay img[alt="Apple Pay"] { width: 44px; } html body .dkh-pay img[alt="Google Pay"] { width: 48px; } }
/* Apple Pay / Google Pay : plus petits, dimensions fixes à la bonne proportion (aucune déformation possible) */
html body .dkh-pay img[alt="Apple Pay"] { width: 28px !important; height: 13px !important; max-width: none; object-fit: contain; }
html body .dkh-pay img[alt="Google Pay"] { width: 32px !important; height: 14.5px !important; max-width: none; object-fit: contain; }
@media (min-width: 1000px) { html body .dkh-pay img[alt="Apple Pay"] { width: 36px !important; height: 16.2px !important; } html body .dkh-pay img[alt="Google Pay"] { width: 42px !important; height: 19px !important; } }

/* ---------- avis : un simple « Beoordelingen (N) » qui déplie la liste des avis et le formulaire ---------- */
html body .pp-av__acc { border-top: 1px solid #e6e6e6; border-bottom: 1px solid #e6e6e6; }
html body .pp-av__sum { display: flex; align-items: center; gap: 8px; padding: 18px 4px; cursor: pointer; list-style: none; font: 500 15px/1.2 var(--tk-font); letter-spacing: 0.04em; text-transform: uppercase; color: #161619; }
html body .pp-av__sum::-webkit-details-marker { display: none; }
html body .pp-av__sumn { font-weight: 500; }
html body .pp-av__sum i { margin-left: auto; width: 9px; height: 9px; border-right: 1.5px solid #161619; border-bottom: 1.5px solid #161619; transform: rotate(45deg); transition: transform .2s; }
html body .pp-av__acc[open] > .pp-av__sum i { transform: rotate(-135deg); }
html body .pp-av__acc > .pp-av__form { margin: 4px 0 24px; }
html body .pp-av__acc > .pp-av__top, html body .pp-av__acc > .pp-av__empty { margin-bottom: 20px; }

/* ---------- pied de page tout en noir ---------- */
html body .tk-ft { background: #000; color: #fff; }
html body .tk-ft__top { background: #000; }
html body .tk-ft a, html body .tk-ft__col a { color: rgba(255, 255, 255, 0.85); }
html body .tk-ft a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
html body .tk-ft__tag, html body .dkh-co { color: rgba(255, 255, 255, 0.75); }
html body .dkh-co b { color: #fff; }
html body .tk-ft__col summary, html body .tk-ft__col summary span { color: #fff; }
html body .tk-ft__col { border-color: rgba(255, 255, 255, 0.16); }
html body .tk-ft__col summary i::before, html body .tk-ft__col summary i::after { background: #fff; border-color: #fff; }
html body .tk-ft__legalbar { background: #000; border-top: 1px solid rgba(255, 255, 255, 0.16); }
html body .tk-ft__bottom { border-top: 1px solid rgba(255, 255, 255, 0.16); }

/* ---------- section « Unsere Partner » (logos sans lien) ---------- */
.dkh-partners { padding: clamp(40px, 6vw, 72px) 16px; background: linear-gradient(180deg, #fff 0%, #f3f6fb 100%); text-align: center; }
.dkh-partners__in { max-width: 1100px; margin: 0 auto; }
.dkh-partners__k { margin: 0 0 8px; font: 600 0.75rem/1 var(--tk-font); letter-spacing: 0.14em; text-transform: uppercase; color: var(--dkh-orange); }
.dkh-partners__t { margin: 0 0 clamp(22px, 3vw, 34px); font: 700 clamp(1.5rem, 3vw, 2rem)/1.15 var(--tk-font); color: #14213d; }
.dkh-partners__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.dkh-partners__item { display: grid; place-items: center; height: 110px; padding: 16px 20px; border: 1px solid #e3e9f2; border-radius: 16px; background: #fff; box-shadow: 0 6px 18px rgba(20, 33, 61, 0.05); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.dkh-partners__item:hover { transform: translateY(-4px); border-color: #c9d6ea; box-shadow: 0 14px 30px rgba(36, 80, 138, 0.14); }
.dkh-partners__item img { display: block; max-width: 100%; max-height: 74px; width: auto; height: auto; object-fit: contain; }
@media (max-width: 800px) { .dkh-partners__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .dkh-partners__item { height: 96px; padding: 12px 14px; } .dkh-partners__item img { max-height: 62px; } }

/* partenaires : sans fond, collés à la section avis (juste un petit espace) */
html body .dkh-partners { background: none; padding: 20px 16px 40px; }
html body .pp-av { margin-bottom: 0; padding-bottom: 0; }
html body main { padding-bottom: 0; margin-bottom: 0; }

/* avis : accordéon dans la liste (sous « Installation »), sans fond gris ni marges de section */
html body .v2-info__acc .pp-av { background: none; padding: 0; margin: 0; }
html body .v2-info__acc .pp-av__in { max-width: none; }
html body .v2-info__acc .pp-av__acc { border: 0; border-bottom: inherit; }
html body .v2-info__acc .pp-av__acc > .v2-acc__body > .pp-av__form { margin: 0 0 20px; }

/* pied de page : moins d'espace en haut */
html body .tk-ft__top { padding-top: 0; }
html body .tk-ft__main { padding-top: 32px; padding-bottom: 32px; }
html body .dkh-partners { padding-bottom: 24px; }
@media (max-width: 749px) { html body .tk-ft__main { padding: 24px 0; } }

/* ---------- pied de page : plus d'air, newsletter à droite, paiements + partenaires en bas ---------- */
html body .dkh-partners { padding-bottom: 64px; }
html body .tk-ft__main { padding-top: 64px; padding-bottom: 36px; }
@media (min-width: 1000px) { html body .tk-ft__main { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) minmax(0, 1.1fr); gap: 40px; } }
@media (max-width: 999px) { html body .tk-ft__main { grid-template-columns: 1fr; padding-top: 40px; } }

.dkh-news { color: rgba(255, 255, 255, 0.85); }
.dkh-news__t { margin: 0 0 8px; font: 600 1.0625rem/1.3 var(--tk-font); color: #fff; }
.dkh-news__p { margin: 0 0 14px; font-size: 0.9375rem; line-height: 1.5; }
.dkh-news__form { display: flex; gap: 8px; }
.dkh-news__form input[type="email"] { flex: 1; min-width: 0; height: 46px; padding: 0 14px; border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 8px; background: rgba(255, 255, 255, 0.08); color: #fff; font: 400 0.9375rem var(--tk-font); outline: none; }
.dkh-news__form input[type="email"]::placeholder { color: rgba(255, 255, 255, 0.55); }
.dkh-news__form input[type="email"]:focus { border-color: #fff; background: rgba(255, 255, 255, 0.14); }
.dkh-news__form button { flex: none; height: 46px; padding: 0 20px; border: 0; border-radius: 8px; background: var(--dkh-orange); color: #fff; font: 600 0.9375rem var(--tk-font); cursor: pointer; transition: filter .2s; }
.dkh-news__form button:hover { filter: brightness(1.08); }
.dkh-news__hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.dkh-news__msg { min-height: 1.3em; margin: 8px 0 0; font-size: 0.8125rem; }
.dkh-news__msg.is-ok { color: #7ee2a1; }
.dkh-news__msg.is-err { color: #ff9a8f; }
.dkh-news__legal { margin: 2px 0 0; font-size: 0.75rem; color: rgba(255, 255, 255, 0.55); }

.dkh-ftlogos { padding: 28px 16px; border-top: 1px solid rgba(255, 255, 255, 0.16); background: #000; }
html body .dkh-ftlogos .dkh-pay { max-width: 1216px; margin: 0 auto; padding: 0; border: 0; background: none; justify-content: center; flex-wrap: wrap; gap: 12px; }
html body .dkh-ftlogos .dkh-pay li { background: #fff; border: 0; }
html body .dkh-ftlogos .dkh-pay .dkh-pay__partner img { width: auto !important; height: auto !important; max-width: 100%; max-height: 30px; object-fit: contain; }
@media (max-width: 749px) { .dkh-news__form { flex-direction: column; } .dkh-news__form button { width: 100%; } .dkh-ftlogos { padding: 22px 12px; } html body .dkh-ftlogos .dkh-pay { gap: 8px; } html body .dkh-ftlogos .dkh-pay li { width: 56px; height: 40px; } html body .dkh-ftlogos .dkh-pay .dkh-pay__partner img { max-height: 24px; } }

/* newsletter : carte à droite, champ et bouton empilés pour une lecture plus aérée */
html body .dkh-news { align-self: start; padding: 26px 24px; border: 1px solid rgba(255, 255, 255, 0.16); border-radius: 16px; background: rgba(255, 255, 255, 0.06); }
html body .dkh-news__t { margin: 0 0 6px; font: 700 1.25rem/1.25 var(--tk-font); }
html body .dkh-news__p { margin: 0 0 18px; color: rgba(255, 255, 255, 0.75); }
html body .dkh-news__form { flex-direction: column; gap: 10px; }
html body .dkh-news__form input[type="email"] { flex: none; width: 100%; box-sizing: border-box; height: 50px; padding: 0 16px; }
html body .dkh-news__form button { width: 100%; height: 50px; }
html body .dkh-news__msg { margin-top: 10px; min-height: 0; }
html body .dkh-news__msg:empty { display: none; }
html body .dkh-news__legal { margin-top: 12px; }

/* section des marques : même espace au-dessus (bannière) et en dessous (section suivante) */
html body .dkh-brands { padding: clamp(36px, 5vw, 60px) 0; }
html body .dkh-brands ~ .dkh-products { padding-top: 0; }

/* description du produit : le texte occupe toute la largeur du bloc (plus de colonnes à 608 px sur ordinateur) */
@media (min-width: 1000px) {
  html body .v2-desc { display: block !important; grid-template-columns: none !important; width: 100%; max-width: none; padding: 8px 0 0 !important; }
  html body .v2-desc__text, html body .v2-desc__text .pp-more__body { width: 100%; max-width: none !important; margin: 0 !important; }
  html body .v2-acc--desc .v2-acc__body { padding-right: 0; }
}
/* mobile : la description garde ses marges gauche et droite */
@media (max-width: 999px) {
  html body .v2-acc--desc .v2-acc__body { padding: 0 16px 16px !important; }
  html body .v2-desc { display: block; padding: 0 !important; }
  html body .v2-desc__text, html body .v2-desc__text .pp-more__body { margin: 0 !important; width: auto; max-width: none; }
}

/* « Dit vind je misschien ook leuk » : même largeur que le bloc d'accordéons au-dessus (cartes plus grandes) */
@media (min-width: 1000px) { html body .tk-sec--rel .tk-wrap--rel { max-width: 1280px; padding-inline: 16px; } }

/* produits liés : dégradé de fermeture à droite quand il reste des produits à faire défiler */
html body .tk-wrap--rel { position: relative; }
html body .tk-wrap--rel::after { content: ""; position: absolute; right: 16px; bottom: 0; top: 56px; width: 110px; background: linear-gradient(270deg, #fff 8%, rgba(255, 255, 255, 0)); pointer-events: none; transition: opacity .25s; z-index: 2; }
html body .tk-wrap--rel.is-end::after { opacity: 0; }
@media (max-width: 999px) { html body .tk-wrap--rel::after { right: 0; width: 56px; top: 64px; } }

/* barre du bas du pied de page : copyright à gauche, moyens de paiement (petits) à côté */
html body .dkh-ftbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; padding-bottom: 22px; }
html body .dkh-ftbar .tk-ft__copy { margin: 0; max-width: none; }
html body .dkh-ftbar .dkh-pay { margin: 0; padding: 0; border: 0; background: none; gap: 6px; flex-wrap: nowrap; justify-content: flex-end; }
html body .dkh-ftbar .dkh-pay li { width: 44px; height: 28px; padding: 0 5px; border: 0; border-radius: 5px; background: #fff; overflow: hidden; }
html body .dkh-ftbar .dkh-pay svg { width: 100%; max-height: 20px; }
html body .dkh-ftbar .dkh-pay img { width: auto !important; height: 12px !important; max-width: 100%; }
html body .dkh-ftbar .dkh-pay img[alt="Google Pay"] { height: 11px !important; }
@media (max-width: 749px) { html body .dkh-ftbar { flex-direction: column; align-items: flex-start; } }

/* coordonnées de la société sous le logo du pied de page */
html body .tk-ft__brand .dkh-co { display: block; margin: 16px 0 0; font-style: normal; font-size: 0.8125rem; line-height: 1.55; color: rgba(255, 255, 255, 0.78); max-width: 34ch; }
html body .dkh-co__q { margin: 0 0 10px; color: #fff; font-weight: 500; }
html body .dkh-co__list { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; }
html body .dkh-co__list b { color: #fff; font-weight: 600; }
html body .dkh-co__todo { color: rgba(255, 255, 255, 0.5); font-style: italic; }
html body .tk-ft__brand .tk-ft__tag { margin-top: 14px; }

/* coordonnées de la société : même taille de texte que la colonne « Informationen » */
html body .tk-ft__brand .dkh-co { font-size: 0.9375rem; line-height: 1.6; max-width: 38ch; }
html body .dkh-co__q { font-size: 0.9375rem; }

/* réseaux sociaux : tout en bas du pied de page */
.dkh-social { display: flex; justify-content: center; gap: 14px; padding: 4px 16px 28px; background: #000; }
.dkh-social__i { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid rgba(255, 255, 255, 0.28); border-radius: 50%; color: #fff; transition: background .2s, color .2s, border-color .2s, transform .2s; }
.dkh-social__i svg { width: 18px; height: 18px; display: block; }
a.dkh-social__i:hover { background: #fff; color: #000; border-color: #fff; transform: translateY(-2px); }

/* réseaux sociaux : sous la newsletter, alignés à gauche */
html body .dkh-news .dkh-social { justify-content: flex-start; gap: 12px; margin: 18px 0 0; padding: 16px 0 0; background: none; border-top: 1px solid rgba(255, 255, 255, 0.14); }

/* sélecteur de langue (EN / DE / NL) sous la newsletter */
.dkh-lang { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; }
.dkh-lang__i { display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 14px 0 8px; border: 1px solid rgba(255, 255, 255, 0.28); border-radius: 999px; color: rgba(255, 255, 255, 0.85); font: 600 0.8125rem/1 var(--tk-font); letter-spacing: 0.06em; text-decoration: none; transition: background .2s, color .2s, border-color .2s; }
.dkh-lang__i svg { display: block; width: 22px; height: 22px; flex: none; }
.dkh-lang__i.is-on { background: #fff; border-color: #fff; color: #000; }
a.dkh-lang__i:hover { border-color: #fff; color: #fff; background: rgba(255, 255, 255, 0.12); }
html body .dkh-news .dkh-lang + .dkh-social { margin-top: 18px; }

/* langues : sous les informations de la société ; réseaux sociaux : juste sous la carte newsletter, hors de la carte */
html body .tk-ft__brand .dkh-lang { margin: 18px 0 0; }
html body .dkh-right { align-self: start; display: grid; gap: 16px; }
html body .dkh-right > .dkh-social { justify-content: flex-start; gap: 12px; margin: 0; padding: 0; background: none; border: 0; }
html body .dkh-right > .dkh-news { align-self: auto; }

/* langue et région : plus d'espace au-dessus, libellé avant les pastilles */
html body .tk-ft__brand .dkh-lang__l { margin: 34px 0 10px; font: 600 0.75rem/1 var(--tk-font); letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255, 255, 255, 0.6); }
html body .tk-ft__brand .dkh-lang { margin: 0; }

/* ---------- en-tête : sélecteur de langue à côté du compte ---------- */
.dkh-hl { display: inline-flex; align-items: center; gap: 4px; margin-right: 6px; }
.dkh-hl__i { display: inline-flex; align-items: center; gap: 5px; height: 30px; padding: 0 8px 0 4px; border-radius: 999px; border: 1px solid transparent; color: inherit; font: 600 0.6875rem/1 var(--tk-font); letter-spacing: 0.05em; text-decoration: none; transition: background .2s, border-color .2s; }
.dkh-hl__i svg { display: block; width: 20px; height: 20px; flex: none; }
.dkh-hl__i.is-on { border-color: currentColor; }
a.dkh-hl__i:hover { background: rgba(0, 0, 0, 0.06); }
@media (max-width: 999px) { .dkh-hl__i span { display: none; } .dkh-hl__i { padding: 0 3px; } .dkh-hl { margin-right: 2px; gap: 0; } }

/* ---------- page Kontakt ---------- */
.dkh-ct { max-width: 1080px; margin: 0 auto; }
.dkh-ct__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0 0 28px; }
.dkh-ct__card { display: grid; gap: 4px; justify-items: start; padding: 20px; border: 1px solid rgba(36, 80, 138, 0.14); border-radius: 14px; background: linear-gradient(135deg, rgba(36, 80, 138, 0.1), rgba(36, 80, 138, 0.04)); font-size: 0.9375rem; line-height: 1.45; color: #5b667a; }
.dkh-ct__card b { color: #14213d; font-size: 1rem; }
.dkh-ct__card a { color: var(--dkh-blue); font-weight: 600; word-break: break-word; }
.dkh-ct__ico { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 6px; border-radius: 50%; background: var(--dkh-blue); color: #fff; }
.dkh-ct__ico svg { width: 20px; height: 20px; }
.dkh-ct__grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.dkh-ct__form, .dkh-ct__side { padding: clamp(20px, 3vw, 32px); border: 1px solid #e6eaf0; border-radius: 16px; background: #fff; box-shadow: 0 8px 26px rgba(20, 33, 61, 0.05); }
.dkh-ct h2 { margin: 0 0 6px; font: 700 1.35rem/1.25 var(--tk-font); color: #14213d; }
.dkh-ct__lead { margin: 0 0 18px; color: #5b667a; }
.dkh-ct__topics { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; margin: 0 0 18px; padding: 0; border: 0; }
.dkh-ct__topic { position: relative; cursor: pointer; }
.dkh-ct__topic input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.dkh-ct__topic span { display: grid; gap: 2px; height: 100%; padding: 12px 14px; border: 1px solid #d7deea; border-radius: 12px; background: #fff; transition: border-color .2s, background .2s, box-shadow .2s; }
.dkh-ct__topic b { font-size: 0.9375rem; color: #14213d; }
.dkh-ct__topic small { font-size: 0.75rem; line-height: 1.35; color: #6b768a; }
.dkh-ct__topic input:checked + span { border-color: var(--dkh-blue); background: rgba(36, 80, 138, 0.07); box-shadow: 0 0 0 2px rgba(36, 80, 138, 0.18); }
.dkh-ct__topic input:focus-visible + span { outline: 2px solid var(--dkh-orange); outline-offset: 2px; }
.dkh-ct__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.dkh-ct form p { margin: 0 0 14px; }
.dkh-ct label { display: block; margin: 0 0 6px; font-size: 0.8125rem; font-weight: 600; color: #14213d; }
.dkh-ct label small { font-weight: 400; color: #8a93a3; }
.dkh-ct label i { color: var(--dkh-orange); font-style: normal; }
.dkh-ct input[type="text"], .dkh-ct input[type="email"], .dkh-ct textarea { width: 100%; box-sizing: border-box; padding: 0 14px; border: 1px solid #cfd7e4; border-radius: 10px; background: #fff; color: #14213d; font: 400 1rem/1.4 var(--tk-font); outline: none; transition: border-color .2s, box-shadow .2s; }
.dkh-ct input[type="text"], .dkh-ct input[type="email"] { height: 48px; }
.dkh-ct textarea { padding: 12px 14px; resize: vertical; min-height: 130px; }
.dkh-ct input:focus, .dkh-ct textarea:focus { border-color: var(--dkh-blue); box-shadow: 0 0 0 3px rgba(36, 80, 138, 0.15); }
.dkh-ct .is-bad { border-color: #d64545 !important; }
.dkh-ct__count { display: block; margin-top: 4px; text-align: right; color: #8a93a3; font-size: 0.75rem; }
.dkh-ct__hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.dkh-ct__consent { display: flex !important; gap: 10px; align-items: flex-start; margin: 4px 0 14px !important; font-weight: 400 !important; font-size: 0.8125rem !important; line-height: 1.5; color: #5b667a !important; }
.dkh-ct__consent input { margin-top: 3px; flex: none; width: 16px; height: 16px; }
.dkh-ct__consent a { color: var(--dkh-blue); text-decoration: underline; }
.dkh-ct__msg { min-height: 1.2em; font-size: 0.875rem; }
.dkh-ct__msg.is-ok { color: #1a7f45; font-weight: 600; }
.dkh-ct__msg.is-err { color: #c0392b; }
.dkh-ct__send { display: inline-flex; align-items: center; justify-content: center; height: 50px; padding: 0 32px; border: 0; border-radius: 10px; background: var(--dkh-blue); color: #fff; font: 700 1rem var(--tk-font); cursor: pointer; transition: background .2s, transform .15s; }
.dkh-ct__send:hover { background: var(--dkh-orange); }
.dkh-ct__send:active { transform: scale(0.98); }
.dkh-ct__send:disabled { opacity: 0.6; cursor: wait; }
.dkh-ct__faq { border-bottom: 1px solid #e6eaf0; }
.dkh-ct__faq summary { cursor: pointer; padding: 14px 24px 14px 0; font-weight: 600; font-size: 0.9375rem; color: #14213d; list-style: none; position: relative; }
.dkh-ct__faq summary::-webkit-details-marker { display: none; }
.dkh-ct__faq summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 1.25rem; color: var(--dkh-blue); }
.dkh-ct__faq[open] summary::after { content: "–"; }
.dkh-ct__faq p { margin: 0 0 14px; font-size: 0.875rem; line-height: 1.55; color: #5b667a; }
.dkh-ct__more { margin: 14px 0 18px; font-size: 0.875rem; }
.dkh-ct__more a { color: var(--dkh-blue); font-weight: 600; }
.dkh-ct__co { display: grid; gap: 3px; padding: 14px 16px; border-radius: 12px; background: rgba(36, 80, 138, 0.07); font-size: 0.8125rem; line-height: 1.5; color: #5b667a; }
.dkh-ct__co b { color: #14213d; }
.dkh-ct__co a { color: var(--dkh-blue); font-weight: 600; }
@media (max-width: 860px) { .dkh-ct__grid { grid-template-columns: 1fr; } .dkh-ct__cards { grid-template-columns: 1fr; } .dkh-ct__row { grid-template-columns: 1fr; } }

/* ---------- assistant d'aide (bulle en bas à droite, sur tout le site) ---------- */
.dkh-bot { position: fixed; right: 16px; bottom: 12px; z-index: 900; font-family: var(--tk-font); }
.dkh-bot[hidden] { display: none; }
.dkh-bot__fab { position: relative; display: inline-flex; align-items: center; gap: 8px; height: 54px; padding: 0 20px 0 16px; border: 0; border-radius: 999px; background: linear-gradient(135deg, #1b3d6b, #24508a 60%, #3b79c3); color: #fff; font: 700 0.9375rem/1 var(--tk-font); cursor: pointer; box-shadow: 0 10px 28px rgba(20, 33, 61, 0.35); transition: transform .2s, box-shadow .2s; }
.dkh-bot__fab:hover { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(20, 33, 61, 0.42); }
.dkh-bot__fab svg { width: 24px; height: 24px; flex: none; }
.dkh-bot__i-x { display: none; }
.dkh-bot.is-open .dkh-bot__i-chat { display: none; }
.dkh-bot.is-open .dkh-bot__i-x { display: block; }
.dkh-bot.is-open .dkh-bot__fab { padding: 0 16px; }
.dkh-bot.is-open .dkh-bot__lab { display: none; }
.dkh-bot__dot { position: absolute; top: 2px; right: 2px; width: 14px; height: 14px; border-radius: 50%; background: var(--dkh-orange); border: 2px solid #fff; animation: dkh-bot-pulse 2s ease-in-out infinite; }
@keyframes dkh-bot-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.25); } }
.dkh-bot__panel { position: absolute; right: 0; bottom: 68px; display: flex; flex-direction: column; width: 372px; max-width: calc(100vw - 32px); height: min(560px, calc(100vh - 150px)); border-radius: 18px; background: #fff; box-shadow: 0 22px 60px rgba(20, 33, 61, 0.35); overflow: hidden; animation: dkh-bot-in .22s ease-out; }
.dkh-bot__panel[hidden] { display: none; }
@keyframes dkh-bot-in { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: none; } }
.dkh-bot__head { display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: linear-gradient(135deg, #1b3d6b, #24508a 60%, #3b79c3); color: #fff; }
.dkh-bot__av { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(255, 255, 255, 0.18); flex: none; }
.dkh-bot__av svg { width: 22px; height: 22px; }
.dkh-bot__who { display: grid; gap: 3px; flex: 1; min-width: 0; }
.dkh-bot__who b { font-size: 1rem; }
.dkh-bot__who small { font-size: 0.75rem; opacity: 0.85; }
.dkh-bot__who small i { display: inline-block; width: 8px; height: 8px; margin-right: 4px; border-radius: 50%; background: #5be58f; }
.dkh-bot__x { display: grid; place-items: center; width: 32px; height: 32px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, 0.16); color: #fff; cursor: pointer; }
.dkh-bot__x svg { width: 16px; height: 16px; }
.dkh-bot__body { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; background: #f4f7fb; }
.dkh-bot__m { max-width: 86%; padding: 10px 13px; border-radius: 14px; font-size: 0.875rem; line-height: 1.5; word-wrap: break-word; }
.dkh-bot__m a { color: var(--dkh-blue); font-weight: 600; text-decoration: underline; }
.dkh-bot__m--bot { align-self: flex-start; background: #fff; color: #14213d; border-bottom-left-radius: 4px; box-shadow: 0 1px 3px rgba(20, 33, 61, 0.08); }
.dkh-bot__m--me { align-self: flex-end; background: var(--dkh-blue); color: #fff; border-bottom-right-radius: 4px; }
.dkh-bot__typing { display: inline-flex; gap: 4px; padding: 4px 2px; }
.dkh-bot__typing i { width: 7px; height: 7px; border-radius: 50%; background: #9aa6bb; animation: dkh-bot-t 1s infinite; }
.dkh-bot__typing i:nth-child(2) { animation-delay: .15s; }
.dkh-bot__typing i:nth-child(3) { animation-delay: .3s; }
@keyframes dkh-bot-t { 0%, 80%, 100% { opacity: .3; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }
.dkh-bot__chips { display: flex; flex-wrap: wrap; gap: 6px; max-height: 150px; overflow-y: auto; padding: 10px 12px; border-top: 1px solid #e6eaf0; background: #fff; }
.dkh-bot__chips[hidden] { display: none; }
.dkh-bot__chips button { padding: 8px 12px; border: 1px solid #cfd9ea; border-radius: 999px; background: #fff; color: var(--dkh-blue); font: 600 0.75rem/1.2 var(--tk-font); cursor: pointer; text-align: left; transition: background .2s, border-color .2s; }
.dkh-bot__chips button:hover { background: rgba(36, 80, 138, 0.08); border-color: var(--dkh-blue); }
.dkh-bot__chips button.is-human { background: var(--dkh-orange); border-color: var(--dkh-orange); color: #fff; }
.dkh-bot__in { display: flex; gap: 8px; padding: 10px 12px; border-top: 1px solid #e6eaf0; background: #fff; }
.dkh-bot__in[hidden] { display: none; }
.dkh-bot__in input { flex: 1; min-width: 0; height: 42px; padding: 0 14px; border: 1px solid #cfd7e4; border-radius: 999px; font: 400 0.875rem var(--tk-font); outline: none; }
.dkh-bot__in input:focus { border-color: var(--dkh-blue); box-shadow: 0 0 0 3px rgba(36, 80, 138, 0.15); }
.dkh-bot__in button { display: grid; place-items: center; width: 42px; height: 42px; border: 0; border-radius: 50%; background: var(--dkh-blue); color: #fff; cursor: pointer; }
.dkh-bot__in button svg { width: 18px; height: 18px; }
.dkh-bot__form { display: grid; gap: 8px; padding: 12px; border-top: 1px solid #e6eaf0; background: #fff; max-height: 62%; overflow-y: auto; }
.dkh-bot__form[hidden] { display: none; }
.dkh-bot__ft { margin: 0; font-size: 0.8125rem; color: #5b667a; }
.dkh-bot__form input[type="text"], .dkh-bot__form input[type="email"], .dkh-bot__form textarea { width: 100%; box-sizing: border-box; padding: 9px 12px; border: 1px solid #cfd7e4; border-radius: 10px; font: 400 0.875rem var(--tk-font); outline: none; }
.dkh-bot__form input:focus, .dkh-bot__form textarea:focus { border-color: var(--dkh-blue); }
.dkh-bot__form .is-bad { border-color: #d64545; }
.dkh-bot__hp { position: absolute; left: -9999px; opacity: 0; }
.dkh-bot__consent { display: flex; gap: 8px; align-items: flex-start; font-size: 0.75rem; line-height: 1.4; color: #5b667a; }
.dkh-bot__consent input { margin-top: 2px; flex: none; }
.dkh-bot__consent a { color: var(--dkh-blue); text-decoration: underline; }
.dkh-bot__fb { display: flex; gap: 8px; justify-content: flex-end; }
.dkh-bot__fb button { height: 40px; padding: 0 18px; border-radius: 10px; font: 700 0.875rem var(--tk-font); cursor: pointer; }
.dkh-bot__back { border: 1px solid #cfd7e4; background: #fff; color: #14213d; }
.dkh-bot__send { border: 0; background: var(--dkh-blue); color: #fff; }
.dkh-bot__send:disabled { opacity: .6; cursor: wait; }
.dkh-wa { bottom: 90px; }
@media (max-width: 600px) {
  .dkh-bot { right: 12px; bottom: 10px; }
  .dkh-bot__fab { height: 52px; width: 52px; padding: 0; justify-content: center; }
  .dkh-bot__lab { display: none; }
  .dkh-bot__panel { position: fixed; left: 12px; right: 12px; bottom: 76px; width: auto; max-width: none; height: min(78vh, 560px); }
  body.tk-has-sticky .dkh-bot__panel { height: min(70vh, 520px); }
}
@media (prefers-reduced-motion: reduce) { .dkh-bot__panel, .dkh-bot__dot, .dkh-bot__typing i { animation: none; } }

/* assistant : tout en bas de la page ; sur les fiches produit, la barre d'achat laisse la place à la bulle */
.dkh-bot { z-index: 900; }
html body.tk-has-sticky .tk-sticky:not([hidden]) { padding-right: max(120px, calc((100% - 1180px) / 2 + 100px)); }
@media (max-width: 600px) { html body.tk-has-sticky .tk-sticky:not([hidden]) { padding-right: 74px; } }

/* langues : sur mobile, elles quittent la barre d'en-tête et passent dans le menu */
.dkh-dl { display: none; }
@media (max-width: 999px) {
  html body .dkh-hl { display: none !important; }
  .dkh-dl { display: block; margin: 8px 16px 24px; padding: 18px 0 0; border-top: 1px solid rgba(0, 0, 0, 0.1); }
  .dkh-dl__l { margin: 0 0 12px; font: 600 0.75rem/1 var(--tk-font); letter-spacing: 0.12em; text-transform: uppercase; color: #6b768a; }
  .dkh-dl__row { display: flex; flex-wrap: wrap; gap: 8px; }
  .dkh-dl__i { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px 0 8px; border: 1px solid #cfd7e4; border-radius: 999px; background: #fff; color: #14213d; font: 600 0.875rem/1 var(--tk-font); letter-spacing: 0.05em; text-decoration: none; }
  .dkh-dl__i svg { display: block; width: 24px; height: 24px; flex: none; }
  .dkh-dl__i.is-on { background: var(--dkh-blue); border-color: var(--dkh-blue); color: #fff; }
}

/* barre d'annonce du tiroir du panier : fond orange du site */
html body .mcd__ship { background: var(--dkh-orange); color: #fff; }
html body .mcd__ship svg { color: #fff; }
html body .mcd__ship b { color: #fff; }

/* barre d'étapes de la caisse : couleurs du site */
html body .pp-steps__it.is-done::before, html body .pp-steps__it.is-on::before { background: var(--dkh-blue); }
html body .pp-steps__it.is-on { color: var(--dkh-blue); }
html body .pp-steps__it.is-on .pp-steps__dot, html body .pp-steps__it.is-done .pp-steps__dot { border-color: var(--dkh-blue); background: var(--dkh-blue); color: #fff; }

/* ---------- page de paiement : plus grande sur ordinateur ---------- */
body.woocommerce-checkout .woocommerce { max-width: 1320px; }
@media (min-width: 1000px) {
  body.woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr) 520px; column-gap: 56px; }
  body.woocommerce-checkout #customer_details h3, body.woocommerce-checkout #order_review_heading { font-size: 1.5rem; margin-bottom: 26px; }
  body.woocommerce-checkout .woocommerce label { font-size: 0.9375rem; margin-bottom: 8px; }
  body.woocommerce-checkout .woocommerce form .form-row { margin-bottom: 20px; }
  body.woocommerce-checkout .woocommerce input.input-text, body.woocommerce-checkout .woocommerce select { min-height: 58px; padding: 0 18px; font-size: 1.0625rem; border-radius: 12px; }
  body.woocommerce-checkout .woocommerce textarea { min-height: 150px; padding: 16px 18px; font-size: 1.0625rem; border-radius: 12px; }
  body.woocommerce-checkout table.woocommerce-checkout-review-order-table th, body.woocommerce-checkout table.woocommerce-checkout-review-order-table td { font-size: 1rem; padding: 16px 0; }
  body.woocommerce-checkout .pp-ck-img { width: 76px; height: 76px; }
  body.woocommerce-checkout #payment li.wc_payment_method > label { font-size: 1.0625rem; }
  body.woocommerce-checkout #payment div.payment_box { font-size: 0.9375rem; padding: 18px; }
  body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { font-size: 0.875rem; }
  body.woocommerce-checkout #place_order { min-height: 66px; font-size: 1.1875rem; border-radius: 14px; background: var(--dkh-blue); }
  body.woocommerce-checkout #place_order:hover { background: var(--dkh-orange); }
  .pp-steps { max-width: 820px; margin-bottom: 44px; }
  .pp-steps__dot { width: 40px; height: 40px; font-size: 0.9375rem; }
  .pp-steps__it::before { top: 19px; }
  .pp-steps__lab { font-size: 1rem; }
}
body.woocommerce-checkout #place_order { background: var(--dkh-blue); }

/* caisse : deux colonnes de même largeur, deux cartes de même style (formulaire à gauche, commande à droite) */
@media (min-width: 1000px) {
  body.woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 40px; }
  body.woocommerce-checkout #customer_details { box-sizing: border-box; padding: 34px; border: 1px solid #ececec; border-radius: 16px; background: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, .04); }
  body.woocommerce-checkout #customer_details .woocommerce-billing-fields, body.woocommerce-checkout #customer_details .woocommerce-additional-fields { margin: 0 0 26px; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
  body.woocommerce-checkout #customer_details .woocommerce-additional-fields { margin-bottom: 0; }
  body.woocommerce-checkout #customer_details .woocommerce-additional-fields h3 { display: flex; }
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { gap: 0 20px; }
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row { margin-bottom: 22px; }
  body.woocommerce-checkout #order_review { box-sizing: border-box; padding: 34px; }
}

/* caisse : mêmes dimensions que la page de référence (conteneur 1170 px, colonnes 619 / 482 px sur un écran de 1920 px) */
body.woocommerce-checkout .pp-page.tk-wrap, body.woocommerce-cart .pp-page.tk-wrap { max-width: 1250px; }
body.woocommerce-checkout .pp-page__body, body.woocommerce-cart .pp-page__body { max-width: none; width: 100%; }
body.woocommerce-checkout .woocommerce { max-width: 1170px; width: 100%; }
@media (min-width: 1000px) {
  body.woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 619fr) minmax(0, 482fr); column-gap: 64px; }
  body.woocommerce-checkout .woocommerce input.input-text, body.woocommerce-checkout .woocommerce select { min-height: 52px; font-size: 1rem; }
  body.woocommerce-checkout #customer_details, body.woocommerce-checkout #order_review { padding: 32px; }
}
/* plus d'adresse de livraison : le bloc vide est masqué */
body.woocommerce-checkout .woocommerce-shipping-fields { display: none !important; }

/* ---------- code promo de la caisse : champ visible, bordure gauche et bouton bleus ---------- */
body.woocommerce-checkout form.checkout_coupon[style*="block"] { display: flex !important; }
body.woocommerce-checkout form.checkout_coupon { gap: 12px; align-items: stretch; flex-wrap: wrap; margin: 0 0 26px; padding: 18px 20px; border: 1px solid #e3e9f2; border-left: 4px solid var(--dkh-blue); border-radius: 12px; background: #fff; }
body.woocommerce-checkout form.checkout_coupon .form-row-first { flex: 1; min-width: 220px; }
body.woocommerce-checkout form.checkout_coupon input#coupon_code { width: 100%; box-sizing: border-box; min-height: 52px; padding: 0 16px; border: 1px solid #cfd7e4; border-radius: 10px; font-size: 1rem; }
body.woocommerce-checkout form.checkout_coupon input#coupon_code:focus { border-color: var(--dkh-blue); box-shadow: 0 0 0 3px rgba(36, 80, 138, .15); outline: none; }
body.woocommerce-checkout form.checkout_coupon button.button, body.woocommerce-checkout form.checkout_coupon .button[name="apply_coupon"] { min-height: 52px; padding: 0 26px; border: 0; border-radius: 10px; background: var(--dkh-blue) !important; color: #fff !important; font-size: 1rem; font-weight: 600; cursor: pointer; transition: background .2s; }
body.woocommerce-checkout form.checkout_coupon button.button:hover { background: var(--dkh-orange) !important; }
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info, body.woocommerce-checkout .woocommerce-info { border-left-color: var(--dkh-blue) !important; border-left-width: 4px; }
body.woocommerce-checkout .woocommerce-info::before { color: var(--dkh-blue) !important; }
body.woocommerce-checkout .woocommerce-form-coupon-toggle { margin-bottom: 12px; }

/* icônes de paiement sous le bouton de commande */
.dkh-ck-pay { margin: 22px 0 0; padding: 18px 0 0; border-top: 1px solid #f0f0f0; }
.dkh-ck-pay .dkh-pay { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0; padding: 0; }
.dkh-ck-pay .dkh-pay li { width: 74px; height: 46px; }

/* champ du code promo : visible (le premier paragraphe est le champ, pas le texte d'aide) */
body.woocommerce-checkout form.checkout_coupon p.form-row-first, body.woocommerce-checkout form.checkout_coupon p:first-child.form-row-first { display: block !important; }

/* code promo : lien « Klicken Sie hier » bien visible (bleu, souligné) ; le champ s'ouvre au clic */
body.woocommerce-checkout .woocommerce-info a.showcoupon { color: var(--dkh-blue) !important; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
body.woocommerce-checkout .woocommerce-info a.showcoupon:hover { color: var(--dkh-orange) !important; }
body.woocommerce-checkout form.checkout_coupon:not([style*="block"]) { display: none; }

/* champs obligatoires manquants : ils tremblent et passent au rouge quand on clique sur « bestellen » */
body.woocommerce-checkout .form-row.dkh-invalid input.input-text, body.woocommerce-checkout .form-row.dkh-invalid select, body.woocommerce-checkout .form-row.dkh-invalid textarea { border-color: #d64545 !important; background: #fff5f5; box-shadow: 0 0 0 3px rgba(214, 69, 69, .15); }
body.woocommerce-checkout .form-row.dkh-invalid label { color: #b83232; }
body.woocommerce-checkout .dkh-invalid:not(.form-row) { color: #b83232; }
.dkh-shake { animation: dkh-shake .5s cubic-bezier(.36, .07, .19, .97) both; }
@keyframes dkh-shake { 10%, 90% { transform: translateX(-2px); } 20%, 80% { transform: translateX(4px); } 30%, 50%, 70% { transform: translateX(-7px); } 40%, 60% { transform: translateX(7px); } }
@media (prefers-reduced-motion: reduce) { .dkh-shake { animation: none; } }

/* icônes de paiement sous le bouton de commande : mise en forme verrouillée (les règles WooCommerce de #payment ne doivent pas les déformer) */
body.woocommerce-checkout #payment .dkh-ck-pay { display: block; margin: 22px 0 0; padding: 18px 0 0; border-top: 1px solid #f0f0f0; }
body.woocommerce-checkout #payment .dkh-ck-pay ul.dkh-pay { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; justify-content: center; gap: 8px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; list-style: none !important; }
body.woocommerce-checkout #payment .dkh-ck-pay ul.dkh-pay > li { display: grid !important; place-items: center; flex: 0 0 auto; width: 74px !important; height: 46px !important; margin: 0 !important; padding: 0 8px !important; box-sizing: border-box; border: 1px solid #e3e7ee !important; border-radius: 8px !important; background: #fff !important; overflow: hidden; list-style: none !important; }
body.woocommerce-checkout #payment .dkh-ck-pay ul.dkh-pay > li::before, body.woocommerce-checkout #payment .dkh-ck-pay ul.dkh-pay > li::after { display: none !important; }
body.woocommerce-checkout #payment .dkh-ck-pay ul.dkh-pay svg { display: block !important; width: 100% !important; height: auto !important; max-height: 32px; }
body.woocommerce-checkout #payment .dkh-ck-pay ul.dkh-pay img { display: block !important; width: auto !important; max-width: 100%; height: 22px !important; }

/* ---------- blocs : ombre douce le long des bordures ---------- */
body.woocommerce-checkout #customer_details, body.woocommerce-checkout #order_review, body.woocommerce-checkout form.checkout_coupon, body.woocommerce-checkout .woocommerce-info { box-shadow: 0 2px 6px rgba(16, 24, 40, .05), 0 12px 32px rgba(16, 24, 40, .09); }
.dkh-partners a, .dkh-partners li, .dkh-pp a, .dkh-upg, .dkh-ct__card, .dkh-ct-card { box-shadow: 0 2px 6px rgba(16, 24, 40, .05), 0 10px 28px rgba(16, 24, 40, .08); }
.dkh-partners__item { box-shadow: 0 2px 6px rgba(16, 24, 40, .05), 0 10px 28px rgba(16, 24, 40, .09); }
.dkh-step, .dkh-trust__item, .pp-card, .woocommerce ul.products li.product { box-shadow: 0 2px 6px rgba(16, 24, 40, .05), 0 10px 28px rgba(16, 24, 40, .08); }

/* caisse : en-tête réduit au logo + mention « Checkout » */
.dkh-hdr-ck { display: none; }
body.woocommerce-checkout .mbtb-hdr__ann, body.woocommerce-checkout .mbtb-hdr__nav, body.woocommerce-checkout .mbtb-hdr__end, body.woocommerce-checkout .mbtb-hdr__burger, body.woocommerce-checkout .mbtb-drawer { display: none !important; }
body.woocommerce-checkout .mbtb-hdr__inner { display: flex; align-items: center; justify-content: space-between; }
body.woocommerce-checkout .dkh-hdr-ck { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 1rem; color: #14213d; }
body.woocommerce-checkout .dkh-hdr-ck svg { color: var(--dkh-orange); }
body.woocommerce-checkout .mbtb-hdr__bar { border-bottom: 1px solid #e3e7ee; box-shadow: 0 1px 0 rgba(16, 24, 40, .03); }
body.woocommerce-checkout .pp-page { padding-top: clamp(12px, 2vw, 22px); }
body.woocommerce-checkout .pp-page__title, body.woocommerce-checkout .pp-page h1.entry-title { margin-top: 0; }

/* ---------- bordures des blocs : 1px noir ---------- */
body.woocommerce-checkout #customer_details, body.woocommerce-checkout #order_review, body.woocommerce-checkout .woocommerce-info, .dkh-partners__item, .dkh-step, .dkh-trust__item, .woocommerce ul.products li.product { border: 1px solid #000 !important; }
body.woocommerce-checkout form.checkout_coupon { border-top: 1px solid #000; border-right: 1px solid #000; border-bottom: 1px solid #000; }
body.woocommerce-checkout .mbtb-hdr__bar { border-bottom: 1px solid #000; }

/* bordures des blocs : 1.5px noir ; en-tête de caisse : plus de marge interne, bordure 1px */
body.woocommerce-checkout #customer_details, body.woocommerce-checkout #order_review, body.woocommerce-checkout .woocommerce-info, .dkh-partners__item, .dkh-step, .dkh-trust__item, .woocommerce ul.products li.product { border-width: 1.5px !important; }
body.woocommerce-checkout form.checkout_coupon { border-top-width: 1.5px; border-right-width: 1.5px; border-bottom-width: 1.5px; }
body.woocommerce-checkout .mbtb-hdr__bar { border-bottom: 1px solid #000; }
body.woocommerce-checkout .mbtb-hdr__inner { padding-block: 18px; }

/* bordures des blocs : 1.2px */
body.woocommerce-checkout #customer_details, body.woocommerce-checkout #order_review, body.woocommerce-checkout .woocommerce-info, .dkh-partners__item, .dkh-step, .dkh-trust__item, .woocommerce ul.products li.product { border-width: 1.2px !important; }
body.woocommerce-checkout form.checkout_coupon { border-top-width: 1.2px; border-right-width: 1.2px; border-bottom-width: 1.2px; }

/* bordures des blocs : 1px solid #d2d6dc */
body.woocommerce-checkout #customer_details, body.woocommerce-checkout #order_review, body.woocommerce-checkout .woocommerce-info, .dkh-partners__item, .dkh-step, .dkh-trust__item, .woocommerce ul.products li.product { border: 1px solid #d2d6dc !important; }
body.woocommerce-checkout form.checkout_coupon { border-top: 1px solid #d2d6dc; border-right: 1px solid #d2d6dc; border-bottom: 1px solid #d2d6dc; }
body.woocommerce-checkout .mbtb-hdr__bar { border-bottom: 1px solid #d2d6dc; }

/* champs de la caisse : même bordure 1px solid #d2d6dc */
body.woocommerce-checkout .form-row input.input-text, body.woocommerce-checkout .form-row textarea, body.woocommerce-checkout .form-row select, body.woocommerce-checkout form.checkout_coupon input#coupon_code { border: 1px solid #d2d6dc; }
body.woocommerce-checkout .form-row input.input-text:focus, body.woocommerce-checkout .form-row textarea:focus, body.woocommerce-checkout form.checkout_coupon input#coupon_code:focus { border-color: var(--dkh-blue); }
body.woocommerce-checkout .form-row.dkh-invalid input.input-text, body.woocommerce-checkout .form-row.dkh-invalid textarea { border-color: #d64545 !important; }

/* bloc icônes de paiement des pages produit : un peu plus compact */
html body .mbtb-pdp__info > .dkh-pay { gap: 4px 8px; margin: 12px 0 0; padding: 8px 12px; border-radius: 10px; }
html body .mbtb-pdp__info > .dkh-pay li { width: 56px; height: 36px; }
html body .mbtb-pdp__info > .dkh-pay svg { width: 52px; height: 32px; }
html body .mbtb-pdp__info > .dkh-pay img { height: 24px; }
html body .mbtb-pdp__info > .dkh-pay img[alt="Google Pay"] { height: 22px; }
@media (max-width: 640px) {
  html body .mbtb-pdp__info > .dkh-pay { gap: 2px 4px; padding: 7px 6px; }
  html body .mbtb-pdp__info > .dkh-pay li { width: 48px; height: 32px; }
  html body .mbtb-pdp__info > .dkh-pay svg { width: 46px; height: 28px; }
  html body .mbtb-pdp__info > .dkh-pay img { height: 21px; }
  html body .mbtb-pdp__info > .dkh-pay img[alt="Google Pay"] { height: 19px; }
}
html body .mbtb-pdp__info > .dkh-pay { gap: 0 2px; padding: 6px 8px; }
@media (max-width: 640px) { html body .mbtb-pdp__info > .dkh-pay { gap: 0; padding: 6px 4px; } }

/* accueil : plus de marge interne dans les 4 blocs de réassurance ; section « 3 étapes » sans fond gris */
.dkh-trust__item { padding: 30px 26px; gap: 10px; }
.dkh-steps, .dkh-steps.tk-sec--soft { background: #fff !important; }

/* accueil : les 4 blocs de réassurance sans bordure */
.dkh-trust__item { border: 0 !important; }
.dkh-trust__item { box-shadow: none !important; background: transparent !important; }

/* accueil (PC) : moins d'espace entre les 3 étapes et les 4 blocs de réassurance */
@media (min-width: 901px) {
  .dkh-steps, .dkh-steps.tk-sec { padding-bottom: 12px !important; margin-bottom: 0 !important; }
  .dkh-trust, .dkh-trust.tk-sec { padding-top: 12px !important; margin-top: 0 !important; }
}

/* accueil (PC) : moins d'espace au-dessus de la section des 3 étapes */
@media (min-width: 901px) {
  .dkh-steps, .dkh-steps.tk-sec { padding-top: 12px !important; margin-top: 0 !important; }
  .dkh-more { margin-bottom: 0 !important; }
  .tk-sec:has(+ .dkh-steps) { padding-bottom: 12px !important; margin-bottom: 0 !important; }
}
