/* Native replacements for the former React widget layout. Reference CSS is unchanged. */
[hidden] { display: none !important; }
.comparison-paper { position:relative; background:white; box-shadow:0 2px 4px #0003; overflow:hidden; }
.comparison-scroll { overflow:auto; position:relative; }
.comparison-table { border-collapse:separate; border-spacing:0; width:max-content; font-family:'Open Sans',sans-serif; font-size:13px; }
.comparison-table th,.comparison-table td { width:120px; min-width:120px; max-width:120px; padding:4px 7px; text-align:center; font-weight:400; line-height:13px; }
.comparison-table th { height:120.78125px; padding:7.2px; padding-bottom:5.6px; vertical-align:top; position:sticky; top:0; z-index:2; background:white; }
.comparison-table th:not(:first-child),.comparison-table td:not(:first-child) { width:110.375px; min-width:110.375px; max-width:110.375px; }
.comparison-table .product-heading { z-index:4; }
.comparison-table tr > :first-child { position:sticky; left:0; background:white; box-shadow:-4px 0 4px -5px #0003,0 4px 5px -5px #0003; }
.comparison-table tbody tr { height:36px; }
.comparison-table td:first-child { border-bottom:1px solid #e0e0e06e; text-align:left; }
.comparison-table td:first-child::first-letter { text-transform:uppercase; }
.comparison-table.has-markets tbody tr:nth-child(odd) { background:rgb(245,250,250); }
.comparison-table.has-markets tbody tr:nth-child(even) { background:white; }
.comparison-table.has-markets td:last-child { box-shadow:3px 3px 3px #0001; }
.table-logo { height:47px; width:105px; background:#387f75; }
#product-search { width:105px; max-width:105px; height:25px; border:0; border-radius:6px; box-shadow:0 0 4px #0004; font-size:13px; margin-top:6px; padding:2px 0; }
.product-search-wrap { position:relative; width:105px; }
#product-search { padding-right:19px; }
#product-search::-webkit-search-cancel-button { display:none; }
#clear-search { border:0; background:none; color:#bbb; font-size:21px; padding:0; position:absolute; right:4px; top:9px; line-height:20px; }
.price-cell { display:block; border:0; color:inherit; background:transparent; font:inherit; width:100%; min-height:21px; padding:4px 0; }
.price-cell:disabled { cursor:default; }
.price-cell[aria-pressed=true] { background:rgb(215,241,238); border-radius:4px; box-shadow:0 2px 4px #0001; }
#table-message { position:absolute; top:7px; left:120px; text-align:center; font-size:13px; line-height:13px; letter-spacing:0; font-weight:400; }
#table-message .pricetable-introduction { pointer-events:auto; }
.market-header .header-container { width:100%; }
.market-header .row { flex-wrap:nowrap; }
.market-header .col { min-width:0; }
.modal { overflow-y:auto; }
.modal-open { overflow:hidden; }
.modal .modal-content { box-shadow:0 3px 15px #0002; }
.modal button.items-modal-item { width:calc(100% - .5rem); text-align:left; border:0; background:white; font:inherit; }
.modal button.items-modal-item.green-border { background:rgb(230,247,242); }
.items-modal-item .choice-icon { width:16px; height:16px; margin-left:auto; flex-shrink:0; }
.location-select { position:relative; margin-bottom:16px; }
.location-select input { border:1px solid #ccc; border-radius:4px; width:100%; height:48px; padding:8px 38px 8px 10px; font-size:16px; }
.location-select input:disabled { background:#f2f2f2; }
.location-select input:focus { outline:2px solid #2684ff; outline-offset:-2px; }
.location-select > span { position:absolute; right:0; top:50%; transform:translateY(-50%); width:35px; height:28px; display:flex; align-items:center; justify-content:center; font-size:0; color:#ccc; border-left:1px solid #ccc; pointer-events:none; }
.location-select > span::after { content:''; width:9px; height:9px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-2px) rotate(45deg); }
.location-options { position:absolute; top:100%; margin-top:8px; width:100%; max-height:240px; overflow:auto; border-radius:4px; box-shadow:0 0 0 1px #0002,0 4px 11px #0002; background:white; z-index:20; padding:4px 0; }
.location-options button { display:block; width:100%; text-align:left; border:0; background:white; padding:8px 12px; }
.location-options button:hover,.location-options button:focus { background:#deebff; outline:0; }
.location-options button[aria-selected=true] { background:#2684ff; color:white; }
.shopping-action { border:0; background:transparent; padding:0; color:inherit; height:24px; }
.shopping-action svg { vertical-align:top; }
@media(max-width:991px) { .navbar:has(.offcanvas.show) { z-index:1045; } }
