/* FILE: assets/css/footer.css */
/* ============================================================
   Energiephase · Final CTA + Footer
   ============================================================ */

/* ---------- Final CTA ---------- */
.cta{position:relative;overflow:hidden}
.cta__panel{
  position:relative;
  overflow:hidden;
  text-align:center;
  padding:clamp(2.4rem,6vw,4.5rem) clamp(1.4rem,4vw,3rem);
  border-radius:var(--ep-radius-xl);
  background:
    radial-gradient(600px 300px at 50% -20%,rgba(81,163,86,.22),transparent 60%),
    linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.02));
  border:1px solid var(--ep-glass-border-hi);
  backdrop-filter:blur(var(--ep-blur));
  -webkit-backdrop-filter:blur(var(--ep-blur));
  box-shadow:var(--ep-shadow-lg),var(--ep-shadow-inset);
}
.cta__title{font-size:var(--ep-fs-h2);margin-bottom:var(--ep-space-4);text-wrap:balance}
.cta__text{
  font-size:var(--ep-fs-lead);
  color:var(--ep-text-soft);
  max-width:52ch;
  margin:0 auto var(--ep-space-6);
}
.cta__actions{display:flex;flex-wrap:wrap;gap:var(--ep-space-4);justify-content:center}

/* ---------- Footer ---------- */
.footer{
  position:relative;
  margin-top:var(--ep-section-y);
  padding-top:clamp(3rem,6vw,4.5rem);
  border-top:1px solid var(--ep-glass-border);
  background:linear-gradient(180deg,transparent,rgba(3,8,20,.5));
}
.footer__top{
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1fr;
  gap:clamp(1.5rem,4vw,3rem);
  padding-bottom:var(--ep-space-7);
}
.footer__brand{display:flex;flex-direction:column;gap:var(--ep-space-4);max-width:320px}
.footer__logo{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--ep-font-display);font-weight:800;font-size:1.3rem;color:var(--ep-text);
}
.footer__logo img{width:34px;height:34px}
.footer__tag{color:var(--ep-text-muted);font-size:.95rem;line-height:var(--ep-lh-body)}
.footer__social{display:flex;gap:.6rem}
.footer__social a{
  width:42px;height:42px;
  display:grid;place-items:center;
  border-radius:var(--ep-radius-sm);
  background:var(--ep-glass);
  border:1px solid var(--ep-glass-border);
  color:var(--ep-text-soft);
  transition:transform var(--ep-dur) var(--ep-ease),border-color var(--ep-dur) var(--ep-ease),color var(--ep-dur) var(--ep-ease);
}
.footer__social a:hover{transform:translateY(-3px);border-color:var(--ep-glass-border-hi);color:var(--ep-yellow)}
.footer__social svg{width:20px;height:20px}

.footer__col h4{
  font-family:var(--ep-font-display);
  font-size:1rem;
  font-weight:700;
  color:var(--ep-text);
  margin-bottom:var(--ep-space-4);
}
.footer__col a{
  display:block;
  padding:.4rem 0;
  color:var(--ep-text-muted);
  font-size:.95rem;
  transition:color var(--ep-dur) var(--ep-ease),transform var(--ep-dur) var(--ep-ease);
}
.footer__col a:hover{color:var(--ep-yellow);transform:translateX(3px)}

.footer__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:var(--ep-space-3);
  padding:var(--ep-space-5) 0;
  border-top:1px solid var(--ep-glass-border);
  color:var(--ep-text-muted);
  font-size:.85rem;
}

/* ---------- Responsive ---------- */
@media (max-width:860px){
  .footer__top{grid-template-columns:1fr 1fr}
  .footer__brand{grid-column:1 / -1;max-width:none}
}
@media (max-width:480px){
  .footer__top{grid-template-columns:1fr}
  .footer__bottom{justify-content:center;text-align:center}
}

/* ---------- Floating WhatsApp button ---------- */
.ep-whatsapp{
	position:fixed;
	right:clamp(1rem,3vw,1.6rem);
	bottom:clamp(1rem,3vw,1.6rem);
	z-index:var(--ep-z-overlay);
	display:inline-flex;
	align-items:center;
	gap:.6rem;
	padding:.85rem 1.15rem;
	border-radius:var(--ep-radius-pill);
	background:rgba(12,16,26,.82);
	backdrop-filter:blur(10px);
	-webkit-backdrop-filter:blur(10px);
	border:1px solid rgba(81,163,86,.45);
	color:var(--ep-text);
	font-family:var(--ep-font-display);
	font-weight:700;
	font-size:.98rem;
	line-height:1;
	text-decoration:none;
	box-shadow:0 14px 40px -16px rgba(0,0,0,.7);
	transition:transform var(--ep-dur) var(--ep-ease),box-shadow var(--ep-dur) var(--ep-ease);
}
.ep-whatsapp:hover{
	transform:translateY(-3px);
	border-color:rgba(81,163,86,.9);
	box-shadow:0 24px 60px -18px rgba(81,163,86,.4);
}
.ep-whatsapp:focus-visible{outline:2px solid var(--ep-text);outline-offset:3px}
.ep-whatsapp__icon{width:26px;height:26px;flex:0 0 auto;color:var(--ep-green-hi)}
.ep-whatsapp__label{white-space:nowrap}

/* Gentle attention pulse (respects reduced motion) */
@media (prefers-reduced-motion:no-preference){
	.ep-whatsapp{animation:ep-wa-pulse 2.6s ease-in-out infinite}
	@keyframes ep-wa-pulse{
		0%,100%{box-shadow:var(--ep-shadow-glow),var(--ep-shadow-inset)}
		50%{box-shadow:0 20px 60px -14px rgba(81,163,86,.75),var(--ep-shadow-inset)}
	}
}

/* On small phones: compact to icon-only to avoid covering content */
@media (max-width:480px){
	.ep-whatsapp{padding:.9rem;border-radius:50%}
	.ep-whatsapp__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}

/* ---------- Floating Video-Beratung (Calendly) button ---------- */
.ep-videocall{
	position:fixed;
	right:clamp(1rem,3vw,1.6rem);
	bottom:calc(clamp(1rem,3vw,1.6rem) + 4.1rem);
	z-index:var(--ep-z-overlay);
	display:inline-flex;
	align-items:center;
	gap:.6rem;
	padding:.85rem 1.15rem;
	border-radius:var(--ep-radius-pill);
	background:rgba(12,16,26,.82);
	backdrop-filter:blur(10px);
	-webkit-backdrop-filter:blur(10px);
	border:1px solid rgba(81,163,86,.45);
	color:var(--ep-text);
	font-family:var(--ep-font-display);
	font-weight:700;
	font-size:.98rem;
	line-height:1;
	text-decoration:none;
	box-shadow:0 14px 40px -16px rgba(0,0,0,.7);
	transition:transform var(--ep-dur) var(--ep-ease),border-color var(--ep-dur) var(--ep-ease);
}
.ep-videocall:hover{transform:translateY(-3px);border-color:rgba(81,163,86,.9)}
.ep-videocall:focus-visible{outline:2px solid var(--ep-text);outline-offset:3px}
.ep-videocall__icon{width:24px;height:24px;flex:0 0 auto;color:var(--ep-yellow,#51A356)}
.ep-videocall__label{white-space:nowrap}

/* Hero video button: keep icon + text aligned */
.ep-btn--video{display:inline-flex;align-items:center;gap:.5rem}
.ep-btn--video svg{width:20px;height:20px;flex:0 0 auto}

@media (max-width:480px){
	.ep-videocall__label{display:none}
	.ep-videocall{padding:.85rem}
}

/* ---------- Mobile: no floating buttons ----------
   The hero CTAs are full-width on phones, so a floating button overlaps them
   whichever side it sits on. On the front page everything lives in the sticky
   bar instead (see renewable-sections.css). On inner pages, which have no
   sticky bar, the floats stay put. */
@media (max-width:900px){
	.home .ep-whatsapp,
	.home .ep-videocall{display:none}

	/* Inner pages keep the floats, stacked clear of each other. */
	.ep-whatsapp{padding:.8rem;gap:0}
	.ep-whatsapp__label{display:none}
	.ep-videocall{padding:.8rem;gap:0;bottom:calc(clamp(1rem,3vw,1.6rem) + 4.1rem)}
	.ep-videocall__label{display:none}

	body.home{scroll-padding-bottom:96px}
}
