/**
 * Shortcode [vinvic_shipping_info] — cenniki per metoda (Wygląd → Sklep).
 */
.vinvic-shipping-info {
    --vsi-accent: var(--vv-theme-accent, var(--vv-listing-page-accent, var(--vv-harmony-accent, var(--vvfs-accent, #6366f1))));
    --vsi-text: var(--vv-theme-text, var(--vv-listing-page-text, var(--vvfs-text, #0f172a)));
    --vsi-bg: var(--vv-theme-card-bg, var(--vvfs-bg, #ffffff));
    --vsi-border: var(--vv-theme-border, var(--vv-listing-page-border, var(--vvfs-border, #e2e8f0)));
    --vsi-muted: var(--vv-theme-muted, var(--vv-listing-page-muted, var(--vvfs-text-dim, #64748b)));
    --vsi-radius: var(--vv-theme-radius, var(--vv-harmony-radius, var(--vvfs-radius, 12px)));
    --vsi-radius-sm: var(--vv-harmony-radius-sm, max(6px, calc(var(--vsi-radius) - 4px)));
    --vsi-soft: color-mix(in srgb, var(--vsi-accent) 10%, var(--vsi-bg));
    --vsi-thead: color-mix(in srgb, var(--vsi-border) 55%, var(--vsi-bg));
    --vsi-free: #15803d;
    --vsi-shadow: 0 1px 2px color-mix(in srgb, var(--vsi-text) 6%, transparent);
    margin: 1.5em 0 2em;
    font-size: inherit;
    line-height: 1.55;
    color: var(--vsi-text);
}

.vinvic-shipping-info__title {
    margin: 0 0 1em;
    font-size: 1.15em;
    font-weight: 700;
    color: var(--vsi-text);
}

.vinvic-shipping-info__methods {
    display: flex;
    flex-direction: column;
    gap: 1.25em;
}

.vinvic-shipping-info__method-block {
    border: 1px solid var(--vsi-border);
    border-radius: var(--vsi-radius);
    background: var(--vsi-bg);
    box-shadow: var(--vsi-shadow);
    overflow: hidden;
}

.vinvic-shipping-info__method-head {
    padding: 14px 16px 10px;
    border-bottom: 1px solid var(--vsi-border);
}

.vinvic-shipping-info__method-head-row {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.vinvic-shipping-info__logo {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 56px;
    max-width: 88px;
    padding: 4px 0;
    border-radius: var(--vinvic-ship-logo-radius, var(--vsi-radius-sm, 10px));
}

.vinvic-shipping-info__logo-img {
    display: block;
    max-width: 100%;
    max-height: 52px;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: var(--vinvic-ship-logo-radius, var(--vsi-radius-sm, 10px));
    background: transparent;
}

.vinvic-shipping-info__logo-img.vinvic-carrier-logo--default,
.vv-ship-inline-logo.vinvic-carrier-logo--default {
    opacity: 0.98;
}

.vinvic-shipping-info__method-copy {
    flex: 1 1 auto;
    min-width: 0;
}

.vinvic-shipping-info__method-name {
    margin: 0;
    font-size: 1.05em;
    font-weight: 700;
    color: var(--vsi-text);
}

.vinvic-shipping-info__desc {
    margin-top: 6px;
    font-size: 0.9em;
    color: var(--vsi-muted);
}

.vinvic-shipping-info__desc p {
    margin: 0;
    color: inherit;
}

.vinvic-shipping-info__rate-wrap {
    overflow-x: auto;
}

.vinvic-shipping-info__rate-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
    min-width: 280px;
}

.vinvic-shipping-info__rate-table th,
.vinvic-shipping-info__rate-table td {
    padding: 10px 16px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid var(--vsi-border);
    color: var(--vsi-text);
}

.vinvic-shipping-info__rate-table thead th {
    background: var(--vsi-thead);
    font-size: 0.78em;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--vsi-muted);
    font-weight: 700;
}

.vinvic-shipping-info__rate-table tbody tr:last-child td {
    border-bottom: none;
}

.vinvic-shipping-info__rate-table td:last-child {
    font-weight: 600;
    white-space: nowrap;
}

.vinvic-shipping-info__rate-free {
    color: var(--vsi-free) !important;
    font-weight: 700 !important;
}

.vinvic-shipping-info__rules-fallback {
    margin: 0;
    padding: 12px 16px 14px 2.2em;
    color: var(--vsi-text);
}

.vinvic-shipping-info__rules-fallback li {
    margin-bottom: 0.35em;
}

.vinvic-shipping-info__calc-note {
    padding: 12px 16px 14px;
    color: var(--vsi-muted);
    font-size: 0.92em;
}

.page-body-content .vinvic-shipping-info + h2 {
    margin-top: 2em;
}

@media (max-width: 640px) {
    .vinvic-shipping-info__rate-table th,
    .vinvic-shipping-info__rate-table td {
        padding: 9px 12px;
    }
}
