/*
Theme Name: dtthe7child
Author: Dream-Theme
Author URI: http://dream-theme.com/
Description: The7 is perfectly scalable, performance and SEO optimized, responsive, retina ready multipurpose WordPress theme. It will fit every site – big or small. From huge corporate portals to studio or personal sites – The7 will become a great foundation for your next project!
Version: 1.0.0
License: This WordPress theme is comprised of two parts: (1) The PHP code and integrated HTML are licensed under the GPL license as is WordPress itself.  You will find a copy of the license text in the same directory as this text file. Or you can read it here: http://wordpress.org/about/gpl/ (2) All other parts of the theme including, but not limited to the CSS code, images, and design are licensed according to the license purchased. Read about licensing details here: http://themeforest.net/licenses/regular_extended
Template: dt-the7
*/

/* Basis */
.rsk-form {
  --rsk-bg: #ffffff;
  --rsk-text: #1f2937;
  --rsk-muted: #6b7280;
  --rsk-border: #d1d5db;
  --rsk-border-focus: #2563eb;
  --rsk-error: #dc2626;
  --rsk-success: #16a34a;
  --rsk-radius: 10px;
  --rsk-height: 48px;
  --rsk-space: 14px;
  --rsk-shadow-focus: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.rsk-form,
.rsk-form * {
  box-sizing: border-box;
}

.rsk-form p {
  margin: 0 0 var(--rsk-space);
}

.rsk-form label {
  display: block;
  margin-bottom: 6px;
  font-weight: 600;
  color: var(--rsk-text);
  line-height: 1.4;
}

/* Standardfelder */
.rsk-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.rsk-form select,
.rsk-form textarea {
  width: 100%;
  border: 1px solid var(--rsk-border);
  border-radius: var(--rsk-radius);
  background: var(--rsk-bg);
  color: var(--rsk-text);
  padding: 0 14px;
  font-size: 16px;
  line-height: 1.5;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
  appearance: none;
}

/* Höhe für Input + Select */
.rsk-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.rsk-form select {
  min-height: var(--rsk-height);
}

/* Textarea */
.rsk-form textarea {
  min-height: 140px;
  padding: 14px;
  resize: vertical;
}

/* Placeholder */
.rsk-form ::placeholder {
  color: var(--rsk-muted);
  opacity: 1;
}

/* Fokus */
.rsk-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):focus,
.rsk-form select:focus,
.rsk-form textarea:focus {
  outline: none;
  border-color: var(--rsk-border-focus);
  box-shadow: var(--rsk-shadow-focus);
}

/* Select-Pfeil */
.rsk-form select {
  background-image:
    linear-gradient(45deg, transparent 50%, var(--rsk-muted) 50%),
    linear-gradient(135deg, var(--rsk-muted) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) calc(50% - 3px),
    calc(100% - 12px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 40px;
}

/* Checkbox / Radio */
.rsk-form input[type="checkbox"],
.rsk-form input[type="radio"] {
  margin-right: 8px;
  accent-color: var(--rsk-border-focus);
}

.rsk-form .wpcf7-list-item {
  display: block;
  margin: 0 0 8px;
}

.rsk-form .wpcf7-list-item-label {
  color: var(--rsk-text);
}

/* Submit */
.rsk-form input[type="submit"],
.rsk-form .wpcf7-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--rsk-height);
  padding: 0 22px;
  border: 0;
  border-radius: var(--rsk-radius);
  background: var(--rsk-border-focus);
  color: #fff;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: transform .15s ease, background-color .2s ease, opacity .2s ease;
}

.rsk-form input[type="submit"]:hover,
.rsk-form .wpcf7-submit:hover {
  background: #1d4ed8;
}

.rsk-form input[type="submit"]:active,
.rsk-form .wpcf7-submit:active {
  transform: translateY(1px);
}

.rsk-form input[type="submit"]:disabled,
.rsk-form .wpcf7-submit:disabled {
  opacity: .7;
  cursor: not-allowed;
}

/* CF7 Response / Validation */
.rsk-form .wpcf7-not-valid-tip {
  margin-top: 6px;
  font-size: 14px;
  color: var(--rsk-error);
}

.rsk-form .wpcf7-not-valid {
  border-color: var(--rsk-error) !important;
}

.rsk-form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: var(--rsk-radius);
  font-size: 15px;
  line-height: 1.5;
}

.rsk-form .wpcf7 form.invalid .wpcf7-response-output,
.rsk-form .wpcf7 form.unaccepted .wpcf7-response-output,
.rsk-form .wpcf7 form.failed .wpcf7-response-output {
  border: 1px solid rgba(220, 38, 38, .25);
  background: rgba(220, 38, 38, .08);
  color: var(--rsk-error);
}

.rsk-form .wpcf7 form.sent .wpcf7-response-output {
  border: 1px solid rgba(22, 163, 74, .25);
  background: rgba(22, 163, 74, .08);
  color: var(--rsk-success);
}

/* Spinner */
.rsk-form .wpcf7-spinner {
  margin: 10px 0 0 10px;
}

/* Mobile */
@media (max-width: 767px) {
  .rsk-form {
    --rsk-height: 46px;
    --rsk-radius: 8px;
  }

  .rsk-form input[type="submit"],
  .rsk-form .wpcf7-submit {
    width: 100%;
  }
}