.public-catalog { max-width:1040px; color:var(--text); }
.public-catalog h2 { font-family:inherit; font-size:24px; font-weight:600; letter-spacing:-.02em; }
.public-catalog-sub { margin:12px 0 32px; text-align:center; color:var(--text-secondary); font-size:14px; }
.public-catalog a:focus-visible,.public-catalog summary:focus-visible { outline:2px solid var(--primary); outline-offset:3px; }
.public-pack-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.public-pack { position:relative; display:flex; flex-direction:column; align-items:center; min-width:0; padding:24px; border:1px solid var(--border); border-radius:12px; background:var(--bg); text-align:center; transition:border-color .15s ease; }
.public-pack[hidden] { display:none; }.public-pack:hover,.public-pack:focus-within { border-color:var(--primary); }
.public-pack.is-recommended { border-color:var(--primary); background:color-mix(in srgb, var(--primary) 7%, var(--bg)); }
.public-pack-badge { position:absolute; inset:-12px 16px auto auto; padding:4px 12px; border-radius:999px; background:var(--btn-primary-bg); color:var(--btn-primary-ink); font-size:12px; line-height:1.4; font-weight:500; }
.public-pack h3 { margin:0; font-family:inherit; font-size:16px; font-weight:500; font-variant-numeric:tabular-nums; }
.public-pack-price { display:flex; align-items:baseline; justify-content:center; margin:12px 0 8px; font-size:48px; line-height:1.1; font-weight:500; font-variant-numeric:tabular-nums; letter-spacing:-.028em; }
.public-pack-currency { font-size:20px; margin-inline-end:3px; letter-spacing:normal; }
.public-pack-bonus { margin:0 0 4px; color:var(--primary); font-size:13px; font-weight:500; line-height:1.6; font-variant-numeric:tabular-nums; }
.public-translation-estimate { margin:0 0 20px; color:var(--text-secondary); font-size:13px; line-height:1.6; font-variant-numeric:tabular-nums; }
.public-pack .btn { width:100%; min-height:40px; margin-top:auto; font-size:13px; padding:10px 8px; text-align:center; box-shadow:none; }
.public-pack .btn-outline { background:var(--bg-alt); border-color:transparent; color:var(--text); }
.public-pack .btn-outline:hover { background:color-mix(in srgb, var(--primary) 7%, var(--bg)); color:var(--primary); }
.public-catalog-rules { margin-top:24px; border-top:1px solid var(--border); font-size:13px; color:var(--text-secondary); }.public-catalog-rules summary { cursor:pointer; padding-top:16px; width:fit-content; }.public-catalog-rules dt { margin:16px 0 5px; color:var(--text); font-weight:500; }.public-catalog-rules dd { margin:0; line-height:1.8; }
@media(max-width:760px) { .public-pack-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 12px; }.public-pack { padding:22px 16px 16px; }.public-pack-price { font-size:24px; font-weight:600; }.public-pack-currency { font-size:16px; } }
@media(max-width:480px) { .public-pack { padding:22px 10px 12px; }.public-pack h3 { font-size:13px; }.public-pack .btn { min-height:42px; padding-inline:8px; }.public-translation-estimate { font-size:12px; margin-bottom:16px; }.public-pack-badge { inset-inline-end:10px; } }
@media(max-width:340px) { .public-pack-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .public-pack { transition:none; } }
