/* Cykelbutikken – kategorisider i forsidens stil (cb-arkiv). Ligger oven på Tilpas › Ekstra CSS. */
body:is(.archive, .post-type-archive-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;
}
body:is(.archive, .post-type-archive-product) #content,
body:is(.archive, .post-type-archive-product) #content .ast-container { background: var(--cb-cream); }

/* Titel og brødkrumme */
body .elementor-location-archive .cb-arkivtitel .elementor-heading-title {
  font-family: var(--cb-display) !important; font-weight: 800 !important; color: var(--cb-ink) !important;
  font-size: clamp(40px, 5vw, 68px) !important; line-height: 1.02 !important; letter-spacing: -.01em;
}
body .elementor-location-archive .cb-brodkrumme .woocommerce-breadcrumb,
body .elementor-location-archive .cb-brodkrumme .woocommerce-breadcrumb a { color: var(--cb-ink-2); }
body .elementor-location-archive .cb-brodkrumme .woocommerce-breadcrumb a:hover { color: var(--cb-orange-d); }

/* Antal + sortering */
body .elementor-location-archive .woocommerce-result-count { color: var(--cb-ink-2) !important; }
body .elementor-location-archive .woocommerce-ordering select {
  border: 1px solid var(--cb-sand-2) !important; background-color: #fff !important; color: var(--cb-ink) !important; box-shadow: none !important;
}
body .elementor-location-archive .woocommerce-ordering select:focus { border-color: var(--cb-ink) !important; box-shadow: 0 0 0 3px rgba(30,27,25,.12) !important; }

/* Produktkort som forsidens */
body .elementor-location-archive ul.products li.product {
  display: flex !important; flex-direction: column !important; text-align: left !important;
  background: var(--cb-sand) !important; border: 0 !important; border-radius: 22px !important; box-shadow: none !important;
  padding: 12px 12px 20px !important; transition: transform .45s cubic-bezier(.34,1.56,.64,1) !important;
}
body .elementor-location-archive ul.products li.product:hover { transform: translateY(-8px) rotate(-.6deg) !important; box-shadow: none !important; }
body .elementor-location-archive ul.products li.product .astra-shop-thumbnail-wrap { width: 100% !important; border-radius: 14px; overflow: hidden; background: #fff; }
body .elementor-location-archive ul.products li.product .astra-shop-thumbnail-wrap img { border-radius: 14px; }
body .elementor-location-archive ul.products li.product .astra-shop-summary-wrap {
  display: flex; flex-direction: column; align-items: flex-start !important; text-align: left !important; flex: 1; width: 100% !important; padding: 16px 6px 0;
}
body .elementor-location-archive ul.products li.product .astra-shop-summary-wrap > * { margin-left: 0 !important; margin-right: 0 !important; }
body .elementor-location-archive ul.products li.product .ast-woo-product-category { text-align: left !important; color: var(--cb-ink-2); }
body .elementor-location-archive ul.products li.product .woocommerce-loop-product__title {
  text-align: left !important; font-weight: 700 !important; font-size: 15px !important; line-height: 1.35 !important;
  color: var(--cb-ink) !important; min-height: 0 !important; margin: 0 0 12px !important;
}
/* Pris som gult prisskilt */
body .elementor-location-archive 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; margin: 0 0 14px !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; text-align: left !important;
  transform-origin: 6px 50%;
}
body .elementor-location-archive 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 .elementor-location-archive ul.products li.product .price del { font-size: 12px !important; font-weight: 500 !important; opacity: .7; color: var(--cb-ink) !important; }
body .elementor-location-archive ul.products li.product .price ins { text-decoration: none; background: none; }
/* Knap */
body .elementor-location-archive ul.products li.product .button {
  align-self: flex-start; margin-top: auto !important; 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 .elementor-location-archive ul.products li.product .button:hover,
body .elementor-location-archive ul.products li.product .button:focus { background: #000 !important; color: #fff !important; }
body .elementor-location-archive ul.products li.product .added_to_cart { color: var(--cb-ink) !important; text-decoration: underline; text-underline-offset: 4px; }
/* Tilbudsmærke */
body .elementor-location-archive ul.products .ast-onsale-card { color: #fff !important; font-weight: 700 !important; box-shadow: none !important; }

/* Sidetal */
body .elementor-location-archive .woocommerce-pagination a.page-numbers,
body .elementor-location-archive .woocommerce-pagination span.page-numbers { border-color: var(--cb-sand-2) !important; color: var(--cb-ink) !important; background: transparent !important; }
body .elementor-location-archive .woocommerce-pagination span.page-numbers.current,
body .elementor-location-archive .woocommerce-pagination a.page-numbers:hover { background: var(--cb-ink) !important; border-color: var(--cb-ink) !important; color: #fff !important; }

/* Kategoritekst og fordelsboks */
body .elementor-location-archive .cb-kategoritekst { background: var(--cb-sand) !important; border: 0 !important; border-radius: 22px; color: var(--cb-ink-2); }
body .elementor-location-archive .elementor-element-5c7e815 { background: var(--cb-sand) !important; }
body .elementor-location-archive .elementor-element-5c7e815 .uael-icon i { color: var(--cb-orange-d) !important; }
body .elementor-location-archive .elementor-element-5c7e815 .uael-icon svg { fill: var(--cb-orange-d) !important; }
body .elementor-location-archive .elementor-element-5c7e815 .uael-infobox-title { font-family: var(--cb-display) !important; font-weight: 800 !important; color: var(--cb-ink) !important; }

@keyframes cbaSwing { 0% { transform: rotate(0); } 25% { transform: rotate(6deg); } 50% { transform: rotate(-4deg); } 75% { transform: rotate(2deg); } 100% { transform: rotate(0); } }
@media (prefers-reduced-motion: reduce) {
  body .elementor-location-archive ul.products li.product, body .elementor-location-archive ul.products li.product .price { animation: none !important; transition: none !important; }
}

/* ============ MOBIL ============ */
@media (max-width: 767px) {
  /* Gitteret havde faste kolonnebredder, der var 14 px bredere end skærmen */
  body .elementor-location-archive ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; margin: 0 !important;
  }
  body .elementor-location-archive ul.products li.product {
    width: auto !important; margin: 0 !important; padding: 8px 8px 14px !important; border-radius: 18px !important;
  }
  body .elementor-location-archive ul.products li.product:hover { transform: none !important; }
  body .elementor-location-archive ul.products li.product .astra-shop-thumbnail-wrap,
  body .elementor-location-archive ul.products li.product .astra-shop-thumbnail-wrap img { border-radius: 12px; }
  body .elementor-location-archive ul.products li.product .ast-onsale-card {
    width: 38px !important; height: 38px !important; font-size: 11px !important; top: 8px !important; left: 8px !important;
  }
  body .elementor-location-archive ul.products li.product .astra-shop-summary-wrap { padding: 10px 4px 0 !important; }
  body .elementor-location-archive 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 .elementor-location-archive ul.products li.product .price {
    font-size: 15px !important; gap: 0 6px; padding: 5px 10px 5px 21px !important; margin-bottom: 10px !important;
    clip-path: polygon(10px 0, 100% 0, 100% 100%, 10px 100%, 0 50%);
  }
  body .elementor-location-archive ul.products li.product .price::before { left: 8px; width: 6px; height: 6px; margin-top: -3px; }
  body .elementor-location-archive ul.products li.product .price del { font-size: 11px !important; flex-basis: 100%; line-height: 1.2; }
  body .elementor-location-archive ul.products li.product .button {
    align-self: stretch; text-align: center; font-size: 13px !important; padding: 10px 8px !important; line-height: 1.2 !important;
  }

  /* Sortering: i toppen sammen med antallet i stedet for fast i bunden af skærmen */
  body .elementor-location-archive .ast-shop-toolbar-container {
    position: static !important; inset: auto !important; transform: none !important; box-shadow: none !important;
    background: transparent !important; padding: 0 !important; margin: 0 0 16px !important; border: 0 !important;
    display: flex !important; flex-direction: column; align-items: stretch; gap: 10px;
  }
  body .elementor-location-archive .woocommerce-ordering,
  body .elementor-location-archive .woocommerce-ordering select { width: 100% !important; min-width: 0 !important; margin: 0 !important; }
  body .elementor-location-archive .woocommerce-result-count { margin: 0 !important; font-size: 14px; }

  body .elementor-location-archive .cb-arkivtitel .elementor-heading-title { font-size: 38px !important; }
  body .elementor-location-archive .woocommerce-pagination { margin-top: 24px; }
}
@media (max-width: 767px) {
  body .elementor-location-archive .ast-sticky-shop-filters {
    position: static !important; background: transparent !important; padding: 0 !important; box-shadow: none !important; width: 100% !important;
  }
  body .elementor-location-archive .ast-sticky-shop-filters .ast-shop-toolbar-aside-wrap:has(.woocommerce-ordering) { flex: 1 1 100%; width: 100% !important; }
  body .elementor-location-archive .woocommerce-ordering select { height: 46px; }
}
@media (max-width: 767px) {
  body .elementor-location-archive .ast-sticky-shop-filters { border: 0 !important; gap: 0 !important; justify-content: flex-start !important; }
  body .elementor-location-archive .ast-sticky-shop-filters .ast-shop-toolbar-aside-wrap:not(:has(.woocommerce-ordering)) { display: none !important; }
}
