/* Gift quantity choices and a compact, optional complement in the existing cart. */
.thp-qty-tiers { margin: 0 0 20px; border-top: 1px solid #e4e2dc; }
.thp-qty-tiers > p { font-size: 13px; line-height: 1.4; color: #626278; margin: 14px 0 6px; }
.thp-qty-tiers button { display: grid; grid-template-columns: 3.5em 1fr auto; align-items: center; column-gap: 12px; width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid transparent; border-bottom-color: #ecebe6; background: none; color: #232342; text-align: left; font-size: 15px; line-height: 1.3; transition: border-color .15s ease-out, background-color .15s ease-out; }
.thp-qty-tiers button:hover { background: #faf9f6; }
.thp-qty-tiers button.is-active { border-color: #0000aa; background: #fff; }
.thp-qty-tiers button:focus-visible { outline: 2px solid #0000aa; outline-offset: 2px; }
.thp-qty-tiers strong { font-weight: 600; }
.thp-qty-tiers button > span { color: #626278; font-size: 14px; }
.thp-qty-tiers .thp-qty-tiers__total { color: #232342; font-size: 15px; font-variant-numeric: tabular-nums; }
.thp-qty-tiers .thp-qty-tiers__hint { font-size: 13px; color: #626278; margin: 8px 0 0; }
.thp-mix { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; align-items: center; margin-top: 20px; padding-top: 18px; border-top: 1px solid #e4e2dc; font-size: 14px; line-height: 1.45; color: #4a4a60; }
.thp-mix__images { display: flex; grid-row: 1 / 3; }
.thp-mix__images img { width: 44px; height: 52px; object-fit: cover; }
.thp-mix__images img + img { margin-left: -10px; border-left: 2px solid #fff; }
.thp-mix p { margin: 0; }
.thp-mix .thp-mix__title { color: #232342; font-weight: 600; }
.thp-mix button { justify-self: start; display: inline-flex; gap: 8px; align-items: center; min-height: 44px; padding: 0; border: 0; background: none; color: #0000aa; font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.thp-mix button:hover { text-decoration-thickness: 2px; }
.thp-mix button:focus-visible { outline: 2px solid #0000aa; outline-offset: 3px; }
.thp-mix > div:not(.thp-mix__images) { grid-column: 2; }
.thp-mix > button { grid-column: 2; }
.thp-qty-cart-hint { margin: -4px 0 0; font-size: 13px; line-height: 1.4; color: #626278; }
.thp-cro-quantities { margin: 0 0 18px; }
.thp-cro-quantities > p { font-size: 14px; line-height: 1.4; margin-bottom: 10px; }
.thp-cro-quantities > div { display: flex; gap: 8px; }
.thp-cro-quantities button { flex: 1; min-width: 0; padding: 10px 6px; border: 1px solid #dddde6; background: #fff; color: #0000aa; display: flex; flex-direction: column; gap: 2px; align-items: center; font-size: 14px; }
.thp-cro-quantities button[aria-pressed="true"] { border-color: #0000aa; box-shadow: inset 0 0 0 1px #0000aa; background: #f3f3ff; }
.thp-cro-quantities button:hover { border-color: #0000aa; }
.thp-cro-quantities button > span { font-size: 13px; color: #626278; }
.thp-cro-progress { appearance: none; display: block; border: 0; width: 100%; height: 5px; margin-top: 10px; background: #e7e7f0; color: #00847f; }
.thp-cro-progress::-webkit-progress-bar { background: #e7e7f0; }
.thp-cro-progress::-webkit-progress-value { background: #00847f; }
.thp-cro-progress::-moz-progress-bar { background: #00847f; }
.thp-cro-pack { margin-top: 16px; border: 1px solid #dddde6; background: #f3f0e9; }
.thp-cro-pack > a { display: flex; align-items: center; gap: 14px; padding: 14px; text-decoration: none; }
.thp-cro-pack img { width: 60px; height: 68px; object-fit: cover; flex-shrink: 0; }
.thp-cro-pack a > span { display: flex; flex-direction: column; gap: 3px; font-size: 14px; line-height: 1.4; }
.thp-cro-pack strong { color: #0000aa; font-weight: 600; }
.thp-cro-pack__link { color: #0000aa; text-decoration: underline; text-underline-offset: 3px; }
#minicart .thp-cro-cart-panel { overflow: hidden; gap: 16px; padding-bottom: 20px; }
#minicart .thp-cro-cart-scroll { overflow-y: auto; overscroll-behavior: contain; min-height: 0; flex: 1 1 auto; }
#minicart .thp-cro-cart-checkout { flex-shrink: 0; padding-top: 12px; border-top: 1px solid #dddde6; background: #fff; }
.thp-cro-cart { color: #232342; padding: 16px 0 8px; font: 14px/1.45 'Source Sans Pro', sans-serif; }
.thp-cro-cart p { margin: 0; }
.thp-cro-cart__shipping { color: #0000aa; font-weight: 600; }
.thp-cro-cart .thp-cro-cart__label { margin: 16px 0 10px; font-weight: 600; }
.thp-cro-cart__item { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 10px; align-items: center; }
.thp-cro-cart__item img { width: 48px; height: 56px; object-fit: cover; }
.thp-cro-cart__item > div { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.thp-cro-cart__name { color: #0000aa; font-weight: 600; line-height: 1.25; }
.thp-cro-cart__add { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px; border: 1px solid #0000aa; color: #0000aa; white-space: nowrap; font-weight: 600; text-decoration: none; }
.thp-cro-cart__add:hover { background: #f3f3ff; }
.thp-cro-cart .thp-cro-cart__hint { margin-top: 10px; font-size: 13px; color: #626278; }
.thp-cro-cart .thp-cro-cart__status:not(:empty) { margin-top: 10px; color: #0000aa; }
.thp-cro-cart :is(a, button):focus-visible { outline: 3px solid #00847f; outline-offset: 3px; }
@media (max-width: 540px) {
    #minicart .thp-cro-cart-panel { padding-top: 20px; padding-bottom: max(16px, env(safe-area-inset-bottom)); }
    .thp-cro-cart__item { grid-template-columns: 40px minmax(0, 1fr) auto; gap: 8px; }
    .thp-cro-cart__item img { width: 40px; height: 48px; }
    .thp-cro-cart__add { padding-inline: 7px; font-size: 13px; }
}
