/**
 * Daily Promo visual overrides only.
 * Heading, arrows, pagination and Embla are rendered/styled/initialized by
 * the theme's shared product-carousel component.
 */

/* Respect the same Snusowo container as other home carousels. */
.sndp-section {
  width: 100%;
  min-width: 0;
  --sndp-gap: 22px;
  --sndp-columns: 4;
  --sndp-per-view: var(--sndp-columns);
}

.sndp-section.sndp-cols-1 { --sndp-columns: 1; }
.sndp-section.sndp-cols-2 { --sndp-columns: 2; }
.sndp-section.sndp-cols-3 { --sndp-columns: 3; }
.sndp-section.sndp-cols-4 { --sndp-columns: 4; }
.sndp-section.sndp-cols-5 { --sndp-columns: 5; }
.sndp-section.sndp-cols-6 { --sndp-columns: 6; }
.sndp-section.sndp-cols-7 { --sndp-columns: 7; }
.sndp-section.sndp-cols-8 { --sndp-columns: 8; }

/* Keep the global carousel markup and scripts, change just the per-view sizing.
   We normalize the track spacing locally so N cards fit precisely edge-to-edge.
   All navigation and pagination styles continue to come from the theme. */
.sndp-section .product-carousel__container {
  display: flex;
  gap: var(--sndp-gap);
  margin: 0;
  min-width: 0;
  align-items: stretch;
}

.sndp-section .product-carousel__slide {
  box-sizing: border-box;
  flex: 0 0 calc((100% - (var(--sndp-per-view) - 1) * var(--sndp-gap)) / var(--sndp-per-view));
  width: auto;
  max-width: none;
  min-width: 0;
  padding: 0;
  margin: 0;
  display: flex;
}

.sndp-section .product-carousel__slide > .product-miniature {
  flex: 1 1 100%;
  min-width: 0;
  height: 100%;
}

/* Countdown stays unique to Daily Promo. */
.sndp-timer-row {
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 0 0 clamp(26px, 4vw, 52px);
}

.sndp-clock {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(100%, 700px);
  min-height: 176px;
  border: 6px solid #191919;
  border-radius: 16px;
  background: #100204;
  box-shadow: 0 14px 32px #0005, inset 0 0 18px #000;
  padding: 16px;
}

.sndp-clock-value {
  color: #f00;
  font-size: clamp(50px, 8.5vw, 103px);
  line-height: 1;
  font-family: 'Courier New', Consolas, monospace;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: .005em;
  white-space: nowrap;
  text-shadow: 0 0 9px #f00, 0 0 23px #f006, 0 0 42px #f003;
}

@media (max-width: 1199.98px) {
  .sndp-section { --sndp-per-view: min(var(--sndp-columns), 3); }
}

@media (max-width: 991.98px) {
  .sndp-section { --sndp-per-view: min(var(--sndp-columns), 2); }
  .sndp-clock { min-height: 140px; }
}

@media (max-width: 575.98px) {
  .sndp-section { --sndp-per-view: min(var(--sndp-columns), 2); --sndp-gap: 12px; }
  .sndp-timer-row { margin-bottom: 24px; }
  .sndp-clock {
    min-height: 100px;
    border-width: 4px;
    border-radius: 12px;
    padding: 11px 5px;
    box-shadow: 0 8px 20px #0003;
  }
  .sndp-clock-value { font-size: clamp(39px, 11.4vw, 67px); }
}
