.ecac-accessories { flex: 0 0 100%; width: 100%; min-width: 0; margin: 0 0 1.15rem; padding: 1rem 0; border-top: 1px solid var(--ec-line, #d8dce7); border-bottom: 1px solid var(--ec-line, #d8dce7); color: var(--ec-ink, #171a24); font: inherit; }
.ecac-accessories[hidden], .ecac-accessories [hidden] { display: none !important; }
.ecac-accessories h3 { margin: 0 0 .45rem; font-size: 1.05rem; line-height: 1.4; font-weight: 650; }
.ecac-accessories h3 span { margin-left: .35rem; font-size: .78rem; font-weight: 400; color: var(--ec-muted, #5f6675); }
.ecac-accessories p { margin: 0 0 .7rem; font-size: .85rem; line-height: 1.55; }
.ecac-accessories .ecac-intro, .ecac-accessories .ecac-reserve, .ecac-accessories .ecac-state { color: var(--ec-muted, #5f6675); }
.ecac-accessories .ecac-state:empty, .ecac-accessories .ecac-quote:empty { display: none; }
.ecac-groups { display: grid; gap: .65rem; }
.ecac-group { min-width: 0; padding: .7rem .8rem; border: 1px solid var(--ec-line, #d8dce7); border-radius: 9px; }
.ecac-accessories .ecac-check { display: flex; align-items: flex-start; gap: .6rem; margin: 0; padding: .15rem 0; cursor: pointer; font-size: .92rem; line-height: 1.4; }
.ecac-check input { flex: 0 0 auto; width: 20px; height: 20px; margin: 0; accent-color: var(--ec-blue, #0000ff); }
.ecac-group-body { padding-top: .75rem; }
.ecac-rows { display: grid; gap: .9rem; }
.ecac-row { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(80px, 1fr); gap: .5rem .7rem; min-width: 0; }
.ecac-field { min-width: 0; }
.ecac-accessories .ecac-field label { display: block; margin: 0 0 .35rem; color: inherit; font-size: .8rem; font-weight: 600; }
.ecac-accessories .ecac-field select, .ecac-accessories .ecac-field input { display: block; width: 100%; max-width: 100%; min-width: 0; min-height: 44px; margin: 0; padding: .5rem .65rem; border: 1px solid var(--ec-line, #cdd3e0); border-radius: 6px; background: #fff; color: inherit; font: inherit; font-size: .85rem; text-overflow: ellipsis; }
.ecac-accessories .ecac-field input { text-align: center; }
.ecac-accessories .ecac-actions { display: flex; flex-wrap: wrap; gap: .4rem; grid-column: 1 / -1; }
.ecac-accessories button.ecac-button,
.woocommerce div.product .ecdtp-purchase-panel form.cart .ecac-accessories button.ecac-button { width: auto; min-width: 0; min-height: 36px; height: auto; margin: 0; padding: .4rem .55rem; border: 1px solid var(--ec-line, #d8dce7); border-radius: 6px; background: #fff; color: var(--ec-blue, #0000ff); font: inherit; font-size: .75rem; line-height: 1.4; font-weight: 500; letter-spacing: normal; text-transform: none; box-shadow: none; cursor: pointer; }
.ecac-accessories button.ecac-button:hover,
.woocommerce div.product .ecdtp-purchase-panel form.cart .ecac-accessories button.ecac-button:hover { background: #f4f6fa; border-color: var(--ec-blue, #0000ff); color: var(--ec-blue, #0000ff); }
.ecac-accessories button.ecac-button:active { transform: translateY(1px); }
.ecac-accessories button.ecac-button:disabled { opacity: .5; cursor: default; }
.ecac-accessories .ecac-add-row { margin-top: .8rem !important; }
.ecac-accessories .ecac-product-link { display: block; margin-top: .65rem; font-size: .77rem; text-decoration: underline; color: var(--ec-blue, #0000ff); }
.ecac-accessories .ecac-quote { margin-top: .8rem; color: var(--ec-ink, #171a24); }
.ecac-accessories .ecac-quote p { font-size: .8rem; }
.ecac-accessories .ecac-quote small { display: block; font-size: .75rem; line-height: 1.5; color: var(--ec-muted, #5f6675); }
.ecac-accessories .ecac-reserve { margin-top: .8rem; font-size: .77rem; }
.ecac-accessories .ecac-error { margin-top: .7rem; padding-left: .6rem; border-left: 3px solid #ae3434; color: #8b2424; }
.ecac-accessories :is(input,select,button,a):focus-visible { outline: 2px solid var(--ec-blue, #0000ff); outline-offset: 3px; }
@media (max-width: 380px) { .ecac-row { grid-template-columns: minmax(0,1fr); } .ecac-group { padding: .6rem; } }
