.elcm-price-summary { margin: 1.5rem 0; padding: 1rem; border: 1px solid #ccc; border-radius: 6px; color: inherit; background: inherit; }
.elcm-price-summary h3 { margin: 0 0 .75rem; font-size: 1.2em; }
.elcm-price-summary .elcm-price-content { overflow-x: auto; }
.elcm-price-summary table { width: 100%; border-collapse: collapse; font-size: .95em; }
.elcm-price-summary th, .elcm-price-summary td { padding: .6rem .4rem; text-align: right; border-bottom: 1px solid #ddd; }
.elcm-price-summary th:first-child, .elcm-price-summary td:first-child { text-align: left; }
.elcm-price-summary .elcm-price-total { font-weight: 700; font-size: 1.1em; margin: 1rem 0; }
.elcm-price-summary .elcm-price-status { margin: .5rem 0 1rem; }
.elcm-price-summary .elcm-price-retry { padding: .5rem .75rem; cursor: pointer; color: inherit; background: transparent; border: 1px solid currentColor; border-radius: 3px; font: inherit; }
.elcm-price-summary .elcm-price-retry[hidden] { display: none; }
.elcm-price-summary:focus { outline: 2px solid currentColor; outline-offset: 3px; }
@media (max-width: 480px) { .elcm-price-summary { padding: .75rem; } .elcm-price-summary th, .elcm-price-summary td { padding: .5rem .25rem; } }
