/* Shared public footer: mirrors the main horsdessentiers.com footer. */
.public-footer{display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:40px;padding:55px var(--page) 28px;background:#111;color:#fff;font-size:10px;font-weight:300;letter-spacing:.14em;text-transform:uppercase}
.public-footer .footer-brand,.public-footer>p,.public-footer a,.public-footer button{color:#fff;font-size:10px;font-weight:300;letter-spacing:.14em}
.public-footer>div{display:grid;gap:10px}
.public-footer a:hover,.public-footer button:hover{color:#aaa}
.public-footer .footer-instagram{width:22px;margin-top:12px}
.public-footer .footer-instagram svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4}
.public-footer .footer-instagram .instagram-dot{fill:currentColor;stroke:none}
.public-footer .footer-link-button{width:max-content;border:0;padding:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}
.public-footer .copyright{grid-column:1/-1;margin-top:60px;padding-top:20px;border-top:1px solid #333;color:#888}
@media(max-width:640px){.public-footer{grid-template-columns:1fr;padding:48px 20px 24px}.public-footer>div{margin-top:30px}.public-footer .copyright{margin-top:32px}}


/* Interactive public footer + shared cookie preferences for Directory and Editions. */
.public-footer{position:relative;z-index:2}
.public-footer a,.public-footer button{position:relative;z-index:1;pointer-events:auto}
.public-footer a:focus-visible,.public-footer button:focus-visible{outline:1px solid currentColor;outline-offset:4px}

.cookie-preferences[hidden]{display:none}
.cookie-preferences{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:22px}
.cookie-preferences-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.58)}
.cookie-preferences>section{position:relative;width:min(620px,100%);padding:clamp(28px,4vw,48px);border-radius:26px;background:#111;color:#fff;box-shadow:0 26px 80px rgba(0,0,0,.25)}
.cookie-preferences .eyebrow{margin:0;color:#999;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.cookie-preferences h2{margin:16px 0 0;font-size:clamp(38px,5vw,62px);font-weight:400;line-height:.95;letter-spacing:-.055em}
.cookie-preferences>section>p:not(.eyebrow){margin:22px 0 34px;color:#aaa;font-size:14px;line-height:1.6}
.cookie-preferences-close{position:absolute;top:20px;right:24px;border:0;background:transparent;color:#fff;font-size:34px;font-weight:200;cursor:pointer}
.cookie-choice{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:20px 0;border-top:1px solid #363636}
.cookie-choice strong,.cookie-choice span{display:block}
.cookie-choice strong{font-size:16px;font-weight:500}
.cookie-choice span{margin-top:5px;color:#999;font-size:12px}
.cookie-choice input{appearance:none;width:16px;height:16px;flex:0 0 16px;border:1px solid #777;border-radius:3px;background:transparent;cursor:pointer}
.cookie-choice input:checked{border-color:#fff;background:#fff}
.cookie-choice input:checked::after{content:"";display:block;width:7px;height:4px;margin:3px 0 0 3px;border:solid #111;border-width:0 0 1.5px 1.5px;transform:rotate(-45deg)}
.cookie-choice input:disabled{cursor:default;opacity:.62}
.cookie-save{width:100%;min-height:52px;margin-top:28px;border:0;border-radius:999px;background:#fff;color:#111;font:inherit;font-size:10px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;cursor:pointer}
.cookie-legal-links{display:flex;gap:24px;margin-top:22px;color:#aaa;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.cookie-legal-links a{border-bottom:1px solid}
@media(max-width:640px){.cookie-preferences{padding:12px}.cookie-preferences>section{border-radius:20px}.cookie-choice{padding:17px 0}}
