/* pain.css — shared styles for cinematic-style pain/intent + category landings
   (e.g. /derzhit-formu/, cinematic /sofas/). Dark warm palette, Cormorant
   headings, reliable native scroll. Pairs with cine2.css (header/footer tokens)
   + components.css (forms/modals/chat). */

.pain-page { background: #0d0a06; color: #f2ece2; }
.pn-wrap { max-width: 1100px; margin: 0 auto; padding: 0 6vw; }

/* Hero */
.pn-hero { position: relative; min-height: 92vh; min-height: 92dvh; display: flex; align-items: flex-end; overflow: hidden; }
.pn-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.pn-hero-scrim { position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(180deg, rgba(13,10,6,.55) 0%, rgba(13,10,6,.2) 35%, rgba(13,10,6,.85) 100%); }
.pn-hero-inner { position: relative; z-index: 2; padding: 0 6vw 8vh; max-width: 1100px; margin: 0 auto; width: 100%; }
.pn-eye { font-size: .72rem; letter-spacing: .26em; text-transform: uppercase; color: var(--gold2, #D4924A); font-weight: 600; margin-bottom: 1.4rem; }
.pn-h1 { font-family: 'Cormorant', serif; font-weight: 300; font-size: clamp(2.6rem, 6.6vw, 5.6rem); line-height: 1.02; margin: 0 0 1.3rem; text-shadow: 0 2px 50px rgba(0,0,0,.5); }
.pn-h1 em { font-style: italic; color: var(--gold3, #E0A95E); }
.pn-lede { font-size: clamp(1.02rem, 1.7vw, 1.32rem); line-height: 1.55; color: rgba(242,236,226,.9); font-weight: 300; max-width: 36em; margin: 0 0 2.2rem; }
.pn-cta-row { display: flex; flex-wrap: wrap; gap: 1rem; }
.pn-btn { display: inline-flex; align-items: center; gap: .5rem; padding: 1rem 2.1rem; border-radius: 999px; font-size: .9rem; font-weight: 500; text-decoration: none; cursor: pointer; border: none; font-family: inherit; transition: transform .2s, box-shadow .2s, background .2s; }
.pn-btn--gold { background: linear-gradient(135deg, var(--gold, #B8762A), var(--gold2, #D4924A)); color: #fff; box-shadow: 0 10px 30px -8px rgba(184,118,42,.55); }
.pn-btn--gold:hover { transform: translateY(-2px); }
.pn-btn--ghost { background: rgba(255,255,255,.08); color: #f2ece2; border: 1px solid rgba(255,255,255,.22); }
.pn-btn--ghost:hover { background: rgba(255,255,255,.16); }

/* Generic section */
.pn-sec { padding: clamp(3.5rem, 8vh, 7rem) 0; }
.pn-sec-eye { font-size: .7rem; letter-spacing: .24em; text-transform: uppercase; color: var(--gold2, #D4924A); font-weight: 600; margin-bottom: 1rem; }
.pn-h2 { font-family: 'Cormorant', serif; font-weight: 300; font-size: clamp(2rem, 4.6vw, 3.4rem); line-height: 1.08; margin: 0 0 1.6rem; }
.pn-h2 em { font-style: italic; color: var(--gold3, #E0A95E); }
.pn-p { font-size: 1.02rem; line-height: 1.7; color: rgba(242,236,226,.82); font-weight: 300; max-width: 40em; }

/* Comparison (pain pages) */
.pn-vs { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 2.2rem; }
.pn-vs-card { border: 1px solid rgba(255,255,255,.12); border-radius: 18px; padding: 2rem; background: rgba(255,255,255,.03); }
.pn-vs-card--bad { opacity: .82; }
.pn-vs-card--good { border-color: rgba(212,146,74,.5); background: rgba(184,118,42,.07); }
.pn-vs-tag { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; margin-bottom: 1.1rem; }
.pn-vs-card--bad .pn-vs-tag { color: rgba(242,236,226,.55); }
.pn-vs-card--good .pn-vs-tag { color: var(--gold2, #D4924A); }
.pn-vs-list { list-style: none; padding: 0; margin: 0; }
.pn-vs-list li { font-size: .98rem; line-height: 1.5; padding: .6rem 0 .6rem 1.8rem; position: relative; color: rgba(242,236,226,.9); border-top: 1px solid rgba(255,255,255,.07); }
.pn-vs-list li:first-child { border-top: none; }
.pn-vs-list li::before { position: absolute; left: 0; top: .55rem; font-size: .95rem; }
.pn-vs-card--bad .pn-vs-list li::before { content: '✕'; color: #c97a6a; }
.pn-vs-card--good .pn-vs-list li::before { content: '✓'; color: var(--gold2, #D4924A); }

/* Feature rows */
.pn-feats { display: grid; gap: 1.3rem; margin-top: 2rem; }
.pn-feat { display: grid; grid-template-columns: auto 1fr; gap: 1.4rem; align-items: start; padding: 1.8rem; border: 1px solid rgba(255,255,255,.1); border-radius: 18px; background: rgba(255,255,255,.03); }
.pn-feat-n { font-family: 'Cormorant', serif; font-size: 2.4rem; font-weight: 300; color: var(--gold3, #E0A95E); line-height: 1; }
.pn-feat-h { font-size: 1.18rem; font-weight: 500; margin: 0 0 .5rem; color: #fff; }
.pn-feat-p { font-size: .97rem; line-height: 1.6; color: rgba(242,236,226,.8); font-weight: 300; margin: 0; }

/* Trust band */
.pn-trust { display: flex; flex-wrap: wrap; gap: 1.5rem 2.5rem; margin-top: 2rem; }
.pn-trust-item { display: flex; align-items: center; gap: .65rem; font-size: .96rem; color: rgba(242,236,226,.9); }
.pn-trust-item svg { flex: 0 0 auto; color: var(--gold2, #D4924A); }

/* ── Product grid (cinematic category landing) ── */
.pn-products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 2.4rem; }
.pn-card { display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,.1); border-radius: 18px; overflow: hidden; background: rgba(255,255,255,.03); text-decoration: none; color: inherit; transition: transform .25s, border-color .25s, box-shadow .25s; }
.pn-card:hover { transform: translateY(-4px); border-color: rgba(212,146,74,.5); box-shadow: 0 18px 40px -16px rgba(0,0,0,.6); }
.pn-card-img { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #161109; }
.pn-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.pn-card:hover .pn-card-img img { transform: scale(1.05); }
.pn-card-body { padding: 1.3rem 1.4rem 1.5rem; display: flex; flex-direction: column; gap: .4rem; flex: 1; }
.pn-card-name { font-family: 'Cormorant', serif; font-size: 1.5rem; font-weight: 400; color: #fff; line-height: 1.1; }
.pn-card-short { font-size: .9rem; line-height: 1.5; color: rgba(242,236,226,.7); font-weight: 300; flex: 1; }
.pn-card-foot { display: flex; align-items: baseline; justify-content: space-between; margin-top: .7rem; }
.pn-card-price { font-family: 'Cormorant', serif; font-size: 1.35rem; color: var(--gold3, #E0A95E); }
.pn-card-go { font-size: .82rem; color: var(--gold2, #D4924A); }

/* FAQ — shared renderFaq() markup (.faq*) re-themed dark. Full overrides of the
   classic light card (components.css) so questions are readable on the dark page. */
.pain-page .faq { background: transparent; padding: clamp(3.5rem, 8vh, 7rem) 6vw; }
.pain-page .faq-in { max-width: 900px; margin: 0 auto; }
.pain-page .faq .lp-eye { color: var(--gold2, #D4924A); }
.pain-page .faq .lp-h2 { font-family: 'Cormorant', serif; font-weight: 300; color: #fff; }
.pain-page .faq .lp-h2 em { color: var(--gold3, #E0A95E); font-style: italic; }
.pain-page .faq-list { margin-top: 2.5rem; }
.pain-page .faq-item { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); border-radius: 14px; }
.pain-page .faq-item[open] { background: rgba(184,118,42,.08); border-color: rgba(212,146,74,.4); }
.pain-page .faq-q { color: #fff; }
.pain-page .faq-q:hover { color: var(--gold3, #E0A95E); }
.pain-page .faq-ic::before, .pain-page .faq-ic::after { background: var(--gold2, #D4924A); }
.pain-page .faq-item[open] .faq-ic::before { background: var(--gold2, #D4924A); }
.pain-page .faq-a p { color: rgba(242,236,226,.82); }

/* Final CTA */
.pn-final { text-align: center; border-top: 1px solid rgba(255,255,255,.1); }
.pn-final .pn-cta-row { justify-content: center; }
.pn-final .pn-p { margin: 0 auto 2rem; }

@media (max-width: 920px) {
  .pn-products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .pn-vs { grid-template-columns: 1fr; }
  .pn-feat { grid-template-columns: 1fr; gap: .6rem; }
  .pn-hero-inner { padding-bottom: 12vh; }
}
@media (max-width: 520px) {
  .pn-products { grid-template-columns: 1fr; }
}
