/* PEGA secondary pages — funcționalități, prețuri, despre, contact, legal.
   Self-contained on top of pega.css. Zero-CDN. Mobile-first, zero overflow. */

/* ---- Hero-lite (interior page header, reuses .hero tint from pega.css) ---- */
.hero-lite{ position:relative; z-index:1; padding-block:60px 52px; text-align:center; }
.hero-lite .eyebrow{ display:block; margin-bottom:14px; }
.hero-lite h2{ margin:0 auto 16px; max-width:20ch; }
.hero-lite .lead{ max-width:62ch; margin:0 auto; }
@media(max-width:640px){ .hero-lite{ padding-block:44px 36px; } }

/* ---- Module icon badge (funcționalități) ---- */
.mod-badge{ width:56px; height:56px; border-radius:14px; background:var(--grad); color:#fff; display:grid; place-items:center; margin-bottom:16px; flex:0 0 auto; }
.mod-badge svg{ width:28px; height:28px; }

/* ---- Feature tile (branded mock, no external images) ---- */
.feature-tile{ background:var(--brand-050); border:1px solid var(--brand-100); border-radius:var(--r-xl); padding:32px; min-width:0; }
.feature-tile .ft-icon{ width:60px; height:60px; border-radius:16px; background:var(--grad); color:#fff; display:grid; place-items:center; margin-bottom:20px; box-shadow:var(--sh); }
.feature-tile .ft-icon svg{ width:30px; height:30px; }
.feature-tile .ft-label{ font-size:.82rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--brand); margin-bottom:6px; }
.feature-tile .ft-title{ font-size:1.15rem; font-weight:800; color:var(--ink); margin-bottom:18px; }
.feature-tile .ft-stats{ display:flex; flex-direction:column; gap:10px; }
.feature-tile .ft-row{ display:flex; align-items:center; justify-content:space-between; gap:10px; background:#fff; border:1px solid var(--line-2); border-radius:var(--r-sm); padding:11px 14px; min-width:0; }
.feature-tile .ft-row .k{ font-size:.86rem; font-weight:600; color:var(--text-soft); min-width:0; overflow-wrap:anywhere; }
.feature-tile .ft-row .v{ font-size:.92rem; font-weight:800; color:var(--brand); white-space:nowrap; flex:0 0 auto; }
@media(max-width:480px){ .feature-tile{ padding:22px; } .feature-tile .ft-icon{ width:50px; height:50px; } }

/* ---- Pricing cards ---- */
.pricing-grid{ margin-top:10px; align-items:stretch; }
.price-card{ position:relative; display:flex; flex-direction:column; height:100%; }
.price-card .ribbon{
  position:absolute; top:-14px; left:50%; transform:translateX(-50%);
  background:var(--grad); color:#fff; font-size:.74rem; font-weight:800;
  padding:6px 16px; border-radius:var(--r-pill); box-shadow:var(--sh-sm); white-space:nowrap;
}
.price-card.featured{ border-color:var(--brand); box-shadow:var(--sh-lg); }
.price-card .price{ display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; margin:14px 0 6px; }
.price-card .price .from{ font-size:.85rem; color:var(--text-soft); font-weight:600; }
.price-card .price .amount{ font-size:2.5rem; font-weight:800; color:var(--ink); letter-spacing:-.02em; }
.price-card .price .per{ font-size:.9rem; color:var(--text-soft); font-weight:600; }
.price-card .price.custom .amount{ font-size:1.5rem; }
.price-card .check-list{ flex:1 1 auto; margin-top:8px; }
.price-card .btn{ margin-top:18px; }
@media(max-width:900px){ .price-card.featured{ order:-1; } }

/* ---- FAQ accordion (native details/summary) ---- */
.faq{ max-width:800px; margin:0 auto; }
.faq details{ border-bottom:1px solid var(--line); padding:18px 0; }
.faq details:first-child{ border-top:1px solid var(--line); }
.faq summary{
  cursor:pointer; list-style:none; font-weight:700; color:var(--ink); font-size:1.02rem;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:'+'; font-size:1.5rem; line-height:1; color:var(--brand); font-weight:400; flex:0 0 auto; }
.faq details[open] summary::after{ content:'\2212'; }
.faq .faq-a{ color:var(--text-soft); margin-top:12px; line-height:1.65; padding-right:8px; }

/* ---- Contact page ---- */
.contact-list li{ display:flex; gap:14px; align-items:flex-start; padding:13px 0; border-bottom:1px solid var(--line-2); }
.contact-list li:last-child{ border-bottom:none; }
.contact-list .ic{ width:42px; height:42px; border-radius:11px; background:var(--brand-050); color:var(--brand); display:grid; place-items:center; flex:0 0 auto; }
.contact-list .ic svg{ width:21px; height:21px; }
.contact-list .txt{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.contact-list .txt b{ color:var(--ink); font-size:.94rem; }
.contact-list .txt span{ color:var(--text-soft); font-size:.94rem; overflow-wrap:anywhere; }
.form-error{
  background:rgba(220,38,38,.08); color:var(--danger); font-weight:600; font-size:.9rem;
  padding:11px 14px; border-radius:var(--r-sm); margin-bottom:18px;
}
.form-ok{
  background:#dcfce7; color:#15803d; font-weight:600; font-size:.9rem;
  padding:11px 14px; border-radius:var(--r-sm); margin-bottom:18px;
}

/* ---- Legal pages prose ---- */
.prose{ max-width:760px; margin:0 auto; }
.prose h3{ margin-top:32px; margin-bottom:10px; }
.prose p{ margin-bottom:14px; color:var(--text); }
.prose ul{ margin:6px 0 18px; }
.prose ul li{ position:relative; padding-left:22px; margin-bottom:8px; color:var(--text); }
.prose ul li::before{ content:''; position:absolute; left:2px; top:.62em; width:6px; height:6px; border-radius:50%; background:var(--brand); }
.prose .updated{ color:var(--text-mute); font-size:.85rem; margin-top:-6px; margin-bottom:28px; }
