/*
 * Einheitlicher öffentlicher Header und Footer
 * Ablage: /htdocs/assets/css/public-shell.css
 */
.public-shell-header{
    max-width:1180px!important;
    margin:0 auto 18px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    position:relative!important;
    top:auto!important;
    z-index:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:8px!important;
    text-align:center!important;
    backdrop-filter:none!important;
}
.public-shell-header .brand-logo{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-decoration:none!important;
    min-width:0!important;
}
.public-shell-header .brand-logo img{
    width:min(330px,70vw)!important;
    max-width:100%!important;
    height:auto!important;
    display:block!important;
    margin:0 auto!important;
}
.public-shell-header .actions{
    display:flex!important;
    gap:10px!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    align-items:center!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
}
.public-shell-header .pill{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:auto!important;
    border:1px solid var(--line,#DDE8DA)!important;
    background:rgba(255,255,255,.78)!important;
    backdrop-filter:blur(10px)!important;
    color:var(--black,#111)!important;
    text-decoration:none!important;
    border-radius:999px!important;
    padding:9px 13px!important;
    font-weight:800!important;
    font-size:14px!important;
    line-height:normal!important;
    box-shadow:none!important;
    white-space:nowrap!important;
}
.public-shell-header .pill.green{
    background:var(--green,#28C100)!important;
    border-color:var(--green,#28C100)!important;
    color:#fff!important;
    box-shadow:0 12px 30px rgba(40,193,0,.22)!important;
}

.public-shell-footer{
    max-width:1180px!important;
    margin:24px auto 0!important;
    padding:0!important;
    color:var(--muted,#5E6D5D)!important;
    font-size:13px!important;
    background:transparent!important;
    border:0!important;
}
.public-shell-footer .footer-card{
    background:rgba(255,255,255,.86)!important;
    border:1px solid var(--line,#DDE8DA)!important;
    border-radius:28px!important;
    padding:24px!important;
    box-shadow:0 14px 44px rgba(0,0,0,.04)!important;
    display:grid!important;
    grid-template-columns:1.35fr repeat(3,1fr)!important;
    gap:22px!important;
    align-items:start!important;
}
.public-shell-footer .footer-brand strong{
    display:block!important;
    color:var(--black,#111)!important;
    font-size:18px!important;
    letter-spacing:-.04em!important;
    margin-bottom:6px!important;
}
.public-shell-footer .footer-brand span{
    display:block!important;
    font-weight:850!important;
    color:#236B16!important;
    letter-spacing:.08em!important;
    font-size:12px!important;
    margin-bottom:10px!important;
}
.public-shell-footer .footer-brand p{
    margin:0!important;
    color:var(--muted,#5E6D5D)!important;
    line-height:1.5!important;
}
.public-shell-footer .footer-col strong{
    display:block!important;
    color:var(--black,#111)!important;
    font-size:14px!important;
    margin-bottom:10px!important;
    letter-spacing:-.03em!important;
}
.public-shell-footer .footer-links{
    display:grid!important;
    gap:7px!important;
}
.public-shell-footer .footer-links a{
    color:var(--muted,#5E6D5D)!important;
    text-decoration:none!important;
    font-weight:750!important;
}
.public-shell-footer .footer-links a:hover{
    color:#236B16!important;
    text-decoration:underline!important;
}
.public-shell-footer .footer-bottom{
    max-width:1180px!important;
    margin:12px auto 0!important;
    display:flex!important;
    justify-content:space-between!important;
    gap:12px!important;
    flex-wrap:wrap!important;
    color:rgba(94,109,93,.86)!important;
    font-size:12px!important;
}
.public-shell-footer .dev-status{opacity:.7!important}

@media(max-width:900px){
    .public-shell-footer .footer-card{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:620px){
    .public-shell-header .brand-logo img{width:min(300px,88vw)!important}
    .public-shell-footer .footer-card{grid-template-columns:1fr!important}
    .public-shell-footer .footer-bottom{flex-direction:column!important}
}

/* Einheitlicher Seitenhintergrund – identisch mit index.php */
body{
    background:
        radial-gradient(circle at top left, rgba(40,193,0,.22), transparent 32%),
        linear-gradient(135deg, #fff, #EFF8ED)!important;
}


/* ==========================================================
   Globale Typografie (Launch-Version)
   ========================================================== */

html{
    -webkit-hyphens:auto;
    hyphens:auto;
}

body{
    text-rendering:optimizeLegibility;
}

/* Fließtexte */
p,
li,
dd,
blockquote{
    overflow-wrap:break-word;
    word-break:normal;
    -webkit-hyphens:auto;
    hyphens:auto;
    text-wrap:pretty;
    line-height:1.6;
}

/* Ausgewogene Überschriften */
h1,
h2,
h3,
h4,
h5,
h6{
    text-wrap:balance;
}

/* Keine Silbentrennung in Bedienelementen */
button,
.button,
.pill,
nav,
code,
pre,
input,
textarea,
.badge{
    -webkit-hyphens:none;
    hyphens:none;
    text-wrap:nowrap;
}

/* Mobile Feinschliffe */
@media (max-width:620px){
    p,
    li,
    dd,
    blockquote{
        line-height:1.65;
    }
}
