/* ─── ベース ─── */
    img { display: block; width: 100%; height: 100%; object-fit: cover; }

    /* ─── シルエットアイコン(実写真の代わり) ─── */
    .photo-placeholder {
      background: linear-gradient(135deg, var(--ink-mid), #222840);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 0.6rem;
      color: var(--sakura-light);
      width: 100%; height: 100%;
      padding: 0.8rem;
      box-sizing: border-box;
    }
    .photo-placeholder svg { width: 55%; height: auto; max-height: 60%; fill: currentColor; opacity: 0.9; }
    .photo-placeholder small { font-size: 0.7rem; letter-spacing: 0.1em; text-align: center; padding: 0 1rem; color: rgba(247,243,238,0.55); }

    /* ─── ガイドヒーロー ─── */
    .guide-hero {
      position: relative;
      height: 60vh;
      min-height: 380px;
      overflow: hidden;
    }
    .guide-hero-img {
      position: absolute;
      inset: 0;
    }
    .guide-hero-img img,
    .guide-hero-img .photo-placeholder {
      width: 100%; height: 100%;
    }
    .guide-hero-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to bottom,
        rgba(26,31,46,0.55) 0%,
        rgba(26,31,46,0.3) 40%,
        rgba(26,31,46,0.75) 100%);
    }
    .guide-hero-content {
      position: absolute;
      bottom: 3rem;
      left: 50%;
      transform: translateX(-50%);
      text-align: center;
      width: 100%;
      padding: 0 2rem;
    }
    .guide-hero-label {
      font-size: 0.7rem;
      letter-spacing: 0.4em;
      color: var(--gold);
      margin-bottom: 0.75rem;
    }
    .guide-hero-title {
      font-family: 'Shippori Mincho', serif;
      font-size: clamp(2rem, 5vw, 3.5rem);
      color: var(--washi);
      letter-spacing: 0.08em;
      margin-bottom: 0.75rem;
    }
    .guide-hero-sub {
      color: rgba(247,243,238,0.6);
      font-size: 0.85rem;
      letter-spacing: 0.2em;
    }

    /* ─── パンくず ─── */
    .breadcrumb {
      background: var(--washi-dark);
      padding: 0.9rem 3rem;
      font-size: 0.75rem;
      color: var(--text-light);
      letter-spacing: 0.1em;
    }
    .breadcrumb a { color: var(--sakura-deep); text-decoration: none; }
    .breadcrumb a:hover { text-decoration: underline; }
    .breadcrumb span { margin: 0 0.5rem; opacity: 0.4; }

    /* ─── フォトギャラリー ─── */
    .gallery-section {
      background: var(--ink);
      padding: 3rem;
    }
    .gallery-label {
      font-size: 0.7rem;
      letter-spacing: 0.4em;
      color: var(--gold);
      text-align: center;
      margin-bottom: 1.5rem;
    }
    .gallery-grid {
      max-width: 1100px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      grid-template-rows: 220px 220px;
      gap: 4px;
    }
    .gallery-item {
      overflow: hidden;
      cursor: pointer;
      position: relative;
    }
    .gallery-item:first-child {
      grid-row: span 2;
      grid-column: span 1;
    }
    .gallery-item img,
    .gallery-item .photo-placeholder {
      width: 100%; height: 100%;
      transition: transform 0.4s ease;
    }
    .gallery-item:hover img { transform: scale(1.05); }
    .gallery-item-caption {
      position: absolute;
      bottom: 0; left: 0; right: 0;
      padding: 0.6rem 0.8rem;
      background: linear-gradient(to top, rgba(26,31,46,0.8), transparent);
      color: rgba(247,243,238,0.8);
      font-size: 0.72rem;
      letter-spacing: 0.1em;
      opacity: 0;
      transition: opacity 0.3s;
    }
    .gallery-item:hover .gallery-item-caption { opacity: 1; }

    /* ─── タブナビ ─── */
    .tab-nav {
      background: var(--ink);
      display: flex;
      overflow-x: auto;
      scrollbar-width: none;
      position: sticky;
      top: 60px;
      z-index: 100;
      border-bottom: 1px solid rgba(255,255,255,0.05);
    }
    .tab-nav::-webkit-scrollbar { display: none; }
    .tab-btn {
      flex-shrink: 0;
      padding: 1.1rem 1.8rem;
      color: rgba(247,243,238,0.5);
      font-size: 0.78rem;
      letter-spacing: 0.15em;
      cursor: pointer;
      border: none;
      border-bottom: 2px solid transparent;
      background: none;
      white-space: nowrap;
      transition: all 0.3s;
    }
    .tab-btn:hover { color: var(--sakura-light); }
    .tab-btn.active { color: var(--sakura); border-bottom-color: var(--sakura); }

    /* ─── タブコンテンツ ─── */
    .tab-content { display: none; }
    .tab-content.active { display: block; }

    /* ─── セクション共通 ─── */
    .guide-section { max-width: 1100px; margin: 0 auto; padding: 5rem 3rem; }
    .guide-section-title {
      font-family: 'Shippori Mincho', serif;
      font-size: clamp(1.6rem, 3vw, 2.2rem);
      color: var(--ink);
      letter-spacing: 0.05em;
      margin-bottom: 0.4rem;
    }
    .guide-section-en {
      font-size: 0.7rem;
      letter-spacing: 0.35em;
      color: var(--sakura-deep);
      margin-bottom: 2.5rem;
    }

    /* ─── 歴史タイムライン ─── */
    .timeline { position: relative; padding-left: 2rem; }
    .timeline::before {
      content: '';
      position: absolute;
      left: 0; top: 0; bottom: 0;
      width: 1px;
      background: linear-gradient(to bottom, var(--sakura), var(--gold), var(--sakura));
    }
    .timeline-item {
      position: relative;
      padding: 0 0 3rem 2rem;
      display: grid;
      grid-template-columns: 1fr 280px;
      gap: 2rem;
      align-items: start;
      opacity: 0;
      transform: translateX(-16px);
      transition: opacity 0.6s ease, transform 0.6s ease;
    }
    .timeline-item.revealed { opacity: 1; transform: translateX(0); }
    .timeline-item::before {
      content: '';
      position: absolute;
      left: -2.35rem; top: 0.35rem;
      width: 10px; height: 10px;
      border-radius: 50%;
      background: var(--sakura);
      border: 2px solid var(--washi);
    }
    .timeline-body {}
    .timeline-year {
      font-family: 'Shippori Mincho', serif;
      font-size: 1.5rem;
      color: var(--sakura-deep);
      line-height: 1;
      margin-bottom: 0.3rem;
    }
    .timeline-era { font-size: 0.7rem; letter-spacing: 0.2em; color: var(--gold); margin-bottom: 0.6rem; }
    .timeline-title { font-family: 'Shippori Mincho', serif; font-size: 1.05rem; color: var(--ink); margin-bottom: 0.5rem; }
    .timeline-desc { font-size: 0.87rem; line-height: 1.9; color: var(--text-light); }
    .timeline-photo {
      aspect-ratio: 4/3;
      overflow: hidden;
      border-left: 2px solid var(--sakura-light);
    }
    .timeline-photo img,
    .timeline-photo .photo-placeholder { width: 100%; height: 100%; }

    /* ─── スポットカード ─── */
    .spot-detail-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 2rem;
    }
    .spot-detail-card {
      background: var(--washi-dark);
      border-left: 3px solid var(--sakura);
      overflow: hidden;
      transition: transform 0.3s;
    }
    .spot-detail-card:hover { transform: translateY(-3px); }
    .spot-photo {
      width: 100%;
      aspect-ratio: 16/9;
      overflow: hidden;
    }
    .spot-photo img,
    .spot-photo .photo-placeholder { width: 100%; height: 100%; }
    .spot-detail-body { padding: 1.5rem 2rem 2rem; }
    .spot-detail-num {
      font-family: 'Shippori Mincho', serif;
      font-size: 1.8rem;
      color: rgba(196,104,122,0.2);
      line-height: 1;
      margin-bottom: 0.4rem;
    }
    .spot-detail-name { font-family: 'Shippori Mincho', serif; font-size: 1.15rem; color: var(--ink); margin-bottom: 0.2rem; }
    .spot-detail-en { font-size: 0.68rem; letter-spacing: 0.25em; color: var(--sakura-deep); margin-bottom: 0.8rem; }
    .spot-detail-desc { font-size: 0.85rem; line-height: 1.85; color: var(--text-light); }
    .spot-detail-badge {
      display: inline-block;
      margin-top: 1rem;
      font-size: 0.68rem;
      letter-spacing: 0.15em;
      padding: 0.25rem 0.7rem;
      border: 1px solid rgba(201,168,76,0.5);
      color: var(--gold);
    }

    /* ─── イベントカード ─── */
    .events-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
    .event-card {
      background: var(--washi);
      border: 1px solid var(--washi-dark);
      overflow: hidden;
      transition: box-shadow 0.3s;
    }
    .event-card:hover { box-shadow: 0 8px 32px rgba(26,31,46,0.12); }
    .event-photo {
      width: 100%;
      aspect-ratio: 16/7;
      overflow: hidden;
      position: relative;
    }
    .event-photo img,
    .event-photo .photo-placeholder { width: 100%; height: 100%; }
    .event-season-tag {
      position: absolute;
      top: 1rem; left: 1rem;
      font-size: 0.65rem;
      letter-spacing: 0.2em;
      padding: 0.3rem 0.7rem;
      backdrop-filter: blur(6px);
    }
    .event-card.spring .event-season-tag { background: rgba(196,104,122,0.85); color: white; }
    .event-card.summer .event-season-tag { background: rgba(74,140,106,0.85); color: white; }
    .event-card.autumn .event-season-tag { background: rgba(196,133,42,0.85); color: white; }
    .event-card.winter .event-season-tag { background: rgba(91,127,168,0.85); color: white; }
    .event-body {
      padding: 1.5rem 2rem;
      border-left: 4px solid;
    }
    .event-card.spring .event-body { border-color: var(--sakura-deep); }
    .event-card.summer .event-body { border-color: #4a8c6a; }
    .event-card.autumn .event-body { border-color: #c4852a; }
    .event-card.winter .event-body { border-color: #5b7fa8; }
    .event-name { font-family: 'Shippori Mincho', serif; font-size: 1.15rem; color: var(--ink); margin-bottom: 0.3rem; }
    .event-date { font-size: 0.78rem; color: var(--text-light); letter-spacing: 0.1em; margin-bottom: 0.8rem; }
    .event-desc { font-size: 0.84rem; line-height: 1.85; color: var(--text-light); }
    .event-highlight {
      margin-top: 1rem;
      padding: 0.7rem 1rem;
      background: rgba(26,31,46,0.04);
      font-size: 0.78rem;
      color: var(--text-light);
      border-left: 2px solid var(--gold);
    }

    /* ─── インフォボックス ─── */
    .info-box {
      background: linear-gradient(135deg, rgba(232,160,176,0.08), rgba(201,168,76,0.05));
      border: 1px solid rgba(232,160,176,0.2);
      padding: 1.5rem 2rem;
      margin: 0 0 2.5rem;
      font-size: 0.85rem;
      line-height: 1.8;
      color: var(--text-light);
    }
    .info-box strong {
      color: var(--sakura-deep);
      display: block;
      margin-bottom: 0.4rem;
      font-size: 0.75rem;
      letter-spacing: 0.15em;
    }

    /* ─── アクセス ─── */
    .access-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
    .access-card { background: var(--ink); color: var(--washi); padding: 2rem; }
    .access-card h3 {
      font-family: 'Shippori Mincho', serif;
      font-size: 1rem;
      color: var(--sakura-light);
      margin-bottom: 1.2rem;
      padding-bottom: 0.75rem;
      border-bottom: 1px solid rgba(255,255,255,0.08);
    }
    .access-row { display: flex; gap: 1rem; margin-bottom: 0.9rem; font-size: 0.83rem; }
    .access-label { color: var(--gold); font-size: 0.72rem; letter-spacing: 0.1em; min-width: 80px; padding-top: 0.1rem; }
    .access-val { color: rgba(247,243,238,0.7); line-height: 1.7; }

    /* ─── Googleマップ ─── */
    .map-wrap {
      width: 100%;
      aspect-ratio: 4/3;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,0.06);
      margin-bottom: 1.5rem;
    }
    .map-wrap iframe {
      width: 100%;
      height: 100%;
      border: none;
      filter: invert(90%) hue-rotate(180deg); /* ダークモード風マップ */
    }
    .map-notice {
      font-size: 0.72rem;
      color: rgba(247,243,238,0.35);
      text-align: center;
      margin-bottom: 1.5rem;
      letter-spacing: 0.1em;
    }

    /* ─── 戻るボタン ─── */
    .back-bar { background: var(--ink); padding: 1.5rem 3rem; text-align: center; }
    .back-btn {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      color: rgba(247,243,238,0.6);
      text-decoration: none;
      font-size: 0.8rem;
      letter-spacing: 0.2em;
      transition: color 0.3s;
    }
    .back-btn:hover { color: var(--sakura); }

    /* ─── ライトボックス ─── */
    #lightbox {
      display: none;
      position: fixed;
      inset: 0;
      background: rgba(10,12,20,0.95);
      z-index: 9999;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      gap: 1rem;
      padding: 2rem;
    }
    #lightbox.open { display: flex; }
    #lightbox-img { width: min(60vw, 320px); color: var(--sakura-light); }
    #lightbox-img svg { width: 100%; height: auto; fill: currentColor; }
    #lightbox-close {
      position: absolute;
      top: 1.5rem; right: 2rem;
      color: rgba(247,243,238,0.6);
      font-size: 1.5rem;
      cursor: pointer;
      background: none;
      border: none;
      transition: color 0.2s;
    }
    #lightbox-close:hover { color: var(--sakura); }
    #lightbox-caption {
      font-size: 0.9rem;
      color: rgba(247,243,238,0.75);
      letter-spacing: 0.1em;
      text-align: center;
    }
    #lightbox-note {
      font-size: 0.75rem;
      color: var(--gold);
      letter-spacing: 0.1em;
      text-align: center;
    }

    /* ─── レスポンシブ ─── */
    @media (max-width: 768px) {
      .guide-section { padding: 3rem 1.5rem; }
      .breadcrumb { padding: 0.9rem 1.5rem; }
      .gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 160px 160px; }
      .gallery-item:first-child { grid-row: span 1; }
      .spot-detail-grid { grid-template-columns: 1fr; }
      .events-grid { grid-template-columns: 1fr; }
      .access-grid { grid-template-columns: 1fr; }
      .timeline-item { grid-template-columns: 1fr; }
      .timeline-photo { display: none; }
      .tab-btn { padding: 1rem 1.1rem; font-size: 0.72rem; }
    }


/* BlueForest Aomori Modern — guide integration */
.guide-page .site-header{border-bottom-color:rgba(255,255,255,.12)}
.guide-hero{height:min(70vh,680px);min-height:470px;background:#10282d}
.guide-hero-img .photo-placeholder{background:radial-gradient(circle at 65% 25%,rgba(46,113,136,.38),transparent 34%),radial-gradient(circle at 25% 80%,rgba(217,144,162,.22),transparent 28%),linear-gradient(145deg,#102a2e,#173e41)}
.guide-hero-img .photo-placeholder svg{width:min(44%,390px);filter:drop-shadow(0 30px 60px rgba(0,0,0,.2))}
.guide-hero-overlay{background:linear-gradient(to top,rgba(8,28,31,.9),rgba(11,38,42,.18) 65%,rgba(11,38,42,.08))}
.guide-hero-content{bottom:clamp(2rem,7vw,5rem)}
.guide-hero-label{color:var(--sakura-light);font-weight:700}
.guide-hero-title{font-size:clamp(2.35rem,6vw,4.8rem);text-shadow:0 10px 35px rgba(0,0,0,.22)}
.guide-hero-sub{color:rgba(255,255,255,.72)}
.breadcrumb{width:min(var(--container),calc(100% - 48px));margin:1rem auto;padding:.8rem 0;background:transparent}
.gallery-section{padding:clamp(2.2rem,5vw,4.8rem) 24px;background:#102a2d}
.gallery-grid{gap:.65rem;border-radius:26px;overflow:hidden}
.gallery-item{border-radius:0!important}
.gallery-item .photo-placeholder{background:linear-gradient(145deg,#1c4044,#244e50)}
.gallery-item-caption{opacity:1;background:linear-gradient(to top,rgba(8,28,31,.82),transparent);padding:1.1rem}
.tab-nav{top:var(--header-height);justify-content:center;background:rgba(16,42,45,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 12px 35px rgba(12,35,37,.12)}
body.admin-bar .tab-nav{top:calc(var(--header-height) + 32px)}
.tab-btn{min-height:58px;font-weight:700}
.guide-section{padding:clamp(3.5rem,7vw,6.5rem) 24px}
.guide-section-title{font-size:clamp(1.85rem,4vw,3rem)}
.guide-section-en{color:var(--aomori-blue);font-weight:700}
.timeline-photo,.spot-detail-card,.event-card,.info-box,.access-card,.map-wrap{border-radius:22px;box-shadow:var(--shadow-sm)}
.spot-detail-card{background:rgba(255,255,255,.88);border:1px solid var(--line);border-left:0}
.spot-detail-card:hover,.event-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.spot-detail-card .photo-placeholder,.event-card .photo-placeholder,.timeline-photo .photo-placeholder{background:linear-gradient(145deg,#e8eeee,#dbe8e7);color:var(--aomori-blue)}
.spot-detail-card .photo-placeholder small,.event-card .photo-placeholder small,.timeline-photo .photo-placeholder small{color:var(--text-light)}
.event-card{border:1px solid var(--line);background:#fff}
.event-body{border-left:0!important;border-top:3px solid var(--sakura)}
.info-box{background:linear-gradient(145deg,rgba(46,113,136,.07),rgba(217,144,162,.06));border-color:var(--line)}
.access-card{background:linear-gradient(145deg,#123238,#1b4547)}
.map-wrap{overflow:hidden;border:1px solid var(--line);background:#fff}
.back-bar{padding:2rem 24px 5rem;background:transparent}
.back-btn{display:inline-flex;align-items:center;min-height:44px;padding:.55rem 1.05rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--forest);box-shadow:var(--shadow-sm)}
#lightbox{z-index:3000;background:rgba(8,27,30,.94);backdrop-filter:blur(12px)}
#lightbox-img{color:var(--sakura-light)}
@media (max-width:782px){body.admin-bar .tab-nav{top:calc(var(--header-height) + 46px)}}
@media (max-width:768px){.guide-hero{min-height:410px}.gallery-section{padding-inline:20px}.breadcrumb{width:calc(100% - 40px)}.guide-section{padding-inline:20px}.tab-nav{justify-content:flex-start}.tab-btn{padding:1rem 1.15rem}.spot-detail-grid,.events-grid,.access-grid{gap:1rem}.spot-detail-card,.event-card,.info-box,.access-card,.map-wrap{border-radius:18px}}
