/* Hotel Ochiai Performance v1.1.1 */

/* :root 変数（master-css と同等・フォント読込前でもフッター色を維持） */
:root {
  --navy-deep: #143f72;
  --gutter: 20px;
}

/* ヒーロー背景・btn-outline（HTMLウィジェット内 style の代替） */

.ochiai-site .hero-slide:nth-child(1) {
  background-image: url("/wp-content/uploads/2026/05/slide_gaikan3.webp");
}
.ochiai-site .hero-slide:nth-child(2) {
  background-image: url("/wp-content/uploads/2026/05/slide_front.webp");
}
.ochiai-site .hero-slide:nth-child(3) {
  background-image: url("/wp-content/uploads/2026/05/slide_room.webp");
}
.ochiai-site .hero-slide:nth-child(4) {
  background-image: url("/wp-content/uploads/2026/05/slide_room1.webp");
}
.ochiai-site .hero-slide:nth-child(5) {
  background-image: url("/wp-content/uploads/2026/05/slide_yama.webp");
}

.ochiai-site a.btn-outline:hover {
  color: #fff;
}

/* Astra scroll-to-top（Canvas で theme CSS 無効時のフル幅隙間を防止） */
body.elementor-template-canvas #ast-scroll-top {
  display: none !important;
}

/*
 * Elementor Canvas: .e-con が inline だと下端に ~25px の行ボックス隙間が残る
 * （旧 #ast-scroll-top 除去後も白いすきまとして見える）
 */
body.elementor-template-canvas .elementor-8258,
body.elementor-template-canvas .elementor-8258 > .e-con,
body.elementor-template-canvas .elementor-element.elementor-widget-html > .e-con {
  display: block !important;
  line-height: 0;
  font-size: 0;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/*
 * inherit 禁止: 親 .e-con の line-height:0 が .ochiai-site まで伝播し全テキストが重なる。
 * ページ ID に依存せず HTML ウィジェット直下を復旧する。
 */
body.elementor-template-canvas .elementor-widget-html .elementor-widget-container,
body.elementor-template-canvas .elementor-8258 .elementor-widget-container,
body.elementor-template-canvas .ochiai-site,
body.elementor-template-canvas .elementor-8258 .ochiai-site {
  font-size: 14px !important;
  line-height: 1.7 !important;
}

body.elementor-template-canvas .ochiai-site :where(
  section,
  article,
  aside,
  header,
  footer,
  nav,
  div,
  p,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  ul,
  ol,
  dl,
  li,
  dd,
  dt,
  a,
  address,
  summary,
  time,
  span
) {
  line-height: inherit;
}

body.elementor-template-canvas footer.ochiai-footer {
  margin-top: 0 !important;
}

/* フッターは .ochiai-site の外に出力されるため、単体セレクタも必須 */
footer.ochiai-footer,
.ochiai-footer,
.ochiai-site .ochiai-footer {
  display: block !important;
  background: var(--navy-deep, #143f72);
  color: #fff;
  padding: 36px var(--gutter, 20px) 28px;
}

/* トップ：ROOMS 見出しを中央揃え（section-header の flex 左寄せを上書き） */
.ochiai-site .rooms .section-header {
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.ochiai-site .rooms .section-header .section-title {
  width: 100%;
  text-align: center;
}
.ochiai-site .rooms .section-header .section-cta {
  margin-inline: auto;
}

/* トップ：お知らせ一覧（/news/ のカードデザインに合わせる） */
.ochiai-site .home-news {
  padding: 48px var(--gutter, 20px) 52px;
  background: var(--cream, #eef3f8);
}
.ochiai-site .home-news-inner {
  max-width: 980px;
  margin: 0 auto;
}
.ochiai-site .home-news .section-title {
  margin-bottom: 28px;
}
.ochiai-site .home-news .news-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ochiai-site .home-news .news-card {
  background: #fff;
  border: 1px solid var(--line, #dde4ed);
  box-shadow: 0 12px 28px rgba(8, 18, 40, 0.05);
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.ochiai-site .home-news .news-card:hover {
  box-shadow: 0 16px 36px rgba(8, 18, 40, 0.09);
  transform: translateY(-1px);
}
.ochiai-site .home-news .news-card-link {
  display: block;
  padding: 22px 24px;
  text-decoration: none;
  color: inherit;
}
.ochiai-site .home-news .news-card-meta {
  margin-bottom: 14px;
}
.ochiai-site .home-news .news-cat {
  display: inline-block;
  padding: 4px 10px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  border-radius: 2px;
  line-height: 1.2;
}
.ochiai-site .home-news .news-cat-info {
  background: var(--navy, #1f5fa0);
  color: #fff;
}
.ochiai-site .home-news .news-cat-reserve {
  background: var(--gold, #c89a4a);
  color: #fff;
}
.ochiai-site .home-news .news-date {
  display: block;
  margin-top: 10px;
  font-family: var(--mono, "Inter", system-ui, sans-serif);
  font-size: 13px;
  font-weight: 500;
  color: var(--muted, #6e7c93);
  letter-spacing: 0.04em;
}
.ochiai-site .home-news .news-card-body h3 {
  margin: 0 0 10px;
  font-family: var(--serif, "Shippori Mincho", "Noto Serif JP", serif);
  font-weight: 600;
  font-size: 17px;
  color: var(--navy, #1f5fa0);
  letter-spacing: 0.06em;
  line-height: 1.5;
}
.ochiai-site .home-news .news-excerpt {
  margin: 0 0 12px;
  font-size: 0.8125rem;
  line-height: 1.85;
  color: var(--ink-soft, #3a4a63);
}
.ochiai-site .home-news .news-more {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--gold, #c89a4a);
  letter-spacing: 0.04em;
}
.ochiai-site .home-news .news-more::after {
  content: " →";
}
.ochiai-site .home-news-more {
  margin: 28px 0 0;
  text-align: center;
}
@media (min-width: 720px) {
  .ochiai-site .home-news {
    padding: 56px 40px 60px;
  }
  .ochiai-site .home-news .news-card-link {
    display: grid;
    grid-template-columns: 132px 1fr;
    gap: 24px;
    align-items: start;
    padding: 26px 28px;
  }
  .ochiai-site .home-news .news-card-meta {
    margin-bottom: 0;
  }
}

/* 電話番号フォント統一（--mono / Inter）：ヘッダー・お問合せ・ご予約 */
#ochiai-header .och-phone,
.ochiai-site .contact-phone,
.ochiai-reserve-body .reserve-card a.num {
  font-family: var(--mono, "Inter", system-ui, sans-serif) !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
}

/* ページ内の大型電話番号のみサイズ指定（ヘッダーは既存 22px を維持） */
.ochiai-site .contact-phone,
.ochiai-reserve-body .reserve-card a.num {
  font-size: clamp(28px, 7vw, 42px) !important;
  line-height: 1.25 !important;
}

/* 客室アメニティ：差し替え SVG（viewBox 800 など）の表示サイズ */
.amenity-grid .ai-ico svg {
  width: 1.35em;
  height: 1.35em;
  display: block;
}
