/* The `[product-card]` shortcode in an article body
   (src/views/site/shortcodes/ProductCard.tsx): one plan = a featured card,
   two or three = a picker. Sits inside .ar-body, whose link and paragraph
   rules it overrides where it must. */
.pcard { margin: 28px 0; border: 1px solid var(--line-tinted); border-radius: var(--r-xl); background: #fff; overflow: hidden; box-shadow: 0 10px 30px -18px rgba(83, 57, 249, .45); }
.pcard__top { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; padding: 18px; background: linear-gradient(120deg, var(--tint-1), #eef4ff); }
.pcard__logo { width: 64px; height: 64px; object-fit: contain; border-radius: var(--r-lg); background: #fff; padding: 10px; flex: none; }
.pcard__image { width: 96px; height: 96px; object-fit: contain; flex: none; }
.pcard__titles { display: flex; flex-direction: column; gap: 4px; flex: 1 1 200px; min-width: 0; }
.pcard__badge { display: inline-flex; align-items: center; gap: 6px; width: max-content; max-width: 100%; padding: 3px 10px; border-radius: var(--r-pill); background: var(--color-primary); color: #fff; font-size: .75rem; font-weight: 600; }
.pcard__name { font-size: 1.15rem; font-weight: 600; color: var(--ink-900); line-height: 1.3; }
.pcard__operator { font-size: .875rem; color: var(--ink-600); }
.pcard__specs { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 1px; margin: 0; background: var(--line-tinted); border-top: 1px solid var(--line-tinted); }
.pcard__specs div { background: #fff; padding: 12px 14px; min-width: 0; }
.pcard__specs dt { font-size: .72rem; letter-spacing: .05em; text-transform: uppercase; color: var(--ink-500); }
.pcard__specs dd { margin: 0; font-weight: 600; color: var(--ink-900); }
.pcard__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; border-top: 1px solid var(--line-tinted); }

.pcard__prices .price--struck { font-size: .875rem; font-weight: 500; color: var(--color-text-soft); }
.pcard__prices .price--sale, .pcard__prices .price:only-child { font-size: 1.35rem; font-weight: 600; color: var(--ink-900); }

/* .ar-body underlines every link; a button is not one. */
.pcard .pcard__buy { border-bottom: 2px solid transparent; padding: .65em 1.6em; font-weight: 600; }
.pcard .pcard__buy.btn-action { color: #fff; }
.pcard .pcard__buy.btn-outline { border-color: var(--color-primary); }
.pcard .pcard__buy.btn-outline:hover { color: #fff; }

/* Picker */
.pcard--picker { border: 0; background: none; box-shadow: none; overflow: visible; display: flex; flex-direction: column; gap: 12px; }
.pcard__heading { font-size: 1.1rem; font-weight: 600; color: var(--ink-900); }
.pcard__plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; padding-top: 8px; }
.pcard__plan { position: relative; display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 16px 14px 14px; border: 1px solid var(--line-tinted); border-radius: var(--r-lg); background: #fff; }
.pcard__plan.is-pick { border: 2px solid var(--color-primary); }
.pcard__flag { position: absolute; top: -11px; left: 14px; padding: 2px 9px; border-radius: var(--r-pill); background: var(--color-primary); color: #fff; font-size: .75rem; font-weight: 600; }
.pcard__data { font-size: 1.5rem; font-weight: 700; color: var(--ink-900); line-height: 1.2; }
.pcard__meta { font-size: .875rem; color: var(--ink-600); }
.pcard__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 6px; }
.pcard__plan .pcard__buy { padding: .55em 1.1em; font-size: .9rem; }
