/* Desktop: 1024px and wider. Shared styles also provide the fluid base. */
#colophon.vc-footer {
  --vc-cream:#fff7f0;
  --vc-ink:#1a0e00;
  --vc-muted:#d6c6b2;
  --vc-line:#51402c;
  box-sizing:border-box; width:100%; clear:both; padding:48px 36px 96px;
  background:var(--vc-ink); color:var(--vc-cream);
  font:400 14px/1.7 'Open Sans',sans-serif; text-align:left;
}
#colophon.vc-footer * { box-sizing:border-box; }
#colophon.vc-footer .vc-inner { max-width:1200px; margin:0 auto; }
#colophon.vc-footer .vc-top { padding-bottom:30px; border-bottom:1px solid var(--vc-line); }
#colophon.vc-footer .vc-eyebrow { margin:0 0 8px; color:var(--vc-muted); font-size:10px; letter-spacing:2.4px; }
#colophon.vc-footer h2 { margin:0; color:var(--vc-cream); font:400 34px/1.15 'Vollkorn',Georgia,serif; }
#colophon.vc-footer .vc-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.65fr) minmax(0,2.1fr); gap:32px; padding:32px 0; }
#colophon.vc-footer .vc-columns > * { min-width:0; }
#colophon.vc-footer .vc-brand { margin-bottom:12px; color:var(--vc-cream); font:400 27px/1.2 'Vollkorn',Georgia,serif; }
#colophon.vc-footer p { margin:0 0 14px; }
#colophon.vc-footer .vc-copy { max-width:230px; color:var(--vc-muted); font-size:13px; }
#colophon.vc-footer h3 { margin:0 0 17px; color:var(--vc-muted); font:500 11px/1.5 'Open Sans',sans-serif; letter-spacing:1.8px; text-transform:uppercase; }
#colophon.vc-footer ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
#colophon.vc-footer a { color:var(--vc-cream); text-decoration:none; }
#colophon.vc-footer a:hover { text-decoration:underline; text-underline-offset:4px; }
#colophon.vc-footer a:focus-visible { outline:2px solid var(--vc-cream); outline-offset:5px; }
#colophon.vc-footer address { font-style:normal; font-size:13px; overflow-wrap:anywhere; }
#colophon.vc-footer .vc-hours { margin-top:24px; }
#colophon.vc-footer .vc-hours h3 { margin-bottom:8px; }
#colophon.vc-footer .vc-hours dl { margin:0; font-size:13px; }
#colophon.vc-footer .vc-hours dl > div { display:flex; flex-wrap:wrap; gap:0 12px; }
#colophon.vc-footer .vc-hours dt { min-width:64px; }
#colophon.vc-footer .vc-hours dd { margin:0; white-space:nowrap; }
#colophon.vc-footer .vc-map { display:inline-block; margin-top:4px; color:var(--vc-muted); font-size:12px; }
#colophon.vc-footer .vc-social { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }
#colophon.vc-footer .vc-social-icon { display:inline-flex; flex:0 0 44px; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid var(--vc-line); border-radius:50%; }
#colophon.vc-footer a.vc-social-icon:hover { background:#352514; border-color:var(--vc-muted); }
#colophon.vc-footer .vc-social-icon svg { width:21px; height:21px; fill:currentColor; }
#colophon.vc-footer .vc-social-icon[aria-label^="小红书"] svg { width:34px; height:24px; }
#colophon.vc-footer .vc-visit { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:24px; align-items:start; }
#colophon.vc-footer .vc-map-preview { min-width:0; overflow:hidden; border:1px solid var(--vc-line); border-radius:8px; background:#352514; }
#colophon.vc-footer .vc-map-preview iframe { display:block; width:100%; max-width:100%; height:220px; border:0; }
#colophon.vc-footer .vc-map-open { display:block; padding:10px 12px; border-top:1px solid var(--vc-line); font-size:11px; line-height:1.6; overflow-wrap:anywhere; }
#colophon.vc-footer .vc-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px 24px; padding-top:20px; border-top:1px solid var(--vc-line); color:var(--vc-muted); font-size:11px; }
/* Tablet: 768–1023px. Brand/navigation above address/map. */
@media (min-width:768px) and (max-width:1023px) {
  #colophon.vc-footer { padding:40px 32px 96px; }
  #colophon.vc-footer .vc-columns { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:36px; }
  #colophon.vc-footer .vc-copy { max-width:320px; }
  #colophon.vc-footer .vc-visit { grid-column:1/-1; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:32px; }
  #colophon.vc-footer .vc-map-preview iframe { height:240px; }
}
/* Mobile: up to 767px. Full-width stacked sections and two-column links. */
@media (max-width:767px) {
  #colophon.vc-footer { padding:32px 22px 104px; }
  #colophon.vc-footer .vc-top { padding-bottom:24px; }
  #colophon.vc-footer h2 { font-size:30px; }
  #colophon.vc-footer .vc-eyebrow { font-size:9px; letter-spacing:1.8px; }
  #colophon.vc-footer .vc-columns { grid-template-columns:minmax(0,1fr); gap:32px; padding:28px 0; }
  #colophon.vc-footer .vc-copy { max-width:100%; }
  #colophon.vc-footer .vc-visit { grid-template-columns:minmax(0,1fr); gap:24px; }
  #colophon.vc-footer .vc-columns nav ul { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 20px; }
  #colophon.vc-footer .vc-columns nav a { display:inline-flex; align-items:center; min-height:44px; }
  #colophon.vc-footer .vc-map-preview iframe { height:clamp(220px,55vw,300px); }
  #colophon.vc-footer .vc-bottom { flex-direction:column; gap:10px; line-height:1.7; }
}
