/* ==========================================================================
   Restyle of the existing GoodLayers page-builder elements onto the new brand.
   These are the 13 mapped elements from REDESIGN-PLAN.md that had an adequate
   GDLR equivalent and needed no new PHP.

   This file loads last (see inc/enqueue.php), so plain specificity wins over
   the theme's generated uploads/confera-style-custom.css. No !important
   except where the plugin itself uses inline styles.
   ========================================================================== */

/* 08 Buttons ------------------------------------------------------------- */
.gdlr-core-button-item .gdlr-core-button,
.confera-body .gdlr-core-button {
  font-family: var(--kiez-display);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .01em;
  border-radius: var(--kiez-r);
  padding: 12px 26px;
  border: 2px solid transparent;
  background: var(--kiez-orange);
  color: var(--kiez-white);
  transition: all .3s;
}
.confera-body .gdlr-core-button:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
  box-shadow: 0 6px 24px rgba(236, 99, 41, .3);
  color: var(--kiez-white);
}
.confera-body .gdlr-core-button.gdlr-core-border-on-text {
  background: transparent;
  border-color: var(--kiez-violet);
  color: var(--kiez-violet);
}
.confera-body .gdlr-core-button.gdlr-core-border-on-text:hover {
  background: var(--kiez-violet-06);
  color: var(--kiez-violet);
}

/* 07 Alerts -------------------------------------------------------------- */
.gdlr-core-alert-box-item .gdlr-core-alert-box-item-inner {
  border-radius: var(--kiez-r);
  border-width: 1.5px;
  padding: 18px 22px;
}
.gdlr-core-alert-box-item .gdlr-core-alert-box-item-head {
  font-family: var(--kiez-display);
  font-size: 14px;
  font-weight: 700;
  color: var(--kiez-text-on-light);
}
.gdlr-core-alert-box-item .gdlr-core-alert-box-item-content { font-size: 14px; line-height: 1.5; }

/* 18 Accordion ----------------------------------------------------------- */
.gdlr-core-accordion-item .gdlr-core-accordion-item-tab { border-top: 1px solid var(--kiez-violet-15); }
.gdlr-core-accordion-item .gdlr-core-accordion-item-title {
  font-family: var(--kiez-display);
  font-size: 16px;
  font-weight: 700;
  color: var(--kiez-text-on-light);
  padding: 22px 4px;
}
.gdlr-core-accordion-item .gdlr-core-accordion-item-icon { color: var(--kiez-violet); }
.gdlr-core-accordion-item .gdlr-core-accordion-item-content {
  font-size: 14px;
  line-height: 1.6;
  color: var(--kiez-text-on-light);
}

/* 17 Tabs ---------------------------------------------------------------- */
.gdlr-core-tab-item .gdlr-core-tab-item-title {
  font-family: var(--kiez-display);
  font-size: 14px;
  font-weight: 700;
  color: var(--kiez-text-on-light-soft);
  padding: 18px 26px;
  border-bottom: 3px solid transparent;
}
.gdlr-core-tab-item .gdlr-core-tab-item-title.gdlr-core-active {
  color: var(--kiez-violet);
  border-bottom-color: var(--kiez-orange);
  background: var(--kiez-violet-06);
}
.gdlr-core-tab-item .gdlr-core-tab-item-title-wrap { border-bottom: 1.5px solid var(--kiez-violet-15); }

/* 05 Divider ------------------------------------------------------------- */
.gdlr-core-divider-item .gdlr-core-divider-line { border-color: var(--kiez-violet-25); }
.gdlr-core-divider-item .gdlr-core-divider-line-bold { border-top-width: 2px; }
/* Gradient + dotted variants from the component library, opt-in via a
   custom class on the builder block. */
.gdlr-core-divider-item.kiez-divider-gradient .gdlr-core-divider-line {
  border: none;
  height: 2px;
  background: linear-gradient(90deg, var(--kiez-orange), var(--kiez-violet), rgba(134, 53, 246, 0));
}
.gdlr-core-divider-item.kiez-divider-dotted .gdlr-core-divider-line {
  border-top: 2px dotted var(--kiez-violet-25);
}
.gdlr-core-divider-item.kiez-divider-accent .gdlr-core-divider-line {
  border: none;
  width: 64px;
  height: 4px;
  border-radius: 4px;
  background: linear-gradient(90deg, var(--kiez-orange), var(--kiez-violet));
}

/* 11 Blog ---------------------------------------------------------------- */
.gdlr-core-blog-grid,
.gdlr-core-blog-grid-with-frame {
  border-radius: var(--kiez-r);
  border-color: var(--kiez-violet-10);
}
.gdlr-core-blog-title,
.gdlr-core-blog-title a {
  font-family: var(--kiez-display);
  font-weight: 700;
  color: var(--kiez-violet);
  line-height: 1.3;
}
.gdlr-core-blog-info-wrapper .gdlr-core-blog-info,
.gdlr-core-blog-info-wrapper .gdlr-core-blog-info a {
  font-family: var(--kiez-display);
  font-size: 12px;
  font-weight: 700;
  color: var(--kiez-orange);
  letter-spacing: .04em;
}
.gdlr-core-blog-content { font-size: 14px; line-height: 1.55; color: var(--kiez-text-on-light-soft); }

/* 04 Columns / column-service -------------------------------------------- */
.gdlr-core-column-service-item .gdlr-core-column-service-title {
  font-family: var(--kiez-display);
  font-weight: 700;
  color: var(--kiez-violet);
}
.gdlr-core-column-service-item .gdlr-core-column-service-content {
  font-size: 15px;
  line-height: 1.5;
  color: var(--kiez-text-on-light);
}
.gdlr-core-column-service-item .gdlr-core-column-service-caption {
  font-family: var(--kiez-display);
  font-size: 12px;
  font-weight: 700;
  color: var(--kiez-orange);
  text-transform: uppercase;
  letter-spacing: .1em;
}

/* 14 Charts / skill bars / circles ---------------------------------------- */
.gdlr-core-skill-bar-item .gdlr-core-skill-bar-filled { background: var(--kiez-blue); border-radius: 5px; }
.gdlr-core-skill-bar-item .gdlr-core-skill-bar { background: var(--kiez-violet-10); border-radius: 5px; height: 10px; }
.gdlr-core-skill-bar-item .gdlr-core-skill-bar-title,
.gdlr-core-skill-circle-item .gdlr-core-skill-circle-title {
  font-family: var(--kiez-display);
  font-weight: 700;
  color: var(--kiez-text-on-light);
}

/* 15 Code + blockquote ---------------------------------------------------- */
.gdlr-core-code-item .gdlr-core-code-item-content {
  background: var(--kiez-purple);
  color: #EDE4FF;
  border-radius: var(--kiez-r);
  padding: 24px;
  font-size: 13.5px;
  line-height: 1.7;
}
.gdlr-core-blockquote-item .gdlr-core-blockquote-item-content {
  font-family: var(--kiez-display);
  font-weight: 700;
  color: var(--kiez-violet);
  line-height: 1.35;
}

/* 16 Audio --------------------------------------------------------------- */
.gdlr-core-audio-item .mejs-container,
.gdlr-core-audio-item audio { border-radius: var(--kiez-r); overflow: hidden; }

/* 12 Images -------------------------------------------------------------- */
.gdlr-core-image-item .gdlr-core-image-item-wrap { border-radius: var(--kiez-r); overflow: hidden; }
.gdlr-core-image-item img { transition: transform .6s cubic-bezier(.22, 1, .36, 1); }
.gdlr-core-image-item .gdlr-core-image-item-wrap:hover img { transform: scale(1.06); }
.gdlr-core-image-item .gdlr-core-image-item-title {
  font-family: var(--kiez-display);
  font-weight: 700;
  color: var(--kiez-text-on-light);
}

/* Titles ----------------------------------------------------------------- */
.gdlr-core-title-item .gdlr-core-title-item-title {
  font-family: var(--kiez-display);
  font-weight: 700;
  letter-spacing: -.025em;
  color: var(--kiez-violet);
}
.gdlr-core-title-item .gdlr-core-title-item-caption {
  font-family: var(--kiez-display);
  font-size: 12px;
  font-weight: 700;
  color: var(--kiez-orange);
  text-transform: uppercase;
  letter-spacing: .15em;
}

/* 09 Forms — Contact Form 7 ("Kontaktformular", id 12355) ----------------- */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 textarea,
.wpcf7 select {
  font-family: var(--kiez-body);
  font-size: 14px;
  padding: 13px 18px;
  border-radius: var(--kiez-r);
  border: 1.5px solid var(--kiez-violet-15);
  background: var(--kiez-white);
  color: var(--kiez-text-on-light);
  outline: none;
}
.wpcf7 input:focus-visible,
.wpcf7 textarea:focus-visible,
.wpcf7 select:focus-visible {
  border-color: var(--kiez-violet);
  box-shadow: 0 0 0 3px rgba(240, 200, 8, .35);
}
.wpcf7 input[type="submit"] {
  font-family: var(--kiez-display);
  font-size: 14px;
  font-weight: 700;
  padding: 13px 26px;
  border-radius: var(--kiez-r);
  background: var(--kiez-orange);
  color: var(--kiez-white);
  border: none;
  cursor: pointer;
}
.wpcf7 .wpcf7-not-valid-tip { color: #B8431A; font-size: 13px; }
.wpcf7-response-output { border-radius: var(--kiez-r); border-width: 1.5px; font-size: 14px; }

/* Newsletter plugin forms ------------------------------------------------- */
.tnp-subscription input[type="text"],
.tnp-subscription input[type="email"],
.tnp-subscription select {
  font-family: var(--kiez-body);
  border-radius: var(--kiez-r);
  border: 1.5px solid var(--kiez-violet-15);
  padding: 13px 18px;
}
.tnp-subscription input[type="submit"] {
  font-family: var(--kiez-display);
  font-weight: 700;
  border-radius: var(--kiez-r);
  background: var(--kiez-orange);
  color: var(--kiez-white);
  border: none;
  padding: 13px 26px;
  cursor: pointer;
}
/* On the dark CTA band the fields sit on purple. */
.kiez-cta .tnp-subscription input[type="text"],
.kiez-cta .tnp-subscription input[type="email"] {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .2);
  color: var(--kiez-text-on-dark);
}
.kiez-cta .tnp-subscription input::placeholder { color: var(--kiez-text-on-dark-soft); opacity: 1; }

/* Header, nav and footer chrome ------------------------------------------- *
   The old brand used teal #3dbca8 for THREE separate surfaces — header
   background, footer and copyright bar. Remapping teal to violet turned all
   three a glaring #8635F6. Violet is an accent, not a surface colour.

   These surfaces take the dark brand purple instead: the theme already paints
   nav and footer text white, and #FFFFFF on #3C1F66 is 13.29:1. (wcg.htm makes
   the scrolled nav near-white, but that would strand every white nav label, so
   purple is the safe equivalent until the header is rebuilt properly.)
   Selectors mirror uploads/confera-style-custom.css exactly; ours loads later,
   so equal specificity wins.                                                 */

.confera-header-background,
.confera-sticky-menu-placeholder,
.confera-header-style-boxed.confera-fixed-navigation,
body.single-product .confera-header-background-transparent {
  background-color: var(--kiez-purple);
}

.confera-footer-wrapper { background-color: var(--kiez-purple); }
.confera-copyright-wrapper { background-color: #2B1549; }

/* Footer body copy: #dddddd on purple is 9.4:1, but use the brand token so
   every dark surface reads identically. */
.confera-footer-wrapper { color: var(--kiez-text-on-dark-soft); }

/* Nav hover/active picks up the brand accent. */
.confera-main-menu > .menu-item > a:hover,
.confera-main-menu > .menu-item.current-menu-item > a {
  color: var(--kiez-orange);
}

/* Global link treatment --------------------------------------------------- */
.confera-body a { transition: color .25s; }
