/*
Theme Name: ハラルごはん
Description: 承認デザインを引き継ぐBEMベースのオリジナルテーマ。
Version: 1.6.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: halal-gohan
*/
.manuscript .wp-block-table { overflow-x: auto; margin-inline: 0; }
.manuscript .wp-block-table table { min-width: 600px; }
.manuscript .wp-block-table th { font-weight: 700; }
.manuscript .wp-block-quote { margin-inline: 0; }
.manuscript .wp-block-quote p { margin-block: 0 16px; }
.manuscript .wp-block-quote p:last-child { margin-bottom: 0; }
.hg-empty { padding: 32px 0; color: var(--secondary); }
.hg-filters { border: 1px solid var(--line); padding: 24px; }
.hg-filters__group { border: 0; padding: 0; margin: 0 0 24px; }
.hg-filters__group legend { font-weight: 700; margin-bottom: 12px; }
.hg-filters__group label { display: flex; align-items: center; gap: 8px; margin-block: 8px; }
.hg-filters__group input[type=checkbox] { appearance: auto; width: 18px; height: 18px; accent-color: var(--action); }
.hg-filters select,.hg-filters input[type=search] { width: 100%; min-height: 44px; }
.hg-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 16px 24px; }
.hg-chips__item { display: inline-flex; gap: 12px; align-items: center; border: 1px solid var(--action); padding: 6px 12px; background: var(--tint); }
.hg-chips__item span { font-size: 20px; }
.hg-form { max-width: 720px; }
.hg-form__field { display: grid; gap: 8px; margin-block: 24px; }
.hg-form__field input,.hg-form__field textarea { padding: 12px; border: 1px solid var(--line); width: 100%; font: inherit; }
.hg-form__consent { display: flex; gap: 12px; align-items: baseline; margin-block: 24px; }
.hg-form__trap { display: none; }
.hg-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.hg-gallery__slide { min-width: 0; }
.hg-gallery__slide:first-child, .hg-gallery__slide:nth-child(2):last-child { grid-column: 1 / -1; }
.hg-gallery__image { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; }
.hg-gallery__slide:first-child .hg-gallery__image { aspect-ratio: 3/2; }
.shop-detail__language-note { font-size: 0.75rem; color: var(--meta); line-height: 1.6; }
.shop-detail__labels { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.shop-label { background: #e7f3ed; color: var(--action); font-size: 0.8125rem; font-weight: 700; line-height: 1.5; padding: 4px 10px; }
.shop-detail__map-embed { height: 320px; }
@media (min-width: 1001px) { .shop-detail__map-embed { height: 480px; } }
.shop-detail__head { display: flex; flex-direction: column; gap: 8px; }
.shop-detail__head .shop-detail__area { font-size: 0.8125rem; }
.shop-detail__head .shop-detail__heading { border-bottom: 2px solid var(--action); padding-bottom: 8px; }
.shop-detail__from-shop { display: flex; align-items: flex-start; gap: 8px; font-size: 0.8125rem; font-weight: 700; color: var(--action); line-height: 1.5; }
.shop-detail__from-shop b { flex: none; background: var(--action); color: #fff; font-size: 0.75rem; padding: 1px 6px; }
.shop-detail__section--links { gap: 12px; }
.shop-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.shop-links__item { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 48px; padding: 8px 4px; border: 1px solid var(--line); color: inherit; text-decoration: none; font-size: 0.8125rem; font-weight: 700; line-height: 1.3; white-space: nowrap; }
.shop-links__item:hover { border-color: var(--action); }
.shop-links__item svg { width: 18px; height: 18px; flex: none; }
.shop-links__item .manuscript__external-icon { display: none; }
.shop-links__item--website, .shop-links__item--website:hover { grid-column: 1 / -1; background: var(--action); border-color: var(--action); color: #fff; font-size: 1rem; }
.hg-image-empty { aspect-ratio: 4/3; display: grid; place-items: center; background: var(--tint); color: var(--meta); }
.shop-card__image-link > img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; }
.article-card__image-link > img { display: block; width: 100%; height: auto; aspect-ratio: 3/2; object-fit: contain; }
.hg-mobile-menu { border: 0; width: min(420px, 90vw); padding: 32px; max-height: 90dvh; }
.hg-mobile-menu::backdrop { background: #0008; }
.hg-mobile-menu nav { display: grid; gap: 24px; padding-block: 24px; }
.hg-menu-close { display: block; margin-left: auto; font-size: 24px; }
.hg-toc:empty { display: none; }
.comment-list { list-style: none; padding: 0; }
.comment-body { border-bottom: 1px solid var(--line); padding-block: 24px; }
.comment-metadata { color: var(--meta); font-size: 0.875rem; }
.comment-form p { display: grid; gap: 8px; margin-block: 20px; }
.comment-form input:not([type=checkbox]), .comment-form textarea { border: 1px solid var(--line); padding: 10px; max-width: 100%; }
.comment-form-cookies-consent { display: none; }
.pagination { display: flex; flex-wrap: wrap; gap: 12px; margin-block: 32px; }
.pagination .page-numbers { border: 1px solid var(--line); padding: 8px 16px; }
.pagination .current { background: var(--action); color: white; }
@media (max-width: 999px) { .hg-filters { margin-bottom: 24px; } }

/* Contact Form 7 uses the same layout as the site forms. */
.hg-form__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.hg-form__heading { font-size:1.35rem; border-bottom:2px solid var(--color-primary,#287653); padding-bottom:.65rem; margin:2rem 0 1rem; }
.hg-form__field .wpcf7-form-control-wrap { display:block; min-width:0; }
.hg-form__field input,.hg-form__field textarea,.hg-form__field select { width:100%; max-width:100%; box-sizing:border-box; }
.hg-form__field input[type=file] { font-size:.875rem; padding:.75rem; }
.hg-form__consent .wpcf7-list-item { margin:0; }
.hg-form__consent input[type=checkbox] { width:1.1rem; height:1.1rem; flex-shrink:0; }
.hg-form__consent label { display:flex; gap:.65rem; align-items:flex-start; }
.hg-form .wpcf7-submit { width:auto; cursor:pointer; }
.wpcf7-not-valid-tip { font-size:.875rem; margin-top:.4rem; }
.wpcf7-response-output { max-width:800px; }
@media(max-width:600px) { .hg-form__grid { grid-template-columns:minmax(0,1fr); gap:0; } }
.hg-form__grid > p { display:contents; }
.hg-form__field select { padding:12px; border:1px solid var(--line); background:#fff; font:inherit; }
.hg-form__grid .hg-form__field { margin-block:12px; }

/* Supplied outlined logo: preserve its natural aspect ratio. */
.site-header__logo { align-items: center; }
.site-header__logo-image { display: block; width: 260px; height: auto; max-width: 100%; }
.site-footer__logo-image { display: block; width: 260px; height: auto; max-width: 100%; }
@media (max-width: 767px) {
  .site-header__logo-image { width: 210px; }
  .site-footer__logo-image { width: 230px; }
}
@media (max-width: 359px) {
  .site-header__logo-image { width: 190px; }
}

.featured-story > img { display: block; width: 100%; height: auto; min-width: 0; }
/* 掲載店舗が0件のあいだの表示（hg_shop_count() が 0 のとき） */
.hero-search--notice { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.hero-search--notice p { flex: 1 1 320px; margin: 0; color: var(--secondary); line-height: 1.7; }
.hero-search--notice .button, .hero-search--notice .hero-search__nearby { flex: 0 0 auto; text-decoration: none; }
.hero-search--notice .hero-search__nearby { border-left: 0; }
.home-section__notice { border: 1px solid var(--line); padding: 24px; line-height: 1.9; }
.home-section__notice p { margin: 0 0 12px; }
.home-section__notice p:last-child { margin-bottom: 0; }
/* 準備中の見出しは文字数が違うので、何文字目かではなく小・大のクラスで大きさを決める */
.hero__headline-bounce--calm .hero__letter--small { font-size: 0.5em; }
.hero__headline-bounce--calm .hero__letter--large { font-size: 1.5em; }
.related-articles { margin-top: 32px; display: flex; flex-direction: column; gap: 24px; }
