.gcl-form {
	--gcl-f-primary: #e3335a;
	--gcl-f-primary-hover: #c92a50;
	--gcl-f-text: #333333;
	--gcl-f-text-muted: #555555;
	--gcl-f-border: #E0E0E0;
	--gcl-f-bg: #FFFFFF;
	--gcl-f-bg-muted: #F4F4F4;
	--gcl-f-radius: 8px;
	--gcl-f-font: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
	--gcl-f-space: 1rem;      /* odstęp między polami */
	--gcl-f-label-gap: 0.375rem; /* odstęp label – input */
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
  }
  
  .gcl-form {
	--gcl-f-primary: #e3335a;
	--gcl-f-primary-hover: #c92a50;
	--gcl-f-text: #333333;
	--gcl-f-text-muted: #555555;
	--gcl-f-border: #E0E0E0;
	--gcl-f-bg: #FFFFFF;
	--gcl-f-bg-muted: #F4F4F4;
	--gcl-f-radius: 8px;
	--gcl-f-font: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
	--gcl-f-space: 1rem;
	--gcl-f-label-gap: 0.375rem;
	font-family: var(--gcl-f-font);
	color: var(--gcl-f-text);
	max-width: 100%;
  }
  
  /* Kontener pola */
  .gcl-form .gcl-field {
	margin-bottom: var(--gcl-f-space);
  }
  
  .gcl-form .gcl-field:last-of-type {
	margin-bottom: 0;
  }
  
  /* Label */
  .gcl-form .gcl-label {
	display: block;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.3;
	margin-bottom: var(--gcl-f-label-gap);
	color: var(--gcl-f-text);
  }
  
  .gcl-form .gcl-required {
	color: var(--gcl-f-primary);
  }
  
  .gcl-form .gcl-optional {
	font-weight: 400;
	color: var(--gcl-f-text-muted);
  }
  
  /* Opakowanie inputa (CF7 dodaje .wpcf7-form-control-wrap) */
  .gcl-form .gcl-field .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
  }
  
  /* Pola tekstowe + textarea (klasy z shortcode: gcl-input, gcl-textarea) */
  .gcl-form .gcl-input,
  .gcl-form .gcl-textarea,
  .gcl-form input[type="text"],
  .gcl-form input[type="email"],
  .gcl-form input[type="tel"],
  .gcl-form textarea {
	width: 100%;
	min-height: 48px;
	padding: 12px 16px;
	border: 1px solid var(--gcl-f-border);
	border-radius: var(--gcl-f-radius);
	font-family: var(--gcl-f-font);
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.4;
	color: var(--gcl-f-text);
	background: var(--gcl-f-bg);
	box-sizing: border-box;
	outline: none;
	transition: border-color 0.2s ease;
  }

  .gcl-form input[type="text"]::placeholder,
  .gcl-form input[type="email"]::placeholder,
  .gcl-form input[type="tel"]::placeholder {
	  font-size: 12px;
	  opacity: 0.8;
  }
  
  .gcl-form .gcl-textarea,
  .gcl-form textarea {
	min-height: 120px;
	resize: vertical;
  }
  
  .gcl-form .gcl-input::placeholder,
  .gcl-form .gcl-textarea::placeholder,
  .gcl-form input::placeholder,
  .gcl-form textarea::placeholder {
	color: var(--gcl-f-text-muted);
  }
  
  .gcl-form .gcl-input:focus,
  .gcl-form .gcl-textarea:focus,
  .gcl-form input:focus,
  .gcl-form textarea:focus {
	border-color: var(--gcl-f-primary);
  }
  

  
  /* Zgoda RODO – checkbox + tekst */
  .gcl-form .gcl-field--consent {
	margin-top: 0.5rem;
	margin-bottom: var(--gcl-f-space);
  }
  
  .gcl-form .gcl-consent {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	cursor: pointer;
	font-size: 0.8125rem;
	line-height: 1.4;
	color: var(--gcl-f-text);
  }
  
  .gcl-form .gcl-consent__input {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	margin: 0;
	margin-top: 2px;
	border: 1px solid var(--gcl-f-border);
	border-radius: 4px;
	background: var(--gcl-f-bg);
	appearance: none;
	cursor: pointer;
	position: relative;
	transition: border-color 0.2s, background 0.2s;
  }
  
  .gcl-form .gcl-consent__input:checked {
	background: var(--gcl-f-primary);
	border-color: var(--gcl-f-primary);
  }
  
  .gcl-form .gcl-consent__input:checked::after {
	content: '';
	position: absolute;
	left: 6px;
	top: 2px;
	width: 6px;
	height: 10px;
	border: solid white;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
  }
  
  .gcl-form .gcl-consent__input:focus-visible {
	outline: 2px solid var(--gcl-f-primary);
	outline-offset: 2px;
  }
  
  .gcl-form .gcl-consent__text {
	flex: 1;
  }
  
  .gcl-form .gcl-consent .gcl-link {
	color: var(--gcl-f-primary);
	text-decoration: underline;
  }
  
  .gcl-form .gcl-consent .gcl-link:hover {
	color: var(--gcl-f-primary-hover);
  }
  
  /* Przycisk submit */
  .gcl-form .gcl-actions {
	margin-top: 1.25rem;
  }
  
  .gcl-form .gcl-btn--primary,
  .gcl-form input[type="submit"] {
	display: inline-block;
	width: 100%;
	min-height: 48px;
	padding: 14px 24px;
	border: none;
	border-radius: var(--gcl-f-radius);
	font-family: var(--gcl-f-font);
	font-size: 0.9375rem;
	font-weight: 600;
	color: #fff;
	background: var(--gcl-f-primary);
	cursor: pointer;
	transition: background 0.2s ease;
  }
  
  .gcl-form .gcl-btn--primary:hover,
  .gcl-form input[type="submit"]:hover {
	background: var(--gcl-f-primary-hover);
  }
  
  .gcl-form .gcl-btn--primary:focus-visible,
  .gcl-form input[type="submit"]:focus-visible {
	outline: 2px solid var(--gcl-f-primary);
	outline-offset: 2px;
  }
  
  /* Komunikat odpowiedzi CF7 */
  .gcl-form .gcl-response {
	/* margin-top: 1rem; */
	}

.wpcf7 form.sent .wpcf7-response-output {
    border: none;
    text-align: center;
    margin: 0;
}
  
  .gcl-form .wpcf7-response-output {
	margin: 0;
	padding: 12px 16px;
	border-radius: var(--gcl-f-radius);
	font-size: 0.875rem;
	border: 1px solid var(--gcl-f-border);
  }
  
  .gcl-form .wpcf7-mail-sent-ok {
	border-color: #00B812;
	background: rgba(0, 184, 18, 0.08);
	color: var(--gcl-f-text);
  }
  
  .gcl-form .wpcf7-validation-errors,
  .gcl-form .wpcf7-mail-sent-ng {
	border-color: var(--gcl-f-primary);
	background: rgba(227, 51, 90, 0.06);
	color: var(--gcl-f-text);
  }
  
  /* Ukrycie spinnera CF7 (opcjonalnie) */
  .gcl-form .wpcf7-spinner {
	display: none;
  }
  
  /* ========== RWD ========== */
  @media (max-width: 640px) {
	.gcl-form .gcl-input,
	.gcl-form .gcl-textarea,
	.gcl-form input[type="text"],
	.gcl-form input[type="email"],
	.gcl-form input[type="tel"],
	.gcl-form textarea {
	  min-height: 48px; /* wygodny dotyk */
	}
  
	.gcl-form .gcl-consent {
	  gap: 0.5rem;
	}
  
	.gcl-form .gcl-actions {
	  margin-top: 1rem;
	}
  }
  
  .gcl-row br {
	  display: none;
  }

  .wpcf7-not-valid-tip {
    font-size: 14px;
}