/* Native radios own the selection; this is only their presentation. */
.product-details-page .attributes ul.lea-package-options {
    display: flex; flex-wrap: nowrap; align-items: stretch; gap: 8px;
    overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch;
    scrollbar-width: thin; scrollbar-color: #c8b6d9 transparent;
    padding: 4px 2px 0; margin: 0; max-width: 100%; list-style: none;
}
.product-details-page .attributes ul.lea-package-options > li {
    position: relative; display: flex; flex: 0 0 auto; align-items: stretch;
    max-width: none; margin: 0; padding: 0;
}
.product-details-page .attributes .lea-package-options input[type="radio"] {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap;
}
.product-details-page .attributes .lea-package-options label {
    display: flex; align-items: center; justify-content: center; width: 100%;
    min-height: 44px; padding: 9px 12px; margin: 0;
    border: 0; border-bottom: 3px solid var(--lea-choice-border); border-radius: var(--lea-choice-radius);
    background: var(--lea-choice-surface); color: var(--lea-choice-text); font-size: 15px; line-height: 1.4;
    text-align: center; cursor: pointer; white-space: nowrap; font-weight: 500;
    transition: background-color .15s, border-color .15s, color .15s;
}
.product-details-page .attributes .lea-package-options li.lea-package-has-info label { padding-right: 37px; }
.product-details-page .attributes .lea-package-options input:not(:checked):not(:disabled) + label:hover {
    background: var(--lea-choice-hover); border-color: var(--lea-choice-focus);
}
.product-details-page .attributes .lea-package-options input:checked + label {
    background: var(--lea-choice-selected); color: var(--lea-choice-selected-text);
    border-color: var(--lea-choice-selected-border);
}
.product-details-page .attributes .lea-package-options input:checked ~ .lea-package-info { color: var(--lea-choice-selected-text); }
.product-details-page .attributes .lea-package-options input:focus-visible + label,
.lea-package-info:focus-visible, .lea-package-popover button:focus-visible {
    outline: 2px solid var(--lea-choice-focus); outline-offset: 3px;
}
.product-details-page .attributes .lea-package-options input:disabled + label { opacity: .5; cursor: not-allowed; }
.lea-package-info {
    position: absolute; right: 1px; top: 50%; transform: translateY(-50%);
    display: grid; place-items: center; width: 35px; height: 44px;
    padding: 0; border: 0; border-radius: 12px; background: transparent; color: var(--lea-choice-text); cursor: pointer;
}
.lea-package-info svg { width: 19px; height: 19px; }
.lea-package-info:hover, .lea-package-info[aria-expanded="true"] { background: transparent; color: #3e235b; }
.lea-package-popover {
    position: fixed; z-index: 10050; box-sizing: border-box; width: 350px;
    padding: 18px; background: #fffcf7; color: #241635; border: 1px solid #d9c8af;
    border-radius: 16px; box-shadow: 0 8px 32px #21133130;
    overflow: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
    font-family: inherit; font-size: 15px; line-height: 1.55; text-align: left;
}
.lea-package-popover[hidden] { display: none; }
.lea-package-popover h2 { font-family: inherit; font-size: 16px; line-height: 1.4; margin: 0 32px 10px 0; font-weight: 600; }
.lea-package-popover p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.lea-package-popover button { position: absolute; right: 6px; top: 6px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: transparent; color: var(--lea-choice-text); cursor: pointer; font-size: 25px; }
@media (max-width: 1000px) {
    .product-details-page .attributes ul.lea-package-options {
        flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch; scrollbar-width: none;
    }
    .product-details-page .attributes ul.lea-package-options::-webkit-scrollbar { display: none; width: 0; height: 0; }
    .product-details-page .attributes ul.lea-package-options > li { flex: 0 0 auto; max-width: none; }
    .product-details-page .attributes ul.lea-package-options > li:first-child { margin-inline-start: auto; }
    .product-details-page .attributes ul.lea-package-options > li:last-child { margin-inline-end: auto; }
}

@media (prefers-reduced-motion: reduce) {
    .product-details-page .attributes .lea-package-options label { transition: none; }
}
