/* Brew footer based on the current dryyyve Studio standard. */
.brand-document { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
.brand-content { flex: 1 0 auto; min-height: 100vh; min-height: 100dvh; }
.brand-footer { --brand-footer-menu-background: var(--brand-footer-background, #14100d); display: flex; align-items: center; flex-wrap: wrap; gap: 12px 32px; margin: 0; padding: 24px clamp(24px, 4vw, 64px) max(24px, env(safe-area-inset-bottom)); background: var(--brand-footer-background, #14100d); color: var(--brand-footer-muted, rgba(246, 239, 231, .64)); font: 400 12px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif; }
.brand-footer-legal { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 32px; }
.brand-footer small { font: inherit; white-space: nowrap; }
.brand-footer a { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; color: inherit; font: inherit; letter-spacing: normal; text-transform: none; text-decoration: none; }
.brand-footer a:hover { color: var(--brand-footer-text, #f6efe7); text-decoration: underline; text-underline-offset: 4px; }
.brand-footer :is(a, summary, button):focus-visible { outline: 3px solid var(--brand-footer-focus, #d89b52); outline-offset: 4px; border-radius: 2px; }
.footer-legal-menu { position: relative; }.footer-legal-menu summary { display: none; }.footer-legal-menu summary::-webkit-details-marker, .brand-language summary::-webkit-details-marker { display: none; }
.footer-legal-menu nav { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 24px; }
.dryyyve-signature { gap: 6px; margin-left: auto; white-space: nowrap; }.brand-footer .dryyyve-signature:hover { color: inherit; text-decoration: none; }.brand-footer .dryyyve-signature:hover .wordmark { color: var(--brand-footer-accent, #d89b52); }.signature-cup { width: 16px; height: 16px; flex: none; }
.dryyyve-signature .wordmark { color: var(--brand-footer-text, #f6efe7); font: 750 25px/1 "Helvetica Neue", Helvetica, Arial, sans-serif; letter-spacing: -.07em; }
.footer-actions { display: flex; align-items: center; gap: 14px; }.brand-footer .footer-instagram { gap: 8px; }.footer-instagram svg { width: 18px; height: 18px; flex: none; }
.brand-language { position: relative; flex: none; }.brand-language summary { display: flex; align-items: center; gap: 10px; min-width: 82px; min-height: 44px; padding: 0 4px; list-style: none; cursor: pointer; }.brand-language summary > svg { width: 16px; height: 16px; flex: none; }.brand-language summary > .language-chevron { width: 12px; height: 12px; }.brand-language[open] summary { color: var(--brand-footer-text, #f6efe7); }.brand-language[open] .language-chevron { transform: rotate(180deg); }
.brand-language-options { position: absolute; z-index: 20; right: 0; bottom: calc(100% + 8px); width: 168px; padding: 6px; border: 1px solid color-mix(in srgb, currentColor 28%, transparent); border-radius: 12px; background: var(--brand-footer-menu-background); color: var(--brand-footer-text, #f6efe7); box-shadow: 0 8px 28px #0005; }.brand-language-options button { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: 100%; min-height: 44px; padding: 0 12px; border: 0; border-radius: 7px; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }.brand-language-options button:hover { background: color-mix(in srgb, currentColor 8%, transparent); }.brand-language-options button[aria-pressed="true"] { background: color-mix(in srgb, var(--brand-footer-accent, #d89b52) 20%, transparent); }.language-code { color: var(--brand-footer-muted, rgba(246, 239, 231, .64)); font-size: 10px; letter-spacing: .08em; }.brand-language-options button[aria-pressed="true"] .language-code { color: var(--brand-footer-text, #f6efe7); }
@media (max-width: 1050px) { .footer-instagram span { display: none; }.brand-footer .footer-instagram { justify-content: center; } }
@media (max-width: 760px) { .brand-footer { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0 10px; padding-block: 14px max(16px, env(safe-area-inset-bottom)); }.brand-footer-legal { grid-column: 1 / -1; justify-content: space-between; width: 100%; gap: 12px; }.brand-footer small { font-size: 11px; }.footer-legal-menu summary { display: inline-flex; align-items: center; justify-content: flex-end; gap: 6px; min-width: 44px; min-height: 44px; list-style: none; cursor: pointer; }.footer-legal-menu summary svg { width: 12px; height: 12px; }.footer-legal-menu nav { position: absolute; right: 0; bottom: calc(100% + 6px); z-index: 20; display: grid; width: 168px; padding: 6px; gap: 0; border: 1px solid color-mix(in srgb, currentColor 28%, transparent); border-radius: 8px; background: var(--brand-footer-menu-background); box-shadow: 0 8px 28px #0005; }.footer-legal-menu nav a { padding: 0 12px; }.footer-legal-menu nav a:hover { background: color-mix(in srgb, currentColor 8%, transparent); }.brand-footer .dryyyve-signature { margin: 0; gap: 5px; }.brand-footer .dryyyve-signature .wordmark { font-size: 22px; }.footer-actions { justify-self: end; gap: 4px; }.brand-language { margin: 0; }.brand-language summary { min-width: 64px; gap: 7px; padding: 0; justify-content: flex-end; }.brand-language summary > .language-chevron { display: none; } }
@media (max-width: 480px) { .brand-footer .dryyyve-signature { font-size: 11px; gap: 4px; }.brand-footer .dryyyve-signature .wordmark { font-size: 20px; }.brand-footer .signature-cup { width: 14px; height: 14px; }.brand-language summary { min-width: 44px; }.brand-language summary > svg { display: none; } }
