@charset "UTF-8";
/**
 * Custom SANGO Blocks - Essential Styles
 * Only styles required for SANGO Gutenberg blocks
 */

/* Basic font setting */
.dfont {
  font-family: var(--wp--preset--font-family--dfont);
}

/* Text utilities */
.strong {
  font-weight: bold;
}
.em {
  font-style: italic;
}

/* Color utilities */
.accent-bc {
  background-color: var(--wp--preset--color--accent);
}
.main-c {
  color: var(--wp--preset--color--main);
}

/* Heading styles (hh series) - Required for heading blocks */
#inner-content .hh {
  margin: 2.5em 0 1em;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  font-weight: bold;
}

/* Button base styles - Required for button blocks */
.btn {
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s;
}

.btn-wrap {
  text-align: center;
  margin: 1.5em 0;
}

/* Box styles - Required for box blocks */
.sng-box {
  margin: 2em 0;
  padding: 1.5em;
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 3px;
}

/* List utilities */
.list-raw {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ol-circle {
  list-style-type: decimal;
}

/* Shadow utilities */
.sng-shadow-1 { box-shadow: 0 1px 3px rgba(0,0,0,0.12); }
.sng-shadow-2 { box-shadow: 0 2px 6px rgba(0,0,0,0.15); }
.sng-shadow-3 { box-shadow: 0 3px 9px rgba(0,0,0,0.18); }
.sng-shadow-4 { box-shadow: 0 4px 12px rgba(0,0,0,0.20); }
.sng-shadow-5 { box-shadow: 0 5px 15px rgba(0,0,0,0.25); }

/* Alignment utilities */
.sng-align-left { text-align: left; }
.sng-align-center { text-align: center; }
.sng-align-right { text-align: right; }

/* Basic table styles */
table {
  width: 100%;
  border-collapse: collapse;
}

/* Image styles */
img {
  max-width: 100%;
  height: auto;
}

/* Link styles */
a {
  color: inherit;
  text-decoration: underline;
}

/* Code styles */
code {
  font-family: "Menlo", "Consolas", "monaco", "monospace", "ＭＳ ゴシック", sans-serif;
  font-size: 0.9em;
  padding: 0.2em 0.4em;
  background: #f4f4f4;
  border-radius: 3px;
}

pre {
  margin: 0;
  white-space: pre-wrap;
}

pre code {
  display: block;
  padding: 1em;
  overflow-x: auto;
}

/* Responsive utilities */
@media only screen and (max-width: 767px) {
  .u-only-pc {
    display: none !important;
  }
}

@media only screen and (min-width: 768px) {
  .u-only-sp {
    display: none !important;
  }
}

/* WordPress block alignments */
.alignleft {
  float: left;
  margin-right: 1em;
}

.alignright {
  float: right;
  margin-left: 1em;
}

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* Clear floats */
.clear::after {
  content: "";
  display: table;
  clear: both;
}