/*
Theme Name: IT Ebner
Theme URI: https://www.it-ebner.com/
Author: IT Solutions Christian Ebner
Description: Schlankes Block-Theme für it-ebner.com. Warmes Creme, Anthrazit, Logo-Orange als Akzent.
Version: 1.1.1
Requires at least: 6.4
Requires PHP: 7.4
License: Proprietary
Text Domain: it-ebner
*/

@font-face{font-family:"Inter";src:url("assets/fonts/inter-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Inter Tight";src:url("assets/fonts/inter-tight-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:#F7F3EC;color:#2B2D31;font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
*,*::before,*::after{box-sizing:border-box}
a{color:#8F5803;text-decoration:none}
a:hover{color:#6B4202}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #F29400;outline-offset:3px;border-radius:6px}
img{max-width:100%;height:auto}
.wp-site-blocks{padding:0}
.wp-site-blocks>*{margin-block-start:0}
main.ce-main{overflow:clip}
.ce-main>.wp-block-html,.ce-main>.wp-block-post-content>*{margin:0}
.ce-header{position:sticky;top:0;z-index:50}
.admin-bar .ce-header{top:32px}
details summary{list-style:none}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";float:right;color:#C47900;font-weight:500}
details[open] summary::after{content:"–"}
input,textarea{color:inherit}

/* Standardseiten (Impressum, Datenschutz, Beiträge) */
.ce-page{max-width:820px;margin:0 auto;padding:72px 24px 120px;font-size:17px;line-height:1.65}
.ce-page h1{font-family:"Inter Tight",sans-serif;font-weight:700;font-size:clamp(36px,5vw,56px);letter-spacing:-.03em;line-height:1.05;margin:0 0 32px}
.ce-page h2,.ce-page h3{font-family:"Inter Tight",sans-serif;letter-spacing:-.015em;line-height:1.2;margin:2.2em 0 .6em}
.ce-page p{margin:0 0 1em}

/* Animationen */
@keyframes ce-drift{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-40px,30px) scale(1.08)}100%{transform:translate(0,0) scale(1)}}
@keyframes ce-drift2{0%{transform:translate(0,0) scale(1)}50%{transform:translate(50px,-20px) scale(.94)}100%{transform:translate(0,0) scale(1)}}
@keyframes ce-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes ce-pulse{0%{box-shadow:0 0 0 0 rgba(76,201,122,.55)}70%{box-shadow:0 0 0 10px rgba(76,201,122,0)}100%{box-shadow:0 0 0 0 rgba(76,201,122,0)}}
@keyframes ce-pulse-warn{0%{box-shadow:0 0 0 0 rgba(255,170,90,.6)}70%{box-shadow:0 0 0 10px rgba(255,170,90,0)}100%{box-shadow:0 0 0 0 rgba(255,170,90,0)}}
@keyframes ce-flow{0%{stroke-dashoffset:24}100%{stroke-dashoffset:0}}
@keyframes ce-scan{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@keyframes ce-line{0%{stroke-dashoffset:600}100%{stroke-dashoffset:0}}
@keyframes ce-blink{0%,49%{opacity:1}50%,100%{opacity:0}}
.ce-blob1{animation:ce-drift 16s ease-in-out infinite}
.ce-blob2{animation:ce-drift2 20s ease-in-out infinite}
.ce-rise{animation:ce-rise .9s cubic-bezier(.2,.7,.2,1) both}
.ce-rise-2{animation:ce-rise .9s .15s cubic-bezier(.2,.7,.2,1) both}
.ce-rise-3{animation:ce-rise .9s .3s cubic-bezier(.2,.7,.2,1) both}
.ce-dot-ok{animation:ce-pulse 2.2s ease-out infinite}
.ce-dot-warn{animation:ce-pulse-warn 1.6s ease-out infinite}
.ce-flow{stroke-dasharray:4 4;animation:ce-flow 1.2s linear infinite}
.ce-scan{animation:ce-scan 3.5s ease-in-out infinite}
.ce-line{stroke-dasharray:600;animation:ce-line 4s ease-out infinite}
.ce-caret{animation:ce-blink 1.1s step-end infinite}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .ce-blob1,.ce-blob2,.ce-rise,.ce-rise-2,.ce-rise-3,.ce-dot-ok,.ce-dot-warn,.ce-flow,.ce-scan,.ce-line,.ce-caret{animation:none}
}

/* Navigation */
.ce-header{background:rgba(247,243,236,.78);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(43,45,49,.08)}
.ce-nav{max-width:1200px;margin:0 auto;padding:0 24px;height:80px;display:flex;align-items:center;gap:8px}
.ce-logo{display:flex;align-items:center;margin-right:auto;flex:none}
.ce-logo img{height:60px;width:auto;display:block}
.ce-menu{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0;height:100%}
.ce-menu>li{position:relative;height:100%;display:flex;align-items:center}
.ce-link{display:inline-flex;align-items:center;gap:6px;color:#2B2D31;font-size:14px;font-weight:450;padding:9px 14px;border-radius:999px;transition:background .2s,color .2s}
.ce-link:hover,.ce-has-sub:hover>.ce-link,.ce-has-sub:focus-within>.ce-link{background:rgba(43,45,49,.06);color:#2B2D31}
.ce-link[aria-current],.ce-link.is-current{color:#8F5803}
.ce-chev{opacity:.55;transition:transform .25s}
.ce-has-sub:hover .ce-chev,.ce-has-sub:focus-within .ce-chev{transform:rotate(180deg)}
.ce-sub{position:absolute;top:calc(100% - 6px);left:50%;transform:translate(-50%,-6px);opacity:0;visibility:hidden;pointer-events:none;background:rgba(252,250,246,.97);-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px);border:1px solid rgba(43,45,49,.08);border-radius:20px;box-shadow:0 24px 60px -18px rgba(43,45,49,.28),0 2px 6px rgba(43,45,49,.05);padding:10px;transition:opacity .2s ease,transform .25s cubic-bezier(.2,.7,.2,1),visibility 0s .25s}
.ce-sub::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.ce-has-sub:hover>.ce-sub,.ce-has-sub:focus-within>.ce-sub{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);transition:opacity .2s ease,transform .25s cubic-bezier(.2,.7,.2,1),visibility 0s}
.ce-sub-wide{width:600px}
.ce-sub-narrow{width:290px}
.ce-sub-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.ce-card{display:flex;align-items:flex-start;gap:14px;padding:14px;border-radius:14px;color:#2B2D31;transition:background .18s}
.ce-card:hover,.ce-card:focus-visible{background:rgba(242,148,0,.09);color:#2B2D31}
.ce-card strong{display:block;font-size:15px;font-weight:600;letter-spacing:-.01em;line-height:1.3}
.ce-card small{display:block;margin-top:3px;font-size:13px;line-height:1.4;color:#6B6760}
.ce-card[aria-current] strong{color:#8F5803}
.ce-ico{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#F7A928,#D98200);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 4px 10px -4px rgba(217,130,0,.6)}
.ce-ico svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ce-sub-all{display:flex;justify-content:space-between;align-items:center;margin:8px 4px 2px;padding:12px 12px 6px;border-top:1px solid rgba(43,45,49,.08);font-size:13px;font-weight:500;color:#8F5803}
.ce-sub-all:hover{color:#6B4202}
.ce-cta{margin-left:10px;background:#2B2D31;color:#F7F3EC;font-size:14px;font-weight:500;padding:10px 20px;border-radius:999px;transition:background .2s,transform .2s;flex:none}
.ce-cta:hover{background:#F29400;color:#2B2D31}
.ce-burger{display:none}
.ce-burger summary{cursor:pointer}

@media (max-width:900px){
  html{scroll-padding-top:76px}
  .ce-nav{height:64px;padding:0 16px}
  .ce-logo img{height:44px}
  .ce-menu,.ce-nav>.ce-cta{display:none}
  .ce-burger{display:block}
  .ce-burger summary{width:44px;height:44px;margin-right:-8px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;border-radius:12px}
  .ce-burger summary::after{content:none}
  .ce-burger summary span{display:block;width:20px;height:1.6px;background:#2B2D31;border-radius:2px;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
  .ce-burger[open] summary span:first-child{transform:translateY(3.8px) rotate(45deg)}
  .ce-burger[open] summary span:last-child{transform:translateY(-3.8px) rotate(-45deg)}
  .ce-mobile{position:absolute;left:0;right:0;top:64px;height:calc(100vh - 64px);height:calc(100dvh - 64px);overflow-y:auto;background:#F7F3EC;padding:12px 16px 40px;border-top:1px solid rgba(43,45,49,.08);animation:ce-menu-in .3s cubic-bezier(.2,.7,.2,1)}
  .ce-mobile .ce-card{align-items:center;padding:12px 8px}
  .ce-mobile .ce-card strong{font-size:17px}
  .ce-m-label{margin:18px 8px 6px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8A857C}
  .ce-m-link{display:block;padding:13px 8px;font-size:17px;font-weight:500;color:#2B2D31;border-bottom:1px solid rgba(43,45,49,.07)}
  .ce-m-cta{display:block;margin:28px 0 0;text-align:center;padding:15px 20px;font-size:16px}
  .ce-menu-open,.ce-menu-open body{overflow:hidden}
  .admin-bar .ce-mobile{height:calc(100dvh - 110px)}
}
@keyframes ce-menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ce-sub,.ce-mobile,.ce-chev,.ce-burger summary span{transition:none;animation:none}}
.wp-site-blocks>.wp-block-template-part:first-child{position:sticky;top:0;z-index:50}
.admin-bar .wp-site-blocks>.wp-block-template-part:first-child{top:32px}
@media (max-width:782px){.admin-bar .wp-site-blocks>.wp-block-template-part:first-child{top:46px}}
.ce-burger summary::after,.ce-burger[open] summary::after{content:none!important}
