.idc-blocks-v270 {
--idc-v270-text: #151725;
    --idc-v270-muted: #62697a;
    --idc-v270-line: #d8dbe3;
    --idc-v270-line-strong: #c9cdd7;
    --idc-v270-soft: #f5f6fb;
    --idc-v270-soft-strong: #eef1fb;
    --idc-v270-accent: #4962df;
    --idc-v270-accent-dark: #354bc9;
    --idc-v270-success: #18a957;
    --idc-v270-radius: 14px;
    --idc-v270-radius-lg: 20px;
    --idc-v270-focus: 0 0 0 3px rgba(73, 98, 223, .18);
    --idc-v270-wallet-marks-image: none;
    width: 100%;
    color: var(--idc-v270-text);
    font-size: 15px;
    line-height: 1.45;
    box-sizing: border-box;
}

.idc-blocks-v270 *,
.idc-blocks-v270 *::before,
.idc-blocks-v270 *::after {
box-sizing: border-box;
}

.idc-blocks-v270 a {
color: inherit;
    text-underline-offset: 3px;
}

.idc-blocks-v270 input,
.idc-blocks-v270 select,
.idc-blocks-v270 textarea,
.idc-blocks-v270 button {
font: inherit;
}

.idc-blocks-v270 button,
.idc-blocks-v270 a,
.idc-blocks-v270 input,
.idc-blocks-v270 select,
.idc-blocks-v270 textarea {
transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease, color .16s ease, opacity .16s ease, transform .16s ease;
}

.idc-blocks-v270 button:focus-visible,
.idc-blocks-v270 a:focus-visible,
.idc-blocks-v270 input:focus-visible,
.idc-blocks-v270 select:focus-visible,
.idc-blocks-v270 textarea:focus-visible {
outline: none;
    box-shadow: var(--idc-v270-focus);
}

.idc-blocks-v270--cart .wc-block-cart {
display: grid;
    grid-template-columns: minmax(0, 1fr) 400px;
    gap: 36px;
    align-items: start;
    width: 100%;
    margin: 0;
}

.idc-blocks-v270--cart .wc-block-cart__main {
width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding-right: 0;
    flex: 1 1 auto;
}

.idc-blocks-v270--cart .wc-block-cart__sidebar {
width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 24px;
    flex: 0 0 auto;
    --idc-v270-text: var(--invia-text-primary,#151725);
    --idc-v270-muted: var(--invia-text-muted,#62697a);
    --idc-v270-line: var(--invia-border,#d8dbe3);
    border: 1px solid var(--idc-v270-line);
    border-radius: var(--idc-v270-radius-lg);
    background: var(--invia-summary-bg,#f5f6fb);
}

.idc-blocks-v270--cart .wc-block-cart-items {
width: 100%;
    margin: 0;
    border: 0;
}

.idc-blocks-v270--cart .wc-block-cart-items__header {
border-bottom: 1px solid var(--idc-v270-line);
    color: var(--idc-v270-muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.idc-blocks-v270--cart .wc-block-cart-items__row {
border-bottom: 1px solid var(--idc-v270-line);
}

.idc-blocks-v270--cart .wc-block-cart-item__image {
width: 112px;
    min-width: 112px;
    padding: 24px 20px 24px 0;
}

.idc-blocks-v270--cart .wc-block-cart-item__image img {
width: 108px;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 12px;
    background: var(--idc-v270-soft);
}

.idc-blocks-v270--cart .wc-block-cart-item__product {
padding-top: 24px;
    padding-bottom: 24px;
}

.idc-blocks-v270--cart .wc-block-cart-item__total {
padding-top: 24px;
    padding-bottom: 24px;
    font-weight: 800;
}

.idc-blocks-v270--cart .wc-block-components-product-name {
margin-bottom: 7px;
    color: var(--idc-v270-text);
    font-size: 17px;
    font-weight: 800;
    line-height: 1.3;
    text-decoration: none;
}

.idc-blocks-v270--cart .wc-block-components-product-metadata,
.idc-blocks-v270--cart .wc-block-components-product-details {
color: var(--idc-v270-muted);
    font-size: 14px;
    line-height: 1.5;
}

.idc-blocks-v270--cart .wc-block-components-quantity-selector {
min-height: 38px;
    margin-top: 14px;
    border: 1px solid var(--idc-v270-line-strong);
    border-radius: 10px;
    overflow: hidden;
}

.idc-blocks-v270--cart .wc-block-components-quantity-selector__button {
width: 38px;
    min-height: 38px;
    background: #fff;
    color: var(--idc-v270-text);
}

.idc-blocks-v270--cart .wc-block-components-quantity-selector__input {
min-height: 38px;
    font-weight: 700;
}

.idc-blocks-v270--cart .wc-block-cart-item__remove-link {
margin-top: 10px;
    color: var(--idc-v270-text);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: var(--idc-v270-accent);
    text-decoration-thickness: 2px;
}

.idc-blocks-v270--cart .wc-block-cart__totals-title {
margin: 0 0 18px;
    color: var(--idc-v270-text);
    font-size: 22px;
    font-weight: 900;
    letter-spacing: -.02em;
    text-transform: none;
}

.idc-blocks-v270--cart .wc-block-components-totals-wrapper {
padding: 14px 0;
    border-top: 1px solid var(--idc-v270-line);
}

.idc-blocks-v270--cart .wc-block-components-totals-item__label,
.idc-blocks-v270--cart .wc-block-components-totals-item__value {
font-size: 15px;
    font-weight: 700;
}

.idc-blocks-v270--cart .wc-block-components-totals-footer-item {
margin-top: 6px;
    padding-top: 18px;
    border-top: 1px solid var(--idc-v270-line-strong);
}

.idc-blocks-v270--cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.idc-blocks-v270--cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
font-size: 22px;
    font-weight: 900;
}

.idc-blocks-v270--cart .wc-block-cart__submit {
margin-top: 18px;
}

.idc-blocks-v270--cart .wc-block-cart__submit-button {
min-height: 52px;
    border: 0;
    border-radius: 14px;
    --idc-v270-focus: 0 0 0 3px color-mix(in srgb,var(--invia-focus,#4962df) 18%,transparent);
    background: var(--invia-action-bg,#4962df);
    color: var(--invia-action-text,#fff);
    font-size: 16px;
    font-weight: 800;
    box-shadow: 0 10px 24px color-mix(in srgb,var(--invia-action-bg,#4962df) 16%,transparent);
}

.idc-blocks-v270--cart .wc-block-cart__submit-button:hover {
background: var(--invia-action-hover,#354bc9);
    color: var(--invia-action-text,#fff);
    transform: translateY(-1px);
}

.idc-blocks-v270--cart .wc-block-cart__submit-button:focus-visible {
box-shadow: var(--idc-v270-focus);
}

/* Shipping uses Woo radio rows; Payment uses Woo accordion parents as the single visual surface. */

/* Woo renders the grand total as a totals footer item, separate from subtotal/shipping/tax rows. */

@media (max-width: 960px) {
.idc-blocks-v270--cart .wc-block-cart {
grid-template-columns: minmax(0, 1fr);
        gap: 24px;
}

.idc-blocks-v270--cart .wc-block-cart__sidebar {
position: static;
        width: 100%;
        max-width: none;
}
}

@media (max-width: 782px) {
.idc-blocks-v270 {
font-size: 14px;
}

.idc-blocks-v270--cart .wc-block-cart__sidebar {
padding: 18px;
        border-radius: 16px;
}

.idc-blocks-v270--cart .wc-block-cart-item__image {
width: 86px;
        min-width: 86px;
        padding-right: 12px;
}

.idc-blocks-v270--cart .wc-block-cart-item__image img {
width: 80px;
}
}

@media (prefers-reduced-motion: reduce) {
.idc-blocks-v270 button,
    .idc-blocks-v270 a,
    .idc-blocks-v270 input,
    .idc-blocks-v270 select,
    .idc-blocks-v270 textarea {
transition: none;
}
}

.idc-blocks-v270 .idc-v270-payment-label {
display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;
    gap: 12px;
}

.idc-blocks-v270 .idc-v270-payment-label__title {
min-width: 0;
    color: var(--idc-v270-text);
    font-weight: 850;
    line-height: 1.25;
}

.idc-blocks-v270 .idc-v270-payment-label__icon {
width: auto;
    max-width: 92px;
    max-height: 28px;
    margin-left: auto;
    object-fit: contain;
}

.idc-blocks-v270 .idc-v270-brand-marks {
display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    margin-left: auto;
    white-space: nowrap;
}

.idc-blocks-v270 .idc-v270-brand-mark {
display: block;
    width: auto;
    height: 24px;
    max-width: 42px;
    object-fit: contain;
    opacity: 1;
    filter: none;
}

.idc-blocks-v270 .idc-v270-brand-mark.is-muted {
opacity: .28;
    filter: grayscale(1);
}

.idc-blocks-v270 .idc-v270-card-panel {
margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.idc-blocks-v270 .idc-v270-payment-copy {
margin: 0 0 14px;
    color: var(--idc-v270-muted);
    font-size: 13px;
    line-height: 1.45;
}

.idc-blocks-v270 .idc-v270-card-fields {
display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 13px 16px;
}

.idc-blocks-v270 .idc-v270-card-field {
display: grid;
    gap: 7px;
    min-width: 0;
    color: var(--idc-v270-text);
    font-size: 13px;
    font-weight: 800;
}

.idc-blocks-v270 .idc-v270-card-field--wide {
grid-column: 1 / -1;
}

.idc-blocks-v270 .idc-v270-card-field__label {
line-height: 1.2;
}

.idc-blocks-v270 .idc-v270-required {
color: var(--idc-v270-accent);
}

.idc-blocks-v270 .idc-v270-card-field input {
width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 0 14px;
    border: 1px solid var(--idc-v270-line-strong);
    border-radius: 12px;
    background: #fff;
    color: var(--idc-v270-text);
    font-size: 15px;
    font-weight: 600;
}

.idc-blocks-v270 .idc-v270-card-field input:focus {
border-color: var(--idc-v270-accent);
    box-shadow: var(--idc-v270-focus);
}

.idc-blocks-v270 .idc-v270-card-field input[aria-invalid="true"] {
border-color: #d83b49;
    box-shadow: 0 0 0 3px rgba(216, 59, 73, .12);
}

.idc-blocks-v270 .idc-v270-field-error {
color: #b52836;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
}

/* Card content is intentionally borderless inside the Woo accordion parent. */

/* Cards & Wallets manual presentation authority (v2.7.6).
 * The external VERIFIED provider remains settlement/content authority. IDC only marks
 * the row by its normalized buyer title and paints the merchant-uploaded header strip. */
