/*
Theme Name: ENova Facility Service
Theme URI: https://enova-facility.example
Author: ENova
Description: Premium, plugin-free one-page facility-service theme (Facility Management, Reinigung, technischer Service). Glassmorphism header, cinematic hero, floating particles, scroll reveals. No page builder required.
Version: 1.0.0
Requires at least: 5.8
Tested up to: 6.6
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: enova-facility
*/

/* ---------- Base ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body.enova{margin:0;background:#eef3ea;font-family:'Manrope',system-ui,-apple-system,sans-serif;color:#1c2620;-webkit-font-smoothing:antialiased;overflow-x:hidden;max-width:100%}
#enova-root{overflow-x:hidden;max-width:100%}
.enova img{display:block;max-width:100%}
.enova a{color:#2f6b17;text-decoration:none}
.enova a:hover{color:#4b9f21}
.enova ::selection{background:#c7ea9f;color:#0f1611}
.enova h1,.enova h2,.enova h3{margin:0}
.enova p{margin:0}
.en-wrap{max-width:1240px;margin:0 auto}

/* ---------- Keyframes ---------- */
@keyframes en-rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes en-floatA{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes en-floatB{0%,100%{transform:translateY(0)}50%{transform:translateY(-24px)}}
@keyframes en-floatC{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}
@keyframes en-blob{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(30px,-24px) scale(1.08)}66%{transform:translate(-20px,18px) scale(.96)}}
@keyframes en-pulse{0%,100%{box-shadow:0 0 0 0 rgba(75,159,33,.35)}70%{box-shadow:0 0 0 18px rgba(75,159,33,0)}}

/* ---------- Scroll reveal (translate is independent of transform, so hover-lift still composes) ---------- */
[data-reveal]{opacity:0;translate:0 26px;transition:opacity .85s cubic-bezier(.2,.7,.2,1),translate .85s cubic-bezier(.2,.7,.2,1)}
[data-reveal].en-in{opacity:1;translate:0 0}

/* ---------- Grids ---------- */
.en-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.en-grid2{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.en-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.en-ticket-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:44px}
.en-ticket-chips{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:center}
.en-steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.en-ref-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.en-contact-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:44px;align-items:stretch}
.en-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:44px}

/* ---------- Header responsive toggles ---------- */
.en-desktop-nav{display:flex}
.en-desktop-cta{display:inline-flex}
.en-burger{display:none}

/* ---------- Language switcher ---------- */
.en-lang-a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:6px 10px;border-radius:999px;font-size:12.5px;font-weight:800;letter-spacing:.03em;color:#2f6b17;line-height:1;transition:background .2s,color .2s}
.en-lang-a:hover{color:#2f6b17;background:rgba(75,159,33,.14)}
.en-lang-a.is-active{background:linear-gradient(140deg,#5cb827,#3d8a1c);color:#fff;box-shadow:0 4px 12px rgba(75,159,33,.35)}
.en-lang-a.is-active:hover{color:#fff}

/* ---------- Logo ---------- */
.en-logo{display:flex;align-items:center;line-height:0;max-height:48px}
.en-header .en-logo img,
.en-header .en-logo .custom-logo,
.en-header .en-logo a img,
.en-header img.custom-logo{height:44px !important;width:auto !important;max-width:220px !important;max-height:44px !important;object-fit:contain;display:block}
@media (max-width:520px){
  .en-header .en-logo img,
  .en-header .en-logo .custom-logo,
  .en-header img.custom-logo{height:36px !important;max-height:36px !important}
}

/* ---------- Hover / focus interactions ---------- */
.en-nav-a{transition:color .2s}.en-nav-a:hover{color:#4b9f21}
.en-btn{transition:transform .25s,box-shadow .25s}.en-btn:hover{transform:translateY(-3px);color:#fff}
.en-btn-glass{transition:background .25s}.en-btn-glass:hover{background:rgba(255,255,255,.2);color:#fff}
.en-menu-a{transition:background .15s,color .15s}.en-menu-a:hover{background:#f3f8f0;color:#4b9f21}
.en-card{transition:transform .35s,box-shadow .35s}.en-card:hover{transform:translateY(-8px);box-shadow:0 32px 70px rgba(15,40,13,.16)}
.en-more{transition:gap .2s,color .2s}.en-more:hover{gap:12px;color:#4b9f21}
.en-chip{transition:background .2s}.en-chip:hover{background:rgba(255,255,255,.24)}
.en-refcard{transition:transform .4s,box-shadow .4s}.en-refcard:hover{transform:translateY(-10px);box-shadow:0 36px 80px rgba(15,40,13,.18)}
.en-refcard img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.en-refcard:hover img{transform:scale(1.07)}
.en-play{transition:background .25s}.en-play:hover{background:rgba(255,255,255,.32)}
.en-foot-a{transition:color .2s}.en-foot-a:hover{color:#8fe05a}
.en-social{transition:background .2s,color .2s}.en-social:hover{background:rgba(92,184,39,.25);color:#fff}
.en-input{transition:border-color .2s,box-shadow .2s}.en-input:focus{border-color:#4b9f21;box-shadow:0 0 0 3px rgba(75,159,33,.15)}

/* ---------- WP admin bar offset ---------- */
.admin-bar .en-header{top:32px}
@media (max-width:782px){.admin-bar .en-header{top:46px}}

/* ---------- Mobile menu ---------- */
.en-mobile-menu{display:none}

/* ---------- Responsive ---------- */
@media (max-width:940px){
  .en-desktop-nav,.en-desktop-cta{display:none}
  .en-burger{display:flex}
  .en-hero-grid,.en-grid2,.en-grid3,.en-ticket-grid,.en-contact-grid,.en-ref-grid,.en-steps{grid-template-columns:1fr}
  .en-hero-cards{display:none}
  .en-line{display:none}
  .en-footer-grid{grid-template-columns:1fr 1fr}
  .en-sec{padding-left:24px !important;padding-right:24px !important}
  .en-ticket-inner{padding:38px 26px !important}
}
@media (max-width:420px){
  .en-lang-a{min-width:30px;padding:6px 8px;font-size:12px}
}
@media (max-width:640px){
  .en-footer-grid{grid-template-columns:1fr}
  .en-form-2{grid-template-columns:1fr !important}
}
