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