/* RoboREST pricing page — pricing grid, FAQ. Uses site :root vars from main styles.css */
.section--pricing { background: var(--color-bg-alt); }
.pricing-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--spacing-lg); align-items: stretch; }
.plan-card { display: flex; flex-direction: column; padding: var(--spacing-lg); background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow); transition: box-shadow 0.2s, border-color 0.2s, transform 0.2s; }
.plan-card:hover { box-shadow: var(--shadow-lg); border-color: var(--color-primary); }
.plan-card--featured { border: 2px solid var(--color-primary); box-shadow: var(--shadow-lg); }
.plan-card__badge { align-self: flex-start; display: inline-block; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: #fff; background: var(--color-primary); padding: 0.2rem 0.6rem; border-radius: 999px; margin-bottom: var(--spacing-sm); }
.plan-card__name { font-size: 1.25rem; font-weight: 700; margin-bottom: var(--spacing-xs); }
.plan-card__requests { font-size: 0.9375rem; color: var(--color-text-muted); margin-bottom: var(--spacing-md); }
.plan-card__partner-price { font-size: 2rem; font-weight: 800; color: var(--color-primary); line-height: 1.1; margin: var(--spacing-xs) 0 0; }
.plan-card__period { font-size: 0.875rem; color: var(--color-text-muted); font-weight: 500; }
.plan-card__row { display: flex; justify-content: space-between; align-items: baseline; padding: var(--spacing-xs) 0; border-top: 1px solid var(--color-border); font-size: 0.9375rem; margin-top: var(--spacing-sm); }
.plan-card__row-label { color: var(--color-text-muted); }
.plan-card__row-value { font-weight: 700; }
.plan-card__margin { margin-top: auto; padding-top: var(--spacing-md); font-size: 0.875rem; color: var(--color-text-muted); }
.plan-card__cta { margin-top: var(--spacing-md); width: 100%; }
.review-callout { margin-top: var(--spacing-xl); display: flex; flex-wrap: wrap; align-items: center; gap: var(--spacing-md) var(--spacing-lg); padding: var(--spacing-lg); background: var(--color-bg); border: 1px dashed var(--color-primary); border-radius: var(--radius-lg); }
.review-callout__icon { font-size: 2rem; line-height: 1; font-weight: 700; color: var(--color-primary); }
.review-callout__body { flex: 1 1 320px; }
.review-callout__title { font-size: 1.125rem; font-weight: 700; margin-bottom: var(--spacing-xs); }
.review-callout__text { font-size: 0.9375rem; color: var(--color-text-muted); line-height: 1.5; }
.faq-list { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: var(--spacing-sm); }
.faq-item { background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; }
.faq-item[open] { border-color: var(--color-primary); box-shadow: var(--shadow); }
.faq-item__q { cursor: pointer; list-style: none; padding: var(--spacing-md) var(--spacing-lg); font-weight: 600; font-size: 1rem; display: flex; justify-content: space-between; align-items: center; gap: var(--spacing-md); }
.faq-item__q::-webkit-details-marker { display: none; }
.faq-item__q::after { content: '+'; color: var(--color-primary); font-size: 1.5rem; font-weight: 400; line-height: 1; }
.faq-item[open] .faq-item__q::after { content: '\2212'; }
.faq-item__a { padding: 0 var(--spacing-lg) var(--spacing-md); color: var(--color-text-muted); font-size: 0.9375rem; line-height: 1.6; }
