/* Promotion title and digits stay together in the normal document flow. */
.card_timer[hidden], .card_main_timer[hidden] { display: none !important; }
 .product__head:has(.card_timer) { display: grid; grid-template-columns: minmax(0, 1fr); }
.product__head:has(.card_timer) > .product__image { grid-area: 1 / 1; }
.product__head:has(.card_timer) > .product__head--icons {
  position: relative;
  grid-area: 1 / 1;
  align-self: start;
  justify-self: end;
  height: auto;
  top: auto;
  right: auto;
}
.product__head:has(.card_timer) > .left-card { justify-self: start; }
.product__head > .card_timer { grid-area: 2 / 1; }
.product__head > .card_timer, .card_main_timer {
  position: static;
  clear: both;
  transform: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin: 10px auto;
  text-align: center;
}
.card_timer .product__name, .card_main_timer .body-card__title {
  display: block;
  height: auto;
  min-height: 0;
  flex: none;
  word-break: normal;
  white-space: normal;
  overflow-wrap: anywhere;
  margin: 0 0 8px;
  line-height: 1.25;
}
.card_timer .flip-clock, .card_main_timer .flip-clock {
  position: static;
  justify-content: center;
  gap: 4px;
  max-width: 100%;
}
.card_timer .flip-unit, .card_main_timer .flip-unit { min-width: 0; }
.gallery-card__main:has(.card_main_timer) { display: grid; grid-template-columns: minmax(0, 1fr); }
.gallery-card__main:has(.card_main_timer) > div:not(.product__head--icons):not(.card_main_timer) { grid-area: 1 / 1; min-width: 0; }
.gallery-card__main:has(.card_main_timer) > .product__head--icons {
  position: relative;
  grid-area: 1 / 1;
  align-self: start;
  justify-self: end;
  top: auto;
  right: auto;
  height: auto;
  margin-top: 60px;
}
.gallery-card__main:has(.card_main_timer) > .left-card { justify-self: start; }
.gallery-card__main > .card_main_timer { grid-area: 2 / 1; }
.product:has(.card_timer) { height: auto !important; max-height: none !important; }
.product__head:has(.card_timer) > .product__head--icons,
.gallery-card__main:has(.card_main_timer) > .product__head--icons {
  max-height: none;
  left: auto;
}
.product__head:has(.card_timer) > .product__head--icons { margin: 0 !important; }
.gallery-card__main:has(.card_main_timer) > .product__head--icons { top: auto !important; }

/* Compact promotion panel shared by catalogue cards and product galleries. */
.product__head, .gallery-card__main { container-type: inline-size; }
.product__head > .card_timer, .gallery-card__main .card_main_timer {
  width: fit-content;
  max-width: 100%;
  padding: .75em .85em;
  border: 1px solid #efd4d4;
  border-radius: .9em;
  background: #fffaf7;
  box-shadow: 0 2px 6px rgb(85 30 25 / 5%);
  font-size: clamp(8px, 4.8cqw, 11px);
  gap: .65em;
}
.card_timer .product__name, .card_main_timer .body-card__title {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .4em;
  margin: 0;
  color: #b93025;
  font-size: .9em;
  font-weight: 800;
  line-height: 1.3;
  text-transform: uppercase;
  overflow: visible;
  -webkit-line-clamp: unset;
}
.card_timer .product__name::before, .card_main_timer .body-card__title::before {
  content: "";
  flex: 0 0 .4em;
  width: .4em;
  height: .4em;
  border-radius: 50%;
  background: #c33126;
}
.card_timer .flip-clock, .card_main_timer .flip-clock {
  gap: 1.15em;
  font-size: inherit;
}
.card_timer .flip-unit, .card_main_timer .flip-unit { position: relative; }
.card_timer .flip-unit + .flip-unit::before,
.card_main_timer .flip-unit + .flip-unit::before {
  content: ":";
  position: absolute;
  left: -.8em;
  top: 50%;
  transform: translateY(-50%);
  color: #d3c5c3;
  font-weight: 700;
}
.product .card_timer.card_timer .flip-card, .card_main_timer .flip-card {
  width: auto;
  min-width: 2.5em;
  height: 2.4em;
  padding: 0 .25em;
  border: 1px solid #e2e8ed;
  border-radius: .5em;
  background: #f8fafc;
  color: #172431;
  font-size: 1.15em;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  box-shadow: 0 2px 3px rgb(23 36 49 / 5%);
}
.product .card_timer.card_timer .minutes-circle, .product .card_timer.card_timer .seconds-circle,
.card_main_timer .minutes-circle, .card_main_timer .seconds-circle {
  border-color: #bc3025;
  background: #bc3025;
  color: #fff;
}
.card_timer .flip-label, .card_main_timer .flip-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
