html.ruszamir-one-click-open { overflow: hidden; }

/* All cards in a WooCommerce row have the same height. Keep their actions
   anchored to the bottom even when titles and prices use a different number
   of lines. */
.woocommerce ul.products li.product {
	display: flex;
	flex-direction: column;
}

.woocommerce ul.products li.product > .button:not(.ruszamir-one-click-loop-btn) {
	margin-top: auto;
}

.ruszamir-one-click-loop-btn,
.woocommerce ul.products li.product > .ruszamir-one-click-loop-btn {
	width: 100%;
	margin-top: 8px;
	box-sizing: border-box;
}

.woocommerce div.product form.cart .ruszamir-one-click-single-btn {
	/* Impreza uses a flex container for the variation purchase controls. */
	float: none;
	flex: 0 0 141px;
	width: 141px;
	height: 47px;
	margin: 0;
	padding: 0 12px;
	box-sizing: border-box;
}

.ruszamir-one-click-trigger,
.ruszamir-one-click-submit {
	border-color: rgb(254, 131, 70) !important;
	background-color: rgb(254, 131, 70) !important;
	color: rgb(51, 51, 51) !important;
}

.ruszamir-one-click-trigger:hover,
.ruszamir-one-click-trigger:focus,
.ruszamir-one-click-submit:hover,
.ruszamir-one-click-submit:focus {
	border-color: #e86f35 !important;
	background-color: #e86f35 !important;
	color: rgb(51, 51, 51) !important;
}

.woocommerce ul.products li.product > .ruszamir-one-click-loop-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 60px;
}

/* Recommendations: keep both actions visually separated from card edges. */
.woocommerce .related ul.products li.product > .button,
.woocommerce .upsells ul.products li.product > .button,
.woocommerce .cross-sells ul.products li.product > .button {
	width: calc(100% - 20px);
	margin: auto 10px 0 !important;
}

.woocommerce .related ul.products li.product > .ruszamir-one-click-loop-btn,
.woocommerce .upsells ul.products li.product > .ruszamir-one-click-loop-btn,
.woocommerce .cross-sells ul.products li.product > .ruszamir-one-click-loop-btn {
	margin: 8px 10px 0 !important;
}

.ruszamir-one-click-modal[hidden] { display: none; }
.ruszamir-one-click-modal { position: fixed; z-index: 10001; inset: 0; display: grid; place-items: center; padding: 20px; }
.ruszamir-one-click-modal__backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, .45); }
.ruszamir-one-click-modal__dialog { position: relative; z-index: 1; width: min(100%, 430px); max-height: calc(100vh - 40px); overflow-y: auto; padding: 42px 60px 50px; background: #fff; box-sizing: border-box; }
.ruszamir-one-click-modal__dialog h2 { margin: 0 0 30px; font-size: 28px; line-height: 1.25; text-align: center; }
.ruszamir-one-click-modal__close { position: absolute; top: 12px; right: 18px; padding: 0; border: 0; background: transparent; color: #b7b7b7; font-size: 30px; line-height: 1; cursor: pointer; }
.ruszamir-one-click-modal__dialog p { margin: 0 0 20px; }
.ruszamir-one-click-modal input:not([type="hidden"]),
.ruszamir-one-click-modal textarea { display: block; width: 100%; padding: 13px 15px; border: 1px solid #e5e5e5; border-radius: 5px; color: #333; font: inherit; box-sizing: border-box; box-shadow: none; }
.ruszamir-one-click-modal textarea { min-height: 165px; resize: vertical; }
.ruszamir-one-click-submit { min-width: 140px; padding: 14px 24px; border: 0; border-radius: 5px; font-weight: 700; cursor: pointer; }
.ruszamir-one-click-submit:disabled { opacity: .65; cursor: wait; }
.ruszamir-one-click-message { margin-top: 16px; font-size: 14px; line-height: 1.4; text-align: center; }
.ruszamir-one-click-honeypot { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
.ruszamir-one-click-recaptcha { margin: 0 0 18px; }

@media (max-width: 480px) {
	.ruszamir-one-click-modal { padding: 10px; }
	.ruszamir-one-click-modal__dialog { padding: 42px 28px 34px; }
	.ruszamir-one-click-modal__dialog h2 { font-size: 25px; }
}
