/* Native block defaults and extensions, owned by Blocks on every theme. */
/* Match SWELL's responsive box padding for background, border and decoration.
   User-specified inline padding (including zero) remains authoritative. */
.wp-block-group { --pg-box-padding: 1.5em; }
.wp-block-group.has-background { padding: var(--pg-box-padding); }
@media (min-width: 600px) {
  .wp-block-group { --pg-box-padding: 2em; }
}
.editor-styles-wrapper .wp-block-group { margin-block:0 var(--pg-block-margin,2em); }
/* A group's content uses the compact 1em rhythm. Scope this to its content
   containers; row/grid layout uses the native gap instead of article margins. */
.wp-block-group__inner-container,
.wp-block-group:where(.is-layout-flow, .is-layout-constrained) > * {
  --pg-block-margin: 1em;
}
.wp-block-group > .wp-block-group__inner-container > *,
.editor-styles-wrapper .wp-block-group:where(.is-layout-flow, .is-layout-constrained) > * {
  margin-block: 0 var(--pg-block-margin, 1em);
}
.wp-block-group > :first-child,
.wp-block-group__inner-container > :first-child {
  margin-top: 0;
}
.wp-block-group > :last-child,
.wp-block-group__inner-container > :last-child {
  margin-bottom: 0 !important;
}
.wp-block-group:is(.is-layout-flex, .is-layout-grid) > *,
.editor-styles-wrapper .wp-block-group:is(.is-layout-flex, .is-layout-grid) > * {
  margin-block: 0;
}
/* "None" follows SWELL's centered media presentation; explicit left/right and
   gallery layout remain controlled by WordPress. No saved alignment is changed. */
:is(.wp-block-image, .wp-block-video):not(.alignleft):not(.alignright):not(.wp-block-gallery *) {
  text-align: center;
}
figure:is(.wp-block-image, .wp-block-video):not(.is-style-full-size):not(.alignleft):not(.alignright):not(.alignwide):not(.alignfull):not(.wp-block-gallery *) {
  margin-inline: auto;
}
/* Center unaligned embeds, including fixed-width provider widgets. Explicit
   left/right placement and responsive aspect-ratio sizing stay authoritative. */
.wp-block-embed:not(.is-style-full-size):not(.alignleft):not(.alignright):not([data-align="left"]):not([data-align="right"]):not([data-align="left"] *):not([data-align="right"] *) {
  margin-inline: auto;
  text-align: center;
}
.wp-block-embed:not(.alignleft):not(.alignright):not([data-align="left"]):not([data-align="right"]):not([data-align="left"] *):not([data-align="right"] *) > .wp-block-embed__wrapper > :is(iframe, blockquote, div) {
  margin-inline: auto !important;
}
.wp-block-embed.is-style-full-size { text-align: center; }
/* Native equivalents used by Migrator; rendering remains available after it is disabled. */
.pg-break-all { overflow-wrap: anywhere; }
ul.pg-link-list { display: flex; flex-direction: column; gap: .75em; list-style: none; padding-left: 0; }
ul.pg-link-list > li { list-style: none; padding-left: 0; margin: 0; width: 100%; }
ul.pg-link-list > li::before { content: none; }
.pg-link-list > li > a { display: flex; align-items: center; gap: .5em; color: inherit; line-height: 1.4; text-decoration: none; }
.pg-link-list .pg-inline-icon { flex: 0 0 1em; font-size: 1.25em; }
.pg-link-list .pg-inline-icon:last-child { margin-left: auto; }
.pg-link-list.pg-link-list-border { gap: 0; }
.pg-link-list.pg-link-list-border > li { border-bottom: 1px solid #ddd; padding: .6em .5em; }
.pg-link-list.pg-link-list-border > li:first-child { border-top: 1px solid #ddd; }
.pg-link-list.pg-link-list-flex { flex-direction: row; flex-wrap: wrap; gap: .5em .75em; }
.pg-link-list.pg-link-list-flex > li { width: auto; }
.pg-link-list.pg-link-list-button { border: none; }
.pg-link-list.pg-link-list-button > li { border-radius: inherit; }
.pg-link-list.pg-link-list-button > li > a { justify-content: center; border: 1px solid currentColor; border-radius: inherit; padding: .6em 1.5em; }
.pg-link-list.pg-link-list-button:not([style*="border-radius"]) > li { border-radius: 100px; }
.pg-link-list.pg-link-list-button.pg-link-list-fill > li { background-color: currentColor; }
.pg-link-list.pg-link-list-button.pg-link-list-fill > li > a { color: #fff; }
.wp-block-video:not(.alignleft):not(.alignright) > video {
  margin-inline: auto;
}
.editor-styles-wrapper .wp-block-image:not([data-align="left"]):not([data-align="right"]):not(.alignleft):not(.alignright):not(.wp-block-gallery *) .components-resizable-box__container,
.editor-styles-wrapper .wp-block-video:not([data-align="left"]):not([data-align="right"]):not(.alignleft):not(.alignright) .components-resizable-box__container {
  margin-inline: auto;
}
/* The editor's table-sized figure can offset resized images by half their
   width. Use its intrinsic block width for the explicit center control. */
.editor-styles-wrapper [data-align="center"] > .wp-block-image:not(.wp-block-gallery *) {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
}
.editor-styles-wrapper [data-align="center"] > .wp-block-image > figcaption {
  display: block;
}
.wp-block-heading.is-style-pg-section-title {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  text-align: center;
  letter-spacing: 0.05em;
  margin-block: 2em 1.5em;
}
.wp-block-heading.is-style-pg-section-title::before,
.wp-block-heading.is-style-pg-section-title::after {
  display: none !important;
}
.wp-block-heading.is-style-pg-section-title:not(.has-text-color) {
  color: inherit;
}
.wp-block-heading.is-style-pg-section-title small {
  display: block;
  font-size: 0.6em;
  font-weight: 400;
  margin-top: 0.7em;
  letter-spacing: 0.1em;
}
.wp-block-image.pg-image-small {
  box-sizing: border-box;
  padding-inline: 8%;
}
.wp-block-image.pg-image-xsmall {
  box-sizing: border-box;
  padding-inline: 16%;
}
.wp-block-columns:is(
    .is-style-pg-columns-border-gray,
    .is-style-pg-columns-border-main,
    .is-style-pg-columns-shadow
  )
  > .wp-block-column {
  box-sizing: border-box;
  padding: 1.5em;
}
.wp-block-columns.is-style-pg-columns-border-gray > .wp-block-column {
  border: 1px solid var(--pg-theme-border, #ddd);
}
.wp-block-columns.is-style-pg-columns-border-main > .wp-block-column {
  border: 1px solid var(--pg-theme-main, #111);
}
.wp-block-columns.is-style-pg-columns-shadow > .wp-block-column {
  box-shadow: 0 2px 8px #0002;
}
.pg-core-table {
  --pg-table-head-bg: var(--pg-theme-main, #111);
  --pg-table-head-text: #fff;
  --pg-table-body-th-bg: rgba(150, 150, 150, 0.05);
  --pg-table-body-th-text: inherit;
  --pg-cell-border: #dcdcdc;
  position: relative;
  overflow-x: auto;
}
.pg-core-table table {
  border-collapse: collapse;
  box-sizing: border-box;
  font-size: var(--pg-table-fz, var(--pg-table-default-size, inherit));
  width: 100%;
  border: 0;
  line-height: 1.6;
  text-align: left;
  margin: 0;
}
.pg-core-table :is(th, td) {
  box-sizing: border-box;
  position: relative;
  border: 1px solid var(--pg-cell-border);
  padding: 0.5em 0.75em;
  vertical-align: top;
  min-width: 0;
}
.pg-core-table thead {
  border: 0;
}
.pg-core-table tfoot {
  border: 0;
}
.pg-core-table thead :is(th, td) {
  background: var(--pg-table-head-bg);
  color: var(--pg-table-head-text);
  font-weight: 700;
}
.pg-core-table tbody th {
  background: var(--pg-table-body-th-bg);
  color: var(--pg-table-body-th-text);
  font-weight: 700;
}
.pg-core-table :is(th, td)[data-pg-col="0"] {
  width: var(--pg-cell1-width, auto);
  min-width: var(--pg-cell1-width, 0);
}
.pg-core-table.is-style-pg-simple {
  --pg-table-head-bg: transparent;
  --pg-table-head-text: currentColor;
  --pg-table-body-th-bg: transparent;
}
.pg-core-table.is-style-pg-simple :is(th, td) {
  border-width: 0 0 1px;
}
.pg-core-table.is-style-pg-simple thead :is(th, td) {
  border-bottom: 4px double var(--pg-cell-border);
}
.pg-core-table.is-style-pg-simple[style*="--pg-table-head-bg:"]
  thead
  :is(th, td) {
  border-bottom: 0;
}
.pg-core-table.is-style-stripes {
  --pg-table-body-th-bg: transparent;
}
.pg-core-table.is-style-pg-double :is(th, td) {
  border: 3px double var(--pg-cell-border);
}
.pg-core-table:is(.pg-table-centered, .pg-table-align-center) :is(th, td),
.pg-core-table.pg-table-head-centered thead :is(th, td) {
  text-align: center;
}
.pg-core-table:is(.pg-table-centered, .pg-table-valign-center) :is(th, td) {
  vertical-align: middle;
}
.pg-core-table.pg-table-min-10 :is(th, td) {
  min-width: 80px;
}
.pg-core-table.pg-table-min-20 :is(th, td) {
  min-width: 160px;
}
.pg-core-table.pg-table-min-30 :is(th, td) {
  min-width: 240px;
}
.pg-table-scroll-both table {
  min-width: var(--pg-table-width, 1200px);
}
.pg-table-scroll-both.pg-table-fixed-left [data-pg-col="0"] {
  position: sticky;
  left: 0;
  z-index: 2;
  background: var(--pg-cell-bg, var(--pg-theme-content_bg, #fff));
}
.pg-table-scroll-both.pg-table-fixed-left thead [data-pg-col="0"] {
  background: var(--pg-cell-bg, var(--pg-table-head-bg));
  z-index: 3;
}
.pg-table-scroll-both.pg-table-fixed-left tbody th[data-pg-col="0"] {
  background: var(--pg-cell-bg, var(--pg-table-body-th-bg));
}
.pg-table-head-fixed-both {
  overflow: visible;
}
.pg-table-head-fixed-both thead {
  position: sticky;
  top: var(--pg-sticky-header-offset, 0px);
  z-index: 4;
}
.pg-table-scroll-hint {
  font-size: 12px;
  text-align: right;
  letter-spacing: 0.05em;
  margin: 0.5em 0;
  color: inherit;
  opacity: 0.7;
}
.pg-table-scroll-hint span {
  display: inline-block;
  padding-inline: 0.4em;
}
.pg-core-table figcaption {
  color: inherit;
  font-size: 0.85em;
  text-align: center;
  margin-top: 0.6em;
}
.pg-inline-stars {
  display: inline-block;
  position: relative;
  color: #ccc;
  line-height: 1;
  white-space: nowrap;
  letter-spacing: 0.05em;
}
.pg-inline-stars::before {
  position: absolute;
  left: 0;
  top: 0;
  width: var(--pg-rating, 0%);
  overflow: hidden;
  content: "★★★★★";
  color: #e5b033;
  white-space: nowrap;
}

@media (max-width: 959px) {
  .pg-pc-only:not(.editor-styles-wrapper *) {
    display: none !important;
  }
  .pg-table-hint-pc {
    display: none;
  }
  .pg-table-scroll-sp table {
    min-width: var(--pg-table-width, 800px);
  }
  .pg-table-scroll-sp.pg-table-fixed-left [data-pg-col="0"] {
    position: sticky;
    left: 0;
    z-index: 2;
    background: var(--pg-cell-bg, var(--pg-theme-content_bg, #fff));
  }
  .pg-table-scroll-sp.pg-table-fixed-left thead [data-pg-col="0"] {
    background: var(--pg-cell-bg, var(--pg-table-head-bg));
    z-index: 3;
  }
  .pg-table-scroll-sp.pg-table-fixed-left tbody th[data-pg-col="0"] {
    background: var(--pg-cell-bg, var(--pg-table-body-th-bg));
  }
  .pg-table-head-fixed-sp {
    overflow: visible;
  }
  .pg-table-head-fixed-sp thead {
    position: sticky;
    top: var(--pg-sticky-header-offset, 0px);
    z-index: 4;
  }
  .pg-core-table.pg-table-stack:not([class*="pg-table-scroll-"])
    :is(table, thead, tbody, tfoot, tr, td, th) {
    display: block;
    width: 100% !important;
    min-width: 0;
  }
  .pg-core-table.pg-table-stack:not([class*="pg-table-scroll-"]) td {
    border-top: 0;
  }
}

@media (min-width: 960px) {
  .pg-sp-only:not(.editor-styles-wrapper *) {
    display: none !important;
  }
  .pg-table-hint-sp {
    display: none;
  }
  .pg-table-scroll-pc table {
    min-width: var(--pg-table-width, 1200px);
  }
  .pg-table-scroll-pc.pg-table-fixed-left [data-pg-col="0"] {
    position: sticky;
    left: 0;
    z-index: 2;
    background: var(--pg-cell-bg, var(--pg-theme-content_bg, #fff));
  }
  .pg-table-scroll-pc.pg-table-fixed-left thead [data-pg-col="0"] {
    background: var(--pg-cell-bg, var(--pg-table-head-bg));
    z-index: 3;
  }
  .pg-table-scroll-pc.pg-table-fixed-left tbody th[data-pg-col="0"] {
    background: var(--pg-cell-bg, var(--pg-table-body-th-bg));
  }
}
@media (max-width: 599px) {
  .wp-block-columns.pg-columns-mobile-2 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wp-block-columns.pg-columns-mobile-2 > .wp-block-column {
    flex-basis: calc((100% - var(--wp--style--block-gap, 2em)) / 2) !important;
    flex-grow: 0;
  }
  .wp-block-columns[class*="pg-columns-"] {
    row-gap: 2em;
  }
  .wp-block-columns.pg-columns-gap-4 {
    row-gap: 4em !important;
  }
  .wp-block-columns.pg-columns-gap-6 {
    row-gap: 6em !important;
  }
}
@media (max-width: 600px) {
  .wp-block-media-text.is-stacked-on-mobile.is-style-pg-broken
    > .wp-block-media-text__media {
    margin: 0;
  }
  .wp-block-media-text.is-stacked-on-mobile.is-style-pg-broken
    > .wp-block-media-text__content {
    margin: -1em 1em 0;
    padding: 1.5em;
  }
  .wp-block-media-text.is-style-pg-card > .wp-block-media-text__content {
    padding: 1.5em;
  }
}
.pg-mb-0 {
  margin-bottom: 0em !important;
}
.pg-mb-5 {
  margin-bottom: 0.5em !important;
}
.pg-mb-10 {
  margin-bottom: 1em !important;
}
.pg-mb-15 {
  margin-bottom: 1.5em !important;
}
.pg-mb-20 {
  margin-bottom: 2em !important;
}
.pg-mb-25 {
  margin-bottom: 2.5em !important;
}
.pg-mb-30 {
  margin-bottom: 3em !important;
}
.pg-mb-40 {
  margin-bottom: 4em !important;
}
.pg-mb-50 {
  margin-bottom: 5em !important;
}
.pg-mb-60 {
  margin-bottom: 6em !important;
}

@media (max-width: 959px) {
  .pg-core-table.pg-table-min-10 :is(th, td) {
    min-width: 10vw;
  }
  .pg-core-table.pg-table-min-20 :is(th, td) {
    min-width: 20vw;
  }
  .pg-core-table.pg-table-min-30 :is(th, td) {
    min-width: 28vw;
  }
}

.pg-core-table.is-style-pg-simple.pg-table-fixed-left:not(
    [style*="--pg-table-head-bg:"]
  )
  thead
  [data-pg-col="0"] {
  background: var(--pg-theme-content_bg, #fff);
}

/* Native tables: one renderer in editor and frontend, including the SWELL coexistence period. */
.pg-core-table.pg-core-table table {
  --swl-cell1-width: var(--pg-cell1-width, auto);
  font-size: var(--pg-table-fz, var(--pg-table-default-size, inherit)) !important;
}
.pg-core-table.pg-core-table thead :is(td, th) {
  background: var(--pg-table-head-bg);
  color: var(--pg-table-head-text);
}
.pg-core-table.pg-core-table tbody th {
  background: var(--pg-table-body-th-bg);
  color: var(--pg-table-body-th-text);
}
.pg-core-table.pg-core-table table tr > [data-pg-col="0"] {
  width: var(--pg-cell1-width, auto);
  max-width: var(--pg-cell1-width, none);
  min-width: max(
    var(--pg-cell1-width, 0px),
    var(--pg-cell-min-width, 0px)
  ) !important;
}
.pg-core-table.pg-core-table table tr > [data-pg-col]:not([data-pg-col="0"]) {
  --swl-cell1-width: auto;
}
.wp-block-group.is-style-pg-browser > .wp-block-group__inner-container {
  max-height: 400px;
  overflow: auto;
}

@media (min-width: 960px) {
  :is(.wp-block-image, .wp-block-video).is-style-pg-photo-frame
    :is(img, video) {
    border-width: 6px;
  }
}

/* An explicitly chosen WordPress font size takes precedence over the Theme default. */
.wp-block-table[class*="-font-size"],.wp-block-table[style*="font-size"]{--pg-table-default-size:1em}
