/*
Theme Name: Pflege27 Header Footer
Theme URI: https://pflege27.de
Author: Pflege27
Description: Schlankes WordPress Theme mit exakt konfigurierbarem Header und Footer für modulare Seitenaufbauten.
Version: 1.4.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: pflege27-hf
*/

:root{
  --p27-primary:#06296d;
  --p27-secondary:#18a871;
  --p27-accent:#0fb28f;
  --p27-text:#06163d;
  --p27-muted:#52617f;
  --p27-border:#e7ebf2;
  --p27-bg:#ffffff;
  --p27-footer-bg:#06163d;
  --p27-footer-text:#ffffff;
  --p27-container:1240px;
  --p27-header-height:104px;
  --p27-logo-height:76px;
  --p27-brand-font-size:46px;
  --p27-tagline-font-size:16px;
  --p27-phone-icon-size:35px;
  --p27-phone-label-font-size:14px;
  --p27-phone-font-size:21px;
  --p27-hours-font-size:14px;
  --p27-phone-label-font-weight:600;
  --p27-phone-font-weight:800;
  --p27-phone-label-color:#52617f;
  --p27-phone-color:#06296d;
  --p27-hours-color:#506086;
  --p27-radius:18px;
  --p27-shadow:0 14px 35px rgba(6,22,61,.08);
  --p27-font:"Inter", "Segoe UI", Roboto, Arial, sans-serif;
  --p27-font-body:var(--p27-font);
  --p27-font-logo:var(--p27-font);
  --p27-font-nav:var(--p27-font);
  --p27-font-contact:var(--p27-font);
  --p27-font-footer:var(--p27-font);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--p27-font-body);color:var(--p27-text);background:var(--p27-bg);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.p27-container{width:min(calc(100% - 56px),var(--p27-container));margin-inline:auto}

/* Header */
.p27-header{background:#fff;border-bottom:1px solid rgba(6,22,61,.08);position:relative;z-index:50}
.p27-header.is-sticky{position:sticky;top:0;box-shadow:0 8px 26px rgba(6,22,61,.06)}
.p27-header__inner{height:var(--p27-header-height);display:flex;align-items:center;justify-content:space-between;gap:34px}
.p27-brand{font-family:var(--p27-font-logo);display:flex;align-items:center;gap:13px;min-width:300px}
.p27-brand__mark{width:var(--p27-logo-height);height:var(--p27-logo-height);flex:0 0 var(--p27-logo-height);display:flex;align-items:center;justify-content:center}
.p27-brand__mark img,.p27-logo-icon{width:100%;height:100%;object-fit:contain}
.p27-brand__fallback{width:72px;height:72px;position:relative}
.p27-brand__fallback:before,.p27-brand__fallback:after{content:"";position:absolute;top:15px;width:30px;height:46px;border:7px solid var(--p27-primary);border-top-color:var(--p27-accent);border-right-color:var(--p27-accent);border-radius:30px 30px 0 30px;transform:rotate(-45deg);transform-origin:bottom center}
.p27-brand__fallback:before{left:10px}.p27-brand__fallback:after{right:10px;transform:rotate(45deg);border-left-color:var(--p27-primary);border-right-color:var(--p27-accent)}
.p27-brand__fallback span:nth-child(1),.p27-brand__fallback span:nth-child(2){position:absolute;top:0;width:14px;height:14px;background:var(--p27-accent);border-radius:50%}.p27-brand__fallback span:nth-child(1){left:18px}.p27-brand__fallback span:nth-child(2){right:18px}
.p27-brand__text{display:flex;flex-direction:column;line-height:1.05}.p27-brand__name{font-size:var(--p27-brand-font-size);font-weight:800;letter-spacing:-1.8px;color:var(--p27-primary);white-space:nowrap}.p27-brand__name .green{color:var(--p27-secondary)}.p27-brand__tagline{margin-top:7px;font-size:var(--p27-tagline-font-size);color:var(--p27-text);font-weight:400;letter-spacing:.1px}
.p27-nav{font-family:var(--p27-font-nav);display:flex;align-items:center;justify-content:center;gap:38px;flex:1}.p27-nav ul{display:flex;align-items:center;gap:38px;list-style:none;margin:0;padding:0}.p27-nav a{font-size:16px;font-weight:500;color:var(--p27-text);white-space:nowrap}.p27-nav a:hover{color:var(--p27-secondary)}.p27-nav .menu-item-has-children>a:after{content:"⌄";margin-left:7px;font-size:15px;color:var(--p27-primary)}
.p27-contact{font-family:var(--p27-font-contact);display:flex;align-items:center;gap:12px;min-width:245px;justify-content:flex-end}.p27-contact__icon{width:var(--p27-phone-icon-size);height:var(--p27-phone-icon-size);border-radius:999px;color:var(--p27-secondary);display:flex;align-items:center;justify-content:center;flex:0 0 var(--p27-phone-icon-size)}.p27-contact__icon svg{width:100%;height:100%;fill:currentColor}.p27-phone-icon-img{width:100%;height:100%;object-fit:contain}.p27-contact__text{display:flex;flex-direction:column;align-items:flex-start}.p27-contact__label{display:block;margin-bottom:4px;font-size:var(--p27-phone-label-font-size);line-height:1.1;font-weight:var(--p27-phone-label-font-weight);color:var(--p27-phone-label-color);white-space:nowrap}.p27-contact__number{display:block;font-size:var(--p27-phone-font-size);line-height:1.1;font-weight:var(--p27-phone-font-weight);color:var(--p27-phone-color);white-space:nowrap}.p27-contact__hours{display:block;margin-top:6px;font-size:var(--p27-hours-font-size);line-height:1.1;color:var(--p27-hours-color);white-space:nowrap}
.p27-menu-toggle{display:none;appearance:none;border:0;background:#fff;color:var(--p27-primary);padding:10px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--p27-border)}.p27-menu-toggle span{display:block;width:26px;height:2px;background:currentColor;margin:6px 0;border-radius:3px}

/* Content defaults */
.p27-main{min-height:45vh}.p27-blank{padding:56px 0}.p27-blank .entry-title{font-size:44px;line-height:1.1;margin:0 0 24px;color:var(--p27-primary)}.p27-blank :where(h1,h2,h3){color:var(--p27-primary);line-height:1.15}.p27-blank a{text-decoration:underline;text-underline-offset:3px;color:var(--p27-primary)}

/* Footer */
.p27-footer{font-family:var(--p27-font-footer);background:var(--p27-footer-bg);color:var(--p27-footer-text);margin-top:0}.p27-footer__top{padding:56px 0 42px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:42px}.p27-footer__brand .p27-brand__name{font-size:34px;color:#fff}.p27-footer__brand .p27-brand__tagline,.p27-footer p,.p27-footer a{color:rgba(255,255,255,.78)}.p27-footer h3{font-size:18px;margin:0 0 16px;color:#fff}.p27-footer p{margin:0 0 12px}.p27-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.p27-footer a:hover{color:#fff}.p27-footer__bottom{border-top:1px solid rgba(255,255,255,.14);padding:18px 0;display:flex;justify-content:space-between;gap:20px;align-items:center;color:rgba(255,255,255,.72);font-size:14px}.p27-footer__links{display:flex;gap:22px;flex-wrap:wrap}

@media (max-width:1100px){.p27-header__inner{gap:18px}.p27-brand{min-width:260px}.p27-brand__name{font-size:38px}.p27-brand__mark{width:64px;height:64px;flex-basis:64px}.p27-nav,.p27-nav ul{gap:22px}.p27-contact{min-width:215px}.p27-contact__number{font-size:calc(var(--p27-phone-font-size) * .86)}.p27-contact__label{font-size:calc(var(--p27-phone-label-font-size) * .92)}}
@media (max-width:920px){:root{--p27-header-height:84px}.p27-container{width:min(calc(100% - 32px),var(--p27-container))}.p27-menu-toggle{display:block}.p27-contact{display:none}.p27-brand{min-width:auto}.p27-brand__mark{width:54px;height:54px;flex-basis:54px}.p27-brand__name{font-size:32px;letter-spacing:-1px}.p27-brand__tagline{font-size:13px;margin-top:4px}.p27-nav{position:absolute;left:16px;right:16px;top:calc(var(--p27-header-height) + 10px);display:none;background:#fff;border:1px solid var(--p27-border);border-radius:20px;box-shadow:var(--p27-shadow);padding:18px;z-index:60}.p27-nav.is-open{display:block}.p27-nav ul{display:grid;gap:0}.p27-nav li{border-bottom:1px solid var(--p27-border)}.p27-nav li:last-child{border-bottom:0}.p27-nav a{display:block;padding:14px 4px;font-size:17px}.p27-footer__top{grid-template-columns:1fr 1fr;gap:32px}.p27-footer__bottom{flex-direction:column;align-items:flex-start}}
@media (max-width:560px){:root{--p27-header-height:78px}.p27-container{width:min(calc(100% - 24px),var(--p27-container))}.p27-header__inner{gap:10px}.p27-brand__mark{width:48px;height:48px;flex-basis:48px}.p27-brand__name{font-size:28px}.p27-brand__tagline{font-size:12px}.p27-footer__top{grid-template-columns:1fr;padding:42px 0 30px}.p27-blank{padding:36px 0}.p27-blank .entry-title{font-size:34px}}
