/*
 Theme Name:   Kadence Child
 Theme URI:    https://k-display.de
 Description:  Child Theme für Kadence – TeraPrint / K-Werbetechnik
 Author:       K-Werbetechnik
 Author URI:   https://k-werbetechnik.de
 Template:     kadence
 Version:      1.0.0
 Text Domain:  kadence-child
*/

/* ================================================================
   GLOBAL DESIGN SYSTEM — K-Werbetechnik / K-Display
   ================================================================ */

:root {
  /* Brand Colors */
  --kw-blue: #337ab7;
  --kw-blue-light: #edf4fb;
  --kw-blue-dark: #2a6396;
  --kw-orange: #f36f21;
  --kw-orange-light: #fff4ed;
  --kw-dark: #2d2d2d;

  /* Neutral Palette */
  --kw-gray-50: #fafafa;
  --kw-gray-100: #f5f5f5;
  --kw-gray-200: #e8e8e8;
  --kw-gray-300: #d5d5d5;
  --kw-gray-400: #b0b0b0;
  --kw-gray-500: #8a8a8a;
  --kw-gray-600: #6a6a6a;
  --kw-gray-700: #4a4a4a;

  /* Semantic Colors */
  --kw-success: #2e9e45;
  --kw-success-light: #e8f5ec;
  --kw-error: #dc3545;
  --kw-warning: #fdcb6e;
}

/* ================================================================
   TYPOGRAPHY
   ================================================================ */

body {
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--kw-dark);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  color: var(--kw-dark);
}

a {
  color: var(--kw-blue);
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover {
  color: var(--kw-blue-dark);
}

/* ================================================================
   HEADER & NAVIGATION
   ================================================================ */

.site-header {
  border-bottom: 3px solid var(--kw-blue);
}

.main-navigation a:hover,
.main-navigation .current-menu-item > a {
  color: var(--kw-orange);
}

/* ================================================================
   BUTTONS
   ================================================================ */

.wp-block-button__link,
.button,
button[type="submit"],
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: var(--kw-blue);
  color: #fff;
  border: none;
  border-radius: 4px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 14px;
  padding: 10px 24px;
  transition: all 0.2s ease;
  cursor: pointer;
}

.wp-block-button__link:hover,
.button:hover,
button[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background: var(--kw-blue-dark);
  color: #fff;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background: var(--kw-orange);
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: #e0601a;
}

/* ================================================================
   WOOCOMMERCE GENERAL
   ================================================================ */

.woocommerce .price,
.woocommerce p.price {
  color: var(--kw-blue);
  font-weight: 700;
}

.woocommerce .onsale {
  background: var(--kw-orange);
  color: #fff;
  font-weight: 700;
  border-radius: 4px;
}

.woocommerce .woocommerce-message {
  border-top-color: var(--kw-success);
}

.woocommerce .woocommerce-error {
  border-top-color: var(--kw-error);
}

/* ================================================================
   PRODUCT PAGE — 3-SPALTEN LAYOUT
   ================================================================ */

.single-product .product {
  max-width: 1340px;
  margin: 0 auto;
}

/* ================================================================
   TERAPRINT V2 CONFIGURATOR STYLES
   ================================================================ */

.tp2-configurator {
  --tp2-accent: #6c5ce7;
  --tp2-accent-light: #a29bfe;
  --tp2-accent-dark: #5241c5;
  --tp2-bg: #ffffff;
  --tp2-bg-alt: #f8f9fa;
  --tp2-border: #e2e8f0;
  --tp2-text: #1a202c;
  --tp2-text-muted: #718096;
  --tp2-success: #00b894;
  --tp2-warning: #fdcb6e;
  --tp2-error: #d63031;
  --tp2-radius: 8px;
  --tp2-shadow: 0 1px 3px rgba(0,0,0,0.08);
  --tp2-shadow-lg: 0 4px 16px rgba(0,0,0,0.12);
  --tp2-transition: 0.2s ease;
  --tp2-font: inherit;

  font-family: var(--tp2-font);
  color: var(--tp2-text);
  font-size: 14px;
  line-height: 1.5;
  max-width: 720px;
}

.tp2-configurator *,
.tp2-configurator *::before,
.tp2-configurator *::after {
  box-sizing: border-box;
}

/* Loading */
.tp2-loading {
  text-align: center;
  padding: 48px 16px;
  color: var(--tp2-text-muted);
}

.tp2-loading-spinner {
  width: 32px; height: 32px;
  border: 3px solid var(--tp2-border);
  border-top-color: var(--tp2-accent);
  border-radius: 50%;
  animation: tp2-spin 0.7s linear infinite;
  margin: 0 auto 12px;
}

@keyframes tp2-spin { to { transform: rotate(360deg); } }

.tp2-error { color: var(--tp2-error); padding: 16px; }

/* Info Bar */
.tp2-info-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 0;
  margin-bottom: 16px;
  border-bottom: 1px solid var(--tp2-border);
}

.tp2-info-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: var(--tp2-bg-alt);
  border-radius: 20px;
  font-size: 14px;
  white-space: nowrap;
}

.tp2-badge-icon { font-size: 18px; }
.tp2-badge-text strong { font-weight: 600; }

/* Staffel Badges */
.tp2-staffel-bar {
  display: flex;
  gap: 8px;
  padding: 12px 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  margin-bottom: 16px;
}

.tp2-staffel-bar::-webkit-scrollbar { display: none; }

.tp2-staffel-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 8px 16px;
  border: 2px solid var(--tp2-border);
  border-radius: var(--tp2-radius);
  background: var(--tp2-bg);
  cursor: pointer;
  transition: all var(--tp2-transition);
  font-size: 14px;
  white-space: nowrap;
  flex-shrink: 0;
}

.tp2-staffel-badge:hover {
  border-color: var(--tp2-accent);
}

.tp2-staffel-badge--active {
  border-color: var(--tp2-accent);
  background: rgba(108, 92, 231, 0.05);
  box-shadow: 0 0 0 1px var(--tp2-accent);
}

/* Step Sections */
.tp2-step {
  border-bottom: 1px solid var(--tp2-border);
  padding: 16px 0;
}

.tp2-step-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.tp2-step-title {
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  display: flex;
  align-items: center;
}

.tp2-step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  background: var(--kw-blue);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  margin-right: 8px;
  border-radius: 4px;
  flex-shrink: 0;
}

/* Option Buttons (Cards / Pills) */
.tp2-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tp2-option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border: 1px solid var(--tp2-border);
  border-radius: var(--tp2-radius);
  background: var(--tp2-bg);
  cursor: pointer;
  transition: all var(--tp2-transition);
  font-size: 14px;
}

.tp2-option:hover {
  border-color: var(--tp2-accent);
  background: rgba(108, 92, 231, 0.03);
}

.tp2-option--selected {
  border-color: var(--tp2-accent);
  background: rgba(108, 92, 231, 0.06);
  box-shadow: 0 0 0 1px var(--tp2-accent);
  font-weight: 600;
}

.tp2-option-icon { font-size: 24px; }

.tp2-option-surcharge {
  font-size: 12px;
  color: var(--tp2-text-muted);
  margin-left: auto;
}

/* Dimension Input */
.tp2-dim-group {
  display: flex;
  align-items: flex-end;
  gap: 12px;
}

.tp2-dim-field { flex: 1; }

.tp2-dim-label {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: var(--tp2-text-muted);
  margin-bottom: 4px;
}

.tp2-dim-input-wrap {
  display: flex;
  border: 1px solid var(--tp2-border);
  border-radius: var(--tp2-radius);
  overflow: hidden;
}

.tp2-dim-btn {
  width: 40px;
  border: none;
  background: var(--tp2-bg-alt);
  font-size: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--tp2-text);
  transition: background var(--tp2-transition);
}

.tp2-dim-btn:hover {
  background: var(--tp2-border);
}

.tp2-dim-input {
  flex: 1;
  border: none;
  padding: 10px 8px;
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  width: 80px;
  outline: none;
  font-family: inherit;
}

.tp2-dim-separator {
  font-size: 24px;
  color: var(--tp2-text-muted);
  padding-bottom: 8px;
}

.tp2-dim-area {
  margin-top: 8px;
  font-size: 14px;
  color: var(--tp2-text-muted);
}

/* Price Display */
.tp2-price-bar {
  position: sticky;
  bottom: 0;
  background: var(--tp2-bg);
  border-top: 2px solid var(--tp2-border);
  padding: 16px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.tp2-price-total {
  font-size: 28px;
  font-weight: 900;
  color: var(--kw-blue);
}

.tp2-price-unit {
  font-size: 14px;
  color: var(--tp2-text-muted);
  font-weight: 400;
}

.tp2-cart-btn {
  padding: 14px 32px;
  background: var(--kw-orange);
  color: #fff;
  border: none;
  border-radius: var(--tp2-radius);
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s ease;
  white-space: nowrap;
}

.tp2-cart-btn:hover {
  background: #e0601a;
}

.tp2-cart-btn--added {
  background: var(--tp2-success);
}

/* Upload Zone */
.tp2-upload-zone {
  border: 2px dashed var(--tp2-border);
  border-radius: var(--tp2-radius);
  padding: 32px 16px;
  text-align: center;
  cursor: pointer;
  transition: all var(--tp2-transition);
}

.tp2-upload-zone:hover,
.tp2-upload-zone--dragover {
  border-color: var(--tp2-accent);
  background: rgba(108, 92, 231, 0.03);
}

.tp2-upload-icon { font-size: 32px; margin-bottom: 8px; }

.tp2-upload-text {
  font-size: 14px;
  color: var(--tp2-text-muted);
}

.tp2-upload-text strong {
  color: var(--tp2-accent);
}

/* Konfigurator Header */
.konf-header {
  background: var(--kw-blue);
  color: #fff;
  padding: 8px 16px;
}

.konf-header h2 {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0;
}

/* Info Bar im Konfigurator */
.konf-info-bar {
  display: flex;
  justify-content: center;
  gap: 0;
  border-bottom: 1px solid var(--kw-gray-200);
  background: var(--kw-gray-50);
  padding: 8px 16px;
}

.konf-info-item {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 20px;
  border-right: 1px solid var(--kw-gray-200);
}

.konf-info-item:last-child { border-right: none; }

.konf-info-label {
  font-size: 10px;
  color: var(--kw-gray-400);
  font-weight: 500;
}

.konf-info-value {
  font-size: 12px;
  font-weight: 500;
  color: var(--kw-gray-700);
}

/* Express Toggle */
.tp2-express-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: var(--kw-orange-light);
  border: 1px solid var(--kw-orange);
  border-radius: var(--tp2-radius);
  cursor: pointer;
  font-size: 14px;
}

/* ================================================================
   RESPONSIVE
   ================================================================ */

@media (max-width: 1100px) {
  .single-product .product {
    display: flex;
    flex-direction: column;
  }

  .tp2-configurator {
    max-width: 100%;
  }
}

@media (max-width: 600px) {
  .tp2-options {
    flex-direction: column;
  }

  .tp2-dim-group {
    flex-direction: column;
    gap: 8px;
  }

  .tp2-price-bar {
    flex-direction: column;
    text-align: center;
  }

  .tp2-cart-btn {
    width: 100%;
  }
}

/* ================================================================
   KATEGORIESEITE KLEBEFOLIEN – Optimierungen
   ================================================================ */

/* === Aufgabe 2: CTA-Buttons Orange === */
.category-wrapper-pro .pro-btn {
    background: #f36f21 !important;
    color: #fff !important;
    border-radius: 0 !important;
}

.category-wrapper-pro .pro-card:hover .pro-btn {
    background: #d8601a !important;
}

/* ===== TERAPRINT UNTERNEHMEN ===== */
.tp-usp-card, .tp-service-card { transition: transform 0.2s ease, box-shadow 0.2s ease; }
.tp-usp-card:hover, .tp-service-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,0.08); }
.tp-service-card:hover a { color: #f36f21 !important; }
.tp-prod-img-wrap { overflow: hidden; }
.tp-prod-img-wrap img { transition: transform 0.4s ease; }
.tp-prod-img-wrap:hover img { transform: scale(1.05); }
.tp-branch-card { transition: box-shadow 0.2s ease; overflow: hidden; }
.tp-branch-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.08); }
.tp-branch-card .tp-branch-img { overflow: hidden; }
.tp-branch-card .tp-branch-img img { transition: transform 0.3s ease; }
.tp-branch-card:hover .tp-branch-img img { transform: scale(1.05); }
.tp-usp-card, .tp-service-card, .tp-branch-card, .wp-block-button__link { border-radius: 0 !important; }
.entry-content-wrap > .alignfull { margin-left: calc(-50vw + 50%) !important; margin-right: calc(-50vw + 50%) !important; max-width: 100vw !important; width: 100vw !important; }

/* ═══ Header & Content: 1440px ═══ */
.site-header .site-container {
  max-width: 1400px !important;
}

/* ═══ Druckdaten Fullwidth ═══ */
.page-id-9419 .content-area { margin: 0 !important; padding: 0 !important; }
.page-id-9419 .content-container.site-container { max-width: 100% !important; padding: 0 !important; }
.page-id-9419 .entry-content-wrap { padding: 0 !important; max-width: 100% !important; }
.page-id-9419 .entry-content { max-width: 100% !important; padding: 0 !important; }
.page-id-9419 article.entry.single-entry { box-shadow: none !important; max-width: 100% !important; }
.page-id-9419 .entry-header { display: none !important; }

/* ═══ Startseite Fullwidth ═══ */
.page-id-9721 .content-area { margin: 0 !important; padding: 0 !important; }
.page-id-9721 .content-container.site-container { max-width: 100% !important; padding: 0 !important; }
.page-id-9721 .entry-content-wrap { padding: 0 !important; max-width: 100% !important; }
.page-id-9721 .entry-content { max-width: 100% !important; padding: 0 !important; }
.page-id-9721 article.entry.single-entry { box-shadow: none !important; max-width: 100% !important; }
.page-id-9721 .wrap { max-width: 1400px !important; margin: 0 auto !important; padding: 0 20px !important; }
.page-id-9721 .hero,
.page-id-9721 .announce,
.page-id-9721 .stats,
.page-id-9721 .stars,
.page-id-9721 .categories,
.page-id-9721 .process,
.page-id-9721 .why,
.page-id-9721 .reviews,
.page-id-9721 .b2b,
.page-id-9721 .seo {
  width: 100% !important;
  max-width: 100% !important;
}

/* ═══ Unternehmen Fullwidth ===  */
.page-id-9420 .content-area { margin: 0 !important; padding: 0 !important; }
.page-id-9420 .content-container.site-container { max-width: 100% !important; padding: 0 !important; }
.page-id-9420 .entry-content-wrap { padding: 0 !important; max-width: 100% !important; }
.page-id-9420 .entry-content { max-width: 100% !important; padding: 0 !important; }
.page-id-9420 article.entry.single-entry { box-shadow: none !important; max-width: 100% !important; }
.page-id-9420 .entry-header { display: none !important; }

/* ═══ Unternehmen Fullwidth OLD ═══ */
.page-id-9420 .content-container.site-container { max-width: 100% !important; padding: 0 !important; }
.page-id-9420 .entry-content-wrap { padding: 0 !important; max-width: 100% !important; }
.page-id-9420 .entry-content { max-width: 100% !important; padding: 0 !important; }
.page-id-9420 article.entry.single-entry { box-shadow: none !important; max-width: 100% !important; }

/* Content zentriert max 1440px, Hintergründe fullwidth */
.page-id-9420 .wrap {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

/* Sections bleiben fullwidth für Hintergründe */
.page-id-9420 .hero,
.page-id-9420 .blue-bar,
.page-id-9420 .story,
.page-id-9420 .usps,
.page-id-9420 .services,
.page-id-9420 .production,
.page-id-9420 .branches,
.page-id-9420 .cta-section {
  width: 100% !important;
  max-width: 100% !important;
}

/* ============================================================
   TERAPRINT GLOBAL PAGE SYSTEM — Einheitliches Hero-Design
   Max-Width: 1440px (FINAL per PROJEKT-STATUS.md)
   Deployed: 2026-02-13 22:00
   ============================================================ */

/* --- RESET: WordPress/Kadence Page Title ausblenden --- */
.entry-header,
.wp-block-kadence-rowlayout > .kt-row-column-wrap > .wp-block-kadence-column:first-child .kadence-column-inner > .wp-block-heading:first-child,
.page .entry-title {
  display: none !important;
}

/* --- FULLWIDTH OVERRIDE für alle Pages --- */
body.page .entry-content,
body.archive .site-main,
body.tax-product_cat .site-main {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
}

/* Kadence Container Override */
body.page .entry-content > .alignwide,
body.page .entry-content > .alignfull,
body.page .entry-content > .wp-block-group,
body.page .site-container .site-inner .content-area {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* WooCommerce Kategorie-Archiv Override */
body.tax-product_cat .woocommerce,
body.tax-product_cat .woocommerce-products-header {
  max-width: 100% !important;
}

/* --- STANDARD PAGE HERO --- */
.tp-page-hero {
  background: linear-gradient(135deg, #1a3a5c 0%, #2a5a8a 40%, #337ab7 100%);
  padding: 40px 0 36px;
  position: relative;
  overflow: hidden;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tp-page-hero::before {
  content: '';
  position: absolute;
  top: -40%;
  right: -15%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(243,111,33,0.06) 0%, transparent 70%);
  pointer-events: none;
}
.tp-page-hero-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px;
  position: relative;
  z-index: 1;
}

/* Hero Badge */
.tp-hero-badge {
  display: inline-block;
  background: rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.9);
  font-family: 'Roboto', sans-serif;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 5px 14px;
  margin-bottom: 14px;
  border-left: 2px solid #f36f21;
  border-radius: 6px;
}

/* Hero Title */
.tp-page-hero h1,
.tp-page-hero .tp-hero-title {
  color: #fff !important;
  font-family: 'Roboto', sans-serif !important;
  font-size: clamp(24px, 3vw, 34px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin-bottom: 8px !important;
  border-radius: 0 !important;
}

/* Hero Description */
.tp-page-hero p,
.tp-page-hero .tp-hero-desc {
  color: rgba(255,255,255,0.8) !important;
  font-family: 'Roboto', sans-serif !important;
  font-size: 14px !important;
  max-width: 600px;
  line-height: 1.5 !important;
}

/* Hero Features (optional – die 3 Bullets wie bei Druckdaten) */
.tp-hero-features {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 16px;
}
.tp-hero-features span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(255,255,255,0.85);
  font-size: 14px;
  font-weight: 500;
}

/* --- INFO BAR (optional, unter Hero) --- */
.tp-info-bar {
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
  padding: 14px 0;
}
.tp-info-bar-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}
.tp-info-bar-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #666;
  font-weight: 500;
}

/* --- CONTENT CONTAINER --- */
.tp-content {
  max-width: 1400px;
  margin: 0 auto;
  padding: 32px 24px 48px;
}

/* --- STANDARD CTA FOOTER --- */
.tp-cta-footer {
  background: linear-gradient(135deg, #2a6394, #337ab7);
  padding: 40px 0;
  text-align: center;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
}
.tp-cta-footer-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px;
}
.tp-cta-footer h2 {
  color: #fff !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
}
.tp-cta-footer p {
  color: rgba(255,255,255,0.8) !important;
  font-size: 14px !important;
  margin-bottom: 20px !important;
}
.tp-btn-orange {
  display: inline-block;
  background: #f36f21;
  color: #fff;
  padding: 14px 32px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 0;
  transition: background 0.2s;
}
.tp-btn-orange:hover { background: #e05e10; color: #fff; text-decoration: none; }
.tp-btn-white {
  display: inline-block;
  background: #fff;
  color: #337ab7;
  padding: 14px 32px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 0;
  margin-left: 12px;
}
.tp-btn-white:hover { background: #e8f0f8; color: #337ab7; text-decoration: none; }

/* --- WOOCOMMERCE KATEGORIE HERO --- */
body.tax-product_cat .woocommerce-products-header {
  background: linear-gradient(135deg, #1a3a5c 0%, #2a5a8a 40%, #337ab7 100%) !important;
  padding: 40px 0 36px !important;
  margin: 0 !important;
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  position: relative !important;
  min-height: 200px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
body.tax-product_cat .woocommerce-products-header .page-title {
  color: #fff !important;
  font-size: clamp(24px, 3vw, 34px) !important;
  font-weight: 700 !important;
  max-width: 1400px;
  margin: 0 auto !important;
  padding: 0 24px !important;
  width: 100%;
  box-sizing: border-box;
}
body.tax-product_cat .woocommerce-products-header .term-description {
  color: rgba(255,255,255,0.85) !important;
  max-width: 1400px;
  margin: 8px auto 0 !important;
  padding: 0 24px !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  width: 100%;
  box-sizing: border-box;
}
body.tax-product_cat .woocommerce-products-header .term-description p {
  color: rgba(255,255,255,0.85) !important;
  margin: 0 0 8px !important;
}
body.tax-product_cat .woocommerce-products-header .term-description ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 8px 0 0 !important;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}
body.tax-product_cat .woocommerce-products-header .term-description ul li {
  color: rgba(255,255,255,0.8) !important;
  font-size: 14px !important;
}
body.tax-product_cat .woocommerce-products-header .term-description ul li::before {
  content: "✓ ";
  color: #f36f21;
  font-weight: 700;
}
/* Breadcrumb auf Kategorien ins Hero */
body.tax-product_cat .woocommerce-breadcrumb {
  max-width: 1400px;
  margin: 0 auto 8px !important;
  padding: 0 24px !important;
  color: rgba(255,255,255,0.6) !important;
  font-size: 12px !important;
}
body.tax-product_cat .woocommerce-breadcrumb a {
  color: rgba(255,255,255,0.7) !important;
}
/* Produkt-Grid unter Hero */
body.tax-product_cat .woocommerce ul.products {
  max-width: 1400px;
  margin: 32px auto;
  padding: 0 24px;
}
/* --- FLOATING KATEGORIEN-BUTTON ENTFERNEN --- */
.tp-floating-categories,
.floating-categories-btn,
.wc-category-toggle,
[class*="floating-categor"],
.entry-content .category-float-btn {
  display: none !important;
  visibility: hidden !important;
}

/* --- RESPONSIVE --- */
@media (max-width: 768px) {
  .tp-page-hero { padding: 28px 0 24px; min-height: 150px; }
  body.tax-product_cat .woocommerce-products-header { min-height: 150px; padding: 28px 0 24px !important; }
  body.tax-product_cat .woocommerce-products-header .term-description ul { flex-direction: column; gap: 4px; }
  .tp-hero-features { flex-direction: column; gap: 8px; }
  .tp-info-bar-inner { flex-direction: column; gap: 8px; }
  .tp-btn-white { margin-left: 0; margin-top: 8px; }
}

/* ═══ Startseite V5 Fullwidth (Page 9874) ═══ */
.page-id-9874 .content-area { margin: 0 !important; padding: 0 !important; }
.page-id-9874 .content-container.site-container { max-width: 100% !important; padding: 0 !important; }
.page-id-9874 .entry-content-wrap { padding: 0 !important; max-width: 100% !important; }
.page-id-9874 .entry-content { max-width: 100% !important; padding: 0 !important; }
.page-id-9874 article.entry.single-entry { box-shadow: none !important; max-width: 100% !important; }
.page-id-9874 .entry-header { display: none !important; }

/* Kadence Blocks product card hover */
.page-id-9874 .kb-image img { transition: transform 0.3s ease; }
.page-id-9874 .kb-image:hover img { transform: scale(1.03); }

/* Smart Slider fullwidth */
.page-id-9874 #n2-ss-1 { max-width: 100% !important; overflow: hidden !important; }

/* ═══ Startseite V5.2: Boxed 1440px Layout Fix ═══ */
.page-id-9874 .site-header {
  max-width: 1400px !important;
  margin: 0 auto !important;
  background: #fff;
}
.page-id-9874 .entry-content .tp-page {
  max-width: 1400px !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  position: relative !important;
}
.page-id-9874 .tp-page #n2-ss-1-align,
.page-id-9874 .tp-page #n2-ss-1,
.page-id-9874 .tp-page .n2-section-smartslider {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: auto !important;
}


/* ================================================================
   CHECKOUTWC — TeraPrint Design v5
   Preview v5: Gray bg + White Card Elevation + Numbered Breadcrumb
   Target: body.checkout-wc, body.futurist
   ================================================================ */

/* ── 1. GLOBAL ── */
body.checkout-wc {
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, sans-serif !important;
  color: #2d2d2d !important;
  background: #f0f1f3 !important;
  -webkit-font-smoothing: antialiased;
}
body.checkout-wc * {
  border-radius: 0 !important;
}

/* ── 2. HEADER ── */
body.checkout-wc #cfw-header {
  background: #fff !important;
  border-bottom: 1px solid #e5e7eb !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04) !important;
  padding: 0 !important;
}
body.checkout-wc #cfw-header > .row {
  max-width: 1100px;
  margin: 0 auto !important;
  padding: 16px 24px !important;
}
body.checkout-wc #cfw-logo-container {
  text-align: left !important;
  padding: 0 !important;
}
body.checkout-wc #cfw-logo-container .cfw-logo {
  padding: 0 !important;
  height: auto !important;
}
body.checkout-wc #cfw-logo-container .cfw-logo .logo,
body.checkout-wc #cfw-logo-container .cfw-logo img {
  height: 40px !important;
  width: auto !important;
  margin: 0 !important;
  display: block !important;
}

/* ── 3. TRUST BAR (JS-injected inside header) ── */
body.checkout-wc .tp-trust-bar {
  background: #f8f9fa;
  border-top: 1px solid #e5e7eb;
  padding: 9px 24px;
  font-size: 12px;
  color: #6b7280;
  text-align: center;
  letter-spacing: 0.3px;
  width: 100%;
}
body.checkout-wc .tp-trust-bar .sep {
  margin: 0 8px;
  color: #d1d5db;
}
@media (max-width: 768px) {
  body.checkout-wc .tp-trust-bar { font-size: 10px; padding: 8px 12px; }
}

/* ── 4. MAIN CONTAINER ── */
body.checkout-wc #cfw {
  background: transparent !important;
  padding: 0 !important;
  max-width: 100% !important;
}
/* Form = layout row, constrained + padded (small top margin since breadcrumb is above) */
body.checkout-wc #cfw > form {
  max-width: 1100px !important;
  margin: 12px auto 24px !important;
  padding: 0 24px !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 24px !important;
}

/* ── 5. MAIN FORM CARD (White Elevation) ── */
body.checkout-wc #order_review {
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04) !important;
  padding: 32px 40px !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  max-width: none !important;
  width: auto !important;
  float: none !important;
}

/* ── 6. SIDEBAR CARD ── */
body.checkout-wc #cfw-cart-summary {
  background: #f8f9fa !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
  padding: 0 !important;
  padding-left: 0 !important;
  flex: 0 0 360px !important;
  width: 360px !important;
  max-width: 360px !important;
  float: none !important;
  align-self: flex-start !important;
}
body.checkout-wc #cfw-cart-summary #cfw-cart-summary-content {
  background: transparent !important;
  padding: 24px !important;
  box-sizing: border-box !important;
}
body.checkout-wc .cfw-cart-summary-label-show,
body.checkout-wc .cfw-cart-summary-label-hide {
  color: #337ab7 !important;
}

/* ── 7. BREADCRUMB (Numbered Squares) ── */
/* Futurist template puts breadcrumb BEFORE <form> (on gray bg) */
body.futurist .cfw-breadcrumb-container {
  max-width: 1100px !important;
  margin: 24px auto 0 !important;
  padding: 0 24px !important;
  justify-content: flex-start !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
body.futurist #cfw-breadcrumb {
  justify-content: flex-start !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 16px 0 !important;
  border-bottom: none !important;
  counter-reset: step !important;
}
body.futurist #cfw-breadcrumb::after {
  display: none !important;
}
body.futurist #cfw-breadcrumb li {
  counter-increment: step !important;
  width: auto !important;
  flex-grow: 0 !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  background: transparent !important;
  font-size: 14px !important;
}
/* Separator arrow between steps */
body.futurist #cfw-breadcrumb li:not(:last-child)::after {
  display: inline-block !important;
  content: '\203A' !important;
  color: #d1d5db !important;
  font-size: 24px !important;
  font-weight: 300 !important;
  margin: 0 10px !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  border: none !important;
  top: auto !important;
  left: auto !important;
}
/* Step number squares */
body.futurist #cfw-breadcrumb li::before {
  content: counter(step) !important;
  border-radius: 0 !important;
  width: 26px !important;
  height: 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #9ca3af !important;
  border: 2px solid #d1d5db !important;
  background: transparent !important;
  margin-bottom: 0 !important;
  flex-shrink: 0 !important;
}
body.futurist #cfw-breadcrumb li > a {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #9ca3af !important;
  text-transform: none !important;
  text-align: left !important;
  position: static !important;
}
body.futurist #cfw-breadcrumb li > a::after {
  display: none !important;
}
/* Active step */
body.futurist #cfw-breadcrumb li.tab.active::before {
  background: #337ab7 !important;
  border-color: #337ab7 !important;
  color: #fff !important;
}
body.futurist #cfw-breadcrumb li.tab.active > a {
  color: #337ab7 !important;
  font-weight: 700 !important;
}
/* Completed steps */
body.futurist #cfw-breadcrumb li.tab.complete::before {
  background: #059669 !important;
  border-color: #059669 !important;
  color: #fff !important;
}
body.futurist #cfw-breadcrumb li.tab.complete > a {
  color: #059669 !important;
}
/* Next (future) steps */
body.futurist #cfw-breadcrumb li.tab.active ~ li.tab::before {
  background: transparent !important;
  border-color: #d1d5db !important;
  color: #9ca3af !important;
}
body.futurist #cfw-breadcrumb li.tab.active ~ li.tab > a {
  color: #9ca3af !important;
}
/* Breadcrumb container wrapper */
body.futurist .cfw-breadcrumb-container {
  padding: 0 !important;
  justify-content: flex-start !important;
}

/* ── 8. SECTION HEADINGS ── */
body.checkout-wc h3,
body.checkout-wc .cfw-module h3,
body.checkout-wc .cfw-billing-address-heading,
body.futurist h3 {
  font-family: 'Roboto', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #2d2d2d !important;
  border-left: 4px solid #337ab7 !important;
  padding-left: 14px !important;
  margin: 26px 0 18px !important;
  text-transform: none !important;
}
/* Sidebar heading override */
body.futurist #cfw-cart-summary #cfw-cart-summary-content > h3 {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #337ab7 !important;
  border-left: none !important;
  border-bottom: 1px solid #e5e7eb !important;
  padding: 0 0 12px 0 !important;
  margin: 0 0 16px 0 !important;
  text-transform: none !important;
}

/* ── 9. FORM INPUTS (Floating Labels) ── */
body.checkout-wc input[type="text"],
body.checkout-wc input[type="email"],
body.checkout-wc input[type="tel"],
body.checkout-wc input[type="number"],
body.checkout-wc input[type="password"],
body.checkout-wc select,
body.checkout-wc textarea {
  border: 1px solid #d1d5db !important;
  background: #fff !important;
  color: #2d2d2d !important;
  font-family: 'Roboto', sans-serif !important;
  font-size: 14px !important;
  min-height: 54px !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}
body.checkout-wc input[type="text"]:focus,
body.checkout-wc input[type="email"]:focus,
body.checkout-wc input[type="tel"]:focus,
body.checkout-wc select:focus,
body.checkout-wc textarea:focus {
  border-color: #337ab7 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(51,122,183,0.1) !important;
  outline: none !important;
}
body.checkout-wc .cfw-floatable-label label,
body.checkout-wc label {
  color: #6b7280 !important;
  font-family: 'Roboto', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
}

/* ── 10. PRIMARY BUTTONS ── */
body.checkout-wc .cfw-primary-btn,
body.checkout-wc .cfw-primary-btn:not(.cfw-prev-tab),
body.checkout-wc #place_order,
body.checkout-wc button.button.alt,
body.checkout-wc input[type="submit"].button {
  background: #f36f21 !important;
  color: #fff !important;
  border: none !important;
  font-family: 'Roboto', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  min-height: 54px !important;
  padding: 16px 40px !important;
  box-shadow: 0 2px 8px rgba(243,111,33,0.2) !important;
  transition: all 0.2s !important;
  cursor: pointer !important;
}
body.checkout-wc .cfw-primary-btn:hover,
body.checkout-wc #place_order:hover {
  background: #d85d15 !important;
  box-shadow: 0 4px 16px rgba(243,111,33,0.3) !important;
  transform: translateY(-1px);
}

/* ── 11. SECONDARY BUTTONS & LINKS ── */
body.checkout-wc .cfw-prev-tab,
body.checkout-wc a.cfw-prev-tab {
  color: #337ab7 !important;
  background: none !important;
  border: none !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}
body.checkout-wc .cfw-prev-tab:hover {
  color: #2a6396 !important;
}
body.checkout-wc a {
  color: #337ab7 !important;
}
body.checkout-wc a:hover {
  color: #2a6396 !important;
}

/* ── 12. RADIO & CHECKBOXES ── */
body.checkout-wc input[type="radio"]:checked {
  border-color: #337ab7 !important;
  background-color: #337ab7 !important;
}
body.checkout-wc input[type="checkbox"]:checked {
  background-color: #337ab7 !important;
  border-color: #337ab7 !important;
}

/* ── 13. PAYMENT METHODS ── */
body.checkout-wc .cfw-radio-reveal-title-wrap {
  border-color: #e5e7eb !important;
}
body.checkout-wc .cfw-radio-reveal-li.cfw-active .cfw-radio-reveal-title-wrap {
  border-color: #337ab7 !important;
  background: rgba(51,122,183,0.03) !important;
}

/* ── 14. SHIPPING MODULE ── */
body.checkout-wc .cfw-module.shipping {
  border-color: #e5e7eb !important;
}

/* ── 15. ORDER TOTALS ── */
body.checkout-wc .order-total .woocommerce-Price-amount {
  color: #337ab7 !important;
  font-weight: 700 !important;
  font-size: 24px !important;
}
body.futurist .cfw-totals-list #cfw-cart-total {
  border-top: 2px solid #2d2d2d !important;
  padding-top: 12px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}
/* Free shipping highlight */
body.checkout-wc .shipping .woocommerce-Price-amount,
body.checkout-wc .shipping-totals .woocommerce-Price-amount {
  color: #059669 !important;
  font-weight: 500 !important;
}

/* ── 16. COUPON ── */
body.checkout-wc .cfw-coupon-btn,
body.checkout-wc button.cfw-coupon-btn {
  background: #337ab7 !important;
  color: #fff !important;
  border: none !important;
}
body.checkout-wc .cfw-coupon-btn:hover {
  background: #2a6396 !important;
}

/* ── 17. SECURE NOTICE ── */
body.checkout-wc .secure-notice {
  color: #6b7280 !important;
}

/* ── 18. FOOTER ── */
body.checkout-wc #cfw-footer {
  background: transparent !important;
}
body.checkout-wc .cfw-footer-inner {
  border-top: 1px solid #e5e7eb !important;
  text-align: center !important;
  font-size: 12px !important;
  color: #6b7280 !important;
  padding-top: 16px !important;
}
body.checkout-wc .cfw-footer-inner a {
  color: #6b7280 !important;
  margin: 0 8px !important;
  text-decoration: none !important;
}
body.checkout-wc .cfw-footer-inner a:hover {
  color: #337ab7 !important;
}

/* ── 19. ALERTS/NOTICES ── */
body.checkout-wc .cfw-alert-info {
  border-color: #337ab7 !important;
  background: #edf4fb !important;
}
body.checkout-wc .cfw-alert-error,
body.checkout-wc .woocommerce-error {
  border-color: #dc3545 !important;
}
body.checkout-wc .cfw-alert-success {
  border-color: #059669 !important;
}

/* ── 20. DELIVERY ESTIMATE (JS-injected) ── */
body.checkout-wc .tp-delivery-estimate {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 14px 16px !important;
  background: #edf4fb !important;
  border-left: 3px solid #337ab7 !important;
  margin: 20px 0 4px !important;
  font-size: 14px !important;
}
body.checkout-wc .tp-delivery-date {
  color: #337ab7 !important;
  font-weight: 700 !important;
}
body.checkout-wc .tp-delivery-sub {
  font-size: 12px !important;
  color: #6b7280 !important;
  margin-top: 2px !important;
  display: block !important;
}

/* ── 21. SIDEBAR TRUST (JS-injected) ── */
body.checkout-wc .tp-sidebar-trust {
  padding: 20px 0 0 !important;
  border-top: 1px solid #e5e7eb !important;
  margin-top: 16px !important;
}
body.checkout-wc .tp-sidebar-trust-title {
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 14px !important;
  color: #2d2d2d !important;
}
body.checkout-wc .tp-sidebar-trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 14px !important;
  color: #4b5563 !important;
  margin-bottom: 8px !important;
}
body.checkout-wc .tp-strust-icon {
  width: 20px !important;
  text-align: center !important;
  font-size: 14px !important;
  flex-shrink: 0 !important;
}
/* Payment icons */
body.checkout-wc .tp-payment-icons {
  display: flex !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  padding-top: 14px !important;
  border-top: 1px solid #e5e7eb !important;
  margin-top: 12px !important;
}
body.checkout-wc .tp-payment-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  height: 30px !important;
  border: 1px solid #e5e7eb !important;
  background: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #6b7280 !important;
  letter-spacing: 0.3px !important;
}

/* ── 22. THANK YOU PAGE ── */
/* Thank-you uses <div class="row"> instead of <form> as flex parent */
body.checkout-wc.order-received #cfw > .row,
body.checkout-wc.order-pay #cfw > .row {
  max-width: 1100px !important;
  margin: 24px auto !important;
  padding: 0 24px !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 24px !important;
}
body.checkout-wc.order-received #order_review,
body.checkout-wc.order-pay #order_review {
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
  padding: 32px 40px !important;
  flex: 1 1 0 !important;
  max-width: none !important;
  float: none !important;
}
body.checkout-wc .cfw-thank-you-title,
body.checkout-wc .cfw-thank-you-header h2,
body.checkout-wc h2.entry-title {
  color: #059669 !important;
  font-weight: 700 !important;
}
body.checkout-wc .woocommerce-order-overview li {
  border-color: #e5e7eb !important;
}

/* ── 23. MOBILE ── */
@media (max-width: 991px) {
  body.checkout-wc #cfw > form,
  body.checkout-wc.order-received #cfw > .row,
  body.checkout-wc.order-pay #cfw > .row {
    flex-direction: column !important;
    padding: 0 16px !important;
    margin: 16px auto !important;
    gap: 16px !important;
  }
  body.checkout-wc #order_review {
    padding: 20px 16px !important;
    box-shadow: none !important;
    border: none !important;
    background: #fff !important;
  }
  body.checkout-wc #cfw-cart-summary {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: none !important;
    box-shadow: none !important;
    border: none !important;
    background: #f8f9fa !important;
  }
}
