/* ==========================================================
   ON-TARGET.PL – Patent PZSS
   SP Page Builder / osobny CSS podstrony
   System zaakceptowany na HOME + OFERTA V2
   ========================================================== */

:root{
  --otp-black:#111111;
  --otp-black2:#191919;
  --otp-yellow:#F5C400;
  --otp-yellow-dark:#D9AD00;
  --otp-cream:#FAFAF7;
  --otp-warm:#F2F0E7;
  --otp-warm-gold:#F1E6B7;
  --otp-line:#DEDCD2;
  --otp-muted:#5F5D57;
  --otp-white:#FFFFFF;
}

.otp-sp,
.otp-sp > .sppb-row-container,
.otp-sp > .sppb-row-container > .sppb-row,
.otp-sp > .sppb-row,
.otp-sp .sppb-column,
.otp-sp .sppb-column-addons,
.otp-sp .sppb-addon,
.otp-sp .sppb-addon-content{margin:0!important;padding:0!important}
.otp-sp > .sppb-row-container{width:100%!important;max-width:none!important}
.otp-sp .sppb-row{margin-left:0!important;margin-right:0!important}
.otp-sp .sppb-column{padding-left:0!important;padding-right:0!important}
.otp-sp .otp-page-block{width:100%!important;max-width:none!important}

.otp,.otp *{box-sizing:border-box}
.otp{width:100%;position:relative;font-family:Inter,Arial,sans-serif;color:var(--otp-black)}
.otp a{text-decoration:none!important}
.otp p,.otp h1,.otp h2,.otp h3,.otp h4{margin:0}
.otp img{display:block;width:100%;max-width:100%}
.otp-wrap{width:min(1500px,calc(100% - 96px));margin:0 auto}
.otp-kicker{display:inline-flex;align-items:center;gap:11px;font-size:12px;line-height:1.3;font-weight:850;letter-spacing:.15em;text-transform:uppercase;color:#66645E}
.otp-kicker:before{content:"";width:30px;height:3px;background:var(--otp-yellow);display:block}
.otp-kicker--light{color:rgba(255,255,255,.72)}
.otp-h1{color:#fff!important;font-size:clamp(54px,5.4vw,84px)!important;line-height:.95!important;letter-spacing:-.055em!important;font-weight:850!important}
.otp-h1 em,.otp-h2 em{font-style:normal;color:var(--otp-yellow)}
.otp-h2{color:var(--otp-black)!important;font-size:clamp(40px,4vw,62px)!important;line-height:1!important;letter-spacing:-.045em!important;font-weight:830!important}
.otp-h2--light{color:#fff!important}
.otp-lead{font-size:18px!important;line-height:1.72!important;font-weight:450!important}
.otp-copy{font-size:16.5px!important;line-height:1.76!important;font-weight:480!important;color:#514F49!important}
.otp-copy--light{color:rgba(255,255,255,.74)!important}

.otp-btn{min-height:58px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:0 8px 0 24px;border:1px solid transparent;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;transition:.22s ease}
.otp-btn b{width:42px;height:42px;display:grid;place-items:center;font-size:18px;font-weight:500;transition:.22s ease}
.otp-btn:hover b{transform:translateX(2px)}
.otp-btn--yellow{background:var(--otp-yellow);color:#111!important}
.otp-btn--yellow b{background:#111;color:#fff}
.otp-btn--yellow:hover{background:#FFD51A;color:#111!important}
.otp-btn--black{background:#111;color:#fff!important}
.otp-btn--black b{background:var(--otp-yellow);color:#111}
.otp-btn--black:hover{background:#252525}
.otp-btn--ghost{border-color:rgba(255,255,255,.28);color:#fff!important;background:rgba(255,255,255,.03)}
.otp-btn--ghost b{background:rgba(255,255,255,.11);color:#fff}
.otp-btn--ghost:hover{border-color:var(--otp-yellow);color:var(--otp-yellow)!important}

/* NUMERY W STYLU TARCZY */
.otp-target{position:relative;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;flex:0 0 72px;overflow:hidden;font-style:normal;font-size:12px;font-weight:950;letter-spacing:.06em;line-height:1}
.otp-target span{position:relative;z-index:4}
.otp-target:before,.otp-target:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.otp-target:before{inset:10px;border:1px solid currentColor;opacity:.34}
.otp-target:after{inset:23px;border:1px solid currentColor;opacity:.28}
.otp-target em,.otp-target u{position:absolute;inset:0;z-index:1;pointer-events:none;text-decoration:none}
.otp-target em:before,.otp-target em:after,.otp-target u:before,.otp-target u:after{content:"";position:absolute;background:currentColor;opacity:.18}
.otp-target em:before{left:50%;top:8px;bottom:8px;width:1px;transform:translateX(-50%)}
.otp-target em:after{top:50%;left:8px;right:8px;height:1px;transform:translateY(-50%)}
.otp-target u:before{left:50%;top:17px;bottom:17px;width:1px;transform:translateX(-50%)}
.otp-target u:after{top:50%;left:17px;right:17px;height:1px;transform:translateY(-50%)}
.otp-target--dark{color:#111;background:#F3F1E8;border:1px solid #D8D5C8}
.otp-target--gold{color:#111;background:#EEDB89;border:1px solid rgba(17,17,17,.18)}
.otp-target--light{color:#fff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18)}
.otp-target--light:before,.otp-target--light:after{border-color:var(--otp-yellow)}

/* HERO */
.otp-hero{overflow:hidden;padding:94px 0 86px;min-height:670px;background:radial-gradient(circle at 83% 28%,rgba(245,196,0,.10),transparent 27%),linear-gradient(135deg,#0D0D0D 0%,#171717 62%,#101010 100%)}
.otp-hero:before{content:"";position:absolute;inset:0;opacity:.16;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(90deg,transparent 0,#000 45%,#000 100%)}
.otp-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:72px;align-items:center;position:relative;z-index:2}
.otp-hero .otp-kicker{margin-bottom:26px}
.otp-hero .otp-lead{margin-top:30px!important;max-width:760px;color:rgba(255,255,255,.74)!important}
.otp-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.otp-hero-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:52px;padding-top:25px;border-top:1px solid rgba(255,255,255,.13)}
.otp-hero-meta div{padding-right:22px}
.otp-hero-meta strong{display:block;color:#fff;font-size:17px;font-weight:900}
.otp-hero-meta span{display:block;margin-top:5px;color:rgba(255,255,255,.50);font-size:11px;font-weight:750;letter-spacing:.07em;text-transform:uppercase}
.otp-hero-photo{height:530px;position:relative;overflow:hidden;border-radius:26px;border:1px solid rgba(255,255,255,.12);box-shadow:0 32px 85px rgba(0,0,0,.35)}
.otp-hero-photo img{height:100%;object-fit:cover;object-position:center}
.otp-hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,17,17,.02),rgba(17,17,17,.20))}
.otp-photo-tag{position:absolute;left:22px;bottom:22px;z-index:2;padding:15px 18px;background:rgba(255,255,255,.96);border-left:4px solid var(--otp-yellow);box-shadow:0 18px 45px rgba(0,0,0,.20)}
.otp-photo-tag small{display:block;color:#6D6A63;font-size:10px;font-weight:850;letter-spacing:.13em}
.otp-photo-tag strong{display:block;margin-top:5px;color:#111;font-size:16px;font-weight:950}

/* WSPÓLNE NAGŁÓWKI */
.otp-section{padding:108px 0 116px;background:var(--otp-cream)}
.otp-section--white{background:#fff}
.otp-section--dark{background:#111}
.otp-section--warm{background:linear-gradient(180deg,#F6F3E8 0%,var(--otp-warm-gold) 100%)}
.otp-section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end;margin-bottom:50px}
.otp-section-head .otp-kicker{margin-bottom:16px}
.otp-section-head>p{max-width:580px;justify-self:end;color:#55534D!important;font-size:17px!important;line-height:1.74!important;font-weight:480!important}
.otp-section--dark .otp-section-head>p{color:rgba(255,255,255,.72)!important}

/* KARTY */
.otp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.otp-card{min-height:350px;padding:30px 28px;background:#fff;border:1px solid var(--otp-line);display:flex;flex-direction:column;position:relative;overflow:hidden}
.otp-card h3{margin-top:48px!important;font-size:25px!important;line-height:1.10!important;font-weight:880!important;letter-spacing:-.03em!important;color:#111!important}
.otp-card p{margin-top:17px!important;font-size:16.5px!important;line-height:1.68!important;color:#55534D!important;font-weight:480!important}
.otp-card small{margin-top:auto;padding-top:26px;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#8B6D00}
.otp-card--dark{background:#171717;border-color:#171717}
.otp-card--dark h3{color:#fff!important}
.otp-card--dark p{color:rgba(255,255,255,.72)!important}
.otp-card--dark small{color:var(--otp-yellow)}

/* SPLIT */
.otp-split{display:grid;grid-template-columns:.94fr 1.06fr;gap:88px;align-items:center}
.otp-split--reverse{grid-template-columns:1.06fr .94fr}
.otp-split--reverse .otp-split-photo{order:2}
.otp-split--reverse .otp-split-copy{order:1}
.otp-split-photo{height:550px;overflow:hidden;border-radius:26px;box-shadow:0 28px 70px rgba(17,17,17,.10)}
.otp-split-photo img{height:100%;object-fit:cover}
.otp-split-copy .otp-kicker{margin-bottom:19px}
.otp-split-copy .otp-h2{margin-bottom:27px!important}
.otp-split-copy .otp-copy{max-width:760px}
.otp-checks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:31px}
.otp-check{display:flex;align-items:center;gap:12px;min-height:56px;padding:13px 15px;border:1px solid #D8D5C9;background:rgba(255,255,255,.70);color:#171717;font-size:15.5px;font-weight:720;line-height:1.4}
.otp-check:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--otp-yellow);box-shadow:0 0 0 4px rgba(245,196,0,.16);flex:0 0 8px}

/* LISTA / ETAPY */
.otp-steps{border-top:1px solid rgba(17,17,17,.18)}
.otp-step{display:grid;grid-template-columns:94px 1fr 1.08fr;gap:28px;align-items:center;min-height:156px;padding:25px 0;border-bottom:1px solid rgba(17,17,17,.15)}
.otp-step h3{font-size:23px!important;line-height:1.15!important;font-weight:880!important;letter-spacing:-.025em!important;color:#111!important}
.otp-step p{font-size:16.5px!important;line-height:1.68!important;color:#514F49!important;font-weight:480!important}
.otp-section--dark .otp-steps{border-color:rgba(255,255,255,.18)}
.otp-section--dark .otp-step{border-color:rgba(255,255,255,.14)}
.otp-section--dark .otp-step h3{color:#fff!important}
.otp-section--dark .otp-step p{color:rgba(255,255,255,.72)!important}

/* INFO GRID */
.otp-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.otp-info{padding:30px;background:rgba(255,255,255,.72);border:1px solid rgba(17,17,17,.10)}
.otp-info h3{font-size:21px!important;line-height:1.18!important;font-weight:880!important;color:#111!important}
.otp-info p{margin-top:11px!important;font-size:16.5px!important;line-height:1.68!important;color:#4C4A44!important;font-weight:480!important}

/* CTA */
.otp-final{padding:92px 0 100px;background:#fff}
.otp-final-box{padding:60px 64px;min-height:400px;background:#111;display:grid;grid-template-columns:1.08fr .92fr;gap:78px;align-items:center;position:relative;overflow:hidden;box-shadow:0 34px 75px rgba(17,17,17,.16)}
.otp-final-box:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(245,196,0,.30);border-radius:50%;right:-175px;top:-220px;box-shadow:0 0 0 55px rgba(245,196,0,.035),0 0 0 110px rgba(245,196,0,.022)}
.otp-final-copy,.otp-final-contact{position:relative;z-index:2}
.otp-final .otp-kicker{margin-bottom:21px}
.otp-final h2{color:#fff!important;font-size:clamp(42px,4.3vw,64px)!important;line-height:.98!important;letter-spacing:-.045em!important;font-weight:850!important}
.otp-final h2 em{font-style:normal;color:var(--otp-yellow)}
.otp-final-copy p{margin-top:23px!important;color:rgba(255,255,255,.72)!important;font-size:16.5px!important;line-height:1.72!important;max-width:620px}
.otp-final-contact{display:grid;border-top:1px solid rgba(255,255,255,.17)}
.otp-contact-row{min-height:84px;display:grid;align-content:center;border-bottom:1px solid rgba(255,255,255,.14);color:#fff!important;padding-right:48px;position:relative}
.otp-contact-row small{font-size:11px;color:rgba(255,255,255,.50);font-weight:850;letter-spacing:.13em}
.otp-contact-row strong{margin-top:5px;font-size:18px;font-weight:850}
.otp-contact-row i{position:absolute;right:0;top:50%;transform:translateY(-50%);font-style:normal;color:var(--otp-yellow);font-size:20px}

@media(max-width:1199px){
  .otp-wrap{width:min(100% - 64px,1420px)}
  .otp-hero-grid{grid-template-columns:1fr .82fr;gap:42px}
  .otp-hero-photo{height:500px}
  .otp-cards{grid-template-columns:1fr 1fr}
  .otp-split,.otp-split--reverse{gap:58px}
}
@media(max-width:991px){
  .otp-wrap{width:calc(100% - 48px)}
  .otp-hero{padding:74px 0}
  .otp-hero-grid,.otp-section-head,.otp-split,.otp-split--reverse,.otp-final-box{grid-template-columns:1fr;gap:42px}
  .otp-hero-photo{width:min(600px,100%);height:510px;margin-top:15px}
  .otp-section-head>p{justify-self:start}
  .otp-split--reverse .otp-split-photo,.otp-split--reverse .otp-split-copy{order:initial}
  .otp-split-photo{height:470px}
  .otp-step{grid-template-columns:82px 1fr;gap:24px}
  .otp-step p{grid-column:2}
  .otp-final-box{padding:50px}
}
@media(max-width:767px){
  .otp-wrap{width:calc(100% - 34px)}
  .otp-hero{min-height:0;padding:60px 0 58px}
  .otp-h1{font-size:clamp(43px,13vw,62px)!important}
  .otp-h2{font-size:clamp(36px,10vw,50px)!important}
  .otp-lead{font-size:16px!important}
  .otp-actions{display:grid}
  .otp-btn{width:100%}
  .otp-hero-meta{gap:12px}
  .otp-hero-meta strong{font-size:15px}
  .otp-hero-meta span{font-size:9px}
  .otp-hero-photo{height:420px}
  .otp-section{padding:76px 0 82px}
  .otp-cards{grid-template-columns:1fr}
  .otp-card{min-height:315px}
  .otp-split-photo{height:370px}
  .otp-checks,.otp-info-grid{grid-template-columns:1fr}
  .otp-step{grid-template-columns:62px 1fr;gap:16px;min-height:0;padding:25px 0}
  .otp-step h3{font-size:21px!important}
  .otp-step p{font-size:15.5px!important}
  .otp-final{padding:64px 0 72px}
  .otp-final-box{padding:38px 25px;gap:38px}
  .otp-final h2{font-size:clamp(38px,10.5vw,51px)!important}
  .otp-target{width:54px;height:54px;flex-basis:54px;font-size:10px}
  .otp-target:before{inset:8px}.otp-target:after{inset:17px}
}

/* === ON TARGET: HERO FIX V2 ===
   Zachowuje oryginalną szerokość .otp-wrap i układ kolumn.
   Zmienia wyłącznie wysokość hero, H1 i pionowe odstępy.
   ============================================ */
@media (min-width:1200px) {
  .otp-hero {
    height:700px!important;
    min-height:700px!important;
    max-height:700px!important;
    padding:52px 0!important;
    overflow:hidden;
  }
  .otp-hero-grid {
    height:100%;
    align-items:center!important;
  }
  .otp-h1 {
    font-size:clamp(48px,3.7vw,64px)!important;
    line-height:.98!important;
    letter-spacing:-.048em!important;
  }
  .otp-hero .otp-kicker {margin-bottom:19px!important}
  .otp-hero .otp-lead {margin-top:22px!important}
  .otp-actions {margin-top:25px!important}
  .otp-hero-meta,
  .otp-hero-note {margin-top:32px!important;padding-top:18px!important}
  .otp-hero-photo {height:500px!important}
}

@media (min-width:992px) and (max-width:1199px) {
  .otp-hero {
    height:700px!important;
    min-height:700px!important;
    max-height:700px!important;
    padding:46px 0!important;
    overflow:hidden;
  }
  .otp-hero-grid {
    height:100%;
    align-items:center!important;
  }
  .otp-h1 {
    font-size:clamp(44px,4.6vw,56px)!important;
    line-height:1!important;
    letter-spacing:-.045em!important;
  }
  .otp-hero .otp-kicker {margin-bottom:17px!important}
  .otp-hero .otp-lead {margin-top:19px!important;font-size:16px!important;line-height:1.62!important}
  .otp-actions {margin-top:22px!important}
  .otp-hero-meta,
  .otp-hero-note {margin-top:27px!important;padding-top:16px!important}
  .otp-hero-photo {height:460px!important}
}
/* === KONIEC: HERO FIX V2 === */
