/* =========================================================
   Post scope base + reset (scoped)
   - Only affects inside .p-post-scope
   - Pure CSS (no SCSS)
   - Safe for existing pages (no html/body/global override)
========================================================= */

/* --- Base ------------------------------------------------ */

.p-post-scope {
  line-height: 1.7;
}

/* box-sizing */
.p-post-scope :where(*, *::before, *::after) {
  box-sizing: border-box;
}

/* media elements */
.p-post-scope :where(img, svg, video, canvas) {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

/* links */
.p-post-scope :where(a) {
  color: inherit;
  text-decoration: none;
}

/* lists */
.p-post-scope :where(ul, ol) {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* text blocks */
.p-post-scope :where(p, figure) {
  margin: 0;
}

/* --- Reset ------------------------------------------------ */

/* Remove default margin */
.p-post-scope :where(h1, h2, h3, h4, h5, p, ul, ol, figure, blockquote, dl, dd) {
  margin: 0;
}

/* Make images easier to work with */
.p-post-scope img {
  max-width: 100%;
  width: 100%;
  height: auto;
  display: block;
}

/* Natural flow and rhythm in articles by default */
.p-post-scope article > * + * {
  /* margin-top: 1em; */
}

/* Inherit fonts for inputs and buttons */
.p-post-scope :where(input, button, textarea, select) {
  font: inherit;
}

/* picture */
.p-post-scope picture {
  display: block;
  width: 100%;
  height: 100%;
}

/* Blur images when they have no alt attribute */
.p-post-scope img:not([alt]) {
  filter: blur(10px);
}

/* dialog reset */
.p-post-scope dialog {
  width: unset;
  max-width: unset;
  height: unset;
  max-height: unset;
  padding: unset;
  color: unset;
  background-color: unset;
  border: unset;
  overflow: unset;
}

.p-post-scope dialog:focus-visible {
  outline: none;
}

/* Form reset */
.p-post-scope :where(input, button, select, textarea) {
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

.p-post-scope textarea {
  resize: vertical;
}

.p-post-scope input[type="checkbox"],
.p-post-scope input[type="radio"] {
  display: none;
}

.p-post-scope :where(input[type="submit"], input[type="button"], label, button, select) {
  cursor: pointer;
}

.p-post-scope select::-ms-expand {
  display: none;
}

/* link (scoped) */
.p-post-scope a {
  color: var(--text-black);
  cursor: pointer;
  transition: opacity 0.3s;
}

.p-post-scope a[href^="tel:"] {
  pointer-events: none;
}

/* Elementor kit hover を投稿スコープ内だけ無効化（または上書き） */
.p-post-scope a:hover,
.p-post-scope a:focus-visible {
  color: inherit;
  text-decoration: none;
  opacity: 0.7; /* 必要なら（嫌なら消してOK） */
}

@media (max-width: 767px) {
  .p-post-scope a[href^="tel:"] {
    pointer-events: auto;
  }
}