.plan-option { position: relative; min-width: 0; }
.plan-option .plan-card { width: 100%; height: 100%; padding-bottom: 3.5rem; }
.plan-info-button { position: absolute; right: 1.25rem; bottom: 1rem; width: 2.25rem; height: 2.25rem; border: 1px solid #d6d3d1; border-radius: 50%; background: #fff; color: #78716c; font-weight: 600; font-family: Georgia, serif; }
.plan-info-button:hover, .plan-info-button:focus-visible { border-color: #a6875e; color: #6f5537; outline: 2px solid #e7d9c6; outline-offset: 2px; }
.plan-info-dialog { width: min(92vw, 32rem); max-height: 90vh; padding: 0; border: 1px solid #e7e5e4; border-radius: 1rem; background: #fff; color: #1c1917; }
.plan-info-dialog::backdrop { background: rgb(28 25 23 / .45); }
.plan-info-content { padding: 1.75rem; }
.plan-info-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.plan-info-header h2 { margin: .3rem 0 0; font-family: 'Playfair Display', Georgia, serif; font-size: 1.6rem; }
.plan-info-eyebrow { margin: 0; color: #a6875e; font-size: .7rem; font-weight: 600; letter-spacing: .08em; }
.plan-info-close { width: 2rem; height: 2rem; border-radius: 50%; color: #78716c; font-size: 1.6rem; line-height: 1; }
.plan-info-close:hover { background: #f5f5f4; }
.plan-info-features { display: grid; gap: .8rem; margin: 1.5rem 0; padding: 0; list-style: none; color: #44403c; line-height: 1.5; }
.plan-info-features li { display: flex; gap: .65rem; }
.plan-info-features li::before { content: '✓'; color: #a6875e; font-weight: 700; }
.plan-info-note { margin: 0; padding: 1rem; border-radius: .75rem; background: #f6f3ed; color: #57534e; font-size: .875rem; line-height: 1.5; }
