/* Root element */
.json-document {
  padding: 1em 2em;
}

/* Syntax highlighting for JSON objects */
ul.json-dict, ol.json-array {
  list-style-type: none;
  margin: 0 0 0 1px;
  border-left: 1px dotted #ccc;
  padding-left: 2em;
}
.json-string {
  color: #0B7500;
}
.json-literal {
  color: #1A01CC;
  font-weight: bold;
}

/* Toggle button */
a.json-toggle {
  position: relative;
  color: inherit;
  text-decoration: none;
}
a.json-toggle:focus {
  outline: none;
}
a.json-toggle:before {
  font-size: 1.1em;
  color: #c0c0c0;
  content: "\25BC"; /* down arrow */
  position: absolute;
  display: inline-block;
  width: 1em;
  text-align: center;
  line-height: 1em;
  left: -1.2em;
}
a.json-toggle:hover:before {
  color: #aaa;
}
a.json-toggle.collapsed:before {
  /* Use rotated down arrow, prevents right arrow appearing smaller than down arrow in some browsers */
  transform: rotate(-90deg);
}

/* Collapsable placeholder links */
a.json-placeholder {
  color: #aaa;
  padding: 0 1em;
  text-decoration: none;
}
a.json-placeholder:hover {
  text-decoration: underline;
}
@tailwind base;
@tailwind components;
@tailwind utilities;

/*

@layer components {
  .btn-primary {
    @apply py-2 px-4 bg-blue-200;
  }
}

*/
@tailwind base;
@tailwind components;
@tailwind utilities;

/*

@layer components {
  .btn-primary {
    @apply py-2 px-4 bg-blue-200;
  }
}

*/

@layer base {
  input[type="number"]::-webkit-inner-spin-button,
  input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }
}
/* ===== CSS Variables (newdesign · FRESH mint/green) ===== */
:root {
  /* brand blue scale (kept under --mint-* names; main tone #569ff7) */
  --mint-50:#eff5fe; --mint-100:#dcebfd; --mint-200:#c3ddfb; --mint-300:#9fc8f9;
  --mint-400:#7ab2f8; --mint-500:#66a8f8; --mint-600:#569ff7; --mint-700:#3f86e6;
  --mint-800:#2f6cc0; --mint-900:#285699;
  /* citrus accent + coral */
  --citrus-300:#ffe48a; --citrus-400:#ffd24c; --citrus-500:#f5b400; --coral-500:#ff5a4e;
  --mint-950:#1d3e6e;
  /* gold (premium accents) */
  --gold-soft:#fff0c9; --gold:#f6d27a; --gold-deep:#8a5e00; --gold-line:#d9a93a; --gold-border:#ecd9a8;
  /* warm ink neutrals */
  --ink-950:#0a1410; --ink-900:#0f1d18; --ink-700:#2a3b34; --ink-500:#5b6b65;
  --ink-400:#7e8c87; --ink-300:#b6c1bd; --ink-200:#d9e0dd; --ink-100:#ecf0ee; --ink-50:#f6f8f7;
  --paper:#ffffff;
  --surface-2:#eff5fe;
  --fg-muted:#5b6b65; --fg-faint:#7e8c87; --border-strong:#b6c1bd;

  /* newdesign radius + shadow tokens */
  --r-sm:10px; --r:14px; --r-md:18px; --r-lg:24px; --r-xl:32px; --r-pill:999px;
  --sh-xs:0 1px 2px rgba(15,29,24,.04);
  --sh-sm:0 1px 3px rgba(15,29,24,.06),0 1px 2px rgba(15,29,24,.04);
  --sh:0 6px 16px -4px rgba(15,29,24,.08),0 2px 4px rgba(15,29,24,.04);
  --sh-mint:0 12px 30px -6px rgba(86,159,247,.40);
  --dur:.22s; --ease:cubic-bezier(.22,1,.36,1);

  /* mapped to the names used across booking.css */
  --primary: #569ff7;
  --primary-light: #eff5fe;
  --primary-dark: #3f86e6;
  --accent: #ffd24c;
  --accent-light: #ffe48a;
  --text: #0f1d18;
  --text-light: #5b6b65;
  --bg: #f6f8f7;
  --white: #ffffff;
  --border: #d9e0dd;
  --border-hover: #b6c1bd;
  --success: #569ff7;
  --danger: #ff5a4e;
  --radius: 14px;
  --radius-sm: 10px;
  --radius-lg: 24px;
  --shadow: 0 1px 3px rgba(15,29,24,.06), 0 1px 2px rgba(15,29,24,.04);
  --shadow-md: 0 14px 30px -8px rgba(15,29,24,.12), 0 4px 8px rgba(15,29,24,.05);
  --shadow-lg: 0 30px 60px -20px rgba(15,29,24,.18), 0 8px 16px rgba(15,29,24,.06);
  --transition: all .22s cubic-bezier(.22,1,.36,1);

  --font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-display: "Plus Jakarta Sans", "Inter", system-ui, sans-serif;
}

/* ===== Reset & Base ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* Tailwind Preflight is disabled, but its border-* / divide-* utilities only set
   border-width and rely on a base that sets border-style: solid. Re-add just that
   base so those utilities render. Low specificity, so Tailwind utilities and
   booking.css class borders still win. */
*, ::before, ::after {
  border-width: 0;
  border-style: solid;
  border-color: var(--border);
}

body {
  font-family: var(--font-sans);
  background:
    radial-gradient(900px 600px at 110% -10%, rgba(86,159,247,0.12), transparent 60%),
    radial-gradient(700px 500px at -10% 110%, rgba(255,210,76,0.10), transparent 60%),
    var(--bg);
  background-attachment: fixed;
  color: var(--text);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Display font for headings */
.step-title, .booking-header .tagline, .package-name, .summary-panel h3 {
  font-family: var(--font-display);
}

/* ===== Layout ===== */
.booking-wrapper {
  max-width: 960px;
  margin: 0 auto;
  padding: 20px 16px 40px;
}

/* ===== Header ===== */
.booking-header {
  text-align: center;
  padding: 24px 0 20px;
}

.booking-header .logo {
  height: 48px;
  margin-bottom: 8px;
}

.booking-header .tagline {
  font-size: 14px;
  color: var(--text-light);
  font-weight: 500;
}

/* ===== Stepper ===== */
.stepper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0;
  margin: 0 auto 32px;
  max-width: 600px;
}

.stepper-step {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.stepper-circle {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 17px;
  background: var(--ink-100);
  color: var(--ink-400);
  transition: var(--transition);
  flex-shrink: 0;
}

.stepper-circle.active {
  background: var(--mint-900);
  color: #fff;
  box-shadow: 0 0 0 5px var(--mint-100);
}

.stepper-circle.done {
  background: var(--mint-500);
  color: #fff;
}

/* newdesign stepper is number-only (no text labels) */
.stepper-label {
  display: none;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-light);
  white-space: nowrap;
}

.stepper-label.active { color: var(--primary); }
.stepper-label.done { color: var(--success); }

.stepper-line {
  flex: 1 1 auto;
  height: 3px;
  background: var(--ink-200);
  margin: 0 8px;
  border-radius: 3px;
  transition: var(--transition);
}

.stepper-line.done { background: var(--mint-500); }

/* ===== Step Panels ===== */
.step-panel {
  display: none;
  animation: fadeIn 0.3s ease;
}

.step-panel.active { display: block; }

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .step-panel { animation: none !important; }
}

.step-title {
  font-family: var(--font-display);
  font-size: 25px;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin-bottom: 8px;
  color: var(--ink-900);
}

.step-subtitle {
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--fg-muted);
  margin-bottom: 24px;
}

/* ===== Search Input ===== */
.search-box {
  position: relative;
  margin-bottom: 20px;
}

.search-box input {
  width: 100%;
  min-height: 54px;
  padding: 15px 16px 15px 46px;
  border: 1.5px solid var(--border);
  border-radius: var(--r-md);
  font-size: 15px;
  font-family: var(--font-sans);
  color: var(--ink-900);
  background: var(--paper);
  transition: var(--transition);
  outline: none;
}

.search-box input:focus {
  border-color: var(--mint-500);
  box-shadow: 0 0 0 3px var(--mint-100);
}

.search-box input::placeholder { color: var(--ink-400); }

.search-box .search-icon {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  color: var(--ink-400);
}

/* ===== Card Grids ===== */
.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 12px;
  margin-bottom: 24px;
}

.card-grid--models {
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
}

.card-item {
  background: var(--paper);
  border: 1.5px solid var(--border);
  border-radius: var(--r-lg);
  padding: 18px 10px;
  text-align: center;
  cursor: pointer;
  transition: all var(--dur) var(--ease);
  box-shadow: var(--sh-xs);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 11px;
}

.card-item:hover {
  border-color: var(--mint-300);
}

.card-item.selected {
  border: 2px solid var(--mint-500);
  background: var(--mint-50);
  box-shadow: 0 10px 24px -10px rgba(86,159,247,.4);
}

/* brand-mono tile holds the logo */
.card-item .card-icon {
  width: 44px;
  height: 44px;
  border-radius: 13px;
  background: var(--surface-2);
  display: grid;
  place-items: center;
  line-height: 1;
}

.card-item .brand-logo {
  width: 28px;
  height: 28px;
  object-fit: contain;
  display: block;
}

.card-item .card-label {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--ink-900);
  word-break: break-word;
}

.card-item .card-img {
  width: 64px;
  height: 80px;
  object-fit: contain;
}

/* ===== Repair List ===== */
.repair-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 24px;
}

.repair-item {
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--paper);
  border: 1.5px solid var(--border);
  border-radius: var(--r-lg);
  padding: 16px 18px;
  cursor: pointer;
  box-shadow: var(--sh-xs);
  transition: all var(--dur) var(--ease);
}

/* radio circle (left) */
.repair-item::before {
  content: "";
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 2px solid var(--border-strong);
  display: grid;
  place-items: center;
  font-size: 13px;
  font-weight: 800;
  color: #fff;
  transition: var(--transition);
}

.repair-item:hover { border-color: var(--mint-300); }

.repair-item.selected {
  border: 2px solid var(--mint-500);
  background: var(--mint-50);
  box-shadow: 0 10px 24px -12px rgba(86,159,247,.4);
}

.repair-item.selected::before {
  content: "\2713";
  border: 0;
  background: var(--mint-500);
}

.repair-item .repair-name {
  flex: 1;
  min-width: 0;
  font-size: 15px;
  font-weight: 700;
  color: var(--ink-900);
  line-height: 1.3;
}

.repair-item .repair-price {
  flex: 0 0 auto;
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 800;
  color: var(--mint-700);
  white-space: nowrap;
  margin-left: 8px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1.15;
}

/* Reparaturbonus price in a repair-list row */
.repair-item .repair-price-bonus {
  color: var(--success);
  font-weight: 800;
}

.repair-item .repair-price-original {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-light);
  text-decoration: line-through;
}

/* ===== Package Cards ===== */
.package-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 32px;
}

.package-card {
  background: var(--white);
  border: 2px solid var(--border);
  border-radius: 20px;
  padding: 28px 20px 24px;
  cursor: pointer;
  transition: var(--transition);
  position: relative;
  display: flex;
  flex-direction: column;
}

.package-card:hover {
  border-color: var(--primary);
  box-shadow: var(--shadow-lg);
  transform: translateY(-4px);
}

.package-card.selected {
  border-color: var(--primary);
  background: var(--primary-light);
  box-shadow: 0 0 0 3px var(--primary-light), var(--shadow-lg);
}

/* Premium = dark-green hero card (newdesign) */
.package-card.recommended {
  background: linear-gradient(160deg, #11653b 0%, #0e5333 100%);
  border-color: transparent;
  color: #fff;
  box-shadow: var(--shadow-md);
}
.package-card.recommended:hover { border-color: transparent; }
.package-card.recommended.selected {
  background: linear-gradient(160deg, #11653b 0%, #0e5333 100%);
  box-shadow: 0 0 0 3px var(--mint-300), var(--shadow-md);
}
.package-card.recommended .package-name { color: #fff; }
.package-card.recommended .package-tagline { color: var(--mint-200); font-style: normal; }
.package-card.recommended .package-features li { color: #f0fff6; }
.package-card.recommended .package-features li::before { color: var(--mint-300); }
.package-card.recommended .package-icon { color: var(--citrus-400); }
.package-card.recommended .package-price-row { border-top-color: rgba(255,255,255,0.18); }
.package-card.recommended .package-price,
.package-card.recommended .package-price .price-bonus { color: #fff; }
.package-card.recommended .package-price .price-original { color: rgba(255,255,255,0.6); }
.package-card.recommended .package-price .price-bonus-note { color: var(--mint-200); }
.package-card.recommended .package-cta {
  background: #fff;
  color: var(--mint-800);
  border-color: #fff;
}
.package-card.recommended .package-cta:hover { background: var(--mint-50); color: var(--mint-900); }

.package-badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--citrus-400);
  color: var(--mint-900);
  font-size: 11px;
  font-weight: 800;
  padding: 5px 14px;
  border-radius: 999px;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-shadow: 0 4px 10px rgba(245,180,0,0.35);
}

.package-card .package-icon {
  width: 46px;
  height: 46px;
  margin: 0 auto 12px;
  border-radius: 13px;
  background: var(--mint-50);
  display: grid;
  place-items: center;
}

/* Local package icons rendered as CSS masks so the color follows the card */
.package-card .package-icon::before {
  content: "";
  width: 26px;
  height: 26px;
  background-color: var(--mint-700);
  -webkit-mask: var(--pkg-icon) center / contain no-repeat;
  mask: var(--pkg-icon) center / contain no-repeat;
}
.package-card[data-package="standard"] .package-icon::before { --pkg-icon: url(/packages/standard.svg); }
.package-card[data-package="premium"]  .package-icon::before { --pkg-icon: url(/packages/premium.svg); }
.package-card[data-package="vip"]      .package-icon::before { --pkg-icon: url(/packages/vip.svg); }

/* On the dark-green Premium hero: translucent tile + citrus icon */
.package-card.recommended .package-icon { background: rgba(255,255,255,0.14); }
.package-card.recommended .package-icon::before { background-color: var(--citrus-400); }

.package-card .package-name {
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 4px;
}

.package-card .package-tagline {
  font-size: 13px;
  color: var(--text-light);
  text-align: center;
  margin-bottom: 16px;
  font-style: italic;
  min-height: 20px;
}

.package-features {
  list-style: none;
  flex: 1;
  margin-bottom: 20px;
}

.package-features li {
  font-size: 13px;
  padding: 5px 0;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: var(--text);
}

.package-features li::before {
  content: "\2713";
  color: var(--success);
  font-weight: 700;
  flex-shrink: 0;
}

.package-price-row {
  text-align: center;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

.package-price {
  font-size: 28px;
  font-weight: 800;
  color: var(--text);
}

.package-price .currency {
  font-size: 18px;
  font-weight: 600;
}

/* Reparaturbonus price display inside a package card */
.package-price .price-bonus {
  display: block;
  font-size: 28px;
  font-weight: 800;
  color: var(--success);
  line-height: 1.1;
}

.package-price .price-original {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-light);
  text-decoration: line-through;
  margin-top: 2px;
}

.package-price .price-bonus-note {
  display: block;
  font-size: 10px;
  font-weight: 700;
  color: var(--success);
  margin-top: 3px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.package-cta {
  display: inline-block;
  margin-top: 12px;
  padding: 10px 24px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  border: 2px solid var(--primary);
  color: var(--primary);
  background: transparent;
  cursor: pointer;
  transition: var(--transition);
  width: 100%;
}

.package-cta:hover,
.package-card.selected .package-cta {
  background: var(--primary);
  color: var(--white);
}

/* ===== Step 2 — newdesign (premium hero + compact cards) ===== */
.ic { width:1em; height:1em; display:inline-block; fill:none; stroke:currentColor;
  stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex:0 0 auto; }

.package-stack { max-width:480px; margin:0 auto; display:grid; gap:18px; }

.compact-card .btn { margin-top:15px; }

/* Desktop: Premium / Standard / VIP side by side, equal height */
@media (min-width:769px) {
  .package-stack {
    max-width:none;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    align-items:stretch;
  }
  .package-stack .reco-label,
  .package-stack .section-label { display:none; }

  /* stretch the compact cards to match the Premium hero, CTA pinned to bottom */
  .package-stack .compact-card { display:flex; flex-direction:column; }
  .package-stack .compact-card .btn { margin-top:auto; }

  /* Narrow column: move the BESTSELLER badge to its own line (top) so it
     doesn't overflow the right edge. Mobile keeps it inline at top-right. */
  .package-stack .premium-hero .ph-top { flex-wrap:wrap; }
  .package-stack .premium-hero .badge-bestseller { order:-1; margin-bottom:8px; }
}

.reco-label, .section-label { display:flex; align-items:center; gap:10px; }
.reco-label .line, .section-label .line { height:1px; flex:1; background:var(--border); }
.reco-label .txt { display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase; color:var(--mint-700); }
.reco-label .txt .ic { width:14px; height:14px; stroke-width:2; }
.section-label .txt { font-size:12px; font-weight:700; color:var(--fg-faint); letter-spacing:.04em; }

.premium-hero { position:relative; overflow:hidden; border-radius:var(--r-xl); color:#fff; cursor:pointer;
  background:linear-gradient(155deg,var(--mint-700) 0%,var(--mint-800) 55%,var(--mint-950) 100%);
  box-shadow:0 32px 70px -24px rgba(40,86,153,.55); }
.premium-hero .glow { position:absolute; top:-90px; right:-70px; width:260px; height:260px; border-radius:50%;
  background:radial-gradient(circle,rgba(159,200,249,.5),transparent 65%); pointer-events:none; }
.premium-hero .inner { position:relative; padding:24px 22px; }
.ph-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.ph-id { display:flex; align-items:center; gap:12px; }
.ph-glyph { width:46px; height:46px; border-radius:13px; display:grid; place-items:center;
  background:rgba(255,255,255,.16); color:#fff; } .ph-glyph .ic { width:25px; height:25px; }
.ph-name { font-family:var(--font-display); font-weight:800; font-size:23px; letter-spacing:-.02em; }
.ph-tag { font-size:12.5px; font-weight:600; color:rgba(255,255,255,.85); }
.badge-bestseller { display:inline-flex; align-items:center; gap:5px; padding:6px 11px; border-radius:var(--r-pill);
  background:linear-gradient(135deg,#ffd24c,#f5871f); color:#3a2400; font-size:11px; font-weight:800;
  letter-spacing:.05em; white-space:nowrap; } .badge-bestseller .ic { width:12px; height:12px; stroke-width:2.4; }
.ph-divider { height:1px; background:rgba(255,255,255,.18); margin:20px 0 16px; }
.ph-price-row { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:16px; }
.ph-price { display:flex; align-items:baseline; gap:10px; }
.ph-now { font-family:var(--font-display); font-weight:800; font-size:38px; letter-spacing:-.03em; line-height:1; white-space:nowrap; }
.ph-was { font-size:14px; font-weight:700; color:rgba(255,255,255,.7); text-decoration:line-through; white-space:nowrap; }
.ph-bonus { font-size:11px; font-weight:800; letter-spacing:.08em; color:var(--mint-300); margin-top:6px; }
.ph-save { display:inline-flex; align-items:center; gap:5px; margin-top:12px; padding:7px 12px; border-radius:var(--r-pill);
  background:rgba(255,255,255,.16); font-size:11.5px; font-weight:700; white-space:nowrap; }
.ph-save .ic { width:12px; height:12px; stroke-width:3; }

.compact-card { background:var(--paper); border:1px solid var(--border); border-radius:var(--r-lg);
  padding:18px; box-shadow:var(--sh-xs); cursor:pointer; transition:all var(--dur) var(--ease); }
.compact-card:hover { border-color:var(--mint-300); }
.cc-top { display:flex; align-items:center; gap:13px; }
.cc-glyph { width:42px; height:42px; flex:0 0 auto; border-radius:12px; display:grid; place-items:center; }
.cc-glyph.mint { background:var(--mint-100); color:var(--mint-700); }
.cc-glyph.gold { background:linear-gradient(135deg,var(--gold-soft),var(--gold)); color:var(--gold-deep); }
.cc-glyph .ic { width:22px; height:22px; }
.cc-name { font-family:var(--font-display); font-weight:800; font-size:17px; letter-spacing:-.01em; color:var(--ink-900); }
.cc-tag { font-size:12.5px; color:var(--fg-muted); font-weight:600; }
.cc-price { text-align:right; flex:0 0 auto; }
.cc-now { font-family:var(--font-display); font-weight:800; font-size:19px; letter-spacing:-.02em; color:var(--mint-700); white-space:nowrap; }
.cc-was { font-size:11.5px; color:var(--ink-400); font-weight:600; text-decoration:line-through; white-space:nowrap; }

.features { margin:0; padding:0; list-style:none; display:grid; gap:11px; }
.features.tight { gap:9px; }
.feature { display:flex; align-items:flex-start; gap:11px; }
.feature .tick { flex:0 0 auto; width:21px; height:21px; margin-top:1px; border-radius:50%;
  display:grid; place-items:center; background:var(--mint-100); color:var(--mint-700); }
.feature .tick .ic { width:13px; height:13px; stroke-width:2.6; }
.feature .ft { font-size:14px; line-height:1.45; font-weight:500; color:var(--ink-700); }
.feature.strong .ft { font-weight:700; }
.feature.gold .tick { background:#fbe7c2; color:#9a6b00; }
.feature.glass .tick { background:rgba(255,255,255,.2); color:#fff; }
.feature.glass .ft { color:rgba(255,255,255,.95); }

/* ===== Branch Selector ===== */
.branch-select-wrapper {
  margin-bottom: 24px;
}

.branch-select-wrapper label {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 6px;
  display: block;
  color: var(--text);
}

.branch-select-wrapper select {
  width: 100%;
  min-height: 54px;
  padding: 15px 16px;
  border: 1.5px solid var(--border);
  border-radius: var(--r-md);
  font-size: 15px;
  font-weight: 600;
  color: var(--ink-900);
  background: var(--paper);
  outline: none;
  transition: var(--transition);
  appearance: auto;
}

.branch-select-wrapper select:focus {
  border-color: var(--mint-500);
  box-shadow: 0 0 0 3px var(--mint-100);
}

/* ===== Calendar & Time ===== */
.calendar-time-wrapper {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  margin-bottom: 24px;
}

.calendar-container {
  flex: 1;
  min-width: 0;
}

/* Desktop: let the calendar grow to fill the space beside the time slots.
   Flatpickr hard-codes pixel widths on its inner containers, so we also have
   to stretch those for the day grid to actually widen. */
@media (min-width: 769px) {
  .calendar-container {
    flex: 1;
  }

  .flatpickr-calendar.inline {
    max-width: none !important;
  }

  .flatpickr-calendar.inline .flatpickr-rContainer,
  .flatpickr-calendar.inline .flatpickr-days,
  .flatpickr-calendar.inline .dayContainer {
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
  }

  /* Days fill 1/7 of the row instead of a fixed 39px box */
  .flatpickr-calendar.inline .flatpickr-day {
    max-width: none !important;
    height: 44px;
    line-height: 44px;
  }
}

/* Flatpickr overrides */
.flatpickr-calendar.inline {
  border: 2px solid var(--border) !important;
  border-radius: var(--radius) !important;
  box-shadow: none !important;
  width: 100% !important;
  max-width: 340px;
}

.flatpickr-day.selected,
.flatpickr-day.selected:hover {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
}

.flatpickr-day:hover {
  background: var(--primary-light) !important;
  border-color: var(--primary) !important;
}

.time-slots {
  width: 160px;
  max-height: 320px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex-shrink: 0;
}

.time-slot-btn {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 50px;
  padding: 12px 8px;
  text-align: center;
  font-family: var(--font-display);
  font-size: 14.5px;
  font-weight: 800;
  border: 1.5px solid var(--border);
  border-radius: var(--r-md);
  background: var(--paper);
  color: var(--ink-900);
  box-shadow: var(--sh-xs);
  cursor: pointer;
  transition: var(--transition);
}

.time-slot-btn:hover {
  border-color: var(--mint-300);
}

.time-slot-btn.selected {
  border: 0;
  background: var(--mint-800);
  color: #fff;
  box-shadow: 0 8px 18px -8px rgba(47,108,192,.5);
}

/* ===== Upgrade Slots ===== */
.upgrade-no-slots {
  text-align: center;
  padding: 16px 12px;
  color: var(--text-light);
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 12px;
}

.upgrade-section {
  margin-bottom: 16px;
}

.upgrade-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--border);
}

.upgrade-tier-icon {
  font-size: 18px;
  line-height: 1;
}

.upgrade-tier-label {
  font-size: 14px;
  font-weight: 700;
  color: var(--text);
}

.upgrade-price-badge {
  font-size: 12px;
  font-weight: 700;
  color: var(--accent);
  background: var(--accent-light);
  padding: 2px 8px;
  border-radius: 12px;
  margin-left: auto;
}

.upgrade-slots-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.upgrade-slots-row .time-slot-btn {
  width: auto;
  min-width: 70px;
  flex: 0 0 auto;
}

/* ===== Contact Form ===== */
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 24px;
}

.form-group {
  display: flex;
  flex-direction: column;
}

.form-group.full-width { grid-column: 1 / -1; }

.form-group label {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 4px;
}

.form-group label .required { color: var(--danger); }

.form-group input,
.form-group textarea {
  width: 100%;
  min-height: 54px;
  padding: 15px 16px;
  border: 1.5px solid var(--border);
  border-radius: var(--r-md);
  font-size: 15px;
  color: var(--ink-900);
  background: var(--paper);
  outline: none;
  transition: var(--transition);
  font-family: var(--font-sans);
}

.form-group textarea { min-height: 96px; resize: none; line-height: 1.5; }

.form-group input:focus,
.form-group textarea:focus {
  border-color: var(--mint-500);
  box-shadow: 0 0 0 3px var(--mint-100);
}

.form-group input.is-invalid,
.form-group textarea.is-invalid {
  border-color: var(--danger);
}

.form-group .invalid-feedback {
  font-size: 12px;
  color: var(--danger);
  margin-top: 4px;
  display: none;
}

.form-group input.is-invalid ~ .invalid-feedback,
.form-group textarea.is-invalid ~ .invalid-feedback { display: block; }

/* ===== Summary Panel ===== */
.summary-panel {
  background: var(--white);
  border: 2px solid var(--border);
  border-radius: var(--radius);
  padding: 24px;
  margin-bottom: 24px;
}

.summary-panel h3 {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 16px;
  color: var(--text);
}

.summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  font-size: 14px;
}

.summary-row + .summary-row {
  border-top: 1px solid var(--border);
}

.summary-row .label { color: var(--text-light); }
.summary-row .value { font-weight: 600; }

.summary-row.total {
  padding-top: 12px;
  margin-top: 4px;
  border-top: 2px solid var(--text);
}

.summary-row.total .label {
  font-weight: 700;
  color: var(--text);
  font-size: 16px;
}

.summary-row.total .value {
  font-size: 22px;
  font-weight: 800;
  color: var(--primary);
}

/* ===== Reparaturbonus ===== */
.bonus-box {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid var(--success);
  border-radius: var(--radius);
  background: rgba(16, 185, 129, 0.06);
}

.bonus-head {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
}

.bonus-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  background: var(--success);
  color: var(--white);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.bonus-info-btn {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  color: var(--success);
}

.bonus-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
  padding: 4px 0;
}

.bonus-label { color: var(--text-light); }

.bonus-deduction {
  font-weight: 700;
  color: var(--success);
}

.bonus-row--final {
  padding-top: 10px;
  margin-top: 4px;
  border-top: 1px dashed var(--success);
}

.bonus-row--final .bonus-label {
  font-weight: 700;
  color: var(--text);
  font-size: 15px;
}

.bonus-price {
  font-size: 22px;
  font-weight: 800;
  color: var(--success);
}

.bonus-disclaimer {
  margin-top: 10px;
  font-size: 12px;
  color: var(--text-light);
  line-height: 1.5;
}

.bonus-disclaimer a {
  color: var(--primary);
  font-weight: 600;
  text-decoration: none;
}

/* ===== Buttons ===== */
.btn-row {
  display: flex;
  gap: 12px;
  margin-top: 24px;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 52px;
  padding: 14px 22px;
  border-radius: var(--r-md);
  font-family: var(--font-display);
  font-size: 15.5px;
  font-weight: 800;
  letter-spacing: -0.01em;
  cursor: pointer;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  border: 1.5px solid transparent;
  text-align: center;
}
.btn:hover { transform: translateY(-1px); }

.btn-primary {
  flex: 1;
  background: linear-gradient(135deg, var(--mint-600), var(--mint-800));
  color: #fff;
  box-shadow: var(--sh-mint);
}

.btn-primary:disabled { opacity: 0.5; cursor: not-allowed; transform: none; box-shadow: none; }

.btn-secondary {
  flex: 0 0 auto;
  background: var(--paper);
  border-color: var(--border-strong);
  color: var(--fg-muted);
  font-weight: 700;
}

.btn-secondary:hover { border-color: var(--ink-400); }

.btn-full { width: 100%; }

/* Step-2 package button variants (after .btn so they override its border/radius) */
.btn-white { width:100%; background:#fff; color:var(--mint-800); border:0; border-radius:var(--r-pill);
  box-shadow:0 12px 26px -10px rgba(0,0,0,.4); }
.btn-outline { width:100%; background:var(--paper); color:var(--mint-700); border:1.5px solid var(--border-strong);
  border-radius:var(--r-pill); }
.btn-outline:hover { border-color:var(--ink-400); }
.btn-dark { width:100%; background:var(--mint-900); color:#fff; border:0; border-radius:var(--r-pill);
  box-shadow:0 10px 24px -8px rgba(40,86,153,.5); }

/* ===== Checkbox ===== */
.checkbox-group {
  margin-bottom: 20px;
}

.checkbox-group label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  color: var(--text);
  cursor: pointer;
  line-height: 1.5;
}

.checkbox-group input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--primary);
  flex-shrink: 0;
}

.checkbox-group a {
  color: var(--primary);
  text-decoration: underline;
}

.agb-invalid-feedback {
  font-size: 12px;
  color: var(--danger);
  margin-top: 4px;
  display: none;
}

/* ===== Selected Info Pill ===== */
.selection-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}

.selection-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--mint-50);
  color: var(--mint-800);
  border: 1.5px solid var(--mint-300);
  border-radius: var(--r-pill);
  padding: 8px 14px;
  font-size: 13.5px;
  font-weight: 700;
}

.selection-pill .pill-clear {
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  opacity: 0.7;
}

.selection-pill .pill-clear:hover { opacity: 1; }

/* ===== Loading spinner ===== */
.loading-spinner {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px;
}

.loading-spinner::after {
  content: "";
  width: 32px;
  height: 32px;
  border: 3px solid var(--border);
  border-top-color: var(--primary);
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
}

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

/* ===== Empty state ===== */
.empty-state {
  text-align: center;
  padding: 40px 20px;
  color: var(--text-light);
  font-size: 14px;
}

/* ===== Footer ===== */
.booking-footer {
  text-align: center;
  padding: 20px;
  font-size: 13px;
  color: var(--text-light);
}

.booking-footer a {
  color: var(--primary);
  text-decoration: none;
  font-weight: 600;
}

.booking-footer img {
  width: 24px;
  vertical-align: middle;
  margin-right: 4px;
  border: 1px solid var(--border);
  border-radius: 3px;
}

/* ===== Thanks Page ===== */
.thanks-panel {
  text-align: center;
}

.thanks-icon {
  width: 56px;
  height: 56px;
  margin: 4px auto 16px;
  border-radius: 50%;
  background: var(--primary-light);
  color: var(--primary);
  display: flex;
  align-items: center;
  justify-content: center;
}

.thanks-title { margin-bottom: 6px; }
.thanks-subtitle { margin-bottom: 20px; }

.thanks-text {
  text-align: left;
  font-size: 14px;
  color: var(--text-light);
  line-height: 1.7;
  margin-bottom: 20px;
}

.thanks-business {
  text-align: left;
  font-size: 14px;
  color: var(--text);
  line-height: 1.7;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

.thanks-business strong {
  display: block;
  margin-bottom: 2px;
}

/* ===== Trust reviews (Google) ===== */
.reviews-section { max-width: 480px; margin: 22px auto 0; }

.reviews-head {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  flex-wrap: wrap; margin-bottom: 12px;
}
.reviews-rating { display: inline-flex; align-items: center; gap: 7px; }
.reviews-g { display: inline-flex; }
.reviews-score { font-family: var(--font-display); font-weight: 800; font-size: 16px; color: var(--ink-900); }
.reviews-rating .reviews-stars { color: #f5b400; font-size: 14px; letter-spacing: 1px; }
.reviews-count { font-size: 12.5px; color: var(--fg-muted); font-weight: 600; }
.reviews-link {
  display: inline-flex; align-items: center; gap: 5px; white-space: nowrap;
  font-size: 13px; font-weight: 700; color: var(--mint-700); text-decoration: none;
}
.reviews-link:hover { text-decoration: underline; text-underline-offset: 2px; }

.reviews { display: grid; grid-template-columns: 1fr; gap: 14px; }
/* mobile: show only the first review */
.reviews .review:nth-child(n+2) { display: none; }

.review {
  background: var(--paper); border: 1px solid var(--border);
  border-radius: var(--r-lg); padding: 16px 18px; box-shadow: var(--sh-xs);
}
.review-top { display: flex; align-items: center; gap: 11px; margin-bottom: 10px; }
.review-avatar {
  width: 38px; height: 38px; flex: 0 0 auto; border-radius: 50%;
  display: grid; place-items: center; object-fit: cover;
  background: var(--mint-100); color: var(--mint-700);
  font-family: var(--font-display); font-weight: 800; font-size: 15px;
}
.review-id { flex: 1; min-width: 0; }
.review-author {
  font-size: 14px; font-weight: 700; color: var(--ink-900); line-height: 1.2;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.review-stars { color: #f5b400; font-size: 13px; letter-spacing: 1px; line-height: 1.5; }
.review-google { flex: 0 0 auto; display: inline-flex; }
.review-text {
  font-size: 13.5px; line-height: 1.5; color: var(--ink-700);
  display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
}

@media (min-width: 769px) {
  .reviews-section { max-width: none; }
  .reviews { grid-template-columns: repeat(3, 1fr); }
  .reviews .review:nth-child(n+2) { display: block; }
}

/* ===== Modal ===== */
.modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.4);
  z-index: 1000;
  justify-content: center;
  align-items: center;
}

.modal-overlay.show { display: flex; }

.modal-box {
  background: var(--white);
  border-radius: var(--radius);
  padding: 32px;
  max-width: 480px;
  width: 90%;
  box-shadow: var(--shadow-lg);
}

.modal-box h3 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
}

.modal-box p {
  font-size: 14px;
  color: var(--text-light);
  line-height: 1.6;
  margin-bottom: 8px;
}

.modal-box .btn { margin-top: 16px; }

/* ===== Responsive ===== */
@media (max-width: 768px) {
  .package-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .package-card { padding: 24px 16px 20px; }

  .calendar-time-wrapper {
    flex-direction: column;
    align-items: center;
  }

  .calendar-container {
    display: flex;
    justify-content: center;
  }

  .flatpickr-calendar {
    margin: 0 auto;
  }

  .time-slots {
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    max-height: none;
  }

  .time-slot-btn { width: auto; flex: 1; min-width: 80px; }

  .time-slots {
    max-height: none;
  }

  .upgrade-slots-row .time-slot-btn { min-width: 70px; flex: 1; }

  .form-grid { grid-template-columns: 1fr; }

  .stepper-label { display: none; }

  .stepper { gap: 0; }

  .card-grid { grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 8px; }

  .btn-row { flex-direction: column; }

  .flatpickr-calendar.inline { max-width: 100% !important; }
}

@media (max-width: 480px) {
  .booking-wrapper { padding: 12px 10px 32px; }
  .step-title { font-size: 18px; }
  .package-price { font-size: 24px; }
}
#cc-main {
  background: transparent;
  color: var(--cc-primary-color);
  font-family: var(--cc-font-family);
  font-size: 16px;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.15;
  position: relative;
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
  position: fixed;
  z-index: var(--cc-z-index)
}

#cc-main :after,#cc-main :before,#cc-main a,#cc-main button,#cc-main div,#cc-main h2,#cc-main input,#cc-main p,#cc-main span {
  all: unset;
  box-sizing: border-box
}

#cc-main .pm__badge,#cc-main button {
  all: initial;
  box-sizing: border-box;
  color: unset;
  visibility: unset
}

#cc-main .pm__badge,#cc-main a,#cc-main button,#cc-main input {
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  font-family: inherit;
  font-size: 100%;
  line-height: normal;
  margin: 0;
  outline: revert;
  outline-offset: 2px;
  overflow: hidden
}

#cc-main table,#cc-main tbody,#cc-main td,#cc-main th,#cc-main thead,#cc-main tr {
  all: revert;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit
}

:root {
  --cc-font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  --cc-modal-border-radius: .5rem;
  --cc-btn-border-radius: .4rem;
  --cc-modal-transition-duration: .25s;
  --cc-link-color: var(--cc-btn-primary-bg);
  --cc-modal-margin: 1rem;
  --cc-z-index: 2147483647;
  --cc-bg: #fff;
  --cc-primary-color: #2c2f31;
  --cc-secondary-color: #5e6266;
  --cc-btn-primary-bg: #30363c;
  --cc-btn-primary-color: #fff;
  --cc-btn-primary-border-color: var(--cc-btn-primary-bg);
  --cc-btn-primary-hover-bg: #000;
  --cc-btn-primary-hover-color: #fff;
  --cc-btn-primary-hover-border-color: var(--cc-btn-primary-hover-bg);
  --cc-btn-secondary-bg: #eaeff2;
  --cc-btn-secondary-color: var(--cc-primary-color);
  --cc-btn-secondary-border-color: var(--cc-btn-secondary-bg);
  --cc-btn-secondary-hover-bg: #d4dae0;
  --cc-btn-secondary-hover-color: #000;
  --cc-btn-secondary-hover-border-color: #d4dae0;
  --cc-separator-border-color: #f0f4f7;
  --cc-toggle-on-bg: var(--cc-btn-primary-bg);
  --cc-toggle-off-bg: #667481;
  --cc-toggle-on-knob-bg: #fff;
  --cc-toggle-off-knob-bg: var(--cc-toggle-on-knob-bg);
  --cc-toggle-enabled-icon-color: var(--cc-bg);
  --cc-toggle-disabled-icon-color: var(--cc-bg);
  --cc-toggle-readonly-bg: #d5dee2;
  --cc-toggle-readonly-knob-bg: #fff;
  --cc-toggle-readonly-knob-icon-color: var(--cc-toggle-readonly-bg);
  --cc-section-category-border: var(--cc-cookie-category-block-bg);
  --cc-cookie-category-block-bg: #f0f4f7;
  --cc-cookie-category-block-border: #f0f4f7;
  --cc-cookie-category-block-hover-bg: #e9eff4;
  --cc-cookie-category-block-hover-border: #e9eff4;
  --cc-cookie-category-expanded-block-bg: transparent;
  --cc-cookie-category-expanded-block-hover-bg: #dee4e9;
  --cc-overlay-bg: rgba(0,0,0,.65);
  --cc-webkit-scrollbar-bg: var(--cc-section-category-border);
  --cc-webkit-scrollbar-hover-bg: var(--cc-btn-primary-hover-bg);
  --cc-footer-bg: var(--cc-btn-secondary-bg);
  --cc-footer-color: var(--cc-secondary-color);
  --cc-footer-border-color: #e4eaed;
  --cc-pm-toggle-border-radius: 4em
}

#cc-main.cc--rtl {
  direction: rtl
}

#cc-main .cm__title,#cc-main a,#cc-main b,#cc-main em,#cc-main strong {
  font-weight: 600
}

#cc-main button>span {
  pointer-events: none
}

#cc-main .cc__link,#cc-main a {
  background-image: linear-gradient(currentColor,currentColor);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0 1px;
  font-weight: 600;
  position: relative;
  transition: background-size .25s,color .25s ease
}

#cc-main .cc__link:hover,#cc-main a:hover {
  background-size: 100% 1px;
  color: var(--cc-primary-color)
}

#cc-main .cc__link {
  color: var(--cc-link-color)
}

#cc-main .cm__desc,#cc-main .pm__body {
  overscroll-behavior: auto contain;
  scrollbar-width: thin
}

@media screen and (min-width: 640px) {
  #cc-main ::-webkit-scrollbar,#cc-main ::-webkit-scrollbar-thumb,#cc-main ::-webkit-scrollbar-track {
      all:revert
  }

  #cc-main ::-webkit-scrollbar-thumb {
      -webkit-background-clip: padding-box;
      background-clip: padding-box;
      background: var(--cc-toggle-readonly-bg);
      border: .25rem solid var(--cc-bg);
      border-radius: 1rem
  }

  #cc-main ::-webkit-scrollbar-thumb:hover {
      background: var(--cc-toggle-off-bg)
  }

  #cc-main ::-webkit-scrollbar {
      background: transparent;
      width: 12px
  }
}

html.disable--interaction.show--consent,html.disable--interaction.show--consent body {
  height: auto!important;
  overflow: hidden!important
}

@media (prefers-reduced-motion) {
  #cc-main {
      --cc-modal-transition-duration: 0s
  }
}

.cc--darkmode {
  --cc-bg: #161a1c;
  --cc-primary-color: #ebf3f6;
  --cc-secondary-color: #aebbc5;
  --cc-btn-primary-bg: #c2d0e0;
  --cc-btn-primary-color: var(--cc-bg);
  --cc-btn-primary-border-color: var(--cc-btn-primary-bg);
  --cc-btn-primary-hover-bg: #98a7b6;
  --cc-btn-primary-hover-color: #000;
  --cc-btn-primary-hover-border-color: var(--cc-btn-primary-hover-bg);
  --cc-btn-secondary-bg: #242c31;
  --cc-btn-secondary-color: var(--cc-primary-color);
  --cc-btn-secondary-border-color: var(--cc-btn-secondary-bg);
  --cc-btn-secondary-hover-bg: #353d43;
  --cc-btn-secondary-hover-color: #fff;
  --cc-btn-secondary-hover-border-color: var(--cc-btn-secondary-hover-bg);
  --cc-separator-border-color: #222a30;
  --cc-toggle-on-bg: var(--cc-btn-primary-bg);
  --cc-toggle-off-bg: #525f6b;
  --cc-toggle-on-knob-bg: var(--cc-btn-primary-color);
  --cc-toggle-off-knob-bg: var(--cc-btn-primary-color);
  --cc-toggle-enabled-icon-color: var(--cc-btn-primary-color);
  --cc-toggle-disabled-icon-color: var(--cc-btn-primary-color);
  --cc-toggle-readonly-bg: #343e45;
  --cc-toggle-readonly-knob-bg: #5f6b72;
  --cc-toggle-readonly-knob-icon-color: var(--cc-toggle-readonly-bg);
  --cc-section-category-border: #1e2428;
  --cc-cookie-category-block-bg: #1e2428;
  --cc-cookie-category-block-border: var(--cc-section-category-border);
  --cc-cookie-category-block-hover-bg: #242c31;
  --cc-cookie-category-block-hover-border: #232a2f;
  --cc-cookie-category-expanded-block-bg: transparent;
  --cc-cookie-category-expanded-block-hover-bg: var(--cc-toggle-readonly-bg);
  --cc-overlay-bg: rgba(0,0,0,.65);
  --cc-webkit-scrollbar-bg: var(--cc-section-category-border);
  --cc-webkit-scrollbar-hover-bg: var(--cc-btn-primary-hover-bg);
  --cc-footer-bg: #0c0e0f;
  --cc-footer-color: var(--cc-secondary-color);
  --cc-footer-border-color: #060809
}

.cc--darkmode #cc-main {
  color-scheme: dark
}

#cc-main .cm {
  background: var(--cc-bg);
  border-radius: var(--cc-modal-border-radius);
  box-shadow: 0 .625em 1.875em rgba(0,0,2,.3);
  display: flex;
  flex-direction: column;
  max-width: 24rem;
  opacity: 0;
  overflow: hidden;
  position: fixed;
  transform: translateY(1.6em);
  visibility: hidden;
  z-index: 1
}

#cc-main .cm--top {
  top: var(--cc-modal-margin)
}

#cc-main .cm--middle {
  top: 50%;
  transform: translateY(calc(-50% + 1.6em))
}

#cc-main .cm--bottom {
  bottom: var(--cc-modal-margin)
}

#cc-main .cm--center {
  left: var(--cc-modal-margin);
  margin: 0 auto;
  right: var(--cc-modal-margin);
  width: unset
}

#cc-main .cm--left {
  left: var(--cc-modal-margin);
  margin-right: var(--cc-modal-margin)
}

#cc-main .cm--right {
  margin-left: var(--cc-modal-margin);
  right: var(--cc-modal-margin)
}

#cc-main .cm__body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative
}

#cc-main .cm__btns,#cc-main .cm__links {
  padding: 1rem 1.3rem;
  width: unset
}

#cc-main .cm__texts {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  padding: 1rem 0 0
}

#cc-main .cm__desc,#cc-main .cm__title {
  padding: 0 1.3rem
}

#cc-main .cm__title {
  font-size: 1.05em
}

#cc-main .cm__title+.cm__desc {
  margin-top: 1.1em
}

#cc-main .cm__desc {
  color: var(--cc-secondary-color);
  font-size: .9em;
  line-height: 1.5;
  max-height: 40vh;
  overflow-x: visible;
  overflow-y: auto;
  padding-bottom: 1em
}

#cc-main .cm__btns {
  border-top: 1px solid var(--cc-separator-border-color);
  display: flex;
  flex-direction: column;
  justify-content: center
}

#cc-main .cm__btn-group {
  display: grid;
  grid-auto-columns: minmax(0,1fr)
}

#cc-main .cm__btn+.cm__btn,#cc-main .cm__btn-group+.cm__btn-group {
  margin-top: .375rem
}

#cc-main .cm--flip .cm__btn+.cm__btn,#cc-main .cm--flip .cm__btn-group+.cm__btn-group {
  margin-bottom: .375rem;
  margin-top: 0
}

#cc-main .cm--inline .cm__btn+.cm__btn {
  margin-left: .375rem;
  margin-top: 0
}

#cc-main .cm--inline.cm--flip .cm__btn+.cm__btn {
  margin-bottom: 0;
  margin-left: 0;
  margin-right: .375rem
}

#cc-main .cm--inline.cm--flip .cm__btn-group+.cm__btn-group {
  margin-bottom: .375rem;
  margin-right: 0
}

#cc-main .cm--wide .cm__btn+.cm__btn,#cc-main .cm--wide .cm__btn-group+.cm__btn-group {
  margin-left: .375rem;
  margin-top: 0
}

#cc-main .cm--wide.cm--flip .cm__btn+.cm__btn,#cc-main .cm--wide.cm--flip .cm__btn-group+.cm__btn-group {
  margin-bottom: 0;
  margin-right: .375rem
}

#cc-main .cm--bar:not(.cm--inline) .cm__btn-group--uneven,#cc-main .cm--wide .cm__btn-group--uneven {
  display: flex;
  flex: 1;
  justify-content: space-between
}

#cc-main .cm--bar:not(.cm--inline).cm--flip .cm__btn-group--uneven,#cc-main .cm--wide.cm--flip .cm__btn-group--uneven {
  flex-direction: row-reverse
}

#cc-main .cm__btn {
  background: var(--cc-btn-primary-bg);
  border: 1px solid var(--cc-btn-primary-border-color);
  border-radius: var(--cc-btn-border-radius);
  color: var(--cc-btn-primary-color);
  font-size: .82em;
  font-weight: 600;
  min-height: 42px;
  padding: .5em 1em;
  text-align: center
}

#cc-main .cm__btn:hover {
  background: var(--cc-btn-primary-hover-bg);
  border-color: var(--cc-btn-primary-hover-border-color);
  color: var(--cc-btn-primary-hover-color)
}

#cc-main .cm__btn--secondary {
  background: var(--cc-btn-secondary-bg);
  border-color: var(--cc-btn-secondary-border-color);
  color: var(--cc-btn-secondary-color)
}

#cc-main .cm__btn--secondary:hover {
  background: var(--cc-btn-secondary-hover-bg);
  border-color: var(--cc-btn-secondary-hover-border-color);
  color: var(--cc-btn-secondary-hover-color)
}

#cc-main .cm__btn--close {
  border-radius: 0;
  border-bottom-left-radius: var(--cc-btn-border-radius);
  border-right: none;
  border-top: none;
  display: none;
  font-size: 1em;
  height: 42px;
  min-width: auto!important;
  overflow: hidden;
  padding: 0!important;
  position: absolute;
  right: 0;
  top: 0;
  width: 42px
}

#cc-main .cm__btn--close svg {
  stroke: var(--cc-btn-primary-color);
  transform: scale(.5);
  transition: stroke .15s ease
}

#cc-main .cm__btn--close:hover svg {
  stroke: var(--cc-btn-primary-hover-color)
}

#cc-main .cm__btn--close.cm__btn--secondary svg {
  stroke: var(--cc-btn-secondary-color)
}

#cc-main .cm__btn--close.cm__btn--secondary:hover svg {
  stroke: var(--cc-btn-secondary-hover-color)
}

#cc-main .cm__btn--close+.cm__texts .cm__title {
  padding-right: 3rem
}

#cc-main .cm--inline .cm__btn-group {
  grid-auto-flow: column
}

#cc-main .cm__footer {
  background: var(--cc-footer-bg);
  border-top: 1px solid var(--cc-footer-border-color);
  color: var(--cc-footer-color);
  padding: .4em 0 .5em
}

#cc-main .cm__links {
  display: flex;
  flex-direction: row;
  padding-bottom: 0;
  padding-top: 0
}

#cc-main .cm__link-group {
  display: flex;
  flex-direction: row;
  font-size: .8em;
  width: 100%
}

#cc-main .cm__link-group>*+* {
  margin-left: 1.3rem
}

#cc-main .cm--flip .cm__btn:last-child {
  grid-row: 1
}

#cc-main .cm--inline.cm--flip .cm__btn:last-child {
  grid-column: 1
}

#cc-main .cm--box .cm__btn--close {
  display: block
}

#cc-main .cm--box.cm--flip .cm__btns {
  flex-direction: column-reverse
}

#cc-main .cm--box.cm--wide {
  max-width: 36em
}

#cc-main .cm--box.cm--wide .cm__btns {
  flex-direction: row;
  justify-content: space-between
}

#cc-main .cm--box.cm--wide .cm__btn-group {
  grid-auto-flow: column
}

#cc-main .cm--box.cm--wide .cm__btn {
  min-width: 120px;
  padding-left: 1.8em;
  padding-right: 1.8em
}

#cc-main .cm--box.cm--wide.cm--flip .cm__btns {
  flex-direction: row-reverse
}

#cc-main .cm--box.cm--wide.cm--flip .cm__btn:last-child {
  grid-column: 1
}

#cc-main .cm--cloud {
  max-width: 54em;
  width: unset
}

#cc-main .cm--cloud .cm__body {
  flex-direction: row
}

#cc-main .cm--cloud .cm__texts {
  flex: 1
}

#cc-main .cm--cloud .cm__desc {
  max-height: 9.4em
}

#cc-main .cm--cloud .cm__btns {
  border-left: 1px solid var(--cc-separator-border-color);
  border-top: none;
  max-width: 23em
}

#cc-main .cm--cloud .cm__btn-group {
  flex-direction: column
}

#cc-main .cm--cloud .cm__btn {
  min-width: 19em
}

#cc-main .cm--cloud.cm--flip .cm__btn-group,#cc-main .cm--cloud.cm--flip .cm__btns {
  flex-direction: column-reverse
}

#cc-main .cm--cloud.cm--inline .cm__btn-group {
  flex-direction: row
}

#cc-main .cm--cloud.cm--inline .cm__btn {
  min-width: 10em
}

#cc-main .cm--cloud.cm--inline.cm--flip .cm__btn-group {
  flex-direction: row-reverse
}

#cc-main .cm--bar {
  border-radius: 0;
  left: 0;
  margin: 0;
  max-width: unset;
  opacity: 1;
  right: 0;
  transform: translateY(0);
  width: 100vw;
  --cc-modal-transition-duration: .35s
}

#cc-main .cm--bar.cm--top {
  top: 0;
  transform: translateY(-100%)
}

#cc-main .cm--bar.cm--bottom {
  bottom: 0;
  transform: translateY(100%)
}

#cc-main .cm--bar .cm__body,#cc-main .cm--bar .cm__links {
  margin: 0 auto;
  max-width: 55em;
  width: 100%
}

#cc-main .cm--bar .cm__body {
  padding: .5em 0 .9em
}

#cc-main .cm--bar .cm__btns {
  border-top: none;
  flex-direction: row;
  justify-content: space-between
}

#cc-main .cm--bar .cm__btn-group {
  grid-auto-flow: column
}

#cc-main .cm--bar:not(.cm--inline) .cm__btn+.cm__btn,#cc-main .cm--bar:not(.cm--inline) .cm__btn-group+.cm__btn-group {
  margin-left: .375rem;
  margin-top: 0
}

#cc-main .cm--bar .cm__btn {
  min-width: 120px;
  padding-left: 2em;
  padding-right: 2em
}

#cc-main .cm--bar.cm--flip:not(.cm--inline) .cm__btn+.cm__btn,#cc-main .cm--bar.cm--flip:not(.cm--inline) .cm__btn-group+.cm__btn-group {
  margin-bottom: 0;
  margin-left: 0;
  margin-right: .375rem
}

#cc-main .cm--bar.cm--flip .cm__btns {
  flex-direction: row-reverse
}

#cc-main .cm--bar.cm--flip .cm__btn:last-child {
  grid-column: 1
}

#cc-main .cm--bar.cm--inline .cm__body,#cc-main .cm--bar.cm--inline .cm__links {
  max-width: 74em
}

#cc-main .cm--bar.cm--inline .cm__body {
  flex-direction: row;
  padding: 0
}

#cc-main .cm--bar.cm--inline .cm__btns {
  flex-direction: column;
  justify-content: center;
  max-width: 23em
}

#cc-main .cm--bar.cm--inline.cm--flip .cm__btns {
  flex-direction: column-reverse
}

#cc-main .cc--anim .cm,#cc-main .cc--anim.cm-wrapper:before {
  transition: opacity var(--cc-modal-transition-duration) ease,visibility var(--cc-modal-transition-duration) ease,transform var(--cc-modal-transition-duration) ease
}

#cc-main .cc--anim .cm__btn,#cc-main .cc--anim .cm__close {
  transition: background-color .15s ease,border-color .15s ease,color .15s ease
}

.disable--interaction #cc-main .cm-wrapper:before {
  background: var(--cc-overlay-bg);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: fixed;
  right: 0;
  top: 0;
  visibility: hidden;
  z-index: 0
}

.show--consent #cc-main .cc--anim .cm {
  opacity: 1;
  transform: translateY(0);
  visibility: visible!important
}

.show--consent #cc-main .cc--anim .cm--middle {
  transform: translateY(-50%)
}

.show--consent #cc-main .cc--anim .cm--bar {
  transform: translateY(0)
}

.show--consent #cc-main .cc--anim.cm-wrapper:before {
  opacity: 1;
  visibility: visible
}

#cc-main.cc--rtl .cm__btn--close {
  border-bottom-left-radius: unset;
  border-bottom-right-radius: var(--cc-btn-border-radius);
  left: 0;
  right: unset
}

#cc-main.cc--rtl .cm__btn--close+.cm__texts .cm__title {
  padding-left: 3rem!important;
  padding-right: 1.3rem
}

#cc-main.cc--rtl .cm--inline .cm__btn+.cm__btn {
  margin-left: 0;
  margin-right: .375rem
}

#cc-main.cc--rtl .cm--inline.cm--flip .cm__btn+.cm__btn {
  margin-left: .375rem;
  margin-right: 0
}

#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar .cm__btn-group+.cm__btn-group,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide .cm__btn-group+.cm__btn-group {
  margin-left: 0;
  margin-right: .375rem
}

#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar.cm--flip .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide.cm--flip .cm__btn+.cm__btn {
  margin-left: .375rem;
  margin-right: 0
}

#cc-main.cc--rtl .cm__link-group>*+* {
  margin-left: 0;
  margin-right: 1.3rem
}

@media screen and (max-width: 640px) {
  #cc-main {
      --cc-modal-margin:.5em
  }

  #cc-main .cm {
      max-width: none!important;
      width: auto!important
  }

  #cc-main .cm__body {
      flex-direction: column!important;
      padding: 0!important
  }

  #cc-main .cm__btns,#cc-main .cm__desc,#cc-main .cm__links,#cc-main .cm__title {
      padding-left: 1.1rem!important;
      padding-right: 1.1rem!important
  }

  #cc-main .cm__btns {
      border-left: none!important;
      border-top: 1px solid var(--cc-separator-border-color)!important;
      flex-direction: column!important;
      max-width: none!important;
      min-width: auto!important
  }

  #cc-main .cm__btn+.cm__btn,#cc-main .cm__btn-group+.cm__btn-group {
      margin: .375rem 0 0!important
  }

  #cc-main .cm--flip .cm__btn+.cm__btn,#cc-main .cm--flip .cm__btn-group+.cm__btn-group {
      margin-bottom: .375rem!important;
      margin-top: 0!important
  }

  #cc-main .cm__btn-group {
      display: flex!important;
      flex-direction: column!important;
      min-width: auto!important
  }

  #cc-main .cm__btn {
      flex: auto!important
  }

  #cc-main .cm__link-group {
      justify-content: center!important
  }

  #cc-main .cm--flip .cm__btn-group,#cc-main .cm--flip .cm__btns {
      flex-direction: column-reverse!important
  }
}

#cc-main .pm-wrapper {
  position: relative;
  z-index: 2
}

#cc-main .pm {
  background: var(--cc-bg);
  border-radius: var(--cc-modal-border-radius);
  box-shadow: 0 .625em 1.875em rgba(0,0,2,.3);
  display: flex;
  flex-direction: column;
  opacity: 0;
  overflow: hidden;
  position: fixed;
  visibility: hidden;
  width: 100%;
  width: unset;
  z-index: 1
}

#cc-main svg {
  fill: none;
  width: 100%
}

#cc-main .pm__body,#cc-main .pm__footer,#cc-main .pm__header {
  padding: 1em 1.4em
}

#cc-main .pm__header {
  align-items: center;
  border-bottom: 1px solid var(--cc-separator-border-color);
  display: flex;
  justify-content: space-between
}

#cc-main .pm__title {
  align-items: center;
  display: flex;
  flex: 1;
  font-weight: 600;
  margin-right: 2em
}

#cc-main .pm__close-btn {
  background: var(--cc-btn-secondary-bg);
  border: 1px solid var(--cc-btn-secondary-border-color);
  border-radius: var(--cc-btn-border-radius);
  height: 40px;
  position: relative;
  transition: all .15s ease;
  width: 40px
}

#cc-main .pm__close-btn span {
  display: flex;
  height: 100%;
  width: 100%
}

#cc-main .pm__close-btn svg {
  stroke: var(--cc-btn-secondary-color);
  transform: scale(.5);
  transition: stroke .15s ease
}

#cc-main .pm__close-btn:hover {
  background: var(--cc-btn-secondary-hover-bg);
  border-color: var(--cc-btn-secondary-hover-border-color)
}

#cc-main .pm__close-btn:hover svg {
  stroke: var(--cc-btn-secondary-hover-color)
}

#cc-main .pm__body {
  flex: 1;
  overflow-y: auto;
  overflow-y: overlay
}

#cc-main .pm__section,#cc-main .pm__section--toggle {
  border-radius: var(--cc-btn-border-radius);
  display: flex;
  flex-direction: column;
  margin-bottom: .5em
}

#cc-main .pm__section--toggle .pm__section-desc-wrapper {
  border: 1px solid var(--cc-cookie-category-block-border);
  border-radius: var(--cc-btn-border-radius);
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  display: none;
  margin-top: 0!important;
  overflow: hidden
}

#cc-main .pm__section {
  border: 1px solid var(--cc-separator-border-color);
  padding: 1em;
  transition: background-color .25s ease,border-color .25s ease
}

#cc-main .pm__section:first-child {
  border: none;
  margin-bottom: 2em;
  margin-top: 0;
  padding: 0;
  transition: none
}

#cc-main .pm__section:not(:first-child):hover {
  background: var(--cc-cookie-category-block-bg);
  border-color: var(--cc-cookie-category-block-border)
}

#cc-main .pm__section-toggles+.pm__section {
  margin-top: 2em
}

#cc-main .pm__section--toggle {
  background: var(--cc-cookie-category-block-bg);
  border-top: none;
  margin-bottom: .375rem
}

#cc-main .pm__section--toggle .pm__section-title {
  align-items: center;
  background: var(--cc-cookie-category-block-bg);
  border: 1px solid var(--cc-cookie-category-block-border);
  display: flex;
  justify-content: space-between;
  min-height: 58px;
  padding: 1.1em 5.4em 1.1em 1.2em;
  position: relative;
  transition: background-color .25s ease,border-color .25s ease;
  width: 100%
}

#cc-main .pm__section--toggle .pm__section-title:hover {
  background: var(--cc-cookie-category-block-hover-bg);
  border-color: var(--cc-cookie-category-block-hover-border)
}

#cc-main .pm__section--toggle .pm__section-desc {
  margin-top: 0;
  padding: 1em
}

#cc-main .pm__section--toggle.is-expanded {
  --cc-cookie-category-block-bg: var(--cc-cookie-category-expanded-block-bg);
  --cc-cookie-category-block-border: var(--cc-cookie-category-expanded-block-hover-bg)
}

#cc-main .pm__section--toggle.is-expanded .pm__section-title {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0
}

#cc-main .pm__section--toggle.is-expanded .pm__section-arrow svg {
  transform: scale(.5) rotate(180deg)
}

#cc-main .pm__section--toggle.is-expanded .pm__section-desc-wrapper {
  display: flex
}

#cc-main .pm__section--expandable .pm__section-title {
  cursor: pointer;
  padding-left: 3.4em
}

#cc-main .pm__section--expandable .pm__section-arrow {
  background: var(--cc-toggle-readonly-bg);
  border-radius: 100%;
  display: flex;
  height: 20px;
  justify-content: center;
  left: 18px;
  pointer-events: none;
  position: absolute;
  width: 20px
}

#cc-main .pm__section--expandable .pm__section-arrow svg {
  stroke: var(--cc-btn-secondary-color);
  transform: scale(.5)
}

#cc-main .pm__section-title-wrapper {
  align-items: center;
  display: flex;
  position: relative
}

#cc-main .pm__section-title-wrapper+.pm__section-desc-wrapper {
  margin-top: .85em
}

#cc-main .pm__section-title {
  border-radius: var(--cc-btn-border-radius);
  font-size: .95em;
  font-weight: 600
}

#cc-main .pm__badge {
  align-items: center;
  background: var(--cc-btn-secondary-bg);
  border-radius: 5em;
  color: var(--cc-secondary-color);
  display: flex;
  flex: none;
  font-size: .8em;
  font-weight: 600;
  height: 23px;
  justify-content: center;
  margin-left: 1em;
  min-width: 23px;
  overflow: hidden;
  padding: 0 .6em 1px;
  position: relative;
  text-align: center;
  white-space: nowrap;
  width: auto
}

#cc-main .pm__service-counter {
  background: var(--cc-btn-primary-bg);
  color: var(--cc-btn-primary-color);
  padding: 0;
  width: 23px
}

#cc-main .pm__service-counter[data-counterlabel] {
  padding: 0 .6em 1px;
  width: auto
}

#cc-main .section__toggle,#cc-main .section__toggle-wrapper,#cc-main .toggle__icon,#cc-main .toggle__label {
  border-radius: var(--cc-pm-toggle-border-radius);
  height: 23px;
  transform: translateZ(0);
  width: 50px
}

#cc-main .section__toggle-wrapper {
  cursor: pointer;
  position: absolute;
  right: 18px;
  z-index: 1
}

#cc-main .toggle-service {
  height: 19px;
  position: relative;
  right: 0;
  width: 42px
}

#cc-main .toggle-service .section__toggle,#cc-main .toggle-service .toggle__icon,#cc-main .toggle-service .toggle__label {
  height: 19px;
  width: 42px
}

#cc-main .toggle-service .toggle__icon {
  position: relative
}

#cc-main .toggle-service .toggle__icon-circle {
  height: 19px;
  width: 19px
}

#cc-main .toggle-service .section__toggle:checked~.toggle__icon .toggle__icon-circle {
  transform: translateX(23px)
}

#cc-main .pm__section--toggle:nth-child(2) .section__toggle-wrapper:after {
  display: none!important
}

#cc-main .section__toggle {
  border: 0;
  cursor: pointer;
  display: block;
  left: 0;
  margin: 0;
  position: absolute;
  top: 0
}

#cc-main .section__toggle:disabled {
  cursor: not-allowed
}

#cc-main .toggle__icon {
  background: var(--cc-toggle-off-bg);
  box-shadow: 0 0 0 1px var(--cc-toggle-off-bg);
  display: flex;
  flex-direction: row;
  pointer-events: none;
  position: absolute;
  transition: all .25s ease
}

#cc-main .toggle__icon-circle {
  background: var(--cc-toggle-off-knob-bg);
  border: none;
  border-radius: var(--cc-pm-toggle-border-radius);
  box-shadow: 0 1px 2px rgba(24,32,3,.36);
  display: block;
  height: 23px;
  left: 0;
  position: absolute;
  top: 0;
  transition: transform .25s ease,background-color .25s ease;
  width: 23px
}

#cc-main .toggle__icon-off,#cc-main .toggle__icon-on {
  height: 100%;
  position: absolute;
  transition: opacity .15s ease;
  width: 100%
}

#cc-main .toggle__icon-on {
  opacity: 0;
  transform: rotate(45deg)
}

#cc-main .toggle__icon-on svg {
  stroke: var(--cc-toggle-on-bg);
  transform: scale(.55) rotate(-45deg)
}

#cc-main .toggle__icon-off {
  opacity: 1
}

#cc-main .toggle__icon-off svg {
  stroke: var(--cc-toggle-off-bg);
  transform: scale(.55)
}

#cc-main .section__toggle:checked~.toggle__icon {
  background: var(--cc-toggle-on-bg);
  box-shadow: 0 0 0 1px var(--cc-toggle-on-bg)
}

#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-circle {
  background-color: var(--cc-toggle-on-knob-bg);
  transform: translateX(27px)
}

#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-on {
  opacity: 1
}

#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-off {
  opacity: 0
}

#cc-main .section__toggle:checked:disabled~.toggle__icon {
  background: var(--cc-toggle-readonly-bg);
  box-shadow: 0 0 0 1px var(--cc-toggle-readonly-bg)
}

#cc-main .section__toggle:checked:disabled~.toggle__icon .toggle__icon-circle {
  background: var(--cc-toggle-readonly-knob-bg);
  box-shadow: none
}

#cc-main .section__toggle:checked:disabled~.toggle__icon svg {
  stroke: var(--cc-toggle-readonly-knob-icon-color)
}

#cc-main .toggle__label {
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  top: 0;
  z-index: -1
}

#cc-main .pm__section-desc-wrapper {
  color: var(--cc-secondary-color);
  display: flex;
  flex-direction: column;
  font-size: .9em
}

#cc-main .pm__section-desc-wrapper>:not(:last-child) {
  border-bottom: 1px solid var(--cc-cookie-category-block-border)
}

#cc-main .pm__section-services {
  display: flex;
  flex-direction: column
}

#cc-main .pm__service {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding: .4em 1.2em;
  position: relative;
  transition: background-color .15s ease
}

#cc-main .pm__service:hover {
  background-color: var(--cc-cookie-category-block-hover-bg)
}

#cc-main .pm__service-header {
  align-items: center;
  display: flex;
  margin-right: 1em;
  width: 100%
}

#cc-main .pm__service-icon {
  border: 2px solid;
  border-radius: 100%;
  height: 8px;
  margin-left: 6px;
  margin-right: 20px;
  margin-top: 1px;
  min-width: 8px
}

#cc-main .pm__service-title {
  font-size: .95em;
  width: 100%;
  word-break: break-word
}

#cc-main .pm__section-desc {
  line-height: 1.5em
}

#cc-main .pm__section-table {
  border-collapse: collapse;
  font-size: .9em;
  margin: 0;
  overflow: hidden;
  padding: 0;
  text-align: left;
  width: 100%
}

#cc-main .pm__table-caption {
  text-align: left
}

#cc-main .pm__table-caption,#cc-main .pm__table-head>tr {
  border-bottom: 1px dashed var(--cc-separator-border-color);
  color: var(--cc-primary-color);
  font-weight: 600
}

#cc-main .pm__table-tr {
  transition: background-color .15s ease
}

#cc-main .pm__table-tr:hover {
  background: var(--cc-cookie-category-block-hover-bg)
}

#cc-main .pm__table-caption,#cc-main .pm__table-td,#cc-main .pm__table-th {
  padding: .625em .625em .625em 1.2em;
  vertical-align: top
}

#cc-main .pm__footer {
  border-top: 1px solid var(--cc-separator-border-color);
  display: flex;
  justify-content: space-between
}

#cc-main .pm__btn-group {
  display: flex
}

#cc-main .pm__btn+.pm__btn,#cc-main .pm__btn-group+.pm__btn-group {
  margin-left: .375rem
}

#cc-main .pm--flip .pm__btn+.pm__btn,#cc-main .pm--flip .pm__btn-group+.pm__btn-group {
  margin-left: 0;
  margin-right: .375rem
}

#cc-main .pm__btn {
  background: var(--cc-btn-primary-bg);
  border: 1px solid var(--cc-btn-primary-border-color);
  border-radius: var(--cc-btn-border-radius);
  color: var(--cc-btn-primary-color);
  flex: auto;
  font-size: .82em;
  font-weight: 600;
  min-height: 42px;
  min-width: 110px;
  padding: .5em 1.5em;
  text-align: center;
  transition: background-color .15s ease,border-color .15s ease,color .15s ease
}

#cc-main .pm__btn:hover {
  background: var(--cc-btn-primary-hover-bg);
  border-color: var(--cc-btn-primary-hover-border-color);
  color: var(--cc-btn-primary-hover-color)
}

#cc-main .pm__btn--secondary {
  background: var(--cc-btn-secondary-bg);
  border-color: var(--cc-btn-secondary-border-color);
  color: var(--cc-btn-secondary-color)
}

#cc-main .pm__btn--secondary:hover {
  background: var(--cc-btn-secondary-hover-bg);
  border-color: var(--cc-btn-secondary-hover-border-color);
  color: var(--cc-btn-secondary-hover-color)
}

#cc-main .pm--box {
  height: calc(100% - 2em);
  left: var(--cc-modal-margin);
  margin: 0 auto;
  max-height: 37.5em;
  max-width: 43em;
  right: var(--cc-modal-margin);
  top: 50%;
  transform: translateY(calc(-50% + 1.6em))
}

#cc-main .pm--box.pm--flip .pm__btn-group,#cc-main .pm--box.pm--flip .pm__footer {
  flex-direction: row-reverse
}

#cc-main .pm--bar {
  border-radius: 0;
  bottom: 0;
  height: 100%;
  margin: 0;
  max-height: none;
  max-width: 29em;
  opacity: 1;
  top: 0;
  width: 100%;
  --cc-modal-transition-duration: .35s
}

#cc-main .pm--bar .pm__section-table,#cc-main .pm--bar .pm__table-body,#cc-main .pm--bar .pm__table-td,#cc-main .pm--bar .pm__table-th,#cc-main .pm--bar .pm__table-tr {
  display: block
}

#cc-main .pm--bar .pm__table-head {
  display: none
}

#cc-main .pm--bar .pm__table-caption {
  display: block
}

#cc-main .pm--bar .pm__table-tr:not(:last-child) {
  border-bottom: 1px solid var(--cc-separator-border-color)
}

#cc-main .pm--bar .pm__table-td {
  display: flex;
  justify-content: space-between
}

#cc-main .pm--bar .pm__table-td:before {
  color: var(--cc-primary-color);
  content: attr(data-column);
  flex: 1;
  font-weight: 600;
  min-width: 100px;
  overflow: hidden;
  padding-right: 2em;
  text-overflow: ellipsis
}

#cc-main .pm--bar .pm__table-td>div {
  flex: 3
}

#cc-main .pm--bar:not(.pm--wide) .pm__body,#cc-main .pm--bar:not(.pm--wide) .pm__footer,#cc-main .pm--bar:not(.pm--wide) .pm__header {
  padding: 1em 1.3em
}

#cc-main .pm--bar:not(.pm--wide) .pm__btn-group,#cc-main .pm--bar:not(.pm--wide) .pm__footer {
  flex-direction: column
}

#cc-main .pm--bar:not(.pm--wide) .pm__btn+.pm__btn,#cc-main .pm--bar:not(.pm--wide) .pm__btn-group+.pm__btn-group {
  margin: .375rem 0 0
}

#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__btn-group,#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__footer {
  flex-direction: column-reverse
}

#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__btn+.pm__btn,#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__btn-group+.pm__btn-group {
  margin-bottom: .375rem;
  margin-top: 0
}

#cc-main .pm--bar:not(.pm--wide) .pm__badge {
  display: none
}

#cc-main .pm--bar.pm--left {
  left: 0;
  transform: translateX(-100%)
}

#cc-main .pm--bar.pm--right {
  right: 0;
  transform: translateX(100%)
}

#cc-main .pm--bar.pm--wide {
  max-width: 35em
}

#cc-main .pm--bar.pm--wide .pm__body,#cc-main .pm--bar.pm--wide .pm__footer,#cc-main .pm--bar.pm--wide .pm__header {
  padding: 1em 1.4em
}

#cc-main .pm--bar.pm--wide.pm--flip .pm__btn-group,#cc-main .pm--bar.pm--wide.pm--flip .pm__footer {
  flex-direction: row-reverse
}

#cc-main .pm-overlay {
  background: var(--cc-overlay-bg);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: fixed;
  right: 0;
  top: 0;
  visibility: hidden;
  z-index: 1
}

#cc-main .cc--anim .pm,#cc-main .cc--anim .pm-overlay {
  transition: opacity var(--cc-modal-transition-duration) ease,visibility var(--cc-modal-transition-duration) ease,transform var(--cc-modal-transition-duration) ease
}

.show--preferences #cc-main .cc--anim .pm {
  opacity: 1;
  visibility: visible!important
}

.show--preferences #cc-main .cc--anim .pm--box {
  transform: translateY(-50%)
}

.show--preferences #cc-main .cc--anim .pm--bar {
  transform: translateX(0)
}

.show--preferences #cc-main .cc--anim .pm-overlay {
  opacity: 1;
  visibility: visible
}

#cc-main.cc--rtl .pm__service-header {
  margin-left: 1em;
  margin-right: 0
}

#cc-main.cc--rtl .pm__section-arrow {
  left: unset;
  right: 18px
}

#cc-main.cc--rtl .section__toggle-wrapper {
  left: 18px;
  right: unset;
  transform-origin: left
}

#cc-main.cc--rtl .toggle-service {
  left: 0
}

#cc-main.cc--rtl .pm__service-icon {
  margin-left: 20px;
  margin-right: 5px
}

#cc-main.cc--rtl .pm__section--toggle .pm__section-title {
  padding-left: 5.4em;
  padding-right: 1.2em
}

#cc-main.cc--rtl .pm__section--expandable .pm__section-title {
  padding-right: 3.4em
}

#cc-main.cc--rtl .pm__badge {
  margin-left: unset;
  margin-right: 1em
}

#cc-main.cc--rtl .toggle__icon-circle {
  transform: translateX(27px)
}

#cc-main.cc--rtl .toggle-service .toggle__icon-circle {
  transform: translateX(23px)
}

#cc-main.cc--rtl .section__toggle:checked~.toggle__icon .toggle__icon-circle {
  transform: translateX(0)
}

#cc-main.cc--rtl .pm__table-td,#cc-main.cc--rtl .pm__table-th {
  padding-left: unset;
  padding-right: 1.2em;
  text-align: right
}

#cc-main.cc--rtl .pm__table-td {
  padding-left: unset;
  padding-right: 1.2em
}

#cc-main.cc--rtl .pm__table-td:before {
  padding-left: 2em;
  padding-right: unset
}

#cc-main.cc--rtl .pm__btn+.pm__btn,#cc-main.cc--rtl .pm__btn-group+.pm__btn-group {
  margin-left: 0;
  margin-right: .375rem
}

#cc-main.cc--rtl .pm--flip .pm__btn+.pm__btn,#cc-main.cc--rtl .pm--flip .pm__btn-group+.pm__btn-group {
  margin-left: .375rem;
  margin-right: 0
}

#cc-main.cc--rtl .pm--flip.pm--bar:not(.pm--wide) .pm__btn+.pm__btn,#cc-main.cc--rtl .pm--flip.pm--bar:not(.pm--wide) .pm__btn-group+.pm__btn-group {
  margin-left: 0
}

@media screen and (max-width: 640px) {
  #cc-main .pm {
      border-radius:0;
      bottom: 0;
      height: auto;
      left: 0;
      max-height: 100%;
      max-width: none!important;
      right: 0;
      top: 0;
      transform: translateY(1.6em)
  }

  #cc-main .pm__body,#cc-main .pm__footer,#cc-main .pm__header {
      padding: .9em!important
  }

  #cc-main .pm__badge {
      display: none
  }

  #cc-main .pm__section-table,#cc-main .pm__table-body,#cc-main .pm__table-caption,#cc-main .pm__table-td,#cc-main .pm__table-th,#cc-main .pm__table-tr {
      display: block
  }

  #cc-main .pm__table-head {
      display: none
  }

  #cc-main .pm__table-tr:not(:last-child) {
      border-bottom: 1px solid var(--cc-separator-border-color)
  }

  #cc-main .pm__table-td {
      display: flex;
      justify-content: space-between
  }

  #cc-main .pm__table-td:before {
      color: var(--cc-primary-color);
      content: attr(data-column);
      flex: 1;
      font-weight: 600;
      min-width: 100px;
      overflow: hidden;
      padding-right: 2em;
      text-overflow: ellipsis
  }

  #cc-main .pm__table-td>div {
      flex: 3
  }

  #cc-main .pm__btn-group,#cc-main .pm__footer {
      flex-direction: column!important
  }

  #cc-main .pm__btn-group {
      display: flex!important
  }

  #cc-main .pm__btn+.pm__btn,#cc-main .pm__btn-group+.pm__btn-group {
      margin: .375rem 0 0!important
  }

  #cc-main .pm--flip .pm__btn+.pm__btn,#cc-main .pm--flip .pm__btn-group+.pm__btn-group {
      margin-bottom: .375rem!important;
      margin-top: 0!important
  }

  #cc-main .pm--flip .pm__btn-group,#cc-main .pm--flip .pm__footer {
      flex-direction: column-reverse!important
  }

  .show--preferences #cc-main .cc--anim .pm {
      transform: translateY(0)!important
  }
}
/*

recloud color :  #0F766E
tailwind bg-teal-600 : #0d9488
  #0d9488

*/

/* custom tailwind overwrite */
:root {
  --recloud-teal-color: #0F766E; /* Define the variable */
}

.uppercase {
  text-transform: none !important;
}



@media (min-width: 768px) {
  .md\:h-14 {
      height: 2.8rem !important;
  }
}

td.py-3 {
  padding-top: 0.55rem !important;
  padding-bottom: 0.55rem !important;
}

/* */

.uuid-button {
  color: rgb(100, 100, 100);
  background: rgb(250, 250, 250);
  font-family: Menlo, Consolas, monospace;
  font-size: 12px;
  border: 1px solid rgb(120,120,120);
}

.uuid-copy-button {
  border: 1px solid #019285;
}

table tr td[data-field-id="uuid"] {
  width: 40px;
}
table tr td[data-field-id="account"] {
  width: 40px;
}

div[data-association="commentable"]{
  display: none;
}


.field_with_errors input {
  border: 1px solid red;
  width: 100%;
}

div.field_with_errors {
  width: 100%;
}

.tox-promotion,.tox-statusbar__branding {
  display: none;
}

.modal-container .modal-body {
  max-height: 90%;
}


/* TRix */


/* Base status badge for both OK and Error */
.textarea-status::after {
  content: attr(data-status); /* Dynamically set content using the data attribute */
  position: absolute;
  top: -22px;
  right: 12px;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: white;
  width: 85px;
  height: 30px;
  margin-top: 32px;
  text-align: center;
}

/* OK status (green background) */
.error-status::after {
  background-color: red; /* Tailwind's green-500 */
  border: 2px solid red;
  content: "Fehlerhaft";
}

/* Error status (red background) */
.ok-status::after {
  background-color: #10766e; /* Tailwind's red-500 */
  border: 2px solid #10766e;
  content: "OK";
}

.error-status {
  border: 2px solid red;
}

.ok-status {
  border: 2px solid #10766e;
}


trix-editor.trix-content{
  height: 350px;
  /* border: 2px solid #10766e; */
  border-radius: 6px;
}


.trix-button--icon-strike,
.trix-button--icon-link,
.trix-button--icon-attach,
.trix-button--icon-quote,
.trix-button--icon-code,
.trix-button--icon-decrease-nesting-level,
.trix-button--icon-increase-nesting-level,

.trix-button-group--file-tools,
.trix-button-group--history-tools {
  display: none !important;
}


label[for="comment_body"] {
  display: none;
}

.comment_article {
  position: relative;
  border-top: 1px solid lightgray;

  transition: box-shadow 0.3s ease;
}


.customer_comment{
  background-color: #f6ffc7;
}

.__comment_article:hover {
  border: 1px solid #10766e;
  box-shadow: 0 0 10px 2px rgba(16, 118, 110, 0.5); /* Creates a blurred border effect */
}

.comment_article .ml-auto .controll-buttons {
  display: none;
}

.comment_article:hover .ml-auto .controll-buttons{
  display: flex;
}

@keyframes highlight {
  0% { background-color: #10766e; }
  100% { background-color: transparent; }
}

.highlight {
  animation: highlight 2s ease-out;
}


.inline-comment-textarea{
  max-height: 280px;
  height: 102px;
  display: block;
  width: 100%;
  min-height: 102px;
  line-height: 20px;
  resize: vertical;
  /* Focus state */
  &:focus {

  }

}

/* TODO Patternlock move to some where else */


svg.patternlock g.lock-lines line {
  stroke-width: 1.5;
  stroke: black;
  opacity: 0.5;
}

svg.patternlock g.lock-dots circle {
  stroke: transparent;
  fill: black;
  stroke-width: 13.5;
}

svg.patternlock g.lock-actives circle {
  fill: black;
  opacity: .2;
  animation: lock-activate-dot .15s 0s ease 1;
  transform-origin: center;
}

svg.patternlock g.lock-lines line {
  stroke-width: 1.5;
  stroke-linecap: round;
}

svg.patternlock.success g.lock-actives circle {
  fill: green;
}

svg.patternlock.error g.lock-actives circle {
  fill: red;
}



@keyframes lock-activate-dot {
  0% {
      transform: scale(0);
  }
  75% {
      transform: scale(1.1);
  }
  100% {
      transform: scale(1.0);
  }
}


.lock-actives circle:first-of-type {
  fill: blue !important; /* Optional: change the color of the first circle */
  position: relative !important;
}

.lock-actives circle:last-of-type {
  fill: rgb(255, 0, 0) !important; /* Optional: change the color of the first circle */
  position: relative !important;
}


.fill-green-500 {
  fill: #22c55e;
}

.fill-blue-400 {
  fill: #4299e1;
}

.fill-orange-400 {
  fill: #ed8936;
}












/* Calendar css   */


.fc-icon-date-icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  position: relative;
  background-color: #fff;
  background-image: url(/icons/calendar-month.png);
  background-size: cover; /* Ensures the image covers the entire area */
  background-position: center; /* Centers the image */
}
/*
.fc-icon-date-icon:before {
  content: '';
  display: block;
  width: 100%;
  height: 6px;
  background-color: #000;
  position: absolute;
  top: 0;
  left: 0;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}

.fc-icon-date-icon:after {
  content: '15'; /* You can change this to any date
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 12px;
  font-weight: bold;
  color: #000;
} */


.fc-icon-add-icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  border: 2px solid #000;
  border-radius: 50%;
  position: relative;
  background-color: #fff;
}

.fc-icon-add-icon:before,
.fc-icon-add-icon:after {
  content: '';
  position: absolute;
  background-color: #000;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.fc-icon-add-icon:before {
  width: 12px;
  height: 2px;
}

.fc-icon-add-icon:after {
  width: 2px;
  height: 12px;
}

.fc .fc-non-business {
  background-color: #f5f5f5; /* Base background color */
  background-image: repeating-linear-gradient(
    45deg,            /* Angle of the stripes */
    rgba(0, 0, 0, 0.05), /* Color of the stripe */
    rgba(0, 0, 0, 0.05) 5px, /* Stripe width */
    transparent 6px,    /* Gap between stripes */
    transparent 10px     /* Distance before repeating */
  );
  background-size: 1000px 1000px; /* Size of each "tile" */

}



/* app/assets/stylesheets/custom_avo.css */
.horizontal-fields {
  display: flex;
  flex-wrap: wrap;
  gap: 10px; /* Adjust the gap between fields as needed */
}

.horizontal-fields .field {
  flex: 1; /* Make each field take equal space */
  min-width: 200px; /* Ensure a minimum width */
}


.horizontal-time-fields {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}

.embedded-issue-calendar {
  height: 900px;
}

.fc .fc-timegrid-slot {
  height: 40px; /* Adjust this value as needed */
}

.calendar-entry {
  border: 1px solid #1ed145;
  background-color: #d1edbc;
}

.confirmed-event {
  border-top: 2px solid green !important;
  font-family: "Nunito Sans","Open Sans",Arial,sans-serif;
  /* font-size: 12px; */
  cursor: pointer;
}


.unconfirmed-event {
  background-color: #d1edbc !important;
  background-image:
    linear-gradient(45deg, #f0f0f0 25%, transparent 25%, transparent 75%, #f0f0f0 75%, #f0f0f0),
    linear-gradient(45deg, #f0f0f0 25%, transparent 25%, transparent 75%, #f0f0f0 75%, #f0f0f0);
  background-position: 0 0, 10px 10px;
  background-size: 20px 20px;
}

.canceld-event {

  background-color: #ffd9d9 !important;
  background-image:
    linear-gradient(45deg, #f0f0f0 25%, transparent 25%, transparent 75%, #f0f0f0 75%, #f0f0f0),
    linear-gradient(45deg, #f0f0f0 25%, transparent 25%, transparent 75%, #f0f0f0 75%, #f0f0f0);
  background-position: 0 0, 10px 10px;
  background-size: 20px 20px;

  border: 1px solid red !important;
  font-family: "Nunito Sans","Open Sans",Arial,sans-serif;
  /* font-size: 12px; */
  font-style: italic;
  color: rgb(157, 156, 156);
  cursor: pointer;
  /* cursor: default !important; */
}



.draft-event {
  background-color: #73aad9 !important;
  border: 2px dashed black;
}

.pre-selected-range {
  background-color: #d1edbc !important;
  border: 1px solid darkgreen;
}


#calendar_entry_color {
  width: 100px;
}


.event-start-label,
.event-end-label {
  position: absolute;
  font-size: 10px;
  font-weight: bold;
}

.event-start-label {
  top: 5px;
  left: 5px;
}

.event-end-label {
  bottom: 5px;
  left: 5px;
}


.fc-event-main {
  overflow: auto;
}
.event-label {
  position: absolute;
  font-size: 9px;
  font-weight: bold;
  background-color: #fff;
  font-family: "Nunito Sans","Open Sans",Arial,sans-serif;
  color: #2d2d2d;
  z-index: 1000;
  pointer-events: none;
}

.event-start-label {
  top: -14px;
  left: 2px;
}

.event-end-label {
  bottom: -14px;
  left: 2px;
}


.fc table {
  font-family: "Nunito Sans","Open Sans",Arial,sans-serif;
  font-size: 12px;
   color: rgb(62, 74, 84);
}

.underline-on-hover {
  /* text-decoration: underline; */
 }


 #calendar {
  max-height: 85vh;
  overflow-y: auto;
}

.calendar-badge {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 0.55rem !important;
  min-width: 20px;
}

/* Package badge in the top-right corner of a calendar event (vip / premium) */
.event-package-badge {
  position: absolute;
  top: 1px;
  right: 1px;
  z-index: 2;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0 4px;
  height: 14px;
  min-width: 14px;
  border-radius: 7px;
  font-size: 0.55rem !important;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
  pointer-events: none;
}

.event-package-badge--vip {
  background-color: #b8860b; /* gold-ish for VIP */
}

.event-package-badge--premium {
  background-color: #4b5563; /* slate for Premium */
}

.fc-button.fc-prev-button, .fc-button.fc-next-button, .fc-button.fc-today-button, .fc-button.fc-timeGridDay-button, .fc-button.fc-timeGridWeek-button,
.fc-button.fc-dayGridThreeDays-button,.fc-button.fc-listWeek-button, .fc-button.fc-selectDate-button {
    /* Add styles equivalent to all the classes */
    height: 30px;
    display: inline-flex;
    flex-grow: 0;
    align-items: center;
    font-weight: 600; /* Equivalent to font-semibold */
    line-height: 1.5; /* Equivalent to leading-6 */
    fill: currentColor;
    white-space: nowrap;
    transition: all 0.1s ease; /* Equivalent to transition duration-100 */
    cursor: pointer;
    border: 1px solid; /* Equivalent to border */
    justify-content: center;
    outline: none;
    border-radius: 0.25rem; /* Equivalent to rounded */
    background-color: white !important; /* Equivalent to bg-white */
    color: #3182ce !important; /* Equivalent to text-primary-500 */
    border-color: #3182ce !important; /* Equivalent to border-primary-500 */
    padding: 0.25rem 0.75rem; /* Equivalent to px-3 py-1 */
    font-size: 0.875rem; /* Equivalent to text-sm */

    /* Hover and active states */
    &:hover {
      background-color: #ebf8ff; /* Equivalent to hover:bg-primary-100 */
      color: #2c5282 !important; /* Equivalent to hover:text-primary-700 */
    }

    &:active {
      background-color: #b4e1fa !important; /* Equivalent to active:bg-primary-500 */
      border-color: #3182ce; /* Equivalent to active:border-primary-500 */
      outline: none !important;
    }

    /* Focus state */
    &:focus {
      outline: none !important;
      box-shadow: none !important;

    }

    /* Disabled state */
    &:disabled {
      cursor: not-allowed; /* Equivalent to disabled:cursor-not-allowed */
      opacity: 0.7; /* Equivalent to disabled:opacity-70 */
    }

}

.fc-button.fc-prev-button.fc-button-active, .fc-button.fc-next-button.fc-button-active, .fc-button.fc-today-button.fc-button-active, .fc-button.fc-timeGridDay-button.fc-button-active, .fc-button.fc-timeGridWeek-button.fc-button-active,
.fc-button.fc-dayGridThreeDays-button.fc-button-active, .fc-listWeek-button.fc-button-active  {
  background-color: #b4e1fa !important; /* Equivalent to bg-primary-500 */

}


/* Highlighted event with a glowing border animation */
.highlighted-event {
  background-color: white !important;
  border: 2px solid blue !important;
  box-shadow: 0 0 10px rgba(0, 0, 255, 0.7), 0 0 20px rgba(0, 0, 255, 0.5);
  animation: glowing-border 2s ease-in-out infinite;
}

/* Selected event with a solid border */
.selected-event {
  border: 2px solid blue !important;
  box-shadow: none;
}

.fc-timegrid-event-harness .selected-event {
  z-index: 1000 !important;
}

/* Glowing border keyframes */
@keyframes glowing-border {
  0% {
    box-shadow: 0 0 5px rgba(0, 0, 255, 0.5), 0 0 10px rgba(0, 0, 255, 0.3);
  }
  50% {
    box-shadow: 0 0 15px rgba(0, 0, 255, 0.7), 0 0 30px rgba(0, 0, 255, 0.5);
  }
  100% {
    box-shadow: 0 0 5px rgba(0, 0, 255, 0.5), 0 0 10px rgba(0, 0, 255, 0.3);
  }
}


#calendar-loader {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  display: flex ;
  justify-content: center; /* Center horizontally */
  align-items: center; /* Center vertically */
  opacity: 0.5;
  background-color: #ffffff;
  z-index: 99;
}

#loading-image {
  z-index: 100;
  width: 70px; /* Set size of the loading image */
  height: 70px;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}
/* uuid-field*/

.copied-badge {
  position: absolute;
  background-color: rgba(0, 128, 0, 0.6); /* Green background with transparency */
  color: white;
  font-size: 0.75rem;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  z-index: 1000;
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
  transform: translateY(-10px); /* Initial position for animation */
  pointer-events: none; /* Ensure it doesn't interfere with clicks */
}

.copied-badge.show {
  opacity: 1;
  transform: translateY(0); /* Slide in effect */
}








/* Styled sweet alert */

.custom-confirm-button {
  background-color: rgb(15, 118, 110) !important;
  color: white !important;
}


/* tooltip */

.tippy-box[data-theme~=calendar] {
    position: relative;
    background-color: var(--recloud-teal-color);
    color: #fff;
    border-radius: 5px;
    font-size: 10px;
    line-height: 1.2;
    outline: 0;
    transition-property: transform, visibility, opacity;
}

/* Modern tooltip styling for calendar notes */
.tippy-box[data-theme~=calendar-note] {
  position: relative;
  background-color: var(--recloud-teal-color); /* Main background color */
  color: #ffffff; /* Text color for readability */
  border-radius: 10px; /* Slightly rounded corners for a modern look */
  font-size: 14px;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; /* Professional font */
  line-height: 1.5;
  outline: 0;
  padding: 10px 15px; /* Balanced padding for better content layout */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); /* Light shadow for subtle depth */
  max-width: 350px; /* Keeps the content concise and contained */
  border: 2px solid rgb(209, 237, 188); /* Contrasting border */
}


/* Header styling for emphasized content within notes */
.tippy-box[data-theme~=calendar-note] .tooltip-header {
  font-weight: bold;
  color: #ffffff;
  margin-bottom: 5px;
}

/* Adjustments for links and interactive elements */
.tippy-box[data-theme~=calendar-note] a {
  color: rgb(209, 237, 188); /* Accent color for links */
  text-decoration: underline;
}

/* Hover state for links */
.tippy-box[data-theme~=calendar-note] a:hover {
  text-decoration: none;
}

/* Optional border icon container */
.tippy-box[data-theme~=calendar-note] .icon-container {
  display: inline-block;
  margin-right: 10px;
  vertical-align: middle;
}

/* Custom tooltip styling for calendar notes */
.tippy-box[data-theme~=calendar-note] {
  position: relative;
  background-color: var(--recloud-teal-color);
  color: #ffffff;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.4;
  outline: 0;
  padding: 5px ;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); /* Soft shadow for depth */
  transition: transform 0.2s ease, visibility 0.2s ease, opacity 0.2s ease;
  max-width: 350px;
}









/* search */


.aa-DetachedCancelButton{
  display: none !important;
}
.aa-InputWrapperPrefix{
}

.aa-Input {

  font-size: 48px !important;
  height: 60px !important;
  color: var(--recloud-teal-color) !important;
  padding: 5px !important;
  padding: 10px !important;
  margin: 8px 0px !important;
}

.aa-InputWrapper, .aa-Input{

}


/* issue_entries */

tr[data-resource-name="issue_entries"] {
display: none;
}

tr[data-resource-name="issue_entries"].show-row {
  display: table-row !important;
}

[contenteditable]:focus {
  outline: 0px solid transparent;
  /* color: var(--recloud-teal-color); */
}


[contenteditable=true] {
  cursor: text;
}

td {
  cursor: default;
}


/* issue entries summary */

#summary {
  margin-top: 0 !important; /* Remove any top spacing applied by the space-y-12 */
}



/* spin loader for purchase pages  */


.loader {
  border-top-color: #3498db;  /* Color of the spinner */
  animation: spin 1s ease-in-out infinite;  /* Spinner animation */
  border-radius: 50%;  /* Make it a circle */
  border-width: 4px;  /* Border width */
  height: 48px;  /* Height of the loader */
  width: 48px;  /* Width of the loader */
  border-style: solid;
  border-color: #f3f3f3 #f3f3f3 #f3f3f3 #3498db; /* Make the top different color */
}

@keyframes spinner {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}



/* tabs make sure there is some room under the tabs  */

[data-tabs-target="tabPanel"] {
  padding-bottom: 200px;
}





/****************************************************
 *  Specialized styles for filter     *
 ****************************************************/


#avo_filters_trigger_ereignis {
  min-height: 350px;
}



/****************************************************
 *  Specialized styles repair set select input      *
 ****************************************************/

 select[data-resource-edit-target="possibleRepairSetsSelectInput"] {
  min-height: 200px; /* Ensures the height is at least 250px */
  font-size: 16px; /* Makes the text more readable */
  line-height: 1.5; /* Adds spacing between lines */
  padding: 8px; /* Adds padding inside the select box */
  border: 1px solid var(--recloud-teal-color); /* Sets a border color */
  border-radius: 4px; /* Adds rounded corners */
  background-color: #deeef9; /* Light background for better contrast */


}

select[data-resource-edit-target="possibleRepairSetsSelectInput"] option {
  padding: 5px 10px; /* Adds spacing around the options */
}

select[data-resource-edit-target="possibleRepairSetsSelectInput"] option:checked {
  background-color: var(--recloud-teal-color); /* Highlight selected option */
  color: #ffffff; /* Text color for selected option */
}


select[data-resource-edit-target="possibleRepairSetsSelectInput"] option:checked {
  background-color: var(--recloud-teal-color); /* Highlight selected option */
  color: #ffffff; /* Text color for selected option */
}

#issue_possible_repair_sets.no-sets {
  position: relative;

  background-size: 200px 200px; /* Adjust size for a water-like effect */
  font-size: 16px;
  line-height: 1.5;
  text-align: center;
  color: #444; /* Default text color */
}

#issue_possible_repair_sets.no-sets::before {
  content: "Keine Sets gefunden";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: rgba(0, 0, 0, 0.5); /* Semi-transparent for better readability */
  font-size: 16px;
  pointer-events: none; /* Ensure text does not interfere with interactions */
  z-index: 1;
}

#issue_possible_repair_sets.no-sets:focus::before {
  content: "Keine Sets gefunden"; /* Ensure the message stays visible on focus */
}
.devise-links a {
  color: white;
  font-size: 1.2em;
}

element.style {
  color: white;
  font-size: 1.2em;
}

html,body {
	height: 100%;
}

body.my-login-page {
	background-color: #f7f9fb;
	font-size: 14px;
}

.my-login-page .brand {
	width: 200px;

	overflow: hidden;
	margin: 40px auto;
	position: relative;
	z-index: 1;
}

.my-login-page .brand img {
	width: 100%;
}

.my-login-page .card-wrapper {
	width: 500px;
}

.my-login-page .card {
	border-color: transparent;
	box-shadow: 0 4px 8px rgba(0,0,0,.05);
}

.my-login-page .card.fat {
	padding: 10px;
}

.my-login-page .card .card-title {
	margin-bottom: 30px;
}

.my-login-page .form-control {
	border-width: 2.3px;
}

.my-login-page .form-group label {
	width: 100%;
}

.my-login-page .btn.btn-block {
	padding: 12px 10px;
}

.my-login-page .footer {
	margin: 40px 0;
	color: #888;
	text-align: center;
}

.login-button {
  background-color: #009386 !important;
  border-color: #009386 !important;
}

@media screen and (max-width: 425px) {
	.my-login-page .card-wrapper {
		width: 90%;
		margin: 0 auto;
	}
}

@media screen and (max-width: 320px) {
	.my-login-page .card.fat {
		padding: 0;
	}

	.my-login-page .card.fat .card-body {
		padding: 15px;
	}
}


/* ============ */


.field_with_errors input{
	border: 1px solid red ;
}


.field_with_errors .error {
	color: red;
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */
@import url(/assets/custom/devise_styles-7e53bee91bb037d062a6ab53825864fa428b8d24211c3974468ccd0c4272361f.css);
/* start landing pages price section */
/* line 21, app/assets/stylesheets/application.scss */
.price-heading {
  min-height: 250px;
}

/* end landing pages price section */
