.purchase-form{color:var(--ink,#23382d);min-width:0;font-family:var(--body,system-ui);font-size:18px;line-height:1.5}
.purchase-form fieldset{min-width:0;border:0;margin:0;padding:0}.purchase-form legend{font-size:25px;font-weight:750;margin-bottom:24px;line-height:1.4}
.purchase-event{background:var(--cream,#f4f1e7);padding:35px;border-radius:4px}.purchase-certificate{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:start}
.purchase-option{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:25px 0;border-top:1px solid var(--line,#d0d6c8)}.purchase-option>div:first-child{min-width:0}.purchase-option h3{font-size:22px;line-height:1.4;margin:0 0 8px;overflow-wrap:anywhere}.purchase-option p{font-size:16px;color:var(--muted,#68776f);margin:0 0 12px;line-height:1.6}.purchase-price{font-size:26px;color:var(--green,#24543c);white-space:nowrap}
.purchase-certificate .purchase-option{padding:28px;background:#fff;border:1px solid var(--line,#d0d6c8);border-radius:4px;margin-bottom:20px}.purchase-certificate .purchase-details{background:#fff;border-top:4px solid var(--green,#24543c);padding:32px;border-radius:4px;min-width:0}.purchase-details>h3{font-size:28px;margin:0 0 15px}.purchase-details>p{font-size:16px;color:var(--muted,#68776f)}
.purchase-form label{font-size:18px;font-weight:600;line-height:1.5}.purchase-form input{font:400 18px/1.5 var(--body,system-ui);color:var(--ink,#23382d);background:white;min-width:0;width:100%;box-sizing:border-box;border:1px solid #b8c3b1;border-radius:3px;padding:12px}.purchase-form input:focus-visible,.purchase-form button:focus-visible{outline:3px solid var(--green,#24543c);outline-offset:3px}
.purchase-quantity{flex-shrink:0}.purchase-quantity label{display:block;font-size:14px;margin-bottom:6px;font-weight:400}.purchase-stepper{display:flex;background:#fff;border:1px solid #b8c3b1;border-radius:3px}.purchase-stepper button{width:40px;height:50px;padding:0;flex-shrink:0;background:#fff;border:0;font-size:25px;color:var(--green,#24543c);cursor:pointer}.purchase-stepper button:disabled{opacity:.35;cursor:default}.purchase-form .purchase-stepper input{width:50px;min-height:50px;padding:0;border:0;border-radius:0;text-align:center;font-size:20px;font-weight:700;appearance:textfield;-moz-appearance:textfield}.purchase-stepper input::-webkit-inner-spin-button,.purchase-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.purchase-promo{border-top:1px solid var(--line,#d0d6c8);padding-top:22px;margin-top:12px}.purchase-promo>label{display:block;margin-bottom:10px}.purchase-promo>div{display:flex;gap:12px}.purchase-promo button{border:1px solid var(--green,#24543c);background:transparent;color:var(--green,#24543c);font:700 16px var(--body,system-ui);padding:12px 16px;cursor:pointer;border-radius:3px}.purchase-promo>p{font-size:16px;margin-top:12px}
.purchase-total{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid var(--line,#d0d6c8);border-bottom:1px solid var(--line,#d0d6c8);margin:26px 0;padding:22px 0;font-size:23px;font-weight:750;flex-wrap:wrap}.purchase-total small{display:block;font-size:16px;font-weight:400;color:var(--muted,#68776f)}.purchase-total output{font-size:30px;color:var(--green,#24543c)}.purchase-fields label{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.purchase-fields label span{font-size:16px;color:var(--muted,#68776f);font-weight:400}.purchase-submit{width:100%;min-height:50px}.purchase-form .purchase-help{font-size:14px;margin-top:16px}.purchase-error{padding:15px;background:#fff0eb;border-left:4px solid #a03f26;color:#842f20}.purchase-form [hidden]{display:none!important}
@media(max-width:1100px){.purchase-event{padding:25px}.purchase-option{flex-wrap:wrap}.purchase-certificate{gap:25px;grid-template-columns:1fr 1fr}.purchase-certificate .purchase-option{padding:22px}}
@media(max-width:800px){.purchase-certificate{grid-template-columns:1fr}.purchase-option{flex-wrap:nowrap}}
@media(max-width:580px){.purchase-event,.purchase-certificate .purchase-details{padding:25px 20px}.purchase-option{align-items:flex-start;flex-direction:column;gap:16px}.purchase-promo>div{flex-direction:column}.purchase-promo button{align-self:flex-start;min-height:45px}.purchase-total output{font-size:26px}}
