/* The existing warm backgrounds, logo and navigation remain in use. */
body .elementor.elementor-location-header.elementor-160 {
  --erika-header-height:76px;
  --erika-header-side:64px;
  --erika-logo-size:56px;
  --erika-toggle-size:48px;
  --erika-admin-height:0px;
}
body.admin-bar .elementor.elementor-location-header.elementor-160 { --erika-admin-height:32px; }
body .elementor.elementor-location-header.elementor-160 .elementor-element-664e027c {
  display:grid;
  grid-template-columns:var(--erika-header-side) minmax(0,1fr) var(--erika-header-side);
  align-items:center;
  gap:8px;
  min-height:var(--erika-header-height);
  padding:10px 24px;
}
body .elementor.elementor-location-header.elementor-160 .elementor-element-664e027c > .e-con {
  width:auto;
  min-width:0;
  min-height:0;
  margin:0;
  padding:0;
  align-items:center;
  justify-content:center;
  flex-direction:column;
}
body .elementor.elementor-location-header.elementor-160 .elementor-element-6e9f1a4 { width:var(--erika-logo-size); max-width:100%; }
body .elementor.elementor-location-header.elementor-160 .elementor-element-6e9f1a4 a { display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; }
body .elementor.elementor-location-header.elementor-160 .elementor-element-6e9f1a4 img { display:block; width:var(--erika-logo-size); max-width:100%; height:auto; }
body .elementor.elementor-location-header.elementor-160 .elementor-element-353e84b .elementor-heading-title {
  font:400 24px/1.8 "Noto Serif JP",serif;
  letter-spacing:1.8px;
  text-align:center;
  white-space:nowrap;
  margin:0;
}
body .elementor.elementor-location-header.elementor-160 .elementor-element-c545191 { width:100%; max-width:100%; margin:0; }
body .elementor.elementor-location-header.elementor-160 .elementor-menu-toggle {
  width:var(--erika-toggle-size);
  height:var(--erika-toggle-size);
  min-width:var(--erika-toggle-size);
  margin:0 auto;
  padding:0;
  justify-content:center;
  font-size:28px;
  line-height:1;
}
body .elementor.elementor-location-header.elementor-160 .elementor-nav-menu--dropdown.elementor-nav-menu__container {
  /* Elementor writes the dropdown offset with !important. */
  margin-top:calc((var(--erika-header-height) - var(--erika-toggle-size))/2)!important;
  padding:8px 0;
  max-height:calc(100vh - var(--erika-header-height) - var(--erika-admin-height));
  max-height:calc(100dvh - var(--erika-header-height) - var(--erika-admin-height));
  overflow-y:auto;
  overscroll-behavior:contain;
}
body .elementor.elementor-location-header.elementor-160 .elementor-nav-menu--dropdown .elementor-item {
  justify-content:center;
  font:400 18px/1.8 "Noto Serif JP",serif;
  letter-spacing:1.8px;
  padding:14px 24px;
  min-height:48px;
  white-space:normal;
  text-align:center;
  text-wrap:balance;
}
body .elementor.elementor-location-header.elementor-160 :is(a,.elementor-menu-toggle):focus-visible,
body .elementor.elementor-location-footer.elementor-585 a:focus-visible { outline:2px solid #755547; outline-offset:3px; }

/* Replace stacked negative margins with clear, consistent footer spacing. */
body .elementor.elementor-location-footer.elementor-585 .elementor-element-337892b5 { margin:0; padding:30px 24px 16px; gap:12px; }
body .elementor.elementor-location-footer.elementor-585 :is(.elementor-element-383f11ea,.elementor-element-317c8701) { margin:0; padding:0; width:100%; gap:0; }
body .elementor.elementor-location-footer.elementor-585 .elementor-element-395a3f88 .elementor-heading-title {
  font:400 16px/1.8 "Noto Serif JP",serif;
  letter-spacing:1.8px;
  text-align:center;
  margin:0;
}
body .elementor.elementor-location-footer.elementor-585 .elementor-element-7028f31 {
  width:100%;
  max-width:720px;
  font:400 13px/1.8 "Noto Sans JP",sans-serif;
  letter-spacing:1.8px;
  text-align:center;
  text-wrap:balance;
}
body .elementor.elementor-location-footer.elementor-585 .elementor-element-2734330 { margin:0; padding:0 24px; }
body .elementor.elementor-location-footer.elementor-585 .elementor-element-2734330 > .e-con-inner {
  width:100%;
  max-width:680px;
  padding:16px 0 28px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  align-items:center;
  gap:18px;
}
body .elementor.elementor-location-footer.elementor-585 :is(.elementor-element-a4e0704,.elementor-element-4411feb) { width:100%; min-width:0; padding:0; margin:0; }
body .elementor.elementor-location-footer.elementor-585 .elementor-element-1338759 .elementor-icon-wrapper { text-align:center; line-height:1; }
body .elementor.elementor-location-footer.elementor-585 .elementor-element-1338759 .elementor-icon { display:inline-flex; align-items:center; justify-content:center; min-width:48px; min-height:48px; font-size:40px; }
body .elementor.elementor-location-footer.elementor-585 .elementor-element-c31856b {
  font:400 16px/1.8 "Noto Sans JP",sans-serif;
  letter-spacing:1.8px;
  text-align:left;
  text-wrap:pretty;
}
body .elementor.elementor-location-footer.elementor-585 .elementor-widget-text-editor p { margin:0; font:inherit; letter-spacing:inherit; }
body .elementor.elementor-location-footer.elementor-585 .erika-footer-instagram-link { display:flex; align-items:center; min-height:48px; max-width:100%; color:inherit; text-decoration:none; }
body .elementor.elementor-location-footer.elementor-585 .erika-footer-instagram-link:hover { text-decoration:underline; text-underline-offset:4px; }
body .elementor.elementor-location-footer.elementor-585 .erika-footer-phrase { display:inline-block; max-width:100%; text-wrap:balance; }
@media(min-width:768px) and (max-width:1024px) {
  body .elementor.elementor-location-header.elementor-160 { --erika-header-height:68px; --erika-header-side:56px; --erika-logo-size:48px; }
  body .elementor.elementor-location-header.elementor-160 .elementor-element-664e027c { padding-inline:20px; }
  body .elementor.elementor-location-header.elementor-160 .elementor-element-353e84b .elementor-heading-title { font-size:22px; }
}
@media(max-width:782px) {
  body.admin-bar .elementor.elementor-location-header.elementor-160 { --erika-admin-height:46px; }
}
@media(max-width:767px) {
  body .elementor.elementor-location-header.elementor-160 { --erika-header-height:60px; --erika-header-side:44px; --erika-logo-size:40px; --erika-toggle-size:44px; }
  body .elementor.elementor-location-header.elementor-160 .elementor-element-664e027c { padding:8px 12px; }
  body .elementor.elementor-location-header.elementor-160 .elementor-element-353e84b .elementor-heading-title { font-size:16px; }
  body .elementor.elementor-location-header.elementor-160 .elementor-menu-toggle { font-size:24px; }
  body .elementor.elementor-location-header.elementor-160 .elementor-nav-menu--dropdown .elementor-item { font-size:16px; padding:12px 20px; }
  body .elementor.elementor-location-footer.elementor-585 .elementor-element-337892b5 { padding:24px 20px 12px; }
  body .elementor.elementor-location-footer.elementor-585 .elementor-element-395a3f88 .elementor-heading-title { font-size:14px; }
  body .elementor.elementor-location-footer.elementor-585 .elementor-element-2734330 { padding-inline:20px; }
  body .elementor.elementor-location-footer.elementor-585 .elementor-element-2734330 > .e-con-inner { padding:12px 0 40px; gap:14px; }
}
