/* FARM25 統合サイト カスタムスタイル */

:root {
  --color-yado: #6b3a2a;       /* 旅館：檜の茶色 */
  --color-yado-light: #a06848;
  --color-camp: #3d6e3c;       /* キャンプ：森の緑 */
  --color-camp-light: #5fa15e;
  --color-oasis: #c89233;      /* 軽食処：ソフトクリームの黄金色 */
  --color-oasis-light: #e8b860;
  --color-brand: #2c4a3e;      /* ブランド深緑 */
}

body {
  font-family: 'Noto Sans JP', sans-serif;
}

.font-serif-jp {
  font-family: 'Noto Serif JP', serif;
}

.hero-yado {
  background: linear-gradient(135deg, rgba(107,58,42,0.75) 0%, rgba(160,104,72,0.55) 100%),
              url('/static/images/yado-hero.jpg') center/cover;
}
.hero-camp {
  background: linear-gradient(135deg, rgba(61,110,60,0.7) 0%, rgba(95,161,94,0.5) 100%),
              url('/static/images/camp-hero.jpg') center/cover;
}
.hero-oasis {
  background: linear-gradient(135deg, rgba(200,146,51,0.7) 0%, rgba(232,184,96,0.5) 100%),
              url('/static/images/oasis-hero.jpg') center/cover;
}

.hero-main {
  background: linear-gradient(135deg, rgba(44,74,62,0.65) 0%, rgba(44,74,62,0.35) 100%),
              url('/static/images/yado-onsen.jpg') center/cover;
}

.photo-yado-room { background: url('/static/images/yado-room.jpg') center/cover; }
.photo-yado-onsen { background: url('/static/images/yado-onsen.jpg') center/cover; }
.photo-yado-meal { background: url('/static/images/yado-meal.jpg') center/cover; }
.photo-yado-rotenburo { background: url('/static/images/yado-rotenburo.png') center/cover; }
.photo-camp-bungalow { background: url('/static/images/camp-bungalow.jpg') center/cover; }
.photo-camp-bbq { background: url('/static/images/camp-bbq.jpg') center/cover; }
.photo-camp-nature { background: url('/static/images/camp-nature.jpg') center/cover; }
.photo-oasis-soft { background: url('/static/images/oasis-soft.jpg') center/cover; }
.photo-oasis-udon { background: url('/static/images/oasis-udon.jpg') center/cover; }

.btn-primary {
  @apply inline-flex items-center justify-center px-6 py-3 bg-stone-800 text-white rounded-lg hover:bg-stone-700 transition shadow-md font-medium;
}
.btn-secondary {
  @apply inline-flex items-center justify-center px-6 py-3 bg-white text-stone-800 border border-stone-300 rounded-lg hover:bg-stone-100 transition font-medium;
}

.card-service {
  @apply bg-white rounded-2xl shadow-lg overflow-hidden hover:shadow-2xl transition transform hover:-translate-y-1;
}

.badge-yado { background-color: var(--color-yado); color: white; }
.badge-camp { background-color: var(--color-camp); color: white; }
.badge-oasis { background-color: var(--color-oasis); color: white; }

.rank-bronze { color: #cd7f32; }
.rank-silver { color: #94a3b8; }
.rank-gold   { color: #d4af37; }
.rank-platinum { color: #14b8a6; }

/* スクロールバー細く */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: #d6d3d1; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #a8a29e; }

/* タブ */
.tab-active { @apply text-stone-900 border-b-2 border-stone-900 font-medium; }
.tab-inactive { @apply text-stone-500 border-b-2 border-transparent hover:text-stone-700; }

/* QR表示用 */
.qr-box { background: white; padding: 16px; border-radius: 12px; display: inline-block; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }

.shadow-soft { box-shadow: 0 8px 24px rgba(0,0,0,0.06); }

/* アニメーション */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
.animate-fadeInUp { animation: fadeInUp 0.6s ease-out; }
