/* Strony ofertowe: /oferta oraz /oferta/{usługa} */
.sv_lead { font-size: 20px; line-height: 1.8; color: #ddd; max-width: 860px; margin: 0 0 20px; }
.sv_cols { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; margin-top: 50px; }
.sv_list { list-style: none; margin: 26px 0 0; padding: 0; }
.sv_list li { position: relative; padding-left: 34px; margin-bottom: 14px; color: #bbb; line-height: 1.75; font-size: 15px; }
.sv_list li:before { content: ""; position: absolute; left: 0; top: 7px; width: 16px; height: 9px; border-left: 2px solid #e54b4b; border-bottom: 2px solid #e54b4b; transform: rotate(-45deg) scale(.9); transform-origin: center; }
.sv_usp { margin: 44px 0 0; padding: 26px 30px; border-left: 4px solid #e54b4b; background: #0b0e14; color: #ddd; line-height: 1.85; font-size: 16px; max-width: 900px; }
.sv_cta_row { margin-top: 36px; }
.sv_steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; margin-top: 46px; }
.sv_step { padding: 28px 24px; border: 1px solid rgba(255,255,255,.08); border-radius: 6px; background: #000; }
.sv_step .sv_num { font: 700 13px Poppins, sans-serif; letter-spacing: 4px; color: #e54b4b; }
.sv_step h3 { font: 600 18px/1.35 Poppins, sans-serif; color: #fff; margin: 12px 0 10px; }
.sv_step p { color: #bbb; font-size: 14.5px; line-height: 1.8; margin: 0; }
.sv_why { display: grid; grid-template-columns: repeat(4, 1fr); gap: 34px; margin-top: 46px; }
.sv_whyi h3 { font: 600 18px/1.35 Poppins, sans-serif; color: #fff; margin: 0 0 10px; padding-bottom: 12px; position: relative; }
.sv_whyi h3:after { content: ""; position: absolute; left: 0; bottom: 0; width: 28px; height: 2px; background: #e54b4b; }
.sv_whyi p { color: #bbb; font-size: 14.5px; line-height: 1.8; margin: 0; }
.sv_faq_list { margin-top: 40px; max-width: 900px; }
.sv_faq { border-bottom: 1px solid rgba(255,255,255,.1); padding: 4px 0; }
.sv_faq summary { cursor: pointer; list-style: none; padding: 20px 40px 20px 0; position: relative; font: 600 17px/1.5 Poppins, sans-serif; color: #fff; }
.sv_faq summary::-webkit-details-marker { display: none; }
.sv_faq summary:after { content: "+"; position: absolute; right: 4px; top: 16px; font-size: 26px; font-weight: 400; color: #e54b4b; transition: transform .25s; }
.sv_faq[open] summary:after { transform: rotate(45deg); }
.sv_faq summary:hover { color: #e54b4b; }
.sv_faq p { color: #bbb; line-height: 1.9; font-size: 15.5px; margin: 0 0 22px; padding-right: 30px; }
.sv_related { list-style: none; margin: 30px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.sv_related a { display: inline-block; padding: 10px 20px; border: 1px solid rgba(255,255,255,.18); border-radius: 99px; color: #ddd; font: 500 14px Poppins, sans-serif; text-decoration: none; transition: all .25s; }
.sv_related a:hover { border-color: #e54b4b; color: #fff; background: #e54b4b; }
.rl_btn { display: inline-flex; align-items: center; gap: 10px; padding: 15px 30px; background: #e54b4b; color: #fff !important; font: 600 14px Poppins, sans-serif; letter-spacing: .8px; text-transform: uppercase; text-decoration: none; border: 2px solid #e54b4b; border-radius: 8px; box-shadow: 0 6px 22px rgba(229,75,75,.4); transition: all .3s cubic-bezier(.16,1,.3,1); }
.rl_btn:hover { background: transparent; transform: translateY(-2px); box-shadow: 0 10px 30px rgba(229,75,75,.65); }
@media (max-width: 992px) { .sv_steps, .sv_why { grid-template-columns: 1fr 1fr; } .sv_cols { grid-template-columns: 1fr; gap: 40px; } }
@media (max-width: 560px) { .sv_steps, .sv_why { grid-template-columns: 1fr; } .sv_lead { font-size: 18px; } }
