/*
Theme Name: White Canvas Original
Theme URI: https://example.com/white-canvas-original
Author: Hiroshi / Original Theme
Description: 真っ白なキャンバスから、WordPressブロックエディターとElementorで自由に制作できる軽量オリジナルテーマです。
Version: 1.0.0
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 7.4
Text Domain: white-canvas-original
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: custom-logo, custom-menu, featured-images, full-width-template, block-styles, wide-blocks, editor-style
*/

:root {
  --wc-content-width: 1200px;
  --wc-wide-width: 1440px;
  --wc-text-color: #111111;
  --wc-background: #ffffff;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--wc-background);
  color: var(--wc-text-color);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", Helvetica, Arial, sans-serif;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
img, svg, video, iframe { max-width: 100%; height: auto; }
a { color: inherit; }

.site-shell { min-height: 100vh; display: flex; flex-direction: column; }
.site-main { flex: 1 0 auto; width: 100%; }

/* 通常ページは読みやすい幅。Elementor Canvas / Full Widthでは制限しません。 */
.content-container {
  width: min(calc(100% - 40px), var(--wc-content-width));
  margin-inline: auto;
}
.entry-content { overflow-wrap: anywhere; }
.entry-content > * { margin-block-start: 0; margin-block-end: 1.5rem; }
.entry-content > .alignwide { width: min(100%, var(--wc-wide-width)); max-width: var(--wc-wide-width); margin-left: 50%; transform: translateX(-50%); }
.entry-content > .alignfull { width: 100vw; max-width: 100vw; margin-left: 50%; transform: translateX(-50%); }

/* Elementorが余白を完全に管理できるようにする */
body.elementor-page .content-container,
body.elementor-template-canvas .content-container,
body.page-template-template-full-width .content-container {
  width: 100%;
  max-width: none;
  margin: 0;
}
body.elementor-page .entry-content,
body.elementor-template-canvas .entry-content,
body.page-template-template-full-width .entry-content { margin: 0; }

.screen-reader-text {
  border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
  height: 1px; margin: -1px; overflow: hidden; padding: 0;
  position: absolute !important; width: 1px; word-wrap: normal !important;
}
.screen-reader-text:focus {
  background: #fff; clip: auto !important; clip-path: none; color: #111;
  display: block; font-size: 14px; height: auto; left: 8px; padding: 12px 16px;
  top: 8px; width: auto; z-index: 100000;
}

/* 管理者がヘッダー・フッターを追加するまで、初期表示は完全に白くシンプルです。 */
.site-header, .site-footer { width: 100%; }
.site-header:empty, .site-footer:empty { display: none; }

@media (max-width: 767px) {
  .content-container { width: min(calc(100% - 28px), var(--wc-content-width)); }
}
