/* ========================================
   MIJN ACCOUNT
======================================== */
/* Shared presentation for plugin-provided training and certificate content. */
:is(.ffehbo-account-courses-page, .ffehbo-account-certificates-page, .ffehbo-login-page) {
  --ffehbo-account-text: #171047;
  --ffehbo-account-muted: #696986;
  --ffehbo-account-border: #e2e5ed;
  --ffehbo-account-accent: #c7e7ff;
  --ffehbo-account-surface: #fff;
  --ffehbo-account-hero-columns: minmax(0, 3fr) minmax(280px, 2fr);
}
:is(.ffehbo-account-courses-page, .ffehbo-account-certificates-page, .ffehbo-login-page) :is(.ffehbo-account-booking__card, .ffehbo-account-certificates__card, .ffehbo-account-card) {
  margin: 0; padding: 24px; border: 1px solid var(--ffehbo-account-border);
  border-radius: 20px; background: var(--ffehbo-account-surface);
  box-shadow: 0 12px 32px rgba(37,57,91,.04);
}
:is(.ffehbo-account-courses-page, .ffehbo-account-certificates-page) :is(.ffehbo-account-bookings__empty-state, .ffehbo-account-bookings__filter-empty) {
  padding: 28px; border: 1px solid var(--ffehbo-account-border);
  border-radius: 20px; background: var(--ffehbo-account-surface);
}
:is(.ffehbo-account-courses-page, .ffehbo-account-certificates-page) .ffehbo-account-bookings__empty {
  margin: 0 0 18px; color: var(--ffehbo-account-muted);
}
/* Body classes also cover action links cloned into the training dialogs. */
:is(.ffehbo-account-courses-page, .ffehbo-account-certificates-page) :is(.ffehbo-account-booking__location-action, .ffehbo-account-booking__map-link, .ffehbo-account-bookings__empty-cta, .ffehbo-account-bookings__checkin-form .button) {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 46px; max-width: 100%; height: auto; margin: 0; padding: 10px 16px;
  border: 1px solid var(--ffehbo-account-border); border-radius: 18px; background: var(--ffehbo-account-surface);
  color: var(--ffehbo-account-text); font-family: var(--ffehbo-font-family); font-size: var(--ffehbo-font-size-label); font-weight: 600; line-height: var(--ffehbo-line-height-compact); text-decoration: none; text-align: center; white-space: normal; cursor: pointer; box-shadow: none;
}
:is(.ffehbo-account-courses-page, .ffehbo-account-certificates-page) :is(.ffehbo-account-booking__location-action.ffehbo-account-booking__location-action--refresher, .ffehbo-account-bookings__empty-cta) { background: linear-gradient(100deg,#ffdc8d,#ffc75f); border-color: transparent; }
:is(.ffehbo-account-courses-page, .ffehbo-account-certificates-page) :is(.ffehbo-account-booking__location-action, .ffehbo-account-booking__map-link, .ffehbo-account-bookings__empty-cta, .ffehbo-account-bookings__checkin-form .button)::before,
:is(.ffehbo-account-courses-page, .ffehbo-account-certificates-page) :is(.ffehbo-account-booking__location-action, .ffehbo-account-booking__map-link, .ffehbo-account-bookings__empty-cta, .ffehbo-account-bookings__checkin-form .button):before,
:is(.ffehbo-account-courses-page, .ffehbo-account-certificates-page) :is(.ffehbo-account-booking__location-action, .ffehbo-account-booking__map-link, .ffehbo-account-bookings__empty-cta, .ffehbo-account-bookings__checkin-form .button)::after,
:is(.ffehbo-account-courses-page, .ffehbo-account-certificates-page) :is(.ffehbo-account-booking__location-action, .ffehbo-account-booking__map-link, .ffehbo-account-bookings__empty-cta, .ffehbo-account-bookings__checkin-form .button):after { content: none !important; display: none !important; }
:is(.ffehbo-account-courses-page, .ffehbo-account-certificates-page) :is(.ffehbo-account-booking__location-action, .ffehbo-account-booking__map-link, .ffehbo-account-bookings__empty-cta, .ffehbo-account-bookings__checkin-form .button):is(:hover, :focus-visible) { background: var(--ffehbo-account-accent); border-color: var(--ffehbo-account-accent); color: var(--ffehbo-account-text); }
:is(.ffehbo-account-courses-page, .ffehbo-account-certificates-page) :is(.ffehbo-account-booking__location-action, .ffehbo-account-booking__map-link, .ffehbo-account-bookings__empty-cta):focus-visible { outline: 2px solid var(--ffehbo-account-text); outline-offset: 3px; }
:is(.ffehbo-account-courses-page, .ffehbo-account-certificates-page) .ffehbo-account-booking__location-icon { display: inline-flex; flex: 0 0 18px; }
:is(.ffehbo-account-courses-page, .ffehbo-account-certificates-page) .ffehbo-account-booking__location-icon svg { width: 18px; height: 18px; fill: currentColor; }

.ffehbo-account-hero-title {
  font-family: var(--ffehbo-font-family-heading);
  font-size: var(--ffehbo-font-size-hero-title);
  font-weight: var(--ffehbo-font-weight-hero-title);
}
.ffehbo-account-hero-title strong {
  font-weight: 700;
}
.ffehbo-account-page-hero {
  display: grid;
  grid-template-columns: var(--ffehbo-account-hero-columns, minmax(0, 3fr) minmax(280px, 2fr));
  overflow: hidden;
  min-height: 240px;
  margin-bottom: 24px;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(37, 57, 91, .05);
}
.ffehbo-account-page-hero__copy { display: flex; box-sizing: border-box; justify-content: flex-start; flex-direction: column; padding: 24px 48px 32px; }
.ffehbo-account-page-hero__breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0 0 28px; color: var(--cmsmasters-colors-link); font-size: var(--ffehbo-font-size-breadcrumb); font-weight: 400; line-height: 1.45; }
.ffehbo-account-page-hero__breadcrumb a { display: inline-flex; align-items: center; color: inherit; text-decoration: none; }
.ffehbo-account-page-hero__breadcrumb svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.ffehbo-account-page-hero__breadcrumb strong { color: inherit; font-weight: 700; }
.ffehbo-account-page-hero h1 { margin: 0 0 12px; color: #171047; line-height: var(--ffehbo-line-height-heading); }
.ffehbo-account-page-hero p { margin: 0; color: #696986; font-size: var(--ffehbo-font-size-body); line-height: var(--ffehbo-line-height-body); }
.ffehbo-account-page-hero__media { position: relative; min-height: 240px; background: linear-gradient(135deg, #fff2cf, #cce9ff); }
.ffehbo-account-page-hero__media img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.ffehbo-account-page-hero--profile {
  grid-template-columns: minmax(0, 1.7fr) minmax(320px, 1fr);
}
.ffehbo-profile__summary { display: none; }
.ffehbo-profile-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(320px, 1fr);
  gap: 24px;
  align-items: start;
}
.ffehbo-profile-card {
  box-sizing: border-box;
  min-width: 0;
  margin: 0;
  padding: 26px 28px;
  border: 0;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(37, 57, 91, .05);
}
.ffehbo-profile-card h2,
.ffehbo-profile-card legend {
  margin: 0 0 20px;
  color: #171047;
  font-family: var(--ffehbo-font-family-heading);
  font-size: var(--ffehbo-font-size-card-title);
  font-weight: 400;
  line-height: var(--ffehbo-line-height-heading);
}
.ffehbo-profile-layout__password legend { padding: 0; }
@media (max-width: 760px) {
  .ffehbo-account-page-hero { display: flex; flex-direction: column; border-radius: 22px; }
  .ffehbo-account-page-hero__copy { padding: 24px 24px 30px; }
  .ffehbo-account-page-hero__media { min-height: 190px; }
  .ffehbo-profile-layout { grid-template-columns: 1fr; gap: 16px; }
  .ffehbo-profile-card { padding: 24px; border-radius: 18px; }
}
.ffehbo-account-dashboard-page .woocommerce-MyAccount-navigation {
  display: none;
}
.ffehbo-account-dashboard-page .woocommerce-MyAccount-content {
  float: none;
}
.ffehbo-account-dashboard { --dashboard-navy:#10094d; --dashboard-muted:#77749a; width:100%; min-width:0; color:var(--dashboard-navy); font-family:var(--ffehbo-font-family); }
.ffehbo-account-dashboard__hero { box-sizing:border-box; margin-bottom:42px; }
.ffehbo-account-dashboard__hero h1 { margin-bottom:8px; }
.ffehbo-dashboard-layout { display:grid; grid-template-columns:minmax(0,3fr) minmax(310px,2fr); align-items:start; gap:20px; }
.ffehbo-dashboard-main, .ffehbo-dashboard-side { display:grid; gap:24px; min-width:0; }
.ffehbo-dashboard-card, .ffehbo-dashboard-panel { position:relative; box-sizing:border-box; border-radius:20px; background:rgba(255,255,255,.96); box-shadow:0 15px 38px rgba(46,52,84,.04); }
.ffehbo-dashboard-card { padding:34px 28px 24px; }
.ffehbo-dashboard-badges { position:absolute; top:-17px; left:28px; display:flex; gap:8px; }
.ffehbo-dashboard-type, .ffehbo-dashboard-guarantee, .ffehbo-dashboard-expiring { display:inline-flex; align-items:center; justify-content:center; min-height:36px; box-sizing:border-box; padding:0 22px; border-radius:999px; font-size:var(--ffehbo-font-size-meta); font-weight:800; line-height:1; }
.ffehbo-dashboard-type { text-transform:uppercase; }
.ffehbo-dashboard-course.is-basic .ffehbo-dashboard-type { background:#ffd177; }
.ffehbo-dashboard-course.is-repeat .ffehbo-dashboard-type { background:#d6ebff; }
.ffehbo-dashboard-guarantee { background:linear-gradient(#16cb79,#00ae5f); color:#fff; }
.ffehbo-dashboard-guarantee b { margin-right:9px; font-size:var(--ffehbo-font-size-card-title); }
.ffehbo-dashboard-course__body { display:grid; grid-template-columns:minmax(0,1fr) 170px; gap:24px; align-items:center; }
.ffehbo-dashboard-eyebrow { display:block; margin-bottom:6px; color:#b9b9b9; font-size:var(--ffehbo-font-size-meta); font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.ffehbo-dashboard-card h2 { margin:0 0 14px; color:var(--dashboard-navy); font-family:var(--ffehbo-font-family-heading); font-size:var(--ffehbo-font-size-section-title); font-weight:700; line-height:var(--ffehbo-line-height-heading); }
.ffehbo-dashboard-course__image img { display:block; width:100%; height:136px; border-radius:14px; object-fit:cover; }
.ffehbo-dashboard-lessons { display:grid; gap:7px; color:var(--dashboard-muted); font-size:var(--ffehbo-font-size-label); }
.ffehbo-dashboard-lessons > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(120px,.7fr); gap:18px; }
.ffehbo-dashboard-lessons span, .ffehbo-dashboard-lessons p { display:flex; align-items:center; gap:10px; margin:0; }
.ffehbo-dashboard-lessons strong { color:var(--dashboard-navy); }
.ffehbo-account-dashboard svg { flex:0 0 auto; width:22px; height:22px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
.ffehbo-dashboard-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:20px; }
.ffehbo-dashboard-button { display:inline-flex; align-items:center; justify-content:space-between; gap:18px; box-sizing:border-box; min-height:48px; padding:0 22px; border-radius:14px; color:var(--dashboard-navy); font-size:var(--ffehbo-font-size-label); font-weight:800; line-height:1; text-decoration:none; }
.ffehbo-dashboard-button.is-outline { min-width:210px; border:1px solid #0a0a0a; background:#fff; }
.ffehbo-dashboard-button.is-primary { border:1px solid transparent; background:linear-gradient(100deg,#ffdc8d,#ffc75f); }
.ffehbo-dashboard-button::before, .ffehbo-dashboard-button:before, .ffehbo-dashboard-button::after, .ffehbo-dashboard-button:after, .ffehbo-dashboard-calendar::before, .ffehbo-dashboard-calendar:before, .ffehbo-dashboard-calendar::after, .ffehbo-dashboard-calendar:after { display:none !important; content:none !important; }
.ffehbo-dashboard-button:hover, .ffehbo-dashboard-button:focus-visible { border-color:transparent; background:var(--e-global-color-accent,#c7e7ff); color:var(--dashboard-navy); }
.ffehbo-dashboard-calendar { display:inline-flex; align-items:center; gap:9px; padding:12px; color:var(--dashboard-navy); font-size:var(--ffehbo-font-size-label); font-weight:700; }
.ffehbo-dashboard-expiring { position:absolute; top:-17px; left:28px; background:#ffdc91; color:#8a5700; }
.ffehbo-dashboard-certificate > p { margin:-8px 0 14px; color:#7774aa; font-size:var(--ffehbo-font-size-label); }
.ffehbo-dashboard-progress { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; color:#625cff; font-size:var(--ffehbo-font-size-label); }
.ffehbo-dashboard-progress > span { height:11px; overflow:hidden; border-radius:999px; background:#e8e8f2; }
.ffehbo-dashboard-progress i { display:block; width:var(--progress); height:100%; border-radius:inherit; background:linear-gradient(90deg,#d80b17,#ff8a3d); }
.ffehbo-dashboard-empty { display:grid; grid-template-columns:minmax(0,1fr) 180px; align-items:center; gap:28px; min-height:286px; padding:30px 28px; }
.ffehbo-dashboard-empty__content > p { max-width:470px; margin:-4px 0 24px; color:var(--dashboard-muted); font-size:var(--ffehbo-font-size-body); line-height:var(--ffehbo-line-height-body); }
.ffehbo-dashboard-empty__icon { display:grid; width:180px; height:180px; place-items:center; border-radius:20px; background:linear-gradient(135deg,#f5faff,#e8f2ff); color:#5954c9; }
.ffehbo-dashboard-empty__icon svg { width:72px; height:72px; stroke-width:1.6; }
.ffehbo-dashboard-empty .ffehbo-dashboard-button { width:100%; max-width:304px; }
.ffehbo-dashboard-panel { padding:25px 28px; }
.ffehbo-dashboard-panel > h2 { margin:0 0 16px; color:var(--dashboard-navy); font-family:var(--ffehbo-font-family-heading); font-size:var(--ffehbo-font-size-section-title); font-weight:700; }
.ffehbo-dashboard-panel nav { display:grid; }
.ffehbo-dashboard-panel nav > a { display:grid; grid-template-columns:44px minmax(0,1fr) 22px; align-items:center; gap:12px; min-height:78px; border-bottom:1px solid #e1e1ef; color:var(--dashboard-navy); text-decoration:none; }
.ffehbo-dashboard-panel nav > a:last-child { border-bottom:0; }
.ffehbo-dashboard-panel nav strong, .ffehbo-dashboard-panel nav small { display:block; }
.ffehbo-dashboard-panel nav strong { font-size:var(--ffehbo-font-size-body); }
.ffehbo-dashboard-panel nav small { margin-top:3px; color:#8884bd; font-size:var(--ffehbo-font-size-meta); }
.ffehbo-dashboard-quick-icon svg { width:30px; height:30px; }
.ffehbo-dashboard-panel nav > a:hover, .ffehbo-dashboard-panel nav > a:focus-visible { color:#625cff; }
.ffehbo-dashboard-help { display:grid; grid-template-columns:44px minmax(0,1fr); gap:14px; }
.ffehbo-dashboard-help > span svg { width:34px; height:34px; }
.ffehbo-dashboard-help h2 { margin:0 0 3px; font-family:var(--ffehbo-font-family); font-size:var(--ffehbo-font-size-card-title); font-weight:800; }
.ffehbo-dashboard-help p { margin:0 0 8px; color:#8884bd; font-size:var(--ffehbo-font-size-label); }
.ffehbo-dashboard-help a { display:inline-flex; align-items:center; gap:8px; color:var(--dashboard-navy); font-size:var(--ffehbo-font-size-label); font-weight:700; }
.ffehbo-dashboard-help a svg { width:16px; height:16px; }
@media (max-width:920px) { .ffehbo-dashboard-layout { grid-template-columns:1fr; } }
@media (max-width:640px) { .ffehbo-account-dashboard__hero { margin-bottom:34px; } .ffehbo-dashboard-card, .ffehbo-dashboard-panel { border-radius:18px; } .ffehbo-dashboard-card { padding:38px 20px 22px; } .ffehbo-dashboard-course__body, .ffehbo-dashboard-empty { grid-template-columns:1fr; } .ffehbo-dashboard-course__image { order:-1; } .ffehbo-dashboard-course__image img { height:160px; } .ffehbo-dashboard-empty__icon { grid-row:1; width:100%; height:150px; } .ffehbo-dashboard-lessons > div { grid-template-columns:1fr; gap:7px; } .ffehbo-dashboard-actions, .ffehbo-dashboard-button { width:100%; } .ffehbo-dashboard-button.is-outline { min-width:0; } .ffehbo-dashboard-empty .ffehbo-dashboard-button { max-width:none; } .ffehbo-dashboard-badges { left:18px; } .ffehbo-dashboard-type, .ffehbo-dashboard-guarantee { padding:0 14px; } }
@media (prefers-reduced-motion:reduce) { .ffehbo-dashboard-button { transition:none; } }
.woocommerce-account .woocommerce-MyAccount-content {
  float: right;
  width: 100% !important;
}
.woocommerce-account
  .woocommerce-MyAccount-content
  > .woocommerce-info
  a.woocommerce-Button.wc-forward.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-top: 2rem;
  padding: 0.5rem 1.1rem;
  border-radius: 12px;
  background: #fcda98;
  color: #303030;
  font-weight: 700;
}
.woo-sidemenu li {
  position: relative;
  color: #333;
  padding-right: 30px;
}
.woo-sidemenu li::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-color: currentColor;
  mask: url("/wp-content/uploads/2025/12/arrow-right-woocommerce.svg") no-repeat
    center;
  -webkit-mask: url("/wp-content/uploads/2025/12/arrow-right-woocommerce.svg")
    no-repeat center;
  mask-size: contain;
  -webkit-mask-size: contain;
}
.woo-sidemenu li.current-menu-item::after {
  width: 15px;
  height: 15px;
  right: 3px;
}
.woo-sidemenu li.current-menu-item::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background: #fcda98;
  border-radius: 50%;
}
.woo-sidemenu li:hover,
.woo-sidemenu li.current-menu-item,
.woo-sidemenu
  li.current-menu-item
  .elementor-widget-cmsmasters-nav-menu__item-text,
.woo-sidemenu li.current-menu-parent,
.woo-sidemenu
  li.current-menu-parent
  .elementor-widget-cmsmasters-nav-menu__item-text {
  color: var(--e-global-color-tertiary);
}

/* ========================================
   BESTELLINGENOVERZICHT
======================================== */
.ffehbo-account-orders-page .cmsmasters-headline { display: none; }
.ffehbo-orders { --orders-navy: #171047; --orders-muted: #716f88; --orders-line: #e6e7ef; width: 100%; color: var(--orders-navy); font-family: var(--ffehbo-font-family); }
.ffehbo-orders__hero { display: grid; grid-template-columns: minmax(0, 3fr) minmax(330px, 2fr); overflow: hidden; min-height: 294px; margin-bottom: 24px; border-radius: 28px; background: #fff; box-shadow: 0 18px 50px rgba(37, 57, 91, .05); }
.ffehbo-orders__hero-copy { display: flex; box-sizing: border-box; justify-content: flex-start; flex-direction: column; padding: 24px 48px 32px; }
.ffehbo-orders__breadcrumb { margin-bottom: 28px; }
.ffehbo-orders__breadcrumb a { display: inline-flex; align-items: center; color: inherit; text-decoration: none; }
.ffehbo-orders__breadcrumb a:hover, .ffehbo-orders__breadcrumb a:focus-visible { color: var(--orders-navy); }
.ffehbo-orders__breadcrumb svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.ffehbo-orders__hero h1 { margin: 0 0 12px; color: var(--orders-navy); line-height: var(--ffehbo-line-height-heading); }
.ffehbo-orders__hero p { max-width: 740px; margin: 0; color: #696986; font-size: var(--ffehbo-font-size-body); line-height: var(--ffehbo-line-height-body); }
.ffehbo-orders__hero-image { display: block; width: 100%; height: 100%; min-height: 294px; object-fit: cover; }
.ffehbo-orders__panel { overflow: visible; padding: 28px 40px; border-radius: 28px; background: rgba(255, 255, 255, .95); box-shadow: 0 18px 50px rgba(37, 57, 91, .06); }
.ffehbo-orders__head, .ffehbo-orders__row { display: grid; grid-template-columns: minmax(225px, 1.55fr) minmax(155px, 1.15fr) 70px minmax(160px, 1.25fr) 120px minmax(260px, 1.75fr); align-items: center; column-gap: 16px; }
.ffehbo-orders__head { min-height: 58px; padding: 0 16px; border-bottom: 1px solid var(--orders-line); color: #6c6a80; font-size: var(--ffehbo-font-size-meta); font-weight: 800; text-transform: uppercase; }
.ffehbo-orders__row { min-height: 136px; padding: 0 16px; border-bottom: 1px solid var(--orders-line); color: var(--orders-muted); font-size: var(--ffehbo-font-size-body); }
.ffehbo-orders__row:last-child { border-bottom: 0; }
.ffehbo-orders__number { display: flex; align-items: center; gap: 28px; }
.ffehbo-orders__number strong, .ffehbo-orders__total { color: var(--orders-navy); font-size: var(--ffehbo-font-size-body); font-weight: 700; }
.ffehbo-orders__type-icon { display: grid; flex: 0 0 62px; box-sizing: border-box; width: 62px; height: 62px; place-items: center; border: 1px solid #dbdce8; border-radius: 16px; background: #f0f0f7; color: var(--orders-navy); }
.ffehbo-orders__type-icon.has-image { overflow: hidden; }
.ffehbo-orders__type-icon img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ffehbo-orders__type-icon svg { width: 29px; height: 29px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.ffehbo-orders__status { display: inline-flex; align-items: center; gap: 14px; white-space: nowrap; }
.ffehbo-orders__status i { flex: 0 0 14px; width: 14px; height: 14px; border-radius: 50%; background: #ffb20b; }
.ffehbo-orders__status:is(.is-cancelled, .is-failed, .is-refunded) i { background: #f1233c; }
.ffehbo-orders__status.is-completed i { background: #2cad75; }
.ffehbo-orders__status.is-pending i { background: #7091bd; }
.ffehbo-orders__actions { display: flex !important; align-items: center; flex-wrap: nowrap !important; gap: 10px; min-width: 0; }
.ffehbo-orders__action { display: inline-flex !important; flex: 1 1 0; box-sizing: border-box; align-items: center; justify-content: center; gap: 8px; min-width: 116px; min-height: 46px; padding: 0 16px; border: 1px solid #c8c6dc; border-radius: 18px; background: #fff; color: var(--orders-navy); font-family: var(--ffehbo-font-family); font-size: var(--ffehbo-font-size-label); font-weight: 700; line-height: 1; text-decoration: none; white-space: nowrap; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.ffehbo-orders__action b { font-size: 24px; font-weight: 400; line-height: 0; transform: translateY(-1px); }
.ffehbo-orders__action svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.ffehbo-orders .ffehbo-orders__action::before, .ffehbo-orders .ffehbo-orders__action:before, .ffehbo-orders .ffehbo-orders__action::after, .ffehbo-orders .ffehbo-orders__action:after { content: none !important; display: none !important; }
.ffehbo-orders__payment-unavailable { position: relative; display: flex; flex: 1 1 0; min-width: 116px; }
.ffehbo-orders__payment-hint { position: absolute; z-index: 10; right: 0; bottom: calc(100% + 10px); width: 240px; max-width: calc(100vw - 72px); box-sizing: border-box; padding: 12px 16px; border-radius: 12px; background: var(--e-global-color-secondary, var(--cmsmasters-colors-secondary)); color: var(--e-global-color-background, var(--cmsmasters-colors-bg)); font-size: var(--ffehbo-font-size-label); line-height: var(--ffehbo-line-height-body); box-shadow: 0 6px 16px rgba(0, 0, 0, .12); visibility: hidden; opacity: 0; transition: opacity .18s ease; }
.ffehbo-orders__payment-unavailable:hover .ffehbo-orders__payment-hint,
.ffehbo-orders__payment-unavailable:focus-within .ffehbo-orders__payment-hint { visibility: visible; opacity: 1; }
.ffehbo-orders__pagination { display: flex; justify-content: flex-end; gap: 12px; padding: 22px 0 0; }
.ffehbo-orders__pagination a { color: var(--orders-navy); font-weight: 700; }
.ffehbo-orders__empty { display: grid; justify-items: center; padding: 45px 20px; text-align: center; }
.ffehbo-orders__empty h2 { margin: 20px 0 5px; color: var(--orders-navy); }
.ffehbo-orders__empty p { margin: 0 0 24px; color: var(--orders-muted); }
@media (max-width: 1180px) {
  .ffehbo-orders__hero { grid-template-columns: minmax(0, 3fr) minmax(280px, 2fr); }
  .ffehbo-orders__hero-copy { padding: 24px 34px 30px; }
  .ffehbo-orders__head { display: none; }
  .ffehbo-orders__row { grid-template-columns: 1.4fr 1fr; gap: 14px 24px; padding: 24px 12px; }
  .ffehbo-orders__number { grid-row: span 2; }
  .ffehbo-orders__row > [data-label]:not(.ffehbo-orders__number)::before { content: attr(data-label) ": "; color: var(--orders-muted); font-weight: 500; }
  .ffehbo-orders__actions { grid-column: 1 / -1; justify-content: flex-end; }
  .ffehbo-orders__action, .ffehbo-orders__payment-unavailable { flex: 0 0 auto; }
}
@media (max-width: 760px) {
  .ffehbo-orders__hero { display: flex; flex-direction: column; border-radius: 22px; }
  .ffehbo-orders__hero-copy { padding: 28px 24px 32px; }
  .ffehbo-orders__breadcrumb { margin-bottom: 22px; }
  .ffehbo-orders__hero-image { width: 100%; height: 190px; min-height: 0; object-position: center 61%; }
  .ffehbo-orders__panel { padding: 12px 18px; border-radius: 22px; }
  .ffehbo-orders__row { display: flex; align-items: stretch; flex-direction: column; }
  .ffehbo-orders__number { gap: 18px; }
  .ffehbo-orders__type-icon { flex-basis: 56px; width: 56px; height: 56px; }
  .ffehbo-orders__actions { justify-content: flex-start; flex-wrap: wrap !important; }
  .ffehbo-orders__payment-unavailable { flex: 0 0 auto; }
  .ffehbo-orders__payment-hint { right: auto; left: 0; }
  .ffehbo-orders__action { min-width: 112px; min-height: 44px; padding: 0 14px; }
}
/* ========================================
   BESTELLING BEKIJKEN
======================================== */
.ffehbo-view-order {
  --order-navy: #071747;
  --order-muted: #697491;
  --order-line: #e3e8ef;
  --order-gold: #fac966;
  width: 100%;
  color: var(--order-navy);
}
.ffehbo-view-order svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.ffehbo-view-order__top-back { display: inline-flex; position: relative; z-index: 1; align-items: center; align-self: flex-start; gap: 7px; margin-bottom: 22px; padding: 9px 13px; border: 1px solid rgba(7, 59, 134, .2); border-radius: 9px; background: rgba(255, 255, 255, .72); color: #073b86; font-size: 12px; font-weight: 700; line-height: 1.2; text-decoration: none; }
.ffehbo-view-order__top-back > span { font-size: 21px; font-weight: 300; line-height: 14px; }
.ffehbo-view-order__hero { position: relative; margin-bottom: 26px; }
.ffehbo-view-order__hero-icon { display: grid; width: 86px; height: 86px; place-items: center; border-radius: 19px; background: linear-gradient(135deg, #ffd67f, #f6b83d); box-shadow: 0 10px 24px rgba(244, 183, 61, .2); }
.ffehbo-view-order__hero-icon svg { width: 39px; height: 39px; stroke-width: 2; }
.ffehbo-view-order__heading { position: relative; z-index: 1; }
.ffehbo-payment-pill i { width: 7px; height: 7px; border-radius: 50%; background: #41a98a; }
.ffehbo-view-order__main-grid { display: grid; grid-template-columns: minmax(0, 1.58fr) minmax(310px, 1fr); gap: 16px; margin-bottom: 22px; }
.ffehbo-order-card { box-sizing: border-box; border: 1px solid #e2e7ed; border-radius: 13px; background: #fff; box-shadow: 0 12px 32px rgba(33, 74, 113, .05); }
.ffehbo-order-card h2 { display: flex; align-items: center; gap: 16px; margin: 0; color: var(--order-navy); font-family: inherit; font-size: var(--ffehbo-font-size-card-title); font-weight: 800; line-height: var(--ffehbo-line-height-heading); }
.ffehbo-order-card__icon { display: inline-flex; color: var(--order-navy); }
.ffehbo-order-products { padding: 24px 14px 0; overflow: hidden; }
.ffehbo-order-products > h2 { padding: 0 14px 22px; }
.ffehbo-order-products__head, .ffehbo-order-product { display: grid; grid-template-columns: minmax(210px, 2.3fr) .55fr .8fr .8fr; align-items: center; column-gap: 12px; }
.ffehbo-order-products__head { padding: 14px 18px; border-radius: 4px; background: #f6f8fb; color: var(--order-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.ffehbo-order-products__head span:not(:first-child), .ffehbo-order-product > span, .ffehbo-order-product > strong { text-align: right; }
.ffehbo-order-product { min-height: 110px; padding: 12px 18px; border-bottom: 1px solid var(--order-line); }
.ffehbo-order-product__name { display: flex; align-items: center; gap: 16px; min-width: 0; }
.ffehbo-order-product__image { display: grid; flex: 0 0 78px; box-sizing: border-box; width: 78px; height: 78px; place-items: center; overflow: hidden; border: 1px solid #dce3ed; border-radius: 8px; }
.ffehbo-order-product__image img { display: block; width: 68px; height: 68px; margin: 0; object-fit: contain; }
.ffehbo-order-product__name strong, .ffehbo-order-product > strong { color: var(--order-navy); font-weight: 800; }
.ffehbo-order-products__totals > div { display: grid; grid-template-columns: 1fr auto; align-items: center; min-height: 60px; padding: 0 18px; border-bottom: 1px solid var(--order-line); color: var(--order-muted); }
.ffehbo-order-products__totals > div:last-child { border-bottom: 0; }
.ffehbo-order-products__totals strong { color: var(--order-navy); }
.ffehbo-order-products__totals .is-total { margin-top: 0; min-height: 76px; background: linear-gradient(90deg, #fff8e8, #fffaf1); color: var(--order-navy); font-size: 19px; font-weight: 800; }
.ffehbo-order-products__totals .is-total strong { font-size: 21px; }
.ffehbo-view-order__sidebar { display: grid; gap: 16px; }
.ffehbo-order-progress, .ffehbo-order-payment { padding: 24px 26px; }
.ffehbo-order-progress ol { margin: 24px 0 0; padding: 0; list-style: none; }
.ffehbo-order-progress li { position: relative; display: grid; grid-template-columns: 30px 1fr; min-height: 58px; color: var(--order-muted); }
.ffehbo-order-progress li:not(:last-child)::before { content: ""; position: absolute; top: 25px; bottom: 3px; left: 10px; border-left: 1px dashed #aebbd0; }
.ffehbo-order-progress li i { z-index: 1; box-sizing: border-box; width: 20px; height: 20px; border: 1px solid #aebbd0; border-radius: 50%; background: #f6f8fb; }
.ffehbo-order-progress li.is-complete i { border: 3px solid #fff; background: #f5ab1e; box-shadow: 0 0 0 2px #f5ab1e; }
.ffehbo-order-progress li strong { font-size: var(--ffehbo-font-size-body); }
.ffehbo-order-progress li.is-complete strong, .ffehbo-order-progress li.is-current strong { color: var(--order-navy); }
.ffehbo-order-progress li span { grid-column: 2; color: var(--order-muted); font-size: var(--ffehbo-font-size-label); }
.ffehbo-order-payment > h2 { margin-bottom: 18px; }
.ffehbo-order-payment > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 58px; border-bottom: 1px solid var(--order-line); color: var(--order-muted); }
.ffehbo-order-payment > div > strong { color: var(--order-navy); text-align: right; }
.ffehbo-order-payment > div > strong.ffehbo-payment-pill { display: inline-flex; align-items: center; gap: 7px; padding: 5px 8px; border-radius: 999px; background: #faf7f0; color: #687287; font-size: 11px; font-weight: 600; white-space: nowrap; }
.ffehbo-order-payment > div > strong.ffehbo-payment-pill.is-paid { background: #f0f7f4; color: #3f7768; }
.ffehbo-order-payment > div.ffehbo-order-payment__deferred { flex-direction: column; align-items: flex-start; gap: 8px; padding: 14px 0; }
.ffehbo-order-payment__deferred p { margin: 0; color: var(--order-navy); font-size: var(--ffehbo-font-size-body); line-height: var(--ffehbo-line-height-body); }
.ffehbo-order-payment__invoice { display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 12px; min-height: 58px; margin-top: 18px; padding: 0 17px; border-radius: 9px; background: linear-gradient(90deg, #fff3d6, #fff8e8); color: var(--order-navy); text-decoration: none; }
.ffehbo-order-payment__invoice > span { font-size: 28px; }
.ffehbo-order-addresses { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 22px; padding: 26px; }
.ffehbo-order-addresses--billing-only { grid-template-columns: 1fr; }
.ffehbo-order-addresses > div { position: relative; min-height: 130px; padding: 8px 28px 8px 68px; }
.ffehbo-order-card__round-icon { display: grid; position: absolute; top: 0; left: 0; width: 48px; height: 48px; place-items: center; border-radius: 50%; background: #f0f5fb; }
.ffehbo-order-card__round-icon svg { width: 27px; height: 27px; }
.ffehbo-order-addresses h2 { font-size: 15px; }
.ffehbo-order-addresses address { margin-top: 14px; color: var(--order-muted); font-style: normal; line-height: 1.55; }
.ffehbo-order-help { display: grid; position: relative; grid-template-columns: 52px 1fr auto; align-items: center; gap: 16px; min-height: 98px; margin-bottom: 22px; padding: 20px 27px; }
.ffehbo-order-help .ffehbo-order-card__round-icon { position: static; }
.ffehbo-order-help h2 { font-size: 15px; }
.ffehbo-order-help p { margin: 3px 0 0; color: var(--order-muted); font-size: 13px; }
.ffehbo-order-help > a { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-width: 190px; min-height: 48px; border: 1px solid #0750a2; border-radius: 12px; color: #073b86; font-weight: 700; text-decoration: none; }
.ffehbo-order-products__actions { padding: 20px 14px 24px; }
.ffehbo-view-order__back > span { font-size: 24px; }
.ffehbo-view-order :is(a.ffehbo-view-order__top-back, a.ffehbo-order-payment__invoice, a.ffehbo-order-help > a, a.ffehbo-view-order__back)::before,
.ffehbo-view-order :is(a.ffehbo-view-order__top-back, a.ffehbo-order-payment__invoice, a.ffehbo-order-help > a, a.ffehbo-view-order__back)::after { content: none !important; display: none !important; }
.ffehbo-view-order :is(a.ffehbo-view-order__top-back, a.ffehbo-order-payment__invoice, a.ffehbo-order-help > a, a.ffehbo-view-order__back):hover { color: var(--order-navy); transform: translateY(-1px); }
@media (max-width: 900px) {
  .ffehbo-view-order__main-grid { grid-template-columns: 1fr; }
  .ffehbo-view-order__sidebar { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 680px) {
  .ffehbo-order-products__head { display: none; }
  .ffehbo-order-product { grid-template-columns: 1fr auto; gap: 9px; }
  .ffehbo-order-product__name { grid-column: 1 / -1; }
  .ffehbo-order-product > span::before, .ffehbo-order-product > strong::before { content: attr(data-label) ": "; color: var(--order-muted); font-weight: 400; }
  .ffehbo-order-product > span, .ffehbo-order-product > strong { grid-column: 1 / -1; text-align: right; }
  .ffehbo-view-order__sidebar, .ffehbo-order-addresses { grid-template-columns: 1fr; }
  .ffehbo-order-addresses > div { padding-right: 0; }
  .ffehbo-order-addresses > div + div { margin-top: 20px; padding-top: 28px; }
  .ffehbo-order-addresses > div + div .ffehbo-order-card__round-icon { top: 20px; }
  .ffehbo-order-help { grid-template-columns: 52px 1fr; }
  .ffehbo-order-help > a { grid-column: 1 / -1; }
}
.ffehbo-account-login {
  width: min(100%, 680px);
  margin: clamp(32px, 6vw, 72px) auto;
}

.ffehbo-account-login .ffehbo-login-ui--page {
  width: 100%;
}

.ffehbo-account-login__register {
	margin: 32px 0 0;
	padding: clamp(28px, 6vw, 56px);
	border-radius: 40px;
	background: #fff;
	box-shadow: 0 20px 60px rgba(15, 35, 65, 0.08);
}

.ffehbo-account-login__register h2 {
	margin-top: 0;
}
