/* Shared footer: contact first, grouped navigation, then social and legal links. */
.footer-layout { --footer-line:#2e2d28; --footer-muted:#b9b7ae; background:var(--surface-dark); color:#f4f3ee; border-top:1px solid var(--footer-line); font:400 16px/1.55 Jost,sans-serif; }
.footer-layout::before { content:none; }
.footer-layout .footer-wrap { width:min(1280px,calc(100% - 80px)); margin-inline:auto; }
.footer-layout a { color:#d6d4cb; text-decoration:none; transition:color .15s,background-color .15s,border-color .15s; }
.footer-layout a:hover { color:var(--gold); }
.footer-layout :is(a,summary):focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.footer-layout ul { list-style:none; margin:0; padding:0; }
.footer-layout h2 { color:var(--gold); font:500 12px/1.5 Jost,sans-serif; letter-spacing:.11em; text-transform:uppercase; margin:0 0 18px; }
.footer-layout .footer-logo { display:flex; align-items:center; width:44px; margin-bottom:18px; }
.footer-logo img { display:block; width:44px; height:66px; object-fit:contain; filter:brightness(0) invert(1); }
.footer-main { display:grid; grid-template-columns:minmax(230px,.9fr) minmax(0,2.3fr); gap:64px; padding-block:40px; }
.footer-contact { min-width:0; }
.footer-nap { max-width:36ch; }
.footer-layout .footer-business-name { margin:0 0 8px; color:#f4f3ee; font:500 17px/1.45 Jost,sans-serif; letter-spacing:0; text-transform:none; }
.footer-contact address { margin:0; font-style:normal; line-height:1.7; color:#d6d4cb; }
.footer-contact-links { display:flex; flex-direction:column; align-items:flex-start; margin-top:12px; }
.footer-contact-links a { display:inline-flex; align-items:center; min-height:40px; font-size:16px; }
.footer-layout .footer-phone { display:flex; align-items:center; width:fit-content; min-height:44px; margin-top:2px; font-size:24px; line-height:1.3; font-weight:500; color:#f4f3ee; white-space:nowrap; }
.footer-navigation { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; align-items:start; }
.footer-link-group { min-width:0; }
.footer-link-group>summary { display:flex; justify-content:space-between; align-items:center; gap:10px; min-height:32px; margin-bottom:8px; padding-bottom:12px; list-style:none; cursor:pointer; border-bottom:1px solid var(--footer-line); }
.footer-link-group>summary::-webkit-details-marker { display:none; }
.footer-link-group>summary h2 { margin:0; }
.footer-link-group>summary::after { content:'+'; color:var(--gold); font-size:18px; font-weight:400; line-height:1; flex-shrink:0; }
.footer-link-group[open]>summary::after { content:'−'; }
.footer-link-group a { display:block; width:fit-content; max-width:100%; min-height:32px; padding-block:5px; font-size:15px; line-height:1.5; }
.footer-link-group a:hover { text-decoration:underline; text-underline-offset:4px; }
.footer-social-row { display:flex; align-items:center; flex-wrap:wrap; gap:16px 24px; border-block:1px solid var(--footer-line); padding-block:20px; }
.footer-social-links { display:flex; flex-wrap:wrap; gap:8px; }
.footer-layout .footer-social-link { display:flex; align-items:center; justify-content:center; gap:9px; min-height:44px; padding:10px 14px; border:1px solid #3c3a33; font-size:13px; line-height:1.4; }
.footer-layout .footer-social-link:hover { border-color:var(--gold); background:var(--surface-dark); }
.footer-social-link svg { width:17px; height:17px; fill:currentColor; flex-shrink:0; }
.footer-social-facebook-f svg { fill:#0866ff; }
.footer-social-instagram svg { fill:url(#footer-instagram-gradient); }
.footer-social-youtube svg { fill:#ff0000; }
.footer-social-tiktok svg { fill:#fff; filter:drop-shadow(-.7px -.7px 0 #25f4ee) drop-shadow(.7px .7px 0 #fe2c55); }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:16px 32px; padding:20px 90px 84px 0; }
.footer-bottom>p { margin:0; font-size:12px; color:var(--footer-muted); }
.footer-bottom ul { display:flex; flex-wrap:wrap; gap:28px; }
.footer-bottom a { display:inline-flex; align-items:center; min-height:44px; font-size:13px; }
@media (max-width:1100px) {
  .footer-layout .footer-wrap { width:calc(100% - 56px); }
  .footer-main { gap:40px; grid-template-columns:220px minmax(0,1fr); }
  .footer-navigation { gap:22px; }
  .footer-link-group a { font-size:14px; }
}
@media (max-width:1024px) {
  .footer-main { grid-template-columns:1fr; gap:36px; }
  .footer-navigation { gap:32px; }
  .footer-link-group a { font-size:15px; }
}
@media (max-width:767px) {
  .footer-layout .footer-wrap { width:calc(100% - 40px); }
  .footer-logo img { width:36px; height:54px; }
  .footer-main { gap:28px; padding-block:28px; }
  .footer-contact address { font-size:14px; }
  .footer-contact-links a { min-height:44px; font-size:14px; }
  .footer-navigation { display:block; border-top:1px solid var(--footer-line); }
  .footer-link-group { border-bottom:1px solid var(--footer-line); }
  .footer-link-group>summary { min-height:56px; padding-block:16px; margin:0; border:0; }
  .footer-link-group>summary h2 { font-size:min(16px,var(--heading-limit,16px)); color:#f4f3ee; letter-spacing:0; text-transform:none; }
  .footer-link-group>summary::after { font-size:22px; }
  .footer-link-group ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:16px; padding:0 0 12px; }
  .footer-link-group li { min-width:0; }
  .footer-link-group a { display:flex; align-items:center; width:100%; height:100%; min-height:44px; padding-block:10px; overflow-wrap:anywhere; }
  .footer-social-row { gap:16px; padding-block:24px; }
  .footer-social-row>nav { width:100%; }
  .footer-social-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .footer-layout .footer-social-link { justify-content:flex-start; padding-inline:14px; }
  .footer-bottom { flex-direction:column-reverse; align-items:flex-start; gap:10px; padding:16px 0 90px; }
  .footer-bottom>p { max-width:230px; font-size:11px; }
}
@media (max-width:359px) {
  .footer-contact address,.footer-contact-links a { font-size:13px; }
}
@media (prefers-reduced-motion:reduce) { .footer-layout a { transition:none; } }
