.site-root-viewport{ /* helper: ensure footer doesn't extend past page bottom */ }
html, body { height: 100%; }
body { display: flex; flex-direction: column; min-height: 100vh; }
/* Footer styles for child theme */
.site-footer{
  background:#32373c; /* changed to darker footer */
  color:#ffffff; /* light text for contrast */
  padding:48px 0 32px;
  font-size:14px;
  border-top:1px solid rgba(255,255,255,0.06); /* lighter border on dark bg */
  margin-top: auto; /* push footer to bottom when body is flex column */
}
.site-footer a{color:inherit;text-decoration:none}
/* Use grid for stable 50/25/25 layout on desktop */
.footer-inner{
  display:grid;
  gap:34px;
  grid-template-columns:2fr 1fr 1fr;
  align-items:stretch; /* changed from flex-start -> stretch to make cards equal height */
}
/* Flex basis used on mobile fallback; grid ignores it on desktop */
.footer-brand{flex:1 1 50%;min-width:260px}
.footer-col{flex:1 1 25%;min-width:180px}
/* Ensure brand column (which also has .footer-col) keeps 50% width */
.footer-col.footer-brand{flex:1 1 50%}
.footer-brand .footer-logo a{font-weight:700;color:#ffffff} /* logo text light */
/* Logo + tagline side-by-side */
.brand-header{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.footer-logo img{max-height:56px;height:auto;width:auto}
/* NOTE: current logo image text may be hard to read on the dark footer background.
  Replace with a high-contrast (light-on-dark) or transparent PNG/SVG logo that is visible here. */
.footer-logo a{display:inline-block}
.footer-address{display:flex;align-items:center;gap:10px;margin:6px 0 12px;color:rgba(255,255,255,0.8)} /* lighter address */
.icon-location{width:18px;height:18px;flex:0 0 18px;color:rgba(255,255,255,0.55)}
.footer-links h4,.footer-newsletter h4,.footer-contact h4{margin-bottom:10px;font-size:15px;color:#ffffff}
.footer-menu{list-style:none;padding:0;margin:0}
.footer-menu li{margin-bottom:8px}
.footer-menu a{color:#FDD79E} /* menu links: warm dot color */
.footer-menu a:hover{color:#ffdcae} /* hover: slightly lighter */

/* Surround company info and menu with a subtle rounded card */
.footer-brand,
.footer-links,
.footer-contact{
  background:rgba(255,255,255,0.02);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:12px;
  padding:14px 16px;
  display:flex;
  flex-direction:column;
  height:100%;
}

/* Remove extra bottom margin for the menu when inside the card */
.footer-links .footer-menu{margin-bottom:0}
.footer-newsletter-form{display:block}
.footer-newsletter-form .email-form-wrap{max-width:320px;margin:0}
.footer-newsletter-form input[type="email"],
.footer-newsletter-form input[type="text"],
.footer-newsletter-form textarea{
  width:100%;
  padding:10px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,0.12); /* slightly stronger border */
  background:rgba(255,255,255,0.03);
  color:#fff;
  box-sizing:border-box;
}
.footer-newsletter-form button,
.footer-newsletter-form input[type="submit"],
.footer-newsletter-form .emailoctopus-form__submit{background:#4aa3d8;color:#fff;border:0;padding:10px 14px;border-radius:8px;cursor:pointer}
.footer-newsletter-form .emailoctopus-form__label{color:rgba(255,255,255,0.85);margin-bottom:6px;display:block}

/* Override EmailOctopus default wrapper/card if present */
.footer-newsletter .emailoctopus-form,
.footer-newsletter .emailoctopus-form *,
.footer-newsletter .emailoctopus-form .emailoctopus-form__form{
  background:transparent !important;
  color:inherit !important;
  box-shadow:none !important;
  border:none !important;
}

/* If plugin wraps form in its own box, make it fit footer */
.footer-newsletter .emailoctopus-form .emailoctopus-form__inner,
.footer-newsletter .emailoctopus-form .emailoctopus-form__form-wrapper{
  background:transparent !important;
  padding:0 !important;
  max-width:100% !important;
}
.footer-contact address{font-style:normal;color:rgba(255,255,255,0.85);margin-bottom:8px}

/* Social icons and links */
.social-icons{display:flex;gap:8px;margin-bottom:8px}
.social-link{
  display:inline-flex;
  width:40px;
  height:40px;
  border-radius:8px;
  background:rgba(255,255,255,0.04); /* subtle light bg for icons */
  color:#F1F5F9; /* icon color */
  align-items:center;
  justify-content:center;
  transition:background .2s ease, transform .2s ease;
}
.social-link:hover{background:rgba(255,255,255,0.07);transform:translateY(-1px)}
.social-link .icon{width:20px;height:20px;display:block}
.back-to-top{margin-top:8px;background:transparent;border:1px solid rgba(255,255,255,0.12);color:#ffffff;padding:6px 8px;border-radius:6px;cursor:pointer}
.footer-bottom{background:#32373c;padding:14px 0;margin-top:28px;border-top:1px solid rgba(255,255,255,0.06)}
.footer-bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:12px}
.footer-legal a{color:rgba(255,255,255,0.85);margin-left:8px}
.footer-legal .sep{margin:0 8px;color:rgba(255,255,255,0.12)}

/* Shared hover rules: policy links hover applied to Przydatne and newsletter links */
.footer-legal a:hover,
.footer-links .footer-menu a:hover,
.footer-links .footer-newsletter-link a:hover{
  color: #FDD79E;
  text-decoration: none;
}

/* Smaller spacing for company info */
.footer-legal-name,
.footer-ids,
.footer-address {
  margin:4px 0;
  line-height:1.25;
  font-size:13px;
  color:rgba(255,255,255,0.75); /* lighter legal text */
}

/* Make "Przydatne" links look like links: no underline, dot before */
.footer-menu a {
  color:#FDD79E;
  text-decoration:none;
  position:relative;
  padding-left:18px; /* space for the dot */
}
.footer-menu a::before {
  content:"\2022"; /* bullet dot */
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  color:#FDD79E;
  font-size:14px;
  line-height:1;
}
.footer-menu a:hover{
  color:#FDD79E;
}

/* Make "Przydatne" links match the simple legal link style in footer-bottom */
.footer-links .footer-menu a {
  color: rgba(255,255,255,0.85);
  text-decoration: none;
  padding-left: 0;
}
.footer-links .footer-menu a::before{ display:none; }
.footer-links .footer-menu a:hover{ color: #FDD79E; }

/* Make newsletter link inside .footer-links match legal link style */
.footer-links .footer-newsletter-link a{
  color: rgba(255,255,255,0.85);
  text-decoration: none;
}
.footer-links .footer-newsletter-link a:hover{ color: #FDD79E; }

/* Hide/disable back-to-top button (removed from markup but keep fallback) */
.back-to-top {
  display:none !important;
}

/* Slightly refine social icon sizing and colors */
/* (kept single definition above) */

@media(max-width:900px){
  .footer-inner{display:flex;flex-direction:column;padding:0 18px;gap:18px}
  .brand-header{flex-direction:column;align-items:flex-start;gap:8px}
  .footer-brand{flex-basis:auto}
  .footer-col{flex-basis:auto}
  .footer-bottom-inner{flex-direction:column;align-items:flex-start}
}

/* Accessibility */
.screen-reader-text{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
