        .wpcpq-item-text {display: none !important}
    .wcsatt-options-wrapper {display: none !important}
.dg-purchase-config { margin-bottom: 18px; }

/* Dog size selector */
.dog-size-selector {
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 18px;
  background: #fff;
}
    @media only screen and (max-width: 420px) {
        .dog-size-selector {
            padding: 20px 12px;
        }
    }
.dog-size-label {
  display: block;
  font-weight: 600;
  font-size: 24px;
  margin-bottom: 10px;
}
.dog-size-label-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.dog-size-label-row .dog-size-label {
  margin-bottom: 0;
}
.dg-size-warning {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 12px;
  border-radius: 999px;
  background: #fff1f1;
  border: 1px solid #d93025;
  color: #c62828;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  transform-origin: left center;
}
.dg-size-warning::before {
  content: "";
  position: absolute;
  left: -4px;
  top: 50%;
  width: 10px;
  height: 10px;
  background: #fff1f1;
  border-left: 1px solid #d93025;
  border-bottom: 1px solid #d93025;
  transform: translateY(-50%) rotate(45deg);
}
.dg-size-warning.is-animating {
  animation: dg-size-warning-bounce 0.7s ease;
}
.dog-size-selector.is-warning .dog-size-field select {
  border-color: #d93025;
  box-shadow: 0 0 0 3px rgba(217, 48, 37, 0.16);
}
@keyframes dg-size-warning-bounce {
  0% {
    opacity: 0;
    transform: translateX(8px) scale(0.96);
  }
  35% {
    opacity: 1;
    transform: translateX(-5px) scale(1);
  }
  60% {
    opacity: 1;
    transform: translateX(4px) scale(1);
  }
  80% {
    opacity: 1;
    transform: translateX(-2px) scale(1);
  }
  100% { transform: translateX(0); }
}
.dog-size-field { position: relative; }

.dog-size-field select {
  width: 100%;
  border-color: #000 !important;
  padding: 7px 44px 7px 14px;
  font-size: 16px;
  border-radius: 8px;
  border: 1px solid #000;
  background-color: #fff;
  cursor: pointer;

  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: none;
}

.dog-size-field::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: translateY(-50%) rotate(45deg);
  pointer-events: none;
}

/* =========================================================
 * Dog size boxes — 3-column clickable picker (replaces dropdown)
 * Selectors are scoped under .dg-purchase-config so they beat the
 * theme's default button/link styling without needing !important.
 * ======================================================= */
.dg-purchase-config .dg-size-boxes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 0;
  padding: 0;
}
.dg-purchase-config .dg-size-box {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  gap: 9px;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 20px 12px 18px;
  box-sizing: border-box;
  border: 2px solid #e3e3e3;
  border-radius: 14px;
  background: #fff;
  color: #1a1a1a;
  font: inherit;
  text-transform: none;
  letter-spacing: normal;
  cursor: pointer;
  outline: none;
  box-shadow: none;
  transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease, transform .08s ease;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.dg-purchase-config .dg-size-box:hover {
  border-color: #2f8f3a;
  box-shadow: 0 6px 16px rgba(13, 60, 52, .08);
  transform: translateY(-2px);
}
.dg-purchase-config .dg-size-box:active {
  transform: translateY(0);
}
.dg-purchase-config .dg-size-box:focus-visible {
  border-color: #2f8f3a;
  box-shadow: 0 0 0 3px rgba(47, 143, 58, .25);
}
.dg-purchase-config .dg-size-box.is-selected {
  border-color: #0D3C34;
  background: #F2FBEC;
  box-shadow: 0 0 0 1px #0D3C34 inset, 0 8px 18px rgba(13, 60, 52, .12);
}
.dg-purchase-config .dg-size-box-name {
  order: 1;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.15;
  color: inherit;
}
.dg-purchase-config .dg-size-box.is-selected .dg-size-box-name {
  color: #0D3C34;
}
.dg-purchase-config .dg-size-box-img {
  order: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 66px;
  border-radius: 12px;
  background: #f0f0f0;
  box-sizing: border-box;
  transition: background-color .15s ease;
}
.dg-purchase-config .dg-size-box.is-selected .dg-size-box-img {
  background: #e6f4dc;
}
.dg-purchase-config .dg-size-box-paw {
  display: block;
  color: #9a9a9a;
  transition: color .15s ease;
}
.dg-purchase-config .dg-size-box-paw svg {
  display: block;
  width: 100%;
  height: 100%;
  stroke: transparent;
  stroke-width: 3;
  transition: stroke .15s ease;
}
/* Outline the paw shape itself when the box is selected */
.dg-purchase-config .dg-size-box.is-selected .dg-size-box-paw svg {
  stroke: #3d766c;
}
/* Paw scales with the dog size */
.dg-purchase-config .dg-size-box[data-size="small"]  .dg-size-box-paw { width: 33px; height: 33px; }
.dg-purchase-config .dg-size-box[data-size="medium"] .dg-size-box-paw { width: 46px; height: 46px; }
.dg-purchase-config .dg-size-box[data-size="large"]  .dg-size-box-paw { width: 59px; height: 59px; }
.dg-purchase-config .dg-size-box.is-selected .dg-size-box-paw { color: #2f8f3a; }
.dg-purchase-config .dg-size-box-weight {
  order: 3;
  font-size: 15px;
  font-weight: 500;
  color: #6b6b6b;
  line-height: 1.15;
}
.dg-purchase-config .dg-size-box-check {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #2f8f3a;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  opacity: 0;
  transform: scale(.6);
  transition: opacity .15s ease, transform .15s ease;
  pointer-events: none;
}
.dg-purchase-config .dg-size-box.is-selected .dg-size-box-check {
  opacity: 1;
  transform: scale(1);
}
/* Warning state — Add-to-cart attempted before a size was chosen */
.dog-size-selector.is-warning .dg-size-box {
  border-color: #d93025;
}
.dog-size-selector.is-warning .dg-size-box.is-selected {
  border-color: #0D3C34;
}
@media only screen and (max-width: 420px) {
  .dg-purchase-config .dg-size-boxes { gap: 8px; }
  .dg-purchase-config .dg-size-box { padding: 16px 6px 14px; gap: 7px; }
  .dg-purchase-config .dg-size-box-img { height: 58px; }
  .dg-purchase-config .dg-size-box[data-size="small"]  .dg-size-box-paw { width: 29px; height: 29px; }
  .dg-purchase-config .dg-size-box[data-size="medium"] .dg-size-box-paw { width: 40px; height: 40px; }
  .dg-purchase-config .dg-size-box[data-size="large"]  .dg-size-box-paw { width: 51px; height: 51px; }
  .dg-purchase-config .dg-size-box-name { font-size: 16px; }
  .dg-purchase-config .dg-size-box-weight { font-size: 15px; }
}

.dog-size-helper {
  display: flex;
  align-items: center;
  margin-top: 10px;
  font-size: 14px;
  color: #555;
}

/* =========================================================
 * Reusable +/- stepper
 * ======================================================= */
.dg-stepper {
  display: inline-flex;
  align-items: center;
  border: 1px solid #d5d5d5;
  border-radius: 999px;
  background: #fff;
  overflow: hidden;
}
.dg-purchase-config .dg-stepper .dg-stepper-btn {
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  background: #fff;
  color: #0D3C34;
  font-size: 22px;
  font-weight: 600;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  transition: background-color .12s ease;
}
.dg-purchase-config .dg-stepper .dg-stepper-btn:hover:not(:disabled) {
  background: #f2fbec;
}
.dg-purchase-config .dg-stepper .dg-stepper-btn:disabled {
  color: #cfcfcf;
  cursor: default;
}
.dg-stepper-value {
  min-width: 46px;
  text-align: center;
  font-size: 17px;
  font-weight: 700;
  color: #1a1a1a;
}
/* Compact variant */
.dg-purchase-config .dg-stepper.dg-stepper-sm .dg-stepper-btn {
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  font-size: 19px;
}
.dg-stepper.dg-stepper-sm .dg-stepper-value {
  min-width: 38px;
  font-size: 15px;
}

/* =========================================================
 * Flere hunde link (opens the Elementor popup) — always visible
 * ======================================================= */
/* Helper text (left) + "flere hunde" link (right) on one row,
   wrapping to two lines when the screen is too narrow. */
.dg-size-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-top: 12px;
}
.dg-size-footer .dog-size-helper {
  margin-top: 0;
}
.flere-hunde {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  color: #0D3C34;
  cursor: pointer;
}
.flere-hunde:hover { color: #2f8f3a; }
.flere-hunde:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(47, 143, 58, .25);
  border-radius: 6px;
}
.flere-hunde-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 22px;
  color: #2f8f3a;
  flex: 0 0 auto;
}
.flere-hunde-icon svg {
  height: 22px;
  width: auto;
  display: block;
}

/* =========================================================
 * Engangskøb "Brug for flere bøtter?" — click-to-reveal stepper
 * ======================================================= */
.dg-onetime-qty {
  margin-top: 10px;
}
.dg-purchase-config .dg-onetime-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  margin: 0;
  border: none;
  background: none;
  color: #0D3C34;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  text-transform: none;
  letter-spacing: normal;
  text-decoration: none;
  cursor: pointer;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}
.dg-purchase-config .dg-onetime-toggle:hover { color: #2f8f3a; }
.dg-onetime-toggle-plus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #f2fbec;
  border: 1px solid #cbe7b8;
  color: #2f8f3a;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  flex: 0 0 22px;
}
.dg-onetime-qty-panel {
  margin-top: 14px;
}
.dg-onetime-qty-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.dg-onetime-qty-label {
  font-weight: 600;
  font-size: 15px;
}
.dg-onetime-qty-price {
  margin-top: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #2f8f3a;
}
.dg-onetime-qty-price:empty { display: none; }

.dg-hidden { display: none !important; }

.info-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1px solid #999;
  font-size: 12px;
  margin-right: 8px;
  flex-shrink: 0;
}

/* Purchase options */
.dg-purchase-options { margin: 0 0 22px; }

.dg-purchase-card {
  display: block;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  padding: 20px;
  margin: 0 0 12px;
  background: #fff;
  cursor: pointer;
	overflow: hidden;
}

	
.dg-purchase-callout {
    margin: -20px -20px 15px -20px;
    padding: 4px 12px;
    background-color: #0D3C34;
    color: #fff;
    font-weight: 500;
	    display: flex;
    align-items: center;
		font-size: 14px;
}
	
	.dg-purchase-callout svg {
		margin-right: 8px;
	}
	
	.dg-purchase-card.is-active { border-color: #000; }
    @media only screen and (max-width: 420px) {
        .dg-purchase-card {
            padding: 20px 12px;
        }
			.dg-purchase-callout {
				margin: -20px -12px 15px -12px;
			}
    }
	
.dg-purchase-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.dg-purchase-left {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.dg-purchase-heading {
  font-weight: 800;
  font-size: 20px;
  line-height: 1.1;
}

.dg-sub-heading-row{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.dg-badges{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.dg-badge{
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
}
    
    @media (max-width: 420px){
  .dg-sub-heading-row{ gap: 6px; }
  .dg-badges{ gap: 4px; }
  .dg-badge{ height: 22px; padding: 0 8px; font-size: 11px; }
}


.dg-badge-green{
  background: rgba(47, 143, 58, 0.12);
  color: #2f8f3a;
  border: 1px solid rgba(47, 143, 58, 0.22);
}
	
	.dg-badge-purple {
		background-color: #F3E8FF;
		color: #7C3AED;
		border: 1px solid #d2b1f2;
	}

.dg-badge-blue{
  background: rgba(0, 122, 255, 0.10);
  color: #007aff;
  border: 1px solid rgba(0, 122, 255, 0.18);
}

.dg-purchase-price {
  font-weight: 800;
  white-space: nowrap;
}

/* Make sale formatting consistent */
.dg-purchase-price del {
  opacity: .55;
  margin-right: 10px;
}
    @media only screen and (max-width: 420px) {
        .dg-purchase-price del {
            margin-right: 5px;
        }
    }
.dg-purchase-price ins {
  text-decoration: none;
}

/* Radio indicator */
.dg-radio-ui {
  width: 24px;
  height: 24px;
  border-radius: 999px;
  border: 2px solid #cfcfcf;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 24px;
}
.dg-purchase-card.is-active .dg-radio-ui { border-color: #2f8f3a; }
.dg-radio-ui:after {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #2f8f3a;
  transform: scale(0);
  transition: transform .15s ease;
}
.dg-purchase-card.is-active .dg-radio-ui:after { transform: scale(1); }

.dg-purchase-panel {
  display: none;
  margin-top: 20px;
}
.dg-purchase-card.is-active .dg-purchase-panel { display: block; }

.dg-panel-inner { font-size: 16px; }

/* Checklist */
.dg-checklist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.dg-checklist > li {
    margin-top: 0;
}
.dg-checklist li {
  position: relative;
  padding-left: 28px;
}
.dg-checklist li:before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
}

/* Disable add to cart when dog size not selected */
.dg-atc-disabled .single_add_to_cart_button,
.dg-atc-disabled .single_add_to_cart_button.button {
  opacity: .45;
  pointer-events: none;
  cursor: not-allowed;
}

@media (max-width: 640px) {
  .dg-size-warning {
    white-space: normal;
  }
}

/* Your existing WPCPQ tweaks (kept as-is but grouped) */
.reset_variations-wrap { display: none; }
.wpcpq-row.wpcpq-head { display: none; }

.wpcpq-table.wpcpq-items {
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
}
@media (max-width: 768px) {
  .wpcpq-table.wpcpq-items { flex-wrap: nowrap; }
}

.wpcpq-table .wpcpq-row > div {
  flex: unset;
  width: unset;
}
    
    .wpcpq-wrap {
        margin-bottom: 0 !important;
    }

.wpcpq-table .wpcpq-row {
  flex-direction: row !important;
  margin-bottom: 15px;
  line-height: 1.4;
  font-size: 90%;
  padding: 20px 20px 20px 60px;
  border-radius: 10px;
  justify-content: space-between;
  border: 2px solid #bfbfbf;
}
    .wpcpq-item-max {
    margin-bottom: 0 !important;
}
@media (min-width: 769px) and (max-width: 1140px) {
  .wpcpq-table .wpcpq-row { flex-basis: 31%; }
}
@media (max-width: 768px) {
  .wpcpq-table .wpcpq-row { padding-left: 50px; }
}

.wpcpq-item-1 .wpcpq-item-qty:after { content: " boks"; margin-left: 4px; }
.wpcpq-item-qty:after { content: " bokser"; margin-left: 4px; }

.wpcpq-item-qty {
  font-weight: 600;
  font-size: 18px;
  display: flex;
  flex-wrap: wrap;
}

@media (max-width: 375px) {
  .tab-best-value,
  .wpcpq-item-text { display: none !important; }
}

.wpcpq-table.wpcpq-click-yes .wpcpq-item { position: relative; overflow: hidden; }

.wpcpq-item:after {
  position: absolute;
  top: 0;
  right: 0;
  background-color: var(--e-global-color-ec74859);
  color: var(--e-global-color-1c1bd98);
  border-bottom-left-radius: 4px;
  padding: 3px 5px;
  font-size: 70%;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.5px;
}

/*.wpcpq-item.wpcpq-item-1:after { content: "Spar 20%"; }*/
.wpcpq-item.wpcpq-item-2:after { content: "Spar 7%"; }
.wpcpq-item.wpcpq-item-3:after { content: "Spar 14%"; }

span.wpcpq-item-text {
  text-decoration: line-through;
  opacity: 0.75;
  text-align: right;
}

.wpcpq-item-qty:before {
  order: 2;
  width: 100%;
  font-size: 14px;
  opacity: 0.75;
  font-weight: 500;
}

/* Dog-size dependent labels */
.dg-purchase-config[data-dog-size="small"] .wpcpq-item.wpcpq-item-1 .wpcpq-item-qty:before { content: "2 måneders forbruk"; }
.dg-purchase-config[data-dog-size="small"] .wpcpq-item.wpcpq-item-2 .wpcpq-item-qty:before { content: "4 måneders forbruk"; }
.dg-purchase-config[data-dog-size="small"] .wpcpq-item.wpcpq-item-3 .wpcpq-item-qty:before { content: "6 måneders forbruk"; }

.dg-purchase-config[data-dog-size="medium"] .wpcpq-item.wpcpq-item-1 .wpcpq-item-qty:before { content: "1 måneds forbruk"; }
.dg-purchase-config[data-dog-size="medium"] .wpcpq-item.wpcpq-item-2 .wpcpq-item-qty:before { content: "2 måneders forbruk"; }
.dg-purchase-config[data-dog-size="medium"] .wpcpq-item.wpcpq-item-3 .wpcpq-item-qty:before { content: "3 måneders forbruk"; }

.dg-purchase-config[data-dog-size="large"] .wpcpq-item.wpcpq-item-1 .wpcpq-item-qty:before { content: "20 dagers forbruk"; }
.dg-purchase-config[data-dog-size="large"] .wpcpq-item.wpcpq-item-2 .wpcpq-item-qty:before { content: "40 dagers forbruk"; }
.dg-purchase-config[data-dog-size="large"] .wpcpq-item.wpcpq-item-3 .wpcpq-item-qty:before { content: "60 dagers forbruk"; }

    
    
    
    
    /* Subscription visual summary */

.dg-sub-visual{
  display: flex;
  gap: 20px;
	padding-top: 10px;
	align-items: start;
}
    
    @media (max-width: 420px){
  .dg-sub-visual{ flex-direction: row; align-items: flex-start; }
    .dg-sub-meta{ flex: 1; min-width: 0; width: 100%;order:-1; }
}

.dg-sub-image-wrap{
  position: relative;
  width: 80px;
  flex: 0 0 80px;
  border-radius: 12px;
  border: 1px solid #eee;
  background: #fafafa;
  display: flex;
  justify-content: center;
}

.dg-sub-jar-img{
  width: 100%;
  height: auto;
  display: block;
}
    
    .dg-sub-image-wrap img {
        border-radius: 12px
    }

.dg-sub-multiplier{
  position: absolute;
  right: -8px;
  top: -8px;
  height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: #111;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 13px;
  letter-spacing: .02em;
  box-shadow: 0 8px 18px rgba(0,0,0,.12);
}
.dg-sub-meta{
  min-width: 0;
  flex: 1;
  order: -1;
}

.dg-sub-line{
  line-height: 1.25;
}

.dg-sub-line-1{
  font-size: 16px;
  margin-bottom: 6px;
}

.dg-sub-strong{
  font-weight: 900;
}

.dg-sub-line-2{
  font-size: 14px;
  color: #555;
}
	
	.dg-sub-pricing {
    margin-top: 15px;
	}
	
	.dg-sub-pricing-large {
    display: flex;
		gap: 5px;
	}
	
	.dg-sub-pricing-month {
    font-size: 30px;
    font-weight: 600;
}
	
	.dg-sub-pricing-old {
    font-size: 19px;
    font-weight: 600;
    opacity: 0.6;
    text-decoration: line-through;
    margin-left: 5px;
    padding-top: 2px;
}
	
	.dg-sub-pricing-disclaimer {
    line-height: 1.5;
    opacity: 0.8;
    margin-top: 5px;
    font-size: 13px;
}

.dg-sub-pricing-paid-as {
	font-size: 15px;
}


.dg-sub-bottom {
	margin: 20px -20px -20px -20px;
	padding: 20px;
	background-color: #f6f6f6;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.dg-sub-footer{
  display: flex;
  justify-content: space-between;
	align-items: start;
	gap: 16px;
}

.dg-sub-admin-order-help {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding-top: 2px;
	color: #4b5b50;
	font-size: 13px;
	line-height: 1.5;
	text-align: center;
}

.dg-sub-admin-order-help-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	color: #2f8f3a;
	flex: 0 0 16px;
}

/*.dg-sub-admin-order-help-icon svg {
	width: 16px;
	height: 16px;
	fill: currentColor;
}*/

.dg-sub-admin-order-help a {
	color: #1f6f2b;
	font-weight: 600;
	text-decoration: none;
}

.dg-sub-admin-order-help a:hover {
	text-decoration: underline;
}
	
	@media only screen and (max-width: 600px) {
		.dg-sub-footer {
			display: block;
		}
		.dg-sub-gifts {
			margin-top: 25px;
		}
	}
	
	.dg-sub-steps, .dg-sub-gifts {
		flex-basis: 48%;
	}
	
	.dg-sub-gifts {
    	display: flex;
		position: relative;
		align-items: center;
		background-color: #fff;
		padding: 16px 10px 5px 10px;
		border-radius: 8px;
		border: 1px dashed grey;
}
	
.dg-sub-banner {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -10px;
    text-align: center;
    background-color: #228339;
    color: #fff;
    white-space: nowrap;
    padding: 5px 10px;
    line-height: 1;
    border-radius: 100px;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.1px;
}
	
.dg-sub-gift {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 5px;
	width: 100%;
	align-self: flex-start;
}
	
	.dg-sub-gift-image img {
    height: 60px;
    object-fit: contain;
}
	
	.dg-sub-gift-text {
    font-weight: 600;
    margin-left: 0;
    line-height: 1.3;
    font-size: 11px;
    text-align: center;
}
	
	.dg-sub-gift-plus {
    color: var(--e-global-color-ec74859);
    font-weight: 600;
    font-size: 24px;
    margin: 0 8px !important;
}

.dg-sub-step{
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: #444;
}

.dg-sub-step-dot{
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: rgba(47, 143, 58, 0.12);
  color: #2f8f3a;
  border: 1px solid rgba(47, 143, 58, 0.22);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  flex: 0 0 22px;
}

/* A/B (calio_nobind_ab_test): the "ingen binding" checkmark promoted to a
   two-line lead-in above the checkmark list. Both arms live in the markup;
   this is the default arm (= variation 1, what bots and no-JS visitors get
   too), so the plain checkmark is hidden here and the gate in
   purchase-configurator.php shows it again in its original third position
   on variation 2. */
.dg-sub-step-nobind{
  display: none;
}

.dg-sub-nobind{
  margin-bottom: 12px;
  /* calio 2026-11-06 (Emil): checkmark row, left border removed */
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.dg-sub-nobind-icon{ margin-top: 0; }

.dg-sub-nobind-head{
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  color: var( --e-global-color-ec74859 );
}

.dg-sub-nobind-text{
  margin-top: 3px;
  font-size: 12.5px;
  line-height: 1.3;
  color: #5a6b5e;
}
    
    /* Hide the top-right subscription price when subscription is selected */
.dg-purchase-options[data-selected="subscription"] 
.dg-purchase-card[data-mode="subscription"] 
.dg-purchase-top .dg-purchase-price{
  display: none !important;
}

.dg-sub-gift-image.styled-1 img {
	border-radius: 6px;
	border: 1px solid #b0b9c6;
    background: #ebf4ff;
}

@media (max-width: 420px){
  .dg-sub-visual{ gap: 12px; }
  .dg-sub-image-wrap{ width: 64px; flex-basis: 64px; }
  .dg-sub-line-1{ font-size: 15px; }
}

/* A/B (calio_naming_ab_test): "fast levering" instead of "abonnement" in the
   subscription card. Both wordings live in the markup; this is the default arm
   (= variation 1, what bots and no-JS visitors get too), so the old wording is
   hidden here and the gate in purchase-configurator.php swaps the pair back on
   variation 2. */
/* CALIO 2026-10-23: test ended on this store (A/B plugin removed). Emil: always
   "abonnement", so "fast levering" is hidden and the old wording shows. */
.dg-name-fast{
  display: none;
}

/* calio 2026-11-03: cat products only. Hide the dog notice "Pris: Velg hundens størrelse nedenfor"
   (same as on .dk). Dog products are untouched. */
.elementor-location-single.product_cat-kosttilskudd-til-katt .price_info_top {
  display: none !important;
}

/* calio 2026-11-03: cat version of the purchase configurator, copied from buddyschoice.dk.
   Every rule below only matches cat products (data-species="cat", body.dg-mode-pending,
   .dg-cat-multi, .dg-cat-plain, .calio-cat-dosage). Dog products are untouched. */
/* Cat products (data-species="cat", set by purchase-configurator.php): one cat jar
   = 60 chews = 2 months at 1 chew a day, for every cat size. Overrides the dog
   labels above; dog products never get data-species, so they are unaffected.
   When the cat dosing changes per size, split these per [data-dog-size]. */
.dg-purchase-config[data-species="cat"][data-dog-size] .wpcpq-item.wpcpq-item-1 .wpcpq-item-qty:before { content: "2 måneders forbruk"; }
.dg-purchase-config[data-species="cat"][data-dog-size] .wpcpq-item.wpcpq-item-2 .wpcpq-item-qty:before { content: "4 måneders forbruk"; }
.dg-purchase-config[data-species="cat"][data-dog-size] .wpcpq-item.wpcpq-item-3 .wpcpq-item-qty:before { content: "6 måneders forbruk"; }

/* Cat products with the size selector switched off (see calio_pc_cat_settings):
   until a card is picked, hide add-to-cart and the MobilePay express button, so
   there is nothing to press too early. body.dg-mode-pending is only ever set on
   cat products, by purchase-configurator.js. */
body.dg-mode-pending form.cart .single_add_to_cart_button,
body.dg-mode-pending .calio-mpx-product-buttons,
body.dg-mode-pending .calio-wex-product-buttons {
	display: none !important;
}


/* Cat only: "Bestiller du til flere katte?" fold-out under the cards.
   Same look as the dog link (.flere-hunde); the elements only exist on cat products. */
.dg-cat-multi {
	margin-top: 12px;
}
/* A plain text link like the dog one (.flere-hunde) - no button box, no border. */
.dg-purchase-config .dg-cat-multi-toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	color: #0D3C34;
	cursor: pointer;
	border: 0;
	outline: none;
	box-shadow: none;
	background: none;
}
.dg-purchase-config .dg-cat-multi-toggle:hover { color: #2f8f3a; }
.dg-purchase-config .dg-cat-multi-toggle:focus { outline: none; box-shadow: none; }
.dg-purchase-config .dg-cat-multi-toggle:focus-visible { text-decoration: underline; }
.dg-cat-multi-panel {
	margin-top: 10px;
	padding: 14px 16px;
	border-radius: 10px;
	background: #F4F7F3;
	color: #0D3C34;
	font-size: 14px;
	line-height: 1.55;
}
.dg-cat-multi-title {
	font-weight: 700;
	margin-bottom: 6px;
}
.dg-cat-multi-panel p {
	margin: 0 0 6px;
}
.dg-cat-multi-panel p:last-child {
	margin-bottom: 0;
}

/* calio 2026-11-02 (Emil): cat product without subscription (.dg-cat-plain, set in
   purchase-configurator.php). No "Engangskøb" card: its header and frame are dropped, so the
   quantity tiers sit straight under the "Vælg antal bøtter:" heading. Dog pages never get the class. */
.dg-cat-plain .dg-purchase-card[data-mode="one_time"] {
	border: 0;
	padding: 0;
	margin: 0;
	background: none;
	cursor: default;
	overflow: visible;
}
.dg-cat-plain .dg-purchase-card[data-mode="one_time"] > .dg-purchase-top {
	display: none;
}
.dg-cat-plain .dg-purchase-card[data-mode="one_time"] .dg-purchase-panel {
	margin-top: 0;
}
.calio-cat-dosage {
	margin: 0;
}
/* calio 2026-11-02 (Emil): white tier boxes, and only a small gap between
   "Brug for flere bøtter?" and the add-to-cart button. */
.dg-cat-plain .wpcpq-table .wpcpq-row.wpcpq-item {
	background-color: #fff;
}
.dg-purchase-config.dg-cat-plain,
.dg-cat-plain .dg-purchase-options {
	margin-bottom: 8px;
}

/* calio 2026-11-03: rest of the .dk cat CSS (badge for the 2-jar tier, Black Month pill, back-in-stock box). Cat products only. */
.dg-cat-plain .wpcpq-item.wpcpq-item-2:after { content: "Spar 13%"; }
/* Cat product pages keep the Black Month top bar (template 5501491) without its subscription offer pill. */
body.calio-cat-product .elementor-5501491 .bm-pill {
	display: none !important;
}

/* =========================================================
 * Cat products: "Back In Stock Notifier" sign-up box (shown only while a cat
 * product is out of stock) restyled to the Buddy's Choice look. Scoped to
 * body.calio-cat-product, so nothing here can reach dog pages.
 * ======================================================= */
body.calio-cat-product .entry-product-stock.out-of-stock {
	display: inline-flex !important;
	align-items: center;
	width: auto !important;
	padding: 6px 14px !important;
	margin: 0 0 4px !important;
	border-radius: 999px;
	background: #FDEEEA;
	color: #B4462B !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
}
body.calio-cat-product .entry-product-stock.out-of-stock::before {
	color: #B4462B !important;
	font-size: 13px !important;
	margin: 0 6px 0 0 !important;
	position: static !important;
	top: auto !important;
	transform: none !important;
	line-height: 1 !important;
	display: inline-block !important;
	vertical-align: middle;
}
body.calio-cat-product .cwginstock-subscribe-form { margin: 10px 0 0; }
body.calio-cat-product .cwginstock-subscribe-form .cwginstock-panel-primary {
	background: #fff !important;
	border: 1px solid #D5DDD2 !important;
	border-radius: 16px !important;
	box-shadow: none !important;
	padding: 22px 24px 24px !important;
	margin: 0 !important;
	overflow: hidden;
}
body.calio-cat-product .cwginstock-subscribe-form .cwginstock-panel-heading {
	background: none !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	text-align: left !important;
}
body.calio-cat-product .cwginstock-subscribe-form .cwginstock-panel-heading h4 {
	color: #0D3C35 !important;
	font-size: 20px !important;
	line-height: 1.3 !important;
	font-weight: 700 !important;
	margin: 0 !important;
	text-align: left !important;
	letter-spacing: 0 !important;
}
/* Short helper line under the title ("We'll email you as soon as it's back.") */
body.calio-cat-product .cwginstock-subscribe-form .cwginstock-panel-heading::after {
	content: "Vi sender deg en e-post så snart den er tilbake på lager.";
	display: block;
	margin-top: 6px;
	font-size: 14px;
	line-height: 1.5;
	color: #4a6660;
}
body.calio-cat-product .cwginstock-subscribe-form .cwginstock-panel-body { padding: 0 !important; margin-top: 16px !important; }
body.calio-cat-product .cwginstock-subscribe-form .row,
body.calio-cat-product .cwginstock-subscribe-form [class*="col-md"] {
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	float: none !important;
}
body.calio-cat-product .cwginstock-subscribe-form .cwginstock-subscribe-form__form {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: stretch;
}
body.calio-cat-product .cwginstock-subscribe-form .cwginstock-subscribe-form__form > * { margin-bottom: 0 !important; }
body.calio-cat-product .cwginstock-subscribe-form .form-group { margin: 0 !important; padding: 0 !important; height: auto !important; line-height: 1 !important; }
body.calio-cat-product .cwginstock-subscribe-form .form-group:first-child { flex: 1 1 220px; }
body.calio-cat-product .cwginstock-subscribe-form .cwgstock_email {
	display: block;
	width: 100% !important;
	height: 52px !important;
	margin: 0 !important;
	border: 1px solid #D5DDD2 !important;
	border-radius: 999px !important;
	padding: 0 20px !important;
	text-align: left !important;
	font-size: 15px !important;
	color: #0D3C35 !important;
	background: #F7F9F6 !important;
	box-shadow: none !important;
}
body.calio-cat-product .cwginstock-subscribe-form .cwgstock_email:focus {
	border-color: #18564B !important;
	background: #fff !important;
	outline: none !important;
}
body.calio-cat-product .cwginstock-subscribe-form .cwgstock_button {
	display: block;
	height: 52px !important;
	width: auto !important;
	min-width: 150px;
	margin: 0 !important;
	padding: 0 28px !important;
	border-radius: 999px !important;
	font-weight: 600 !important;
	white-space: nowrap;
}
body.calio-cat-product .cwginstock-subscribe-form .cwgstock_output { flex-basis: 100%; font-size: 14px; }
body.calio-cat-product .cwginstock-subscribe-form .cwgstock_output:empty { display: none; }
@media (max-width: 600px) {
	body.calio-cat-product .cwginstock-subscribe-form .cwginstock-panel-primary { padding: 20px !important; }
	body.calio-cat-product .cwginstock-subscribe-form .cwginstock-subscribe-form__form .form-group { flex: 1 1 100% !important; }
	body.calio-cat-product .cwginstock-subscribe-form .cwgstock_button { width: 100% !important; }
	body.calio-cat-product .cwginstock-subscribe-form .cwginstock-panel-heading h4 { font-size: 19px !important; }

} /* calio 2026-11-06: closes the @media block above, which was never closed (the browser closed it at the end of the file) */

/* calio 2026-11-06 (Emil): mobile purchase cards a little narrower side padding and a smaller gap at the
   radio button, so the badges stay on the subscription heading line on small phones. */
@media only screen and (max-width: 420px) {
  .dg-purchase-card { padding-left: 6px; padding-right: 8px; }
  .dg-purchase-callout { margin-left: -6px; margin-right: -8px; }
  .dg-purchase-left { gap: 6px; }
  .dg-sub-heading-row { column-gap: 10px; }
  .dg-badges { gap: 4px; }
  .dg-badge { padding: 0 6px; }
}

/* calio 2026-11-06 (Emil): subscription summary on phones. Same column layout as before (text + price beside the jar
   image), but a slightly smaller price that never wraps, so the Black Month price box no longer pushes the offer price
   under the real price. (A full-width price row under the image left too much space and was dropped.) */
@media (max-width: 420px) {
  .dg-sub-pricing-large { flex-wrap: nowrap; align-items: center; }
  .dg-sub-pricing-month { font-size: 26px; white-space: nowrap; }
  .dg-sub-pricing-old { font-size: 17px; white-space: nowrap; padding-top: 0; }
}

/* calio 2026-11-06 (Emil): a little more space to the left of the jar image (was 12px on phones, 20px wider) */
.dg-sub-visual { gap: 26px; }
@media (max-width: 420px) { .dg-sub-visual { gap: 16px; } }

/* calio 2026-11-06 (Emil): space under the free shipping line 22px (was 25px above the gift box) */
@media only screen and (max-width: 600px) { .dg-sub-gifts { margin-top: 22px; } }
