/* Cykelbutikken – produktsiden i forsidens stil (cb-produktside)
   Ligger oven på Tilpas › Ekstra CSS, derfor body.single-product foran og !important hvor den gamle CSS bruger det. */

body.single-product {
  --cb-cream: #F6EFE4;
  --cb-sand: #EBDDC7;
  --cb-sand-2: #E2D0B4;
  --cb-ink: #1E1B19;
  --cb-ink-2: #4A403B;
  --cb-orange: #FB5832;
  --cb-orange-d: #C2380F;
  --cb-yellow: #FFCB3D;
  --cb-display: "Source Sans 3", sans-serif;
  --cb-ease: cubic-bezier(.22,.61,.36,1);
  --cb-spring: cubic-bezier(.34,1.56,.64,1);
  background: var(--cb-cream);
  color: var(--cb-ink-2);
}
body.single-product #content,
body.single-product #content .ast-container,
body.single-product [data-elementor-type="product"] { background: var(--cb-cream); }

/* ---------- billede ---------- */
body.single-product .elementor-element-c7706fc { background: #fff !important; border-radius: 22px !important; box-shadow: none !important; }
body.single-product #cb-billedkort .flex-control-thumbs li img.flex-active,
body.single-product #cb-billedkort .flex-control-thumbs li img:hover { border-color: var(--cb-ink); }
body.single-product .elementor-location-single #cb-billedkort .ast-onsale-card,
body.single-product .elementor-location-single .elementor-widget-woocommerce-product-images .ast-onsale-card {
  background: var(--cb-orange) !important; color: #fff !important; font-weight: 700 !important; box-shadow: none !important;
}

/* ---------- titel, tekst, brødkrumme ---------- */
body.single-product .cb-brodkrumme .woocommerce-breadcrumb,
body.single-product .cb-brodkrumme .woocommerce-breadcrumb a { color: var(--cb-ink-2); }
body.single-product .cb-brodkrumme .woocommerce-breadcrumb a:hover { color: var(--cb-orange-d); }
body.single-product .cb-titel .elementor-heading-title,
body.single-product .cb-titel h1 {
  font-family: var(--cb-display) !important; font-weight: 800 !important; color: var(--cb-ink) !important;
  font-size: clamp(32px, 3.4vw, 48px) !important; line-height: 1.04 !important; letter-spacing: -.01em;
}
body.single-product .cb-kort-beskrivelse { font-size: 17px; line-height: 1.55; color: var(--cb-ink-2); }

/* ---------- pris som gult prisskilt ---------- */
body.single-product .cb-pris .price {
  position: relative; display: inline-flex; align-items: baseline; gap: 10px; flex-wrap: wrap;
  background: var(--cb-yellow); color: var(--cb-ink) !important;
  padding: 12px 22px 12px 36px; margin: 4px 0 8px; border-radius: 6px;
  clip-path: polygon(16px 0, 100% 0, 100% 100%, 16px 100%, 0 50%);
  font-family: var(--cb-display); font-weight: 800; font-size: 32px; line-height: 1;
}
body.single-product .cb-pris .price::before {
  content: ""; position: absolute; left: 13px; top: 50%; width: 9px; height: 9px; margin-top: -4.5px;
  border-radius: 50%; background: rgba(30,27,25,.35);
}
body.single-product .cb-pris .price del { font-size: 17px; font-weight: 500; color: var(--cb-ink-2) !important; opacity: .75; margin: 0; }
body.single-product .cb-pris .price ins { text-decoration: none; background: none; color: inherit; }

/* ---------- tilvalg (YITH) ---------- */
body.single-product .cb-koeb .yith-wapo-addon { background: var(--cb-sand) !important; border-radius: 18px !important; }
body.single-product .cb-koeb .yith-wapo-addon-title { font-family: var(--cb-display) !important; font-size: 18px !important; color: var(--cb-ink) !important; }
body.single-product .cb-koeb .yith-wapo-addon-title::before { color: var(--cb-orange-d); }
body.single-product .cb-koeb .yith-wapo-option { border-color: transparent; background: var(--cb-cream); }
body.single-product .cb-koeb .yith-wapo-option:hover { border-color: var(--cb-ink); }
body.single-product .cb-koeb .yith-wapo-option:has(input:checked) { border-color: var(--cb-ink); box-shadow: none; background: #fff; }
body.single-product .cb-koeb .yith-wapo-option input[type=checkbox]:checked { background: var(--cb-ink); border-color: var(--cb-ink); }
body.single-product .cb-koeb .yith-wapo-option label .option-price,
body.single-product .cb-koeb .yith-wapo-option label small,
body.single-product .cb-koeb .yith-wapo-option .yith-wapo-option-price { color: var(--cb-ink); }
body.single-product .cb-koeb #wapo-total-price-table tr.wapo-total-order th,
body.single-product .cb-koeb #wapo-total-price-table tr.wapo-total-order td { border-top-color: var(--cb-sand-2); }
body.single-product .cb-koeb #wapo-total-price-table tr.wapo-total-order td { font-family: var(--cb-display); color: var(--cb-ink); }

/* ---------- antal + læg i kurv ---------- */
body.single-product .cb-koeb form.cart .quantity { border-color: var(--cb-sand-2); background: #fff; }
body.single-product .cb-koeb form.cart .quantity .ast-qty-btn,
body.single-product .cb-koeb form.cart .quantity .minus,
body.single-product .cb-koeb form.cart .quantity .plus { background: var(--cb-sand); color: var(--cb-ink); }
body.single-product .cb-koeb form.cart .single_add_to_cart_button,
body.single-product .cb-koeb form.cart .single_add_to_cart_button.button {
  background: var(--cb-orange) !important; color: var(--cb-ink) !important; border: 0 !important;
  text-transform: none !important; letter-spacing: 0 !important; font-size: 17px !important; font-weight: 700 !important;
  box-shadow: none !important; transition: transform .35s var(--cb-spring), background-color .2s !important;
}
body.single-product .cb-koeb form.cart .single_add_to_cart_button:hover,
body.single-product .cb-koeb form.cart .single_add_to_cart_button:focus {
  background: #FF6B47 !important; color: var(--cb-ink) !important; transform: translateY(-2px);
}

/* ---------- betaling, fordele, ring ---------- */
body.single-product .cb-betalingsraekke { border-top-color: var(--cb-sand-2); color: var(--cb-ink-2); }
body.single-product .elementor-element-2c2a554 .elementor-icon-list-icon i,
body.single-product .elementor-element-ea048a1 .elementor-icon-list-icon i { color: var(--cb-orange-d) !important; }
body.single-product .elementor-element-2c2a554 .elementor-icon-list-icon svg,
body.single-product .elementor-element-ea048a1 .elementor-icon-list-icon svg { fill: var(--cb-orange-d) !important; }
body.single-product .elementor-element-2c2a554 .elementor-icon-list-text,
body.single-product .elementor-element-ea048a1 .elementor-icon-list-text { color: var(--cb-ink) !important; }
body.single-product .cb-ring-link { color: var(--cb-ink); }
body.single-product .cb-ring-link i { color: var(--cb-orange-d); }
body.single-product .cb-ring-link:hover { color: var(--cb-orange-d); text-decoration: underline; text-underline-offset: 4px; }

/* ---------- beskrivelse og "Det får du med" ---------- */
body.single-product .elementor-element-8aae1f5 .elementor-heading-title,
body.single-product .elementor-element-849aa52 .elementor-heading-title,
body.single-product .elementor-element-3ea913e .elementor-heading-title,
body.single-product #cb-tilbehoer .elementor-heading-title {
  font-family: var(--cb-display) !important; font-weight: 800 !important; color: var(--cb-ink) !important; letter-spacing: -.01em;
}
body.single-product .elementor-element-8aae1f5 .elementor-heading-title,
body.single-product .elementor-element-3ea913e .elementor-heading-title,
body.single-product #cb-tilbehoer .elementor-heading-title { font-size: clamp(30px, 3vw, 42px) !important; line-height: 1.05 !important; }
body.single-product .cb-beskrivelse { color: var(--cb-ink-2); }
body.single-product .cb-beskrivelse strong { color: var(--cb-ink); }
body.single-product .elementor-element-bdf3a6f { background: var(--cb-sand) !important; border-radius: 22px !important; border: 0 !important; }
body.single-product .elementor-element-914079e .elementor-button,
body.single-product .elementor-element-914079e .elementor-button:hover,
body.single-product .elementor-element-914079e .elementor-button:focus {
  background: var(--cb-ink) !important; border-color: var(--cb-ink) !important; color: #fff !important;
  border-radius: 999px !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 700 !important; font-size: 16px !important;
}
body.single-product .elementor-element-914079e .elementor-button:hover { background: #000 !important; transform: translateY(-2px); }

/* ---------- produktkort: Lignende cykler og Tilbehør (som forsidens kort) ---------- */
body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products li.product {
  background: var(--cb-sand) !important; border: 0 !important; box-shadow: none !important; border-radius: 22px !important;
  transition: transform .45s var(--cb-spring) !important;
}
body.single-product #cb-tilbehoer ul.products li.product { background: var(--cb-cream) !important; }
body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products li.product:hover { transform: translateY(-8px) rotate(-.6deg); box-shadow: none !important; }
body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products li.product .astra-shop-thumbnail-wrap { border-radius: 14px; }
body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products li.product .woocommerce-loop-product__title { font-weight: 700 !important; font-size: 15px !important; color: var(--cb-ink) !important; }
body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products li.product .price {
  position: relative; align-self: flex-start; display: inline-flex !important; align-items: baseline; gap: 8px; flex-wrap: wrap;
  background: var(--cb-yellow); color: var(--cb-ink) !important; padding: 7px 14px 7px 26px !important; border-radius: 6px;
  clip-path: polygon(12px 0, 100% 0, 100% 100%, 12px 100%, 0 50%);
  font-family: var(--cb-display); font-weight: 800 !important; font-size: 17px !important; line-height: 1.1;
  transform-origin: 6px 50%;
}
body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products li.product .price::before {
  content: ""; position: absolute; left: 10px; top: 50%; width: 7px; height: 7px; margin-top: -3.5px; border-radius: 50%; background: rgba(30,27,25,.35);
}
body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products li.product .price del { font-size: 12px; font-weight: 500; opacity: .7; color: var(--cb-ink) !important; }
body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products li.product .price ins { text-decoration: none; }
body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products li.product .button {
  align-self: flex-start; background: var(--cb-ink) !important; color: #fff !important; border: 0 !important;
  border-radius: 999px !important; box-shadow: none !important; text-transform: none !important; letter-spacing: 0 !important;
  font-weight: 700 !important; font-size: 14px !important; padding: 12px 20px !important;
}
body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products li.product .button:hover,
body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products li.product .button:focus { background: #000 !important; color: #fff !important; }
body.single-product ul.products li.product .ast-onsale-card { color: #fff !important; font-weight: 700 !important; box-shadow: none !important; }

/* ---------- tilbehør-blok og trustbar ---------- */
body.single-product #cb-tilbehoer,
body.single-product .elementor-element-fc3f978 { background: var(--cb-sand) !important; }
body.single-product .elementor-element-da02368 { background: var(--cb-sand) !important; }
body.single-product .elementor-element-da02368 .uael-icon i { color: var(--cb-orange-d) !important; }
body.single-product .elementor-element-da02368 .uael-icon svg { fill: var(--cb-orange-d) !important; }
body.single-product .elementor-element-da02368 .uael-infobox-title { font-family: var(--cb-display) !important; font-weight: 800 !important; color: var(--cb-ink) !important; }

/* ---------- bevægelse ---------- */
@keyframes cbpSwing { 0% { transform: rotate(0); } 25% { transform: rotate(6deg); } 50% { transform: rotate(-4deg); } 75% { transform: rotate(2deg); } 100% { transform: rotate(0); } }
@keyframes cbpUp { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: no-preference) {
  body.single-product .elementor-element-c7706fc { animation: cbpUp .8s var(--cb-ease) both; }
  body.single-product .elementor-element-e5554b9 > .elementor-widget { animation: cbpUp .8s var(--cb-ease) both; }
  body.single-product .elementor-element-e5554b9 > .elementor-widget:nth-child(1) { animation-delay: .05s; }
  body.single-product .elementor-element-e5554b9 > .elementor-widget:nth-child(2) { animation-delay: .12s; }
  body.single-product .elementor-element-e5554b9 > .elementor-widget:nth-child(3) { animation-delay: .19s; }
  body.single-product .elementor-element-e5554b9 > .elementor-widget:nth-child(4) { animation-delay: .26s; }
  body.single-product .elementor-element-e5554b9 > .elementor-widget:nth-child(5) { animation-delay: .33s; }
  body.single-product .elementor-element-e5554b9 > .elementor-widget:nth-child(n+6) { animation-delay: .4s; }
}
@media (prefers-reduced-motion: reduce) {
  body.single-product .cb-pris .price, body.single-product ul.products li.product, body.single-product ul.products li.product .price { animation: none !important; transition: none !important; }
}

/* Kortenes indhold venstrestillet som forsidens kort */
body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products li.product,
body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products li.product .astra-shop-summary-wrap { text-align: left !important; align-items: flex-start !important; }
body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products li.product .woocommerce-loop-product__title { text-align: left !important; margin: 0 0 12px !important; }
body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products li.product .astra-shop-summary-wrap > * { margin-left: 0 !important; margin-right: 0 !important; }

/* Billedet følger med, mens man scroller forbi den lange højre kolonne (kun når kolonnerne står side om side) */
@media (min-width: 1025px) {
  body.single-product .elementor-element-c7706fc { position: sticky !important; top: 24px; align-self: flex-start !important; }
  body.single-product.admin-bar .elementor-element-c7706fc { top: 56px; }
}
/* Mindre luft mellem køb-sektionen og "Beskrivelse" */
body.single-product .elementor-element-f81a942 > .e-con-inner { padding-top: 24px !important; }

/* Pristagget står stille: ingen sving og ingen indglidning */
body.single-product .elementor-element-e5554b9 > .cb-pris,
body.single-product .cb-pris .price { animation: none !important; transition: none !important; transform: none !important; }

/* ============ MOBIL ============ */
@media (max-width: 767px) {
  /* Top: billede, titel, pris */
  body.single-product .elementor-element-be6af76 { gap: 20px !important; }
  body.single-product .elementor-element-c7706fc { border-radius: 18px !important; }
  body.single-product .cb-titel .elementor-heading-title, body.single-product .cb-titel h1 { font-size: 28px !important; }
  body.single-product .cb-kort-beskrivelse { font-size: 16px; }
  body.single-product .cb-pris .price { font-size: 28px; padding: 10px 18px 10px 32px; }

  /* Tilvalg: navn til venstre, pris til højre på samme linje */
  body.single-product .cb-koeb .yith-wapo-addon { padding: 14px !important; }
  body.single-product .cb-koeb .yith-wapo-addon-title { font-size: 17px !important; }
  body.single-product .cb-koeb .yith-wapo-option { padding: 10px 12px !important; }
  body.single-product .cb-koeb .yith-wapo-option label { font-size: 14px !important; line-height: 1.3 !important; gap: 8px !important; }
  body.single-product .cb-koeb .yith-wapo-option label .option-price,
  body.single-product .cb-koeb .yith-wapo-option label small { font-size: 13px !important; margin-left: auto; }
  body.single-product .cb-koeb .yith-wapo-option .brackets { display: none; }

  /* Fordele og ring-linje */
  body.single-product .elementor-element-2c2a554 .elementor-icon-list-text,
  body.single-product .elementor-element-ea048a1 .elementor-icon-list-text { font-size: 15px !important; }
  body.single-product .cb-ring-link { font-size: 14px; align-items: flex-start; }

  /* Beskrivelse: listen må ikke være rykket langt ind */
  body.single-product .elementor-element-8aae1f5 .elementor-heading-title,
  body.single-product .elementor-element-3ea913e .elementor-heading-title,
  body.single-product #cb-tilbehoer .elementor-heading-title { font-size: 28px !important; }
  body.single-product .cb-beskrivelse { font-size: 15px; }
  body.single-product .cb-beskrivelse ul, body.single-product .cb-beskrivelse ol { padding-left: 18px !important; margin-left: 0 !important; }
  body.single-product .cb-beskrivelse li { margin-bottom: 8px; }
  body.single-product .cb-beskrivelse li strong, body.single-product .cb-beskrivelse li b { font-size: inherit !important; }
  body.single-product .elementor-element-bdf3a6f { padding: 22px 18px !important; }

  /* Produktkort: samme kompakte kort som på kategorisiden */
  body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products {
    display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; margin: 0 !important;
  }
  body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products li.product {
    width: auto !important; margin: 0 !important; padding: 8px 8px 14px !important; border-radius: 18px !important;
  }
  body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products li.product:hover { transform: none !important; }
  body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products li.product .astra-shop-thumbnail-wrap { width: 100% !important; border-radius: 12px; }
  body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products li.product .ast-onsale-card {
    width: 38px !important; height: 38px !important; font-size: 11px !important; top: 8px !important; left: 8px !important;
  }
  body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products li.product .astra-shop-summary-wrap { padding: 10px 4px 0 !important; width: 100% !important; }
  body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products li.product .woocommerce-loop-product__title {
    font-size: 13px !important; line-height: 1.3 !important; margin: 0 0 10px !important;
    display: -webkit-box !important; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
  }
  body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products li.product .price {
    font-size: 15px !important; gap: 0 6px; padding: 5px 10px 5px 21px !important; margin-bottom: 10px !important; max-width: 100%;
    clip-path: polygon(10px 0, 100% 0, 100% 100%, 10px 100%, 0 50%);
  }
  body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products li.product .price::before { left: 8px; width: 6px; height: 6px; margin-top: -3px; }
  body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products li.product .price del { font-size: 11px !important; flex-basis: 100%; line-height: 1.2; }
  body.single-product :is(.cb-relaterede, #cb-tilbehoer) ul.products li.product .button {
    align-self: stretch; text-align: center; font-size: 13px !important; padding: 10px 8px !important; line-height: 1.2 !important; margin-top: auto !important;
  }

  /* Tilbehør-blokken: mindre indvendig luft */
  body.single-product #cb-tilbehoer { border-radius: 18px !important; }
  body.single-product #cb-tilbehoer > .e-con-inner { padding: 24px 14px 18px !important; }
}
@media (max-width: 767px) {
  body.single-product #cb-tilbehoer > .e-con-inner { gap: 14px !important; }
  body.single-product #cb-tilbehoer .elementor-widget-text-editor { margin-bottom: 0 !important; }
}
/* Tilvalg: prisen altid helt ude til højre, også når navnet er kort */
body.single-product .cb-koeb .yith-wapo-option > .label,
body.single-product .cb-koeb .yith-wapo-option .option-container { flex: 1 1 auto !important; width: 100% !important; display: flex !important; align-items: center; gap: 10px; }
body.single-product .cb-koeb .yith-wapo-option label.yith-wapo-addon-label { flex: 1 1 auto !important; display: flex !important; justify-content: space-between !important; align-items: center; }
body.single-product .cb-koeb .yith-wapo-option label .option-price { margin-left: auto; white-space: nowrap; }
body.single-product .cb-koeb .yith-wapo-option .checkbox-button-container { flex: 1 1 auto !important; width: 100% !important; }
