/*
Theme Name: 特定技能のりあい窓口
Theme URI: https://tokutei-noriai.jp/
Author: 特定技能のりあい窓口
Author URI: https://tokutei-noriai.jp/
Description: 特定技能の人材紹介会社・登録支援機関を、業種・人数・地域から比べて選べる相談窓口「特定技能のりあい窓口」の専用テーマです。Elementorで編集でき、AI検索・SEO・お問い合わせ導線（Contact Form 7・LINE）を最適化しています。
Version: 1.2.0
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tokutei-noriai
Tags: one-column, right-sidebar, custom-logo, custom-menu, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready, block-styles, wide-blocks
Update URI: https://tokutei-noriai.jp/theme/
*/

/*
 * Compatibility stylesheet (handle: tnr-compat), loaded non-blocking after theme.css.
 * WordPress core classes, core block front-end styles, legacy widgets, Yoast, Elementor, Contact Form 7 safety,
 * comments, embeds and print rules for plugins. Every token has a literal fallback so this file also works alone.
 */

/* == 1. WordPress required classes == */

.alignleft {
  float: left;
  margin: 0.35em 1.5em 1em 0;
}

.alignright {
  float: right;
  margin: 0.35em 0 1em 1.5em;
}

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

.alignnone {
  margin-top: 0.35em;
  margin-bottom: 1em;
}

@media (max-width: 575.98px) {
  .alignleft,
  .alignright {
    float: none;
    margin-right: 0;
    margin-left: 0;
  }
}

.alignwide {
  width: auto;
  max-width: none;
}

.alignfull {
  width: auto;
  max-width: none;
}

@media (min-width: 1024px) {
  .tnr-layout--single .tnr-prose > .alignwide {
    width: min(960px, 100vw - var(--tnr-gutter, 32px) * 2);
    margin-inline: calc(50% - min(480px, 50vw - var(--tnr-gutter, 32px)));
  }
}

.tnr-layout--single .tnr-prose > .alignfull {
  width: 100vw;
  max-width: 100vw;
  margin-inline: calc(50% - 50vw);
}

.tnr-layout--with-sidebar .tnr-prose > .alignfull,
.tnr-layout--with-sidebar .tnr-prose > .alignwide {
  width: auto;
  margin-inline: 0;
}

.tnr-prose::after,
.entry-content::after {
  content: "";
  display: table;
  clear: both;
}

.wp-caption {
  max-width: 100%;
  margin-bottom: 1.6em;
}

.wp-caption img[class*="wp-image-"] {
  display: block;
  max-width: 100%;
  height: auto;
  margin-inline: auto;
}

.wp-caption-text,
.gallery-caption,
.wp-element-caption {
  margin: 0.7em 0 0;
  color: var(--tnr-color-subtle, #6e7781);
  font-size: 0.8125rem;
  line-height: 1.6;
  text-align: center;
}

.sticky {
  position: relative;
}

.sticky .tnr-card__title::before,
.sticky > .entry-title::before {
  content: "注目";
  display: inline-block;
  margin-inline-end: 0.5em;
  padding: 0 0.5em;
  border-radius: 3px;
  background: var(--tnr-color-accent, #c25000);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.7;
  vertical-align: 0.15em;
}

.bypostauthor > .comment-body .fn::after,
.bypostauthor > .tnr-comment .tnr-comment__author::after {
  content: "投稿者";
  display: inline-block;
  margin-inline-start: 0.5em;
  padding: 0 0.45em;
  border-radius: 3px;
  background: var(--tnr-color-primary-soft, #edf4f6);
  color: var(--tnr-color-primary, #006c9d);
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.7;
}

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  border: 0;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  top: 8px;
  left: 8px;
  z-index: 100000;
  display: block;
  width: auto;
  height: auto;
  padding: 12px 20px;
  clip: auto !important;
  clip-path: none;
  border-radius: 8px;
  background: var(--tnr-color-primary-strong, #0b4d64);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: normal;
  text-decoration: none;
}

.hidden {
  display: none;
}

/* == 2. Classic editor media and galleries == */

.size-auto,
.size-full,
.size-large,
.size-medium,
.size-thumbnail {
  max-width: 100%;
  height: auto;
}

img.alignleft,
img.alignright,
img.aligncenter {
  border-radius: var(--tnr-radius-sm, 4px);
}

.gallery {
  display: grid;
  grid-template-columns: repeat(var(--tnr-gallery-cols, 3), minmax(0, 1fr));
  gap: var(--tnr-space-3, 12px);
  margin: 0 0 1.6em;
}

.gallery-columns-1 {
  --tnr-gallery-cols: 1;
}

.gallery-columns-2 {
  --tnr-gallery-cols: 2;
}

.gallery-columns-4 {
  --tnr-gallery-cols: 4;
}

.gallery-columns-5 {
  --tnr-gallery-cols: 5;
}

.gallery-columns-6 {
  --tnr-gallery-cols: 6;
}

.gallery-columns-7 {
  --tnr-gallery-cols: 7;
}

.gallery-columns-8 {
  --tnr-gallery-cols: 8;
}

.gallery-columns-9 {
  --tnr-gallery-cols: 9;
}

@media (max-width: 575.98px) {
  .gallery {
    --tnr-gallery-cols: 2;
  }

  .gallery-columns-1 {
    --tnr-gallery-cols: 1;
  }
}

.gallery-item {
  margin: 0;
  text-align: center;
}

.gallery-icon img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--tnr-radius-sm, 4px);
}

.gallery-caption {
  margin-top: 0.4em;
}

.wp-audio-shortcode,
.wp-video,
.wp-playlist {
  max-width: 100%;
  margin: 0 0 1.6em;
}

.wp-video video,
.wp-video .mejs-container {
  max-width: 100%;
}

.mejs-container,
.mejs-container .mejs-controls {
  border-radius: var(--tnr-radius, 8px);
}

.wp-playlist {
  padding: var(--tnr-space-3, 12px);
  border: 1px solid var(--tnr-color-border, #cfe0e8);
  border-radius: var(--tnr-radius);
}

.wp-playlist-item {
  padding: 6px 0;
  border-bottom: 1px solid var(--tnr-color-border-soft, #e2edf2);
  font-size: 0.875rem;
}

/* == 3. Core blocks: text == */

.has-drop-cap:not(:focus)::first-letter {
  float: left;
  margin: 0.08em 0.12em 0 0;
  color: var(--tnr-color-primary, #006c9d);
  font-size: 3.4em;
  font-weight: 700;
  line-height: 0.9;
}

.has-text-align-center {
  text-align: center;
}

.has-text-align-right {
  text-align: right;
}

.has-text-align-left {
  text-align: left;
}

p.has-background,
.wp-block-heading.has-background {
  padding: 1em 1.25em;
  border-radius: 8px;
}

.has-background:where(:not(.wp-block-button__link)) {
  overflow-wrap: break-word;
}

.wp-block-heading {
  overflow-wrap: break-word;
}

.wp-block-list {
  overflow-wrap: break-word;
}

.wp-block-list.has-background {
  padding: 1em 1.25em 1em 2.5em;
  border-radius: var(--tnr-radius, 8px);
}

.wp-block-quote {
  margin: 2em 0;
  padding: 1.2em 1.4em;
  border-inline-start: 4px solid var(--tnr-color-border, #cfe0e8);
  border-radius: 0 var(--tnr-radius, 8px) var(--tnr-radius, 8px) 0;
  background: var(--tnr-color-surface, #f4f9fb);
  color: var(--tnr-color-text, #1b1f24);
}

.wp-block-quote p:last-of-type {
  margin-bottom: 0;
}

.wp-block-quote cite,
.wp-block-quote .wp-block-quote__citation {
  display: block;
  margin-top: 0.8em;
  color: var(--tnr-color-subtle);
  font-size: 0.8125rem;
  font-style: normal;
}

.wp-block-quote cite::before {
  content: "— ";
}

.wp-block-quote.is-style-large,
.wp-block-quote.is-large {
  padding: 1.4em 1.6em;
  font-size: 1.125em;
  line-height: 1.8;
}

.wp-block-quote.is-style-plain {
  padding: 0 0 0 1em;
  border-radius: 0;
  background: transparent;
}

.wp-block-quote.has-text-align-center {
  border-inline-start: 0;
  border-top: 4px solid var(--tnr-color-border, #cfe0e8);
  border-radius: 0 0 var(--tnr-radius, 8px) var(--tnr-radius, 8px);
}

.wp-block-pullquote {
  margin: 2.5em 0;
  padding: 2em 1.5em;
  border-top: 3px solid var(--tnr-color-heading, #0b3b4e);
  border-bottom: 3px solid var(--tnr-color-heading, #0b3b4e);
  color: var(--tnr-color-heading, #0b3b4e);
  text-align: center;
}

.wp-block-pullquote blockquote {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}

.wp-block-pullquote p {
  margin: 0;
  font-size: clamp(1.125rem, 1rem + 0.6vw, 1.375rem);
  font-weight: 700;
  line-height: 1.7;
  font-feature-settings: "palt";
}

.wp-block-pullquote cite {
  display: block;
  margin-top: 1em;
  color: var(--tnr-color-muted, #57606a);
  font-size: 0.8125rem;
  font-style: normal;
  font-weight: 400;
}

.wp-block-pullquote.is-style-solid-color {
  border: 0;
  border-radius: var(--tnr-radius-lg, 12px);
  background: var(--tnr-color-primary-strong, #0b4d64);
  color: #fff;
}

.wp-block-pullquote.is-style-solid-color cite {
  color: rgba(255, 255, 255, 0.85);
}

.wp-block-pullquote.alignleft,
.wp-block-pullquote.alignright {
  max-width: 50%;
  padding: 1em;
}

.wp-block-pullquote.alignleft p,
.wp-block-pullquote.alignright p {
  font-size: 1.0625rem;
}

.wp-block-verse {
  margin: 0 0 1.6em;
  padding: 1em 1.25em;
  overflow: auto;
  border-radius: var(--tnr-radius);
  background: var(--tnr-color-surface, #f4f9fb);
  color: var(--tnr-color-text);
  font-family: var(--tnr-font-serif, serif);
  line-height: 2;
  white-space: pre-wrap;
}

.wp-block-preformatted {
  margin: 0 0 1.6em;
  padding: 1em 1.25em;
  overflow: auto;
  border: 1px solid var(--tnr-color-border);
  border-radius: 8px;
  background: var(--tnr-color-surface, #f4f9fb);
  color: var(--tnr-color-text, #1b1f24);
  font-size: 0.875rem;
  line-height: 1.7;
  white-space: pre-wrap;
}

.wp-block-code {
  margin: 0 0 1.8em;
  padding: 1.1em 1.25em;
  overflow: auto;
  border: 0;
  border-radius: var(--tnr-radius, 8px);
  background: var(--tnr-color-heading, #0b3b4e);
  color: #e6edf3;
  font-family: var(--tnr-font-mono, monospace);
  font-size: 0.875rem;
  line-height: 1.7;
  tab-size: 2;
}

.wp-block-code code {
  padding: 0;
  background: none;
  color: inherit;
  font-size: inherit;
  white-space: pre;
}

.wp-block-footnotes {
  margin: 2.5em 0 0;
  padding: 1em 0 0 1.5em;
  border-top: 1px solid var(--tnr-color-border, #cfe0e8);
  color: var(--tnr-color-muted);
  font-size: 0.8125rem;
  line-height: 1.7;
}

.wp-block-footnotes li {
  margin-bottom: 0.4em;
}

sup.fn a,
.fn-ref {
  padding: 0 0.15em;
  font-weight: 700;
  text-decoration: none;
}

/* == 4. Core blocks: tables and images == */

.wp-block-table {
  max-width: 100%;
  margin: 0 0 1.8em;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.wp-block-table table {
  width: 100%;
  min-width: 100%;
  margin: 0;
  border-collapse: collapse;
  color: var(--tnr-color-text);
  font-size: 0.9375rem;
  line-height: 1.7;
}

.wp-block-table th,
.wp-block-table td {
  padding: 0.75em 1em;
  border: 1px solid var(--tnr-color-border, #cfe0e8);
  text-align: start;
  vertical-align: top;
  word-break: normal;
}

.wp-block-table thead {
  border-bottom: 2px solid var(--tnr-color-primary, #006c9d);
}

.wp-block-table thead th {
  background: var(--tnr-color-primary-soft, #edf4f6);
  color: var(--tnr-color-heading);
  font-size: 0.875rem;
  font-weight: 700;
}

.wp-block-table tfoot {
  border-top: 2px solid var(--tnr-color-border, #cfe0e8);
}

.wp-block-table .has-fixed-layout {
  table-layout: fixed;
}

.wp-block-table.is-style-stripes {
  border-bottom: 0;
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background: var(--tnr-color-surface, #f4f9fb);
}

.wp-block-table.is-style-stripes th,
.wp-block-table.is-style-stripes td {
  border-color: transparent;
  border-bottom-color: var(--tnr-color-border-soft, #e2edf2);
}

.wp-block-table figcaption {
  margin-top: 0.6em;
  color: var(--tnr-color-subtle, #6e7781);
  font-size: 0.8125rem;
  text-align: center;
}

.wp-block-table td.has-text-align-center,
.wp-block-table th.has-text-align-center {
  text-align: center;
}

.wp-block-table td.has-text-align-right,
.wp-block-table th.has-text-align-right {
  text-align: right;
}

.wp-block-image {
  margin: 0 0 1.8em;
}

.wp-block-image img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.wp-block-image:not(.is-style-rounded) img {
  border-radius: var(--tnr-radius-sm, 4px);
}

.wp-block-image.is-style-rounded img,
.wp-block-image .is-style-rounded img {
  border-radius: 9999px;
}

.wp-block-image.aligncenter,
.wp-block-image .aligncenter {
  text-align: center;
}

.wp-block-image .alignleft {
  float: left;
  margin: 0.35em 1.5em 1em 0;
}

.wp-block-image .alignright {
  float: right;
  margin: 0.35em 0 1em 1.5em;
}

.wp-block-image figcaption {
  margin: 0.7em 0 0;
  color: var(--tnr-color-subtle);
  font-size: 0.8125rem;
  line-height: 1.6;
  text-align: center;
}

.wp-block-image.has-custom-border img {
  box-sizing: border-box;
}

.wp-block-image.is-resized img,
.wp-block-image img[style*="width"] {
  max-width: 100%;
}

.wp-block-gallery.has-nested-images {
  gap: var(--tnr-space-3, 12px);
  margin: 0 0 1.8em;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  font-size: 0.75rem;
}

/* == 5. Core blocks: buttons, separators, spacing == */

.wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: var(--tnr-space-3, 12px);
  margin: 0 0 1.8em;
}

.wp-block-buttons.is-content-justification-center {
  justify-content: center;
}

.wp-block-buttons.is-content-justification-right {
  justify-content: flex-end;
}

.wp-block-buttons.is-vertical {
  flex-direction: column;
  align-items: stretch;
}

.wp-block-button {
  margin: 0;
}

.wp-block-button__link,
.wp-element-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  min-height: 48px;
  padding: 0.6em 1.4em;
  border: 2px solid transparent;
  border-radius: var(--tnr-radius);
  font-family: inherit;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  overflow-wrap: break-word;
  cursor: pointer;
  transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease;
}

.wp-block-button__link:not(.has-background) {
  background-color: var(--tnr-color-accent, #c25000);
}

.wp-block-button__link:not(.has-text-color) {
  color: #fff;
}

.wp-block-button__link:not(.has-background):hover,
.wp-block-button__link:not(.has-background):focus-visible {
  background-color: var(--tnr-color-accent-strong, #a84500);
  color: #fff;
}

.wp-block-button__link:focus-visible {
  outline: 3px solid rgba(0, 108, 157, 0.4);
  outline-offset: 3px;
}

.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button .wp-block-button__link.is-style-outline {
  border-color: currentColor;
  background-color: transparent;
}

.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color),
.wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color) {
  color: var(--tnr-color-primary, #006c9d);
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
  background-color: var(--tnr-color-primary-soft, #edf4f6);
}

.wp-block-button.has-custom-width .wp-block-button__link {
  width: 100%;
}

.wp-block-button__width-25 {
  width: calc(25% - var(--tnr-space-3, 12px) * 0.75);
}

.wp-block-button__width-50 {
  width: calc(50% - var(--tnr-space-3, 12px) * 0.5);
}

.wp-block-button__width-75 {
  width: calc(75% - var(--tnr-space-3, 12px) * 0.25);
}

.wp-block-button__width-100 {
  width: 100%;
}

@media (max-width: 575.98px) {
  .wp-block-button__width-25,
  .wp-block-button__width-50,
  .wp-block-button__width-75 {
    width: 100%;
  }
}

.wp-block-separator {
  width: 100%;
  max-width: 120px;
  height: 0;
  margin: 2.5em auto;
  border: 0;
  border-top: 2px solid var(--tnr-color-border, #cfe0e8);
  opacity: 1;
}

.wp-block-separator.is-style-wide,
.wp-block-separator.alignwide,
.wp-block-separator.alignfull {
  max-width: none;
  border-top-width: 1px;
}

.wp-block-separator.is-style-dots {
  max-width: none;
  border: 0;
  background: none;
  color: var(--tnr-color-subtle, #6e7781);
  line-height: 1;
  text-align: center;
}

.wp-block-separator.is-style-dots::before {
  content: "\00B7 \00B7 \00B7";
  padding-inline-start: 1em;
  font-size: 1.5rem;
  letter-spacing: 1em;
}

.wp-block-separator.has-background:not(.is-style-dots) {
  height: 2px;
  border: 0;
}

.wp-block-separator.has-alpha-channel-opacity {
  opacity: initial;
}

.wp-block-spacer {
  clear: both;
}

@media (max-width: 767.98px) {
  .wp-block-spacer[style*="height"] {
    max-height: 64px;
  }
}

/* == 6. Core blocks: layout == */

.wp-block-columns {
  display: flex;
  flex-wrap: wrap;
  align-items: normal;
  gap: var(--tnr-space-6, 24px);
  margin: 0 0 1.8em;
}

.wp-block-columns.are-vertically-aligned-top {
  align-items: flex-start;
}

.wp-block-columns.are-vertically-aligned-center {
  align-items: center;
}

.wp-block-columns.are-vertically-aligned-bottom {
  align-items: flex-end;
}

.wp-block-column {
  flex-grow: 1;
  min-width: 0;
  overflow-wrap: break-word;
}

.wp-block-column > :last-child {
  margin-bottom: 0;
}

.wp-block-column.is-vertically-aligned-center {
  align-self: center;
}

.wp-block-column.is-vertically-aligned-bottom {
  align-self: flex-end;
}

@media (max-width: 781.98px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) {
    flex-direction: column;
  }

  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 100% !important;
  }
}

@media (min-width: 782px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) {
    flex-wrap: nowrap;
  }

  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 0;
    flex-grow: 1;
  }

  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column[style*="flex-basis"] {
    flex-grow: 0;
  }
}

.wp-block-columns.is-not-stacked-on-mobile {
  flex-wrap: nowrap;
}

.wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
  flex-basis: 0;
  flex-grow: 1;
}

.wp-block-columns.has-background {
  padding: 1.25em 1.5em;
  border-radius: var(--tnr-radius-lg, 12px);
}

.wp-block-group {
  box-sizing: border-box;
}

.wp-block-group.has-background {
  padding: 1.25em 1.5em;
  border-radius: var(--tnr-radius-lg, 12px);
}

.wp-block-group.has-background > :last-child {
  margin-bottom: 0;
}

.wp-block-group.has-border-color {
  padding: 1.25em 1.5em;
}

.wp-block-group.alignfull.has-background {
  border-radius: 0;
}

.is-layout-flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.is-layout-flex.is-vertical {
  flex-direction: column;
  align-items: flex-start;
}

.is-layout-flex > :is(*, div) {
  margin: 0;
}

.is-layout-grid {
  display: grid;
}

.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  margin-right: auto;
  margin-left: auto;
}

.wp-block-details {
  margin: 0 0 1.6em;
  border: 1px solid var(--tnr-color-border);
  border-radius: 8px;
  background: var(--tnr-color-bg, #fff);
}

.wp-block-details > summary {
  display: flex;
  align-items: center;
  gap: 0.75em;
  min-height: 48px;
  padding: 0.65em 1em;
  color: var(--tnr-color-heading, #0b3b4e);
  font-weight: 700;
  line-height: 1.5;
  list-style: none;
  cursor: pointer;
}

.wp-block-details > summary::-webkit-details-marker {
  display: none;
}

.wp-block-details > summary::after {
  content: "";
  flex: none;
  width: 8px;
  height: 8px;
  margin-inline-start: auto;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform 200ms ease;
}

.wp-block-details[open] > summary::after {
  transform: translateY(2px) rotate(-135deg);
}

.wp-block-details[open] > summary {
  border-bottom: 1px solid var(--tnr-color-border-soft, #e2edf2);
}

.wp-block-details > :not(summary) {
  margin-right: 1em;
  margin-left: 1em;
}

.wp-block-details > :not(summary):first-of-type {
  margin-top: 0.85em;
}

.wp-block-details > :last-child:not(summary) {
  margin-bottom: 1em;
}

.wp-block-details > summary:focus-visible {
  outline: 3px solid rgba(0, 108, 157, 0.4);
  outline-offset: -3px;
}

.wp-block-cover,
.wp-block-cover-image {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 320px;
  margin: 0 0 1.8em;
  padding: 2em 1.25em;
  overflow: hidden;
  border-radius: var(--tnr-radius-lg, 12px);
  color: #fff;
}

.wp-block-cover.alignfull {
  border-radius: 0;
}

.wp-block-cover__background,
.wp-block-cover__gradient-background {
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0.6;
}

.wp-block-cover__background:not([class*="-background-color"]),
.wp-block-cover.has-background-dim:not([class*="-background-color"]) .wp-block-cover__background {
  background-color: #0b3b4e;
}

.wp-block-cover__image-background,
.wp-block-cover__video-background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  object-fit: cover;
}

.wp-block-cover__inner-container {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: var(--tnr-article, 720px);
  color: inherit;
}

.wp-block-cover:not(.is-light) .wp-block-cover__inner-container :where(h1, h2, h3, h4, h5, h6, p, li, a:not(.wp-block-button__link)) {
  color: #fff;
}

.wp-block-cover:not(.is-light) .wp-block-cover__inner-container :where(h1, h2, h3, p) {
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
}

.wp-block-cover.is-light .wp-block-cover__inner-container {
  color: var(--tnr-color-heading);
}

.wp-block-cover.has-background-dim-80 .wp-block-cover__background {
  opacity: 0.8;
}

.wp-block-cover.has-background-dim-40 .wp-block-cover__background {
  opacity: 0.4;
}

.wp-block-cover.has-parallax {
  background-attachment: scroll;
}

.wp-block-media-text {
  display: grid;
  grid-template-columns: 50% 1fr;
  grid-template-rows: auto;
  align-items: center;
  gap: 0;
  margin: 0 0 1.8em;
  overflow: hidden;
  border-radius: var(--tnr-radius-lg, 12px);
}

.wp-block-media-text.has-media-on-the-right {
  grid-template-columns: 1fr 50%;
}

.wp-block-media-text .wp-block-media-text__media {
  grid-row: 1;
  grid-column: 1;
  margin: 0;
}

.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
  grid-column: 2;
}

.wp-block-media-text .wp-block-media-text__content {
  grid-row: 1;
  grid-column: 2;
  padding: 1.5em 1.75em;
  overflow-wrap: break-word;
}

.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
  grid-column: 1;
}

.wp-block-media-text__media img,
.wp-block-media-text__media video {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: middle;
}

.wp-block-media-text.is-image-fill .wp-block-media-text__media {
  height: 100%;
  min-height: 240px;
  background-size: cover;
}

.wp-block-media-text.is-image-fill .wp-block-media-text__media img {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

@media (max-width: 599.98px) {
  .wp-block-media-text.is-stacked-on-mobile {
    grid-template-columns: 100% !important;
  }

  .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media {
    grid-row: 1;
    grid-column: 1;
  }

  .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
    grid-row: 2;
    grid-column: 1;
    padding: 1.25em;
  }
}

/* == 7. Core blocks: embeds and files == */

.wp-block-embed {
  margin: 0 0 1.8em;
  overflow-wrap: break-word;
}

.wp-block-embed__wrapper {
  position: relative;
}

.wp-block-embed iframe {
  max-width: 100%;
  border: 0;
}

.wp-embed-responsive .wp-has-aspect-ratio .wp-block-embed__wrapper::before {
  content: "";
  display: block;
  padding-top: 50%;
}

.wp-embed-responsive .wp-has-aspect-ratio iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.wp-embed-responsive .wp-embed-aspect-21-9 .wp-block-embed__wrapper::before {
  padding-top: 42.85%;
}

.wp-embed-responsive .wp-embed-aspect-18-9 .wp-block-embed__wrapper::before {
  padding-top: 50%;
}

.wp-embed-responsive .wp-embed-aspect-16-9 .wp-block-embed__wrapper::before {
  padding-top: 56.25%;
}

.wp-embed-responsive .wp-embed-aspect-4-3 .wp-block-embed__wrapper::before {
  padding-top: 75%;
}

.wp-embed-responsive .wp-embed-aspect-1-1 .wp-block-embed__wrapper::before {
  padding-top: 100%;
}

.wp-embed-responsive .wp-embed-aspect-9-16 .wp-block-embed__wrapper::before {
  padding-top: 177.77%;
}

.wp-embed-responsive .wp-embed-aspect-1-2 .wp-block-embed__wrapper::before {
  padding-top: 200%;
}

.wp-block-embed figcaption {
  margin-top: 0.6em;
  color: var(--tnr-color-subtle);
  font-size: 0.8125rem;
  text-align: center;
}

.wp-embedded-content {
  max-width: 100%;
  border: 1px solid var(--tnr-color-border, #cfe0e8);
  border-radius: var(--tnr-radius, 8px);
}

.wp-block-embed.is-type-wp-embed .wp-embedded-content {
  width: 100%;
}

.wp-block-video {
  margin: 0 0 1.8em;
}

.wp-block-video video {
  width: 100%;
  height: auto;
  border-radius: var(--tnr-radius);
  background: #0b3b4e;
}

.wp-block-audio {
  margin: 0 0 1.8em;
}

.wp-block-audio audio {
  width: 100%;
  min-width: 260px;
}

.wp-block-file {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--tnr-space-3, 12px);
  margin: 0 0 1.8em;
  padding: 0.85em 1em;
  border: 1px solid var(--tnr-color-border);
  border-radius: 8px;
  background: var(--tnr-color-surface, #f4f9fb);
  font-size: 0.9375rem;
}

.wp-block-file > a:not(.wp-block-file__button) {
  flex: 1 1 12em;
  min-width: 0;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.wp-block-file .wp-block-file__button {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 1.1em;
  border-radius: var(--tnr-radius, 8px);
  background: var(--tnr-color-primary, #006c9d);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
}

.wp-block-file .wp-block-file__button:hover {
  background: var(--tnr-color-primary-strong, #0b4d64);
  color: #fff;
}

.wp-block-file .wp-block-file__embed {
  flex-basis: 100%;
  min-height: 420px;
  border: 0;
  border-radius: var(--tnr-radius-sm, 4px);
}

/* == 8. Core blocks: search, lists of posts and terms == */

.wp-block-search {
  margin: 0 0 1.6em;
}

.wp-block-search__label {
  display: block;
  margin-bottom: 6px;
  color: var(--tnr-color-heading, #0b3b4e);
  font-size: 0.875rem;
  font-weight: 700;
}

.wp-block-search__inside-wrapper {
  display: flex;
  flex: auto;
  flex-wrap: nowrap;
  max-width: 100%;
}

.wp-block-search__input {
  flex: 1 1 auto;
  min-width: 3em;
  min-height: 48px;
  margin: 0;
  padding: 0 14px;
  border: 1px solid var(--tnr-color-border, #cfe0e8);
  border-radius: var(--tnr-radius);
  background-color: #fff;
  color: var(--tnr-color-text, #1b1f24);
  -webkit-text-fill-color: var(--tnr-color-text, #1b1f24);
  font-size: 16px;
  -webkit-appearance: none;
  appearance: none;
}

.wp-block-search__input:focus {
  border-color: var(--tnr-color-primary, #006c9d);
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 108, 157, 0.4);
}

.wp-block-search__button {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  min-height: 48px;
  margin-inline-start: 8px;
  padding: 0 1em;
  border: 0;
  border-radius: 8px;
  background: var(--tnr-color-primary, #006c9d);
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 700;
  cursor: pointer;
}

.wp-block-search__button:hover {
  background: var(--tnr-color-primary-strong, #0b4d64);
}

.wp-block-search__button svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

.wp-block-search__button-inside .wp-block-search__inside-wrapper {
  padding: 4px;
  border: 1px solid var(--tnr-color-border);
  border-radius: var(--tnr-radius, 8px);
  background: #fff;
}

.wp-block-search__button-inside .wp-block-search__input {
  min-height: 40px;
  border: 0;
}

.wp-block-search__button-inside .wp-block-search__button {
  min-height: 40px;
  margin-inline-start: 4px;
}

.wp-block-search__no-button .wp-block-search__input {
  width: 100%;
}

.wp-block-latest-posts {
  margin: 0 0 1.8em;
  padding: 0;
  list-style: none;
}

.wp-block-latest-posts li {
  margin: 0;
  padding: 0.85em 0;
  border-bottom: 1px solid var(--tnr-color-border, #cfe0e8);
}

.wp-block-latest-posts li:first-child {
  border-top: 1px solid var(--tnr-color-border, #cfe0e8);
}

.wp-block-latest-posts > li > a,
.wp-block-latest-posts__post-title {
  color: var(--tnr-color-heading);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
  text-decoration: none;
}

.wp-block-latest-posts > li > a:hover {
  color: var(--tnr-color-primary, #006c9d);
  text-decoration: underline;
}

.wp-block-latest-posts__post-date,
.wp-block-latest-posts__post-author {
  display: block;
  margin-top: 2px;
  color: var(--tnr-color-subtle, #6e7781);
  font-size: 0.8125rem;
}

.wp-block-latest-posts__post-excerpt {
  margin: 6px 0 0;
  color: var(--tnr-color-muted, #57606a);
  font-size: 0.875rem;
  line-height: 1.75;
}

.wp-block-latest-posts__featured-image img {
  border-radius: var(--tnr-radius-sm, 4px);
}

.wp-block-latest-posts.is-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: var(--tnr-space-4, 16px);
}

.wp-block-latest-posts.is-grid li {
  padding: var(--tnr-space-4, 16px);
  border: 1px solid var(--tnr-color-border, #cfe0e8);
  border-radius: var(--tnr-radius-lg, 12px);
}

.wp-block-categories,
.wp-block-archives,
.wp-block-page-list {
  margin: 0 0 1.6em;
  padding: 0;
  list-style: none;
}

.wp-block-categories li,
.wp-block-archives li,
.wp-block-page-list li {
  margin: 0;
  border-bottom: 1px dotted var(--tnr-color-border, #cfe0e8);
  font-size: 0.9375rem;
}

.wp-block-categories li a,
.wp-block-archives li a,
.wp-block-page-list li a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--tnr-color-text);
  text-decoration: none;
}

.wp-block-categories li a:hover,
.wp-block-archives li a:hover,
.wp-block-page-list li a:hover {
  color: var(--tnr-color-primary, #006c9d);
  text-decoration: underline;
}

.wp-block-categories .children {
  margin: 0;
  padding-inline-start: 1.25em;
  list-style: none;
}

.wp-block-categories .children li:last-child {
  border-bottom: 0;
}

.wp-block-categories-dropdown select,
.wp-block-archives-dropdown select,
.widget_categories select,
.widget_archive select {
  width: 100%;
  min-height: 48px;
  padding: 0 40px 0 12px;
  border: 1px solid var(--tnr-color-border);
  border-radius: var(--tnr-radius);
  background-color: #fff;
  color: var(--tnr-color-text, #1b1f24);
  font-size: 16px;
}

.wp-block-tag-cloud,
.tagcloud {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 1.6em;
}

.wp-block-tag-cloud a,
.tagcloud a,
.tag-cloud-link {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 0.85em;
  border: 1px solid var(--tnr-color-border, #cfe0e8);
  border-radius: 999px;
  background: #fff;
  color: var(--tnr-color-text);
  font-size: 0.8125rem !important;
  line-height: 1.4;
  text-decoration: none;
}

.wp-block-tag-cloud a:hover,
.tagcloud a:hover,
.tag-cloud-link:hover {
  border-color: var(--tnr-color-primary, #006c9d);
  background: var(--tnr-color-primary-soft, #edf4f6);
  color: var(--tnr-color-primary, #006c9d);
}

.wp-block-tag-cloud.is-style-outline a {
  border-width: 2px;
}

.tag-link-count {
  margin-inline-start: 0.3em;
  color: var(--tnr-color-subtle);
}

.wp-block-calendar,
.widget_calendar {
  margin: 0 0 1.6em;
}

.wp-block-calendar table,
.wp-calendar-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

.wp-block-calendar caption,
.wp-calendar-table caption {
  margin-bottom: 6px;
  color: var(--tnr-color-heading, #0b3b4e);
  font-weight: 700;
}

.wp-block-calendar th,
.wp-calendar-table th {
  padding: 6px 0;
  background: var(--tnr-color-surface, #f4f9fb);
  color: var(--tnr-color-muted);
  font-weight: 700;
}

.wp-block-calendar td,
.wp-calendar-table td {
  padding: 6px 0;
  border: 1px solid var(--tnr-color-border-soft, #e2edf2);
}

.wp-calendar-table td a {
  display: block;
  font-weight: 700;
}

.wp-calendar-table #today {
  background: var(--tnr-color-primary-soft, #edf4f6);
  color: var(--tnr-color-primary, #006c9d);
  font-weight: 700;
}

.wp-calendar-nav {
  display: flex;
  justify-content: space-between;
  margin-top: 6px;
  font-size: 0.8125rem;
}

.wp-block-latest-comments {
  margin: 0 0 1.6em;
  padding: 0;
  list-style: none;
}

.wp-block-latest-comments__comment {
  display: flow-root;
  margin: 0;
  padding: 0.75em 0;
  border-bottom: 1px dotted var(--tnr-color-border, #cfe0e8);
  font-size: 0.875rem;
  line-height: 1.7;
}

.wp-block-latest-comments__comment-avatar {
  float: left;
  width: 40px;
  height: 40px;
  margin-right: 12px;
  border-radius: 50%;
}

.wp-block-latest-comments__comment-date {
  display: block;
  color: var(--tnr-color-subtle, #6e7781);
  font-size: 0.75rem;
}

.wp-block-latest-comments__comment-excerpt p {
  margin: 4px 0 0;
}

.wp-block-rss {
  margin: 0 0 1.6em;
  padding: 0;
  list-style: none;
}

.wp-block-rss__item {
  padding: 0.75em 0;
  border-bottom: 1px dotted var(--tnr-color-border, #cfe0e8);
}

.wp-block-rss__item-title a {
  font-weight: 700;
}

.wp-block-rss__item-publish-date,
.wp-block-rss__item-author {
  color: var(--tnr-color-subtle);
  font-size: 0.75rem;
}

.wp-block-rss__item-excerpt {
  margin-top: 4px;
  color: var(--tnr-color-muted, #57606a);
  font-size: 0.875rem;
}

/* == 9. Core blocks: navigation, social links, site and post blocks == */

.wp-block-navigation {
  position: relative;
  font-size: 0.9375rem;
}

.wp-block-navigation .wp-block-navigation__container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25em 1.25em;
  margin: 0;
  padding: 0;
  list-style: none;
}

.wp-block-navigation .wp-block-navigation-item__content {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: inherit;
  text-decoration: none;
}

.wp-block-navigation .wp-block-navigation-item__content:hover {
  text-decoration: underline;
  text-underline-offset: 0.25em;
}

.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation [aria-current] {
  font-weight: 700;
}

.wp-block-navigation .wp-block-navigation__submenu-container {
  min-width: 220px;
  padding: 6px 0;
  border: 1px solid var(--tnr-color-border);
  border-radius: 8px;
  background: #fff;
  color: var(--tnr-color-text, #1b1f24);
  box-shadow: 0 12px 32px rgba(11, 59, 78, 0.12);
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  width: 100%;
  padding: 0 1em;
}

.wp-block-navigation__responsive-container.is-menu-open {
  z-index: 100000;
  padding: 24px 20px;
  background-color: #fff !important;
  color: var(--tnr-color-text, #1b1f24) !important;
}

.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
  min-width: 44px;
  min-height: 44px;
  color: inherit;
}

.wp-block-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 1.6em;
  padding: 0;
  list-style: none;
}

.wp-block-social-links .wp-social-link {
  margin: 0;
  border-radius: 999px;
}

.wp-block-social-links .wp-social-link a,
.wp-block-social-links .wp-block-social-link-anchor {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0.5em;
  border-radius: inherit;
}

.wp-block-social-links .wp-social-link svg {
  width: 22px;
  height: 22px;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link:not([class*="-background-color"]) {
  background-color: var(--tnr-color-primary, #006c9d);
  color: #fff;
}

.wp-block-social-links.is-style-logos-only .wp-social-link {
  background: none;
  color: var(--tnr-color-heading);
}

.wp-block-social-links.is-style-pill-shape .wp-social-link a {
  padding-inline: 1em;
}

.wp-block-social-links .wp-block-social-link-label {
  margin-inline-start: 0.4em;
  font-size: 0.8125rem;
  font-weight: 700;
}

.wp-block-site-title a,
.wp-block-site-logo a {
  color: inherit;
  text-decoration: none;
}

.wp-block-site-logo img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.wp-block-post-title {
  overflow-wrap: break-word;
}

.wp-block-post-title a {
  color: inherit;
  text-decoration: none;
}

.wp-block-post-date,
.wp-block-post-author,
.wp-block-post-terms {
  color: var(--tnr-color-subtle, #6e7781);
  font-size: 0.8125rem;
}

.wp-block-post-terms a {
  color: var(--tnr-color-label, #b04a00);
  font-weight: 700;
  text-decoration: none;
}

.wp-block-post-terms__separator {
  margin: 0 0.3em;
}

.wp-block-post-excerpt__excerpt {
  margin: 0 0 0.6em;
  color: var(--tnr-color-muted);
  font-size: 0.9375rem;
}

.wp-block-post-excerpt__more-link,
.wp-block-read-more {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-weight: 700;
}

.wp-block-post-featured-image img {
  width: 100%;
  height: auto;
  border-radius: var(--tnr-radius, 8px);
}

.wp-block-query-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 2.5em 0;
}

.wp-block-query-pagination-numbers {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
}

.wp-block-query-pagination .page-numbers,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0 0.8em;
  border: 1px solid var(--tnr-color-border, #cfe0e8);
  border-radius: var(--tnr-radius);
  color: var(--tnr-color-heading, #0b3b4e);
  font-weight: 700;
  text-decoration: none;
}

.wp-block-query-pagination .page-numbers.current {
  border-color: var(--tnr-color-primary, #006c9d);
  background: var(--tnr-color-primary, #006c9d);
  color: #fff;
}

.wp-block-query-pagination .page-numbers.dots {
  border-color: transparent;
}

.wp-block-query-no-results {
  padding: 1.5em;
  border: 1px dashed var(--tnr-color-border, #cfe0e8);
  border-radius: 8px;
  text-align: center;
}

.wp-block-loginout a {
  font-weight: 700;
}

.wp-block-avatar img {
  border-radius: 50%;
}

/* == 10. Legacy widgets == */

.widget {
  margin: 0 0 var(--tnr-space-5, 20px);
  padding: var(--tnr-space-4, 16px) var(--tnr-space-5, 20px);
  border: 1px solid var(--tnr-color-border);
  border-radius: var(--tnr-radius-lg, 12px);
  background: #fff;
  color: var(--tnr-color-text);
  font-size: 0.9375rem;
}

.widget:last-child {
  margin-bottom: 0;
}

.widget-title,
.widgettitle,
.widget .wp-block-heading {
  margin: 0 0 var(--tnr-space-3, 12px);
  padding-bottom: var(--tnr-space-2, 8px);
  border-bottom: 2px solid var(--tnr-color-heading, #0b3b4e);
  color: var(--tnr-color-heading);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}

.widget ul,
.widget ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.widget li {
  margin: 0;
  border-bottom: 1px dotted var(--tnr-color-border, #cfe0e8);
}

.widget li:last-child {
  border-bottom: 0;
}

.widget li a {
  display: inline-block;
  padding: 0.55em 0;
  color: var(--tnr-color-text, #1b1f24);
  line-height: 1.6;
  text-decoration: none;
}

.widget li a:hover {
  color: var(--tnr-color-primary, #006c9d);
  text-decoration: underline;
}

.widget .children,
.widget .sub-menu {
  padding-inline-start: 1em;
  border-top: 1px dotted var(--tnr-color-border, #cfe0e8);
}

.widget_recent_entries .post-date,
.widget_rss .rss-date {
  display: block;
  margin-top: -0.35em;
  padding-bottom: 0.5em;
  color: var(--tnr-color-subtle);
  font-size: 0.75rem;
}

.widget_rss .rss-widget-icon {
  display: none;
}

.widget_rss .rssSummary {
  margin-bottom: 0.6em;
  color: var(--tnr-color-muted, #57606a);
  font-size: 0.8125rem;
}

.widget_rss cite {
  display: block;
  color: var(--tnr-color-subtle, #6e7781);
  font-size: 0.75rem;
  font-style: normal;
}

.widget_recent_comments .recentcomments {
  padding: 0.55em 0;
  font-size: 0.8125rem;
  line-height: 1.6;
}

.widget_nav_menu .current-menu-item > a,
.widget_pages .current_page_item > a {
  color: var(--tnr-color-primary, #006c9d);
  font-weight: 700;
}

.widget_text .textwidget > :last-child,
.widget_custom_html .custom-html-widget > :last-child {
  margin-bottom: 0;
}

.textwidget p {
  font-size: 0.9375rem;
  line-height: 1.8;
}

.widget_media_image img,
.widget_media_gallery img {
  border-radius: var(--tnr-radius-sm, 4px);
}

.widget_search .search-form {
  display: flex;
  gap: 6px;
}

.widget_search .search-field {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 48px;
  padding: 0 12px;
  border: 1px solid var(--tnr-color-border, #cfe0e8);
  border-radius: var(--tnr-radius, 8px);
  background-color: #fff;
  color: var(--tnr-color-text);
  font-size: 16px;
}

.widget_search .search-submit {
  min-height: 48px;
  padding: 0 1em;
  border: 0;
  border-radius: var(--tnr-radius);
  background: var(--tnr-color-primary, #006c9d);
  color: #fff;
  font-weight: 700;
}

.widget_block > :last-child {
  margin-bottom: 0;
}

/* == 11. Yoast SEO == */

#breadcrumbs,
.yoast-breadcrumbs {
  margin: 0;
  padding: 12px 0;
  overflow-x: auto;
  color: var(--tnr-color-subtle);
  font-size: 0.8125rem;
  line-height: 1.5;
  white-space: nowrap;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

#breadcrumbs::-webkit-scrollbar,
.yoast-breadcrumbs::-webkit-scrollbar {
  display: none;
}

#breadcrumbs a,
.yoast-breadcrumbs a {
  display: inline-block;
  padding-block: 6px;
  color: var(--tnr-color-muted);
  text-decoration: none;
}

#breadcrumbs a:hover,
.yoast-breadcrumbs a:hover {
  color: var(--tnr-color-primary, #006c9d);
  text-decoration: underline;
}

#breadcrumbs .breadcrumb_last,
.yoast-breadcrumbs .breadcrumb_last {
  color: var(--tnr-color-text, #1b1f24);
}

.tnr-breadcrumbs--yoast #breadcrumbs,
.tnr-breadcrumbs--yoast .yoast-breadcrumbs {
  padding: 0;
}

.schema-faq {
  margin: 2em 0;
}

.schema-faq-section {
  margin: 0 0 10px;
  padding: 14px 16px;
  border: 1px solid var(--tnr-color-border);
  border-radius: 8px;
  background: #fff;
}

.schema-faq-question {
  position: relative;
  display: block;
  padding-inline-start: 40px;
  color: var(--tnr-color-heading, #0b3b4e);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
}

.schema-faq-answer {
  position: relative;
  margin: 10px 0 0;
  padding-inline-start: 40px;
  color: var(--tnr-color-text);
  font-size: 0.9375rem;
  line-height: 1.85;
}

.schema-faq-question::before,
.schema-faq-answer::before {
  position: absolute;
  top: 0;
  inset-inline-start: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
}

.schema-faq-question::before {
  content: "Q";
  background: var(--tnr-color-primary, #006c9d);
}

.schema-faq-answer::before {
  content: "A";
  background: var(--tnr-color-accent, #c25000);
}

.schema-how-to {
  margin: 2em 0;
}

.schema-how-to-total-time,
.schema-how-to-estimated-cost {
  display: block;
  margin-bottom: 6px;
  color: var(--tnr-color-muted, #57606a);
  font-size: 0.8125rem;
}

.schema-how-to-description {
  margin-bottom: 1em;
}

.schema-how-to-steps {
  margin: 0;
  padding: 0;
  counter-reset: tnr-yoast-step;
  list-style: none;
}

.schema-how-to-step {
  position: relative;
  min-height: 40px;
  margin: 0 0 20px;
  padding-inline-start: 56px;
  counter-increment: tnr-yoast-step;
}

.schema-how-to-step::before {
  content: counter(tnr-yoast-step);
  position: absolute;
  top: 0;
  inset-inline-start: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--tnr-color-primary, #006c9d);
  color: #fff;
  font-weight: 700;
}

.schema-how-to-step-name {
  display: block;
  margin-bottom: 4px;
  color: var(--tnr-color-heading);
  font-weight: 700;
  line-height: 1.6;
}

.schema-how-to-step-text {
  font-size: 0.9375rem;
  line-height: 1.8;
}

.yoast-table-of-contents {
  margin: 2em 0;
  padding: 16px 20px;
  border: 1px solid var(--tnr-color-border, #cfe0e8);
  border-radius: var(--tnr-radius-lg, 12px);
  background: var(--tnr-color-surface, #f4f9fb);
}

.yoast-table-of-contents h2 {
  margin: 0 0 8px;
  padding: 0;
  border: 0;
  font-size: 1rem;
}

.yoast-table-of-contents h2::after {
  content: none;
}

.yoast-table-of-contents ul {
  margin: 0;
  padding-inline-start: 1.2em;
  font-size: 0.9375rem;
}

.yoast-reading-time__wrapper {
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--tnr-color-muted);
  font-size: 0.8125rem;
}

.yoast-reading-time__icon svg {
  width: 1em;
  height: 1em;
}

/* == 12. Elementor == */

.elementor-page .tnr-main,
.page-template-elementor_header_footer .tnr-main,
.elementor-template-full-width .tnr-main {
  padding: 0;
}

.tnr-is-elementor .tnr-layout:has(.tnr-elementor-page) {
  display: block;
  padding: 0;
}

.tnr-is-elementor .tnr-layout__main:has(> .tnr-elementor-page),
.tnr-is-elementor .tnr-container:has(> .tnr-layout .tnr-elementor-page) {
  width: 100%;
  max-width: none;
  padding-inline: 0;
}

.elementor-location-header,
.elementor-location-footer {
  width: 100%;
}

.elementor-widget-text-editor > :last-child,
.elementor-widget-text-editor > .elementor-widget-container > :last-child,
.elementor-widget-html > :last-child,
.elementor-widget-html > .elementor-widget-container > :last-child {
  margin-bottom: 0;
}

.elementor-widget-text-editor .tnr-prose,
.elementor-widget-html .tnr-prose,
.elementor-widget-html .tnr-article {
  color: var(--tnr-color-text, #1b1f24);
}

.elementor-widget-html .tnr-prose,
.elementor-widget-text-editor .tnr-prose {
  max-width: var(--tnr-article, 720px);
}

:where(.elementor-form) :where(.elementor-field-textual, select, textarea) {
  background-color: #fff;
  color: var(--tnr-color-text);
  -webkit-text-fill-color: currentColor;
}

.elementor-field-group .elementor-field-textual {
  min-height: 48px;
  font-size: 16px;
}

.elementor-shortcode .wpcf7,
.elementor-widget-shortcode .wpcf7,
.elementor-widget-text-editor .wpcf7,
.elementor-widget-html .wpcf7 {
  width: 100%;
  max-width: 100%;
  text-align: start;
}

.elementor-shortcode .wpcf7 :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], select, textarea),
.elementor-widget-text-editor .wpcf7 :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], select, textarea),
.elementor-widget-html .wpcf7 :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], select, textarea) {
  width: 100%;
  border-color: var(--tnr-color-border, #cfe0e8);
  background-color: #fff !important;
  color: var(--tnr-color-text, #1b1f24) !important;
  -webkit-text-fill-color: var(--tnr-color-text, #1b1f24) !important;
  font-size: 16px;
}

.elementor-shortcode .wpcf7 .wpcf7-submit,
.elementor-widget-text-editor .wpcf7 .wpcf7-submit,
.elementor-widget-html .wpcf7 .wpcf7-submit {
  background-color: var(--tnr-color-accent, #c25000) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

.tnr-contact .wpcf7 label,
.elementor-widget-shortcode .tnr-contact .wpcf7 label {
  color: var(--tnr-color-heading, #0b3b4e);
}

.elementor-widget-shortcode .tnr-contact,
.elementor-widget-html .tnr-contact {
  margin-block: 0;
}

.elementor-popup-modal {
  z-index: 9999;
}

.elementor-popup-modal .dialog-widget-content {
  max-height: calc(100vh - 32px);
  overflow-y: auto;
}

.dialog-prevent-scroll .tnr-floating-cta,
.dialog-prevent-scroll .tnr-backtotop {
  visibility: hidden;
}

.elementor-lightbox {
  z-index: 99999;
}

.elementor-sticky--active {
  z-index: 99;
}

.tnr-header-sticky .elementor-location-header .elementor-sticky--active {
  z-index: calc(var(--tnr-z-header, 100) + 1);
}

.elementor-location-header .elementor-sticky__spacer {
  visibility: hidden;
}

.elementor-invisible {
  visibility: hidden;
}

html.no-js .elementor-invisible {
  visibility: visible;
}

.elementor-button {
  min-height: 44px;
}

.elementor-button-link .elementor-button-text {
  overflow-wrap: anywhere;
}

.elementor-widget-image img {
  height: auto;
}

.elementor-widget-video .elementor-wrapper {
  border-radius: var(--tnr-radius, 8px);
}

.elementor-toc__list-item-text {
  overflow-wrap: anywhere;
}

.elementor-nav-menu--dropdown .elementor-item {
  min-height: 44px;
}

.elementor-menu-toggle {
  min-width: 44px;
  min-height: 44px;
}

.elementor-accordion .elementor-tab-title,
.elementor-toggle .elementor-tab-title,
.e-n-accordion-item-title {
  min-height: 48px;
}

.elementor-editor-active .tnr-hp,
.elementor-editor-preview .tnr-hp {
  position: absolute !important;
}

.elementor-edit-area-active .tnr-elementor-page {
  min-height: 120px;
}

/* == 13. Contact Form 7 safety and spam widgets == */

.wpcf7-form .wpcf7-form-control-wrap {
  max-width: 100%;
}

.wpcf7 .wpcf7-quiz-label {
  display: block;
  margin-bottom: 4px;
  font-size: 0.875rem;
}

.wpcf7 .wpcf7-date {
  min-width: 10em;
}

.wpcf7 .wpcf7-turnstile,
.wpcf7 .cf7-turnstile,
.wpcf7 .wpcf7-recaptcha {
  max-width: 100%;
  margin: 8px 0 12px;
  overflow: hidden;
}

.wpcf7 .wpcf7-turnstile iframe,
.wpcf7 .cf7-turnstile iframe {
  max-width: 100%;
}

.tnr-has-floating .grecaptcha-badge {
  bottom: calc(var(--tnr-floating-h, 72px) + 14px + env(safe-area-inset-bottom)) !important;
}

.wpcf7 :is(input, textarea, select),
.tnr-allow-copy,
.tnr-allow-copy * {
  -webkit-user-select: text !important;
  user-select: text !important;
}

.widget .wpcf7 :is(input[type="text"], input[type="email"], input[type="tel"], textarea),
.tnr-sidebar .wpcf7 :is(input[type="text"], input[type="email"], input[type="tel"], textarea) {
  padding: 10px 12px;
}

.widget .wpcf7 .wpcf7-submit,
.tnr-sidebar .wpcf7 .wpcf7-submit {
  width: 100%;
  min-width: 0;
}

.wpcf7-form.submitting .wpcf7-submit {
  opacity: 0.7;
}

.wpcf7 .wpcf7-response-output a {
  color: inherit;
  font-weight: 700;
}

/* == 14. Comments (core markup) and Akismet == */

.comments-area,
.comment-respond {
  margin: var(--tnr-space-10, 40px) 0;
}

.comment-reply-title,
.comments-title {
  margin: 0 0 var(--tnr-space-4, 16px);
  color: var(--tnr-color-heading);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
}

.comment-reply-title small {
  margin-inline-start: 0.75em;
  font-size: 0.8125rem;
  font-weight: 400;
}

.comment-list,
.comment-list .children {
  margin: 0;
  padding: 0;
  list-style: none;
}

.comment-list .children {
  margin-top: var(--tnr-space-3, 12px);
  padding-inline-start: var(--tnr-space-4, 16px);
  border-inline-start: 2px solid var(--tnr-color-border-soft, #e2edf2);
}

.comment-list > li,
.comment-list .children > li {
  margin: 0 0 var(--tnr-space-3, 12px);
}

.comment-body {
  padding: var(--tnr-space-4, 16px);
  border: 1px solid var(--tnr-color-border);
  border-radius: var(--tnr-radius-lg, 12px);
  background: #fff;
}

.comment-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
  margin-bottom: 8px;
}

.comment-author {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--tnr-color-heading, #0b3b4e);
  font-weight: 700;
}

.comment-author .avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

.comment-author .says {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}

.comment-metadata,
.comment-metadata a {
  color: var(--tnr-color-subtle, #6e7781);
  font-size: 0.8125rem;
  text-decoration: none;
}

.comment-content {
  font-size: 0.9375rem;
  line-height: 1.85;
}

.comment-content > :last-child {
  margin-bottom: 0;
}

.comment-awaiting-moderation {
  display: block;
  margin: 6px 0;
  color: var(--tnr-color-warning-text, #7a5200);
  font-size: 0.8125rem;
}

.comment-body .reply {
  margin-top: 8px;
  font-size: 0.8125rem;
}

.pingback .comment-body,
.trackback .comment-body {
  padding-block: 10px;
  font-size: 0.875rem;
}

.no-comments {
  padding: var(--tnr-space-4, 16px);
  border-radius: var(--tnr-radius);
  background: var(--tnr-color-surface, #f4f9fb);
  color: var(--tnr-color-muted, #57606a);
}

.comment-form {
  display: grid;
  gap: var(--tnr-space-4, 16px);
}

.comment-form > p {
  margin: 0;
}

.comment-form label {
  display: block;
  margin-bottom: 6px;
  color: var(--tnr-color-heading);
  font-size: 0.9375rem;
  font-weight: 700;
}

.comment-form :is(input[type="text"], input[type="email"], input[type="url"], textarea) {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--tnr-color-border, #cfe0e8);
  border-radius: 8px;
  background-color: #fff;
  color: var(--tnr-color-text, #1b1f24);
  -webkit-text-fill-color: var(--tnr-color-text, #1b1f24);
  font-size: 16px;
}

.comment-form textarea {
  min-height: 160px;
  resize: vertical;
}

.comment-form :is(input, textarea):focus {
  border-color: var(--tnr-color-primary, #006c9d);
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 108, 157, 0.4);
}

.comment-form .comment-form-cookies-consent {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.comment-form .comment-form-cookies-consent label {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 400;
}

.comment-form input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin-top: 2px;
  accent-color: var(--tnr-color-primary, #006c9d);
}

.comment-notes,
.logged-in-as {
  margin: 0;
  color: var(--tnr-color-muted);
  font-size: 0.8125rem;
}

.comment-form .required {
  color: var(--tnr-color-label, #b04a00);
}

.form-submit .submit,
.comment-form input[type="submit"] {
  min-height: 48px;
  padding: 0 1.5em;
  border: 0;
  border-radius: var(--tnr-radius, 8px);
  background: var(--tnr-color-primary, #006c9d);
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
}

.form-submit .submit:hover,
.comment-form input[type="submit"]:hover {
  background: var(--tnr-color-primary-strong, #0b4d64);
}

.akismet_comment_form_privacy_notice {
  margin: 8px 0 0;
  color: var(--tnr-color-muted, #57606a);
  font-size: 0.75rem;
  line-height: 1.6;
}

.akismet_comment_form_privacy_notice a {
  color: inherit;
}

.comment-navigation,
.comments-pagination {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: var(--tnr-space-5, 20px) 0;
  font-size: 0.875rem;
}

/* == 15. Core navigation markup, search form, page links == */

.navigation.post-navigation,
.navigation.posts-navigation {
  margin: var(--tnr-space-10, 40px) 0;
}

.post-navigation .nav-links,
.posts-navigation .nav-links {
  display: grid;
  gap: 12px;
}

@media (min-width: 768px) {
  .post-navigation .nav-links,
  .posts-navigation .nav-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.post-navigation .nav-previous a,
.post-navigation .nav-next a,
.posts-navigation .nav-previous a,
.posts-navigation .nav-next a {
  display: block;
  padding: 12px 16px;
  border: 1px solid var(--tnr-color-border);
  border-radius: var(--tnr-radius);
  color: var(--tnr-color-heading, #0b3b4e);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.6;
  text-decoration: none;
}

.post-navigation .nav-next,
.posts-navigation .nav-next {
  text-align: end;
}

.post-navigation .nav-subtitle,
.post-navigation .meta-nav {
  display: block;
  color: var(--tnr-color-subtle);
  font-size: 0.75rem;
  font-weight: 400;
}

.navigation.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
}

.navigation.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0 0.8em;
  border: 1px solid var(--tnr-color-border, #cfe0e8);
  border-radius: 8px;
  color: var(--tnr-color-heading);
  font-weight: 700;
  text-decoration: none;
}

.navigation.pagination .page-numbers.current {
  border-color: var(--tnr-color-primary, #006c9d);
  background: var(--tnr-color-primary, #006c9d);
  color: #fff;
}

.navigation.pagination .page-numbers.dots {
  border-color: transparent;
}

.page-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 2em 0;
  font-size: 0.875rem;
}

.page-links .post-page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  border: 1px solid var(--tnr-color-border);
  border-radius: var(--tnr-radius, 8px);
  font-weight: 700;
  text-decoration: none;
}

.page-links .post-page-numbers.current {
  border-color: var(--tnr-color-primary, #006c9d);
  background: var(--tnr-color-primary, #006c9d);
  color: #fff;
}

.search-form {
  display: flex;
  align-items: stretch;
  gap: 6px;
  max-width: 640px;
}

.search-form label {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
}

.search-form .search-field {
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid var(--tnr-color-border, #cfe0e8);
  border-radius: var(--tnr-radius);
  background-color: #fff;
  color: var(--tnr-color-text);
  -webkit-text-fill-color: var(--tnr-color-text, #1b1f24);
  font-size: 16px;
}

.search-form .search-submit {
  flex: none;
  min-height: 48px;
  padding: 0 1.1em;
  border: 0;
  border-radius: 8px;
  background: var(--tnr-color-primary, #006c9d);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.post-password-form {
  max-width: 520px;
  margin: 2em auto;
  padding: 24px;
  border: 1px solid var(--tnr-color-border);
  border-radius: var(--tnr-radius-lg, 12px);
  background: var(--tnr-color-surface, #f4f9fb);
}

.post-password-form p {
  margin: 0 0 12px;
  font-size: 0.9375rem;
}

.post-password-form p:last-child {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 8px;
  margin: 0;
}

.post-password-form label {
  display: flex;
  flex: 1 1 14em;
  flex-direction: column;
  gap: 6px;
  color: var(--tnr-color-heading, #0b3b4e);
  font-weight: 700;
}

.post-password-form input[type="password"] {
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid var(--tnr-color-border, #cfe0e8);
  border-radius: var(--tnr-radius, 8px);
  background-color: #fff;
  color: var(--tnr-color-text, #1b1f24);
  -webkit-text-fill-color: var(--tnr-color-text, #1b1f24);
  font-size: 16px;
}

.post-password-form input[type="submit"] {
  min-height: 48px;
  padding: 0 1.25em;
  border: 0;
  border-radius: var(--tnr-radius);
  background: var(--tnr-color-primary, #006c9d);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.edit-link,
.post-edit-link {
  display: inline-flex;
  align-items: center;
  margin-top: 1em;
  font-size: 0.8125rem;
}

.post-edit-link {
  min-height: 36px;
  padding: 0 0.85em;
  border: 1px dashed var(--tnr-color-subtle, #6e7781);
  border-radius: 999px;
  color: var(--tnr-color-muted);
  text-decoration: none;
}

.more-link,
.read-more {
  display: inline-flex;
  align-items: center;
  gap: 0.3em;
  min-height: 44px;
  font-weight: 700;
}

.custom-logo-link {
  display: inline-flex;
  align-items: center;
}

.custom-logo {
  width: auto;
  max-width: 100%;
  height: var(--tnr-logo-h, 36px);
  object-fit: contain;
}

/* == 16. Admin bar offset for sticky headers == */

body.admin-bar.tnr-header-sticky .tnr-header,
body.admin-bar .tnr-header.is-sticky,
body.admin-bar .tnr-dheader.is-sticky {
  top: var(--wp-admin--admin-bar--height, 32px);
}

@media screen and (max-width: 782px) {
  body.admin-bar.tnr-header-sticky .tnr-header,
  body.admin-bar .tnr-header.is-sticky,
  body.admin-bar .tnr-dheader.is-sticky {
    top: var(--wp-admin--admin-bar--height, 46px);
  }
}

@media screen and (max-width: 600px) {
  body.admin-bar.tnr-header-sticky .tnr-header,
  body.admin-bar .tnr-header.is-sticky,
  body.admin-bar .tnr-dheader.is-sticky {
    top: 0;
  }

  .admin-bar .tnr-progress {
    top: 0;
  }
}

body.admin-bar .elementor-popup-modal .dialog-close-button {
  top: calc(var(--wp-admin--admin-bar--height, 32px) + 12px);
}

/* == 17. Embeds, emoji and lazy media == */

.tnr-prose iframe[src*="youtube.com"],
.tnr-prose iframe[src*="youtube-nocookie.com"],
.tnr-prose iframe[src*="player.vimeo.com"],
.entry-content iframe[src*="youtube.com"],
.entry-content iframe[src*="player.vimeo.com"] {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}

.tnr-prose iframe[src*="google.com/maps"],
.entry-content iframe[src*="google.com/maps"] {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  border-radius: 8px;
}

.tnr-prose video,
.entry-content video {
  max-width: 100%;
  height: auto;
}

blockquote.wp-embedded-content {
  padding: 1em 1.25em;
  border-inline-start: 4px solid var(--tnr-color-border, #cfe0e8);
  background: var(--tnr-color-surface, #f4f9fb);
}

.twitter-tweet,
.instagram-media,
.tiktok-embed {
  max-width: 100% !important;
  margin-inline: auto !important;
}

img.emoji,
img.wp-smiley {
  display: inline !important;
  width: 1em !important;
  height: 1em !important;
  margin: 0 0.07em !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  vertical-align: -0.1em !important;
}

iframe[loading="lazy"] {
  background-color: var(--tnr-color-surface, #f4f9fb);
}

iframe[loading="lazy"]:not([height]) {
  aspect-ratio: 16 / 9;
  height: auto;
}

.wp-video-shortcode,
.wp-audio-shortcode {
  max-width: 100%;
}

/* == 18. Comment reply links == */

.comment-reply-link {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 0.85em;
  border: 1px solid var(--tnr-color-border, #cfe0e8);
  border-radius: 999px;
  color: var(--tnr-color-primary, #006c9d);
  font-size: 0.8125rem;
  font-weight: 700;
  text-decoration: none;
}

.comment-reply-link:hover {
  border-color: var(--tnr-color-primary, #006c9d);
  background: var(--tnr-color-primary-soft, #edf4f6);
}

#cancel-comment-reply-link {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  color: var(--tnr-color-danger, #cf222e);
  font-size: 0.8125rem;
}

.comment-respond .comment-reply-title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 12px;
}

html.tnr-touch .comment-reply-link,
html.tnr-touch #cancel-comment-reply-link {
  min-height: 44px;
}

/* == 19. Elementor Pro widgets == */

.elementor-posts .elementor-post__title a {
  color: var(--tnr-color-heading, #0b3b4e);
  text-decoration: none;
}

.elementor-posts .elementor-post__title a:hover {
  color: var(--tnr-color-primary, #006c9d);
  text-decoration: underline;
}

.elementor-posts .elementor-post__meta-data {
  color: var(--tnr-color-subtle, #6e7781);
  font-size: 0.8125rem;
}

.elementor-posts .elementor-post__excerpt p {
  color: var(--tnr-color-muted, #57606a);
  font-size: 0.875rem;
  line-height: 1.75;
}

.elementor-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
}

:where(.elementor-search-form__input) {
  background-color: #fff;
  color: var(--tnr-color-text, #1b1f24);
  -webkit-text-fill-color: currentColor;
  font-size: 16px;
}

.elementor-search-form__submit {
  min-width: 44px;
  min-height: 44px;
}

.elementor-share-btn {
  min-height: 44px;
}

.elementor-icon-list-item > a {
  min-height: 32px;
}

.elementor-widget-table-of-contents .elementor-toc__header {
  min-height: 48px;
}

.elementor-form .elementor-field-type-acceptance .elementor-field-option {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
}

.elementor-form .elementor-message {
  padding: 10px 14px;
  border-radius: 8px;
  color: var(--tnr-color-text, #1b1f24);
  font-size: 0.9375rem;
}

.elementor-form .elementor-message-success {
  background: var(--tnr-color-success-bg, #e8f5ec);
  color: #0f5323;
}

.elementor-form .elementor-message-danger {
  background: var(--tnr-color-danger-bg, #fdecee);
  color: var(--tnr-color-danger-text, #a40e26);
}

.elementor-field-group .elementor-field-label {
  color: inherit;
  font-weight: 700;
}

/* == 20. Theme widgets inside WordPress widget areas == */

.tnr-widget.widget {
  margin: 0;
  padding: var(--tnr-space-4, 16px) var(--tnr-space-5, 20px);
}

.tnr-sidebar .widget + .widget {
  margin-top: 0;
}

.tnr-sidebar .widget_block .wp-block-heading {
  font-size: 1rem;
}

.tnr-sidebar .wp-block-latest-posts li {
  padding: 0.6em 0;
}

.tnr-sidebar .wp-block-latest-posts > li > a {
  font-size: 0.875rem;
}

.tnr-sidebar .wp-block-search__button {
  padding: 0 0.85em;
}

.tnr-footer .widget,
.tnr-dfooter .widget {
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
}

.tnr-footer .widget-title,
.tnr-dfooter .widget-title {
  border-bottom-color: currentColor;
  color: inherit;
}

.tnr-footer .widget li,
.tnr-dfooter .widget li {
  border-bottom-color: rgba(255, 255, 255, 0.18);
}

.tnr-footer .widget li a,
.tnr-dfooter .widget li a {
  color: inherit;
}

/* == 21. Block content inside the article column == */

.tnr-prose > .wp-block-group,
.tnr-prose > .wp-block-columns,
.tnr-prose > .wp-block-media-text,
.tnr-prose > .wp-block-cover,
.tnr-prose > .wp-block-buttons,
.tnr-prose > .wp-block-table,
.tnr-prose > .wp-block-image,
.tnr-prose > .wp-block-embed {
  margin-block: 2em;
}

.tnr-prose .wp-block-group > :first-child,
.tnr-prose .wp-block-column > :first-child,
.tnr-prose .wp-block-media-text__content > :first-child {
  margin-top: 0;
}

.tnr-prose .wp-block-group.has-background h2,
.tnr-prose .wp-block-cover h2,
.tnr-prose .wp-block-media-text h2 {
  margin-top: 0.4em;
}

.tnr-prose .wp-block-cover h2::after {
  background: currentColor;
}

.tnr-prose .wp-block-cover h2 {
  border-bottom-color: currentColor;
}

.tnr-prose .wp-block-table > table,
.tnr-prose .wp-block-table table {
  margin: 0;
}

.tnr-prose .wp-block-pullquote p {
  margin: 0;
}

.tnr-prose .wp-block-buttons .wp-block-button__link {
  text-decoration: none;
}

.tnr-prose .wp-block-buttons .wp-block-button__link:visited {
  color: #fff;
}

.tnr-prose .wp-block-button.is-style-outline .wp-block-button__link:visited {
  color: var(--tnr-color-primary, #006c9d);
}

.tnr-prose .wp-block-latest-posts,
.tnr-prose .wp-block-categories,
.tnr-prose .wp-block-archives {
  padding-inline-start: 0;
}

.tnr-prose .wp-block-latest-posts > li::marker,
.tnr-prose .wp-block-categories li::marker,
.tnr-prose .wp-block-archives li::marker {
  content: none;
}

.tnr-prose .wp-block-file a:not(.wp-block-file__button) {
  overflow-wrap: anywhere;
}

/* == 22. Japanese typography enhancements == */

@supports (word-break: auto-phrase) {
  :lang(ja) .tnr-article__title,
  :lang(ja) .tnr-prose h2,
  :lang(ja) .tnr-prose h3,
  :lang(ja) .wp-block-heading,
  :lang(ja) .tnr-cta__title,
  :lang(ja) .tnr-contact__heading,
  :lang(ja) .tnr-index-hero__title,
  :lang(ja) .tnr-index-section__title,
  :lang(ja) .tnr-card__title {
    word-break: auto-phrase;
  }
}

@supports (text-wrap: balance) {
  .tnr-article__title,
  .tnr-index-hero__title,
  .tnr-index-section__title,
  .tnr-cta__title,
  .wp-block-heading {
    text-wrap: balance;
  }
}

@supports (text-wrap: pretty) {
  .tnr-article__lead,
  .tnr-answer-box__summary,
  .tnr-index-hero__lead {
    text-wrap: pretty;
  }
}

/* == 23. Copy protection plugin compatibility == */

#wpcp-error-message {
  z-index: var(--tnr-z-toast, 1100);
  font-family: inherit;
}

body.unselectable .wpcf7,
body.unselectable .tnr-allow-copy,
body.unselectable input,
body.unselectable textarea {
  -webkit-user-select: text !important;
  user-select: text !important;
}

/* == 24. Motion and forced colors (plugins and core blocks) == */

@media (prefers-reduced-motion: reduce) {
  .wp-block-cover.has-parallax,
  .wp-block-cover-image.has-parallax {
    background-attachment: scroll;
  }

  .elementor-motion-effects-element,
  .elementor-motion-effects-layer {
    transform: none !important;
    transition: none !important;
  }

  .elementor-element.animated,
  .elementor-invisible {
    visibility: visible !important;
    animation: none !important;
  }

  .wp-block-details > summary::after,
  .wp-block-button__link {
    transition: none;
  }
}

@media (forced-colors: active) {
  .wp-block-button__link,
  .wp-element-button,
  .wp-block-search__button,
  .wp-block-file__button,
  .comment-reply-link,
  .form-submit .submit,
  .post-password-form input[type="submit"] {
    border: 1px solid ButtonText;
  }

  .wp-block-separator {
    border-top-color: CanvasText;
  }

  .wp-block-cover__background {
    forced-color-adjust: none;
  }

  .schema-faq-question::before,
  .schema-faq-answer::before,
  .schema-how-to-step::before {
    border: 1px solid CanvasText;
  }
}

/* == 25. Focus visibility and touch targets for core and plugin markup == */

.wp-block-navigation-item__content:focus-visible,
.wp-block-social-links .wp-social-link a:focus-visible,
.wp-block-file__button:focus-visible,
.wp-block-search__button:focus-visible,
.wp-block-search__input:focus-visible,
.tag-cloud-link:focus-visible,
.comment-reply-link:focus-visible,
.post-page-numbers:focus-visible,
.navigation.pagination .page-numbers:focus-visible,
.wp-block-query-pagination a:focus-visible,
#breadcrumbs a:focus-visible,
.yoast-breadcrumbs a:focus-visible,
.elementor-button:focus-visible,
.elementor-item:focus-visible {
  outline: 3px solid rgba(0, 108, 157, 0.4);
  outline-offset: 2px;
}

html.tnr-touch .widget li a,
html.tnr-touch .wp-block-categories li a,
html.tnr-touch .wp-block-archives li a,
html.tnr-touch .wp-block-page-list li a {
  display: flex;
  align-items: center;
  min-height: 44px;
}

html.tnr-touch .tag-cloud-link,
html.tnr-touch .wp-block-tag-cloud a {
  min-height: 44px;
}

.skip-link.screen-reader-text:focus {
  position: fixed !important;
  top: 8px;
  left: 8px;
  z-index: 100000;
}

/* == 26. Captions, galleries and term descriptions == */

@media (min-width: 768px) {
  .wp-caption.alignleft,
  .wp-caption.alignright,
  .wp-block-image .alignleft,
  .wp-block-image .alignright {
    max-width: 50%;
  }
}

figure.alignleft figcaption,
figure.alignright figcaption,
.wp-block-image .alignleft figcaption,
.wp-block-image .alignright figcaption {
  text-align: start;
}

.wp-block-pullquote.has-text-align-left {
  text-align: start;
}

.wp-block-pullquote.has-text-align-right {
  text-align: end;
}

.wp-block-table.is-style-regular thead {
  border-bottom-width: 1px;
}

.wp-block-categories-dropdown label,
.wp-block-archives-dropdown label {
  display: block;
  margin-bottom: 6px;
  color: var(--tnr-color-heading, #0b3b4e);
  font-size: 0.875rem;
  font-weight: 700;
}

.wp-block-term-description {
  margin: 0 0 1.5em;
  color: var(--tnr-color-muted, #57606a);
  font-size: 0.9375rem;
  line-height: 1.85;
}

.wp-block-term-description > :last-child {
  margin-bottom: 0;
}

.wp-block-post-navigation-link {
  font-size: 0.9375rem;
  font-weight: 700;
}

.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-previous,
.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-next {
  display: inline-block;
  margin-inline: 0.3em;
}

.wp-block-comments-title,
.wp-block-post-comments-form .comment-reply-title {
  color: var(--tnr-color-heading, #0b3b4e);
  font-size: 1.25rem;
  font-weight: 700;
}

.wp-block-comment-template {
  margin: 0;
  padding: 0;
  list-style: none;
}

.wp-block-comment-template li {
  margin-bottom: var(--tnr-space-4, 16px);
}

.wp-block-comment-author-name,
.wp-block-comment-author-name a {
  color: var(--tnr-color-heading, #0b3b4e);
  font-weight: 700;
  text-decoration: none;
}

.wp-block-comment-date,
.wp-block-comment-date a {
  color: var(--tnr-color-subtle, #6e7781);
  font-size: 0.8125rem;
}

.elementor-widget-breadcrumbs #breadcrumbs,
.elementor-widget-breadcrumbs .yoast-breadcrumbs {
  padding: 0;
}

.tnr-contact__form .wpcf7 {
  max-width: 640px;
  margin-inline: auto;
}

/* == 27. Print (plugins and core markup) == */

@media print {
  #wpadminbar,
  .skip-link,
  .grecaptcha-badge,
  .wpcf7,
  .comment-respond,
  .comment-reply-link,
  .post-edit-link,
  .edit-link,
  .widget_search,
  .wp-block-search,
  .wp-block-navigation,
  .wp-block-social-links,
  .wp-block-buttons,
  .wp-block-query-pagination,
  .navigation.pagination,
  .post-navigation,
  .posts-navigation,
  .page-links,
  .elementor-location-popup,
  .elementor-popup-modal,
  .dialog-widget,
  .elementor-menu-toggle,
  .elementor-nav-menu--dropdown,
  .elementor-search-form,
  .elementor-share-buttons,
  .akismet_comment_form_privacy_notice,
  #wpcp-error-message {
    display: none !important;
  }

  html {
    margin-top: 0 !important;
  }

  .elementor-invisible,
  .elementor-element.animated {
    visibility: visible !important;
    animation: none !important;
    opacity: 1 !important;
  }

  .elementor-sticky--active,
  .elementor-location-header .elementor-sticky--active {
    position: static !important;
    transform: none !important;
  }

  .elementor-section,
  .e-con {
    break-inside: auto;
  }

  .wp-block-cover {
    min-height: 0;
    padding: 1em;
    background: #fff !important;
    color: #000 !important;
  }

  .wp-block-cover__background,
  .wp-block-cover__image-background,
  .wp-block-cover__video-background {
    display: none !important;
  }

  .wp-block-cover .wp-block-cover__inner-container :where(h1, h2, h3, h4, h5, h6, p, li, a) {
    color: #000 !important;
    text-shadow: none !important;
  }

  .wp-block-code,
  .wp-block-preformatted {
    border: 1px solid #000;
    background: #fff !important;
    color: #000 !important;
    white-space: pre-wrap;
  }

  .wp-block-table,
  .wp-block-image,
  .wp-block-media-text,
  .schema-faq-section,
  .schema-how-to-step {
    break-inside: avoid;
  }

  .wp-block-embed,
  .wp-block-video,
  .wp-block-audio,
  .tnr-prose iframe {
    display: none !important;
  }

  .wp-block-embed figcaption {
    display: block !important;
  }

  #breadcrumbs,
  .yoast-breadcrumbs {
    overflow: visible;
    color: #000;
    white-space: normal;
  }

  .wp-block-file .wp-block-file__button {
    display: none;
  }

  .wp-block-file a:not(.wp-block-file__button)[href]::after {
    content: " (" attr(href) ")";
    font-size: 8.5pt;
    font-weight: 400;
    overflow-wrap: anywhere;
  }

  .comment-body {
    border-color: #000;
    break-inside: avoid;
  }

  img.emoji {
    filter: grayscale(1);
  }
}
