/*
Theme Name: VIRIDIAN GOLF
Theme URI: https://viridian-golf.com/
Author: VIRIDIAN GOLF
Description: VIRIDIAN GOLF 専用テーマ。トップページ（ヒーロースライド／実績／選ばれる理由／料金プラン／店舗情報）とレッスン担当表ページを含みます。配色・写真・営業時間・料金・担当表はカスタマイザーから編集できます。
Version: 1.1.3
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: viridian-golf
Tags: custom-colors, custom-logo, translation-ready, one-column
*/

/* Theme-specific overrides live here. Base styles: assets/css/vg.css + vg-theme.css */

/* WordPress admin bar offset for the sticky header */
body.admin-bar .vg-header { top: 32px; }
@media screen and (max-width: 782px) { body.admin-bar .vg-header { top: 46px; } }

/* Instagram feed section (plugin shortcode goes inside) */
.vg-insta { padding: 110px 0; background: var(--vg-paper); }
.vg-insta-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 44px; flex-wrap: wrap; }
.vg-insta-head .vg-sectlabel { margin-bottom: 0; }
.vg-insta-lead { font-size: 17.5px; line-height: 1.95; color: var(--vg-ink-2); margin: 14px 0 0; max-width: 34em; }
.vg-insta-feed { min-height: 120px; }
.vg-insta-feed .sbi_header, .vg-insta-feed #sb_instagram .sbi_follow_btn a { font-family: var(--jp) !important; }
.vg-insta-empty { border: 1px dashed var(--vg-rule); border-radius: 6px; padding: 48px 32px; text-align: center; color: var(--vg-ink-2); font-size: 15px; line-height: 1.9; }
.vg-insta-empty code { font-family: var(--mono); font-size: 13px; color: var(--vg-green); }
@media (max-width: 760px) { .vg-insta { padding: 76px 0; } .vg-insta-lead { font-size: 15px; } }

/* Google Maps embed inside the footer map frame */
.vg-footer-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; filter: saturate(0.9); }
.vg-footer-map.has-map .vg-footer-pin { display: none; }
.vg-footer-map-link { position: absolute; right: 12px; bottom: 12px; z-index: 2; font-family: var(--mono); font-size: 11px; letter-spacing: 0.1em; padding: 7px 12px; border-radius: 999px; background: rgba(10,13,10,0.78); color: var(--vg-cream); }
.vg-footer-map-link:hover { background: var(--vg-green); }

/* Mobile nav — no hamburger; a slim scrollable strip under the header row */
.vg-navtoggle { display: none !important; }
@media (max-width: 1000px) {
  .vg-header-inner { grid-template-columns: 1fr auto; row-gap: 10px; }
  .vg-header-tel { display: none; }
  .vg-nav { grid-column: 1 / -1; display: flex; gap: 22px; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: 2px; margin: 0 -4px; }
  .vg-nav::-webkit-scrollbar { display: none; }
  .vg-nav a { flex: 0 0 auto; font-size: 12px; letter-spacing: 0.14em; padding: 2px 4px; white-space: nowrap; }
}

/* Posts / pages (fallback templates) */
.vg-single { padding: 120px 0; }
.vg-single-head { margin-bottom: 40px; }
.vg-entry { border-bottom: 1px solid var(--vg-rule); }
.vg-entry:last-of-type { border-bottom: 0; }
.vg-entry-t { font-family: var(--jp-serif); font-weight: 500; font-size: clamp(28px, 4vw, 44px); line-height: 1.5; color: var(--vg-ink); margin: 0 0 16px; }
.vg-entry-meta { font-family: var(--mono); font-size: 12.5px; letter-spacing: 0.12em; color: var(--vg-green); margin-bottom: 32px; }
.vg-entry-body { font-size: 17px; line-height: 2; color: var(--vg-ink-2); max-width: 40em; text-wrap: pretty; }
.vg-entry-body h2 { font-family: var(--jp-serif); font-size: 26px; font-weight: 500; color: var(--vg-ink); margin: 48px 0 16px; }
.vg-entry-body h3 { font-family: var(--jp-serif); font-size: 21px; font-weight: 500; color: var(--vg-ink); margin: 36px 0 12px; }
.vg-entry-body a { color: var(--vg-green); text-decoration: underline; text-underline-offset: 3px; }
.vg-entry-body a:hover { color: var(--vg-green-2); }
.vg-entry-body img { border-radius: 6px; margin: 24px 0; }
.vg-entry-body blockquote { border-left: 2px solid var(--vg-green); padding-left: 20px; margin: 28px 0; color: var(--vg-ink); }
.vg-entry-link { display: grid; grid-template-columns: 110px 1fr; gap: 20px; align-items: baseline; padding: 26px 0; }
.vg-entry-link:hover .vg-entry-name { color: var(--vg-green); }
.vg-entry-date { font-family: var(--en); font-weight: 500; font-size: 16px; color: var(--vg-green); }
.vg-entry-name { font-family: var(--jp-serif); font-size: 20px; font-weight: 500; color: var(--vg-ink); transition: color .15s; }
.vg-sched-body { max-width: 40em; margin: 36px auto 0; font-size: 16px; line-height: 2; color: var(--vg-ink-2); }
.vg-pagination { margin-top: 48px; font-family: var(--mono); font-size: 13px; }
.vg-pagination .page-numbers { padding: 8px 12px; color: var(--vg-ink-2); }
.vg-pagination .page-numbers.current { color: var(--vg-green); border-bottom: 1px solid currentColor; }
@media (max-width: 760px) {
  .vg-single { padding: 76px 0; }
  .vg-entry-body { font-size: 15px; }
  .vg-entry-link { grid-template-columns: 84px 1fr; gap: 14px; }
  .vg-entry-name { font-size: 16px; }
}

/* wp_nav_menu output inside .vg-nav */
.vg-nav .vg-nav-list { display: flex; align-items: center; gap: 28px; list-style: none; margin: 0; padding: 0; }
.vg-nav .vg-nav-list li { margin: 0; }
@media (max-width: 1000px) {
  .vg-nav .vg-nav-list { gap: 22px; overflow-x: auto; scrollbar-width: none; }
  .vg-nav .vg-nav-list::-webkit-scrollbar { display: none; }
  .vg-nav .vg-nav-list li { flex: 0 0 auto; }
}
