/**
 * Estimated Delivery — V4 Display Frontend Styles
 *
 * Architecture:
 *   - Color: ed-v4-colors.css (CSS custom properties per theme)
 *   - Style: bg/color intent only (clean, subtle, card, outlined, bold)
 *   - Layout: flex direction + alignment (inline, icon-left, stacked, text-only, banner)
 *   - Appearance: all geometry — border, corners, shadow, spacing, text-size, margin
 *   - Text formatting: CSS custom properties on each item (--ed-date-color, etc.)
 */

/* ══════════════════════════════════════════════
   Type 1 (After Carriers List): inner blocks lose decoration while nested
   — once JS moves them out (types 0+2) this rule no longer applies
   ══════════════════════════════════════════════ */
#estimateddelivery-cart .ed-cart-option {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ══════════════════════════════════════════════
   Base
   ══════════════════════════════════════════════ */

.ed-display {
    display: flex;
    align-items: center;
    gap: 8px;
    line-height: 1.5;
    transition: background 0.15s, border-color 0.15s;
}
.ed-display-icon {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}
.ed-display-content {
    flex: 1;
    min-width: 0;
}
.ed-display-title {
    display: block;
    font-size: 0.8em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 0.7;
    margin-bottom: 2px;
}
.ed-display-text {
    display: inline;
}
.ed-display-image {
    flex-shrink: 0;
}
.ed-display-image img {
    display: inline-block;
    vertical-align: middle;
    max-height: 24px;
    width: auto;
}
.ed-checkmark {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    margin-right: 4px;
    color: #2e7d32;
}

/* Block title (All Carriers header) */
.ed-block-title {
    margin: 0 0 6px;
    font-size: 1em;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Double display item wrapper */
.ed-item {
    margin-bottom: 6px;
}
.ed-item:last-child {
    margin-bottom: 0;
}

/* ══════════════════════════════════════════════
   V4 Wrapper — consumes color CSS variables
   ══════════════════════════════════════════════ */

/* Wrapper rule owns ONLY what no appearance class can — the color CSS variables
   set by ed-color-* classes. Border-width/style/radius and padding/margin come
   from the appearance classes (ed-border-*, ed-bw-*, ed-corners-*, ed-spacing-*,
   ed-margin-*) so user choices in Customize Appearance always apply. */
.estimateddelivery.ed-v4 {
    background: var(--ed-bg, transparent);
    border-color: var(--ed-border-color, transparent);
    color: var(--ed-text, #333);
}

/* ══════════════════════════════════════════════
   Style — bg/color intent only
   ══════════════════════════════════════════════ */

.ed-style-clean {
    background: transparent;
}
.ed-style-subtle {
    background: rgba(0, 0, 0, 0.03);
}
.ed-style-card {
    background: transparent;
}
.ed-style-outlined {
    background: transparent;
}
.ed-style-bold {
    background: var(--ed-accent, #333);
    color: #fff;
}
.ed-style-bold .ed-display-title {
    opacity: 0.8;
}
.ed-style-bold .ed-icon {
    color: #fff;
}

/* ══════════════════════════════════════════════
   Layout — flex direction + alignment
   ══════════════════════════════════════════════ */

/* Icon sizing — em-based so icons scale with text.
   .ed-isize-1x (default): icon ~1em, flows inline with text.
   .ed-isize-2x: icon ~2em, dedicated flex column, vertically centered. */
.ed-display .ed-icon {
    width: 1em;
    height: 1em;
}
.ed-display.ed-isize-2x .ed-icon {
    width: 2em;
    height: 2em;
}

/* Inline layout + 1x: float so text wraps around the icon as a leading glyph */
.ed-layout-inline.ed-isize-1x {
    display: block;
}
.ed-layout-inline.ed-isize-1x .ed-display-icon {
    display: inline-block;
    float: left;
    margin-right: 6px;
    margin-top: -2px;
    padding: 0;
}
.ed-layout-inline.ed-isize-1x .ed-display-content {
    display: block;
}
.ed-layout-inline.ed-isize-1x::after {
    content: "";
    display: block;
    clear: both;
}

/* 2x: break out of inline floating; 2-column flex row with vertical centering */
.ed-display.ed-isize-2x {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}
.ed-display.ed-isize-2x .ed-display-icon {
    float: none;
    margin: 0;
    padding: 0;
    flex-shrink: 0;
    display: flex;
    align-items: center;
}
.ed-display.ed-isize-2x .ed-display-content {
    flex: 1;
    min-width: 0;
}

/* Icon Left — large icon column, text stacked right */
.ed-layout-icon-left {
    flex-direction: row;
    align-items: flex-start;
}
.ed-layout-icon-left .ed-display-icon {
    padding-top: 2px;
}
.ed-layout-icon-left .ed-display-icon .ed-icon {
    width: 28px;
    height: 28px;
}

/* Stacked — icon above, text below */
.ed-layout-stacked {
    flex-direction: column;
    align-items: center;
    text-align: center;
}

/* Text Only — no icon */
.ed-layout-text-only {
    flex-direction: row;
}
.ed-layout-text-only .ed-display-icon {
    display: none;
}

/* Banner — full-width centered */
.ed-layout-banner {
    flex-direction: row;
    align-items: center;
    width: 100%;
    justify-content: center;
    text-align: center;
}

/* ══════════════════════════════════════════════
   Appearance — Border
   ══════════════════════════════════════════════ */

.ed-border-none    { border-style: none; }
.ed-border-simple  { border-style: solid; }
.ed-border-dashed  { border-style: dashed; }
.ed-border-double  { border-style: double; }

/* Border width */
.ed-bw-thin   { border-width: 1px; }
.ed-bw-normal { border-width: 2px; }
.ed-bw-thick  { border-width: 3px; }

/* Border position — selectively remove sides */
/* .ed-bp-all is the default (no overrides needed) */
.ed-bp-left      { border-top-style: none; border-right-style: none; border-bottom-style: none; }
.ed-bp-top       { border-left-style: none; border-right-style: none; border-bottom-style: none; }
.ed-bp-topbottom { border-left-style: none; border-right-style: none; }

/* ══════════════════════════════════════════════
   Appearance — Corners
   ══════════════════════════════════════════════ */

.ed-corners-sharp { border-radius: 0; }
.ed-corners-soft  { border-radius: 4px; }
.ed-corners-round { border-radius: 8px; }
.ed-corners-pill  { border-radius: 20px; }

/* ══════════════════════════════════════════════
   Appearance — Shadow
   ══════════════════════════════════════════════ */

.ed-shadow-none     { box-shadow: none; }
.ed-shadow-light    { box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); }
.ed-shadow-elevated { box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15); }
.ed-shadow-floating { box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2); }

/* ══════════════════════════════════════════════
   Appearance — Spacing (padding)
   ══════════════════════════════════════════════ */

.ed-spacing-tight       { padding: 4px 8px; }
.ed-spacing-comfortable { padding: 8px 14px; }
.ed-spacing-spacious    { padding: 14px 20px; }

/* ══════════════════════════════════════════════
   Appearance — Text Size
   ══════════════════════════════════════════════ */

.ed-fs-small  { font-size: 12px; }
.ed-fs-medium { font-size: 14px; }
.ed-fs-large  { font-size: 16px; }

/* ══════════════════════════════════════════════
   Appearance — Margin
   ══════════════════════════════════════════════ */

.ed-margin-flush  { margin: 0; }
.ed-margin-snug   { margin: 5px 0; }
.ed-margin-normal { margin: 10px 0; }
.ed-margin-roomy  { margin: 20px 0; }

/* ══════════════════════════════════════════════
   Text Formatting — CSS custom properties
   Set per-item via inline style attribute
   ══════════════════════════════════════════════ */

.ed-display .ed-date {
    color: var(--ed-date-color, inherit);
    font-weight: var(--ed-date-weight, inherit);
    font-style: var(--ed-date-style, inherit);
    text-decoration: var(--ed-date-decoration, inherit);
}
.ed-display .ed-countdown {
    color: var(--ed-countdown-color, inherit);
    font-weight: var(--ed-countdown-weight, inherit);
    font-style: var(--ed-countdown-style, inherit);
    text-decoration: var(--ed-countdown-decoration, inherit);
}
.ed-display .ed-carrier {
    color: var(--ed-carrier-color, inherit);
    font-weight: var(--ed-carrier-weight, inherit);
    font-style: var(--ed-carrier-style, inherit);
    text-decoration: var(--ed-carrier-decoration, inherit);
}
.ed-display .ed-price {
    color: var(--ed-price-color, inherit);
    font-weight: var(--ed-price-weight, inherit);
    font-style: var(--ed-price-style, inherit);
    text-decoration: var(--ed-price-decoration, inherit);
}

/* ══════════════════════════════════════════════
   Icon sizing by layout context
   ══════════════════════════════════════════════ */

/* Icon-left layout scales up with spacing */
.ed-spacing-spacious .ed-layout-icon-left .ed-display-icon .ed-icon {
    width: 36px;
    height: 36px;
}

/* ══════════════════════════════════════════════
   Order Details (order confirmation + order history)
   ══════════════════════════════════════════════ */

/* ed-order-display only contributes internal layout; border / background /
   corners / padding / margin / shadow come from the V4 appearance classes
   applied via EDDisplayRenderer::getWrapperAttributes() (ed-border-*,
   ed-corners-*, ed-spacing-*, ed-margin-*, ed-shadow-*, ed-color-*). */
.ed-order-display {
    display: block;
}
.ed-order-display-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--ed-border-color, rgba(0,0,0,0.1));
}
.ed-order-display-header {
    line-height: 1.2;
}
.ed-order-display-icon {
    display: inline-flex;
    align-items: center;
    line-height: 1;
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    font-size: 1.1em;
}
.ed-order-display-icon .ed-icon,
.ed-order-display-icon svg,
.ed-order-display-icon img {
    display: block;
    width: 1em;
    height: 1em;
    max-width: 1em;
    max-height: 1em;
}
.ed-order-display-icon .ed-char-emoji,
.ed-order-display-icon .ed-char-icon {
    font-size: 1em;
    line-height: 1;
}
.ed-order-display-title {
    margin: 0;
    font-size: 1.1em;
    font-weight: 600;
}
h3.ed-order-display-title {
    margin: 1em 0.5em;
}
.ed-order-display-body p {
    margin: 4px 0;
}
.ed-order-display-sep {
    border: none;
    border-top: 1px solid var(--ed-border-color, rgba(0,0,0,0.1));
    margin: 10px 0;
}
.ed-order-display-notice {
    border-left: 3px solid var(--ed-accent, var(--ed-border-color, rgba(0,0,0,0.25)));
    padding: 2px 0 2px 10px;
    margin: 6px 0;
}
.ed-order-display-notice p {
    margin: 2px 0;
}
.ed-order-display-label {
    color: inherit;
}
.ed-order-display-subtitle {
    margin: 8px 0 4px;
    font-size: 1em;
}
.ed-order-display .ed-date {
    color: var(--ed-date-color, #44B449);
    font-weight: var(--ed-date-weight, 600);
}
.ed-order-product {
    padding: 6px 0;
}
.ed-order-product + .ed-order-product {
    border-top: 1px dashed var(--ed-border-color, rgba(0,0,0,0.1));
}
.ed-order-product-date {
    margin-bottom: 2px;
}
.ed-order-product-info {
    padding-left: 4px;
}
.ed-order-product-name {
    display: inline-block;
}
.ed-order-product-attr {
    padding-left: 12px;
    font-size: 0.9em;
    color: #666;
}
.ed-order-product-attr .ed-attr-value {
    text-decoration: underline;
}

/* ══════════════════════════════════════════════
   Surface 2 — Cart Product Line
   ══════════════════════════════════════════════ */

/* Minimalist inline box: border/bg/corners/margin come from BO appearance
   classes (ed-border-*, ed-color-*, ed-corners-*, ed-margin-*).
   ed-cart-line overrides for compactness + full-width block behaviour. */
.ed-cart-line {
    display: block;
    width: 100%;
    box-sizing: border-box;
    font-size: 0.85em;
    line-height: 1.35;
    padding: 4px 8px;
}
/* Reset color: theme rules like .has-discount p bleed into p.ed-cart-line-text.
   color:inherit pulls from .estimateddelivery.ed-v4 (color: var(--ed-text,#333)),
   winning the specificity battle against .has-discount p (0,1,1) vs (0,2,1). */
.ed-cart-line p.ed-cart-line-text {
    color: inherit;
    margin: 0;
}
/* Apply text-format CSS vars — .ed-display .ed-date rule doesn't fire here
   because the cart-line wrapper lacks the .ed-display class. */
.ed-cart-line .ed-date {
    color: var(--ed-date-color, inherit);
    font-weight: var(--ed-date-weight, inherit);
    font-style: var(--ed-date-style, inherit);
    text-decoration: var(--ed-date-decoration, inherit);
}
.ed-cart-line .ed-carrier {
    color: var(--ed-carrier-color, inherit);
    font-weight: var(--ed-carrier-weight, inherit);
    font-style: var(--ed-carrier-style, inherit);
    text-decoration: var(--ed-carrier-decoration, inherit);
}
.ed-cart-line-icon {
    display: inline;
    margin-right: 4px;
    opacity: 0.75;
    vertical-align: middle;
}
.ed-cart-line-icon .ed-icon,
.ed-cart-line-icon svg {
    width: 14px;
    height: 14px;
    display: inline-block;
    vertical-align: middle;
}
.ed-cart-line-carrier {
    margin-left: 4px;
}
.ed-cart-line-tooltip {
    cursor: help;
}

/* ══════════════════════════════════════════════
   Surface 3 — Cart Summary Block
   ══════════════════════════════════════════════ */

.ed-cart-summary {
    display: block;
}
.ed-cart-summary-header {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 6px;
    font-weight: 600;
    line-height: 1.3;
}
.ed-cart-summary-icon {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    opacity: 0.8;
    line-height: 1;
}
.ed-cart-summary-icon .ed-icon,
.ed-cart-summary-icon svg {
    width: 16px;
    height: 16px;
    display: block;
}
.ed-cart-summary-title {
    font-size: 0.95em;
}
.ed-cart-summary-text {
    margin: 4px 0 0;
    font-size: 0.85em;
}
.ed-cart-summary-guest {
    opacity: 0.7;
}
.ed-cart-carrier-line {
    margin-bottom: 4px;
}
.ed-cart-carrier-line:last-of-type {
    margin-bottom: 0;
}
.ed-cart-carrier-hidden {
    display: none;
}
/* Reset color — same theme override risk as Surface 2 */
.ed-cart-summary p.ed-cart-carrier-text {
    color: inherit;
    margin: 0;
    font-size: 0.9em;
}
.ed-cart-carrier-text .ed-carrier {
    color: var(--ed-carrier-color, inherit);
    font-weight: var(--ed-carrier-weight, 600);
    font-style: var(--ed-carrier-style, inherit);
    text-decoration: var(--ed-carrier-decoration, inherit);
}
.ed-cart-carrier-text .ed-date {
    color: var(--ed-date-color, inherit);
    font-weight: var(--ed-date-weight, 600);
    font-style: var(--ed-date-style, inherit);
    text-decoration: var(--ed-date-decoration, inherit);
}
.ed-cart-carrier-custom {
    margin: 2px 0 0;
    font-size: 0.85em;
    color: inherit;
}
.ed-cart-expand {
    margin-top: 6px;
    font-size: 0.85em;
}
.ed-cart-expand-link {
    color: var(--ed-accent, currentColor);
    text-decoration: none;
    cursor: pointer;
    border-bottom: 1px dashed var(--ed-accent, currentColor);
    opacity: 0.8;
}
.ed-cart-expand-link:hover {
    opacity: 1;
    text-decoration: none;
}
/* LDA / OOS split-delivery notice */
.ed-cart-lda {
    margin-top: 6px;
    border-left: 3px solid var(--ed-accent, var(--ed-border-color, rgba(0,0,0,0.2)));
    padding: 4px 8px;
}
.ed-cart-lda p.ed-cart-lda-text {
    margin: 0;
    font-size: 0.85em;
    color: inherit;
}

/* ── Surface 4 — Calendar delivery display ── */
.ed-calendar-block {
    margin-top: 8px;
}
.ed-calendar-header {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 4px;
    font-weight: 600;
    font-size: 0.95em;
}
.ed-calendar-icon {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    opacity: 0.8;
}
.ed-calendar-hint {
    margin: 0 0 8px;
    font-size: 0.85em;
    opacity: 0.75;
}
.ed-calendar-picker-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.ed-calendar-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.85em;
    padding: 4px 10px;
    border: 1px solid var(--ed-border-color, rgba(0,0,0,0.2));
    border-radius: 4px;
    background: transparent;
    color: inherit;
    cursor: pointer;
}
.ed-calendar-btn:hover {
    background: var(--ed-border-color, rgba(0,0,0,0.06));
}
.ed-calendar-selected-label {
    font-size: 0.85em;
    opacity: 0.75;
}
.ed-date-selected {
    color: var(--ed-date-color, inherit);
    font-weight: var(--ed-date-weight, 600);
    font-style: var(--ed-date-style, inherit);
    text-decoration: var(--ed-date-decoration, inherit);
}
#delivery_date_picker.ed-calendar-date-input {
    visibility: hidden;
    width: 0;
    height: 0;
    padding: 0;
    border: 0;
    position: absolute;
}

/* ══════════════════════════════════════════════
   Cart Carrier-Selection V4
   ══════════════════════════════════════════════ */

.ed-cart-carrier-icon { display: inline; vertical-align: middle; margin-right: 4px; }
.ed-cart-carrier-text { margin: 0; }
.ed-cart-carrier-text .ed-date { color: var(--ed-date-color, #0a8d64); font-weight: var(--ed-date-weight, 600); }
.ed-cart-carrier-text .ed-carrier { opacity: 0.8; }
.ed-cart-products-title { margin: 0 0 8px; font-size: 1em; font-weight: 600; color: var(--ed-text, #333); }
.ed-date-range { display: flex; align-items: center; gap: 6px; margin-bottom: 4px; }
.ed-date-range .ed-date { color: var(--ed-date-color, #0a8d64); font-weight: var(--ed-date-weight, 600); }
.ed-cart-lda { display: block; margin-top: 8px; }
.ed-cart-lda-text { margin: 0; color: var(--ed-text, #333); }

/* ══════════════════════════════════════════════
   Popup Overlay V4
   ══════════════════════════════════════════════ */

#ed_popup_content.ed-v4 {
    background: #fff;
    color: #212529;
    border-radius: 8px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
    padding: 28px 36px 24px;
    border-top: 3px solid var(--ed-accent, #0a8d64);
}
#ed_popup_content.ed-v4 h3 {
    font-size: 1.15em;
    font-weight: 700;
    color: var(--ed-accent, #0a8d64);
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
}
#ed_popup_content.ed-v4 .ed_close_popup {
    background: var(--ed-accent, #0a8d64);
    border-radius: 50%;
    width: 28px;
    height: 28px;
    line-height: 28px;
    top: -14px;
    right: -14px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
#ed_popup_content.ed-v4 table thead th,
.ed-carriers-tab-content.ed-v4 table thead th {
    padding: 10px 14px;
    font-size: 0.76em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #6c757d;
    background: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
    white-space: nowrap;
    vertical-align: bottom;
}
#ed_popup_content.ed-v4 table tbody td,
.ed-carriers-tab-content.ed-v4 table tbody td {
    padding: 11px 14px;
    color: #212529;
    vertical-align: middle;
    border-bottom: 1px solid #dee2e6;
}
#ed_popup_content.ed-v4 table tbody tr:last-child td,
.ed-carriers-tab-content.ed-v4 table tbody tr:last-child td { border-bottom: none; }
#ed_popup_content.ed-v4 table tbody tr:hover td,
.ed-carriers-tab-content.ed-v4 table tbody tr:hover td { background: #f8f9fa; }
#ed_popup_content.ed-v4 table tbody td img,
.ed-carriers-tab-content.ed-v4 table tbody td img { max-width: 60px; max-height: 32px; object-fit: contain; }
#ed_popup_content.ed-v4 .date_green,
.ed-carriers-tab-content.ed-v4 .date_green { color: var(--ed-date-color, var(--ed-accent, #0a8d64)); font-weight: 600; }
#ed_popup_content.ed-v4 .popup_item { border-bottom: 1px solid #eee; }
#ed_popup_content.ed-v4 .popup_item h4 { font-size: 0.95em; font-weight: 600; color: #333; }

/* ══════════════════════════════════════════════
   All Carriers Link Band (link mode)
   ══════════════════════════════════════════════ */
.estimateddelivery.ed-v4 .ed-all-carriers-link {
    display: block;
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px solid rgba(0,0,0,0.08);
    text-align: center;
    font-size: 0.85em;
    color: var(--ed-accent, #0a8d64);
    text-decoration: none;
    cursor: pointer;
}
.estimateddelivery.ed-v4 .ed-all-carriers-link:hover { text-decoration: underline; }

/* ══════════════════════════════════════════════
   Popup / Tab Table Style Presets
   Scoped to #ed_popup_content.ed-v4 and .ed-carriers-tab-content.ed-v4
   Applied via ed-table-{style} class on the <table> element
   ══════════════════════════════════════════════ */

/* ── clean: base is already clean, no overrides needed ── */

/* ── modern: accent-labeled header, card rows with gaps ── */
#ed_popup_content.ed-v4 table.ed-table-modern,
.ed-carriers-tab-content.ed-v4 table.ed-table-modern {
    border-collapse: separate;
    border-spacing: 0 5px;
}
#ed_popup_content.ed-v4 table.ed-table-modern thead th,
.ed-carriers-tab-content.ed-v4 table.ed-table-modern thead th {
    background: transparent;
    color: var(--ed-accent, #0a8d64);
    border-bottom: 2px solid var(--ed-accent, #0a8d64);
    padding-bottom: 12px;
}
#ed_popup_content.ed-v4 table.ed-table-modern tbody td,
.ed-carriers-tab-content.ed-v4 table.ed-table-modern tbody td {
    background: #f8f9fa;
    border-bottom: none;
}
#ed_popup_content.ed-v4 table.ed-table-modern tbody tr:last-child td,
.ed-carriers-tab-content.ed-v4 table.ed-table-modern tbody tr:last-child td { border-bottom: none; }
#ed_popup_content.ed-v4 table.ed-table-modern tbody tr:hover td,
.ed-carriers-tab-content.ed-v4 table.ed-table-modern tbody tr:hover td { background: #eef2f7; }
#ed_popup_content.ed-v4 table.ed-table-modern tbody td:first-child,
.ed-carriers-tab-content.ed-v4 table.ed-table-modern tbody td:first-child { border-radius: 6px 0 0 6px; }
#ed_popup_content.ed-v4 table.ed-table-modern tbody td:last-child,
.ed-carriers-tab-content.ed-v4 table.ed-table-modern tbody td:last-child { border-radius: 0 6px 6px 0; }

/* ── striped: title-case headers, accent underline, zebra rows ── */
#ed_popup_content.ed-v4 table.ed-table-striped thead th,
.ed-carriers-tab-content.ed-v4 table.ed-table-striped thead th {
    text-transform: none;
    font-size: 0.82em;
    letter-spacing: 0;
    font-weight: 600;
    color: #495057;
    background: #f8f9fa;
    border-bottom: 2px solid var(--ed-accent, #0a8d64);
}
#ed_popup_content.ed-v4 table.ed-table-striped tbody tr:nth-child(even) td,
.ed-carriers-tab-content.ed-v4 table.ed-table-striped tbody tr:nth-child(even) td { background: #f8f9fa; }
#ed_popup_content.ed-v4 table.ed-table-striped tbody tr:hover td,
.ed-carriers-tab-content.ed-v4 table.ed-table-striped tbody tr:hover td { background: #eef2f7; }

/* ── bold: dark navy header ── */
#ed_popup_content.ed-v4 table.ed-table-bold thead th,
.ed-carriers-tab-content.ed-v4 table.ed-table-bold thead th {
    background: #1e293b;
    color: #fff;
    border-bottom: none;
}
#ed_popup_content.ed-v4 table.ed-table-bold tbody tr:hover td,
.ed-carriers-tab-content.ed-v4 table.ed-table-bold tbody tr:hover td { background: #f8fafc; }

/* ── accent: brand-color header, light-tinted alternating rows ── */
#ed_popup_content.ed-v4 table.ed-table-accent thead th,
.ed-carriers-tab-content.ed-v4 table.ed-table-accent thead th {
    background: var(--ed-accent, #0a8d64);
    color: #fff;
    border-bottom: none;
    text-transform: none;
    font-size: 0.82em;
    letter-spacing: 0;
}
#ed_popup_content.ed-v4 table.ed-table-accent tbody tr:nth-child(even) td,
.ed-carriers-tab-content.ed-v4 table.ed-table-accent tbody tr:nth-child(even) td {
    background: color-mix(in srgb, var(--ed-accent, #0a8d64) 8%, #fff);
}
#ed_popup_content.ed-v4 table.ed-table-accent tbody tr:hover td,
.ed-carriers-tab-content.ed-v4 table.ed-table-accent tbody tr:hover td {
    background: color-mix(in srgb, var(--ed-accent, #0a8d64) 15%, #fff);
}

/* ── dark: full dark theme ── */
#ed_popup_content.ed-v4.ed-theme-dark {
    background: #1a202c;
    border-top-color: var(--ed-accent, #34d399);
}
#ed_popup_content.ed-v4.ed-theme-dark h3 { color: #9ca3af; border-color: #374151; }
.ed-carriers-tab-content.ed-v4.ed-theme-dark { background: #1a202c; }
#ed_popup_content.ed-v4 table.ed-table-dark,
.ed-carriers-tab-content.ed-v4 table.ed-table-dark { background: #1a202c; color: #e5e7eb; }
#ed_popup_content.ed-v4 table.ed-table-dark thead th,
.ed-carriers-tab-content.ed-v4 table.ed-table-dark thead th {
    background: #111827;
    color: #9ca3af;
    border-bottom: 1px solid #374151;
}
#ed_popup_content.ed-v4 table.ed-table-dark tbody td,
.ed-carriers-tab-content.ed-v4 table.ed-table-dark tbody td { border-bottom: 1px solid #374151; color: #e5e7eb; background: #1a202c; }
#ed_popup_content.ed-v4 table.ed-table-dark tbody tr:last-child td,
.ed-carriers-tab-content.ed-v4 table.ed-table-dark tbody tr:last-child td { border-bottom: none; }
#ed_popup_content.ed-v4 table.ed-table-dark tbody tr:hover td,
.ed-carriers-tab-content.ed-v4 table.ed-table-dark tbody tr:hover td { background: #1f2937; }
#ed_popup_content.ed-v4 table.ed-table-dark .date_green,
.ed-carriers-tab-content.ed-v4 table.ed-table-dark .date_green { color: var(--ed-accent, #34d399); }
#ed_popup_content.ed-v4 table.ed-table-dark .carrier_price,
.ed-carriers-tab-content.ed-v4 table.ed-table-dark .carrier_price { color: #9ca3af; }


/* ── Product listing icon — always inline 1x ── */
.estimateddelivery-list .ed-list-icon {
    display: inline-flex;
    vertical-align: middle;
    margin-right: 4px;
    line-height: 1;
}
.estimateddelivery-list .ed-list-icon svg {
    width: 18px !important;
    height: 18px !important;
}

/* Type 2: after each carrier, right-aligned */
.ed-carrier-after {
    text-align: right;
    justify-content: flex-end;
}

/* Inline style: strip design decoration so date blends into carrier row */
.ed-carrier-inline {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 2px 0 !important;
    margin: 0 !important;
}
