/* Hotel Ochiai — Mobile typography & readability (≤719px)
 * Loaded after master-css / performance.css. Avoid !important except where
 * wp-custom-css or Elementor inline rules require a single override.
 */

@media (max-width: 719px) {
  html {
    font-size: 16px;
  }

  body,
  body.elementor-template-canvas .elementor-widget-html .elementor-widget-container,
  body.elementor-template-canvas .ochiai-site,
  .ochiai-site {
    font-size: 1rem !important;
    line-height: 1.8 !important;
    letter-spacing: 0.02em;
  }

  /* ── Hero（トップのみ・line-height:0 継承の影響を遮断） ── */
  .ochiai-site .hero {
    min-height: auto;
    overflow: visible;
  }

  .ochiai-site .hero-inner {
    padding-top: 2rem;
    padding-bottom: 2.5rem;
    gap: 1.5rem;
  }

  .ochiai-site .hero-copy {
    line-height: 1.8;
  }

  /* wp-custom-css が 1023px 以下で縮小するため、スマホのみ上書き（最大30px） */
  .ochiai-site .hero-copy h1 {
    font-size: clamp(1.5rem, 6vw, 1.875rem) !important;
    line-height: 1.5;
    letter-spacing: 0.04em;
    margin-bottom: 0.75rem;
  }

  .ochiai-site .hero-sub {
    margin-top: 0;
    margin-bottom: 0.5rem;
    line-height: 1.75;
  }

  .ochiai-site .booking-card {
    font-size: 1rem;
    line-height: 1.7;
    padding: 1.25rem;
  }

  .ochiai-site .booking-card header h2 {
    line-height: 1.45;
  }

  .ochiai-site .benefits li {
    font-size: 0.9375rem;
    line-height: 1.55;
    letter-spacing: 0.01em;
    font-weight: 500;
  }

  .ochiai-site .phone-note {
    line-height: 1.65;
  }

  .section-title h2 {
    font-size: clamp(1.5rem, 5vw, 1.75rem);
    line-height: 1.4;
  }

  .section-title .eyebrow {
    font-size: 0.875rem;
    letter-spacing: 0.28em;
    margin-bottom: 0.5rem;
    line-height: 1.5;
  }

  .reason h3,
  .room h3,
  .booking-card header h2 {
    font-size: 1.25rem;
    line-height: 1.45;
    font-weight: 600;
  }

  .ochiai-site .room h3 {
    margin-bottom: 0.5rem;
  }

  .ochiai-site .room .price {
    line-height: 1.25;
    margin-bottom: 0.625rem;
  }

  .ochiai-site .room dl {
    line-height: 1.75;
    padding-top: 0.75rem;
  }

  .ochiai-site .room dl > div {
    padding: 0.3125rem 0;
  }

  .ochiai-site .room dt {
    min-width: 3.5rem;
    font-weight: 500;
    color: var(--muted, #6e7c93);
  }

  .ochiai-site .room dd {
    font-weight: 400;
    color: var(--ink, #0f1b2e);
  }

  .ochiai-site .section-title h2 {
    line-height: 1.4;
  }

  .ochiai-site .section-title .eyebrow {
    line-height: 1.4;
  }

  .facilities-grid .t {
    font-size: 1rem;
    line-height: 1.45;
    font-weight: 600;
  }

  .facilities-grid .n {
    line-height: 1.75;
    font-weight: 400;
    color: var(--ink-soft, #3a4a63);
  }

  .facilities-grid li {
    padding: 1.625rem 1rem;
    gap: 0.625rem;
  }

  /* ── Body copy ──────────────────────────────────────── */
  .hero-sub,
  .reason-body,
  .room dl,
  .room dd,
  .access-list li,
  .around-list li,
  .access-addr,
  .access-addr-li .access-addr-text,
  .access-gmap-link,
  .faq-list summary,
  .faq-list p,
  .booking-card header span,
  .phone-note,
  .facilities-grid .n,
  .primary-nav a {
    font-size: 1rem;
    line-height: 1.8;
    letter-spacing: 0.02em;
  }

  /* WHY OCHIAI — 説明文の視認性 */
  .reason-body {
    margin-top: 0.875rem;
    font-weight: 400;
    color: var(--ink, #0f1b2e);
  }

  .reason-tag {
    margin-top: 0.875rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.45;
  }

  .reason-head {
    margin-bottom: 0.75rem;
  }

  .reasons-grid {
    gap: 2rem;
  }

  .faq-list {
    gap: 0.75rem;
  }

  .faq-list details {
    border-width: 1px;
  }

  .faq-list summary {
    padding: 1.125rem 1.25rem;
    padding-top: 1.125rem;
    padding-bottom: 1.125rem;
    line-height: 1.65;
    font-weight: 600;
  }

  .faq-list p {
    padding: 0.25rem 1.25rem 1.375rem;
    padding-bottom: 1.375rem;
    line-height: 1.85;
    font-weight: 400;
    color: var(--ink, #0f1b2e);
  }

  .qmark,
  .amark {
    font-size: 1.25rem;
    min-width: 1.125rem;
  }

  /* ── Buttons & CTAs ─────────────────────────────────── */
  .btn {
    font-size: 1.0625rem;
    line-height: 1.5;
    padding: 0.875rem 1.5rem;
    min-height: 2.75rem;
    font-weight: 700;
  }

  .btn-outline {
    font-size: 1rem;
    padding: 0.8125rem 1.375rem;
    min-height: 2.75rem;
    font-weight: 600;
  }

  .ochiai-site .home-news-more .btn-outline {
    width: 100%;
    max-width: 20rem;
    margin-left: auto;
    margin-right: auto;
  }

  .mobile-tabs a {
    font-size: 1rem;
    line-height: 1.4;
    padding: 0.625rem 0 0.75rem;
    min-height: 2.75rem;
    font-weight: 600;
  }

  .phone-note strong {
    font-size: 1.125rem;
    font-weight: 700;
  }

  /* ── Home news ──────────────────────────────────────── */
  .ochiai-site .home-news .news-list {
    gap: 1.125rem;
  }

  .ochiai-site .home-news .news-card-link {
    padding: 1.25rem 1.125rem;
  }

  .ochiai-site .home-news .news-card-body h3 {
    font-size: 1.1875rem;
    line-height: 1.5;
    font-weight: 600;
    margin-bottom: 0.625rem;
  }

  .ochiai-site .home-news .news-excerpt,
  .ochiai-site .home-news .news-date {
    font-size: 1rem;
    line-height: 1.8;
    font-weight: 400;
    color: var(--ink, #0f1b2e);
  }

  .ochiai-site .home-news .news-excerpt {
    margin-bottom: 0.875rem;
  }

  .ochiai-site .home-news .news-more {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.45;
  }

  .ochiai-site .home-news .news-cat {
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0.3125rem 0.6875rem;
    line-height: 1.4;
  }

  .ochiai-site .home-news-more {
    margin-top: 1.75rem;
  }

  /* お知らせ一覧ページのカード */
  .news-card-link {
    padding: 1.25rem 1.125rem;
  }

  .news-card-body h3 {
    font-size: 1.1875rem;
    line-height: 1.5;
    font-weight: 600;
  }

  .news-excerpt {
    font-size: 1rem;
    line-height: 1.8;
    font-weight: 400;
    color: var(--ink, #0f1b2e);
  }

  .news-more {
    font-size: 1rem;
    font-weight: 600;
  }

  .news-cat {
    font-size: 0.8125rem;
    font-weight: 600;
  }

  .news-date {
    font-size: 0.9375rem;
  }

  /* ── Footer ─────────────────────────────────────────── */
  footer.ochiai-footer,
  .ochiai-footer {
    padding-top: 2.5rem;
    padding-bottom: 2rem;
  }

  footer.ochiai-footer .footer-inner,
  .ochiai-footer .footer-inner {
    gap: 1.375rem;
  }

  footer.ochiai-footer .footer-brand img,
  .ochiai-footer .footer-brand img {
    height: 2.25rem;
  }

  footer.ochiai-footer .footer-addr,
  .ochiai-footer .footer-addr {
    font-size: 1rem;
    line-height: 1.85;
    font-weight: 400;
    opacity: 0.92;
  }

  footer.ochiai-footer .footer-links,
  .ochiai-footer .footer-links {
    font-size: 1rem;
    gap: 0.875rem 1.25rem;
    line-height: 1.7;
    font-weight: 500;
    margin-top: 1.75rem;
  }

  footer.ochiai-footer .footer-links a,
  .ochiai-footer .footer-links a {
    padding: 0.25rem 0;
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
  }

  footer.ochiai-footer p.copy,
  .ochiai-footer p.copy {
    font-size: 0.875rem;
    line-height: 1.7;
    margin-top: 1.5rem;
    padding-top: 1.125rem;
  }

  /* ── Section spacing ────────────────────────────────── */
  .reasons,
  .rooms,
  .facilities,
  .access,
  .faq,
  .ochiai-site .home-news {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .reason-body,
  .faq-list p,
  .access-addr {
    margin-bottom: 1rem;
  }

  .room-body {
    padding: 1.125rem 1.25rem 1.25rem;
  }

  .section-header,
  .section-title {
    margin-bottom: 1.75rem;
  }

  /* ── News (category / single in Elementor kit CSS) ─── */
  body.category-news,
  body.single-post.category-news,
  body.post-type-archive-news,
  body.blog.category-news {
    font-size: 1rem;
    line-height: 1.8;
  }

  .ochiai-news-single {
    font-size: 1rem;
    line-height: 1.8;
  }

  .ochiai-news-single .breadcrumb {
    font-size: 0.8125rem;
    line-height: 1.6;
  }

  .ochiai-news-single .page-hero h1 {
    font-size: clamp(1.875rem, 6vw, 2.25rem);
  }

  .ochiai-news-single .news-lead,
  .ochiai-news-single .news-block p {
    font-size: 1rem;
    line-height: 1.85;
    letter-spacing: 0.02em;
    font-weight: 400;
    color: var(--ink, #0f1b2e);
  }

  .ochiai-news-single .news-block h2 {
    font-size: 1.25rem;
    line-height: 1.5;
    margin-bottom: 0.875rem;
    font-weight: 600;
  }

  .ochiai-news-single .news-link-card,
  .ochiai-news-single .news-back a,
  .ochiai-news-single .cta-form-link {
    font-size: 1rem;
    line-height: 1.5;
    min-height: 2.75rem;
  }

  .ochiai-news-single .cta-lead {
    font-size: 1.125rem;
  }

  /* Sub-page shells (stay / rooms / access / contact / privacy) */
  [class*="ochiai-"][class*="-page"] {
    font-size: 1rem;
    line-height: 1.8;
    letter-spacing: 0.02em;
  }

  [class*="ochiai-"][class*="-page"] .page-hero h1 {
    font-size: clamp(1.875rem, 6vw, 2.25rem);
    line-height: 1.45;
  }

  [class*="ochiai-"][class*="-page"] h2 {
    font-size: clamp(1.5rem, 5vw, 1.75rem);
    line-height: 1.4;
  }

  [class*="ochiai-"][class*="-page"] h3 {
    font-size: 1.25rem;
    line-height: 1.45;
    font-weight: 600;
  }

  [class*="ochiai-"][class*="-page"] p,
  [class*="ochiai-"][class*="-page"] li,
  [class*="ochiai-"][class*="-page"] dd,
  [class*="ochiai-"][class*="-page"] .lead {
    font-size: 1rem;
    line-height: 1.85;
    letter-spacing: 0.02em;
    font-weight: 400;
  }

  [class*="ochiai-"][class*="-page"] .btn,
  [class*="ochiai-"][class*="-page"] a.btn {
    font-size: 1.0625rem;
    line-height: 1.5;
    min-height: 2.75rem;
    font-weight: 700;
  }

  /* ── 施設情報ページ（/access/）
   * ochiai-access-inline-css が master CSS を後から出力するため !important で上書き */
  .ochiai-site.ochiai-access-page {
    font-size: 1rem !important;
    line-height: 1.8 !important;
  }

  .ochiai-site.ochiai-access-page .breadcrumb,
  .ochiai-site.ochiai-access-page .page-hero .eyebrow {
    font-size: 0.8125rem !important;
    line-height: 1.6 !important;
  }

  .ochiai-site.ochiai-access-page .page-hero-lead {
    font-size: 1rem !important;
    line-height: 1.85 !important;
    font-weight: 400 !important;
    color: rgba(255, 255, 255, 0.92) !important;
  }

  .ochiai-site.ochiai-access-page .access-intro,
  .ochiai-site.ochiai-access-page .access-overview,
  .ochiai-site.ochiai-access-page .access-page-main,
  .ochiai-site.ochiai-access-page .access-around,
  .ochiai-site.ochiai-access-page .access-facilities {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
  }

  .ochiai-site.ochiai-access-page .access-intro p {
    font-size: 1rem !important;
    line-height: 1.85 !important;
    font-weight: 400 !important;
    color: var(--ink, #0f1b2e) !important;
  }

  .ochiai-site.ochiai-access-page .overview-table th,
  .ochiai-site.ochiai-access-page .overview-table td {
    font-size: 1rem !important;
    line-height: 1.75 !important;
    padding: 0.875rem 1rem !important;
  }

  .ochiai-site.ochiai-access-page .overview-table th {
    font-weight: 600 !important;
    color: var(--navy, #1f5fa0) !important;
  }

  .ochiai-site.ochiai-access-page .overview-table td {
    font-weight: 400 !important;
    color: var(--ink, #0f1b2e) !important;
  }

  .ochiai-site.ochiai-access-page .overview-note {
    font-size: 0.9375rem !important;
    line-height: 1.7 !important;
    font-weight: 400 !important;
    color: var(--muted, #6e7c93) !important;
    margin-top: 0.375rem !important;
  }

  .ochiai-site.ochiai-access-page .access-map-btn {
    font-size: 1rem !important;
    line-height: 1.5 !important;
    font-weight: 600 !important;
    padding: 0.75rem 1.125rem !important;
    min-height: 2.75rem !important;
  }

  .ochiai-site.ochiai-access-page .access-card {
    padding: 1.375rem 1.25rem 1.25rem !important;
  }

  .ochiai-site.ochiai-access-page .access-card h3 {
    font-size: 1.1875rem !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
  }

  .ochiai-site.ochiai-access-page .access-steps li {
    font-size: 1rem !important;
    line-height: 1.8 !important;
    font-weight: 400 !important;
    color: var(--ink, #0f1b2e) !important;
    gap: 0.75rem !important;
    padding: 0.125rem 0 !important;
  }

  .ochiai-site.ochiai-access-page .access-steps li::before {
    font-size: 0.8125rem !important;
    width: 1.625rem !important;
    height: 1.625rem !important;
    line-height: 1.625rem !important;
  }

  .ochiai-site.ochiai-access-page .access-card-note {
    font-size: 1rem !important;
    line-height: 1.75 !important;
    font-weight: 500 !important;
    padding: 1rem 1.25rem !important;
  }

  .ochiai-site.ochiai-access-page .spot-cat {
    font-size: 0.8125rem !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
  }

  .ochiai-site.ochiai-access-page .spot-card h3 {
    font-size: 1.125rem !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
  }

  .ochiai-site.ochiai-access-page .spot-desc {
    font-size: 1rem !important;
    line-height: 1.8 !important;
    font-weight: 400 !important;
    color: var(--ink, #0f1b2e) !important;
  }

  .ochiai-site.ochiai-access-page .spot-body {
    padding: 1.125rem 1.25rem 1.375rem !important;
  }

  .ochiai-site.ochiai-access-page .amenity-title {
    font-size: 1.125rem !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
  }

  .ochiai-site.ochiai-access-page .amenity-list li {
    font-size: 1rem !important;
    line-height: 1.75 !important;
    font-weight: 400 !important;
    color: var(--ink, #0f1b2e) !important;
  }

  .ochiai-site.ochiai-access-page .access-amenity-cols > div {
    padding: 1.375rem !important;
  }

  .ochiai-site.ochiai-access-page .page-cta .cta-lead {
    font-size: 1.125rem !important;
    line-height: 1.5 !important;
  }

  .ochiai-site.ochiai-access-page .page-cta .cta-hours {
    font-size: 0.9375rem !important;
    line-height: 1.7 !important;
  }

  .ochiai-site.ochiai-access-page .facilities-grid .t {
    font-size: 1rem !important;
    line-height: 1.45 !important;
    font-weight: 600 !important;
  }

  .ochiai-site.ochiai-access-page .facilities-grid .n {
    font-size: 1rem !important;
    line-height: 1.75 !important;
    font-weight: 400 !important;
    color: var(--ink-soft, #3a4a63) !important;
  }

  .ochiai-site.ochiai-access-page .facilities-grid li {
    padding: 1.625rem 1rem !important;
  }

  /* ═══════════════════════════════════════════════════════
     Site-wide floor（全ページ）
     各ページの master / インライン CSS より後に出る指定を !important で上書き
     本文最小 16px（1rem）／ラベル最小 15px（0.9375rem）
     ═══════════════════════════════════════════════════════ */
  .ochiai-site :is(
    p,
    li,
    dd,
    dt,
    td,
    th,
    address,
    label,
    .hero-sub,
    .page-hero-lead,
    .rt-sub,
    .reason-body,
    .access-list li,
    .around-list li,
    .access-addr,
    .access-steps li,
    .access-card-note,
    .access-map-btn,
    .spot-desc,
    .amenity-list li,
    .kv-list li,
    .other-note,
    .rd-lead,
    .rd-spec dt,
    .rd-spec dd,
    .overview-table th,
    .overview-table td,
    .overview-note,
    .stay-intro p,
    .access-intro p,
    .news-intro p,
    .news-excerpt,
    .faq-list summary,
    .faq-list p,
    .phone-note,
    .benefits li,
    .facilities-grid .n,
    .facilities-grid .t,
    .info-list dd,
    .rate-table th,
    .rate-table td,
    .rate-notes,
    .amenity-cols .amenity-list li,
    .policy-block p,
    .news-block p,
    .news-lead,
    .contact-card p,
    .contact-methods p,
    .cta-hours,
    .cta-form-link,
    .booking-cta-card .label,
    .booking-cta-card .note,
    .footer-addr,
    .footer-links a,
    .mobile-tabs a
  ) {
    font-size: 1rem !important;
    line-height: 1.8 !important;
  }

  .ochiai-site .amenity-grid li {
    font-size: 1rem !important;
    line-height: 1.75 !important;
  }

  .ochiai-site :is(
    .eyebrow,
    .eyebrow-light,
    .breadcrumb,
    .breadcrumb a,
    .news-cat,
    .news-date,
    .news-more,
    .reason-tag,
    .spot-cat,
    .rd-eyebrow,
    .booking-card header span,
    .booking-card .price .tax,
    .room .price .tax,
    .room .price .cur,
    .rate-table thead th,
    .rate-badge,
    .rate-yen,
    .booking-cta-card .label,
    .copy,
    p.copy
  ) {
    font-size: 0.9375rem !important;
    line-height: 1.65 !important;
  }

  .ochiai-site .booking-card header h2 {
    font-size: 1rem !important;
    font-weight: 600 !important;
  }

  [class*="ochiai-"][class*="-page"] :is(p, li, dd, dt, td, th) {
    font-size: 1rem !important;
    line-height: 1.85 !important;
  }

  [class*="ochiai-"][class*="-page"] .eyebrow,
  [class*="ochiai-"][class*="-page"] .breadcrumb {
    font-size: 0.9375rem !important;
    line-height: 1.6 !important;
  }

  #ochiai-header .och-mobile-tagline {
    font-size: 0.9375rem !important;
    line-height: 1.7 !important;
  }
}

/* Header drawer & mobile CTA (≤900px — mobile header layout) */
@media (max-width: 900px) {
  #ochiai-header .och-m-item {
    font-size: 1rem;
    line-height: 1.55;
    padding-top: 0.9375rem;
    padding-bottom: 0.9375rem;
    min-height: 2.75rem;
  }

  #ochiai-header .och-mobile-cta .och-btn {
    font-size: 1.0625rem;
    line-height: 1.5;
    min-height: 2.75rem;
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
    font-weight: 700;
  }

  #ochiai-header .och-mobile-tagline {
    font-size: 0.9375rem;
    line-height: 1.7;
  }
}

@media (max-width: 480px) {
  #ochiai-header .och-m-item {
    font-size: 1rem;
    min-height: 2.75rem;
  }

  #ochiai-header .och-icon-btn {
    width: 2.75rem;
    height: 2.75rem;
  }
}
