/* Two-dropdown shop card (Pack Selector › Shop page card). */
.rvps-card { margin: 8px auto 6px; max-width: 280px; text-align: left; }
/* The store's CSS fixes this area at 80px (one picker + button); two dropdowns
   need more, or they spill under the next row. Only cards with the template grow. */
.product_after_shop_loop.revive-eo-product_after_shop_loop.rvps-has-card,
.product_after_shop_loop.revive-eo-product_after_shop_loop:has(> .rvps-card) { height: auto !important; }
.rvps-card ~ .product_after_shop_loop_switcher ul.nav-edit-revive-eo-shop-actions { display: none !important; }
.rvps-cardsel { position: relative; margin-bottom: 8px; }
.rvps-cardsel:last-child { margin-bottom: 0; }
.rvps-cardsel__btn { margin: 0 !important; /* the theme gives every button margin-bottom: 20px */ display: flex; align-items: center; gap: 8px; width: 100%; padding: 8px 10px; background: #fff; border: 1px solid #c9c9c9; border-radius: 4px; font-size: 13px; line-height: 1.2; color: #222; cursor: pointer; text-align: left; }
.rvps-cardsel__btn:focus-visible { outline: 2px solid #171c8e; outline-offset: 1px; }
.rvps-cardsel__dot { flex: 0 0 auto; width: 12px; height: 12px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0,0,0,.12); }
.rvps-cardsel__label { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rvps-cardsel__price { flex: 0 0 auto; font-weight: 600; }
.rvps-cardsel__caret { flex: 0 0 auto; width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid #555; }
.rvps-cardsel__menu { position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 2px); margin: 0; padding: 4px 0; list-style: none; background: #fff; border: 1px solid #c9c9c9; border-radius: 4px; box-shadow: 0 6px 18px rgba(0,0,0,.12); max-height: 260px; overflow: auto; }
.rvps-cardsel__menu[hidden] { display: none; }
.rvps-cardsel__opt { display: flex; align-items: center; gap: 8px; padding: 7px 10px; font-size: 13px; cursor: pointer; }
.rvps-cardsel__opt:hover, .rvps-cardsel__opt:focus { background: #f2f3fb; outline: none; }
.rvps-cardsel__opt.is-selected { font-weight: 600; }
.rvps-cardsel__opt[aria-disabled="true"] { opacity: .4; cursor: default; }
.rvps-cardsel__optlabel { flex: 1 1 auto; }

/* A grid holding a two-dropdown card: rows follow their tallest item, so the taller
   card cannot catch the next item in the floated grid and leave a gap in the row. */
ul.products:has(.rvps-card) { display: flex; flex-wrap: wrap; }
ul.products:has(.rvps-card) > li { float: none; }
ul.products:has(.rvps-card)::before,
ul.products:has(.rvps-card)::after { display: none; }
