/*
 * WBPhotography - Mini-cart
 */

body {
  --wbp-mini-cart-red: #ed2024;
  --wbp-mini-cart-red-soft: rgba(237, 32, 36, 0.12);
  --wbp-mini-cart-red-soft-strong: rgba(237, 32, 36, 0.18);
  --wbp-mini-cart-text: #1a1a1a;
  --wbp-mini-cart-muted: #888;
  --wbp-mini-cart-label: #555;
  --wbp-mini-cart-divider: rgba(237, 32, 36, 0.16);
  --wbp-mini-cart-blue-bg: var(--wbp-frame-toolbar-bg, rgba(212, 239, 245, 0.84));
  --wbp-mini-cart-blue-bg-hover: var(--wbp-frame-toolbar-bg-hover, rgba(221, 244, 248, 0.9));
  --wbp-mini-cart-blue-border: var(--wbp-frame-toolbar-border, #7db7c8);
  --wbp-frame-line: #ed2024;
  --wbp-frame-divider: rgba(237, 32, 36, 0.16);
  --wbp-frame-stroke: 3px;
  --wbp-mini-cart-bg-image: url("https://wbphotography.nl/wp-content/uploads/2026/03/Gemini_Generated_Image_2xs6fp2xs6fp2xs61.png");
  --wbp-frame-surface:
    linear-gradient(180deg, rgba(236, 249, 251, 0.58), rgba(209, 239, 244, 0.46)),
    var(--wbp-mini-cart-bg-image) center center / cover no-repeat;
  --wbp-frame-shadow: 0 20px 54px rgba(18, 18, 18, 0.14);
}

body .x-modal-content:has(.widget_shopping_cart_content .wbp-mini-cart-frame) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  overflow: visible;
}

body .x-modal-content > .x-text:has(+ .x-mini-cart),
body .x-modal-content > .x-text-headline:has(+ .x-mini-cart) {
  display: none !important;
}

body .x-mini-cart,
body .x-mini-cart .widget_shopping_cart,
body .x-mini-cart .widget_shopping_cart_content,
body .widget_shopping_cart_content {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body .widget_shopping_cart_content .wbp-mini-cart-frame {
  margin: 0;
  border-radius: 30px;
  --wbp-frame-logo-top: -35px;
  --wbp-frame-gap-width: 284;
  --wbp-frame-gap-width-mobile: 224;
  background:
    linear-gradient(180deg, rgba(236, 249, 251, 0.58), rgba(209, 239, 244, 0.46)),
    var(--wbp-mini-cart-bg-image) center center / cover no-repeat;
}

body .widget_shopping_cart_content .wbp-mini-cart-frame__inner {
  padding: 82px 24px 22px;
}

body .widget_shopping_cart_content .wbp-mini-cart-frame--empty .wbp-mini-cart-frame__inner {
  padding-bottom: 24px;
}

body .widget_shopping_cart_content .woocommerce-mini-cart.wbp-mini-cart-groups {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

body .widget_shopping_cart_content .woocommerce-mini-cart.wbp-mini-cart-groups > li {
  list-style: none;
  margin: 0;
  padding: 0 0 18px;
  border-bottom: 1px solid var(--wbp-mini-cart-divider);
}

body .widget_shopping_cart_content .woocommerce-mini-cart.wbp-mini-cart-groups > li + li {
  margin-top: 18px;
}

body .widget_shopping_cart_content .woocommerce-mini-cart.wbp-mini-cart-groups > li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

body .widget_shopping_cart_content .wbp-mini-cart-group__card {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 14px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body .widget_shopping_cart_content .wbp-mini-cart-group__image,
body .widget_shopping_cart_content .wbp-mini-cart-group__image-link {
  display: block;
  width: 100%;
}

body .widget_shopping_cart_content .wbp-mini-cart-group__image img {
  display: block;
  width: 100%;
  height: 92px;
  object-fit: cover;
  border-radius: 14px;
}

body .widget_shopping_cart_content .wbp-mini-cart-group__details {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

body .widget_shopping_cart_content .wbp-mini-cart-license-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: flex-start;
  column-gap: 12px;
  row-gap: 6px;
  padding: 6px 0;
  border-bottom: 1px solid var(--wbp-mini-cart-divider);
}

body .widget_shopping_cart_content .wbp-mini-cart-license-row:first-child {
  padding-top: 2px;
}

body .widget_shopping_cart_content .wbp-mini-cart-license-row:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

body .widget_shopping_cart_content .wbp-mini-cart-license-left {
  min-width: 0;
}

body .widget_shopping_cart_content .wbp-mini-cart-license-label {
  margin: 0;
  font-size: 15px;
  line-height: 1.35;
  color: var(--wbp-mini-cart-text);
}

body .widget_shopping_cart_content .wbp-mini-cart-license-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
  font-size: 12px;
  color: var(--wbp-mini-cart-muted);
}

body .widget_shopping_cart_content .wbp-mini-cart-license-rules {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-top: 4px;
}

body .widget_shopping_cart_content .wbp-mini-cart-license-rules--compact {
  grid-column: 1 / -1;
  margin-top: 2px;
  margin-bottom: 1px;
}

body .widget_shopping_cart_content .wbp-mini-cart-license-rule {
  font-size: 11px;
  line-height: 1.3;
  color: var(--wbp-mini-cart-muted);
}

body .widget_shopping_cart_content .wbp-mini-cart-license-rule--compact {
  display: block;
  font-size: 11.5px;
  font-weight: 500;
  line-height: 1.3;
  color: rgba(84, 116, 127, 0.92);
}

body .widget_shopping_cart_content .wbp-mini-cart-license-price {
  padding-top: 2px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  color: var(--wbp-mini-cart-text);
  white-space: nowrap;
  text-align: right;
}

body .widget_shopping_cart_content a.wbp-mini-cart-remove-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  align-self: start;
  border: 1px solid var(--wbp-mini-cart-red);
  border-radius: 999px;
  background: var(--wbp-mini-cart-red-soft);
  color: var(--wbp-mini-cart-red) !important;
  box-shadow: none;
  text-decoration: none;
  opacity: 1;
}

body .widget_shopping_cart_content a.wbp-mini-cart-remove-btn:hover {
  background: var(--wbp-mini-cart-red-soft-strong);
}

body .widget_shopping_cart_content a.wbp-mini-cart-remove-btn svg {
  width: 14px;
  height: 14px;
  pointer-events: none;
}

body .widget_shopping_cart_content .woocommerce-mini-cart__total.total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  margin: 18px 0 0;
  padding: 18px 0 0;
  border: 0;
  border-top: 1px solid var(--wbp-mini-cart-divider);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--wbp-mini-cart-text);
}

body .widget_shopping_cart_content .woocommerce-mini-cart__total.total strong {
  font-size: 15px;
  font-weight: 600;
  color: var(--wbp-mini-cart-text);
  line-height: 1.35;
}

body .widget_shopping_cart_content .woocommerce-mini-cart__total.total .woocommerce-Price-amount {
  margin-left: auto;
  white-space: nowrap;
  font-size: 15px;
  font-weight: 500;
  color: var(--wbp-mini-cart-text);
}

body .widget_shopping_cart_content .wbp-mini-cart__shipping {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 12px;
  margin: 10px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--wbp-mini-cart-text);
}

body .widget_shopping_cart_content .wbp-mini-cart__shipping-label {
  font-weight: 600;
}

body .widget_shopping_cart_content .wbp-mini-cart__shipping-note {
  color: var(--wbp-mini-cart-muted);
}

body .widget_shopping_cart_content .woocommerce-mini-cart__buttons.buttons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--wbp-mini-cart-divider);
}

body .widget_shopping_cart_content .woocommerce-mini-cart__buttons.buttons::after,
body .widget_shopping_cart_content .woocommerce-mini-cart__buttons.buttons::before {
  display: none;
}

body .widget_shopping_cart_content .woocommerce-mini-cart__buttons.buttons .button,
body .widget_shopping_cart_content .woocommerce-mini-cart__buttons.buttons .wc-forward {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 42px;
  padding: 12px 14px;
  border-radius: 12px;
  text-align: center;
  text-decoration: none;
  box-shadow: none;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-transform: uppercase;
  transition: background 0.26s cubic-bezier(.4,0,.2,1), transform 0.26s cubic-bezier(.4,0,.2,1), box-shadow 0.26s cubic-bezier(.4,0,.2,1);
}

body .widget_shopping_cart_content .woocommerce-mini-cart__buttons.buttons .button:not(.checkout),
body .widget_shopping_cart_content .woocommerce-mini-cart__buttons.buttons .wc-forward:not(.checkout) {
  border: 2px solid var(--wbp-mini-cart-blue-border);
  background: var(--wbp-mini-cart-blue-bg);
  color: var(--wbp-mini-cart-text);
  box-shadow: var(--wbp-frame-toolbar-shadow, 0 10px 26px rgba(69, 50, 36, 0.1));
}

body .widget_shopping_cart_content .woocommerce-mini-cart__buttons.buttons .button:not(.checkout):hover,
body .widget_shopping_cart_content .woocommerce-mini-cart__buttons.buttons .wc-forward:not(.checkout):hover {
  background: var(--wbp-mini-cart-blue-bg-hover);
  color: var(--wbp-mini-cart-text);
}

body .widget_shopping_cart_content .woocommerce-mini-cart__buttons.buttons .button.checkout,
body .widget_shopping_cart_content .woocommerce-mini-cart__buttons.buttons .wc-forward.checkout,
body .widget_shopping_cart_content .woocommerce-mini-cart__buttons.buttons .button.checkout:link,
body .widget_shopping_cart_content .woocommerce-mini-cart__buttons.buttons .button.checkout:visited,
body .widget_shopping_cart_content .woocommerce-mini-cart__buttons.buttons .wc-forward.checkout:link,
body .widget_shopping_cart_content .woocommerce-mini-cart__buttons.buttons .wc-forward.checkout:visited {
  border: 0;
  background: var(--wbp-mini-cart-text);
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body .widget_shopping_cart_content .woocommerce-mini-cart__buttons.buttons .button.checkout *,
body .widget_shopping_cart_content .woocommerce-mini-cart__buttons.buttons .wc-forward.checkout * {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}

body .widget_shopping_cart_content .woocommerce-mini-cart__buttons.buttons .button.checkout:hover,
body .widget_shopping_cart_content .woocommerce-mini-cart__buttons.buttons .wc-forward.checkout:hover,
body .widget_shopping_cart_content .woocommerce-mini-cart__buttons.buttons .button.checkout:focus,
body .widget_shopping_cart_content .woocommerce-mini-cart__buttons.buttons .wc-forward.checkout:focus,
body .widget_shopping_cart_content .woocommerce-mini-cart__buttons.buttons .button.checkout:active,
body .widget_shopping_cart_content .woocommerce-mini-cart__buttons.buttons .wc-forward.checkout:active {
  background: #2d2b28;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
}

body .widget_shopping_cart_content .woocommerce-mini-cart__empty-message {
  margin: 0;
  color: var(--wbp-mini-cart-label);
  text-align: center;
}

@media (max-width: 767px) {
  body .widget_shopping_cart_content .wbp-mini-cart-frame {
    border-radius: 24px;
  }

  body .widget_shopping_cart_content .wbp-mini-cart-frame__inner {
    padding: 76px 18px 18px;
  }

  body .widget_shopping_cart_content .wbp-mini-cart-group__card {
    grid-template-columns: 1fr;
  }

  body .widget_shopping_cart_content .wbp-mini-cart-group__image img {
    height: 160px;
  }
}

@media (max-width: 520px) {
  body .widget_shopping_cart_content .woocommerce-mini-cart__buttons.buttons {
    grid-template-columns: 1fr;
  }
}

/* =============================================================================
   Cornerstone footer – cart icoon: verbergen op desktop (staat al in header)
   ============================================================================= */
@media (min-width: 1025px) {
  body:not(.wbp-zwemmen-page):not(.wbp-events-landing-page):not(.wbp-events-landing-v2-page) .x-colophon .x-anchor.wbp-has-cart-badge,
  body:not(.wbp-zwemmen-page):not(.wbp-events-landing-page):not(.wbp-events-landing-v2-page) .x-colophon .x-anchor:has(.x-graphic img[src*="menu-cart.jpg"]) {
    display: none !important;
  }
}

/* =============================================================================
   Cornerstone footer – cart icoon positie (mobiel/tablet)
   - align-self: flex-start zodat het icoon bovenaan de rij uitlijnt
   - margin-top: 3px  →  3px ruimte t.o.v. de grijze bovenlijn van de footer
   ============================================================================= */
.x-colophon .x-anchor.wbp-has-cart-badge,
.x-colophon .x-anchor:has(.x-graphic img[src*="menu-cart.jpg"]) {
  align-self: center;
  margin-top: 0;
  margin-left: auto;
  margin-right: auto;
  transform: translate(-10px, 4px);
}

.x-colophon .x-anchor.wbp-has-cart-badge .x-anchor-content,
.x-colophon .x-anchor:has(.x-graphic img[src*="menu-cart.jpg"]) .x-anchor-content {
  justify-content: center;
}

/* Badge: positie in de hoek van het cart-icoon (mobiel correct) */
.x-colophon .x-anchor.wbp-has-cart-badge .wbp-cart-badge--on-image {
  left: calc(50% + 8px) !important;
  right: auto !important;
  transform: translateX(-50%) !important;
}

/* Badge: 4px verder naar rechts op desktop, ook op /zwemmen/ */
@media (min-width: 1025px) {
  .x-colophon .x-anchor.wbp-has-cart-badge .wbp-cart-badge--on-image,
  body.wbp-zwemmen-page .x-colophon .x-anchor.wbp-has-cart-badge .wbp-cart-badge--on-image,
  body.wbp-events-landing-v2-page .x-colophon .x-anchor.wbp-has-cart-badge .wbp-cart-badge--on-image,
  body.wbp-events-landing-page .x-colophon .x-anchor.wbp-has-cart-badge .wbp-cart-badge--on-image {
    left: calc(50% + 12px) !important;
  }
}
