/* style.css (V93): extracted from inline <style> blocks for cobrowsing compatibility. */


/* --- inline-style (shared) --- */

.gradient-h1 {
      background: linear-gradient(90deg, #3b82f6, #8b5cf6);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      color: transparent;
    }
    .fw-backdrop {
      background: linear-gradient(90deg, #c9f4ff 0%, #ffffff 50%, #edd8ff 100%);
    }
    select:focus {
      outline: none;
      box-shadow: none;
    }
    #mobile-menu select:focus {
      outline: none;
      box-shadow: none;
    }
  
/* Header shrink on scroll */
.site-header .header-bar{height:64px}
.site-header.is-shrunk .header-bar{height:64px}


/* Header hardening: prevent any auto-hide/slide (client + cobrowse) */
header.site-header{
  display: block !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  top: 0 !important;
}
header.site-header .header-bar{
  transition: none !important;
}
/* Off-canvas overlay for mobile menu */
#mobile-overlay{position:fixed;inset:0;background:rgba(15,23,42,.4);backdrop-filter:saturate(120%) blur(1px);display:none}
#mobile-overlay[data-open="true"]{display:block}
/* Focus styles */
:focus-visible{outline:2px solid #7a2cf6;outline-offset:2px}

/* --- Anchor behavior (added) --- */
html{scroll-behavior:smooth;scroll-padding-top:var(--header-bar-h, var(--header-height))}
:root{--header-height:calc(4rem + 1px) }
[data-anchor]{scroll-margin-top:var(--header-bar-h, var(--header-height))}
/* --- end --- */

/* --- How it works / Postup tiles: keep cards white against section backdrop --- */
#postup .grid > div.rounded-2xl,
#how-it-works .grid > div.rounded-2xl{background-color:#fff !important}
.contact form .consent-row label{ display:inline-flex; align-items:center; gap:8px; }
.contact form .btn-submit:hover{ background:#d1d5db !important; color:#111827 !important; border-color:#cfd4da !important; }
.contact form .consent-row span{ line-height:1.25; }


/* --- inline-style (shared) --- */

.lang-pill[aria-pressed="true"]{ box-shadow:0 6px 16px rgba(2,6,23,.08); }


/* --- tailwind-frozen --- */

/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}
}
}
@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-green-50:oklch(98.2% .018 155.826);--color-green-200:oklch(92.5% .084 155.995);--color-green-700:oklch(52.7% .154 150.069);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--drop-shadow-md:0 3px 3px #0000001f;--ease-out:cubic-bezier(0,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}
}
@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}
::file-selector-button{
  box-sizing:border-box;border:0 solid;margin:0;padding:0;
  font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0;
  margin-inline-end:4px;
  appearance:button;
}
html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}
hr{height:0;color:inherit;border-top-width:1px}
abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}
small{font-size:80%}
sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}
sub{bottom:-.25em}
sup{top:-.5em}
table{text-indent:0;border-color:inherit;border-collapse:collapse}
:-moz-focusring{outline:auto}
progress{vertical-align:baseline}
summary{display:list-item}
ol,ul,menu{list-style:none}
img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}
img,video{max-width:100%;height:auto}
button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}
:where(select:is([multiple],[size])) optgroup{font-weight:bolder}
:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}
::placeholder{opacity:1}
@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}
@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}
}
}
textarea{resize:vertical}
::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}
::-webkit-datetime-edit{
  display:inline-flex;
  padding-block:0;
}
::-webkit-datetime-edit-fields-wrapper{padding:0}
::-webkit-datetime-edit-year-field{padding-block:0}
::-webkit-datetime-edit-month-field{padding-block:0}
::-webkit-datetime-edit-day-field{padding-block:0}
::-webkit-datetime-edit-hour-field{padding-block:0}
::-webkit-datetime-edit-minute-field{padding-block:0}
::-webkit-datetime-edit-second-field{padding-block:0}
::-webkit-datetime-edit-millisecond-field{padding-block:0}
::-webkit-datetime-edit-meridiem-field{padding-block:0}
::-webkit-calendar-picker-indicator{line-height:1}
:-moz-ui-invalid{box-shadow:none}
button,input:where([type=button],[type=reset],[type=submit]){appearance:button}
::-webkit-inner-spin-button{height:auto}
::-webkit-outer-spin-button{height:auto}
[hidden]:where(:not([hidden=until-found])){display:none!important}
}
@layer components;@layer utilities{.visible{visibility:visible}
.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
.absolute{position:absolute}
.fixed{position:fixed}
.relative{position:relative}
.sticky{position:sticky}
.inset-0{inset:calc(var(--spacing)*0)}
.-top-3{top:calc(var(--spacing)*-3)}
.top-0{top:calc(var(--spacing)*0)}
.left-1{left:calc(var(--spacing)*1)}
.left-1\/2{left:50%}
.z-40{z-index:40}
.z-50{z-index:50}
.container{width:100%}
@media (min-width:40rem){.container{max-width:40rem}
}
@media (min-width:48rem){.container{max-width:48rem}
}
@media (min-width:64rem){.container{max-width:64rem}
}
@media (min-width:80rem){.container{max-width:80rem}
}
@media (min-width:96rem){.container{max-width:96rem}
}
.m-0{margin:calc(var(--spacing)*0)}
.mx-auto{margin-inline:auto}
.my-12{margin-block:calc(var(--spacing)*12)}
.mt-0\.5{margin-top:calc(var(--spacing)*.5)}
.mt-1{margin-top:calc(var(--spacing)*1)}
.mt-2{margin-top:calc(var(--spacing)*2)}
.mt-3{margin-top:calc(var(--spacing)*3)}
.mt-4{margin-top:calc(var(--spacing)*4)}
.mt-5{margin-top:calc(var(--spacing)*5)}
.mt-6{margin-top:calc(var(--spacing)*6)}
.mt-8{margin-top:calc(var(--spacing)*8)}
.mt-10{margin-top:calc(var(--spacing)*10)}
.mt-12{margin-top:calc(var(--spacing)*12)}
.mt-auto{margin-top:auto}
.mr-3{margin-right:calc(var(--spacing)*3)}
.mb-0{margin-bottom:calc(var(--spacing)*0)}
.mb-3{margin-bottom:calc(var(--spacing)*3)}
.mb-4{margin-bottom:calc(var(--spacing)*4)}
.mb-6{margin-bottom:calc(var(--spacing)*6)}
.ml-5{margin-left:calc(var(--spacing)*5)}
.block{display:block}
.flex{display:flex}
.grid{display:grid}
.hidden{display:none}
.inline-block{display:inline-block}
.inline-flex{display:inline-flex}
.h-1\.5{height:calc(var(--spacing)*1.5)}
.h-5{height:calc(var(--spacing)*5)}
.h-6{height:calc(var(--spacing)*6)}
.h-7{height:calc(var(--spacing)*7)}
.h-8{height:calc(var(--spacing)*8)}
.h-12{height:calc(var(--spacing)*12)}
.h-16{height:calc(var(--spacing)*16)}
.h-full{height:100%}
.w-1\.5{width:calc(var(--spacing)*1.5)}
.w-5{width:calc(var(--spacing)*5)}
.w-6{width:calc(var(--spacing)*6)}
.w-7{width:calc(var(--spacing)*7)}
.w-8{width:calc(var(--spacing)*8)}
.w-full{width:100%}
.max-w-2xl{max-width:var(--container-2xl)}
.max-w-3xl{max-width:var(--container-3xl)}
.max-w-4xl{max-width:var(--container-4xl)}
.max-w-6xl{max-width:var(--container-6xl)}
.max-w-7xl{max-width:var(--container-7xl)}
.max-w-lg{max-width:var(--container-lg)}
.max-w-none{max-width:none}
.min-w-0{min-width:calc(var(--spacing)*0)}
.shrink{flex-shrink:1}
.shrink-0{flex-shrink:0}
.-translate-x-1{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}
.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}
.cursor-not-allowed{cursor:not-allowed}
.resize{resize:both}
.list-outside{list-style-position:outside}
.list-decimal{list-style-type:decimal}
.list-disc{list-style-type:disc}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.flex-col{flex-direction:column}
.flex-wrap{flex-wrap:wrap}
.items-baseline{align-items:baseline}
.items-center{align-items:center}
.items-start{align-items:flex-start}
.items-stretch{align-items:stretch}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.justify-end{justify-content:flex-end}
.gap-2{gap:calc(var(--spacing)*2)}
.gap-3{gap:calc(var(--spacing)*3)}
.gap-4{gap:calc(var(--spacing)*4)}
.gap-6{gap:calc(var(--spacing)*6)}
.gap-8{gap:calc(var(--spacing)*8)}
.gap-10{gap:calc(var(--spacing)*10)}
:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}
:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}
:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}
.rounded{border-radius:.25rem}
.rounded-2xl{border-radius:var(--radius-2xl)}
.rounded-full{border-radius:3.40282e38px}
.rounded-lg{border-radius:var(--radius-lg)}
.rounded-md{border-radius:var(--radius-md)}
.rounded-xl{border-radius:var(--radius-xl)}
.border{border-style:var(--tw-border-style);border-width:1px}
.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}
.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}
.border-dashed{--tw-border-style:dashed;border-style:dashed}
.border-green-200{border-color:var(--color-green-200)}
.border-red-200{border-color:var(--color-red-200)}
.border-slate-200{border-color:var(--color-slate-200)}
.border-slate-300{border-color:var(--color-slate-300)}
.bg-green-50{background-color:var(--color-green-50)}
.bg-red-50{background-color:var(--color-red-50)}
.bg-slate-50{background-color:var(--color-slate-50)}
.bg-slate-50\/60{background-color:#f8fafc99}
@supports (color:color-mix(in lab, red, red)){.bg-slate-50\/60{background-color:color-mix(in oklab,var(--color-slate-50)60%,transparent)}
}
.bg-slate-100{background-color:var(--color-slate-100)}
.bg-slate-300{background-color:var(--color-slate-300)}
.bg-slate-900\/50{background-color:#0f172b80}
@supports (color:color-mix(in lab, red, red)){.bg-slate-900\/50{background-color:color-mix(in oklab,var(--color-slate-900)50%,transparent)}
}
.bg-white{background-color:var(--color-white)}
.bg-white\/90{background-color:#ffffffe6}
@supports (color:color-mix(in lab, red, red)){.bg-white\/90{background-color:color-mix(in oklab,var(--color-white)90%,transparent)}
}
.object-contain{object-fit:contain}
.p-1{padding:calc(var(--spacing)*1)}
.p-2{padding:calc(var(--spacing)*2)}
.p-4{padding:calc(var(--spacing)*4)}
.p-6{padding:calc(var(--spacing)*6)}
.px-2{padding-inline:calc(var(--spacing)*2)}
.px-3{padding-inline:calc(var(--spacing)*3)}
.px-4{padding-inline:calc(var(--spacing)*4)}
.px-5{padding-inline:calc(var(--spacing)*5)}
.px-6{padding-inline:calc(var(--spacing)*6)}
.py-1{padding-block:calc(var(--spacing)*1)}
.py-2{padding-block:calc(var(--spacing)*2)}
.py-3{padding-block:calc(var(--spacing)*3)}
.py-6{padding-block:calc(var(--spacing)*6)}
.py-12{padding-block:calc(var(--spacing)*12)}
.py-14{padding-block:calc(var(--spacing)*14)}
.py-16{padding-block:calc(var(--spacing)*16)}
.pt-1{padding-top:calc(var(--spacing)*1)}
.pt-3{padding-top:calc(var(--spacing)*3)}
.pt-4{padding-top:calc(var(--spacing)*4)}
.pt-8{padding-top:calc(var(--spacing)*8)}
.pt-16{padding-top:calc(var(--spacing)*16)}
.pb-6{padding-bottom:calc(var(--spacing)*6)}
.pb-16{padding-bottom:calc(var(--spacing)*16)}
.pl-5{padding-left:calc(var(--spacing)*5)}
.text-center{text-align:center}
.text-justify{text-align:justify}
.text-right{text-align:right}
.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}
.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}
.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}
.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}
.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}
.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}
.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}
.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}
.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}
.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}
.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}
.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}
.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}
.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}
.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}
.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}
.break-all{word-break:break-all}
.whitespace-nowrap{white-space:nowrap}
.text-green-700{color:var(--color-green-700)}
.text-red-600{color:var(--color-red-600)}
.text-red-700{color:var(--color-red-700)}
.text-slate-500{color:var(--color-slate-500)}
.text-slate-600{color:var(--color-slate-600)}
.text-slate-700{color:var(--color-slate-700)}
.text-slate-800{color:var(--color-slate-800)}
.text-slate-900{color:var(--color-slate-900)}
.text-white{color:var(--color-white)}
.uppercase{text-transform:uppercase}
.underline{text-decoration-line:underline}
.underline-offset-2{text-underline-offset:2px}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.opacity-70{opacity:.7}
.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}
.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}
.outline{outline-style:var(--tw-outline-style);outline-width:1px}
.drop-shadow-md{--tw-drop-shadow-size:drop-shadow(0 3px 3px var(--tw-drop-shadow-color,#0000001f));--tw-drop-shadow:drop-shadow(var(--drop-shadow-md));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}
.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}
.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}
.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}
.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}
.duration-200{--tw-duration:.2s;transition-duration:.2s}
.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}
.select-none{-webkit-user-select:none;user-select:none}
.focus-within\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}
@media (hover:hover){.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}
.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}
.hover\:text-white:hover{color:var(--color-white)}
.hover\:underline:hover{text-decoration-line:underline}
.hover\:shadow:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}
.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}
}
.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}
.focus\:absolute:focus{position:absolute}
.focus\:top-2:focus{top:calc(var(--spacing)*2)}
.focus\:left-2:focus{left:calc(var(--spacing)*2)}
.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}
.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}
.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}
.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}
.aria-pressed\:bg-white[aria-pressed=true]{background-color:var(--color-white)}
.aria-pressed\:text-slate-900[aria-pressed=true]{color:var(--color-slate-900)}
.aria-pressed\:shadow[aria-pressed=true]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}
.aria-selected\:text-white[aria-selected=true]{color:var(--color-white)}
@media (min-width:40rem){.sm\:col-span-1{grid-column:span 1/span 1}
.sm\:col-span-2{grid-column:span 2/span 2}
.sm\:w-auto{width:auto}
.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sm\:px-6{padding-inline:calc(var(--spacing)*6)}
.sm\:py-20{padding-block:calc(var(--spacing)*20)}
.sm\:pt-12{padding-top:calc(var(--spacing)*12)}
.sm\:pb-20{padding-bottom:calc(var(--spacing)*20)}
.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}
.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}
.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}
.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}
.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}
}
@media (min-width:48rem){.md\:flex{display:flex}
.md\:hidden{display:none}
.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.md\:py-16{padding-block:calc(var(--spacing)*16)}
}
@media (min-width:64rem){.lg\:relative{position:relative}
.lg\:col-span-2{grid-column:span 2/span 2}
.lg\:mb-0{margin-bottom:calc(var(--spacing)*0)}
.lg\:w-1\/2{width:50%}
.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.lg\:flex-row{flex-direction:row}
.lg\:items-start{align-items:flex-start}
.lg\:justify-center{justify-content:center}
.lg\:justify-start{justify-content:flex-start}
.lg\:gap-8{gap:calc(var(--spacing)*8)}
.lg\:px-8{padding-inline:calc(var(--spacing)*8)}
}
}
@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}
@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}
@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}
@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
@property --tw-leading{syntax:"*";inherits:false}
@property --tw-font-weight{syntax:"*";inherits:false}
@property --tw-tracking{syntax:"*";inherits:false}
@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
@property --tw-shadow-color{syntax:"*";inherits:false}
@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}
@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
@property --tw-inset-shadow-color{syntax:"*";inherits:false}
@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}
@property --tw-ring-color{syntax:"*";inherits:false}
@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
@property --tw-inset-ring-color{syntax:"*";inherits:false}
@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
@property --tw-ring-inset{syntax:"*";inherits:false}
@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}
@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}
@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
@property --tw-blur{syntax:"*";inherits:false}
@property --tw-brightness{syntax:"*";inherits:false}
@property --tw-contrast{syntax:"*";inherits:false}
@property --tw-grayscale{syntax:"*";inherits:false}
@property --tw-hue-rotate{syntax:"*";inherits:false}
@property --tw-invert{syntax:"*";inherits:false}
@property --tw-opacity{syntax:"*";inherits:false}
@property --tw-saturate{syntax:"*";inherits:false}
@property --tw-sepia{syntax:"*";inherits:false}
@property --tw-drop-shadow{syntax:"*";inherits:false}
@property --tw-drop-shadow-color{syntax:"*";inherits:false}
@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}
@property --tw-drop-shadow-size{syntax:"*";inherits:false}
@property --tw-backdrop-blur{syntax:"*";inherits:false}
@property --tw-backdrop-brightness{syntax:"*";inherits:false}
@property --tw-backdrop-contrast{syntax:"*";inherits:false}
@property --tw-backdrop-grayscale{syntax:"*";inherits:false}
@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}
@property --tw-backdrop-invert{syntax:"*";inherits:false}
@property --tw-backdrop-opacity{syntax:"*";inherits:false}
@property --tw-backdrop-saturate{syntax:"*";inherits:false}
@property --tw-backdrop-sepia{syntax:"*";inherits:false}
@property --tw-duration{syntax:"*";inherits:false}
@property --tw-ease{syntax:"*";inherits:false}


/* --- brand-fixes (EN only) --- */

/* Mobile menu link color fix (safe: doesn't affect CTA/buttons) */
@media (max-width: 767.98px){nav a:not([class*="btn"]):not([class*="cta"]):not([class*="bg-"]):not([class*="bgbrand"]):not([class*="text-white"]) {
    color: #000 !important;
    text-decoration-color: #000 !important;
  }}

/* Brand color fixes — desktop only */
@media (min-width: 768px){a:not([class*="text-"]):not([class*="!text-"]) {
    color: #5c1ff1;
    text-decoration-color: #5c1ff1;
  }a:hover, a:focus {
    color: #7a2cf6;
    text-decoration-color: #7a2cf6;
  }}
/* Utility shims */
.text-brand-700 { color: #5c1ff1 !important; }
.text-brand-600 { color: #7a2cf6 !important; }
.bg-brand-600 { background-color: #7a2cf6 !important; }
.bg-brand-700 { background-color: #5c1ff1 !important; }
.border-brand-600 { border-color: #7a2cf6 !important; }

/* Mobile menu link color — force black on mobile nav links */
@media (max-width: 767.98px){nav a {
    color: #000 !important;
    text-decoration-color: #000 !important;
  }/* Keep primary CTA readable (white text) if it has bg */nav a[class*="bg-"], nav a[class*="btn"], nav a[class*="cta"], nav a.text-white {
    color: #fff !important;
    text-decoration-color: #fff !important;
  }}

/* Desktop 'Login' — match mobile style */
.btn-login{
  border-radius: 9999px !important;
  border: 1px solid rgba(122,44,246,0.25) !important;
  background-color: rgba(122,44,246,0.06) !important;
  padding: 0.5rem 1rem !important;
  font-size: 0.875rem !important;
  line-height: 1.25rem !important;
  font-weight: 600 !important;
  color: #5c1ff1 !important;
  display: inline-block !important;
  text-decoration: none !important;
  transition: color .15s, background-color .15s, border-color .15s !important;
}
.btn-login:hover{
  background-color: #7a2cf6 !important;
  color: #fff !important;
  box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1) !important;
}


/* --- mobile-menu-css-fixes --- */

/* Mobile-only tweaks for menu items */
@media (max-width: 768px) {
  /* Make sure the mobile menu links are clearly visible */
  #mobile-menu a,
  #mobile-menu button.lang,
  #mobile-menu .nav-link {
    color: #000 !important;
    text-align: center !important;
    display: block;
  }
  /* Sometimes anchors are wrapped in <li> elements; center them too */
  #mobile-menu li { text-align: center !important; }
  /* Ensure CTA/link rows inside the mobile panel are centered */
  #mobile-menu .menu-row,
  #mobile-menu .menu-items { justify-content: center !important; }
}


/* --- mobile-cta-and-anchor-fixes --- */

@media (max-width: 768px) {
  /* Force white label for CTA inside the mobile menu panel */
  #mobile-menu a.cta,
  #mobile-menu .cta a,
  #mobile-menu .btn-cta,
  #mobile-menu .cta-button,
  #mobile-menu a.button,
  #mobile-menu button.cta,
  #mobile-menu .cta,
  #mobile-menu .cta > a {
    color: #fff !important;
  }
  /* If CTA uses SVG icon, force its fill to white too */
  #mobile-menu .cta svg,
  #mobile-menu .cta-button svg {
    fill: #fff !important;
    stroke: #fff !important;
  }

  /* Mobile anchor comfort: make anchored sections land clear of sticky header */
  [data-anchor] { scroll-margin-top: var(--header-bar-h, var(--header-height)); }
}


/* --- cta-hover-text-white --- */

/* Ensure primary CTA text remains white on hover */
a.bg-brand-600:hover,
a.hover\:bg-brand-700:hover,
button.bg-brand-600:hover,
button.hover\:bg-brand-700:hover,
a.btn:hover,
button.btn:hover,
a.button:hover,
button.button:hover {
  color:#7a2cf6 !important;
}
/* Make sure SVG icons inside CTAs remain white on hover */
a.bg-brand-600:hover svg,
a.hover\:bg-brand-700:hover svg,
button.bg-brand-600:hover svg,
button.hover\:bg-brand-700:hover svg,
a.btn:hover svg,
button.btn:hover svg {
  fill:#7a2cf6 !important;
  stroke:#7a2cf6 !important;
}


/* --- priklady-hidden-fix --- */

/* Limit to the Examples section so we don't affect other parts */
#priklady .hidden { display:none !important; }


/* --- mobile-menu-cta-white-fix (EN only) --- */

@media (max-width: 768px) {/* Keep CTA button white; do NOT target plain 'Contact' link */#mobile-menu a.bg-brand-600, #mobile-menu .rounded-full.bg-brand-600 {
    color: #fff !important;
  }#mobile-menu a.bg-brand-600 svg {
    fill: #fff !important;
    stroke: #fff !important;
  }}


/* --- priklady-tabs-cta-look --- */

/* CTA-like look for the example-section tab buttons (inactive = outline, active = filled) */
#priklady .tab-btn{
  appearance:none;
  border-radius:9999px;           /* rounded-full */
  padding:0.5rem 1rem;            /* px-4 py-2 */
  font-weight:600;                /* font-semibold */
  line-height:1.25rem;            /* text-sm line-height */
  font-size:0.875rem;             /* text-sm */
  border:1px solid var(--brand-600, #6d28d9);  /* fallback to a purple-like if --brand-600 not present */
  color:var(--brand-600, #6d28d9);
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);        /* subtle shadow like CTA */
  transition:background-color .2s ease, color .2s ease, box-shadow .2s ease, border-color .2s ease;
}

/* Hover: fill like CTA */
#priklady .tab-btn:hover{
  background:var(--brand-600, #6d28d9);
  color:#fff !important;
  border-color:var(--brand-600, #6d28d9);
  box-shadow:0 6px 12px rgba(109,40,217,.25); /* hover shadow similar to CTA */
}

/* Active (selected) = filled CTA look */
#priklady .tab-btn[aria-selected="true"]{
  background:var(--brand-600, #6d28d9);
  color:#fff !important;
  border-color:var(--brand-600, #6d28d9);
  box-shadow: none;
}

/* Focus ring like CTA */
#priklady .tab-btn:focus-visible{
  outline:2px solid transparent;
  box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--brand-600, #6d28d9);
}

/* Respect dark text on white inside section if any parent sets color */
#priklady .tab-btn svg{ fill:currentColor; stroke:currentColor; }


/* --- inline-style (shared) --- */

/* Remove dotted border near consent and tighten spacing */
#contactForm .border-dashed{border:0 !important; padding-top:0 !important; margin-top:0 !important;}
#contactForm textarea[name="message"]{margin-bottom:3px}
#contactForm .submit-row{margin-top: 2px; gap: 3px; display:flex; flex-direction:column; justify-content:flex-start; align-items:flex-start}
#contactForm .consent-row{margin-top:2px; display:block; text-align:left}
#contactForm{margin-bottom:0; padding-bottom:0}
#contactForm *:last-child{margin-bottom:0}
#contactForm ~ *{margin-bottom:6px}


/* --- inline-style (shared) --- */

/* Auto-shrink logo based on sticky header bar height */
.site-header .header-bar img[alt*="Logo"],
header .header-bar img[alt*="Logo"]{
  height: calc(var(--header-bar-h, 56px) - 18px);
  width: auto;
  margin: 6px 20px 6px 0;
  vertical-align: middle;
  align-self: center;
}


/* --- inline-style (shared) --- */

/* Left-align submit button and consent row; center checkbox vertically */
.contact form .btn-submit { display:inline-block; margin: 0px 0 0 0;  background:#e5e7eb !important; color:#111827 !important; border:1px solid #d1d5db !important; }
.contact form .consent-row{margin-top:2px; display:block; text-align:left; }
.contact form .consent-row input[type="checkbox"] {  margin: 0 8px 0 0; align-self:center;  width:18px; height:18px; vertical-align:middle; }

/* Force submit block into the first grid column on md+ */
@media (min-width: 768px){
  #contactForm .submit-row{ grid-column: 1 / 2 !important; }
}


/* --- inline-style (shared) --- */

/* lang flag tooltip bubble (scoped, minimal) */
.lang-flag{position:relative}
.lang-flag .flag-tooltip{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);background:#6D28D9;color:#fff;font-size:12px;line-height:1;padding:6px 8px;border-radius:9999px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.lang-flag:focus .flag-tooltip,
.lang-flag:hover .flag-tooltip{opacity:1;transform:translateX(-50%) translateY(10px)}
.lang-flag .flag-tooltip::after{content:"";position:absolute;bottom:100%;left:50%;transform:translateX(-50%);border-width:6px;border-style:solid;border-color:transparent transparent #6D28D9 transparent}


/* --- ls-patch-v1 --- */

.cookies a,.cookies a:link,.cookies a:visited,.cookies a:hover,.cookies a:active,.cookies a:focus,.cookies a:focus-visible{color:#fff!important;text-decoration:underline;}


/* --- ls-patch-v3 --- */

/* --- LS patch v3 (2025-10-28): descendant color fix for button-like controls --- */
button[class*="cta"], button[class*="btn"], button[class*="button"], button[class*="pill"], button[class*="tab"] { color: inherit !important; }
button[class*="cta"] *, button[class*="btn"] *, button[class*="button"] *, button[class*="pill"] *, button[class*="tab"] * { color: inherit !important; }
button[class*="cta"]:is(:focus, :focus-visible, :active),
button[class*="btn"]:is(:focus, :focus-visible, :active),
button[class*="button"]:is(:focus, :focus-visible, :active),
button[class*="pill"]:is(:focus, :focus-visible, :active),
button[class*="tab"]:is(:focus, :focus-visible, :active),
button[class*="cta"].is-active, button[class*="btn"].is-active, button[class*="button"].is-active, button[class*="pill"].is-active, button[class*="tab"].is-active,
button[class*="cta"][aria-pressed="true"], button[class*="btn"][aria-pressed="true"], button[class*="button"][aria-pressed="true"], button[class*="pill"][aria-pressed="true"], button[class*="tab"][aria-pressed="true"],
button[class*="cta"][data-state="on"], button[class*="btn"][data-state="on"], button[class*="button"][data-state="on"], button[class*="pill"][data-state="on"], button[class*="tab"][data-state="on"] { color: inherit !important; }
button[class*="cta"]:is(:focus, :focus-visible, :active) *, button[class*="btn"]:is(:focus, :focus-visible, :active) *, button[class*="button"]:is(:focus, :focus-visible, :active) *, button[class*="pill"]:is(:focus, :focus-visible, :active) *, button[class*="tab"]:is(:focus, :focus-visible, :active) *, button[class*="cta"].is-active *, button[class*="btn"].is-active *, button[class*="button"].is-active *, button[class*="pill"].is-active *, button[class*="tab"].is-active *, button[class*="cta"][aria-pressed="true"] *, button[class*="btn"][aria-pressed="true"] *, button[class*="button"][aria-pressed="true"] *, button[class*="pill"][aria-pressed="true"] *, button[class*="tab"][aria-pressed="true"] *, button[class*="cta"][data-state="on"] *, button[class*="btn"][data-state="on"] *, button[class*="button"][data-state="on"] *, button[class*="pill"][data-state="on"] *, button[class*="tab"][data-state="on"] * { color: inherit !important; }
button[class*="cta"] [class*="brand-"], button[class*="btn"] [class*="brand-"], button[class*="button"] [class*="brand-"], button[class*="pill"] [class*="brand-"], button[class*="tab"] [class*="brand-"] { color: inherit !important; }
/* --- end patch v3 --- */


/* --- ls-patch-hover-fix --- */

/* --- LS patch hover fix (buttons) --- */
/* Ensure pointer cursor for button-like controls */
button[class*="bg-brand"],button[class*="btn"],button[class*="cta"],button[class*="pill"],button[class*="tab"]{cursor:pointer;}

button:hover img,button:focus img,button:focus-visible img{transform:translateY(-2px) scale(1.02);transition:transform .2s ease;}
/* --- end patch hover fix --- */


/* --- form-message-v4 (EN only) --- */

form [class*="status"]:not(:empty), form [class*="message"]:not(:empty), form [class*="alert"]:not(:empty), form [class*="success"]:not(:empty), form [class*="error"]:not(:empty), form [class*="form-message"]:not(:empty), form [id*="status"]:not(:empty), form [id*="message"]:not(:empty), form [id*="result"]:not(:empty) {
  background-color: #f0f0f0;
  padding: 12px;
  border-radius: 8px;
  grid-column: 1 / -1;
  margin: 8px 0;
}


/* --- lang-flag-mobile-spacing-v2 (EN only) --- */

@media (max-width: 767.98px){#mobile-menu .border-t.border-slate-200, #mobile-menu .border-b.border-slate-200, #mobile-menu hr {
    display: none !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }#mobile-menu a[href="/"], #mobile-menu a[href="../"], #mobile-menu a[hreflang], #mobile-menu a.lang-flag {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }}


/* --- footer-desktop-center-cta (EN only) --- */

@media (min-width: 640px){footer .py-6.text-sm.text-slate-600{
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    align-items: center !important;
    text-align: left !important;
  }footer .py-6.text-sm.text-slate-600 a{
    grid-column: 2 !important;
    justify-self: center !important;
    text-align: center !important;
    display: block !important;
  }}
@media (max-width: 639.98px){footer .py-6.text-sm.text-slate-600{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 6px !important;
  }footer .py-6.text-sm.text-slate-600 a{
    display: block !important;
    text-align: center !important;
    margin: 0 auto !important;
  }}


/* --- consent-row-align-en (EN only) --- */

/* Mirror CZ consent-row checkbox size, alignment and vertical spacing */
section#contact form#contactForm .consent-row label{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
}
section#contact form#contactForm .consent-row span{
  line-height:1.25 !important;
}
section#contact form#contactForm .consent-row{
  margin-top:12px !important;
  display:block !important;
  text-align:left !important;
}
section#contact form#contactForm .consent-row input[type="checkbox"]{
  width:18px !important;
  height:18px !important;
  margin:0 8px 0 0 !important;
  vertical-align:middle !important;
  align-self:center !important;
}




/* --- cookies-banner-rebuild-v3 --- */
/* Mobile issue: on some browsers the visual viewport is smaller than the layout viewport
   (toolbars/embeds/iframed previews). Fixed elements anchored to `bottom` can look clipped.
   Solution (A–C): use left/right centering with max-width, add a fixed bottom cushion,
   and drive viewport padding via CSS vars set on :root from VisualViewport.
*/

:root{
  --ls-cookie-vv-bottom: 0px;
  --ls-cookie-iframe-pad: 0px;
}

/* Desktop/default: keep the compact cookie badge in the bottom-left */
#lsCookieHost{
  position: fixed;
  left: 16px;
  bottom: 16px;
  z-index: 2147483647;
  pointer-events: none;
}
#lsCookieHost #cookies{
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: auto;
  max-width: 360px;
  pointer-events: auto;
}

/* Mobile (A–C): centered banner, small gaps left/right/bottom, plus a fixed bottom cushion.
   No JS "lift" logic here; only viewport vars on :root are used. */
@media (max-width: 639.98px){
  #lsCookieHost{
    left: 16px;
    right: 16px;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 16px + var(--ls-cookie-vv-bottom, 0px) + var(--ls-cookie-iframe-pad, 0px));
    width: auto;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
    transform: none !important;
    box-sizing: border-box;
  }
  #lsCookieHost #cookies{
    width: 100% !important;
    max-width: none;
    box-sizing: border-box;
    transform: none !important;
  }
}

/* Inside banner: keep link white/bold and button clickable (prevents visited/purple) */
#cookies a, #cookies a:visited, .cookies a, .cookies a:visited{
  color: #ffffff !important;
  font-weight: 700 !important;
}
#cookies button, .cookies button, #cookies .btn, .cookies .btn, #cookies [role="button"], .cookies [role="button"]{
  cursor: pointer !important;
}

/* --- cta-visited-fix --- */

/* Keep CTA link colors consistent across states to avoid purple visited */
a.btn, a.btn:visited, a.btn:hover, a.btn:active,
a.button, a.button:visited, a.button:hover, a.button:active,
a.cta, a.cta:visited, a.cta:hover, a.cta:active {
  color: #ffffff !important;
  text-decoration: none !important;
}


/* --- footer-pointer-fix-en (EN only) --- */

/* Ensure pointer cursor on the footer CTA link in EN */
footer a[href="#contact"] { cursor: pointer !important; }

/* --- contact-phone-color --- */
section#contact a[href^="tel:"],
section#kontakt a[href^="tel:"]{
  color:#000 !important;
}
section#contact a[href^="tel:"]:hover,
section#kontakt a[href^="tel:"]:hover{
  color:#7a2cf6 !important;
}


/* --- footer-cta-pointer-fix-en-v2 (EN only) --- */

footer .footer-cta-link {
  cursor: pointer !important;
  pointer-events: auto !important;
  text-decoration: none;
  position: relative; /* in case of overlay, ensure stacking context if needed */
  z-index: 2;
  display: inline-block;
}


/* --- contact-submit-lock-final --- */

section#kontakt form#contactForm .btn-submit,
section#contact form#contactForm .btn-submit { transition: none !important; }
section#kontakt form#contactForm .btn-submit.is-enabled,
section#contact form#contactForm .btn-submit.is-enabled {
  background:#6d28d9 !important; background-image:none !important;
  color:#ffffff !important; border-color:#6d28d9 !important;
  box-shadow:0 1px 2px rgba(0,0,0,.05) !important; cursor:pointer !important;
}
section#kontakt form#contactForm .btn-submit.is-enabled:hover,
section#contact form#contactForm .btn-submit.is-enabled:hover,
section#kontakt form#contactForm .btn-submit.is-enabled:focus,
section#contact form#contactForm .btn-submit.is-enabled:focus,
section#kontakt form#contactForm .btn-submit.is-enabled:active,
section#contact form#contactForm .btn-submit.is-enabled:active {
  background:#6d28d9 !important; background-image:none !important;
  color:#ffffff !important; border-color:#6d28d9 !important;
}
section#kontakt form#contactForm .btn-submit[disabled],
section#contact form#contactForm .btn-submit[disabled],
section#kontakt form#contactForm .btn-submit:not(.is-enabled),
section#contact form#contactForm .btn-submit:not(.is-enabled) {
  background:#e5e7eb !important; background-image:none !important;
  color:#111827 !important; border:1px solid #d1d5db !important;
  pointer-events:none !important; cursor:not-allowed !important;
  box-shadow:none !important; transform:none !important;
}


/* --- inline-style (shared) --- */

/* Prevent persistent "clicked" purple from browser :visited in header nav;
   active section color is controlled by JS via .text-brand-600 */
.site-header nav a[href^="#"]:visited { color: inherit !important; }


/* --- inline-style (EN only) --- */

/* Ensure overrides win by specificity + !important and location (end of document) */

/* 1) Space above submit (between #message and button) ~50% smaller */
section#kontakt form#contactForm textarea#message { margin-bottom: 0px !important; }
section#kontakt form#contactForm .submit-row { margin-top: -12px !important; gap: 12px !important; }

/* 2) Submit button gray with readable text */
section#kontakt form#contactForm .btn-submit {
  background: #e5e7eb !important; /* slate-200 */
  color: #111827 !important;       /* slate-900 */
  border: 1px solid #d1d5db !important; /* slate-300 */
}
section#kontakt form#contactForm .btn-submit:hover {
  background: #d1d5db !important;  /* slate-300 */
  color: #111827 !important;
  border-color: #cfd4da !important;
}

/* 3) Bigger checkbox and vertically centered in the line */
section#kontakt form#contactForm .consent-row label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}
section#kontakt form#contactForm .consent-row input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  margin: 0 8px 0 0 !important;
  vertical-align: middle !important;
}

/* 4) Consent link style same as right column "Personal data processing" */
section#kontakt form#contactForm .consent-row a {
  color: #475569 !important;                /* text-slate-600 */
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}
section#kontakt form#contactForm .consent-row a:hover {
  color: #6d28d9 !important;                /* brand-600 (fallback approx) */
}

/* Keep block in first column on md+ */
@media (min-width: 768px){section#kontakt form#contactForm .submit-row{ grid-column: 1 / 2 !important; }}

/* Referencess logos responsive (tablet: 2 rows, mobile: stacked) */
/* Client logos: consolidated (V81) */
#domu .client-logos { margin-top: 1.5rem !important; }

@media (max-width: 639.98px){/* Keep the original mobile spacing under the Trusted by heading */.clients-heading-margin{ margin-bottom: 14px !important; }/* Preserve mobile logo sizing that used to be set in client-logos-v3 */.client-logos img{
  height: 40px !important; width: auto !important; display: block !important;
  flex:0 0 100% !important; max-width:100% !important;
}/* Preserve existing extra spacing between stacked items (kept from older patches) */#trusted-by .client-logos > *, .client-logos > *{ margin-bottom: 1rem !important; }#trusted-by .client-logos > *:last-child, .client-logos > *:last-child{ margin-bottom: 0 !important; }}

.client-logos{ display:flex; flex-wrap:wrap; }
@media (max-width: 639.98px){.client-logos{ gap:12px !important; }}
@media (min-width: 640px) and (max-width: 1023.98px){/* 8 logos => 4 per row */.client-logos img{
  flex:0 0 25% !important; max-width:25% !important;
  width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 36px !important;
}}

/* Desktop: force 8 logos in a single row using CSS Grid */
@media (min-width: 1024px){.client-logos{
    display: grid !important;
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
    align-items: center !important;
    justify-items: center !important;
  }.client-logos img{
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 36px !important;
  }}
/* Tablet already set to 4 per row (2 rows total) */
/* Mobile already set to 1 per row */

/* Tablet: 2 rows with 4 logos per row (CSS Grid) */
@media (min-width: 640px) and (max-width: 1023.98px){.client-logos{
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: center !important;
    justify-items: center !important;
    gap: 16px !important;
  }}

/* Services: prevent sibling tiles from stretching when one expands */
@media (min-width: 640px){#sluzby .grid{ align-items: start !important; }#sluzby .srv-card{ align-self: start !important; height: auto !important; }}

/* Services: "More" / "Less" toggle should behave like a link (pointer cursor) */
#sluzby .srv-toggle, #services .srv-toggle{ cursor: pointer; }
#sluzby .srv-toggle:hover, #services .srv-toggle:hover{ text-decoration: none !important; }

/* Submit button: active state in brand purple */
.contact form .btn-submit:active{
  background:#6d28d9 !important;  /* brand-600 */
  color:#ffffff !important;
  border-color:#6d28d9 !important;
}

/* Tablet: center text inside tiles in Features */
@media (min-width: 640px) and (max-width: 1023.98px){#funkce .grid > * {
  text-align: center !important;
  width:auto !important;
    max-width:100% !important;
    display:inline-block !important;
}}

/* Submit button: active = brand purple on all breakpoints */
section#kontakt form#contactForm .btn-submit:active{background:#6d28d9 !important; /* brand-600 */ color:#ffffff !important; border-color:#6d28d9 !important; box-shadow:0 1px 2px rgba(0,0,0,.05) !important; }

/* Tablet Features: tiles shrink to text width */
@media (min-width: 640px) and (max-width: 1023.98px){#funkce .grid{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    align-items:flex-start !important;
    gap:16px !important;
  }}

/* FINAL: make :active win over :hover for submit button on all breakpoints */
section#kontakt form#contactForm .btn-submit:active, section#kontakt form#contactForm .btn-submit:active:hover, section#kontakt form#contactForm button.btn-submit:active, section#kontakt form#contactForm button.btn-submit:active:hover, section#kontakt form#contactForm a.btn-submit:active, section#kontakt form#contactForm a.btn-submit:active:hover{background:#6d28d9 !important; /* brand-600 */ color:#ffffff !important; border-color:#6d28d9 !important; box-shadow:0 1px 2px rgba(0,0,0,.05) !important; }

/* Submit button: ensure visible purple on press across all devices */
section#kontakt form#contactForm .btn-submit.is-active, section#kontakt form#contactForm .btn-submit.is-active:hover{background:#6d28d9 !important; /* brand-600 */ color:#ffffff !important; border-color:#6d28d9 !important; box-shadow:0 1px 2px rgba(0,0,0,.05) !important; }

/* Submit button: enabled (form valid) looks like CTA */
section#kontakt form#contactForm .btn-submit.is-enabled, section#kontakt form#contactForm .btn-submit.is-enabled:hover{
  background:#6d28d9 !important;
  color:#ffffff !important;
  border-color:#6d28d9 !important;
  box-shadow:0 1px 2px rgba(0,0,0,.05) !important;
}


/* --- inline-style (shared) --- */

section#kontakt form#contactForm [class~="btn-submit"].is-enabled,
section#kontakt form#contactForm [class~="btn-submit"].is-enabled:hover,
section#kontakt form#contactForm [class~="btn-submit"].is-enabled:focus,
section#kontakt form#contactForm [class~="btn-submit"].is-enabled:active{
  background:#6d28d9 !important;
  color:#ffffff !important;
  border-color:#6d28d9 !important;
  box-shadow:0 1px 2px rgba(0,0,0,.05) !important;
}
section#kontakt form#contactForm [class~="btn-submit"]:not(.is-enabled) {
  background:#e5e7eb !important;
  color:#111827 !important;
  border:1px solid #d1d5db !important;
}


/* --- footer-align-mobile-center-desktop-left (CZ only) --- */

@media (min-width: 640px){html[lang="cs"] footer .py-6.text-sm.text-slate-600{ text-align: left !important; }}
@media (max-width: 639.98px){html[lang="cs"] footer .py-6.text-sm.text-slate-600{ text-align: center !important; }}


/* --- footer-mobile-link-below (CZ only) --- */

@media (max-width: 639.98px){html[lang="cs"] footer .py-6.text-sm.text-slate-600 a{
    display:block !important;
    text-align:center !important;
  }}


/* --- contact-success-bg-cz (CZ only) --- */

html[lang="cs"] section#kontakt #form-status:not(:empty){
  background:#f3f4f6 !important; border:1px solid #e5e7eb !important;
  color:#111827 !important; padding:12px 14px !important; border-radius:10px !important;
}


/* --- contact-success-colspan-cz (CZ only) --- */

html[lang="cs"] section#kontakt form#contactForm #form-status{
  grid-column:1 / -1 !important;
  margin-bottom:16px !important;
}


/* --- inline-style (CZ only) --- */

/* Ensure overrides win by specificity + !important and location (end of document) */

/* 1) Space above submit (between #message and button) ~50% smaller */
html[lang="cs"] section#kontakt form#contactForm textarea#message { margin-bottom: 0px !important; }
html[lang="cs"] section#kontakt form#contactForm .submit-row { margin-top: -12px !important; gap: 12px !important; }

/* 2) Submit button gray with readable text */
html[lang="cs"] section#kontakt form#contactForm .btn-submit {
  background: #e5e7eb !important; /* slate-200 */
  color: #111827 !important;       /* slate-900 */
  border: 1px solid #d1d5db !important; /* slate-300 */
}
html[lang="cs"] section#kontakt form#contactForm .btn-submit:hover {
  background: #d1d5db !important;  /* slate-300 */
  color: #111827 !important;
  border-color: #cfd4da !important;
}

/* 3) Bigger checkbox and vertically centered in the line */
html[lang="cs"] section#kontakt form#contactForm .consent-row label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}
html[lang="cs"] section#kontakt form#contactForm .consent-row input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  margin: 0 8px 0 0 !important;
  vertical-align: middle !important;
}

/* 4) Consent link style same as right column "Zpracování osobních údajů" */
html[lang="cs"] section#kontakt form#contactForm .consent-row a {
  color: #475569 !important;                /* text-slate-600 */
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}
html[lang="cs"] section#kontakt form#contactForm .consent-row a:hover {
  color: #6d28d9 !important;                /* brand-600 (fallback approx) */
}

/* Keep block in first column on md+ */
@media (min-width: 768px){html[lang="cs"] section#kontakt form#contactForm .submit-row{ grid-column: 1 / 2 !important; }}

/* References logos responsive (tablet: 2 rows, mobile: stacked) */
/* Client logos: consolidated (V81) */
html[lang="cs"] #domu .client-logos { margin-top: 1.5rem !important; }

@media (max-width: 639.98px){/* Keep the original mobile spacing under the Trusted by heading */html[lang="cs"] .clients-heading-margin{ margin-bottom: 14px !important; }/* Preserve existing extra spacing between stacked items (kept from older patches) */html[lang="cs"] #trusted-by .client-logos > *, html[lang="cs"] 
  .client-logos > *{ margin-bottom: 1rem !important; }html[lang="cs"] #trusted-by .client-logos > *:last-child, html[lang="cs"] 
  .client-logos > *:last-child{ margin-bottom: 0 !important; }}

html[lang="cs"] .client-logos{ display:flex; flex-wrap:wrap; }
@media (max-width: 639.98px){html[lang="cs"] .client-logos{ gap:12px !important; }}
@media (min-width: 640px) and (max-width: 1023.98px){}

/* Desktop: force 8 logos in a single row using CSS Grid */
@media (min-width: 1024px){html[lang="cs"] .client-logos{
    display: grid !important;
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
    align-items: center !important;
    justify-items: center !important;
  }html[lang="cs"] .client-logos img{
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 36px !important;
  }}
/* Tablet already set to 4 per row (2 rows total) */
/* Mobile already set to 1 per row */

/* Tablet: 2 rows with 4 logos per row (CSS Grid) */
@media (min-width: 640px) and (max-width: 1023.98px){html[lang="cs"] .client-logos{
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: center !important;
    justify-items: center !important;
    gap: 16px !important;
  }}

/* Services: prevent sibling tiles from stretching when one expands */
@media (min-width: 640px){html[lang="cs"] #sluzby .grid{ align-items: start !important; }html[lang="cs"] #sluzby .srv-card{ align-self: start !important; height: auto !important; }}

/* Services: "More" / "Less" toggle should behave like a link (pointer cursor) */
html[lang="cs"] #sluzby .srv-toggle, html[lang="cs"] 
#services .srv-toggle{ cursor: pointer; }

/* Submit button: active state in brand purple */
html[lang="cs"] .contact form .btn-submit:active{
  background:#6d28d9 !important;  /* brand-600 */
  color:#ffffff !important;
  border-color:#6d28d9 !important;
}

/* Tablet: center text inside tiles in Funkce */
@media (min-width: 640px) and (max-width: 1023.98px){}

/* Submit button: active = brand purple on all breakpoints */
html[lang="cs"] section#kontakt form#contactForm .btn-submit:active{background:#6d28d9 !important; /* brand-600 */ color:#ffffff !important; border-color:#6d28d9 !important; box-shadow:0 1px 2px rgba(0,0,0,.05) !important; }

/* Tablet Funkce: tiles shrink to text width */
@media (min-width: 640px) and (max-width: 1023.98px){html[lang="cs"] #funkce .grid{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    align-items:flex-start !important;
    gap:16px !important;
  }}

/* FINAL: make :active win over :hover for submit button on all breakpoints */
html[lang="cs"] section#kontakt form#contactForm .btn-submit:active, html[lang="cs"] 
section#kontakt form#contactForm .btn-submit:active:hover, html[lang="cs"] 
section#kontakt form#contactForm button.btn-submit:active, html[lang="cs"] 
section#kontakt form#contactForm button.btn-submit:active:hover, html[lang="cs"] 
section#kontakt form#contactForm a.btn-submit:active, html[lang="cs"] 
section#kontakt form#contactForm a.btn-submit:active:hover{background:#6d28d9 !important; /* brand-600 */ color:#ffffff !important; border-color:#6d28d9 !important; box-shadow:0 1px 2px rgba(0,0,0,.05) !important; }

/* Submit button: ensure visible purple on press across all devices */
html[lang="cs"] section#kontakt form#contactForm .btn-submit.is-active, html[lang="cs"] 
section#kontakt form#contactForm .btn-submit.is-active:hover{background:#6d28d9 !important; /* brand-600 */ color:#ffffff !important; border-color:#6d28d9 !important; box-shadow:0 1px 2px rgba(0,0,0,.05) !important; }

/* Submit button: enabled (form valid) looks like CTA */
html[lang="cs"] section#kontakt form#contactForm .btn-submit.is-enabled, html[lang="cs"] 
section#kontakt form#contactForm .btn-submit.is-enabled:hover{
  background:#6d28d9 !important;
  color:#ffffff !important;
  border-color:#6d28d9 !important;
  box-shadow:0 1px 2px rgba(0,0,0,.05) !important;
}

/* CTA buttons: invert on hover (white fill, brand border + text) */
.activate{border:1px solid transparent;}
.activate:hover{background-color:#fff!important;color:#7a2cf6!important;border-color:#7a2cf6!important;}
.activate:hover *{color:#7a2cf6!important;}
.activate:hover svg{fill:#7a2cf6!important;stroke:#7a2cf6!important;}

/* --- nav-active-link --- */

/* Menu: purple on hover + keep purple while its section is active */
.site-header nav a[href^="#"]:hover{ color:#7a2cf6 !important; }
.site-header nav a[href^="#"].is-active{ color:#7a2cf6 !important; }

/* Prevent persistent purple from global `a:focus` rule after click;
   keep purple only for the currently active section link. */
.site-header nav a[href^="#"]:is(:focus, :focus-visible){
  color: inherit !important;
  text-decoration-color: currentColor !important;
}
.site-header nav a[href^="#"].is-active:is(:focus, :focus-visible){
  color:#7a2cf6 !important;
  text-decoration-color:#7a2cf6 !important;
}


/* --- cobrowse fixes v111 --- */
html.cob-fixed-header .site-header{position:fixed !important;top:0;left:0;right:0;}
html.cob-fixed-header main#main{padding-top:var(--header-bar-h, var(--header-height)) !important;}


/* --- cobrowse: pinned header inside wrapper scroller --- */
html.cob-pinned-header .site-header,
html.cob-pinned-header .site-header .header-bar{
  transition:none !important;
  transform:none !important;
  animation:none !important;
}


/* Cobrowse Variant C: body-fixed overlay header + wrapper spacer */
html.cob-header-portal .site-header{
  position:fixed !important;
  top:0 !important;
  left:0;
  right:0;
  width:100%;
  z-index:2147483647 !important;
  transform:translateZ(0);
  backface-visibility:hidden;
  will-change:transform;
}
html.cob-header-portal .site-header .header-bar{
  transition:none !important;
  transform:none !important;
  animation:none !important;
}
html.cob-header-portal .cob-header-spacer{
  height:var(--cob-header-h, 64px);
  width:100%;
  pointer-events:none;
}
html.cob-header-portal main#main{
  padding-top:0 !important;
}

/* --- mobile tile headings: force 2 lines on small screens --- */
@media (min-width: 768px){
  br.br-mobile{display:none;}
}

/* Desktop-only line breaks (used in EN hero lead paragraph) */
br.br-desktop{display:none;}

/* --- EN desktop wrap control (hero + how-it-works tagline) --- */
@media (min-width: 1024px){
  /* Hero: keep headline to 2 lines on desktop */
  html[lang="en"] #home .max-w-3xl{ max-width:56rem; }

  /* Hero: force "sales & customer care" on line 2 */
  html[lang="en"] #home .hero-line2{ display:block; white-space:nowrap; }

  /* Hero lead paragraph: enable desktop-only line breaks */
  br.br-desktop{ display:block; }

  /* How it works: keep the closing sentence on a single line on desktop */
  html[lang="en"] #how-it-works h3.mt-12.max-w-2xl{ max-width:56rem; }
}

/* --- Hero mobile overflow fix: allow wrapping inside H1 on narrow screens --- */
@media (max-width: 639.98px){
  #home h1,
  #domu h1{ overflow-wrap:break-word; }
  #home h1 .whitespace-nowrap,
  #domu h1 .whitespace-nowrap{ white-space:normal !important; }
}




/* --- cobrowse: operator desktop scroll takeover (no fixed/sticky header) --- */
html.cob-scroll-takeover, html.cob-scroll-takeover body{
  height:100% !important;
  overflow:hidden !important;
}
html.cob-scroll-takeover .site-header{
  position:relative !important;
  top:0 !important;
  transform:none !important;
}


/* Operator-only bar (cobrowse): independent from .site-header so cobrowse renderers won't target it */
.ls-opbar{
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.ls-opbar .ls-opbar-inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 20px;
}
.ls-opbar .ls-opbar-left{
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 140px;
}
.ls-opbar .ls-opbar-logo{
  max-height: 28px;
  width: auto;
  height: auto;
}
.ls-opbar .ls-opbar-title{
  font-weight: 700;
  white-space: nowrap;
}
.ls-opbar .ls-opbar-links{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 18px;
}
.ls-opbar .ls-opbar-link{
  text-decoration: none;
  font-weight: 600;
  color: inherit;
  opacity: .95;
}
.ls-opbar .ls-opbar-link:hover{
  opacity: 1;
  text-decoration: underline;
}

/* V186: nav isolated in a nested iframe (srcdoc) */
.ls-opbar .ls-opbar-frame{
  width:100%;
  height:64px;
  border:0;
  margin:0;
  padding:0;
  display:none;
}
.ls-opbar .ls-opbar-fallback{ display:none; }

/* If the iframe isn't ready for any reason, keep a usable fallback menu */
.ls-opbar[data-op-frame-ready="0"] .ls-opbar-fallback{ display:block; }
.ls-opbar[data-op-frame-ready="1"] .ls-opbar-frame{ display:block; }
.ls-opbar[data-op-frame-ready="1"] .ls-opbar-fallback{ display:none; }

@media (max-width: 900px){
  .ls-opbar .ls-opbar-inner{ padding: 10px 14px; }
  .ls-opbar .ls-opbar-links{ gap: 10px 14px; }
}


/* ---------------------------------------------------------
   V184–V186 (cobrowse operator desktop): Static scroll host layout
   - Activate only when cobrowse wrapper signature is present
   - No fixed/sticky header; body becomes flex with inner scroller
---------------------------------------------------------- */
#lsOpBarStatic{ display:none; }

@media (min-width: 768px){
  html:has([class*="kcns"]) body{
    height:100vh;
    overflow:hidden;
    display:flex;
    flex-direction:column;
  }
  html:has([class*="kcns"]) #lsOpBarStatic{
    display:block;
    flex:0 0 auto;
  }
  html:has([class*="kcns"]) .site-header{
    display:none !important;
  }
  html:has([class*="kcns"]) #mobile-overlay{
    display:none !important;
  }
  html:has([class*="kcns"]) #lsOpScrollHost{
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
  }


  /* V185: When cobrowse wraps the page into a [class*='kcns'] body-child,
     keep operator bar OUTSIDE the wrapper and make the wrapper the viewport.
     This avoids scroll/transform side-effects applied by the cobrowse renderer. */
  html:has([class*="kcns"]) #lsOpBarStatic{
    position: relative;
    z-index: 2147483647;
  }
  html:has([class*="kcns"]) body > [class*="kcns"]{
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }
  html:has([class*="kcns"]) body > [class*="kcns"] #lsOpScrollHost{
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }

}
