/*
 * kt-base.css — the slice of Kadence + WordPress core CSS that kt-core.css was written on top
 * of. The WordPress build loaded ~13 stylesheets; only the rules the ported markup actually
 * depends on are reproduced here (found by diffing computed styles WP vs EmDash, 2026-10-23).
 * Loaded BEFORE kt-core.css so every kt-core rule still wins.
 *
 * Deliberately NOT ported: Kadence's input[type=search]/.search-form rules. In WordPress they
 * overrode kt-core's search overlay (white boxed input, invisible submit icon); EmDash renders
 * the overlay as kt-core intends.
 */

/* Document defaults (Kadence normalize + theme.json `:where(body){margin:0}`) */
html { box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }
body { margin: 0; }
img { display: block; height: auto; max-width: 100%; border-style: none; }

/* Visually hidden until focused (Kadence global.min.css) */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  word-wrap: normal !important;
  margin: -1px;
  padding: 0;
  border: 0;
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  top: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  width: auto;
  z-index: 100000;
}

/* Form element normalisation + Kadence button base (backgrounds/borders come from kt-core) */
button, input, optgroup, select, textarea { font-size: 100%; margin: 0; }
button, input { overflow: visible; }
button, select { text-transform: none; }
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
button {
  border-radius: 3px;
  padding: 0.4em 1em;
  border: 0;
  font-size: 1.125rem;
  line-height: 1.6;
  font-family: inherit;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.2s ease;
  box-shadow: 0 0 0 -7px rgba(0, 0, 0, 0);
}
button:disabled { cursor: not-allowed; opacity: 0.5; }

/* Core block styles for the WordPress class names kept in the markup */
.wp-block-group { box-sizing: border-box; }
.wp-block-post-content { display: flow-root; }
.wp-block-post-title { word-break: break-word; box-sizing: border-box; }
.wp-block-post-title :where(a) { display: inline-block; font-family: inherit; font-size: inherit; font-style: inherit; font-weight: inherit; letter-spacing: inherit; line-height: inherit; text-decoration: inherit; }
.wp-block-post-terms { box-sizing: border-box; }
.wp-block-post-featured-image { margin-left: 0; margin-right: 0; position: relative; }
.wp-block-post-featured-image a { display: block; height: 100%; }
.wp-block-post-featured-image :where(img) { max-width: 100%; width: 100%; height: auto; vertical-align: bottom; box-sizing: border-box; }
.wp-block-read-more { display: block; width: fit-content; text-decoration: none; }

/* Core flex layout (theme.json block supports), used by .tc-foot */
.is-layout-flex { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5em; }
.is-layout-flex > :is(*, div) { margin: 0; }
.is-content-justification-space-between { justify-content: space-between; }

/* normalize.css (bundled in Kadence): keeps the price superscript ($) from growing the line */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }

/* Kadence content spacing (--global-md-spacing: 2rem) */
.entry-content blockquote { margin: 0 0 2rem; }

/* core: constrained group layouts are a positioning context (the tour detail column) */
.wp-block-group.detail-main { position: relative; }
