@charset 'utf-8';
/* 
 * WebsiteBaker 2.14 - Default Blue Template Stylesheet (wb_template_blue)
 * Modern Wide & Fluid Layout System with Iconic WebsiteBaker Blue Branding
 */

/* ==========================================================================
   1. Design Tokens & Theme Modes (Concept 3: Seamless Ocean Navy & Soft Slate Canvas)
   ========================================================================== */
:root, [data-theme="light"] {
  /* Soft Muted Slate-Blue Canvas - No Harsh Blinding White */
  --wb-bg-canvas: #e6eff7;
  --wb-surface-card: #f8fafc;
  
  /* WebsiteBaker Rich Ocean Navy Gradient Header */
  --wb-header-bg-start: #082d49;
  --wb-header-bg-mid: #0d4068;
  --wb-header-bg-end: #134e7a;
  --wb-header-text: #ffffff;
  --wb-header-subtext: #bae6fd;

  --wb-primary: #0d4068;
  --wb-primary-hover: #082d49;
  --wb-primary-bright: #2563eb;
  --wb-primary-light: #eef6fc;
  --wb-primary-border: #bfd6ec;

  --wb-text-main: #0f172a;
  --wb-text-muted: #334155;
  --wb-text-light: #64748b;

  --wb-input-bg: #ffffff;
  --wb-input-border: #cbd5e1;
  --wb-input-text: #0f172a;
  --wb-input-placeholder: #94a3b8;
  --wb-card-text: #334155;
  --wb-heading-color: #0d4068;

  --wb-border-color: #cbd5e1;
  --wb-border-color-card: #cbd5e1;

  /* Typography */
  --wb-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  --wb-font-size-base: 15px;
  --wb-line-height-base: 1.65;

  /* Elevation & Shadows */
  --wb-shadow-sm: 0 2px 8px rgba(8, 45, 73, 0.08), 0 1px 3px rgba(8, 45, 73, 0.04);
  --wb-shadow-md: 0 6px 18px rgba(8, 45, 73, 0.12), 0 2px 5px rgba(8, 45, 73, 0.06);
  --wb-shadow-lg: 0 12px 28px rgba(8, 45, 73, 0.16), 0 4px 10px rgba(8, 45, 73, 0.08);

  /* Radius */
  --wb-radius-sm: 6px;
  --wb-radius-md: 10px;
  --wb-radius-lg: 14px;
}

/* Modern Sleek Dark Mode Theme Override */
[data-theme="dark"] {
  --wb-bg-canvas: #090d16;
  --wb-surface-card: #131c2e;
  
  --wb-header-bg-start: #050912;
  --wb-header-bg-mid: #0b1526;
  --wb-header-bg-end: #11223b;
  --wb-header-text: #f8fafc;
  --wb-header-subtext: #7dd3fc;

  --wb-primary: #38bdf8;
  --wb-primary-hover: #7dd3fc;
  --wb-primary-bright: #60a5fa;
  --wb-primary-light: rgba(56, 189, 248, 0.12);
  --wb-primary-border: rgba(56, 189, 248, 0.3);

  --wb-text-main: #f1f5f9;
  --wb-text-muted: #94a3b8;
  --wb-text-light: #64748b;

  --wb-input-bg: #1e293b;
  --wb-input-border: #334155;
  --wb-input-text: #f8fafc;
  --wb-input-placeholder: #64748b;
  --wb-card-text: #cbd5e1;
  --wb-heading-color: #38bdf8;

  --wb-border-color: #243247;
  --wb-border-color-card: #243247;

  --wb-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
  --wb-shadow-md: 0 6px 18px rgba(0, 0, 0, 0.45);
  --wb-shadow-lg: 0 12px 28px rgba(0, 0, 0, 0.6);
}

/* ==========================================================================
   2. Reset & Global Styles
   ========================================================================== */
*, *::before, *::after {
  box-sizing: border-box;
}

html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}

/* Modern Wide Fluid Page Canvas */
body.allcssRes, body {
  background-color: var(--wb-bg-canvas);
  background-repeat: no-repeat;
  background-attachment: fixed;
  color: var(--wb-text-main);
  font-family: var(--wb-font-sans);
  font-size: var(--wb-font-size-base);
  line-height: var(--wb-line-height-base);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

[data-theme="light"] body.allcssRes, [data-theme="light"] body {
  background-color: #e6eff7 !important;
  background-image: none !important;
}

[data-theme="dark"] body.allcssRes, [data-theme="dark"] body {
  background-color: #090d16 !important;
  background-image: none !important;
}

/* Base Link Styling */
a {
  color: var(--wb-primary);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.15s ease, text-decoration-color 0.15s ease;
}

a:hover {
  color: var(--wb-primary-bright);
  text-decoration: underline;
}

/* Images & Media */
img {
  max-width: 100%;
  height: auto;
  display: inline-block;
  vertical-align: middle;
}

/* ==========================================================================
   3. Wide Header & Container System (Concept 3: Seamless Ocean Navy)
   ========================================================================== */
#allcssRes-wrapper, .wb-app-container {
  width: 100%;
  margin: 0;
  padding: 0 0 40px;
  background: transparent;
}

/* Full-Width Seamless Ocean Navy Header Bar (No double lines / gradients) */
.wb-header-bar, header {
  width: 100%;
  background: linear-gradient(135deg, #082d49 0%, #0d4068 50%, #134e7a 100%) !important;
  border-bottom: none !important; /* Clean transition without artificial cyan line */
  border-radius: 0;
  padding: 24px 0;
  box-shadow: 0 4px 16px rgba(8, 45, 73, 0.22);
  margin-bottom: 32px;
}

.wb-header-banner, .banner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex !important;
  float: none !important;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: transparent !important;
  height: auto !important;
}

.wb-brand {
  display: flex;
  align-items: center;
}

.wb-brand-link {
  display: flex;
  align-items: center;
  gap: 16px;
  text-decoration: none !important;
}

.wb-logo-hat {
  height: 48px;
  width: auto;
  transition: transform 0.2s ease;
}

.wb-brand-link:hover .wb-logo-hat {
  transform: scale(1.08) rotate(-3deg);
}

.wb-brand-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

/* Main Website Title (Normal Weight, Crisp White Brand Identity) */
.wb-site-title {
  color: #ffffff !important;
  font-size: 1.45rem !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

/* Subordinate Page Title Subtitle (Clean, Light, Normal Weight, No Dot) */
.wb-site-subtitle {
  color: #bae6fd !important;
  font-size: 0.92rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  line-height: 1.2 !important;
  opacity: 0.9;
}

.wb-site-subtitle::before {
  content: none !important;
}

/* Header Right Actions (Search + Theme Switcher) */
.wb-header-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

/* Theme Toggle Button Switch */
.wb-theme-toggle-btn {
  background: rgba(255, 255, 255, 0.14) !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  border-radius: 50% !important;
  width: 38px !important;
  height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  flex-shrink: 0;
  outline: none;
}

.wb-theme-toggle-btn:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  border-color: #38bdf8 !important;
  transform: scale(1.08);
}

.wb-theme-toggle-btn:hover svg {
  color: #ffffff !important;
}

[data-theme="dark"] .wb-icon-moon { display: none !important; }
[data-theme="dark"] .wb-icon-sun { display: block !important; color: #facc15 !important; }

[data-theme="light"] .wb-icon-sun { display: none !important; }
[data-theme="light"] .wb-icon-moon { display: block !important; color: #bae6fd !important; }

/* Search Box in Header */
.wb-search-wrapper, .search_box {
  background: transparent !important;
  height: auto !important;
  padding: 0 !important;
}

.wb-search-input-container, .search_box .input-container {
  position: relative;
  display: flex;
  align-items: center;
}

.wb-search-icon {
  position: absolute;
  left: 14px;
  color: #bae6fd;
  font-size: 0.9rem;
  pointer-events: none;
}

.wb-search-input, #pageInput {
  background: rgba(255, 255, 255, 0.14) !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  border-radius: 30px !important;
  color: #ffffff !important;
  padding: 9px 42px 9px 38px !important;
  font-size: 0.9rem !important;
  width: 240px !important;
  outline: none;
  transition: all 0.2s ease;
}

.wb-search-input::placeholder {
  color: rgba(255, 255, 255, 0.75) !important;
}

.wb-search-input:focus {
  background: rgba(255, 255, 255, 0.25) !important;
  border-color: #38bdf8 !important;
  width: 300px !important;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.3) !important;
}

.wb-search-submit-btn, .search_submit {
  position: absolute;
  right: 4px;
  background: #38bdf8 !important;
  border: none !important;
  color: #082d49 !important;
  width: 28px;
  height: 28px;
  border-radius: 50% !important;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-weight: bold;
  transition: all 0.2s ease;
}

.wb-search-submit-btn:hover, .search_submit:hover {
  background: #ffffff !important;
  color: var(--wb-primary) !important;
  transform: scale(1.05);
}

/* Wide Content Layout Wrapper */
.wb-layout-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 32px;
}

/* ==========================================================================
   4. Main 2-Column Wide Grid Layout
   ========================================================================== */
.wb-layout-grid {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 32px;
  align-items: start;
}

/* Mobile Toggle Label */
.wb-mobile-toggle, .open-menu-label {
  display: none;
  background: var(--wb-header-bg-mid);
  color: #ffffff;
  padding: 14px 20px;
  border-radius: var(--wb-radius-md);
  cursor: pointer;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}

.wb-menu-checkbox, #open-menu {
  display: none;
}

/* ==========================================================================
   5. Sidebar & Widget Cards Styling (Generous Card Padding for ALL Widgets)
   ========================================================================== */
/* Sidebar Position Relative Container */
.wb-sidebar-col, #left-col {
  position: relative !important;
}

/* Single Div Generated by [[iEditThisPage]] */
.wb-sidebar-col > div.iEditThisPage,
#left-col > div.iEditThisPage,
div.iEditThisPage,
.edit_page {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 50 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Multilingual Flags Widget in Sidebar */
.wb-lang-card {
  padding: 14px 20px !important;
}

/* Sidebar Widgets Container Gap */
.wb-sidebar-widgets {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

/* ALL Sidebar Widget Cards Container Styling */
.wb-sidebar-col .outer-box,
.wb-sidebar-col .wb-widget-card,
.wb-sidebar-col .wb-nav-card,
.wb-sidebar-col .wb-lang-card,
.wb-sidebar-col .wb-privacy-card,
.wb-sidebar-col .wb-sidebar-content-card,
.wb-sidebar-col .wb-login-card,
#left-col .outer-box,
#left-col .wb-widget-card,
#left-col .left-content,
.outer-box,
.wb-widget-card {
  background: var(--wb-surface-card) !important;
  border: 1px solid var(--wb-border-color-card) !important;
  border-top: 3.5px solid var(--wb-primary) !important;
  border-radius: var(--wb-radius-md) !important;
  padding: 22px 24px !important; /* 24px Side Padding - NOTHING touches card borders! */
  margin-bottom: 0 !important; /* Single controlled 12px flex gap */
  box-shadow: var(--wb-shadow-sm) !important;
  box-sizing: border-box !important;
  width: 100% !important;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.outer-box:hover, .wb-widget-card:hover {
  border-color: #93c5fd !important;
  border-top-color: var(--wb-primary-bright) !important;
  box-shadow: var(--wb-shadow-md) !important;
}

/* Multilingual Flags Widget in Sidebar */
.wb-lang-card {
  padding: 14px 20px !important;
}

.wb-lang-container, #lang .wb-lang-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.wb-lang-container img {
  border-radius: 4px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  vertical-align: middle;
}

.wb-lang-container img:hover {
  transform: scale(1.2);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

/* Vertical Navigation Menu */
.wb-nav-menu, .menu {
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0.95rem !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.menu ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.menu li {
  line-height: normal !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.menu a, .menu span.menu-default a {
  display: block !important;
  padding: 10px 16px !important;
  border-radius: var(--wb-radius-sm) !important;
  color: var(--wb-text-main) !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
}

.menu a:hover, .menu-default a:hover {
  background: var(--wb-primary-light) !important;
  color: var(--wb-primary) !important;
  transform: translateX(4px);
  opacity: 1 !important;
}

/* Active Menu Item - Distinctive WB Blue Pill */
.menu li.active > span > a,
.menu li.active > a,
.menu-current,
.menu-default.menu-current {
  background: linear-gradient(135deg, var(--wb-header-bg-mid) 0%, var(--wb-header-bg-end) 100%) !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  box-shadow: 0 3px 10px rgba(21, 94, 150, 0.3) !important;
  border-radius: var(--wb-radius-sm) !important;
}

.menu li.active > span > a:hover,
.menu li.active > a:hover,
.menu-current:hover {
  color: #ffffff !important;
  transform: none !important;
}

/* Submenu indentation */
.menu ul ul {
  margin-top: 4px !important;
  margin-left: 14px !important;
  padding-left: 12px !important;
  border-left: 2px solid var(--wb-primary-border) !important;
  gap: 2px !important;
}

.menu ul ul a {
  font-size: 0.9rem !important;
  padding: 8px 14px !important;
}

/* Privacy Consent Button Card */
.wb-privacy-card {
  padding: 14px 18px !important;
}

.wb-privacy-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 11px 18px;
  background: var(--wb-primary-light);
  border: 1px solid var(--wb-primary-border);
  border-radius: var(--wb-radius-sm);
  color: var(--wb-primary);
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none !important;
  box-sizing: border-box !important;
}

.wb-privacy-icon {
  width: 20px;
  height: 20px;
  display: inline-block;
  flex-shrink: 0;
  vertical-align: middle;
  transition: transform 0.2s ease;
}

.wb-privacy-btn:hover {
  background: var(--wb-primary);
  color: #ffffff;
  border-color: var(--wb-primary);
  box-shadow: 0 3px 10px rgba(21, 94, 150, 0.25);
}

.wb-privacy-btn:hover .wb-privacy-icon {
  transform: scale(1.15);
}

/* Frontend Login Box (`[[LoginBox_DSGVO]]`) Inset Styling */
.wb-login-card, .login-box {
  color: var(--wb-text-main);
  box-sizing: border-box !important;
  width: 100% !important;
}

.wb-login-card form, .login-box form,
.wb-login-card fieldset, .login-box fieldset {
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.wb-login-card h2, .wb-login-card h3, .login-box h2, .login-box legend {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--wb-primary) !important;
  margin-top: 0 !important;
  margin-bottom: 14px !important;
  padding-bottom: 6px !important;
  border-bottom: 2px solid var(--wb-primary-light) !important;
  text-transform: none !important;
  display: block !important;
  width: 100% !important;
}

.wb-login-card p, .login-box p {
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

.wb-login-card label, .login-box label {
  display: block !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: var(--wb-text-muted) !important;
  margin-bottom: 4px !important;
  line-height: 1.3 !important;
}

.wb-login-card input[type="text"],
.wb-login-card input[type="password"],
.login-box input[type="text"],
.login-box input[type="password"] {
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 9px 12px !important;
  border: 1px solid var(--wb-input-border) !important;
  border-radius: var(--wb-radius-sm) !important;
  background: var(--wb-input-bg) !important;
  color: var(--wb-input-text) !important;
  font-size: 0.9rem !important;
  outline: none;
  transition: all 0.2s ease;
  margin-bottom: 4px !important;
}

.wb-login-card input[type="text"]:focus,
.wb-login-card input[type="password"]:focus,
.login-box input[type="text"]:focus,
.login-box input[type="password"]:focus {
  border-color: var(--wb-primary) !important;
  box-shadow: 0 0 0 3px rgba(21, 94, 150, 0.15) !important;
}

/* Captcha Layout: Row 1 = Captcha Image + Reload Icon NEXT to it; Row 2 = Input field below */
.captcha_table {
  width: 100% !important;
  margin: 12px 0 !important;
  clear: both !important;
  display: block !important;
  box-sizing: border-box !important;
}

.captcha_table .captcha-code {
  display: grid !important;
  grid-template-columns: auto auto !important;
  grid-template-areas: 
    "captcha-img captcha-reload"
    "captcha-input captcha-input" !important;
  gap: 8px 10px !important;
  align-items: center !important;
  justify-content: start !important;
  width: 100% !important;
  cursor: pointer;
}

.captcha_table .image-captcha {
  grid-area: captcha-img !important;
  display: block !important;
  max-width: 160px !important;
  height: auto !important;
  margin: 0 !important;
  border-radius: 4px;
}

/* Captcha Image & Text Dark Mode (Pure Dark Mode - NO White Boxes!) */
[data-theme="dark"] .captcha_table .image-captcha,
[data-theme="dark"] img.image-captcha,
[data-theme="dark"] img[src*="captcha"],
[data-theme="dark"] img[src*="securimage"] {
  background: transparent !important;
  filter: invert(0.92) hue-rotate(180deg) !important;
  padding: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* Text Captcha (`calc_text`) High-Contrast Text for Dark & Light Modes */
.captcha_table,
.captcha_table label,
.captcha_table span,
.captcha_table td,
.captcha-code {
  color: var(--wb-heading-color) !important;
  font-weight: 700 !important;
}

[data-theme="dark"] .captcha_table,
[data-theme="dark"] .captcha_table label,
[data-theme="dark"] .captcha_table span,
[data-theme="dark"] .captcha_table td,
[data-theme="dark"] .captcha-code {
  color: #38bdf8 !important;
  background: transparent !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
}

.captcha_table img.image-reload,
.captcha_table i[id^="refresh"],
.captcha_table .image-reload {
  grid-area: captcha-reload !important;
  width: 26px !important;
  height: 26px !important;
  flex-shrink: 0 !important;
  cursor: pointer !important;
  margin: 0 0 0 4px !important;
  vertical-align: middle !important;
  transition: transform 0.2s ease !important;
}

.captcha_table img.image-reload:hover {
  transform: rotate(90deg) scale(1.1) !important;
}

.captcha_table input#captcha-code,
.captcha_table input.core-required,
.captcha_table input[name^="captcha"] {
  grid-area: captcha-input !important;
  width: 100% !important;
  margin-top: 4px !important;
  margin-bottom: 0 !important;
  height: 38px !important;
  box-sizing: border-box !important;
  background: var(--wb-input-bg) !important;
  border: 1px solid var(--wb-input-border) !important;
  color: var(--wb-input-text) !important;
}

.wb-login-card input[type="submit"],
.wb-login-card button[type="submit"],
.login-box input[type="submit"],
.login-box button {
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 10px 16px !important;
  margin-top: 8px !important;
  margin-bottom: 12px !important;
  background: linear-gradient(135deg, var(--wb-header-bg-mid) 0%, var(--wb-header-bg-end) 100%) !important;
  border: none !important;
  border-radius: var(--wb-radius-sm) !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  font-size: 0.92rem !important;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 5px rgba(21, 94, 150, 0.2) !important;
}

.wb-login-card input[type="submit"]:hover,
.wb-login-card button[type="submit"]:hover,
.login-box input[type="submit"]:hover,
.login-box button:hover {
  background: var(--wb-primary-hover) !important;
  box-shadow: 0 3px 8px rgba(21, 94, 150, 0.3) !important;
}

.wb-login-card a, .login-box a {
  font-size: 0.85rem !important;
  color: var(--wb-primary) !important;
  text-decoration: none !important;
  display: inline-block;
  margin-top: 3px;
}

.wb-login-card a:hover, .login-box a:hover {
  color: var(--wb-primary-hover) !important;
  text-decoration: underline !important;
}

/* ==========================================================================
   6. Main Content Area Styling (Wide Card)
   ========================================================================== */
.wb-main-content-col, .main-content {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.wb-main-card {
  background: var(--wb-surface-card);
  border: 1px solid var(--wb-border-color-card);
  border-top: 4px solid var(--wb-primary);
  border-radius: var(--wb-radius-lg);
  padding: 44px 48px;
  box-shadow: var(--wb-shadow-sm);
  min-height: 560px;
  color: var(--wb-card-text);
}

/* Typography Scale */
.wb-main-card h1, .main-content h1 {
  font-size: 2rem;
  font-weight: 800;
  color: var(--wb-heading-color) !important;
  margin-top: 0;
  margin-bottom: 1.2rem;
  line-height: 1.3;
  letter-spacing: -0.02em;
}

.wb-main-card h2, .main-content h2 {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--wb-primary) !important;
  margin-top: 2rem;
  margin-bottom: 0.8rem;
  line-height: 1.35;
}

.wb-main-card h3, .main-content h3 {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--wb-primary) !important;
  margin-top: 1.6rem;
  margin-bottom: 0.6rem;
}

.wb-main-card p, .main-content p {
  font-size: 1.02rem;
  line-height: 1.7;
  color: var(--wb-card-text) !important;
  margin-top: 0;
  margin-bottom: 1.35rem;
}

/* Lists */
.wb-main-card ul, .wb-main-card ol {
  margin-top: 0;
  margin-bottom: 1.35rem;
  padding-left: 1.6rem;
  color: #334155;
}

.wb-main-card li {
  margin-bottom: 0.45rem;
}

/* Tables */
.wb-main-card table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--wb-radius-md);
  overflow: hidden;
  border: 1px solid var(--wb-primary-border);
  margin: 1.5rem 0;
}

.wb-main-card th {
  background: var(--wb-primary-light);
  font-weight: 700;
  color: var(--wb-primary);
  text-align: left;
  padding: 14px 18px;
  border-bottom: 1px solid var(--wb-primary-border);
}

.wb-main-card td {
  padding: 14px 18px;
  border-bottom: 1px solid #f1f5f9;
  color: var(--wb-text-main);
}

.wb-main-card tr:last-child td {
  border-bottom: none;
}

/* Blockquotes */
.wb-main-card blockquote {
  border-left: 4px solid var(--wb-primary);
  background: var(--wb-primary-light);
  padding: 18px 24px;
  margin: 1.6rem 0;
  border-radius: 0 var(--wb-radius-sm) var(--wb-radius-sm) 0;
  color: var(--wb-text-muted);
  font-style: italic;
}

/* ==========================================================================
   7. Full-Width Site Footer
   ========================================================================== */
.wb-site-footer, footer {
  width: 100%;
  margin-top: 56px;
  padding: 32px 0 16px;
  border-top: 1px solid var(--wb-primary-border);
  background: transparent !important;
}

.wb-footer-bar, .footer {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 32px !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-align: center;
  color: var(--wb-text-muted) !important;
  font-size: 0.9rem !important;
  background: transparent !important;
}

.wb-powered-by, body.allcssRes div.powered_by {
  font-size: 0.92rem;
  color: var(--wb-text-muted);
  text-align: center;
  margin-top: 8px;
}

.wb-powered-link, .powered_by a {
  color: var(--wb-primary) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.wb-powered-link:hover, .powered_by a:hover {
  color: var(--wb-primary-hover) !important;
  text-decoration: underline !important;
}

/* ==========================================================================
   8. Responsive Layout Adjustments
   ========================================================================== */
@media (max-width: 992px) {
  .wb-layout-container {
    padding: 0 20px;
  }

  .wb-header-banner, .banner {
    padding: 0 20px;
  }

  .wb-layout-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .wb-header-banner, .banner {
    flex-direction: column;
    align-items: flex-start;
  }

  .wb-search-input, #pageInput {
    width: 100% !important;
  }

  .wb-search-input:focus {
    width: 100% !important;
  }

  .wb-search-input-container {
    width: 100%;
  }

  .wb-main-card {
    padding: 28px 24px;
  }
}

/* ==========================================================================
   9. WebsiteBaker Form Module Theme Overrides (`modules/form/`)
   ========================================================================== */
.frm-formular, fieldset.frm-fieldset, .frm-field_table {
  width: 100% !important;
  color: var(--wb-card-text) !important;
}

.frm-field_table td,
.frm-field_table th,
.frm-field_title,
.frm-label,
.frm-checkbox_label,
.frm-radio_label,
.check-container .description {
  color: var(--wb-card-text) !important;
}

.frm-textfield,
.frm-textarea,
.frm-email,
.frm-select,
.frm-input,
.frm-field_table input[type="text"],
.frm-field_table input[type="email"],
.frm-field_table input[type="password"],
.frm-field_table input[type="tel"],
.frm-field_table textarea,
.frm-field_table select,
table.frm-field_table input,
table.frm-field_table textarea {
  background: var(--wb-input-bg) !important;
  border: 1px solid var(--wb-input-border) !important;
  color: var(--wb-input-text) !important;
  border-radius: var(--wb-radius-sm) !important;
  padding: 9px 12px !important;
  font-size: 0.9rem !important;
  outline: none !important;
  transition: all 0.2s ease !important;
  box-shadow: none !important;
}

.frm-field_table input:focus,
.frm-field_table textarea:focus,
.frm-field_table select:focus,
.frm-textfield:focus,
.frm-textarea:focus,
.frm-email:focus {
  border-color: var(--wb-primary) !important;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.25) !important;
}

.frm input.frm-btn,
.frm input[type="submit"],
.frm button[type="submit"],
.frm-btn,
.frm-button,
input.frm-btn {
  background: linear-gradient(135deg, var(--wb-header-bg-mid) 0%, var(--wb-header-bg-end) 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: var(--wb-radius-sm) !important;
  padding: 10px 22px !important;
  font-weight: 600 !important;
  font-size: 0.92rem !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 6px rgba(19, 78, 122, 0.3) !important;
}

.frm input.frm-btn:hover,
.frm input[type="submit"]:hover,
.frm button[type="submit"]:hover,
.frm-btn:hover {
  background: var(--wb-primary-hover) !important;
  box-shadow: 0 4px 12px rgba(19, 78, 122, 0.4) !important;
}
