/* Shared subscription selection. Existing product buttons keep their full contract. */
.al-proUpgrade { box-sizing:border-box; width:min(1080px,calc(100% - 40px)); max-width:none; max-height:calc(100dvh - 48px); padding:0; border:1px solid var(--al-color-border-default,#dce7df); border-radius:20px; background:#fff; color:var(--al-color-text-ink,#172725); font:400 15px/1.55 var(--al-font-family-sans,system-ui); box-shadow:0 20px 60px #142b2326; overflow:auto; overscroll-behavior:contain; }
.al-proUpgrade::backdrop { background:rgba(14,35,25,.4); }
.al-proUpgrade *, .al-proUpgrade *::before { box-sizing:border-box; }
.al-proUpgrade [hidden] { display:none; }
.al-proUpgrade__head { display:flex; align-items:flex-start; gap:20px; justify-content:space-between; padding:26px 28px 16px; }
.al-proUpgrade__head .al-btn { flex:none; font-size:24px; }
.al-proUpgrade__head>div { min-width:0; overflow-wrap:anywhere; }
.al-proUpgrade h2 { margin:0 0 8px; font:600 clamp(22px,3vw,28px)/1.25 var(--al-font-family-sans,system-ui); letter-spacing:-.025em; color:inherit; }
.al-proUpgrade h3 { margin:0; font:600 18px/1.4 var(--al-font-family-sans,system-ui); color:inherit; }
.al-proUpgrade p { margin:0; }
.al-proUpgrade small { font-size:13px; line-height:1.5; }
.al-proUpgrade__head p,.al-proUpgrade small,.al-proUpgrade__renewal { color:var(--al-color-text-muted,#586d61); }
.al-proUpgrade__body { padding:0 28px 24px; }
.al-proUpgrade__body>[data-pro-state],.al-proUpgrade__body>[data-pro-badge] { display:none; }
.al-proUpgrade__body:not([data-membership="free"]):not([data-membership="guest"])>[data-pro-state] { display:block; margin-block:8px 16px; }
.al-proUpgrade__plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.al-proUpgrade__plan { display:flex; flex-direction:column; align-items:flex-start; gap:14px; min-width:0; padding:22px; border:1px solid var(--al-color-border-default,#dce7df); border-radius:14px; position:relative; }
.al-proUpgrade__plan--free { background:var(--al-color-surface-subtle,#f5f8f6); }
.al-proUpgrade__plan[data-selected-plan] { border-color:var(--al-color-moss,#2c6b4a); }
.al-proUpgrade__plan ul { padding-left:18px; margin:0; font-size:14px; }
.al-proUpgrade__plan .al-btn { margin-top:auto; white-space:normal; min-height:44px; padding-block:10px; width:100%; }
.al-proUpgrade__price { min-height:48px; display:flex; flex-wrap:wrap; align-items:baseline; gap:4px; font-size:34px; font-weight:600; line-height:1.25; letter-spacing:-.035em; }
.al-proUpgrade__price strong { font-weight:600; }
.al-proUpgrade__price span { font-size:14px; font-weight:400; letter-spacing:normal; }
.al-proUpgrade__saving { color:var(--al-color-deep-moss,#173f2c); background:var(--al-color-surface-subtle,#f0f6f2); border:1px solid var(--al-color-border-default,#dce7df); border-radius:6px; padding:2px 7px; font-size:12px; }
.al-proUpgrade__benefits { grid-column:1/-1; display:grid; gap:8px; padding-top:6px; }
.al-proUpgrade__benefits h3 { font-size:15px; }
.al-proUpgrade__renewal { grid-column:1/-1; font-size:13px; }
.al-proUpgrade__details { display:inline-block; padding-block:14px 4px; color:var(--al-color-deep-moss,#173f2c); text-underline-offset:3px; font-size:14px; }
.al-proUpgrade [data-pro-usage] { display:none; }
.al-proUpgrade [data-pro-message]:not(:empty) { margin-top:14px; }
.al-proUpgrade [data-pro-management]:not([hidden]) { display:grid; gap:12px; justify-items:start; }
@media(max-width:767px) {
  .al-proUpgrade { width:100%; max-height:100dvh; height:100dvh; margin:0; border:0; border-radius:0; }
  .al-proUpgrade__head { padding:calc(18px + env(safe-area-inset-top,0px)) 18px 16px; gap:8px; }
  .al-proUpgrade__head p { font-size:14px; }
  .al-proUpgrade__body { padding:0 18px calc(24px + env(safe-area-inset-bottom,0px)); }
  .al-proUpgrade__plans { grid-template-columns:1fr; gap:14px; }
  .al-proUpgrade__plan { padding:18px; }
  .al-proUpgrade__plan--free { display:grid; grid-template-columns:1fr auto; gap:6px 12px; }
  .al-proUpgrade__plan--free .al-proUpgrade__price { grid-column:2; grid-row:1; min-height:0; font-size:23px; }
  .al-proUpgrade__plan--free ul { display:none; }
  .al-proUpgrade__plan--free>p:not(.al-proUpgrade__price),.al-proUpgrade__plan--free .al-btn { grid-column:1/-1; }
}

.al-proUpgrade__planHead { display:flex; align-items:center; flex-wrap:wrap; gap:8px; justify-content:space-between; width:100%; }
