/* Shared public footer: dark editorial layout, based on the approved ZART reference. */
body:not(.wp-admin) #colophon { display: none !important; }
body.zart-frontend-home-document { display:block !important; width:100%; min-width:0; }
body.zart-frontend-home-document > .zart-public-page-shell { display:block; width:100%; max-width:100%; }
.zart-public-footer { clear:both; flex:0 0 100%; box-sizing:border-box; width:100%; margin:0; padding:clamp(1.5rem,3vw,3rem) max(1.25rem,calc((100% - 112rem) / 2)) .75rem; background:#000; color:#f4f4f4; font-family:"Montserrat",sans-serif !important; }
.zart-public-footer :is(h2,p,a,span,small) { font-family:"Montserrat",sans-serif !important; }
.zart-public-footer__inner { display:grid; grid-template-columns:repeat(2,minmax(0,1.55fr)) repeat(4,minmax(0,.56fr)); gap:2rem clamp(.9rem,1.6vw,1.65rem); align-items:start; max-width:112rem; margin:0 auto; }
.zart-public-footer__identity { display:grid; grid-column:span 2; grid-template-columns:minmax(8.25rem,.36fr) minmax(0,1.64fr); gap:1.25rem 1.5rem; min-width:0; }
.zart-public-footer__identity-main { display:grid; align-content:start; gap:1rem; }
.zart-public-footer__logo { display:block; flex:0 0 min(13rem,38%); max-width:13rem; }
.zart-public-footer__logo img { display:block; width:100%; height:auto; max-height:5.8rem; object-fit:contain; }
.zart-public-footer__instagram { display:inline-flex; align-items:center; width:max-content; color:#B58A53; text-decoration:none; }
.zart-public-footer__instagram svg { width:1.45rem; height:1.45rem; fill:none; stroke:currentColor; stroke-width:1.65; }
.zart-public-footer__instagram span { display:none; }
.zart-public-footer__locations { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.zart-public-footer__locations h2 { margin:0 0 .35rem; color:#B58A53; font-size:.68rem !important; font-weight:600 !important; letter-spacing:.06em; line-height:1.15; text-transform:uppercase; }
.zart-public-footer__locations p { margin:0; color:#f4f4f4; font-size:.68rem !important; font-weight:400; line-height:1.48; }
.zart-public-footer__locations p span { white-space:nowrap; }
.zart-public-footer__locations .zart-public-footer__address,
.zart-public-footer__locations .zart-public-footer__city { display:block; }
.zart-public-footer__locations .zart-public-footer__phone { display:block; width:max-content; color:#f4f4f4; text-decoration:none; }
.zart-public-footer__locations .zart-public-footer__phone:hover,
.zart-public-footer__locations .zart-public-footer__phone:focus-visible { color:#B58A53; }
.zart-public-footer__locations strong { font-weight:600; letter-spacing:.025em; }
.zart-public-footer__column h2 { margin:0 0 .9rem; color:#B58A53; font-size:.78rem !important; font-weight:600 !important; letter-spacing:-.025em; line-height:1.1; text-transform:uppercase; }
.zart-public-footer__column nav { display:grid; gap:.22rem; }
.zart-public-footer__column :is(a,span) { color:#f4f4f4; font-size:.74rem !important; font-weight:400 !important; letter-spacing:.015em; line-height:1.32; text-decoration:none; }
.zart-public-footer__column a:hover,.zart-public-footer__column a:focus-visible { color:#B58A53; }
.zart-public-footer__legal { display:flex; align-items:center; justify-content:space-between; gap:1rem; max-width:112rem; margin:clamp(1rem,2vw,1.8rem) auto 0; padding-top:.7rem; border-top:1px solid rgba(244,244,244,.16); }
.zart-public-footer__legal small { color:rgba(244,244,244,.6); font-size:.62rem; letter-spacing:.06em; }
.zart-public-footer__credit { color:rgba(244,244,244,.34); font-size:.56rem; font-weight:400; letter-spacing:.06em; text-decoration:none; white-space:nowrap; transition:color .18s ease; }
.zart-public-footer__credit:hover,.zart-public-footer__credit:focus-visible { color:rgba(181,138,83,.82); }
@media (max-width:1080px) { .zart-public-footer__inner { grid-template-columns:repeat(4,minmax(0,1fr)); } .zart-public-footer__identity { grid-column:1 / -1; max-width:54rem; } }
@media (max-width:700px) { .zart-public-footer { padding-inline:1.4rem; } .zart-public-footer__inner { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.2rem 1.5rem; } .zart-public-footer__identity { grid-column:1 / -1; grid-template-columns:1fr; gap:1.4rem; } .zart-public-footer__logo { flex-basis:auto; width:min(13rem,72vw); max-width:none; } .zart-public-footer__locations { grid-template-columns:1fr; } .zart-public-footer__locations p span { white-space:normal; } .zart-public-footer__legal { align-items:flex-start; flex-direction:column; gap:.35rem; } }
