.section { padding: 58px 0; }
.section-soft { background: linear-gradient(135deg, rgba(255, 240, 216, .74), rgba(239, 230, 216, .42)); }
.section-dark { background: var(--color-dark); color: #fff; position: relative; overflow: hidden; }
.section-dark::before { content: ""; position: absolute; inset: -20% -10% auto auto; width: 580px; height: 580px; border-radius: 50%; background: radial-gradient(circle, rgba(226,154,34,.18), transparent 70%); }
.section-dark h2, .section-dark h3 { color: #fff; }
.section-dark p, .section-dark .lead { color: rgba(255,255,255,.68); }
.section-heading { max-width: 860px; margin-bottom: 34px; }
.page-hero { padding: 60px 0 42px; }
.page-hero-compact { padding: 44px 0 28px; }
#folie, #rolety, #formularz-folie, #formularz-rolety, #kontakt, #jak-to-dziala { scroll-margin-top: 110px; }
.solution-grid, .services-grid, .feature-grid { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 30px; }
.service-card, .solution-card, .feature-card, .step-card, .area-card, .choice-card { position: relative; padding: 30px 24px; border: 1px solid rgba(16,23,36,.10); border-radius: var(--radius-card); background: var(--color-surface-strong); box-shadow: var(--shadow-card); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; overflow: hidden; }
.service-card::before, .solution-card::before, .feature-card::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--color-accent), var(--color-green)); opacity: .9; }
.service-card:hover, .solution-card:hover, .feature-card:hover, .choice-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-soft); border-color: rgba(199,122,19,.25); }
.service-icon, .solution-icon, .feature-icon { width: 68px; height: 68px; min-width: 68px; display: grid; place-items: center; border-radius: 20px; background: var(--color-accent-soft); color: var(--color-accent); margin-bottom: 18px; }
.service-icon svg, .solution-icon svg, .feature-icon svg { width: 34px; height: 34px; }
.service-card h3, .solution-card h3, .feature-card h3, .choice-card h3 { margin-bottom: 10px; }
.service-card p, .solution-card p, .feature-card p, .choice-card p { font-size: 15px; }
.split-section { display: grid; gap: 32px; align-items: center; }
.panel-card { padding: 28px; border-radius: 28px; background: var(--color-surface-strong); border: 1px solid rgba(16,23,36,.10); box-shadow: var(--shadow-card); }
.tags { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
.tag { display: inline-flex; align-items: center; gap: 7px; padding: 9px 13px; border: 1px solid rgba(16,23,36,.11); border-radius: 999px; background: rgba(255,255,255,.62); color: var(--color-text); font-size: 13px; font-weight: 850; }
.tag::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--color-accent); }
.process-grid, .steps-grid { display: grid; grid-template-columns: 1fr; gap: 18px; margin-top: 36px; }
.step-card { overflow: visible; padding-top: 34px; }
.step-number { position: absolute; top: -20px; left: 24px; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(135deg, var(--color-accent), #9d5f0d); color: #fff; box-shadow: 0 14px 28px rgba(199,122,19,.24); font-size: 19px; font-weight: 950; }
.forms-grid { display: grid; grid-template-columns: 1fr; gap: 22px; align-items: start; }
.form-card.is-folie { border-color: rgba(199,122,19,.22); }
.form-card.is-rolety { border-color: rgba(41,92,74,.22); }
.contact-form-cta .form-badge { display: inline-flex; align-items: center; padding: 7px 11px; margin-bottom: 12px; border-radius: 999px; background: var(--color-accent-soft); color: var(--color-accent); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.choice-grid { display: grid; grid-template-columns: 1fr; gap: 18px; margin-top: 30px; }
.choice-card { min-height: 100%; display: grid; align-content: start; }
.choice-card .button { margin-top: 18px; width: fit-content; }
.area-card { background: var(--color-dark); color: #fff; }
.area-card h3 { color: #fff; }
.area-card p { color: rgba(255,255,255,.68); }
.area-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 22px; }
.area-stat { padding: 18px; border-radius: 18px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.10); }
.area-stat strong { display: block; color: var(--color-accent-2); font-size: 32px; line-height: 1; font-weight: 950; }
.area-stat span { color: rgba(255,255,255,.62); font-size: 12px; font-weight: 750; }
.contact-details-card .contact-item-icon { width: 62px; height: 62px; min-width: 62px; border-radius: 18px; background: var(--color-accent-soft); color: var(--color-accent); }
.contact-details-card .contact-item-icon svg { width: 31px; height: 31px; }
.contact-details-card .contact-item-copy { width: 58px; min-width: 58px; min-height: 74px; display: grid; place-items: center; padding: 0; }
.contact-details-card .contact-item-copy svg { width: 26px; height: 26px; }
.contact-details-card .contact-item-link { gap: 18px; padding: 18px; }
.contact-details-card .contact-item-value { font-size: 17px; word-break: break-word; }
[data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

/* FIX V3 — kontrast kart w sekcji ciemnej, kontakt i lokalność */
.section-dark .service-card, .section-dark .solution-card, .section-dark .feature-card, .section-dark .choice-card { background: #fffdf8; color: var(--color-text); border-color: rgba(255,255,255,.20); }
.section-dark .service-card h3, .section-dark .solution-card h3, .section-dark .feature-card h3, .section-dark .choice-card h3 { color: var(--color-text); }
.section-dark .service-card p, .section-dark .solution-card p, .section-dark .feature-card p, .section-dark .choice-card p { color: var(--color-muted); }
.section-dark .eyebrow { background: rgba(255,255,255,.92); color: var(--color-accent); }
.section-dark .eyebrow::before { background: var(--color-accent); }
.area-card.area-contact-card { overflow: hidden; background: linear-gradient(135deg, #101724 0%, #1a2432 58%, #2f2517 100%); }
.area-card.area-contact-card::before { content: ""; position: absolute; inset: -80px -120px auto auto; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, rgba(226,154,34,.28), transparent 68%); }
.area-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.area-actions .button { min-height: 52px; }
.area-check-list { display: grid; gap: 12px; margin-top: 20px; }
.area-check { display: flex; gap: 10px; align-items: flex-start; color: rgba(255,255,255,.76); font-weight: 750; }
.area-check::before { content: ""; width: 10px; height: 10px; margin-top: .55em; border-radius: 50%; background: var(--color-accent-2); box-shadow: 0 0 0 6px rgba(226,154,34,.12); flex: 0 0 auto; }
.contact-page-layout { display: grid; gap: 34px; }
.contact-forms-top { min-width: 0; }
.contact-details-wide { max-width: none; }
.contact-items-wide { display: grid; gap: 16px; }
@media (min-width: 920px) {
  .contact-forms-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-items-wide { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
  .contact-items-wide .contact-item { height: 100%; }
}
@media (max-width: 680px) {
  .section h2 { word-break: normal; overflow-wrap: anywhere; }
}

/* FIX V4 — twarde poprawki kontrastu i ukladu po audycie */
.section-dark .feature-card,
.section-dark .service-card,
.section-dark .solution-card,
.section-dark .choice-card {
  background: #fffdf8 !important;
  color: var(--color-text) !important;
}
.section-dark .feature-card h3,
.section-dark .service-card h3,
.section-dark .solution-card h3,
.section-dark .choice-card h3 {
  color: var(--color-text) !important;
}
.section-dark .feature-card p,
.section-dark .service-card p,
.section-dark .solution-card p,
.section-dark .choice-card p {
  color: var(--color-muted) !important;
}
.section-dark .feature-icon,
.section-dark .service-icon,
.section-dark .solution-icon {
  background: var(--color-accent-soft) !important;
  color: var(--color-accent) !important;
}
.area-card.area-contact-card .area-phone-link {
  color: #fff;
  font-weight: 950;
  text-decoration: none;
}
.area-card.area-contact-card .area-phone-link:hover { color: var(--color-accent-2); }
.area-contact-note {
  margin-top: 16px;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.72);
  font-size: 14px;
  line-height: 1.55;
}
.choice-grid.is-compact-decisions {
  grid-template-columns: 1fr;
}
@media (min-width: 860px) {
  .choice-grid.is-compact-decisions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
