/* ============================================================
   KLIEBIWEB.COM – Tailwind (selbst gehostet, statisch)
   Enthält Preflight-Reset + ausschließlich die tatsächlich
   genutzten Utility-Klassen. Kein CDN, keine Drittserver.
   Reihenfolge: tailwind.css ZUERST, danach site.css einbinden.
   ============================================================ */

/* ---------- Preflight (Tailwind v3 Reset, gekürzt) ---------- */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}
::before,::after{--tw-content:''}
html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4}
body{margin:0;line-height:inherit}
hr{height:0;color:inherit;border-top-width:1px}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
a{color:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}
button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}
button,select{text-transform:none}
button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}
button,[role=button]{cursor:pointer}
:disabled{cursor:default}
img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}
img,video{max-width:100%;height:auto}

/* ---------- Layout / Position ---------- */
.fixed{position:fixed}
.absolute{position:absolute}
.relative{position:relative}
.inset-0{top:0;right:0;bottom:0;left:0}
.top-6{top:1.5rem}
.right-6{right:1.5rem}
.z-50{z-index:50}
.overflow-hidden{overflow:hidden}

/* ---------- Sizing ---------- */
.w-full{width:100%}
.h-auto{height:auto}
.h-28{height:7rem}
.h-\[1\.1em\]{height:1.1em}
.h-\[2\.2em\]{height:2.2em}
.min-h-\[60vh\]{min-height:60vh}
.max-w-lg{max-width:32rem}
.max-w-3xl{max-width:48rem}
.max-w-7xl{max-width:80rem}

/* ---------- Margin ---------- */
.mx-auto{margin-left:auto;margin-right:auto}
.-mr-2{margin-right:-0.5rem}
.mt-1{margin-top:0.25rem}
.mt-4{margin-top:1rem}
.mt-6{margin-top:1.5rem}
.mt-8{margin-top:2rem}
.mt-12{margin-top:3rem}
.mb-4{margin-bottom:1rem}
.mb-5{margin-bottom:1.25rem}
.mb-8{margin-bottom:2rem}
.mb-12{margin-bottom:3rem}

/* ---------- Padding ---------- */
.p-2{padding:0.5rem}
.p-4{padding:1rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.pl-8{padding-left:2rem}
.pt-44{padding-top:11rem}
.pb-8{padding-bottom:2rem}
.pb-24{padding-bottom:6rem}
.py-10{padding-top:2.5rem;padding-bottom:2.5rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.py-24{padding-top:6rem;padding-bottom:6rem}

/* ---------- Flex / Grid ---------- */
.flex-col{flex-direction:column}
.items-center{align-items:center}
.items-end{align-items:flex-end}
.justify-start{justify-content:flex-start}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.gap-4{gap:1rem}
.gap-8{gap:2rem}
.gap-10{gap:2.5rem}
.gap-12{gap:3rem}
.gap-x-16{column-gap:4rem}
.gap-y-24{row-gap:6rem}

/* ---------- Typography ---------- */
.text-sm{font-size:0.875rem;line-height:1.25rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-5xl{font-size:3rem;line-height:1}
.font-light{font-weight:300}
.font-normal{font-weight:400}
.italic{font-style:italic}
.leading-\[1\.0\]{line-height:1.0}
.tracking-tight{letter-spacing:-0.025em}
.text-center{text-align:center}
.break-all{word-break:break-all}
.text-\[\#C5112E\]{color:#C5112E}
.text-gray-400{color:#9ca3af}
.text-gray-800{color:#1f2937}

/* ---------- Backgrounds ---------- */
.bg-white{background-color:#fff}
.bg-gray-50{background-color:#f9fafb}

/* ---------- Borders ---------- */
.border-t{border-top-width:1px}
.border-l-2{border-left-width:2px}
.border-gray-100{border-color:#f3f4f6}
.border-\[\#C5112E\]{border-color:#C5112E}

/* ---------- Effekte / Transitions ---------- */
.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.duration-500{transition-duration:500ms}
.scroll-smooth{scroll-behavior:smooth}

/* ---------- Display (hidden NACH flex/grid, damit hidden bei Konflikt gewinnt) ---------- */
.block{display:block}
.flex{display:flex}
.grid{display:grid}
.hidden{display:none}

/* ---------- Varianten: hover / selection ---------- */
.hover\:text-\[\#C5112E\]:hover{color:#C5112E}
.selection\:bg-red-100 *::selection{background-color:#fee2e2}
.selection\:bg-red-100::selection{background-color:#fee2e2}

/* ---------- Responsive: md (>=768px) ---------- */
@media (min-width:768px){
  .md\:flex{display:flex}
  .md\:flex-row{flex-direction:row}
  .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\:h-48{height:12rem}
  .md\:gap-8{gap:2rem}
  .md\:px-8{padding-left:2rem;padding-right:2rem}
  .md\:pt-64{padding-top:16rem}
  .md\:text-3xl{font-size:1.875rem;line-height:2.25rem}
  .md\:text-7xl{font-size:4.5rem;line-height:1}
  .md\:text-8xl{font-size:6rem;line-height:1}
  .md\:hidden{display:none}
}
