/*
 * あわら三国ライオンズクラブ
 * 04｜Base
 * Version: 1.0.0
 *
 * XWRITE既存スタイルへの影響を抑えるため、
 * 原則としてamlc専用領域に適用する。
 */

/* Box Sizing */

.amlc-page,
.amlc-page *,
.amlc-page *::before,
.amlc-page *::after {
  box-sizing: border-box;
}

/* Page */

.amlc-page {
  width: 100%;
  min-width: 0;

  background: var(--amlc-bg);
  color: var(--amlc-text);

  font-family: var(--amlc-font-body);
  font-size: var(--amlc-font-base);
  line-height: var(--amlc-line-height);

  -webkit-font-smoothing: antialiased;
}

/* Images */

.amlc-page img,
.amlc-page video {
  max-width: 100%;
  height: auto;
}

/* Links */

.amlc-page a {
  color: var(--amlc-blue-action);
  text-decoration: underline;
  text-underline-offset: 0.15em;

  transition:
    color var(--amlc-transition),
    background-color var(--amlc-transition);
}

.amlc-page a:hover {
  color: var(--amlc-blue-dark);
}

/* Buttons and Form Controls */

.amlc-page button,
.amlc-page input,
.amlc-page select,
.amlc-page textarea {
  font: inherit;
}

.amlc-page button {
  cursor: pointer;
}

/* Keyboard Focus */

.amlc-page :where(
  a,
  button,
  input,
  select,
  textarea,
  summary
):focus-visible {
  outline: 3px solid var(--amlc-focus);
  outline-offset: 3px;
}

/* Accessibility */

.amlc-sr-only {
  position: absolute !important;

  width: 1px !important;
  height: 1px !important;

  padding: 0 !important;
  margin: -1px !important;

  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;

  border: 0 !important;
}

/* Reduced Motion */

@media (prefers-reduced-motion: reduce) {

  .amlc-page *,
  .amlc-page *::before,
  .amlc-page *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

}