/* scoped style strony (z tresci produkcyjnych szablonow) */

/* ===== O SZKOLE page-specific styles (os- prefix) ===== */

/* Hero */
.os-hero { background: linear-gradient(135deg, rgba(210,229,225,0.3), #fff); padding: 80px 0 112px; }
@media(min-width:1024px) { .os-hero { padding: 80px 0 112px; } }
.os-hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.os-hero h1 { font-size: 36px; line-height: 1.15; color: #232D4B; margin-bottom: 24px; }
@media(min-width:1024px) { .os-hero h1 { font-size: 60px; } }
.os-hero-desc { font-size: 20px; color: #374151; margin-bottom: 32px; line-height: 1.6; }
.os-hero-buttons { display: flex; flex-direction: column; gap: 16px; }
@media(min-width:640px) { .os-hero-buttons { flex-direction: row; } }
.os-btn-green { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: #81BD51; color: #fff; padding: 16px 32px; border-radius: 8px; font-weight: 600; font-size: 16px; transition: background 0.2s; text-decoration: none; }
/*przycisk*/ .wp-block-button.os-btn-green > .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: #81BD51; color: #fff; padding: 16px 32px; border-radius: 8px; font-weight: 600; font-size: 16px; transition: background 0.2s; text-decoration: none; }
.os-btn-green:hover { background: #6fa043; }
/*przycisk*/ .wp-block-button.os-btn-green:hover > .wp-block-button__link { background: #6fa043; }
.os-btn-navy-outline { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 2px solid #232D4B; color: #232D4B; padding: 16px 32px; border-radius: 8px; font-weight: 600; font-size: 16px; transition: all 0.2s; text-decoration: none; background: transparent; }
/*przycisk*/ .wp-block-button.os-btn-navy-outline > .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 2px solid #232D4B; color: #232D4B; padding: 16px 32px; border-radius: 8px; font-weight: 600; font-size: 16px; transition: all 0.2s; text-decoration: none; background: transparent; }
.os-btn-navy-outline:hover { background: #232D4B; color: #fff; }
/*przycisk*/ .wp-block-button.os-btn-navy-outline:hover > .wp-block-button__link { background: #232D4B; color: #fff; }
.os-hero-img { background: linear-gradient(135deg, rgba(129,189,81,0.2), rgba(35,45,75,0.2)); border-radius: 16px; overflow: hidden; aspect-ratio: 4/3; }
.os-hero-img img { width: 100%; height: 100%; object-fit: cover; border-radius: 16px; }

/* Section spacing */
.os-section { padding: 80px 0; scroll-margin-top: 5rem; }
.os-max5 { max-width: 1024px; margin: 0 auto; }
.os-max6 { max-width: 1152px; margin: 0 auto; }
.os-max4 { max-width: 896px; margin: 0 auto; }

/* Section titles */
.os-title { font-size: 30px; color: #232D4B; margin-bottom: 48px; }
@media(min-width:1024px) { .os-title { font-size: 48px; } }
.os-title--center { text-align: center; }
.os-title--white { color: #fff; }

/* Kim jestesmy checklist items */
.os-check-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-bottom: 48px; }
.os-check-col { display: flex; flex-direction: column; gap: 24px; }
.os-check-item { display: flex; align-items: flex-start; gap: 16px; }
.os-check-icon { width: 40px; height: 40px; border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.os-check-icon--green { background: rgba(129,189,81,0.1); }
.os-check-icon--green svg { color: #81BD51; }
/*ikona*/ .os-check-icon--green .bz-ico.bz-ico { color: #81BD51; }
/*ikona*/ .os-check-icon--green li::before { color: #81BD51; }
.os-check-icon--navy { background: rgba(35,45,75,0.1); }
.os-check-icon--navy svg { color: #232D4B; }
/*ikona*/ .os-check-icon--navy .bz-ico.bz-ico { color: #232D4B; }
/*ikona*/ .os-check-icon--navy li::before { color: #232D4B; }
.os-check-item h3 { font-weight: 500; color: #232D4B; margin-bottom: 4px; font-size: 16px; }
.os-check-item p { color: #4B5563; font-size: 14px; line-height: 1.5; }

/* Navy callout */
.os-navy-callout { background: #232D4B; color: #fff; border-radius: 16px; padding: 32px 48px; }
@media(min-width:1024px) { .os-navy-callout { padding: 32px 48px; } }
.os-navy-callout h3 { font-size: 24px; margin-bottom: 16px; color: #fff; }
@media(min-width:1024px) { .os-navy-callout h3 { font-size: 30px; } }
.os-navy-callout p { font-size: 20px; color: #D1D5DC; }

/* Dlaczego / Dla kogo 2-col grid */
.os-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }

/* Card white (dlaczego) */
.os-card { background: #fff; border-radius: 12px; padding: 32px; border: 1px solid #F3F4F6; transition: transform 0.25s, box-shadow 0.25s; }
.os-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,0.08); }
.os-card-icon { width: 56px; height: 56px; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 24px; }
.os-card-icon--green { background: #81BD51; }
.os-card-icon--navy { background: #232D4B; }
.os-card-icon svg { color: #fff; }
/*ikona*/ .os-card-icon .bz-ico.bz-ico { color: #fff; }
/*ikona*/ .os-card-icon li::before { color: #fff; }
.os-card h3 { font-size: 20px; font-weight: 500; color: #232D4B; margin-bottom: 12px; }
.os-card p { color: #4B5563; line-height: 1.6; }

/* Dla kogo gradient cards */
.os-card-gradient { border-radius: 12px; padding: 32px; border: 1px solid #F3F4F6; transition: transform 0.25s, box-shadow 0.25s; }
.os-card-gradient:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,0.08); }
.os-card-gradient--green { background: linear-gradient(135deg, rgba(129,189,81,0.05), #fff); }
.os-card-gradient--navy { background: linear-gradient(135deg, rgba(35,45,75,0.05), #fff); }
.os-card-gradient-icon { width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.os-card-gradient-icon--green { background: rgba(129,189,81,0.1); }
.os-card-gradient-icon--green svg { color: #81BD51; }
/*ikona*/ .os-card-gradient-icon--green .bz-ico.bz-ico { color: #81BD51; }
/*ikona*/ .os-card-gradient-icon--green li::before { color: #81BD51; }
.os-card-gradient-icon--navy { background: rgba(35,45,75,0.1); }
.os-card-gradient-icon--navy svg { color: #232D4B; }
/*ikona*/ .os-card-gradient-icon--navy .bz-ico.bz-ico { color: #232D4B; }
/*ikona*/ .os-card-gradient-icon--navy li::before { color: #232D4B; }
.os-card-gradient h3 { font-size: 20px; font-weight: 500; color: #232D4B; margin-bottom: 12px; }
.os-card-gradient p { color: #4B5563; line-height: 1.6; }

/* Filozofia navy section */
.os-filozofia { background: linear-gradient(135deg, #232D4B, #1a2136); color: #fff; }
.os-glass-card { background: rgba(255,255,255,0.1); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); border-radius: 16px; padding: 32px 48px; margin-bottom: 48px; }
@media(min-width:1024px) { .os-glass-card { padding: 32px 48px; } }
.os-glass-card h3 { font-size: 24px; font-weight: 500; color: #fff; margin-bottom: 16px; }
.os-glass-card .os-ramus-text { color: #D1D5DC; margin-bottom: 24px; line-height: 1.6; }
.os-ramus-list { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 24px; }
.os-ramus-list li { display: flex; align-items: center; gap: 12px; color: #fff; }
.os-ramus-list li svg { flex-shrink: 0; }
/*ikona*/ .os-ramus-list li .bz-ico.bz-ico { flex-shrink: 0; }
/*ikona*/ .os-ramus-list li::before { flex-shrink: 0; }
.os-glass-card .os-ramus-bottom { color: #D1D5DC; line-height: 1.6; }

/* Principle numbered cards */
.os-principle { background: rgba(255,255,255,0.05); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); border-radius: 12px; padding: 24px; border: 1px solid rgba(255,255,255,0.1); transition: transform 0.25s, background 0.25s; }
.os-principle:hover { transform: translateY(-4px); background: rgba(255,255,255,0.08); }
.os-principle-inner { display: flex; align-items: flex-start; gap: 16px; }
.os-principle-num { width: 32px; height: 32px; border-radius: 50%; background: #81BD51; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 14px; font-weight: 500; color: #fff; }
.os-principle h4 { font-weight: 500; color: #fff; margin-bottom: 8px; }
.os-principle p { color: #D1D5DC; font-size: 14px; line-height: 1.5; }

/* Formalne - credential cards 3-col */
.os-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }

.os-credential { border-radius: 12px; padding: 24px; border: 1px solid #F3F4F6; transition: transform 0.25s; }
.os-credential:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,0.06); }
.os-credential-icon { width: 48px; height: 48px; border-radius: 12px; background: rgba(129,189,81,0.1); display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.os-credential-icon svg { color: #81BD51; }
/*ikona*/ .os-credential-icon .bz-ico.bz-ico { color: #81BD51; }
/*ikona*/ .os-credential-icon li::before { color: #81BD51; }
.os-credential h3 { font-weight: 500; color: #232D4B; font-size: 16px; line-height: 1.5; }

/* Ekosystem 3-col */
.os-eco-card { background: #fff; border-radius: 12px; padding: 32px; border: 1px solid #F3F4F6; transition: border-color 0.2s, transform 0.25s; }
.os-eco-card:hover { transform: translateY(-4px); }
.os-eco-card--highlight { background: linear-gradient(135deg, rgba(129,189,81,0.1), #fff); border: 2px solid #81BD51; }
.os-eco-icon { width: 56px; height: 56px; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 24px; }
.os-eco-card h3 { font-size: 20px; font-weight: 500; color: #232D4B; margin-bottom: 12px; }
.os-eco-card p { color: #4B5563; margin-bottom: 16px; line-height: 1.5; }
.os-eco-link { color: #81BD51; font-size: 14px; display: inline-flex; align-items: center; gap: 4px; text-decoration: none; transition: color 0.2s; }
.os-eco-link:hover { color: #6fa043; }
.os-eco-label { color: #81BD51; font-size: 14px; font-weight: 500; }
.os-eco-soon { color: #9CA3AF; font-size: 14px; }

/* Zespol team cards */
.os-team-card { background: #F9FAFB; border-radius: 12px; overflow: hidden; transition: box-shadow 0.25s; }
.os-team-card:hover { box-shadow: 0 20px 40px rgba(0,0,0,0.08); }
.os-team-photo { aspect-ratio: 1; background: linear-gradient(135deg, rgba(129,189,81,0.2), rgba(35,45,75,0.2)); }
.os-team-photo img { width: 100%; height: 100%; object-fit: cover; }
.os-team-photo--placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #D2E5E1, rgba(129,189,81,0.1)); }
.os-team-photo--placeholder svg { color: rgba(129,189,81,0.3); }
/*ikona*/ .os-team-photo--placeholder .bz-ico.bz-ico { color: rgba(129,189,81,0.3); }
/*ikona*/ .os-team-photo--placeholder li::before { color: rgba(129,189,81,0.3); }
.os-team-info { padding: 24px; }
.os-team-info h4 { font-weight: 500; color: #232D4B; margin-bottom: 4px; }
.os-team-info .os-team-role { font-size: 14px; color: #81BD51; margin-bottom: 12px; }
.os-team-info .os-team-bio { font-size: 14px; color: #4B5563; line-height: 1.6; }
.os-team-info .os-team-subject { font-size: 14px; color: #81BD51; }
.os-team-info .os-team-bio-sm { font-size: 14px; color: #6B7280; margin-top: 8px; line-height: 1.5; }

/* Teachers sub-grid: 4 cols */
.os-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }

/* Team footer callout */
.os-team-callout { background: rgba(210,229,225,0.3); border-radius: 16px; padding: 32px; text-align: center; margin-top: 48px; }
.os-team-callout p { color: #374151; line-height: 1.6; }
.os-team-callout strong { color: #232D4B; }

/* CTA navy */
.os-cta { background: linear-gradient(135deg, #232D4B, #1a2136); color: #fff; padding: 80px 0; }
.os-cta h2 { font-size: 30px; color: #fff; margin-bottom: 24px; }
@media(min-width:1024px) { .os-cta h2 { font-size: 48px; } }
.os-cta p { font-size: 20px; color: #D1D5DC; margin-bottom: 32px; line-height: 1.5; }
.os-cta-buttons { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; }
@media(min-width:640px) { .os-cta-buttons { flex-direction: row; } }
.os-btn-white-outline { display: inline-flex; align-items: center; gap: 8px; border: 2px solid rgba(255,255,255,0.2); color: #fff; padding: 16px 32px; border-radius: 8px; font-weight: 600; font-size: 16px; transition: background 0.2s; text-decoration: none; background: transparent; }
/*przycisk*/ .wp-block-button.os-btn-white-outline > .wp-block-button__link { display: inline-flex; align-items: center; gap: 8px; border: 2px solid rgba(255,255,255,0.2); color: #fff; padding: 16px 32px; border-radius: 8px; font-weight: 600; font-size: 16px; transition: background 0.2s; text-decoration: none; background: transparent; }
.os-btn-white-outline:hover { background: rgba(255,255,255,0.1); }
/*przycisk*/ .wp-block-button.os-btn-white-outline:hover > .wp-block-button__link { background: rgba(255,255,255,0.1); }

/* Responsive */
@media (max-width: 768px) {
    .os-hero-grid { grid-template-columns: 1fr; }
    .os-check-grid { grid-template-columns: 1fr; }
    .os-grid-2 { grid-template-columns: 1fr; }
    .os-grid-3 { grid-template-columns: 1fr; }
    .os-grid-4 { grid-template-columns: 1fr; }
    .os-ramus-list { grid-template-columns: 1fr; }
    .os-navy-callout { padding: 24px; }
    .os-glass-card { padding: 24px; }
    .os-section { padding: 48px 0; }
}
@media (max-width: 1024px) and (min-width: 769px) {
    .os-grid-3 { grid-template-columns: repeat(2, 1fr); }
    .os-grid-4 { grid-template-columns: repeat(2, 1fr); }
}
/* 5th principle spanning 2 cols */
.os-principle--wide { grid-column: span 2; }
@media (max-width: 768px) { .os-principle--wide { grid-column: span 1; } }
/* 5th credential spanning 2/1 col for centering */
.os-credential--last { }
@media (min-width: 769px) and (max-width: 1024px) { .os-credential--last { grid-column: span 2; } }
@media (max-width: 768px) { .os-credential--last { grid-column: span 1; } }

/* style inline przeniesione do klas */
.bz-i-1.bz-i-1.bz-i-1.bz-i-1 { background: #fff; }
.bz-i-2.bz-i-2.bz-i-2.bz-i-2 { background: #F9FAFB; }
.bz-i-3.bz-i-3.bz-i-3.bz-i-3 { margin-bottom: 24px; }
.bz-i-4.bz-i-4.bz-i-4.bz-i-4 { font-size: 24px; font-weight: 500; margin-bottom: 32px; text-align: center; color: #fff; }
.bz-i-5.bz-i-5.bz-i-5.bz-i-5 { font-size: 18px; color: #4B5563; text-align: center; margin-bottom: 48px; max-width: 768px; margin-left: auto; margin-right: auto; }
.bz-i-6.bz-i-6.bz-i-6.bz-i-6 { background: linear-gradient(135deg, rgba(129,189,81,0.05), #fff); }
.bz-i-7.bz-i-7.bz-i-7.bz-i-7 { border-color: #F3F4F6; }
.bz-i-8.bz-i-8.bz-i-8.bz-i-8 { background: rgba(129,189,81,0.1); }
.bz-i-9.bz-i-9.bz-i-9.bz-i-9 { background: #81BD51; }
.bz-i-10.bz-i-10.bz-i-10.bz-i-10 { background: rgba(35,45,75,0.1); }
.bz-i-11.bz-i-11.bz-i-11.bz-i-11 { text-align: center; color: #4B5563; margin-top: 48px; max-width: 768px; margin-left: auto; margin-right: auto; }
.bz-i-12.bz-i-12.bz-i-12.bz-i-12 { margin-bottom: 16px; }
.bz-i-13.bz-i-13.bz-i-13.bz-i-13 { font-size: 18px; color: #4B5563; text-align: center; margin-bottom: 64px; max-width: 768px; margin-left: auto; margin-right: auto; }
.bz-i-14.bz-i-14.bz-i-14.bz-i-14 { margin-bottom: 64px; }
.bz-i-15.bz-i-15.bz-i-15.bz-i-15 { font-size: 24px; font-weight: 500; color: #232D4B; margin-bottom: 32px; }
.bz-i-16.bz-i-16.bz-i-16.bz-i-16 { text-align: center; }

/*przycisk*/ .wp-block-button:where([class*="btn"]) { background: none; border: 0; padding: 0; box-shadow: none; }
/*przycisk*/ .wp-block-button:where([class*="btn"]) > .wp-block-button__link { background: none; border: 0; }
