/* Summary block (theme-safe via CSS variables) */
/* Safety (storefront only): if Shopify renders this app block without a bound calculator id, hide it. */
.calc-summary-block[data-calc-summary-block]:not([data-calculator-id]),
.calc-summary-block[data-calc-summary-block][data-calculator-id=""]{
  display:none !important;
}

/* Themes sometimes override the `[hidden]` attribute. Force it back off (storefront only). */
.calc-summary-block[data-calc-summary-block][hidden]{
  display:none !important;
}

/* Same flex-row fix as calculator-runtime.css (summary block only loads this stylesheet). */
.shopify-block:has([data-calcai-standalone-app]),
.shopify-app-block:has([data-calcai-standalone-app]){
  box-sizing:border-box;
  flex:1 1 0%;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:stretch;
}

/* Duplicated from calculator-runtime.css — summary block does not load that file. */
.shopify-block:has([data-calcai-fill-row-height]),
.shopify-app-block:has([data-calcai-fill-row-height]){
  align-self:stretch;
}
.shopify-block:has([data-calcai-fill-row-height]) [data-calcai-fill-row-height],
.shopify-app-block:has([data-calcai-fill-row-height]) [data-calcai-fill-row-height]{
  flex:1 1 auto;
  min-height:0;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
  height:100%;
}
.calc-summary-block[data-calcai-fill-row-height]{
  display:flex;
  flex-direction:column;
}
.calc-summary-block[data-calcai-fill-row-height] .calc-summary-block__skeleton,
.calc-summary-block[data-calcai-fill-row-height] .calc-summary-block__content{
  flex:0 0 auto;
}
.calc-summary-block[data-calcai-fill-row-height]::after{
  content:"";
  flex:1 1 auto;
  min-height:0;
}

.calc-summary-block{
  display:block;
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-width:0;
  border:var(--calc-summary-border-width, 1px) var(--calc-summary-border-style, solid) var(--calc-summary-border-color, var(--calc-color-border, #e1e3e5));
  padding:var(--calc-summary-padding, var(--calc-space-300, 12px));
  border-radius:var(--calc-summary-radius, var(--calc-radius, 8px));
  background:var(--calc-summary-bg, var(--calc-color-card, #ffffff));
  color:var(--calc-summary-text, var(--calc-color-text, #111213));
  line-height:var(--calc-summary-line, 1.5);
  box-shadow:var(--calc-summary-shadow, none);
}

.calc-summary-block__skeleton{
  display:flex;
  flex-direction:column;
  gap:var(--calc-summary-skeleton-gap, 8px);
}

.calc-summary-block__line{
  height:var(--calc-summary-skeleton-line-height, 10px);
  border-radius:var(--calc-summary-skeleton-radius, 4px);
  background:linear-gradient(
    90deg,
    var(--calc-summary-skeleton-color-1, #f3f4f6) 0%,
    var(--calc-summary-skeleton-color-2, #e5e7eb) 50%,
    var(--calc-summary-skeleton-color-1, #f3f4f6) 100%
  );
  background-size:200% 100%;
  animation:calc-summary-shimmer var(--calc-summary-skeleton-duration, 1.2s) ease-in-out infinite;
}

.calc-summary-block__content{display:block}

.calc-summary-row{
  display:flex;
  justify-content:space-between;
  align-items:var(--calc-summary-row-align, flex-start);
  padding:var(--calc-summary-row-padding-y, 4px) 0;
  gap:var(--calc-summary-row-gap, 12px);
}

.calc-summary-row--divider{
  border-bottom:var(--calc-summary-divider-width, 1px) var(--calc-summary-divider-style, solid) var(--calc-summary-divider-color, var(--calc-color-border, #e1e3e5));
  margin:var(--calc-summary-divider-margin-y, 4px) 0;
}

.calc-summary-label{
  flex:1;
  min-width:0;
  font-family:var(--calc-summary-label-font-family, inherit);
  font-size:var(--calc-summary-label-font-size, var(--calc-font-size, 14px));
  font-weight:var(--calc-summary-label-font-weight, 400);
  color:var(--calc-summary-label-color, var(--calc-summary-text, var(--calc-color-text, #111213)));
  font-style:var(--calc-summary-label-font-style, normal);
  text-decoration:var(--calc-summary-label-text-decoration, none);
}

.calc-summary-value{
  margin-left:var(--calc-summary-value-margin-left, 12px);
  white-space:nowrap;
  text-align:right;
  font-family:var(--calc-summary-value-font-family, inherit);
  font-size:var(--calc-summary-value-font-size, var(--calc-font-size, 14px));
  font-weight:var(--calc-summary-value-font-weight, 400);
  color:var(--calc-summary-value-color, var(--calc-summary-text, var(--calc-color-text, #111213)));
  font-style:var(--calc-summary-value-font-style, normal);
  text-decoration:var(--calc-summary-value-text-decoration, none);
}

.calc-summary-value--subdued{
  color:var(--calc-summary-value-subdued-color, var(--calc-color-muted, #6D7175));
  font-size:var(--calc-summary-value-subdued-font-size, 13px);
  font-weight:var(--calc-summary-value-subdued-font-weight, 400);
}

.calc-summary-row--strong .calc-summary-label,
.calc-summary-row--strong .calc-summary-value{
  font-weight:var(--calc-summary-strong-font-weight, 600);
}

/* Fees section header (shown above individual fee rows) */
.calc-summary-row--fees-header{
  padding-top:var(--calc-summary-fees-header-pt, 4px);
  padding-bottom:var(--calc-summary-fees-header-pb, 0px);
}
.calc-summary-row--fees-header .calc-summary-label{
  font-size:var(--calc-summary-fees-header-font-size, 11px);
  font-weight:var(--calc-summary-fees-header-font-weight, 600);
  color:var(--calc-summary-fees-header-color, var(--calc-color-muted, #6D7175));
  text-transform:var(--calc-summary-fees-header-transform, uppercase);
  letter-spacing:var(--calc-summary-fees-header-tracking, 0.05em);
}
.calc-summary-row--fees-header .calc-summary-value{display:none}
.calc-summary-row--fee .calc-summary-label{color:var(--calc-summary-fee-label-color, var(--calc-summary-label-color, inherit));font-weight:var(--calc-summary-fee-label-weight, var(--calc-summary-label-font-weight, 400))}
.calc-summary-row--fee .calc-summary-value{color:var(--calc-summary-fee-value-color, var(--calc-summary-value-color, inherit));font-weight:var(--calc-summary-fee-value-weight, var(--calc-summary-value-font-weight, 400))}

/* Row-type overrides (optional) */
.calc-summary-row--subtotal .calc-summary-label{color:var(--calc-summary-subtotal-label-color, var(--calc-summary-label-color, inherit));font-weight:var(--calc-summary-subtotal-label-weight, 500)}
.calc-summary-row--subtotal .calc-summary-value{color:var(--calc-summary-subtotal-value-color, var(--calc-summary-value-color, inherit));font-weight:var(--calc-summary-subtotal-value-weight, 500)}

.calc-summary-row--after-discounts .calc-summary-label{color:var(--calc-summary-after-discounts-label-color, var(--calc-summary-label-color, inherit));font-weight:var(--calc-summary-after-discounts-label-weight, 500)}
.calc-summary-row--after-discounts .calc-summary-value{color:var(--calc-summary-after-discounts-value-color, var(--calc-summary-value-color, inherit));font-weight:var(--calc-summary-after-discounts-value-weight, 500)}

.calc-summary-row--quantity-discount .calc-summary-label{color:var(--calc-summary-qty-discount-label-color, var(--calc-summary-label-color, inherit));font-weight:var(--calc-summary-qty-discount-label-weight, var(--calc-summary-label-font-weight, 400));padding-left:var(--calc-summary-discount-detail-label-indent, 12px)}
.calc-summary-row--quantity-discount .calc-summary-value{color:var(--calc-summary-qty-discount-value-color, var(--calc-summary-value-color, inherit));font-weight:var(--calc-summary-qty-discount-value-weight, var(--calc-summary-value-font-weight, 400))}

.calc-summary-row--discounts .calc-summary-label{color:var(--calc-summary-discounts-label-color, var(--calc-summary-label-color, inherit));font-weight:var(--calc-summary-discounts-label-weight, var(--calc-summary-label-font-weight, 400));padding-left:var(--calc-summary-discount-detail-label-indent, 12px)}
.calc-summary-row--discounts .calc-summary-value{color:var(--calc-summary-discounts-value-color, var(--calc-summary-value-color, inherit));font-weight:var(--calc-summary-discounts-value-weight, var(--calc-summary-value-font-weight, 400))}

.calc-summary-row--total .calc-summary-label{color:var(--calc-summary-total-label-color, var(--calc-summary-label-color, inherit));font-weight:var(--calc-summary-total-label-weight, var(--calc-summary-strong-font-weight, 600))}
.calc-summary-row--total .calc-summary-value{color:var(--calc-summary-total-value-color, var(--calc-summary-value-color, inherit));font-weight:var(--calc-summary-total-value-weight, var(--calc-summary-strong-font-weight, 600))}

.calc-summary-row--unit-price .calc-summary-label{color:var(--calc-summary-unit-label-color, var(--calc-summary-label-color, inherit));font-weight:var(--calc-summary-unit-label-weight, var(--calc-summary-label-font-weight, 400))}
.calc-summary-row--unit-price .calc-summary-value{color:var(--calc-summary-unit-value-color, var(--calc-summary-value-color, inherit));font-weight:var(--calc-summary-unit-value-weight, var(--calc-summary-value-font-weight, 400))}

/* Unit price (supports original + discounted) */
.calc-summary-unit-price{
  display:inline-flex;
  align-items:baseline;
  gap:var(--calc-summary-unit-gap, 8px);
  justify-content:flex-end;
}
.calc-summary-unit-price__original{
  text-decoration:var(--calc-summary-unit-original-decoration, line-through);
  color:var(--calc-summary-unit-original-color, var(--calc-color-muted, #6D7175));
  font-weight:var(--calc-summary-unit-original-weight, 400);
  font-size:var(--calc-summary-unit-original-size, inherit);
}
.calc-summary-unit-price__discounted{
  font-weight:var(--calc-summary-unit-discounted-weight, 600);
  color:var(--calc-summary-unit-discounted-color, var(--calc-summary-text, var(--calc-color-text, #111213)));
  font-size:var(--calc-summary-unit-discounted-size, inherit);
}

/* Row style modifiers (bold / italic / indent) */
.calc-summary-row--bold .calc-summary-label,
.calc-summary-row--bold .calc-summary-value{font-weight:var(--calc-summary-bold-font-weight, 700)}
.calc-summary-row--italic .calc-summary-label,
.calc-summary-row--italic .calc-summary-value{font-style:italic}
.calc-summary-row--indent{padding-left:var(--calc-summary-indent, 16px)}

/* Custom HTML row: single-line, inherits summary typography */
.calc-summary-row--custom-html{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:inherit;
  line-height:inherit;
  padding:var(--calc-summary-row-padding-y, 4px) 0;
}
.calc-summary-row--custom-html hr{
  border:none;
  border-bottom:var(--calc-summary-divider-width, 1px) var(--calc-summary-divider-style, solid) var(--calc-summary-divider-color, var(--calc-color-border, #e1e3e5));
  margin:var(--calc-summary-divider-margin-y, 4px) 0;
}

@keyframes calc-summary-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

