/* ==================================================
   WŁASNE ELEMENTY – WSPÓLNE
   ================================================== */

.wp-block-wlasne-elementy-container,
.wp-block-wlasne-elementy-info-box,
.wp-block-wlasne-elementy-buttons,
.wp-block-wlasne-elementy-button,
.wp-block-wlasne-elementy-faq {
    box-sizing:border-box;
}

/* ==================================================
   KONTENER
   ================================================== */

.we-container {
    position:relative;
    box-sizing:border-box;
    min-width:0;
}

.we-container--centered {
    margin-right:auto !important;
    margin-left:auto !important;
}

.we-container--viewport,
.we-container--breakout {
    position:relative;
    left:50%;
    max-width:none !important;
    transform:translateX(-50%);
}

.we-container--viewport {
    width:100vw !important;
    width:100dvw !important;
}

.we-container__inner {
    box-sizing:border-box;
    width:100%;
    min-width:0;
}

.we-container__inner > * {
    min-width:0;
}

/* ==================================================
   INFO BOX
   ================================================== */

.we-info-box {
    display:flex;
    box-sizing:border-box;
    width:var(--we-info-width,100%);
    max-width:var(--we-info-max-width,none);
    gap:var(--we-info-gap,18px);
    margin:var(--we-info-margin,0);
    padding:var(--we-info-padding,24px);
    color:var(--we-info-text-color,inherit);
    background:var(--we-info-bg,transparent);
    border-width:var(--we-info-border-width,0);
    border-style:var(--we-info-border-style,solid);
    border-color:var(--we-info-border-color,#dbe3ef);
    border-radius:var(--we-info-radius,12px);
    box-shadow:var(--we-info-shadow,none);
}

.we-info-box--horizontal {
    flex-direction:row;
}

.we-info-box--horizontal-reverse {
    flex-direction:row-reverse;
}

.we-info-box--vertical {
    flex-direction:column;
}

.we-info-box--align-left {
    text-align:left;
}

.we-info-box--align-center {
    text-align:center;
}

.we-info-box--align-right {
    text-align:right;
}

.we-info-box--vertical.we-info-box--align-left .we-info-box__icon {
    align-self:flex-start;
}

.we-info-box--vertical.we-info-box--align-center .we-info-box__icon {
    align-self:center;
}

.we-info-box--vertical.we-info-box--align-right .we-info-box__icon {
    align-self:flex-end;
}

.we-info-box__icon {
    display:flex;
    flex:0 0 var(--we-icon-box-size,56px);
    align-items:center;
    justify-content:center;
    width:var(--we-icon-box-size,56px);
    height:var(--we-icon-box-size,56px);
    color:var(--we-icon-color,#146ef5);
    background:var(--we-icon-bg,#eaf2ff);
    border-radius:var(--we-icon-radius,50%);
}

.we-icon-svg {
    display:block;
    flex:0 0 auto;
    width:1em;
    height:1em;
    overflow:visible;
}

.we-info-box__icon .we-icon-svg {
    width:var(--we-icon-size,28px);
    height:var(--we-icon-size,28px);
}

.we-info-box__icon-image {
    display:block;
    width:var(--we-icon-size,28px);
    height:var(--we-icon-size,28px);
    object-fit:contain;
}

.we-info-box__content {
    flex:1 1 auto;
    min-width:0;
}

.we-info-box__title {
    margin:0 0 var(--we-info-title-margin-bottom,8px);
    color:var(--we-info-title-color,inherit);
    font-family:var(--we-info-title-font-family,inherit);
    font-size:var(--we-info-title-font-size,inherit);
    font-weight:var(--we-info-title-font-weight,inherit);
    line-height:var(--we-info-title-line-height,inherit);
    letter-spacing:var(--we-info-title-letter-spacing,normal);
    text-transform:var(--we-info-title-text-transform,none);
}

.we-info-box__description {
    margin-bottom:var(--we-info-text-margin-bottom,0);
    color:var(--we-info-text-color,inherit);
    font-family:var(--we-info-text-font-family,inherit);
    font-size:var(--we-info-text-font-size,inherit);
    font-weight:var(--we-info-text-font-weight,inherit);
    line-height:var(--we-info-text-line-height,inherit);
    letter-spacing:var(--we-info-text-letter-spacing,normal);
    text-transform:var(--we-info-text-text-transform,none);
}

.we-info-box__description > :first-child {
    margin-top:0;
}

.we-info-box__description > :last-child {
    margin-bottom:0;
}

.we-info-box__link {
    display:inline-flex;
    align-items:center;
    margin-top:var(--we-info-link-margin-top,14px);
    color:var(--we-info-link-color,#146ef5);
    font-family:var(--we-info-link-font-family,inherit);
    font-size:var(--we-info-link-font-size,inherit);
    font-weight:var(--we-info-link-font-weight,700);
    line-height:var(--we-info-link-line-height,inherit);
    letter-spacing:var(--we-info-link-letter-spacing,normal);
    text-transform:var(--we-info-link-text-transform,none);
    text-decoration:none;
}

.we-info-box__link:hover,
.we-info-box__link:focus {
    text-decoration:underline;
}

/* ==================================================
   PRZYCISKI
   ================================================== */

.we-buttons__inner {
    display:flex;
    flex-wrap:var(--we-buttons-wrap,wrap);
    width:100%;
}

.we-button-block {
    display:flex;
}

.we-button {
    display:inline-flex;
    box-sizing:border-box;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:42px;
    color:var(--we-button-color,#fff);
    font-weight:700;
    line-height:1.2;
    text-align:center;
    text-decoration:none;
    background:var(--we-button-bg,#146ef5);
    border:1px solid var(--we-button-border-color,#146ef5);
    border-radius:var(--we-button-radius,8px);
    cursor:pointer;
    transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}

.we-button:hover,
.we-button:focus {
    color:var(--we-button-hover-color,#fff);
    text-decoration:none;
    background:var(--we-button-hover-bg,#0b56c7);
}

.we-button:active {
    transform:translateY(1px);
}

.we-button--small {
    min-height:36px;
    padding:8px 14px;
    font-size:14px;
}

.we-button--medium {
    padding:11px 20px;
    font-size:16px;
}

.we-button--large {
    min-height:50px;
    padding:14px 28px;
    font-size:18px;
}

.we-button--full {
    width:100%;
}

.we-button--secondary {
    color:var(--we-button-color,#146ef5);
    background:var(--we-button-bg,#eaf2ff);
}

.we-button--outline {
    color:var(--we-button-color,#146ef5);
    background:transparent;
}

.we-button--link {
    min-height:0;
    padding:0;
    color:var(--we-button-color,#146ef5);
    background:transparent;
    border-color:transparent;
    border-radius:0;
}

.we-button--link:hover,
.we-button--link:focus {
    color:var(--we-button-hover-color,#0b56c7);
    background:transparent;
    text-decoration:underline;
}

.we-button__icon {
    width:1em;
    height:1em;
}

/* ==================================================
   FAQ
   ================================================== */

.we-faq {
    display:flex;
    flex-direction:column;
    gap:var(--we-faq-gap,12px);
}

.we-faq__item {
    overflow:hidden;
    background:var(--we-faq-answer-bg,#fff);
    border:1px solid var(--we-faq-border-color,#dbe3ef);
    border-radius:var(--we-faq-radius,10px);
}

.we-faq__question {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:18px 20px;
    color:var(--we-faq-question-color,#101828);
    font-weight:700;
    background:var(--we-faq-question-bg,#fff);
    cursor:pointer;
    list-style:none;
}

.we-faq__question::-webkit-details-marker {
    display:none;
}

.we-faq__toggle {
    position:relative;
    display:block;
    flex:0 0 18px;
    width:18px;
    height:18px;
}

.we-faq__toggle::before,
.we-faq__toggle::after {
    position:absolute;
    top:50%;
    left:50%;
    width:16px;
    height:2px;
    content:"";
    background:var(--we-faq-icon-color,#146ef5);
    border-radius:2px;
    transform:translate(-50%,-50%);
    transition:transform .2s ease;
}

.we-faq__toggle::after {
    transform:translate(-50%,-50%) rotate(90deg);
}

.we-faq__item[open] .we-faq__toggle::after {
    transform:translate(-50%,-50%) rotate(0deg);
}

.we-faq__answer {
    padding:0 20px 20px;
    color:var(--we-faq-answer-color,#475467);
    background:var(--we-faq-answer-bg,#fff);
}

.we-faq__answer > :first-child {
    margin-top:0;
}

.we-faq__answer > :last-child {
    margin-bottom:0;
}
