/* Only the store page receives theme adjustments. Header, menu and footer remain. */
body.fabri-geschaefte-page #secondary,
body.fabri-geschaefte-page #primary > #main > .page-header,
body.fabri-geschaefte-page #main > article > .entry-header,
body.fabri-geschaefte-page #main > article > .entry-footer { display: none !important; }
body.fabri-geschaefte-page #primary { width: 100% !important; float: none !important; margin: 0 !important; padding: 0 !important; }
body.fabri-geschaefte-page #content > .wrap { max-width: 1240px; width: 100%; margin: 0 auto; padding: 0 28px; box-sizing: border-box; }
body.fabri-geschaefte-page #main > article,
body.fabri-geschaefte-page #main > article > .entry-content { margin: 0 !important; padding: 0 !important; border: 0 !important; }
body.fabri-geschaefte-page #content { padding-top: 0; }

.fg-page { --fg-green:#174b37; --fg-dark:#183b2c; --fg-cream:#f4f2eb; --fg-line:#dedfd6; --fg-text:#3e4942; --fg-muted:#5b675f; color:var(--fg-text); font-family:inherit; font-size:16px; line-height:1.65; padding:42px 0 52px; margin:0 auto; max-width:1184px; text-align:left; }
.fg-page *, .fg-page *::before, .fg-page *::after { box-sizing:border-box; }
.fg-page h1, .fg-page h2, .fg-page h3, .fg-page p, .fg-page dl, .fg-page dt, .fg-page dd { margin:0; padding:0; }
.fg-page h1, .fg-page h2, .fg-page h3 { color:var(--fg-dark); font-family:inherit; font-weight:500; text-transform:none; letter-spacing:normal; }
.fg-page .fg-eyebrow { color:var(--fg-green); font-size:11px; font-weight:600; letter-spacing:1.7px; text-transform:uppercase; line-height:1.5; }
.fg-page .fg-intro { max-width:920px; margin-bottom:30px; }
.fg-page .fg-intro h1 { font-size:46px; font-size:clamp(30px,3.4vw,46px); line-height:1.18; margin:12px 0 15px; }
.fg-page .fg-lead { max-width:800px; font-size:16px; color:var(--fg-muted); line-height:1.75; }
.fg-page .fg-heritage { display:flex; align-items:center; gap:8px; font-size:12px; margin-top:15px; color:var(--fg-green); }
.fg-page .fg-icon { width:20px; height:20px; flex-shrink:0; display:inline-block; vertical-align:middle; }
.fg-page .fg-heritage .fg-icon { width:16px; height:16px; }
.fg-page .fg-stores { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.fg-page .fg-store { border:1px solid var(--fg-line); border-radius:6px; background:#fff; overflow:hidden; min-width:0; display:flex; flex-direction:column; }
.fg-page .fg-photo { height:290px; position:relative; overflow:hidden; background:var(--fg-cream); }
.fg-page .fg-photo img { display:block !important; width:100% !important; height:100% !important; max-width:none !important; margin:0 !important; border-radius:0; object-fit:cover; }
.fg-page .fg-photo-0 img { object-position:center 58%; }
.fg-page .fg-photo-1 img { object-position:center 37%; }
.fg-page .fg-photo-label { position:absolute; left:18px; bottom:17px; display:inline-block; padding:5px 11px; color:var(--fg-dark); background:rgba(255,255,255,.94); border-radius:3px; font-size:11px; letter-spacing:.6px; }
.fg-page .fg-store-body { padding:25px 27px 21px; display:flex; flex-direction:column; flex:1; }
.fg-page .fg-store h2 { font-size:26px; line-height:1.25; margin:0 0 4px; }
.fg-page .fg-address { font-size:13px; color:var(--fg-muted); }
.fg-page .fg-hours { border-top:1px solid var(--fg-line); border-bottom:1px solid var(--fg-line); padding:17px 0; margin:18px 0 15px; }
.fg-page .fg-hours h3 { font-size:12px; font-weight:600; margin-bottom:7px; }
.fg-page .fg-hours dl > div { display:flex; justify-content:space-between; gap:12px; font-size:13px; line-height:1.8; }
.fg-page .fg-hours dt { font-weight:400; }
.fg-page .fg-hours dd { font-weight:500; white-space:nowrap; }
.fg-page .fg-transport { display:flex; gap:8px; align-items:flex-start; color:var(--fg-muted); font-size:12px; line-height:1.65; min-height:40px; }
.fg-page .fg-transport .fg-icon { width:16px; height:16px; margin-top:2px; color:var(--fg-green); }
.fg-page .fg-store-note { font-size:13px; color:var(--fg-muted); margin:8px 0; }
.fg-page .fg-store-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding-top:18px; margin-top:auto; }
.fg-page a.fg-button, .fg-page button.fg-button { display:inline-flex; justify-content:center; align-items:center; gap:9px; min-height:46px; padding:11px 17px; border:1px solid var(--fg-green); border-radius:3px; font-family:inherit; font-size:13px; font-weight:500; line-height:1.4; text-decoration:none !important; text-transform:none; letter-spacing:normal; cursor:pointer; box-shadow:none; transition:background-color .18s ease,color .18s ease; white-space:nowrap; }
.fg-page .fg-button-primary .fg-icon { color:#fff; stroke:#fff; }
.fg-page .fg-button .fg-icon { width:17px; height:17px; }
.fg-page .fg-button-primary, .fg-page a.fg-button-primary { color:#fff; background:var(--fg-green); }
.fg-page .fg-button-primary:hover { color:#fff; background:var(--fg-dark); border-color:var(--fg-dark); }
.fg-page .fg-button-outline, .fg-page a.fg-button-outline { color:var(--fg-green); background:transparent; }
.fg-page .fg-button-outline:hover { color:var(--fg-green); background:var(--fg-cream); }
.fg-page a:focus-visible, .fg-page button:focus-visible { outline:3px solid #a4763d; outline-offset:4px; }
.fg-page .fg-phone-number { display:inline-block; font-size:12px; color:var(--fg-muted); margin-top:10px; text-decoration:underline; text-underline-offset:3px; align-self:flex-start; }
.fg-page .fg-visit { display:grid; grid-template-columns:.9fr 2fr; gap:36px; background:var(--fg-cream); border-radius:6px; padding:32px; margin-top:36px; }
.fg-page .fg-visit-heading h2 { font-size:27px; line-height:1.28; margin-top:10px; }
.fg-page .fg-reasons { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.fg-page .fg-reasons .fg-icon { width:25px; height:25px; color:var(--fg-green); margin-bottom:9px; }
.fg-page .fg-reasons h3 { font-size:14px; font-weight:600; margin-bottom:7px; }
.fg-page .fg-reasons p { font-size:12px; color:var(--fg-muted); line-height:1.8; }
.fg-page .fg-arrival { display:grid; grid-template-columns:.9fr 1.4fr; gap:45px; align-items:center; margin:45px 0; }
.fg-page .fg-arrival-heading h2 { font-size:29px; line-height:1.25; margin:11px 0 14px; }
.fg-page .fg-arrival-heading > p:last-child { font-size:14px; color:var(--fg-muted); }
.fg-page .fg-map { border:1px solid var(--fg-line); border-radius:6px; overflow:hidden; min-height:280px; background:var(--fg-cream); position:relative; }
.fg-page .fg-map-prompt { min-height:280px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:24px; }
.fg-page .fg-map-prompt > .fg-icon { height:30px; width:30px; color:var(--fg-green); margin-bottom:10px; }
.fg-page .fg-map-prompt h3 { font-size:18px; line-height:1.35; }
.fg-page .fg-map-prompt p { font-size:12px; color:var(--fg-muted); margin:7px 0 16px; }
.fg-page .fg-map-prompt small { max-width:330px; font-size:10px; color:var(--fg-muted); margin-top:11px; line-height:1.6; }
.fg-page .fg-map iframe { width:100%; height:340px; border:0; display:block; }
.fg-page .fg-map-status { position:absolute; left:12px; bottom:12px; border-radius:3px; padding:7px 10px; background:#fff; font-size:12px; color:var(--fg-green); }
.fg-page .fg-map-fallback { font-size:12px; padding:8px 14px; background:#fff; }
.fg-page .fg-map-fallback a { color:var(--fg-green); text-decoration:underline; }
.fg-page .fg-wish { display:flex; align-items:center; justify-content:space-between; gap:34px; border-top:1px solid var(--fg-line); padding-top:29px; }
.fg-page .fg-wish > div { max-width:790px; }
.fg-page .fg-wish h2 { font-size:25px; margin:10px 0; line-height:1.3; }
.fg-page .fg-wish p:last-child { font-size:13px; color:var(--fg-muted); }
.fg-page .fg-wish > a { flex-shrink:0; }
@media (max-width:1000px) {
  .fg-page .fg-visit { grid-template-columns:1fr; gap:22px; }
  .fg-page .fg-photo { height:255px; }
  .fg-page .fg-store-body { padding:23px; }
  .fg-page .fg-store h2 { font-size:23px; }
}
@media (max-width:700px) {
  body.fabri-geschaefte-page #content > .wrap { padding:0 18px; }
  .fg-page { padding:27px 0 35px; }
  .fg-page .fg-intro { margin-bottom:23px; }
  .fg-page .fg-intro h1 { font-size:32px; }
  .fg-page .fg-lead { font-size:14px; }
  .fg-page .fg-stores { grid-template-columns:1fr; gap:23px; }
  .fg-page .fg-photo { height:260px; }
  .fg-page .fg-store-body { padding:22px; }
  .fg-page .fg-store h2 { font-size:25px; }
  .fg-page .fg-store-actions > a { flex:1; padding:11px 10px; }
  .fg-page .fg-visit { padding:25px 22px; margin-top:27px; }
  .fg-page .fg-reasons { grid-template-columns:1fr; gap:23px; }
  .fg-page .fg-reasons h3 { font-size:15px; }
  .fg-page .fg-reasons p { font-size:13px; }
  .fg-page .fg-arrival { grid-template-columns:1fr; gap:22px; margin:31px 0; }
  .fg-page .fg-wish { flex-direction:column; align-items:flex-start; gap:20px; padding-top:23px; }
  .fg-page .fg-map-prompt { padding:22px 16px; }
}
@media (prefers-reduced-motion:reduce) { .fg-page a.fg-button, .fg-page button.fg-button { transition:none; } }
