/* Shared public footer, matching the approved homepage. */
body.studio-site[data-page] .s-footer-grid { grid-template-columns: minmax(0, 2.2fr) minmax(0, .8fr) minmax(0, 1fr) minmax(0, 1.15fr); gap: 32px; }
body.studio-site[data-page] .s-footer-brand .s-home-company {
  display: block;
  padding: 0;
  margin: 24px 0;
  border: 0;
}
body.studio-site[data-page] .s-footer-brand .s-home-company h2 { font-size: 1rem; margin-bottom: 10px; }
body.studio-site[data-page] .s-footer-brand .s-home-company :is(p, address) { font-size: .9rem; line-height: 1.8; }
body.studio-site[data-page] .s-footer-brand .s-home-company > div:last-child {
  margin-top: 24px;
  padding: 0;
  background: transparent;
  border-radius: 0;
}
@media (max-width: 900px) {
  body.studio-site[data-page] .s-footer-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (max-width: 680px) {
  body.studio-site[data-page] .s-footer-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}

/* Dark blue footer: company identity, navigation and a shared contact panel. */
body.studio-site[data-page] .s-footer {
  background: linear-gradient(125deg, #082b49 0%, #071e35 65%, #063450 100%);
  border: 1px solid #16445f;
  border-radius: 28px;
  padding: 48px 48px 24px;
  color: #b8cddd;
  box-shadow: 0 18px 45px #062d4914;
}
body.studio-site[data-page] .s-footer-grid {
  grid-template-columns: minmax(0, 1.45fr) minmax(0, .8fr) minmax(0, 1fr);
  gap: 32px 48px;
}
body.studio-site[data-page] .s-footer-brand { grid-row: span 2; padding-right: 36px; border-right: 1px solid #ffffff16; }
body.studio-site[data-page] .s-footer-brand > a:first-child img { content: url("assets/logo-white.png"); width: 180px; max-height: 58px; }
body.studio-site[data-page] .s-footer-brand .s-home-company { margin: 28px 0 22px; }
body.studio-site[data-page] .s-footer-brand .s-home-company h2 { color: #f1f7fc; font-size: .95rem; letter-spacing: .01em; }
body.studio-site[data-page] .s-footer-brand .s-home-company :is(p, address) { color: #b8cddd; font-size: .9rem; line-height: 1.8; }
body.studio-site[data-page] .s-footer summary { color: #f1f7fc; font-size: 1rem; margin-bottom: 20px; }
body.studio-site[data-page] .s-footer details > div { gap: 12px; }
body.studio-site[data-page] .s-footer details :is(a, button) { color: #b8cddd; font-size: .9rem; line-height: 1.55; }
body.studio-site[data-page] .s-footer :is(a, button):hover { color: #91db65; }
body.studio-site[data-page] .s-footer :is(a, button, summary):focus-visible { outline: 2px solid #91db65; outline-offset: 5px; border-radius: 4px; }
body.studio-site[data-page] .s-footer .footer-address { grid-column: 2 / 4; padding: 24px; border: 1px solid #ffffff18; border-radius: 18px; background: #ffffff05; align-self: end; }
body.studio-site[data-page] .s-footer .footer-address summary { margin-bottom: 14px; }
body.studio-site[data-page] .s-footer .footer-address > div { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; }
body.studio-site[data-page] .s-footer .footer-address p { color: #b8cddd; font-size: .9rem; grid-row: span 3; }
body.studio-site[data-page] .s-footer .s-footer-social { width: 38px; height: 38px; border: 1px solid #ffffff28; background: #ffffff08; border-radius: 12px; color: #e4f1f9; }
body.studio-site[data-page] .s-footer-social img { filter: none; }
body.studio-site[data-page] .s-footer-bottom { color: #96afc3; border-color: #ffffff1c; margin-top: 36px; padding-top: 22px; font-size: .8rem; }
body.studio-site[data-page] .s-footer-bottom a { color: #c5d8e5; }
body.studio-site[data-page] .s-footer-bottom > span:last-child { letter-spacing: .12em; font-weight: 700; color: #91db65; }
@media (max-width: 900px) {
  body.studio-site[data-page] .s-footer { padding: 36px 32px 24px; }
  body.studio-site[data-page] .s-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  body.studio-site[data-page] .s-footer-brand { grid-column: 1 / -1; grid-row: auto; padding: 0 0 28px; border-right: 0; border-bottom: 1px solid #ffffff1c; }
  body.studio-site[data-page] .s-footer .footer-address { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
  body.studio-site[data-page] .s-footer { padding: 28px 24px 22px; border-radius: 24px; }
  body.studio-site[data-page] .s-footer-grid { gap: 28px 20px; }
  body.studio-site[data-page] .s-footer summary { font-size: .95rem; }
  body.studio-site[data-page] .s-footer details :is(a, button) { font-size: .85rem; }
  body.studio-site[data-page] .s-footer .footer-address { padding: 20px; }
  body.studio-site[data-page] .s-footer .footer-address > div { grid-template-columns: 1fr; }
  body.studio-site[data-page] .s-footer-bottom { align-items: flex-start; flex-direction: column; gap: 16px; line-height: 1.7; }
}

/* Footer finishing details and compact, unobstructed mobile navigation. */
body.studio-site[data-page] .s-footer { position: relative; isolation: isolate; overflow: hidden; border-top: 0; }
body.studio-site[data-page] .s-footer::before { content: ""; position: absolute; inset: 0 0 auto; height: 5px; background: linear-gradient(90deg, #36b84a 0 38%, #008cc9 38% 76%, #79ce42 76%); }
body.studio-site[data-page] .s-footer::after { content: ""; position: absolute; z-index: -1; pointer-events: none; width: 360px; height: 360px; right: -190px; top: -180px; border: 35px solid #008bc51c; border-radius: 50%; box-shadow: 0 0 0 26px #4bbe4610; }
body.studio-site[data-page] .s-footer-grid > details:not(.footer-address) summary { padding-left: 14px; border-left: 3px solid #51be53; }
body.studio-site[data-page] .s-footer-grid > details:nth-child(3) summary { border-left-color: #009bd3; }
body.studio-site[data-page] .s-footer .footer-address { border-left: 3px solid #50bb55; background: linear-gradient(110deg,#ffffff08,#007cb014); }
body.studio-site[data-page] .s-footer .footer-address summary { color: #91db65; }
body.studio-site[data-page] .s-footer .footer-address a { display: inline-flex; align-items: center; gap: 10px; }
body.studio-site[data-page] .s-footer .footer-address a::before { content: "↗"; color: #7bd34c; }
body.studio-site[data-page].s-home-footer-visible :is(.zoni-launcher,.support-chat-launcher) { opacity: 0; visibility: hidden; pointer-events: none; }
@media (max-width: 680px) {
  body.studio-site[data-page] .s-footer-grid { grid-template-columns: 1fr; gap: 12px; }
  body.studio-site[data-page] .s-footer-brand { padding-bottom: 24px; margin-bottom: 8px; }
  body.studio-site[data-page] .s-footer-grid > details:not(.footer-address) { border: 1px solid #ffffff1a; border-radius: 12px; padding: 0 16px; background: #ffffff04; }
  body.studio-site[data-page] .s-footer-grid > details:not(.footer-address) summary { padding: 14px 0 14px 14px; margin: 0; min-height: 48px; border: 0; position: relative; }
  body.studio-site[data-page] .s-footer-grid > details:not(.footer-address) summary::before { content: ""; position: absolute; width: 3px; height: 18px; left: 0; top: 18px; background: #51be53; border-radius: 2px; }
  body.studio-site[data-page] .s-footer-grid > details:nth-child(3) summary::before { background: #009bd3; }
  body.studio-site[data-page] .s-footer-grid > details:not(.footer-address)[open] summary { margin-bottom: 0; }
  body.studio-site[data-page] .s-footer-grid > details:not(.footer-address) > div { gap: 0; padding-bottom: 12px; }
  body.studio-site[data-page] .s-footer-grid > details:not(.footer-address) :is(a,button) { padding: 10px 0; min-height: 44px; }
  body.studio-site[data-page] .s-footer .footer-address { grid-column: 1; padding: 20px; margin-top: 12px; }
  body.studio-site[data-page] .s-footer .footer-address summary { pointer-events: none; min-height: 0; margin-bottom: 16px; }
  body.studio-site[data-page] .s-footer .footer-address summary::after { display: none; }
  body.studio-site[data-page] .s-footer .footer-address > div { gap: 10px; }
  body.studio-site[data-page] .s-footer .footer-address a { min-height: 44px; }
  body.studio-site[data-page] .s-footer .s-footer-social { width: 44px; height: 44px; }
  body.studio-site[data-page] .s-footer-bottom { margin-top: 24px; gap: 12px; }
}

body.studio-site[data-page] .s-footer { margin-top:48px; }
body.studio-site[data-page] .s-footer-brand .s-home-company address { font-style:normal; margin:0; }
body.studio-site[data-page] .s-footer-bottom{flex-wrap:wrap}
body.studio-site[data-page] .s-footer .s-visit-count{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:#c5d8e5;font-size:12px}
body.studio-site[data-page] .s-footer .s-visit-count svg{width:17px;height:17px;fill:none;stroke:#89d443;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
body.studio-site[data-page] .s-footer .s-visit-count strong{font-size:13px;font-variant-numeric:tabular-nums;color:#91db65}
