/**
 * @author    Harlane Castro
 * @copyright Consport
 * @license   https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
 */
.cspreorder-box {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid #e5e5e5;
  border-left: 4px solid var(--hovercolor, #ec3642);
  background: #fafafa;
}

.cspreorder-badge {
  display: inline-block;
  padding: .15rem .5rem;
  background: var(--hovercolor, #ec3642);
  color: #fff;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.4;
}
.cspreorder-box__type { font-size: .85rem; color: #666; }


.cspreorder-box__prices li { margin-bottom: .15rem; }



.cspreorder-timer span { min-width: 3.25rem; padding: .35rem .4rem; text-align: center; background: #fff; border: 1px solid #e5e5e5; font-size: .75rem; }
.cspreorder-timer b { display: block; font-size: 1.1rem; }
.cspreorder-price { display: block; font-size: .85rem; color: var(--hovercolor, #ec3642); }
.cspreorder-price--sheet { margin-top: .25rem; font-size: 1rem; }
.cspreorder-hidden-price { display: none !important; }
.cspreorder-cart { margin: 1rem 0; }
.cspreorder-cart__title { margin-bottom: .5rem; }
.cspreorder-lines { margin-top: .75rem; }
@media (max-width: 767px) {
  .cspreorder-cart__table, .cspreorder-lines { font-size: .8rem; }
}
/* Same look as the theme "new" flag (ul.product-flag > li.new), theme colour. */
.product-flag li.cspreorder,
.product-flags li.cspreorder,
.product-flags .product-flag.cspreorder {
  display: inline-block;
  padding: 0 5px;
  border-radius: 3px;
  background: var(--hovercolor, #ec3642);
  color: #fff;
  font-size: 12px;
  line-height: 20px;
  font-weight: 600;
}
.product-flag li.cspreorder span { color: #fff; }
/* Narrow checkout column: one block per line instead of a 4-column table. */
.cart-summary-top .cspreorder-cart__table thead { display: none; }
.cart-summary-top .cspreorder-cart__table,
.cart-summary-top .cspreorder-cart__table tbody,
.cart-summary-top .cspreorder-cart__table tr,
.cart-summary-top .cspreorder-cart__table td { display: block; width: 100%; }
.cart-summary-top .cspreorder-cart__table tr { padding: .5rem 0; border-top: 1px solid #eee; }
.cart-summary-top .cspreorder-cart__table td { padding: .1rem 0; border: 0; text-align: left !important; }
.cart-summary-top .cspreorder-cart__table td[data-label]::before { content: attr(data-label) ": "; color: #777; }

/* Box placed right below the price (displayProductPriceBlock): the theme wraps
   that hook in a small, grey tax label, so the box restores its own text size. */
.product-prices .cspreorder-box { font-size: 1rem; color: #333; text-transform: none; font-weight: 400; line-height: 1.5; }
.product-prices .cspreorder-box__message { color: #555; }

/* Vertical rhythm of the box: 12px between blocks, 4px inside a list, no
   trailing margin on the last element so the box padding stays even. */
/* Doubled class: theme rules such as ".product-prices div" would win otherwise. */
.cspreorder-box.cspreorder-box > * { margin-top: 0; margin-bottom: 12px; }
.cspreorder-box.cspreorder-box > .cspreorder-box__date { margin-bottom: 8px; }
.cspreorder-box.cspreorder-box > *:last-child { margin-bottom: 0; }
.cspreorder-box__title { display: flex; align-items: center; gap: .5rem; }
.cspreorder-box__prices { list-style: none; padding: 0; }
.cspreorder-box__prices li { margin-bottom: 4px; }
.cspreorder-box__prices li:last-child { margin-bottom: 0; }
.cspreorder-box__date { margin-bottom: 8px; }
.cspreorder-timer { display: flex; gap: .5rem; flex-wrap: wrap; }
.cspreorder-box__amount { max-width: 260px; }

/* Right below the price: breathing room from the price, none below because
   the price block already ends with its own margin. */
.product-prices .cspreorder-box { margin: 16px 0 0; }

/* The theme keeps padding and a border on the short description even when it
   is empty, which leaves a blank band under the pre-order box. */
.product-information > .product-description:not(:has(*)):not(:has(img)) {
  padding: 0;
  margin: 0;
  border: 0;
}
