/* R8: actual square checkbox selector. Exactly one package is enforced in JS
 * and price is independently validated and fixed in pay/api.php. */
.payment-page .pay-package-grid {gap:12px;}
.payment-page .pay-package-choice {display:block;min-width:0;position:relative;cursor:pointer;}
.payment-page .pay-package-choice > input[type="checkbox"] {
 position:absolute;width:1px;height:1px;opacity:0;top:15px;left:15px;
}
.payment-page .pay-package-choice .pay-package-label {
 box-sizing:border-box;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;
 column-gap:12px;row-gap:3px;align-content:center;align-items:center;
 padding:13px 15px;min-height:88px;border:2px solid #c6c6c2;border-radius:12px;background:#fff;
 transition:background-color .12s,border-color .12s,box-shadow .12s;
}
.payment-page .pay-package-choice .pay-package-label::before {
 content:'';box-sizing:border-box;grid-column:1;grid-row:1/span 2;display:block;
 width:38px;height:38px;background:#fff;border:3px solid #727d7d;border-radius:7px;
}
.payment-page .pay-package-choice .pay-package-label::after {
 content:'';display:none;position:absolute;left:26px;top:50%;width:12px;height:21px;
 border-right:4px solid #fff;border-bottom:4px solid #fff;transform:translateY(-63%) rotate(42deg);
}
.payment-page .pay-package-choice .pay-package-label strong{grid-column:2;grid-row:1;font-size:18px;line-height:1.25}
.payment-page .pay-package-choice .pay-package-label > span{grid-column:2;grid-row:2;font-size:17px;font-weight:750;line-height:1.25}
.payment-page .pay-package-choice input[type="checkbox"]:checked + .pay-package-label {
 background:#fff3ed;border:3px solid #a64a40;padding:12px 14px;box-shadow:0 3px 14px rgba(166,74,64,.12);
}
.payment-page .pay-package-choice input[type="checkbox"]:checked + .pay-package-label::before {
 border-color:#a64a40;background:#a64a40;
}
.payment-page .pay-package-choice input[type="checkbox"]:checked + .pay-package-label::after {display:block;}
.payment-page .pay-package-choice input[type="checkbox"]:focus-visible + .pay-package-label {outline:3px solid #265fa7;outline-offset:3px;}
.payment-page .pay-package-choice:hover .pay-package-label{border-color:#a64a40;}
.payment-page .pay-check-help {font-size:13px;color:#4e595c;line-height:1.6;margin:0 0 13px;}
@media(max-width:550px){
 .payment-page .pay-package-grid{grid-template-columns:1fr;gap:11px;}
 .payment-page .pay-package-choice .pay-package-label{min-height:78px;padding:13px 14px;}
 .payment-page .pay-package-choice input[type="checkbox"]:checked+.pay-package-label{padding:12px 13px;}
 .payment-page .pay-package-choice .pay-package-label::after{left:25px;}
}
@media(prefers-reduced-motion:reduce){.payment-page .pay-package-choice .pay-package-label{transition:none}}
