/*
Theme Name: GCB Konferencje
Theme URI: https://cormo.pl
Author: Cormo
Author URI: http://cormo.pl/
Template: gcbcert
Text Domain: gcbkonferencje
Version: 1.91
*/

* {}

.btn-orange{ background-color: #E75300; color: #fff; transition: all 0.3s ease;}
.btn-orange:hover{ background-color: #F86411; color: #fff;}

.conf-navbar { position: relative; z-index: 1000; background-color: #fff; }
.conf-navbar-fixed { position: fixed; top: 0; left: 0; right: 0; z-index: 1001; background-color: #fff; box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08); transform: translateY(-100%); opacity: 0; pointer-events: none; }
.conf-navbar-fixed.is-visible { transform: translateY(0); opacity: 1; pointer-events: auto; transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease; }

.conf-bg-hero { background-image: url(img/conf-bg-hero.webp); background-size: cover; background-position: center; background-repeat: no-repeat; }
.conf-bg-purple-dark { background-color: #373D65;}
.conf-bg-light { background-color: #EEF7FC; }
.conf-bg-footer { background-image: url(img/background-footer.webp); background-size: cover; background-position: center; background-repeat: no-repeat; }
.conf-bg-gradient-1 { position: relative; overflow: hidden; background-color: #1a2045; }
.conf-bg-gradient-1::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(62, 163, 220, 0) 36.02%, #1a2045 95.66%); pointer-events: none; z-index: 6; }
.conf-bg-gradient-1::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 55%, rgba(255, 255, 255, 0.45) 0%, rgba(255, 255, 255, 0.15) 35%, transparent 65%); pointer-events: none; z-index: 2; mix-blend-mode: screen; }
.conf-bg-gradient-1 > * { position: relative; z-index: 3; }
.conf-name-stack { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; line-height: 1.05; }
.conf-name-stack span { display: block; }
.js-expert-card { cursor: pointer; transition: transform 0.3s ease; }
.js-expert-card:hover,
.js-expert-card:focus-visible { transform: translateY(-4px); }
.js-expert-card:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.conf-ticket-form .form-control,
.conf-ticket-form .form-select { width: 100%; }
.conf-has-error input,
.conf-has-error textarea,
.conf-has-error select { border-color: #C51918 !important; background: #FFEAEA; }
.conf-field-error { display: block; margin-top: 6px; font-size: 12px; color: #C51918; }
.conf-form-success { margin-top: 20px; padding: 16px; background: #e8f5e9; color: #2e7d32; border-radius: 8px; font-weight: 600; }
#g-recaptcha-response + .error-message,
#g-recaptcha-response + .conf-field-error { display: none !important; }
.conf-mt-custom-1 { margin-top: 200px; }

.with-arrow-black:after { background-repeat: no-repeat; background-position: 0 50%; content: ''; width: 1em; height: 1em; display: inline-block; margin-left: 0.8em; vertical-align: middle; background-size: scale-down; background-image: url('data:image/svg+xml,<svg width="13" height="9" viewBox="0 0 13 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.24181 9L7.11762 7.9125L9.96823 5.25H0.211914V3.75H9.96823L7.11762 1.0875L8.24181 0L13.0597 4.5L8.24181 9Z" fill="black"/></svg>'); }

.conf-custom-padding-1 { padding-top: 160px; padding-bottom: 104px; }
.conf-custom-padding-2 { padding-top: 72px; padding-bottom: 72px; }
.conf-custom-padding-3 { padding: 40px 16px; }
.conf-custom-padding-4 { padding: 20px 16px 20px 35px; }
.conf-custom-padding-5 { padding: 32px 40px; }
.conf-custom-padding-6 { padding: 40px 16px; }
.conf-custom-padding-7 { padding: 88px 40px 40px 40px; }
.conf-custom-padding-8 { padding: 80px 32px 32px 32px; }
.conf-custom-padding-9 { padding: 32px; }
.conf-custom-padding-10 { padding: 24px 72px; }
.conf-custom-padding-11 { padding: 12px; }

.conf-custom-margin-1 { margin-top: 60px; }
.conf-custom-margin-2 { margin-top: 40px; }
.conf-fs-custom-1 { font-size: 80px; }
.conf-fs-custom-1 span { font-size: 48px; }

.conf-footer { border-top: 1px solid #429FD9; padding-top: 20px; }
.conf-footer-menu { list-style-type: none; gap: 16px; margin-bottom: 0!important; padding: 0!important;}
.conf-footer-menu a { color: #FFF!important; text-decoration: none!important; font-size: 12px!important;}

.conf-img-custom-1 { width: 160px; height: 160px; border-radius: 8px; }

.conf-dot { width: 16px; height: 16px; border-radius: 50%;}
.conf-dot-gray { background-color: #CCCCCC; }

.conf-gap-custom-1 { gap: 38px; }

.conf-highlight-card { position: relative; overflow: hidden; }
.conf-highlight-card::before { content: ""; position: absolute; inset: 0; border-radius: inherit; background: radial-gradient(circle at 50% 50%, rgba(255,255,255,0.1), transparent 75%), linear-gradient(135deg, rgba(255,255,255,0.06), rgba(255,255,255,0)); pointer-events: none;}

html.conf-js [data-animate]:not(.conf-animate) { opacity: 0!important; }
html body .conf-animate { opacity: 0!important; transform: translateY(24px); transition: opacity 1.1s ease, transform 1.1s ease; }
html body .conf-animate.is-visible { opacity: 1!important; transform: translateY(0); }
.conf-animate--fade-up { transform: translateY(32px); }
.conf-animate--fade-down { transform: translateY(-32px); }
.conf-animate--fade-left { transform: translateX(32px); }
.conf-animate--fade-right { transform: translateX(-32px); }
.conf-animate--fade-in { transform: scale(0.98); }
.conf-animate--fade-in.is-visible { transform: scale(1); }

.conf-counter { display: flex; align-items: stretch; border-radius: 3px; overflow: hidden; border: 1px solid #d5d9e2; margin-top: 6px; }
.conf-counter__btn { width: 45px; height: 40px; border: none; background: #2A579E; color: #fff; padding: 8px; display: flex; align-items: center; justify-content: center; transition: background 0.2s ease, opacity 0.2s ease; }
.conf-counter__btn img { width: 16px; height: 16px; pointer-events: none; }
.conf-counter__btn:hover,
.conf-counter__btn:focus-visible { opacity: 0.9; outline: none; box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.4); }
.conf-counter__btn:disabled { opacity: 0.4; cursor: not-allowed; }
.conf-counter__input { width: 72px; text-align: center; font-weight: 600; border: none; border-left: 1px solid #d5d9e2; border-right: 1px solid #d5d9e2; }
.conf-counter__input:focus { outline: none; box-shadow: inset 0 0 0 2px rgba(66, 159, 217, 0.35); }
.conf-counter__input::-webkit-inner-spin-button,
.conf-counter__input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.conf-counter__input[type="number"] { -moz-appearance:textfield; }

.conf-expert-modal { position: fixed; inset: 0; background: rgba(6, 12, 29, 0.78); backdrop-filter: blur(8px); display: flex; align-items: center; justify-content: center; padding: 32px 16px; opacity: 0; pointer-events: none; transition: opacity 0.35s ease; z-index: 1100; overflow-y: auto; }
.conf-expert-modal.is-visible { opacity: 1; pointer-events: auto; }
.conf-expert-modal__overlay { position: absolute; inset: 0; }
.conf-expert-modal__dialog { position: relative; width: min(1040px, calc(100% - 32px)); margin: auto; transition: transform 0.35s ease, opacity 0.35s ease; transform: translateY(24px); opacity: 0; z-index: 1; max-height: 90vh; overflow: hidden; display: flex; }
.conf-expert-modal.is-visible .conf-expert-modal__dialog { transform: translateY(0); opacity: 1; }
.conf-expert-modal__close { position: absolute; top: 16px; right: 16px; width: 44px; height: 44px; border: none; background: transparent; color: #111111; font-size: 28px; line-height: 1; cursor: pointer; z-index: 2; }
.conf-expert-modal__close:focus-visible { outline: 2px solid #E75300; outline-offset: 3px; }
.conf-expert-modal__grid { display: grid; gap: 24px; background: transparent; flex: 1 1 auto; min-height: 0; align-items: stretch; }
.conf-expert-modal__preview { min-height: 100%; display: flex; align-items: stretch; overflow: hidden; border-radius: 32px; }
.conf-expert-modal__preview .js-expert-modal-preview { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.conf-expert-modal__preview .js-expert-modal-img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.conf-expert-modal__content { background: #ffffff; border-radius: 32px; padding: 40px; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; height: 100%; min-height: 0; box-shadow: 0 20px 50px rgba(15, 23, 42, 0.15); overflow: hidden; }
.conf-expert-modal__content .text-start { display: flex; flex-direction: column; gap: 16px; width: 100%; height: 100%; min-height: 0; }
.conf-expert-modal__bio { font-size: 16px; line-height: 1.7; color: #4d4e64; overflow-y: auto; flex: 1 1 auto; min-height: 0; padding-right: 8px; }

@media (min-width: 768px) {
    .conf-expert-modal__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 767.98px) {
    .conf-expert-modal__dialog { width: 100%; }
    .conf-expert-modal__close { top: 8px; right: 8px; }
    .conf-expert-modal__preview { display: none; }
    .conf-expert-modal__content { padding: 32px 24px; }
    .conf-custom-padding-8 { padding: 32px; }
    .conf-custom-padding-9 { padding: 24px; }

}

@media (max-width: 991.99px) {
	.conf-mt-custom-1 { margin-top: 100px; }
    .conf-custom-padding-1 { padding-top: 70px; padding-bottom: 70px; }
    .conf-custom-padding-7 { padding: 40px 20px; }
    .conf-custom-padding-10 { padding: 16px; }
}

@media (max-width: 575.99px) {
	.logo-safetech{ width: 137px;}

    .conf-fs-custom-1 { font-size: 33px; }
    .conf-fs-custom-1 span { font-size: 23px; }

    .conf-custom-padding-1 { padding-top: 70px; padding-bottom: 70px; }
    .conf-custom-padding-2 { padding-top: 48px; padding-bottom: 48px; }
    .conf-custom-padding-4 { padding: 1rem; }
    .conf-custom-padding-5 { padding: 24px; }

    .conf-mt-custom-1 { margin-top: 64px; }

    .conf-img-custom-1 { width: 100%; max-height: 200px; object-fit: cover; }

    .w-mobile-100 { width: 100% !important; }

    .conf-gap-custom-1 { gap: 16px; }

    .fs-mobile-14 { font-size: 14px!important; }
}