/* VIZIM CF7 Block Editor – frontend */
.vizim-cf7-row{box-sizing:border-box;width:100%;max-width:var(--vizim-row-max-width,none);margin-left:auto;margin-right:auto;margin-bottom:var(--vizim-row-margin-bottom,var(--vizim-global-row-margin-bottom,var(--vizim-row-gap,20px)));padding:var(--vizim-row-padding-top,var(--vizim-global-row-padding-y,0)) var(--vizim-row-padding-right,var(--vizim-global-row-padding-x,0)) var(--vizim-row-padding-bottom,var(--vizim-global-row-padding-y,0)) var(--vizim-row-padding-left,var(--vizim-global-row-padding-x,0));background:var(--vizim-row-bg,transparent);border:var(--vizim-row-border-width,0) solid var(--vizim-row-border-color,transparent);border-radius:var(--vizim-row-radius,0);min-width:0}
.vizim-cf7-row:last-child{margin-bottom:0}
.vizim-cf7-grid{display:grid;grid-template-columns:repeat(var(--vizim-cols-desktop,3),minmax(0,1fr));gap:var(--vizim-grid-gap,20px);align-items:start;min-width:0}
.vizim-cf7-columns{display:grid;grid-template-columns:var(--vizim-columns-desktop,1fr 1fr);gap:var(--vizim-columns-gap-desktop,20px);align-items:var(--vizim-columns-align,start);min-width:0}
.vizim-cf7-column{display:flex;flex-direction:column;min-width:0;padding:var(--vizim-column-padding,0);align-self:var(--vizim-column-align,stretch)}
.vizim-cf7-column>.vizim-cf7-field:last-child{margin-bottom:0}
.vizim-cf7-group{display:flex;flex-direction:column;gap:var(--vizim-row-gap,20px);min-width:0}

/* Pole + label */
.vizim-cf7-field{display:flex;flex-direction:column;gap:var(--vizim-field-gap,8px);min-width:0;width:var(--vizim-field-object-width,var(--vizim-global-field-object-width,100%));max-width:100%;margin-top:0;margin-bottom:var(--vizim-field-margin-bottom,var(--vizim-row-gap,20px));margin-left:var(--vizim-field-object-margin-left,var(--vizim-global-field-object-margin-left,0));margin-right:var(--vizim-field-object-margin-right,var(--vizim-global-field-object-margin-right,auto));box-sizing:border-box}
.vizim-cf7-field:where(fieldset){border:0;padding:0;min-inline-size:0}
.vizim-cf7-field>legend{padding:0;width:100%;margin:0 0 var(--vizim-label-margin-bottom,var(--vizim-global-label-margin-bottom,0))}
.vizim-cf7-field>label{display:flex;flex-direction:column;gap:var(--vizim-field-gap,8px);min-width:0;max-width:100%;margin:0}
.vizim-cf7-field .wpcf7-form-control-wrap{display:block;max-width:100%}
.vizim-cf7-field .vizim-cf7-label-text,
.vizim-cf7-field>legend.vizim-cf7-label{display:block;color:var(--vizim-label-color,var(--vizim-global-label-color,#1d2327));font-size:var(--vizim-label-font-size,var(--vizim-global-label-font-size,16px));font-weight:var(--vizim-label-font-weight,var(--vizim-global-label-font-weight,500));line-height:var(--vizim-label-line-height,var(--vizim-global-label-line-height,1.4));letter-spacing:var(--vizim-label-letter-spacing,var(--vizim-global-label-letter-spacing,0));text-align:var(--vizim-label-text-align,var(--vizim-global-label-text-align,left));text-transform:var(--vizim-label-text-transform,var(--vizim-global-label-text-transform,none));margin:0 0 var(--vizim-label-margin-bottom,var(--vizim-global-label-margin-bottom,0))}
.vizim-cf7-field.vizim-label-inline:not(fieldset){display:flex;flex-direction:column}
.vizim-cf7-field.vizim-label-inline:not(fieldset)>label{display:grid;grid-template-columns:minmax(80px,var(--vizim-label-inline-width,var(--vizim-global-label-inline-width,180px))) minmax(0,1fr);align-items:center;gap:var(--vizim-field-gap,8px)}
.vizim-cf7-field.vizim-label-inline:not(fieldset)>label>.vizim-cf7-label-text{margin-bottom:0}
.vizim-cf7-field.vizim-label-inline:where(fieldset){display:grid;grid-template-columns:minmax(80px,var(--vizim-label-inline-width,var(--vizim-global-label-inline-width,180px))) minmax(0,1fr);align-items:start;column-gap:var(--vizim-field-gap,8px)}
.vizim-cf7-field.vizim-label-inline:where(fieldset)>legend{margin-bottom:0}
.vizim-cf7-field.vizim-label-inline:where(fieldset)>.wpcf7-form-control{grid-column:2}
.vizim-cf7-field.vizim-label-inline:where(fieldset)>.vizim-cf7-help{grid-column:2}
.vizim-cf7-field .vizim-cf7-help{display:block;font-size:.9em;color:var(--vizim-help-color,var(--vizim-global-help-color,#646970));opacity:1}

/* Input / select / textarea */
.vizim-cf7-field .vizim-cf7-control:not(.wpcf7-checkbox):not(.wpcf7-radio):not(.wpcf7-acceptance){width:100%;max-width:100%;min-height:var(--vizim-control-min-height,var(--vizim-global-control-min-height,44px));box-sizing:border-box;color:var(--vizim-control-color,var(--vizim-global-control-color,#1d2327));background-color:var(--vizim-control-bg,var(--vizim-global-control-bg,#fff));border:var(--vizim-control-border-width,var(--vizim-global-control-border-width,1px)) solid var(--vizim-control-border-color,var(--vizim-global-control-border-color,#c3c4c7));border-radius:var(--vizim-control-radius,var(--vizim-global-control-radius,6px));padding:var(--vizim-control-padding-y,var(--vizim-global-control-padding-y,10px)) var(--vizim-control-padding-x,var(--vizim-global-control-padding-x,12px));font-size:var(--vizim-control-font-size,var(--vizim-global-control-font-size,16px));line-height:1.35;outline:0;box-shadow:none;transition:border-color var(--vizim-global-control-transition,150ms) ease,box-shadow var(--vizim-global-control-transition,150ms) ease,background-color var(--vizim-global-control-transition,150ms) ease}
.vizim-cf7-field textarea.vizim-cf7-control{min-height:var(--vizim-textarea-min-height,var(--vizim-global-textarea-min-height,120px));resize:vertical}
.vizim-cf7-field .vizim-cf7-control::placeholder{color:var(--vizim-control-placeholder-color,var(--vizim-global-control-placeholder-color,#8c8f94));opacity:1}
.vizim-cf7-field .vizim-cf7-control:not(.wpcf7-checkbox):not(.wpcf7-radio):not(.wpcf7-acceptance):focus{border-color:var(--vizim-control-focus-border,var(--vizim-global-control-focus-border,#2271b1));box-shadow:0 0 0 var(--vizim-control-focus-shadow-width,var(--vizim-global-control-focus-shadow-width,3px)) var(--vizim-control-focus-shadow,var(--vizim-global-control-focus-shadow,#dbeafe))}

/* Checkbox / radio / acceptance */
.vizim-cf7-field .wpcf7-checkbox,
.vizim-cf7-field .wpcf7-radio,
.vizim-cf7-field .wpcf7-acceptance{display:flex;flex-direction:var(--vizim-choice-list-direction,var(--vizim-global-choice-list-direction,column));flex-wrap:wrap;gap:var(--vizim-choice-item-gap,var(--vizim-global-choice-item-gap,10px));min-width:0}
.vizim-cf7-field .wpcf7-list-item{display:block;margin:0!important;padding:0;min-width:0}
.vizim-cf7-field .wpcf7-list-item>label,
.vizim-cf7-field .wpcf7-acceptance label{display:flex;flex-direction:var(--vizim-choice-item-direction,var(--vizim-global-choice-item-direction,row));align-items:var(--vizim-choice-align-items,var(--vizim-global-choice-align-items,center));justify-content:flex-start;gap:var(--vizim-choice-control-text-gap,var(--vizim-global-choice-control-text-gap,8px));min-height:var(--vizim-choice-hit-area-min-height,var(--vizim-global-choice-hit-area-min-height,32px));padding:var(--vizim-choice-item-padding-y,var(--vizim-global-choice-item-padding-y,2px)) var(--vizim-choice-item-padding-x,var(--vizim-global-choice-item-padding-x,0));margin:0;box-sizing:border-box;cursor:pointer;color:var(--vizim-choice-text-color,var(--vizim-global-choice-text-color,#1d2327));font-size:var(--vizim-choice-font-size,var(--vizim-global-choice-font-size,16px));font-weight:var(--vizim-choice-font-weight,var(--vizim-global-choice-font-weight,400));line-height:1.35}
.vizim-cf7-field input[type="checkbox"],
.vizim-cf7-field input[type="radio"]{inline-size:var(--vizim-choice-control-size,var(--vizim-global-choice-control-size,18px));block-size:var(--vizim-choice-control-size,var(--vizim-global-choice-control-size,18px));min-inline-size:var(--vizim-choice-control-size,var(--vizim-global-choice-control-size,18px));flex:0 0 var(--vizim-choice-control-size,var(--vizim-global-choice-control-size,18px));margin:0;accent-color:var(--vizim-control-accent,var(--vizim-global-control-accent,#2271b1));cursor:pointer}
.vizim-cf7-field .wpcf7-list-item-label{color:inherit;font:inherit;line-height:inherit}

.vizim-cf7-submit-wrap{display:flex;margin-top:var(--vizim-row-gap,20px)}
.vizim-cf7-submit-wrap.align-left{justify-content:flex-start}.vizim-cf7-submit-wrap.align-center{justify-content:center}.vizim-cf7-submit-wrap.align-right{justify-content:flex-end}
.vizim-cf7-submit-wrap.width-full .wpcf7-submit{width:100%}
.vizim-cf7-submit-wrap .wpcf7-submit{box-sizing:border-box;color:var(--vizim-button-color,var(--vizim-global-button-color,#fff));background:var(--vizim-button-bg,var(--vizim-global-button-bg,#2271b1));border:var(--vizim-button-border-width,var(--vizim-global-button-border-width,1px)) solid var(--vizim-button-border-color,var(--vizim-global-button-border-color,#2271b1));border-radius:var(--vizim-button-radius,var(--vizim-global-button-radius,6px));padding:var(--vizim-button-padding-y,var(--vizim-global-button-padding-y,12px)) var(--vizim-button-padding-x,var(--vizim-global-button-padding-x,22px));font-size:var(--vizim-button-font-size,var(--vizim-global-button-font-size,16px));font-weight:var(--vizim-button-font-weight,var(--vizim-global-button-font-weight,500));line-height:1.2;cursor:pointer;transition:background-color var(--vizim-global-control-transition,150ms) ease,border-color var(--vizim-global-control-transition,150ms) ease,box-shadow var(--vizim-global-control-transition,150ms) ease}
.vizim-cf7-submit-wrap .wpcf7-submit:hover{background:var(--vizim-button-hover-bg,var(--vizim-global-button-hover-bg,#135e96))}
.vizim-cf7-submit-wrap .wpcf7-submit:focus-visible{outline:0;box-shadow:0 0 0 var(--vizim-button-focus-shadow-width,var(--vizim-global-button-focus-shadow-width,3px)) var(--vizim-button-focus-shadow,var(--vizim-global-button-focus-shadow,#dbeafe))}
.vizim-cf7-submit-wrap .wpcf7-submit:disabled{cursor:not-allowed;opacity:.65}

.vizim-cf7-spacer{display:block}

/* Natywne wiersze Gutenberg używane przez builder od 1.2.0. */
.wpcf7 .wp-block-columns{display:flex;box-sizing:border-box;flex-wrap:nowrap;align-items:normal;gap:var(--vizim-row-gap,20px);margin:0 0 var(--vizim-row-gap,20px)}
.wpcf7 .wp-block-column{flex-grow:1;min-width:0;overflow-wrap:break-word;word-break:break-word}
@media (max-width:767px){.wpcf7 .wp-block-columns:not(.is-not-stacked-on-mobile){flex-wrap:wrap}.wpcf7 .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important}}
