
.rom-benefits{margin:28px 0;padding:28px;border:1px solid #ddd9cb;border-radius:18px;background:#f6f3eb;color:#24483d;line-height:1.7;scroll-margin-top:90px}.rom-benefits *{box-sizing:border-box}.benefit-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.benefit-kicker{font-size:10px;letter-spacing:2.4px;color:#7d6b4a}.rom-benefits h3{font-size:25px;letter-spacing:.04em;font-family:serif;margin:5px 0 8px}.rom-benefits p{font-size:14px;margin:7px 0;color:#52635a}.rom-benefits small{font-size:12px;color:#617167;display:block}.rom-benefits h4{font-size:16px;margin:0}.rom-benefits a{color:#24483d;text-underline-offset:4px}.rom-benefits button{border:1px solid #b8c3b8;background:#fffdf8;color:#24483d;border-radius:8px;padding:10px 15px;font-size:13px;cursor:pointer}.benefit-refresh{white-space:nowrap}.benefit-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr));gap:18px}.benefit-ticket{display:grid;grid-template-columns:135px 1fr;min-height:175px;background:#fffdf8;border:1px solid #d2d7cb;border-radius:13px;overflow:hidden}.ticket-value{background:#24483d;color:#fffdf8;text-align:center;padding:22px 10px;border-right:2px dashed #b9c4b7;display:flex;flex-direction:column;justify-content:center}.ticket-value small{color:#e1e5d8}.ticket-value strong{font-size:43px;line-height:1.4;font-weight:600;letter-spacing:-1px}.ticket-value strong span{display:block;font-size:12px;letter-spacing:1px}.ticket-kind{font-size:8px;letter-spacing:1.4px}.ticket-detail{padding:21px 23px;display:flex;flex-direction:column;justify-content:center}.ticket-top{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.ticket-state{font-size:11px;border-radius:20px;background:#e9eee5;color:#31513e;padding:3px 10px}.ticket-link{font-size:13px;font-weight:600;margin-top:14px;align-self:flex-start}.is-inactive .ticket-value{background:#778078}.is-inactive .ticket-state{background:#ecece7;color:#62665e}.benefit-birthday{display:flex;gap:18px;padding:22px 0 8px;align-items:center}.birthday-mark{font-size:29px;color:#8b7354}.benefit-rules{margin-top:16px;border-top:1px solid #deded1;padding-top:14px;font-size:12px}.benefit-rules summary{cursor:pointer}.benefit-rules p{font-size:12px}.benefit-status:empty{display:none}.benefit-status{padding:10px 0}.benefit-member-link{display:inline-block;margin:12px 0;font-size:13px}.rom-benefits select,.rom-benefits input{font-size:16px;color:#24483d;background:#fffdf8;border:1px solid #bac5ba;border-radius:8px;padding:12px;max-width:100%}.rom-benefits select{display:block;width:100%;margin:10px 0}.benefit-birth{padding-top:22px}.benefit-birth label{display:inline-flex;gap:8px;align-items:center;margin:8px 12px 8px 0}.benefit-birth input{width:76px}.benefit-birth button{display:block;background:#24483d;color:#fffdf8;margin-top:10px}.rom-benefits button:focus-visible,.rom-benefits a:focus-visible,.rom-benefits select:focus-visible{outline:3px solid #9a835b;outline-offset:3px}@media(max-width:600px){.rom-benefits{padding:18px;margin:20px 0}.benefit-heading{display:block}.benefit-heading .benefit-refresh{margin-top:10px}.rom-benefits h3{font-size:23px}.benefit-ticket{grid-template-columns:105px 1fr}.ticket-detail{padding:17px 13px}.ticket-value{padding:18px 8px}.ticket-value strong{font-size:36px}.ticket-top{display:block}.ticket-state{display:inline-block;margin-top:7px}.benefit-birthday{align-items:flex-start;gap:12px}}

.benefit-ticket.is-upcoming{background:#f3f0e7;border-style:dashed}.is-upcoming .ticket-value{background:#e6e7dc;color:#405447}.ticket-locked{display:block;margin-top:16px;padding:8px 13px;border:1px solid #c8cbbb;border-radius:5px;background:transparent;color:#596454;font:inherit;cursor:not-allowed}.benefit-cards{align-items:stretch}
