.single-product .woocommerce-breadcrumb { margin-bottom: 2rem; }
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(20rem, .85fr); align-items: start; column-gap: clamp(2rem, 6vw, 5rem); }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: auto; float: none; }
.woocommerce div.product div.images { border: 1px solid var(--cc-color-border); border-radius: var(--cc-radius-lg); padding: clamp(1rem, 3vw, 2rem); background: var(--cc-color-soft); }
.woocommerce div.product div.images img { width: 100%; max-height: 38rem; border-radius: var(--cc-radius-md); object-fit: contain; background: transparent; }
.woocommerce div.product div.summary { position: static; border: 1px solid var(--cc-color-border); border-radius: var(--cc-radius-lg); padding: clamp(1.25rem, 3vw, 2rem); background: #fff; box-shadow: 0 1rem 3rem rgba(16,19,22,.06); }
.woocommerce div.product .product_title { font-size: clamp(2rem, 4vw, 3.8rem); }
.woocommerce div.product p.price { color: var(--cc-color-ink); font-size: 1.55rem; font-weight: 900; }
.woocommerce div.product .stock { color: var(--cc-color-success); font-size: .86rem; font-weight: 800; }
.woocommerce div.product form.cart { display: flex; gap: .75rem; margin: 1.5rem 0 .75rem; }
.woocommerce div.product form.cart .quantity { max-width: 5.5rem; }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1; }
.woocommerce div.product form.cart .single_add_to_cart_button {
  min-height: 3.35rem;
  border: 0;
  border-radius: .8rem;
  color: #fff;
  background: linear-gradient(135deg, var(--cc-color-brand), #b31319);
  box-shadow: 0 .65rem 1.4rem rgba(210, 28, 36, .22);
  font-size: .95rem;
  font-weight: 900;
  letter-spacing: .01em;
}

/* 0.9.75 — merklabel en compacte mobiele split: kopen links, blik rechts. */
.cc-product-brand {
  display: inline-flex;
  align-items: baseline;
  gap: .28rem;
  margin-bottom: .75rem;
  border-radius: 999px;
  padding: .38rem .65rem;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .045em;
  line-height: 1;
  text-transform: uppercase;
}
.cc-product-brand--monster { color: #376e19; background: #edf6e8; }
.cc-product-brand--red-bull { color: #073f8c; background: #eaf2fb; }
.cc-product-brand--red-bull b { color: #d21c24; }
.cc-product-brand img { display: block; width: auto; max-width: 8.5rem; height: 1.55rem; object-fit: contain; }
.cc-product-brand--monster img { height: 2.2rem; }

@media (max-width: 700px) {
  body.single-product.woocommerce div.product {
    grid-template-columns: minmax(0, 1.08fr) minmax(8.25rem, .92fr) !important;
    align-items: stretch;
    gap: .5rem;
    padding-inline: .5rem;
  }

  body.single-product.woocommerce div.product div.summary {
    min-width: 0;
    width: 100% !important;
    max-width: 100% !important;
    grid-column: 1;
    grid-row: 1;
    margin: 0 !important;
    border-radius: 1.15rem 0 0 1.15rem !important;
    padding: .9rem .75rem !important;
  }

  body.single-product.woocommerce div.product div.images {
    min-width: 0;
    min-height: 25rem !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-column: 2;
    grid-row: 1;
    margin: 0 !important;
    border-radius: 0 1.15rem 1.15rem 0 !important;
    padding: .5rem !important;
  }

  body.single-product.woocommerce div.product div.images img {
    width: 100% !important;
    max-width: 100% !important;
    height: 23rem !important;
    max-height: 23rem !important;
  }

  body.single-product.woocommerce div.product .woocommerce-tabs,
  body.single-product.woocommerce div.product .related {
    grid-column: 1 / -1;
  }

  body.single-product.woocommerce div.product .product_title {
    max-width: 12ch;
    font-size: clamp(1.3rem, 5.7vw, 1.7rem);
    line-height: .98;
  }

  body.single-product.woocommerce div.product .cc-product-brand {
    margin-bottom: .55rem;
    padding: .32rem .5rem;
    font-size: .6rem;
  }

  body.single-product.woocommerce div.product .woocommerce-product-details__short-description,
  body.single-product.woocommerce div.product .cc-product-assurances,
  body.single-product.woocommerce div.product .product_meta {
    display: none;
  }

  body.single-product.woocommerce div.product form.cart {
    grid-template-columns: 3.5rem minmax(0, 1fr);
    gap: .38rem;
    margin-top: .85rem;
    padding: .35rem;
  }

  body.single-product.woocommerce div.product form.cart .single_add_to_cart_button {
    min-height: 3rem;
    padding-inline: .45rem;
    font-size: .72rem;
  }
}

/* 0.9.85 — één horizontale mobiele koopbalk zonder gridconflicten. */
@media (max-width: 700px) {
  body.single-product.woocommerce div.product .cc-mobile-purchase-slot > form.cart {
    display: flex !important;
    min-height: 3.35rem;
    align-items: stretch !important;
    flex-flow: row nowrap !important;
    gap: .32rem !important;
    border: 1px solid #dce2de;
    border-radius: .95rem;
    padding: .28rem !important;
    background: #f4f6f4;
  }

  body.single-product.woocommerce div.product .cc-mobile-purchase-slot form.cart .quantity {
    display: grid !important;
    flex: 0 0 8.25rem !important;
    width: 8.25rem !important;
    max-width: 8.25rem !important;
    grid-column: auto !important;
    grid-row: auto !important;
    grid-template-columns: 2.65rem 2.95rem 2.65rem !important;
    gap: 0 !important;
    margin: 0 !important;
    border: 1px solid #dce2de;
    border-radius: .72rem;
    background: #fff;
  }

  body.single-product.woocommerce div.product .cc-mobile-purchase-slot form.cart .cc-quantity-step,
  body.single-product.woocommerce div.product .cc-mobile-purchase-slot form.cart input.qty {
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
    min-height: 2.75rem !important;
    height: 2.75rem !important;
    grid-column: auto !important;
    grid-row: auto !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    color: #152019;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 1rem !important;
    font-weight: 900;
    text-align: center;
  }

  body.single-product.woocommerce div.product .cc-mobile-purchase-slot form.cart .cc-quantity-step {
    color: #435149;
    font-size: 1.2rem !important;
  }

  body.single-product.woocommerce div.product .cc-mobile-purchase-slot form.cart .single_add_to_cart_button {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 3rem !important;
    height: 3rem !important;
    grid-column: auto !important;
    grid-row: auto !important;
    margin: 0 !important;
    border: 0;
    border-radius: .72rem;
    padding: .45rem .6rem !important;
    color: #fff;
    background: #118458;
    box-shadow: none;
    font-size: .76rem;
    line-height: 1.05;
    white-space: normal;
  }
}

/* 0.9.79 — één rustige mobiele productkaart met koopflow over volle breedte. */
@media (max-width: 700px) {
  body.single-product.woocommerce div.product {
    display: grid;
    grid-template-columns: minmax(0, 1.28fr) minmax(7rem, .72fr) !important;
    grid-auto-rows: auto;
    align-items: start;
    gap: .55rem .45rem;
    margin-top: 1rem;
    border: 1px solid var(--cc-color-border);
    border-radius: 1.35rem;
    padding: .8rem;
    background: #fff;
    box-shadow: 0 .8rem 2rem rgba(16, 25, 30, .06);
  }

  body.single-product.woocommerce div.product div.summary {
    display: contents;
  }

  body.single-product.woocommerce div.product div.images {
    min-height: 18.5rem !important;
    width: 100% !important;
    grid-column: 2;
    grid-row: 1 / 5;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 1rem !important;
    padding: .3rem !important;
    background: var(--cc-product-stage, #f3f5f5) !important;
    box-shadow: none !important;
  }

  body.single-product.woocommerce div.product div.images img {
    max-width: 72% !important;
    height: 17rem !important;
    max-height: 17rem !important;
  }

  body.single-product.woocommerce div.product .cc-product-brand {
    width: max-content;
    max-width: 100%;
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    margin: 0 0 .1rem;
    border-radius: 0;
    padding: 0;
    background: transparent;
  }

  body.single-product.woocommerce div.product .cc-product-brand img {
    max-width: 6.8rem;
    height: 1.25rem;
  }

  body.single-product.woocommerce div.product .cc-product-brand--monster img {
    max-width: 7.2rem;
    height: 2.15rem;
  }

  body.single-product.woocommerce div.product .product_title {
    min-width: 0;
    max-width: 14ch;
    grid-column: 1;
    grid-row: 2;
    margin: .15rem 0 .25rem;
    font-size: clamp(1.25rem, 5.25vw, 1.58rem);
    line-height: .98;
  }

  body.single-product.woocommerce div.product .product-attributes {
    min-width: 0;
    grid-column: 1;
    grid-row: 3;
    gap: .3rem;
    margin: .15rem 0;
  }

  body.single-product.woocommerce div.product p.price {
    grid-column: 1;
    grid-row: 4;
    align-self: start;
    margin: .25rem 0 0;
    font-size: 1.5rem;
  }

  body.single-product.woocommerce div.product .cc-buy-variants {
    min-width: 0;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    grid-column: 1 / -1;
    grid-row: 5;
    margin: .3rem 0 0;
    border-top: 1px solid var(--cc-color-border);
    padding-top: .75rem;
  }

  body.single-product.woocommerce div.product .cc-buy-variants__list {
    display: flex;
    width: 100%;
    overflow-x: auto;
    gap: .45rem;
    padding: .05rem .05rem .35rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  body.single-product.woocommerce div.product .cc-buy-variant {
    flex: 0 0 min(10rem, 76%);
    max-width: none;
    scroll-snap-align: start;
  }

  body.single-product.woocommerce div.product form.cart {
    display: grid !important;
    min-width: 0;
    width: 100%;
    grid-column: 1 / -1 !important;
    grid-row: 6 !important;
    grid-template-columns: 7.2rem minmax(0, 1fr) !important;
    grid-template-rows: 3.2rem;
    gap: .5rem;
    margin: 0 !important;
    border-radius: .9rem;
    padding: .35rem;
  }

  body.single-product.woocommerce div.product form.cart .quantity {
    display: grid !important;
    min-width: 0;
    width: 100% !important;
    max-width: none !important;
    overflow: visible;
    grid-column: 1 !important;
    grid-row: 1 !important;
    grid-template-columns: 1.8rem minmax(2.5rem, 1fr) 1.8rem;
  }

  body.single-product.woocommerce div.product form.cart .cc-quantity-step,
  body.single-product.woocommerce div.product form.cart .quantity input {
    min-height: 3.2rem;
  }

  body.single-product.woocommerce div.product form.cart .single_add_to_cart_button {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-height: 3.2rem;
    border-radius: .72rem;
    font-size: .78rem;
  }

  body.single-product.woocommerce div.product .woocommerce-product-details__short-description,
  body.single-product.woocommerce div.product .cc-product-assurances,
  body.single-product.woocommerce div.product .product_meta {
    display: none;
  }

  body.single-product.woocommerce div.product .cc-flavor-panel,
  body.single-product.woocommerce div.product .woocommerce-tabs,
  body.single-product.woocommerce div.product .related {
    width: calc(100% + 1.6rem);
    grid-column: 1 / -1;
    margin-right: -.8rem;
    margin-left: -.8rem;
  }
}

@media (max-width: 360px) {
  body.single-product.woocommerce div.product {
    grid-template-columns: minmax(0, 1.35fr) minmax(6.25rem, .65fr) !important;
    padding-inline: .65rem;
  }
  body.single-product.woocommerce div.product form.cart {
    grid-template-columns: 6.5rem minmax(0, 1fr) !important;
  }
}

/* 0.9.80 — rustige mobiele koopflow zonder dubbele smaak- of koopblokken. */
@media (max-width: 700px) {
  body.single-product .cc-flavor-panel,
  body.single-product .cc-purchase-bar {
    display: none !important;
  }

  body.single-product.woocommerce div.product form.cart {
    margin-top: .2rem !important;
    border: 1px solid var(--cc-color-border);
    border-radius: 1rem;
    padding: .45rem;
    background: #f4f6f4;
    box-shadow: none;
  }

  body.single-product.woocommerce div.product form.cart .single_add_to_cart_button {
    border-radius: .78rem;
    background: #118458;
    box-shadow: 0 .45rem 1rem rgba(17, 132, 88, .2);
    font-size: .76rem;
    letter-spacing: 0;
  }

  body.single-product.woocommerce div.product form.cart .single_add_to_cart_button:hover,
  body.single-product.woocommerce div.product form.cart .single_add_to_cart_button:focus {
    background: #0d704a;
  }

  body.single-product.woocommerce div.product .woocommerce-tabs {
    width: calc(100% + 1.6rem);
    margin: 1rem -.8rem 0;
    border-top: 1px solid var(--cc-color-border);
    padding: 1rem .8rem 0;
    background: #fff;
  }

  body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .4rem;
    margin: 0 0 .8rem;
    overflow: visible;
    padding: 0;
  }

  body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li {
    width: 100%;
    margin: 0;
    border-radius: .75rem;
    padding: 0;
    text-align: center;
  }

  body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: block;
    padding: .72rem .45rem;
    font-size: .82rem;
  }

  body.single-product.woocommerce div.product .woocommerce-Tabs-panel {
    margin: 0;
    border: 0;
    border-radius: .9rem;
    padding: 1rem .9rem;
    background: #f7f8f6;
  }

  body.single-product.woocommerce div.product .woocommerce-Tabs-panel h2 {
    margin: 0 0 .75rem;
    font-size: 1.35rem;
    line-height: 1.08;
  }

  body.single-product.woocommerce div.product .woocommerce-Tabs-panel p,
  body.single-product.woocommerce div.product .woocommerce-Tabs-panel li {
    font-size: .98rem;
    line-height: 1.65;
  }

  body.single-product.woocommerce div.product .related {
    margin-top: 1rem;
    border-top: 1px solid var(--cc-color-border);
    padding-top: 1.2rem;
  }
}

/* 0.9.81 — koopformulier blijft op mobiel direct onder de varianten. */
@media (max-width: 700px) {
  body.single-product.woocommerce div.product div.summary > form.cart {
    position: static !important;
    z-index: auto;
    grid-column: 1 / -1 !important;
    grid-row: 6 !important;
    order: 0;
  }
}

/* 0.9.82 — vaste mobiele kooprij vóór beschrijving en gerelateerde producten. */
@media (max-width: 700px) {
  body.single-product.woocommerce div.product .cc-mobile-purchase-slot {
    display: block;
    width: 100%;
    min-width: 0;
    grid-column: 1 / -1;
    grid-row: 6;
    margin: 0;
  }

  body.single-product.woocommerce div.product .cc-mobile-purchase-slot > form.cart {
    position: static !important;
    width: 100%;
    margin: 0 !important;
  }
}

/* 0.9.83 — dwing de mobiele inhoudsvolgorde volledig af. */
@media (max-width: 700px) {
  body.single-product.woocommerce div.product .cc-mobile-purchase-slot {
    grid-row: 6 !important;
  }

  body.single-product.woocommerce div.product .woocommerce-tabs {
    grid-column: 1 / -1 !important;
    grid-row: 7 !important;
  }

  body.single-product.woocommerce div.product .related {
    grid-column: 1 / -1 !important;
    grid-row: 8 !important;
  }
}

@media (max-width: 360px) {
  body.single-product.woocommerce div.product {
    grid-template-columns: minmax(0, 1.12fr) minmax(7rem, .88fr) !important;
  }
  body.single-product.woocommerce div.product div.summary { padding-inline: .6rem !important; }
  body.single-product.woocommerce div.product form.cart { grid-template-columns: 3rem minmax(0, 1fr); }
  body.single-product.woocommerce div.product form.cart .single_add_to_cart_button { font-size: .66rem; }
}

/* 0.9.77 — meer koopruimte, kleiner blik en alleen de ingebouwde zoom. */
@media (max-width: 700px) {
  body.single-product.woocommerce div.product {
    grid-template-columns: minmax(0, 1.32fr) minmax(6.75rem, .68fr) !important;
  }

  body.single-product.woocommerce div.product div.summary,
  body.single-product.woocommerce div.product div.images {
    min-height: 19.5rem !important;
  }

  body.single-product.woocommerce div.product div.images img {
    max-width: 74% !important;
    height: 17.25rem !important;
    max-height: 17.25rem !important;
  }

  body.single-product.woocommerce div.product .cc-product-brand {
    border-radius: .7rem;
    padding: .28rem .42rem;
  }

  body.single-product.woocommerce div.product .cc-product-brand img { max-width: 6.8rem; height: 1.2rem; }
  body.single-product.woocommerce div.product .cc-product-brand--monster img { height: 1.85rem; }

  body.single-product.woocommerce div.product form.cart {
    grid-template-columns: 3.15rem minmax(0, 1fr) !important;
    grid-template-rows: 3rem;
    direction: ltr;
  }

  body.single-product.woocommerce div.product form.cart .quantity {
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
  }

  body.single-product.woocommerce div.product form.cart .single_add_to_cart_button {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    margin: 0 !important;
    border-radius: .72rem;
    padding-inline: .55rem;
    box-shadow: 0 .45rem 1rem color-mix(in srgb, var(--cc-product-accent) 22%, transparent);
    font-size: .72rem;
    white-space: nowrap;
  }

  body.single-product.woocommerce div.product .cc-mobile-product-stage { display: none !important; }
}

/* 0.9.78 — echte merk-PNG's, meer lucht en een compacte hoeveelheidsstepper. */
.woocommerce .quantity { display: grid; grid-template-columns: 1.75rem minmax(2.25rem, 1fr) 1.75rem; align-items: stretch; }
.woocommerce .quantity .cc-quantity-step {
  display: grid;
  min-width: 0;
  border: 1px solid var(--cc-color-border);
  padding: 0;
  place-items: center;
  color: var(--cc-color-ink);
  background: #fff;
  font: 900 1rem/1 system-ui, sans-serif;
  cursor: pointer;
}
.woocommerce .quantity .cc-quantity-step--minus { border-radius: .65rem 0 0 .65rem; }
.woocommerce .quantity .cc-quantity-step--plus { border-radius: 0 .65rem .65rem 0; }
.woocommerce .quantity .qty { border-right: 0 !important; border-left: 0 !important; border-radius: 0 !important; }

@media (max-width: 700px) {
  body.single-product.woocommerce div.product { margin-top: .85rem; }

  body.single-product.woocommerce div.product form.cart {
    grid-template-columns: 6.2rem minmax(0, 1fr) !important;
  }

  body.single-product.woocommerce div.product form.cart .quantity {
    display: grid !important;
    grid-template-columns: 1.65rem minmax(2.4rem, 1fr) 1.65rem;
  }

  body.single-product.woocommerce div.product form.cart .quantity input {
    min-height: 3rem;
    padding-inline: .1rem;
  }
}

@media (max-width: 360px) {
  body.single-product.woocommerce div.product {
    grid-template-columns: minmax(0, 1.38fr) minmax(6rem, .62fr) !important;
  }
  body.single-product.woocommerce div.product div.images img {
    max-width: 70% !important;
    height: 16.5rem !important;
    max-height: 16.5rem !important;
  }
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover { background: #a90f16; transform: translateY(-1px); box-shadow: 0 .8rem 1.7rem rgba(210, 28, 36, .28); }
.woocommerce div.product .product_meta { margin-top: 1.25rem; border-top: 1px solid var(--cc-color-border); padding-top: 1rem; color: var(--cc-color-muted); font-size: .78rem; }
.woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related { grid-column: 1 / -1; margin-top: 3rem; }
.woocommerce div.product .related > h2 { margin-bottom: 1.5rem; font-size: clamp(1.8rem, 4vw, 2.8rem); }
.woocommerce div.product .woocommerce-tabs { border-top: 1px solid var(--cc-color-border); padding-top: 2rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs { margin: 0 0 1.5rem; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0 .4rem 0 0; border: 0; border-radius: 999px; background: var(--cc-color-soft); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { color: #fff; background: var(--cc-color-ink); }
.woocommerce-Tabs-panel--description > h2:first-child { display: none; }
.woocommerce-Tabs-panel--description > h2:not(:first-child) {
  position: relative;
  margin: 2.4rem 0 1rem;
  padding-bottom: .75rem;
  font-size: clamp(1.45rem, 2.3vw, 1.85rem);
  font-weight: 850;
  line-height: 1.2;
  letter-spacing: -.025em;
}
.woocommerce-Tabs-panel--description > h2:not(:first-child)::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 3rem;
  height: 3px;
  border-radius: 999px;
  background: var(--cc-color-success);
  content: "";
}
.woocommerce-Tabs-panel--description > h2:not(:first-child) + p { margin-top: 0; }
.woocommerce-Tabs-panel--description > ul { margin: .25rem 0 1.25rem; }
.product-attributes { display: flex; flex-wrap: wrap; gap: .5rem; margin-block: 1rem; }
.product-attribute { border-radius: 999px; padding: .35rem .7rem; background: var(--cc-color-soft); font-size: .85rem; font-weight: 700; }
.cc-product-assurances { display: grid; gap: .7rem; margin: 1.15rem 0 0; border-top: 1px solid var(--cc-color-border); padding: 1rem 0 0; list-style: none; }
.cc-product-assurances li { display: grid; grid-template-columns: 1.8rem 1fr; column-gap: .55rem; align-items: center; }
.cc-product-assurances li > span { display: grid; width: 1.8rem; height: 1.8rem; grid-row: 1 / 3; place-items: center; border-radius: 50%; color: var(--cc-color-success); background: #eaf7f1; font-weight: 900; }
.cc-product-assurances strong, .cc-product-assurances small { grid-column: 2; line-height: 1.3; }
.cc-product-assurances strong { font-size: .82rem; }
.cc-product-assurances small { color: var(--cc-color-muted); font-size: .72rem; }
@media (max-width: 900px) { .woocommerce div.product div.summary { position: static; } }
.cc-purchase-bar { position: fixed; z-index: 100; right: 0; bottom: 0; left: 0; border-top: 1px solid var(--cc-color-border); padding: .75rem 1rem; background: rgba(255,255,255,.97); box-shadow: 0 -1rem 2.5rem rgba(16,19,22,.12); opacity: 0; transform: translateY(110%); transition: transform .28s ease, opacity .28s ease; backdrop-filter: blur(16px); }
.has-purchase-bar .cc-purchase-bar { opacity: 1; transform: translateY(0); }
.cc-purchase-bar__inner { display: flex; width: min(100%, var(--cc-container)); margin-inline: auto; align-items: center; justify-content: space-between; gap: 1.5rem; }
.cc-purchase-bar__product { display: flex; min-width: 0; flex-direction: column; }
.cc-purchase-bar__product strong { overflow: hidden; font-size: .92rem; text-overflow: ellipsis; white-space: nowrap; }
.cc-purchase-bar__product span { font-size: 1.05rem; font-weight: 900; }
.cc-purchase-bar__action { min-width: min(100%, 29rem); }
.cc-purchase-bar form.cart { display: flex !important; margin: 0 !important; }
.cc-purchase-bar form.cart .single_add_to_cart_button { min-width: 18rem; }
@media (max-width: 640px) {
  .cc-purchase-bar__product { display: none; }
  .cc-purchase-bar__action { width: 100%; min-width: 0; }
  .cc-purchase-bar form.cart .single_add_to_cart_button { min-width: 0; }
}
.cc-flavor-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: clamp(24px, 4vw, 56px);
  margin: 42px auto;
  padding: clamp(24px, 4vw, 44px);
  border: 1px solid var(--cc-border, #dfe4e8);
  border-radius: 24px;
  background: #fff;
}

.cc-flavor-panel h2,
.cc-flavor-panel h3 { margin-top: 0; }
.cc-flavor-panel--story { display: block; }
.cc-flavor-panel .cc-eyebrow { margin-bottom: 6px; color: #66717a; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cc-official-source { margin-bottom: 0; font-size: .9rem; }
.cc-official-source a { text-decoration: underline; text-underline-offset: 3px; }
.cc-variant-list { display: grid; gap: 8px; }
.cc-variant { display: grid; grid-template-columns: 1fr auto auto; gap: 10px; align-items: center; padding: 12px 14px; border: 1px solid #dfe4e8; border-radius: 12px; color: inherit; text-decoration: none; }
.cc-variant:hover { border-color: #94a0a8; }
.cc-variant.is-current { border-color: #111; box-shadow: inset 3px 0 #111; }
.cc-variant small { min-width: 28px; padding: 2px 6px; border-radius: 999px; background: #eef1f3; text-align: center; }
.cc-buy-variants { margin: 1.35rem 0 .25rem; border-top: 1px solid var(--cc-color-border); padding-top: 1rem; }
.cc-buy-variants__title { margin: 0 0 .65rem; font-size: .8rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.cc-buy-variants__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.cc-buy-variant { position: relative; display: grid; min-width: 0; grid-template-columns: 1fr auto; gap: .1rem .5rem; padding: .7rem .75rem; border: 1px solid var(--cc-color-border); border-radius: .75rem; color: var(--cc-color-ink); background: #fff; text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.cc-buy-variant:hover { border-color: #8d989f; transform: translateY(-1px); }
.cc-buy-variant.is-current { border-color: var(--cc-color-ink); box-shadow: inset 3px 0 var(--cc-color-success); }
.cc-buy-variant span { overflow: hidden; grid-column: 1 / -1; color: var(--cc-color-muted); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.cc-buy-variant strong { font-size: .9rem; }
.cc-buy-variant small { justify-self: end; border-radius: 999px; padding: .05rem .4rem; background: var(--cc-color-soft); font-size: .7rem; font-weight: 800; }

@media (max-width: 760px) {
  .cc-flavor-panel { grid-template-columns: 1fr; }
  .cc-buy-variants__list { grid-template-columns: 1fr; }
}

/* 0.9.58 — mobiele productpagina als compacte premium koopflow. */
@media (max-width: 700px) {
  .single-product .site-main { padding-top: .65rem; background: #f2f3f0; }
  .single-product .woocommerce-shell { width: 100%; padding-top: 0; }
  .single-product .woocommerce-breadcrumb {
    width: calc(100% - 1.25rem);
    overflow: hidden;
    margin: 0 auto .65rem;
    color: #777e78;
    font-size: .65rem;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .single-product .woocommerce div.product {
    display: flex;
    width: 100%;
    flex-direction: column;
    gap: 0;
  }
  .single-product .woocommerce div.product div.images {
    position: relative;
    width: 100%;
    max-width: none;
    min-height: 20.5rem;
    margin: 0;
    border: 0;
    border-radius: 0;
    padding: 1rem 1rem 1.4rem;
    background: #e8eae6;
  }
  .single-product .woocommerce div.product div.images::after {
    position: absolute;
    right: 18%;
    bottom: 1.2rem;
    left: 18%;
    height: 1rem;
    border-radius: 50%;
    opacity: .18;
    background: #151a16;
    content: "";
    filter: blur(.8rem);
  }
  .single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper { position: relative; z-index: 2; }
  .single-product .woocommerce div.product div.images .woocommerce-product-gallery__image { display: flex; min-height: 18rem; align-items: center; justify-content: center; }
  .single-product .woocommerce div.product div.images .woocommerce-product-gallery__image > a { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
  .single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image > a > img,
  .single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image > img {
    width: auto;
    max-width: 88%;
    height: 18rem;
    max-height: 18rem;
    padding: 0;
    object-fit: contain;
    filter: drop-shadow(0 1.15rem .9rem rgba(16,23,19,.2));
  }
  .single-product .woocommerce-product-gallery__trigger {
    top: .8rem!important;
    right: .8rem!important;
    display: grid!important;
    width: 2.7rem!important;
    height: 2.7rem!important;
    place-items: center;
    border: 1px solid rgba(16,23,19,.08)!important;
    border-radius: 50%!important;
    color: #101713!important;
    background: rgba(255,255,255,.9)!important;
    box-shadow: 0 .35rem 1rem rgba(16,23,19,.08)!important;
  }
  .single-product .woocommerce div.product div.summary {
    position: relative;
    z-index: 4;
    width: calc(100% - 1rem);
    margin: -.55rem auto 0;
    border: 0;
    border-radius: 1.35rem 1.35rem 0 0;
    padding: 1.25rem 1rem 1.1rem;
    background: #fff;
    box-shadow: 0 -.55rem 1.8rem rgba(16,23,19,.06);
  }
  .single-product .woocommerce div.product .product_title {
    margin: 0;
    font-size: clamp(1.65rem,7.5vw,2.2rem);
    line-height: 1.03;
    letter-spacing: -.04em;
  }
  .single-product .summary > .cc-product-meta {
    min-height: 0;
    margin: .65rem 0 .55rem;
    gap: .35rem;
  }
  .single-product .summary > .cc-product-meta > span:not([aria-hidden]) {
    border-radius: 999px;
    padding: .3rem .62rem;
    color: #4f5751;
    background: #eef0ed;
    font-size: .68rem;
    font-weight: 800;
  }
  .single-product .woocommerce div.product p.price {
    margin: .25rem 0 .7rem;
    color: #101713;
    font-size: 1.6rem;
    line-height: 1;
  }
  .single-product .woocommerce-product-details__short-description {
    margin: 0;
    color: #5d655f;
    font-size: .84rem;
    line-height: 1.55;
  }
  .single-product .woocommerce-product-details__short-description p { margin: 0; }
  .single-product .cc-buy-variants {
    margin: 1.05rem -.2rem .25rem;
    border-top: 1px solid #e5e8e4;
    padding: 1rem .2rem 0;
  }
  .single-product .cc-buy-variants__title { margin-bottom: .55rem; color: #5d655f; font-size: .67rem; letter-spacing: .08em; }
  .single-product .cc-buy-variants__list {
    display: flex;
    overflow-x: auto;
    gap: .5rem;
    margin-right: -.8rem;
    padding: .05rem .8rem .35rem 0;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }
  .single-product .cc-buy-variants__list::-webkit-scrollbar { display: none; }
  .single-product .cc-buy-variant {
    min-width: 8.6rem;
    flex: 0 0 8.6rem;
    scroll-snap-align: start;
    border-radius: .85rem;
    padding: .7rem;
    background: #f7f8f6;
  }
  .single-product .cc-buy-variant.is-current { border-color: #101713; box-shadow: inset 0 -3px #138756; }
  .single-product .woocommerce div.product form.cart {
    display: grid;
    grid-template-columns: 4.25rem minmax(0,1fr);
    gap: .55rem;
    margin: 1rem 0 .5rem;
    border-radius: 1rem;
    padding: .55rem;
    background: #eef0ed;
  }
  .single-product .woocommerce div.product form.cart .quantity { width: 100%; max-width: none; }
  .single-product .woocommerce div.product form.cart .quantity input {
    width: 100%;
    min-height: 3.35rem;
    border: 1px solid #d5dad5;
    border-radius: .75rem;
    padding: 0 .3rem;
    color: #101713;
    background: #fff;
    font-weight: 900;
  }
  .single-product .woocommerce div.product form.cart .single_add_to_cart_button {
    min-height: 3.35rem;
    border-radius: .75rem;
    background: #138756;
    box-shadow: 0 .55rem 1.1rem rgba(19,135,86,.22);
    font-size: .86rem;
  }
  .single-product .woocommerce div.product form.cart .single_add_to_cart_button:hover { background: #0e7248; }
  .single-product .cc-product-assurances {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: .45rem;
    margin: .9rem 0 0;
    padding-top: .9rem;
  }
  .single-product .cc-product-assurances li {
    display: flex;
    min-width: 0;
    min-height: 6.3rem;
    flex-direction: column;
    justify-content: flex-start;
    gap: .35rem;
    border-radius: .85rem;
    padding: .65rem .45rem;
    background: #f5f6f3;
    text-align: center;
  }
  .single-product .cc-product-assurances li > span { width: 1.85rem; height: 1.85rem; flex: 0 0 auto; grid-row: auto; }
  .single-product .cc-product-assurances strong,.single-product .cc-product-assurances small { grid-column: auto; }
  .single-product .cc-product-assurances strong { font-size: .68rem; line-height: 1.15; }
  .single-product .cc-product-assurances small { display: none; }
  .single-product .woocommerce div.product .product_meta { margin-top: .85rem; padding-top: .8rem; font-size: .67rem; }
  .single-product .woocommerce div.product .woocommerce-tabs {
    width: 100%;
    margin: .75rem 0 0;
    border: 0;
    padding: 1.15rem .75rem 0;
    background: #fff;
  }
  .single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex;
    overflow-x: auto;
    gap: .45rem;
    margin: 0 0 1rem;
    white-space: nowrap;
    scrollbar-width: none;
  }
  .single-product .woocommerce div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
  .single-product .woocommerce div.product .woocommerce-tabs ul.tabs li { flex: 0 0 auto; margin: 0; border-radius: 999px; padding: 0 .15rem; }
  .single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: .72rem .8rem; font-size: .74rem; }
  .single-product .woocommerce-Tabs-panel {
    margin: 0;
    border-radius: 1rem;
    padding: 1rem;
    color: #3f4741;
    background: #f5f6f3;
    font-size: .86rem;
    line-height: 1.65;
  }
  .single-product .woocommerce-Tabs-panel > :first-child { margin-top: 0; }
  .single-product .woocommerce div.product .related {
    width: 100%;
    margin: 0;
    padding: 2rem .625rem 1rem;
    background: #f2f3f0;
  }
  .single-product .woocommerce div.product .related > h2 { margin: 0 0 1rem; font-size: 1.65rem; letter-spacing: -.035em; }
  .single-product .cc-purchase-bar {
    border-top: 0;
    border-radius: 1rem 1rem 0 0;
    padding: .55rem .625rem max(.55rem,env(safe-area-inset-bottom));
    box-shadow: 0 -.8rem 2.2rem rgba(16,23,19,.14);
  }
  .single-product .cc-purchase-bar form.cart { margin: 0!important; padding: .35rem!important; }
}

@media (max-width: 380px) {
  .single-product .woocommerce div.product div.images { min-height: 18.5rem; }
  .single-product .woocommerce div.product div.images .woocommerce-product-gallery__image { min-height: 16rem; }
  .single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image > a > img,
  .single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image > img { height: 16rem; max-height: 16rem; }
}

/* 0.9.59 — harde viewportcorrectie voor iPhone en smalle productpagina's. */
@media(max-width:700px){
html:has(body.single-product),body.single-product{max-width:100%;overflow-x:clip}
.single-product .site-main,.single-product .site-main>.site-container,.single-product .woocommerce-shell,.single-product .woocommerce,.single-product .woocommerce div.product,.single-product .woocommerce div.product>*{box-sizing:border-box;max-width:100%;min-width:0}
.single-product .site-main>.site-container{width:100%;margin:0;padding:0}
.single-product .woocommerce div.product div.images{box-sizing:border-box;width:calc(100% - 1rem)!important;margin:0 auto!important;border-radius:1.15rem!important;padding:1rem 1.25rem 1.35rem!important;overflow:hidden}
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper,.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image,.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image>a{box-sizing:border-box;width:100%!important;max-width:100%!important;margin:0!important}
.single-product .woocommerce div.product div.images img{display:block!important;width:auto!important;max-width:78%!important;height:18rem!important;max-height:18rem!important;margin:0 auto!important;object-position:center!important}
.single-product .woocommerce div.product div.summary{box-sizing:border-box;width:calc(100% - 1rem)!important;max-width:calc(100% - 1rem)!important;margin:-.45rem auto 0!important;overflow:hidden}
.single-product .woocommerce div.product div.summary *,.single-product .woocommerce-tabs *,.single-product .related *{max-width:100%;overflow-wrap:anywhere;word-break:normal}
.single-product .woocommerce-product-details__short-description,.single-product .woocommerce-Tabs-panel,.single-product .product_meta{overflow:hidden}
.single-product .cc-buy-variants__list{max-width:none;overflow-x:auto}.single-product .cc-buy-variant{max-width:8.6rem}
.single-product .woocommerce div.product form.cart{box-sizing:border-box;width:100%;max-width:100%}
.single-product .woocommerce div.product .woocommerce-tabs,.single-product .woocommerce div.product .related{box-sizing:border-box;max-width:100%;overflow:hidden}
}

/* 0.9.72 — producthero met merkgevoel en een rustigere koopflow. */
.single-product .woocommerce-shell{padding-top:1.25rem}
.single-product .woocommerce div.product{
  --cc-product-accent:#147a50;
  --cc-product-stage:#e9eee9;
  gap:0;
  overflow:visible;
}
.single-product .woocommerce div.product.product_cat-red-bull{
  --cc-product-accent:#123f82;
  --cc-product-stage:#e8f1f6;
}
.single-product .woocommerce div.product.product_cat-monster{
  --cc-product-accent:#69b62d;
  --cc-product-stage:#e9eee7;
}
.single-product .woocommerce div.product div.images{
  position:relative;
  min-height:42rem;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  border:0;
  border-radius:1.8rem 0 0 1.8rem;
  padding:clamp(2rem,5vw,4.5rem);
  overflow:hidden;
  background:var(--cc-product-stage);
}
.single-product .woocommerce div.product div.images::before{
  position:absolute;
  top:2rem;
  left:2rem;
  width:3.1rem;
  height:.35rem;
  border-radius:999px;
  background:var(--cc-product-accent);
  content:"";
}
.single-product .woocommerce div.product div.images::after{
  position:absolute;
  right:20%;
  bottom:3.6rem;
  left:20%;
  height:1.2rem;
  border-radius:50%;
  opacity:.16;
  background:#111;
  content:"";
  filter:blur(.9rem);
}
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper{position:relative;z-index:2;width:100%}
.single-product .woocommerce div.product div.images img{
  width:auto;
  max-width:82%;
  height:34rem;
  max-height:34rem;
  margin:0 auto;
  object-fit:contain;
  filter:drop-shadow(0 1.5rem 1.2rem rgba(15,25,19,.2));
}
.single-product .woocommerce div.product div.summary{
  min-height:42rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
  margin:0;
  border:0;
  border-radius:0 1.8rem 1.8rem 0;
  padding:clamp(2rem,4.5vw,4rem);
  box-shadow:0 1.2rem 3rem rgba(16,19,22,.08);
}
.single-product .woocommerce div.product div.summary::before{
  width:max-content;
  margin-bottom:1rem;
  border-radius:999px;
  padding:.4rem .7rem;
  color:var(--cc-product-accent);
  background:color-mix(in srgb,var(--cc-product-accent) 10%,white);
  content:"Energy drink";
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.single-product .woocommerce div.product .product_title{
  max-width:12ch;
  margin:0;
  font-size:clamp(2.35rem,3.8vw,3.75rem);
  line-height:.98;
  letter-spacing:-.055em;
}
.single-product .summary>.cc-product-meta{margin:.9rem 0 .6rem}
.single-product .summary>.cc-product-meta>span:not([aria-hidden]){
  border-radius:999px;
  padding:.38rem .68rem;
  color:#4e5751;
  background:#f0f2ef;
  font-size:.73rem;
  font-weight:850;
}
.single-product .woocommerce div.product p.price{margin:.45rem 0 .9rem;font-size:1.8rem}
.single-product .woocommerce-product-details__short-description{max-width:36rem;color:#59615b;font-size:.92rem;line-height:1.55}
.single-product .woocommerce div.product form.cart{margin:1.2rem 0 .65rem;border-radius:1rem;padding:.55rem;background:#f1f3f0}
.single-product .woocommerce div.product form.cart .quantity input{min-height:3.45rem;border:1px solid #d4d9d4;border-radius:.75rem;background:#fff;font-weight:900}
.single-product .woocommerce div.product form.cart .single_add_to_cart_button{
  min-height:3.45rem;
  border-radius:.75rem;
  background:var(--cc-product-accent);
  box-shadow:0 .65rem 1.35rem color-mix(in srgb,var(--cc-product-accent) 24%,transparent);
}
.single-product .woocommerce div.product form.cart .single_add_to_cart_button:hover{background:color-mix(in srgb,var(--cc-product-accent) 85%,black)}
.single-product .cc-product-assurances{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.single-product .cc-product-assurances li{
  min-width:0;
  border-radius:.85rem;
  padding:.65rem;
  background:#f6f7f5;
}
.single-product .cc-product-assurances small{display:none}
.single-product .woocommerce div.product .woocommerce-tabs{
  margin-top:3.5rem;
  border:0;
  border-radius:1.5rem;
  padding:clamp(1.25rem,3vw,2.25rem);
  background:#fff;
  box-shadow:0 .8rem 2.4rem rgba(16,19,22,.05);
}
.single-product .woocommerce-Tabs-panel{max-width:58rem;color:#3f4741;font-size:1rem;line-height:1.75}
.single-product .woocommerce div.product .related{margin-top:2.5rem;border-radius:1.5rem;padding:clamp(1rem,2vw,1.5rem);background:#eef0ed}

@media(max-width:700px){
  .single-product .woocommerce-shell{padding-top:0}
  .single-product .woocommerce div.product div.images{
    min-height:21rem!important;
    border-radius:1.2rem!important;
    padding:1.35rem!important;
    background:var(--cc-product-stage)!important;
  }
  .single-product .woocommerce div.product div.images::before{top:1rem;left:1rem;width:2.5rem;height:.28rem}
  .single-product .woocommerce div.product div.images::after{right:24%;bottom:1.8rem;left:24%}
  .single-product .woocommerce div.product div.images img{
    max-width:72%!important;
    height:18rem!important;
    max-height:18rem!important;
  }
  .single-product .woocommerce div.product div.summary{
    min-height:0;
    width:calc(100% - 1rem)!important;
    margin:-.55rem auto 0!important;
    border-radius:1.35rem!important;
    padding:1.2rem 1rem!important;
  }
  .single-product .woocommerce div.product div.summary::before{margin-bottom:.65rem;padding:.32rem .58rem;font-size:.6rem}
  .single-product .woocommerce div.product .product_title{max-width:15ch;font-size:clamp(1.6rem,7vw,2.05rem)}
  .single-product .cc-product-assurances{gap:.4rem}
  .single-product .cc-product-assurances li{min-height:4.9rem;padding:.55rem .35rem}
  .single-product .woocommerce div.product .woocommerce-tabs{width:calc(100% - 1rem);margin:1rem auto 0;padding:.75rem}
  .single-product .woocommerce div.product .related{width:100%;margin-top:1rem;border-radius:0;padding:1.4rem .625rem}
}

/* 0.9.74 — productbeeld rechts; koopinformatie links. */
@media (min-width: 901px) {
  body.single-product.woocommerce div.product {
    grid-template-columns: minmax(20rem, .82fr) minmax(0, 1.18fr);
    column-gap: 0;
  }

  body.single-product.woocommerce div.product div.summary {
    grid-column: 1;
    grid-row: 1;
    border-radius: 1.8rem 0 0 1.8rem;
  }

  body.single-product.woocommerce div.product div.images {
    grid-column: 2;
    grid-row: 1;
    border-radius: 0 1.8rem 1.8rem 0;
  }

  body.single-product.woocommerce div.product div.images::before {
    right: 2rem;
    left: auto;
  }
}

/* 0.9.76 — rustige mobiele koopkaart met tweede, grotere blikpresentatie. */
.cc-mobile-product-stage { display: none; }

@media (max-width: 700px) {
  body.single-product.woocommerce div.product {
    grid-template-columns: minmax(0, 1.16fr) minmax(7.5rem, .84fr) !important;
    gap: .35rem;
  }

  body.single-product.woocommerce div.product div.summary {
    min-height: 20.5rem;
    padding: .78rem .68rem !important;
  }

  body.single-product.woocommerce div.product div.images {
    min-height: 20.5rem !important;
    padding: .4rem !important;
  }

  body.single-product.woocommerce div.product div.images img {
    width: auto !important;
    max-width: 84% !important;
    height: 18.5rem !important;
    max-height: 18.5rem !important;
    margin-inline: auto !important;
  }

  body.single-product.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
    top: .55rem;
    right: .45rem;
    transform: scale(.78);
    transform-origin: top right;
  }

  body.single-product.woocommerce div.product .product_title {
    max-width: 13ch;
    margin-bottom: .55rem;
    font-size: clamp(1.18rem, 5vw, 1.48rem);
    line-height: 1;
  }

  body.single-product.woocommerce div.product .product-attributes {
    gap: .3rem;
    margin-block: .55rem;
  }

  body.single-product.woocommerce div.product .product-attribute {
    padding: .3rem .48rem;
    font-size: .68rem;
  }

  body.single-product.woocommerce div.product p.price {
    margin-block: .6rem;
    font-size: 1.35rem;
  }

  body.single-product.woocommerce div.product form.cart {
    display: grid !important;
    width: 100%;
    grid-template-columns: 3.15rem minmax(0, 1fr) !important;
    align-items: stretch;
    gap: .35rem;
    margin: .7rem 0 0 !important;
    padding: .3rem;
  }

  body.single-product.woocommerce div.product form.cart .quantity,
  body.single-product.woocommerce div.product form.cart .quantity input {
    width: 100% !important;
    min-width: 0;
    min-height: 2.9rem;
  }

  body.single-product.woocommerce div.product form.cart .single_add_to_cart_button {
    min-width: 0;
    min-height: 2.9rem;
    padding: .35rem .4rem;
    font-size: .72rem;
    line-height: 1.05;
    white-space: normal;
  }

  body.single-product.woocommerce div.product .cc-mobile-product-stage {
    position: relative;
    display: grid;
    min-height: 31rem;
    overflow: hidden;
    place-items: center;
    grid-column: 1 / -1;
    margin: .65rem 0 .25rem;
    border: 1px solid var(--cc-color-border);
    border-radius: 1.3rem;
    padding: 1rem;
    background: var(--cc-product-stage, #f1f3f4);
  }

  body.single-product.woocommerce div.product .cc-mobile-product-stage__image {
    display: block;
    width: auto;
    max-width: 82%;
    height: 28rem;
    max-height: 28rem;
    object-fit: contain;
    filter: drop-shadow(0 1.1rem 1.1rem rgba(16, 25, 30, .16));
  }
}

@media (max-width: 360px) {
  body.single-product.woocommerce div.product {
    grid-template-columns: minmax(0, 1.2fr) minmax(6.8rem, .8fr) !important;
  }
  body.single-product.woocommerce div.product div.summary,
  body.single-product.woocommerce div.product div.images { min-height: 19rem !important; }
  body.single-product.woocommerce div.product div.images img { height: 17rem !important; max-height: 17rem !important; }
  body.single-product.woocommerce div.product form.cart { grid-template-columns: 2.8rem minmax(0, 1fr) !important; }
}

/* 0.9.84 — compacte vierdelige koopbediening en AJAX-status. */
@media (max-width: 700px) {
  body.single-product .woocommerce-notices-wrapper .woocommerce-message {
    display: none !important;
  }

  body.single-product.woocommerce div.product .cc-mobile-purchase-slot > form.cart {
    display: grid !important;
    grid-template-columns: 2.75rem 2.8rem 2.75rem minmax(0, 1fr) !important;
    grid-template-rows: 3.15rem !important;
    gap: .22rem !important;
    border: 1px solid #dbe1dd;
    border-radius: 1rem;
    padding: .32rem !important;
    background: #f5f7f5;
  }

  body.single-product.woocommerce div.product .cc-mobile-purchase-slot form.cart .quantity {
    display: contents !important;
  }

  body.single-product.woocommerce div.product .cc-mobile-purchase-slot form.cart .cc-quantity-step,
  body.single-product.woocommerce div.product .cc-mobile-purchase-slot form.cart input.qty {
    min-width: 0 !important;
    width: 100% !important;
    min-height: 3.15rem !important;
    height: 3.15rem !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: .7rem !important;
    padding: 0 !important;
    color: #142019;
    background: #fff !important;
    box-shadow: none !important;
    font-size: 1.05rem !important;
    font-weight: 850;
    text-align: center;
  }

  body.single-product.woocommerce div.product .cc-mobile-purchase-slot form.cart .cc-quantity-step--minus { grid-column: 1; }
  body.single-product.woocommerce div.product .cc-mobile-purchase-slot form.cart input.qty { grid-column: 2; }
  body.single-product.woocommerce div.product .cc-mobile-purchase-slot form.cart .cc-quantity-step--plus { grid-column: 3; }

  body.single-product.woocommerce div.product .cc-mobile-purchase-slot form.cart .single_add_to_cart_button {
    grid-column: 4 !important;
    min-width: 0 !important;
    min-height: 3.15rem !important;
    height: 3.15rem;
    margin: 0 !important;
    border-radius: .78rem;
    padding: .45rem .65rem !important;
    color: #fff;
    background: #118458;
    box-shadow: none;
    font-size: .78rem;
    line-height: 1.05;
  }

  body.single-product.woocommerce div.product .cc-mobile-purchase-slot form.cart .single_add_to_cart_button.is-loading {
    opacity: .7;
    pointer-events: none;
  }
}

/* 0.9.85 final — overschrijft oudere mobiele gridregels. */
@media (max-width: 700px) {
  body.single-product.woocommerce div.product .cc-mobile-purchase-slot > form.cart {
    display: flex !important;
    min-height: 3.35rem;
    align-items: center !important;
    flex-flow: row nowrap !important;
    gap: .32rem !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    border: 1px solid #dce2de;
    border-radius: .95rem;
    padding: .28rem !important;
    background: #f4f6f4;
  }

  body.single-product.woocommerce div.product .cc-mobile-purchase-slot form.cart .quantity {
    display: grid !important;
    flex: 0 0 8.25rem !important;
    width: 8.25rem !important;
    max-width: 8.25rem !important;
    grid-column: auto !important;
    grid-row: auto !important;
    grid-template-columns: 2.65rem 2.95rem 2.65rem !important;
    gap: 0 !important;
    margin: 0 !important;
    border: 1px solid #dce2de;
    border-radius: .72rem;
    background: #fff;
  }

  body.single-product.woocommerce div.product .cc-mobile-purchase-slot form.cart .cc-quantity-step,
  body.single-product.woocommerce div.product .cc-mobile-purchase-slot form.cart input.qty {
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
    min-height: 2.75rem !important;
    height: 2.75rem !important;
    grid-column: auto !important;
    grid-row: auto !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    color: #152019;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 1rem !important;
    font-weight: 900;
    text-align: center;
  }

  body.single-product.woocommerce div.product .cc-mobile-purchase-slot form.cart .cc-quantity-step {
    color: #435149;
    font-size: 1.2rem !important;
  }

  body.single-product.woocommerce div.product .cc-mobile-purchase-slot form.cart .single_add_to_cart_button {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 3rem !important;
    height: 3rem !important;
    grid-column: auto !important;
    grid-row: auto !important;
    margin: 0 !important;
    border: 0;
    border-radius: .72rem;
    padding: .45rem .6rem !important;
    color: #fff;
    background: #118458;
    box-shadow: none;
    font-size: .76rem;
    line-height: 1.05;
    white-space: normal;
  }
}
