/*
Theme Name: LeLu Kids
Theme URI: https://lelukids.jp/
Author: LeLu Kids
Description: LeLu Kids公式サイト専用のWordPressテーマです。
Version: 1.0.19
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: lelukids
*/

html { scroll-behavior: smooth; }
body.admin-bar .header { top: 32px; }
.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.wp-content { max-width: 900px; margin: 0 auto; padding: 72px 24px 110px; }
.wp-content > * + * { margin-top: 1.5em; }
.wp-content img { max-width: 100%; height: auto; border-radius: 20px; }
.setup-required {
  max-width: 920px; margin: 32px auto; padding: 28px;
  border: 2px dashed #01a081; border-radius: 20px; background: #f2fbf8;
  color: #4d4844; text-align: center;
}
.setup-required strong { display: block; margin-bottom: 8px; font-size: 20px; color: #01a081; }
.booking-plugin-wrap, .contact-plugin-wrap { margin: 36px auto 70px; }
.booking-plugin-wrap > *, .contact-plugin-wrap > * { max-width: 100%; }
.archive-empty { padding: 64px 24px; text-align: center; color: #68615b; }
@media (max-width: 782px) { body.admin-bar .header { top: 46px; } }
@media (max-width: 900px) {
  .header .nav { position: relative; }
  .header .navlinks.is-open {
    position: absolute; display: grid; left: 0; right: 0; top: 100%;
    gap: 0; padding: 12px; background: #fff; border: 1px solid #eadfce;
    border-radius: 0 0 18px 18px; box-shadow: 0 18px 30px rgba(53,43,37,.12);
  }
  .header .navlinks.is-open a { display: block; padding: 13px 16px; border-bottom: 1px solid #f0e7da; }
  .header .navlinks.is-open li:last-child a { border-bottom: 0; }
}

/* Instagram feed: keep the plugin output aligned with the LeLu Kids design. */
.lelukids-instagram-feed {
  margin-inline: auto;
  padding: 20px;
  border: 2px solid var(--yellow, #ffdc55);
  border-radius: 30px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(111, 75, 42, .1);
}
.lelukids-instagram-feed #sb_instagram { padding-bottom: 0 !important; }
.lelukids-instagram-feed #sb_instagram #sbi_images { padding: 0 !important; }
.lelukids-instagram-feed #sb_instagram .sbi_item { overflow: hidden; border-radius: 20px; }
.lelukids-instagram-feed #sb_instagram .sbi_photo {
  border-radius: 20px;
  background: #f6eadf;
}
.lelukids-instagram-feed #sb_instagram .sbi_photo > img:not(.emoji) {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #f6eadf;
}
.lelukids-instagram-feed #sb_instagram .sbi_follow_btn a {
  border-radius: 999px !important;
  background: #01a081 !important;
  box-shadow: none !important;
  font-weight: 700 !important;
}
.lelukids-instagram-feed #sb_instagram .sbi_load_btn {
  border-radius: 999px !important;
  background: #ffdc55 !important;
  color: #746b64 !important;
  box-shadow: none !important;
  font-weight: 700 !important;
}
@media (max-width: 600px) {
  .lelukids-instagram-feed { padding: 10px; border-radius: 22px; }
  .lelukids-instagram-feed #sb_instagram .sbi_item,
  .lelukids-instagram-feed #sb_instagram .sbi_photo { border-radius: 14px; }
}

/* Mobile heading hierarchy 2026-08-18 */
@media (max-width: 560px) {
  main h2 {
    font-size: 24px !important;
    line-height: 1.5 !important;
    letter-spacing: 0 !important;
    text-wrap: balance;
  }

  main h3,
  .flow-card h3 {
    font-size: 18px !important;
    line-height: 1.55 !important;
    letter-spacing: 0 !important;
    text-wrap: balance;
  }
}

/* reCAPTCHA disclosure and badge 2026-08-18 */
.grecaptcha-badge {
  visibility: hidden !important;
}

.recaptcha-notice {
  max-width: 760px;
  margin: 28px auto 0;
  color: rgba(255, 255, 255, .72);
  font-size: 11px;
  line-height: 1.7;
  text-align: center;
}

.recaptcha-notice a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media (max-width: 560px) {
  .recaptcha-notice {
    margin-top: 22px;
    padding-inline: 8px;
    font-size: 10px;
  }
}