/*
Theme Name: theme2 by patboruc.pl
Theme URI: https://patboruc.pl/
Author: patboruc.pl
Author URI: https://patboruc.pl/
Description: Motyw blokowy WordPress z kontenerem 1140px dla header/footer i layoutem Gutenberg 1140/1440/full.
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 7.4
Version: 1.0.31
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: theme2
Tags: block-theme, full-site-editing, gutenberg
*/

.site-container {
  box-sizing: border-box;
  width: min(100% - 2rem, 1440px);
  margin-inline: auto;
}

@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("./assets/fonts/plus-jakarta-sans/plus-jakarta-sans-latin-ext-wght-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  unicode-range:
    U+0100-024F,
    U+0259,
    U+1E00-1EFF,
    U+2020,
    U+20A0-20AB,
    U+20AD-20CF,
    U+2113,
    U+2C60-2C7F,
    U+A720-A7FF;
}

@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("./assets/fonts/plus-jakarta-sans/plus-jakarta-sans-latin-wght-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  unicode-range:
    U+0000-00FF,
    U+0131,
    U+0152-0153,
    U+02BB-02BC,
    U+02C6,
    U+02DA,
    U+02DC,
    U+0304,
    U+0308,
    U+0329,
    U+2000-206F,
    U+20AC,
    U+2122,
    U+2191,
    U+2193,
    U+2212,
    U+2215,
    U+FEFF,
    U+FFFD;
}

:root {
  --theme2-font-sans: "Plus Jakarta Sans", Arial, "Helvetica Neue", Helvetica, sans-serif;
  --theme2-text-gutter: clamp(0px, calc((1472px - 100vw) / 2), 1rem);
  --theme2-font-size-body: 1.125rem;
  --theme2-font-size-ui: 0.875rem;
  --theme2-font-size-note: 0.875rem;
  --theme2-font-size-small: 0.875rem;
  --theme2-font-size-meta: 0.8125rem;
  --theme2-font-size-micro: 0.75rem;
  --theme2-font-size-eyebrow: 0.75rem;
  --theme2-font-size-ui-large: 0.9375rem;
  --theme2-font-size-icon: 0.91rem;
  --theme2-font-size-h1: 58px;
  --theme2-font-size-h2: 48px;
  --theme2-font-size-h3: clamp(1.25rem, 1.7vw, 1.375rem);
  --theme2-font-size-h4: 1.125rem;
  --theme2-font-size-h5: 1rem;
  --theme2-font-size-h6: 0.9375rem;
  --theme2-line-height-body: 1.6;
  --theme2-font-weight-normal: 400;
  --theme2-font-weight-semibold: 500;
  --theme2-font-weight-bold: 500;
  --theme2-button-base-bg: #ffffff;
  --theme2-button-base-text: #111111;
  --theme2-button-hover-fill: #111111;
  --theme2-button-hover-text: #ffffff;
  --theme2-button-border: #111111;
}

@media (max-width: 767px) {
  :root {
    --theme2-font-size-h1: 42px;
    --theme2-font-size-h2: 34px;
  }
}

body,
button,
input,
select,
textarea {
  font-family: var(--theme2-font-sans);
  font-variant-ligatures: none;
  font-feature-settings: "liga" 0, "clig" 0, "calt" 0;
}

body {
  font-size: var(--theme2-font-size-body);
  line-height: var(--theme2-line-height-body);
  font-weight: var(--theme2-font-weight-normal);
}

button,
input,
select,
textarea {
  font-size: var(--theme2-font-size-body);
  line-height: var(--theme2-line-height-body);
}

:where(h1, h1.wp-block-heading) {
  font-size: var(--theme2-font-size-h1);
  line-height: 1.08;
  font-weight: var(--theme2-font-weight-bold);
}

:where(h2, h2.wp-block-heading) {
  font-size: var(--theme2-font-size-h2);
  line-height: 1.12;
  font-weight: var(--theme2-font-weight-bold);
}

:where(h3, h3.wp-block-heading) {
  font-size: var(--theme2-font-size-h3);
  line-height: 1.2;
  font-weight: var(--theme2-font-weight-bold);
}

:where(h4, h4.wp-block-heading) {
  font-size: var(--theme2-font-size-h4);
  line-height: 1.24;
  font-weight: var(--theme2-font-weight-semibold);
}

:where(h5, h5.wp-block-heading) {
  font-size: var(--theme2-font-size-h5);
  line-height: 1.3;
  font-weight: var(--theme2-font-weight-semibold);
}

:where(h6, h6.wp-block-heading) {
  font-size: var(--theme2-font-size-h6);
  line-height: 1.35;
  font-weight: var(--theme2-font-weight-semibold);
}

/* Marketing blocks: inherit theme layout widths instead of plugin-fixed 960px. */
body :is(
  .wp-block-theme2-marketing-hero .theme2-marketing-hero__inner,
  .wp-block-theme2-marketing-cta .theme2-marketing-cta__inner,
  .wp-block-theme2-marketing-split .theme2-marketing-split__inner,
  .wp-block-theme2-marketing-timeline .theme2-marketing-timeline__inner,
  .wp-block-theme2-marketing-testimonials > *,
  .wp-block-theme2-marketing-feature-grid > *,
  .wp-block-theme2-marketing-process > *,
  .wp-block-theme2-marketing-services > *,
  .wp-block-theme2-marketing-stats > *,
  .wp-block-theme2-marketing-faq > *,
  .wp-block-theme2-marketing-portfolio-latest > *
) {
  max-width: var(--wp--style--global--content-size, 1440px);
}

/* Give the Process steps a bit more breathing room below the heading/intro. */
body .theme2-marketing-process .theme2-marketing-process__steps {
  margin-top: calc(var(--theme2-marketing-gap-process-steps) + 30px);
}

body .theme2-marketing-hero {
  padding-right: clamp(1rem, 3vw, 2rem) !important;
  padding-left: clamp(1rem, 3vw, 2rem) !important;
}

body .theme2-marketing-hero .theme2-marketing-hero__inner {
  width: min(100%, 1440px);
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
}

body .theme2-marketing-hero.theme2-marketing-hero--has-media .theme2-marketing-hero__inner {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 4vw, 3rem);
  align-items: center;
}

body .theme2-marketing-hero.theme2-marketing-hero--has-media .theme2-marketing-hero__content {
  max-width: 40rem;
}

body .theme2-marketing-hero .theme2-marketing-hero__title :is(em, i) {
  position: relative;
  display: inline-block;
  font-style: normal;
}

body .theme2-marketing-hero .theme2-marketing-hero__title :is(em, i)::after {
  content: "";
  position: absolute;
  left: 0.08em;
  right: 0.02em;
  bottom: -0.16em;
  height: 0.2em;
  background: no-repeat center / 100% 100%
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 12' preserveAspectRatio='none'%3E%3Cpath d='M2 9.5C22 2.5 49 1.2 98 8.3' fill='none' stroke='%23f6c24b' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E");
  pointer-events: none;
}

body .theme2-marketing-hero.theme2-marketing-hero--has-media .theme2-marketing-hero__media {
  display: flex;
  min-width: 0;
  width: 100%;
  margin: 0;
  justify-self: stretch;
  align-self: center;
  border-radius: var(--theme2-marketing-side-media-radius, 30px);
  overflow: hidden;
  clip-path: inset(0 round var(--theme2-marketing-side-media-radius, 30px));
  isolation: isolate;
  transform: translateZ(0);
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}

body .theme2-marketing-hero .theme2-marketing-hero__media-frame {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: inherit;
  clip-path: inherit;
}

body .theme2-marketing-hero.theme2-marketing-hero--has-media .theme2-marketing-hero__image {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  max-width: none;
  max-height: none;
  margin-left: 0;
  border: 0;
  object-fit: cover;
  object-position: top;
  border-radius: inherit;
  clip-path: inset(0 round var(--theme2-marketing-side-media-radius, 30px));
}

body .theme2-marketing-split.theme2-marketing-split--has-media .theme2-marketing-split__media {
  display: flex;
  min-width: 0;
  width: 100%;
  margin: 0;
  justify-self: stretch;
  align-self: center;
  border-radius: var(--theme2-marketing-side-media-radius, 30px);
  overflow: hidden;
  clip-path: inset(0 round var(--theme2-marketing-side-media-radius, 30px));
  isolation: isolate;
  transform: translateZ(0);
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}

body .theme2-marketing-split.theme2-marketing-split--has-media .theme2-marketing-split__image {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  max-width: none;
  max-height: none;
  margin-left: 0;
  border: 0;
  object-fit: cover;
  object-position: bottom;
  border-radius: inherit;
  clip-path: inset(0 round var(--theme2-marketing-side-media-radius, 30px));
}

body .theme2-marketing-hero.theme2-marketing-hero--media-caption .theme2-marketing-hero__media {
  margin: 0;
  padding-bottom: 20px;
  display: block;
  aspect-ratio: auto;
  overflow: visible;
  border-radius: 0;
  clip-path: none;
  isolation: auto;
  transform: none;
  -webkit-mask-image: none;
}

body .theme2-marketing-hero.theme2-marketing-hero--media-caption .theme2-marketing-hero__media-frame {
  border-radius: var(--theme2-marketing-side-media-radius, 30px);
  clip-path: inset(0 round var(--theme2-marketing-side-media-radius, 30px));
  isolation: isolate;
  transform: translateZ(0);
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}

body .theme2-marketing-hero .theme2-marketing-hero__caption {
  margin: 0.9rem 0 0;
  font-size: 0.95rem;
  line-height: 1.5;
  opacity: 0.82;
  text-align: center;
  white-space: pre-line;
}

body .theme2-marketing-hero .theme2-marketing-hero__caption--bold {
  font-weight: 700;
}

body .theme2-marketing-hero.theme2-marketing-hero--media-caption-overlay .theme2-marketing-hero__media {
  margin: 0;
  display: block;
  aspect-ratio: auto;
}

body .theme2-marketing-hero.theme2-marketing-hero--media-caption-overlay .theme2-marketing-hero__media-frame {
  position: relative;
}

body .theme2-marketing-hero .theme2-marketing-hero__caption--overlay {
  position: absolute;
  left: 50%;
  z-index: 2;
  width: calc(100% - 2rem);
  margin: 0;
  transform: translateX(-50%);
  text-align: center;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.22);
}

body .theme2-marketing-hero .theme2-marketing-hero__caption--overlay.theme2-marketing-hero__caption--top {
  top: 1rem;
}

body .theme2-marketing-hero .theme2-marketing-hero__caption--overlay.theme2-marketing-hero__caption--bottom {
  bottom: 1rem;
}

body .theme2-marketing-hero .theme2-marketing-hero__caption--overlay.theme2-marketing-hero__caption--white {
  color: #ffffff;
}

body .theme2-marketing-hero .theme2-marketing-hero__caption--overlay.theme2-marketing-hero__caption--black {
  color: #111111;
  text-shadow: 0 2px 14px rgba(255, 255, 255, 0.18);
}

body :is(.theme2-marketing-split, .theme2-marketing-process):is(.theme2-marketing-split--media-caption, .theme2-marketing-process--media-caption) :is(.theme2-marketing-split__media, .theme2-marketing-process__media) {
  margin: 0;
  display: block;
  aspect-ratio: auto;
  overflow: visible;
  border-radius: 0;
  clip-path: none;
  isolation: auto;
  transform: none;
  -webkit-mask-image: none;
}

body :is(.theme2-marketing-split, .theme2-marketing-process) :is(.theme2-marketing-split__media-frame, .theme2-marketing-process__media-frame) {
  width: 100%;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: var(--theme2-marketing-side-media-radius, 30px);
  clip-path: inset(0 round var(--theme2-marketing-side-media-radius, 30px));
  isolation: isolate;
  transform: translateZ(0);
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}

body :is(.theme2-marketing-split, .theme2-marketing-process) :is(.theme2-marketing-split__caption, .theme2-marketing-process__caption) {
  margin: 0.9rem 0 0;
  font-size: 0.95rem;
  line-height: 1.5;
  opacity: 0.82;
  text-align: center;
  white-space: pre-line;
}

body :is(.theme2-marketing-split, .theme2-marketing-process) :is(.theme2-marketing-split__caption--bold, .theme2-marketing-process__caption--bold) {
  font-weight: 700;
}

body :is(.theme2-marketing-split, .theme2-marketing-process):is(.theme2-marketing-split--media-caption-overlay, .theme2-marketing-process--media-caption-overlay) :is(.theme2-marketing-split__media, .theme2-marketing-process__media) {
  margin: 0;
  display: block;
  aspect-ratio: auto;
}

body :is(.theme2-marketing-split, .theme2-marketing-process):is(.theme2-marketing-split--media-caption-overlay, .theme2-marketing-process--media-caption-overlay) :is(.theme2-marketing-split__media-frame, .theme2-marketing-process__media-frame) {
  position: relative;
}

body :is(.theme2-marketing-split, .theme2-marketing-process) :is(.theme2-marketing-split__caption--overlay, .theme2-marketing-process__caption--overlay) {
  position: absolute;
  left: 50%;
  z-index: 2;
  width: calc(100% - 2rem);
  margin: 0;
  transform: translateX(-50%);
  text-align: center;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.22);
}

body :is(.theme2-marketing-split, .theme2-marketing-process) :is(.theme2-marketing-split__caption--overlay.theme2-marketing-split__caption--top, .theme2-marketing-process__caption--overlay.theme2-marketing-process__caption--top) {
  top: 1rem;
}

body :is(.theme2-marketing-split, .theme2-marketing-process) :is(.theme2-marketing-split__caption--overlay.theme2-marketing-split__caption--bottom, .theme2-marketing-process__caption--overlay.theme2-marketing-process__caption--bottom) {
  bottom: 1rem;
}

body :is(.theme2-marketing-split, .theme2-marketing-process) :is(.theme2-marketing-split__caption--overlay.theme2-marketing-split__caption--white, .theme2-marketing-process__caption--overlay.theme2-marketing-process__caption--white) {
  color: #ffffff;
}

body :is(.theme2-marketing-split, .theme2-marketing-process) :is(.theme2-marketing-split__caption--overlay.theme2-marketing-split__caption--black, .theme2-marketing-process__caption--overlay.theme2-marketing-process__caption--black) {
  color: #111111;
  text-shadow: 0 2px 14px rgba(255, 255, 255, 0.18);
}

/* Hero with background image: move image focus to right + rounded section. */
body .theme2-marketing-hero.theme2-marketing-hero--has-background-image {
  background-position: right center !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  clip-path: inset(0 round 24px) !important;
}

.single-portfolio .entry-content .theme2-portfolio-project-thumbnail-wrap {
  margin-top: 1.3rem;
  margin-bottom: 0;
}

.single-portfolio .entry-content .theme2-portfolio-project-thumbnail {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
  border-radius: var(--theme2-marketing-side-media-radius, 30px);
}

.post-type-archive-portfolio .theme2-portfolio-archive-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 360px);
  gap: clamp(1rem, 2.5vw, 1.5rem);
  align-items: center;
}

.post-type-archive-portfolio .theme2-portfolio-archive-item__content {
  min-width: 0;
}

.post-type-archive-portfolio .theme2-portfolio-archive-item__media {
  width: 100%;
}

.post-type-archive-portfolio .theme2-portfolio-archive-item__media .wp-block-post-featured-image {
  margin: 0;
}

.post-type-archive-portfolio .theme2-portfolio-archive-thumbnail img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: left top;
  border: 0;
  border-radius: var(--theme2-marketing-side-media-radius, 30px);
}

@media (max-width: 900px) {
  .post-type-archive-portfolio .theme2-portfolio-archive-item {
    grid-template-columns: 1fr;
  }

  .post-type-archive-portfolio .theme2-portfolio-archive-item__media {
    order: 2;
  }
}

/* Let user-selected block background color win over pricing default gradients. */
body :is(.wp-block-theme2-marketing-pricing.theme2-marketing-pricing.has-background, .theme2-marketing-pricing-editor.has-background) {
  background-image: none;
}

/* Keep Hero aligned with the same outer container as the header. */
@media (max-width: 1470px) {
  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-hero {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }

  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-hero__inner {
    width: min(100%, var(--wp--style--global--content-size, 1440px));
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 860px) {
  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-hero {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) :is(
    .theme2-marketing-intro,
    .theme2-marketing-feature-grid
  ) {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-hero__inner {
    width: min(100% - 2rem, 1440px);
    gap: 1.25rem;
    margin-left: auto;
    margin-right: auto;
  }

  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-hero.theme2-marketing-hero--has-media .theme2-marketing-hero__inner {
    grid-template-columns: 1fr;
  }

  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-intro__inner,
  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-feature-grid > * {
    width: min(100% - 2rem, 1440px);
    max-width: none;
    margin-left: auto;
    margin-right: auto;
  }

  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-hero__content {
    box-sizing: border-box;
    width: 100%;
  }

  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-hero__title,
  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-hero__text {
    max-width: none;
  }

  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-hero.theme2-marketing-hero--has-media .theme2-marketing-hero__media {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    justify-self: stretch;
  }

  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-hero.theme2-marketing-hero--has-media img.theme2-marketing-hero__image {
    width: 100%;
    max-height: none;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

body:not(.block-editor-iframe__body) .wp-site-blocks {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
}

body:not(.block-editor-iframe__body) .wp-site-blocks > main {
  flex: 1;
}

/* Keep site header pinned on scroll only on frontend (not editor iframe). */
body:not(.block-editor-iframe__body) header.wp-block-template-part {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #ffffff;
}

/* Header nav links need horizontal breathing room */
header .wp-block-navigation .wp-block-navigation-item__content {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0.25rem 0.625rem;
}

/* Strong, consistent keyboard focus indicator (WCAG 2.2 focus appearance) */
:where(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: 3px solid #005fcc;
  outline-offset: 2px;
}

/* Keep plain links neutral (no browser default blue/purple states). */
:where(a:not(.wp-element-button):not(.wp-block-button__link):not(.wp-block-file__button):not(.theme2-marketing-button)) {
  color: currentColor;
}

:where(a:not(.wp-element-button):not(.wp-block-button__link):not(.wp-block-file__button):not(.theme2-marketing-button)):visited {
  color: currentColor;
}

:where(a:not(.wp-element-button):not(.wp-block-button__link):not(.wp-block-file__button):not(.theme2-marketing-button)):is(:hover, :focus-visible) {
  color: currentColor;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

/* Better hover affordance for nav links */
header .wp-block-navigation .wp-block-navigation-item__content:hover {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

/* Classic menu in header (Appearance -> Menus). */
header .theme2-classic-menu .theme2-classic-menu__list {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

header .theme2-classic-menu .theme2-classic-menu__list li {
  margin: 0;
  padding: 0;
}

header .theme2-header-nav > .theme2-classic-menu .theme2-classic-menu__list > li {
  position: relative;
}

header .theme2-header-nav > .theme2-classic-menu .theme2-classic-menu__list {
  gap: 0;
}

header .theme2-classic-menu .theme2-classic-menu__list a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0.35rem 0.65rem;
  border-radius: 8px;
  color: inherit;
  font-weight: 600;
  text-decoration: none;
}

@media (min-width: 1001px) {
  header .theme2-header-nav > .theme2-classic-menu .theme2-classic-menu__list > li > a {
    position: relative;
  }

  header .theme2-header-nav > .theme2-classic-menu .theme2-classic-menu__list > li > a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: calc(-1rem - 1px);
    left: 0;
    height: 1px;
    background: #000000;
    opacity: 0;
    transform: scaleX(0.6);
    transform-origin: center;
    transition: opacity 0.2s ease, transform 0.2s ease;
    pointer-events: none;
  }
}

header .theme2-header-nav > .theme2-classic-menu .theme2-classic-menu__list > li:is(
  .current-menu-item,
  .current-menu-parent,
  .current-menu-ancestor,
  .current_page_item,
  .current_page_parent,
  .current_page_ancestor,
  .current-page-item,
  .current-page-parent,
  .current-page-ancestor
) > a,
header .theme2-header-nav > .theme2-classic-menu .theme2-classic-menu__list > li > a[aria-current="page"] {
  text-decoration: none;
}

@media (min-width: 1001px) {
  header .theme2-header-nav > .theme2-classic-menu .theme2-classic-menu__list > li:is(
    .current-menu-item,
    .current-menu-parent,
    .current-menu-ancestor,
    .current_page_item,
    .current_page_parent,
    .current_page_ancestor,
    .current-page-item,
    .current-page-parent,
    .current-page-ancestor
  ) > a::after,
  header .theme2-header-nav > .theme2-classic-menu .theme2-classic-menu__list > li > a:is(:hover, :focus-visible)::after,
  header .theme2-header-nav > .theme2-classic-menu .theme2-classic-menu__list > li > a[aria-current="page"]::after {
    opacity: 1;
    transform: scaleX(1);
  }
}

/* Multi-level navigation: keep submenu toggles and dropdowns readable. */
header .wp-block-navigation .wp-block-navigation-item.has-child {
  align-items: center;
}

header .wp-block-navigation .wp-block-navigation-item.has-child > .wp-block-navigation-item__content {
  padding-right: 0.2rem;
}

header .wp-block-navigation .wp-block-navigation-item.has-child > .wp-block-navigation-submenu__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  width: 1.25rem;
  margin-left: 0.12rem;
  padding: 0;
  border-radius: 6px;
}

header .wp-block-navigation .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-icon {
  margin-left: 0;
}

header .wp-block-navigation .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-icon svg {
  width: 0.68em;
  height: 0.68em;
}

@media (min-width: 1001px) {
  header .wp-block-navigation .wp-block-navigation__submenu-container {
    min-width: 220px;
    border: 1px solid #dbe3ec;
    border-radius: 10px;
    padding: 0.35rem;
    background: #ffffff;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12);
  }

  header .wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content,
  header .wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-submenu__toggle {
    min-height: 40px;
    padding: 0.45rem 0.6rem;
    border-radius: 8px;
    white-space: nowrap;
  }

  header .wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item:is(:hover, :focus-within) > .wp-block-navigation-item__content,
  header .wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item:is(:hover, :focus-within) > .wp-block-navigation-submenu__toggle {
    background: #f3f6fa;
    text-decoration: none;
  }
}

/* Header search toggle and collapsible panel */
header .theme2-header-main {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 1.2rem;
}

header .theme2-header-brand {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.7rem;
  min-width: 0;
}

header .theme2-header-brand .wp-block-site-title {
  margin: 0;
  min-width: 0;
}

header .theme2-header-brand .wp-block-site-title a {
  overflow-wrap: anywhere;
}

header .theme2-header-logo-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

header .theme2-header-logo {
  display: block;
  width: 120px;
  height: auto;
}

.theme2-footer-main {
  display: flex;
  justify-content: center;
}

.theme2-site-footer-shell {
  background: #000000;
  color: #ffffff;
}

.theme2-site-footer {
  padding-top: clamp(3.75rem, 6vw, 5.5rem);
  padding-bottom: clamp(2rem, 4vw, 3rem);
}

.theme2-site-footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.92fr) minmax(0, 0.8fr);
  column-gap: clamp(2rem, 6vw, 8.5rem);
  row-gap: clamp(3.5rem, 9vw, 7.5rem);
  align-items: start;
}

.theme2-site-footer__column {
  min-width: 0;
}

.theme2-site-footer__heading {
  margin: 0;
  color: #ffffff;
  font-size: var(--theme2-font-size-h3);
  line-height: 1.2;
  letter-spacing: normal;
  font-weight: 600;
}

.theme2-site-footer__contact-links,
.theme2-site-footer__list {
  margin: clamp(1.45rem, 2vw, 2rem) 0 0;
  padding: 0;
  list-style: none;
}

.theme2-site-footer__contact-links,
.theme2-site-footer__list {
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 1.8vw, 1.45rem);
}

.theme2-site-footer__contact-link,
.theme2-site-footer__link,
.theme2-site-footer__partner,
.theme2-site-footer__list a {
  display: inline-flex;
  width: fit-content;
  color: rgba(255, 255, 255, 0.7);
  font-size: var(--theme2-font-size-body);
  line-height: var(--theme2-line-height-body);
  letter-spacing: normal;
}

.theme2-site-footer__contact-link {
  color: #ffffff;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.38);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.32rem;
}

.theme2-site-footer__link,
.theme2-site-footer__partner,
.theme2-site-footer__list a {
  text-decoration: none;
}

.theme2-site-footer__link:is(:hover, :focus-visible),
.theme2-site-footer__list a:is(:hover, :focus-visible) {
  color: #ffffff;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.24rem;
}

.theme2-site-footer__copyright {
  margin: 0;
  grid-column: 1;
  color: #ffffff;
  font-size: var(--theme2-font-size-body);
  line-height: var(--theme2-line-height-body);
  letter-spacing: normal;
}

.theme2-prefooter-cta {
  padding: clamp(2.5rem, 5vw, 4rem) 1rem clamp(4.5rem, 9vw, 7.5rem);
  background: #000000;
  color: #ffffff;
}

.theme2-prefooter-cta__inner {
  max-width: 1320px;
  min-height: clamp(15rem, 24vw, 21rem);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.theme2-prefooter-cta__title {
  margin: 0;
  color: #ffffff;
  font-size: clamp(2rem, 5.2vw, 3.55rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.theme2-prefooter-cta__lead {
  max-width: 1160px;
  margin: 1.45rem auto 0;
  color: rgba(255, 255, 255, 0.94);
  font-size: clamp(1rem, 1.55vw, 1.18rem);
  line-height: 1.58;
  text-wrap: pretty;
}

.theme2-prefooter-cta__lead--secondary {
  margin-top: -0.35rem;
}

.theme2-prefooter-cta__actions {
  margin-top: 2rem;
  display: flex;
  justify-content: center;
}

.theme2-prefooter-cta__button-link {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.52rem;
  min-height: 44px;
  padding: 1.1rem 2.24rem;
  border: 0;
  border-radius: 999px;
  background: #f97336;
  color: #ffffff !important;
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 8px 20px rgba(249, 115, 54, 0.28);
  transition: background-color 0.2s ease, transform 0.2s ease, color 0.2s ease, text-shadow 0.22s ease;
  box-sizing: border-box;
}

.theme2-prefooter-cta__button-link .theme2-cta-label {
  display: inline-flex;
  align-items: center;
  transform: translate3d(0, 0, 0);
  transform-origin: center center;
  transition: transform 0.22s ease, color 0.22s ease, text-shadow 0.24s ease, filter 0.24s ease;
}

.theme2-prefooter-cta__button-link::after {
  content: none;
}

.theme2-prefooter-cta__button-link::before {
  content: "";
  order: 2;
  flex: 0 0 auto;
  width: 15px;
  height: 15px;
  display: inline-block;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7.59189 13.1665L6.43585 12.0218L10.4499 8.00252H0.583984V6.33049H10.4499L6.43585 2.31763L7.59189 1.1665L13.584 7.1665L7.59189 13.1665Z' fill='black'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7.59189 13.1665L6.43585 12.0218L10.4499 8.00252H0.583984V6.33049H10.4499L6.43585 2.31763L7.59189 1.1665L13.584 7.1665L7.59189 13.1665Z' fill='black'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  position: relative;
  z-index: 1;
  transition: transform 0.22s ease;
}

.theme2-prefooter-cta__button-link:is(:hover, :focus-visible) {
  background: #ea6228;
  color: #ffffff !important;
  text-decoration: none;
  transform: none;
}

.theme2-prefooter-cta__button-link:is(:hover, :focus-visible) .theme2-cta-label {
  transform: translate3d(0, 0, 0);
  text-shadow: none;
  filter: none;
}

.theme2-marketing-hero__actions .theme2-marketing-button {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.52rem;
  min-height: 44px;
  padding: 1.1rem 2.24rem;
  border: 0;
  border-radius: 999px;
  background: #f97336 !important;
  background-image: none !important;
  color: #ffffff !important;
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 8px 20px rgba(249, 115, 54, 0.28);
  transition: background-color 0.2s ease, transform 0.2s ease, color 0.2s ease, text-shadow 0.22s ease;
  box-sizing: border-box;
}

.theme2-marketing-hero__actions .theme2-marketing-button::after {
  content: none;
}

.theme2-marketing-hero__actions .theme2-marketing-button::before {
  content: "";
  order: 2;
  flex: 0 0 auto;
  width: 15px;
  height: 15px;
  display: inline-block;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7.59189 13.1665L6.43585 12.0218L10.4499 8.00252H0.583984V6.33049H10.4499L6.43585 2.31763L7.59189 1.1665L13.584 7.1665L7.59189 13.1665Z' fill='black'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7.59189 13.1665L6.43585 12.0218L10.4499 8.00252H0.583984V6.33049H10.4499L6.43585 2.31763L7.59189 1.1665L13.584 7.1665L7.59189 13.1665Z' fill='black'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  position: relative;
  z-index: 1;
  transition: transform 0.22s ease;
}

.theme2-marketing-hero__actions .theme2-marketing-button:is(:hover, :focus-visible) {
  background: #ea6228 !important;
  color: #ffffff !important;
  text-decoration: none;
  transform: none;
  box-shadow: 0 8px 20px rgba(249, 115, 54, 0.28);
}

.theme2-marketing-split__actions .theme2-marketing-button {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.52rem;
  min-height: 44px;
  padding: 1.1rem 2.24rem;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f97336 !important;
  background-image: none !important;
  color: #ffffff !important;
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 8px 20px rgba(249, 115, 54, 0.28);
  transition: background-color 0.2s ease, transform 0.2s ease, color 0.2s ease;
  box-sizing: border-box;
}

.theme2-marketing-split__actions .theme2-marketing-button::after {
  content: none;
}

.theme2-marketing-split__actions .theme2-marketing-button::before {
  content: "";
  order: 2;
  flex: 0 0 auto;
  width: 15px;
  height: 15px;
  display: inline-block;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7.59189 13.1665L6.43585 12.0218L10.4499 8.00252H0.583984V6.33049H10.4499L6.43585 2.31763L7.59189 1.1665L13.584 7.1665L7.59189 13.1665Z' fill='black'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7.59189 13.1665L6.43585 12.0218L10.4499 8.00252H0.583984V6.33049H10.4499L6.43585 2.31763L7.59189 1.1665L13.584 7.1665L7.59189 13.1665Z' fill='black'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  position: relative;
  z-index: 1;
  transition: transform 0.22s ease;
}

.theme2-marketing-split__actions .theme2-marketing-button .theme2-cta-label,
.theme2-marketing-split__actions .theme2-marketing-button.theme2-cta-label {
  display: inline-flex;
  align-items: center;
  transform: translate3d(0, 0, 0);
  transform-origin: center center;
  transition: transform 0.22s ease, color 0.22s ease, text-shadow 0.24s ease, filter 0.24s ease;
}

.theme2-marketing-split__actions .theme2-marketing-button:is(:hover, :focus-visible) {
  background: #ea6228 !important;
  color: #ffffff !important;
  text-decoration: none;
  transform: none;
  box-shadow: 0 8px 20px rgba(249, 115, 54, 0.28);
}

.theme2-marketing-split__actions .theme2-marketing-button:is(:hover, :focus-visible) .theme2-cta-label,
.theme2-marketing-split__actions .theme2-marketing-button.theme2-cta-label:is(:hover, :focus-visible) {
  transform: translate3d(0, 0, 0);
  text-shadow: none;
  filter: none;
}

.theme2-footer-copyright {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  flex-wrap: wrap;
  width: 100%;
  text-align: center;
  font-size: var(--theme2-font-size-body);
  line-height: var(--theme2-line-height-body);
}

.theme2-footer-copyright a {
  font-size: inherit;
  line-height: inherit;
}

.theme2-footer-brand {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}

.theme2-footer-logo {
  display: block;
  width: 72px;
  height: auto;
}

.theme2-footer-meta {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

@media (max-width: 767px) {
  .theme2-footer-copyright {
    flex-direction: column;
    gap: 0.45rem;
  }

  .theme2-footer-brand {
    justify-content: center;
  }

  .theme2-footer-meta {
    display: block;
  }

  .theme2-footer-meta [aria-hidden="true"] {
    display: none;
  }

  .theme2-footer-meta a {
    display: block;
    margin-top: 0.35rem;
  }

  .theme2-site-footer {
    padding-top: clamp(3rem, 12vw, 4rem);
    padding-bottom: clamp(2rem, 8vw, 2.75rem);
  }

  .theme2-site-footer__grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: clamp(2rem, 8vw, 3rem);
  }

  .theme2-site-footer__heading {
    font-size: var(--theme2-font-size-h3);
  }

  .theme2-site-footer__contact-link,
  .theme2-site-footer__link,
  .theme2-site-footer__partner,
  .theme2-site-footer__list a {
    font-size: var(--theme2-font-size-body);
  }

  .theme2-site-footer__copyright {
    grid-column: auto;
    margin-top: 0.4rem;
  }
}

header .theme2-language-switcher {
  flex-shrink: 0;
}

header .theme2-language-switcher__list {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

header .theme2-language-switcher__item {
  margin: 0;
  padding: 0;
}

header .theme2-language-switcher :is(.theme2-language-switcher__link, .theme2-language-switcher__current) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  min-height: 34px;
  padding: 0.18rem;
  border: 1px solid transparent;
  border-radius: 999px;
  line-height: 1;
  text-decoration: none;
}

header .theme2-language-switcher__link:is(:hover, :focus-visible) {
  border-color: #cbd5e1;
  background: #f8fafc;
  text-decoration: none;
}

header .theme2-language-switcher__current {
  border-color: #d0d7e2;
  background: #f8fafc;
}

header .theme2-language-switcher :is(img, .theme2-language-switcher__code) {
  display: block;
}

header .theme2-language-switcher img {
  width: 20px;
  height: 14px;
  object-fit: cover;
  border-radius: 2px;
}

header .theme2-language-switcher__code {
  min-width: 20px;
  font-size: var(--theme2-font-size-eyebrow);
  font-weight: var(--theme2-font-weight-bold);
  letter-spacing: 0.08em;
}

header .theme2-header-actions {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

header .theme2-header-desktop-language {
  display: flex;
  align-items: center;
  margin-right: 1.875rem;
}

header .theme2-header-nav {
  min-width: 0;
  justify-content: center;
}

header .theme2-header-nav .theme2-classic-menu {
  width: 100%;
}

header .theme2-header-nav .theme2-classic-menu .theme2-classic-menu__list {
  justify-content: center;
  gap: 0;
}

header .theme2-header-nav .theme2-classic-menu .theme2-classic-menu__list a {
  font-size: 16px;
}

header .theme2-header-mobile-cta-wrap {
  display: none;
}

header .theme2-header-mobile-language-wrap {
  display: none;
}

header .theme2-header-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.52rem;
  min-height: 44px;
  padding: 0.12rem 1.12rem;
  border-radius: 999px;
  background: #f97336;
  color: #ffffff !important;
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 8px 20px rgba(249, 115, 54, 0.28);
  transition: background-color 0.2s ease, transform 0.2s ease;
}

header .theme2-header-cta:is(:hover, :focus-visible) {
  background: #ea6228;
  text-decoration: none;
  transform: translateY(-1px);
}

header .theme2-header-cta__icon {
  font-size: 0.95em;
  line-height: 1;
}

header .theme2-classic-menu--right .theme2-classic-menu__list {
  justify-content: flex-end;
  gap: 0;
}

header .theme2-classic-menu--right .theme2-classic-menu__list a {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.52rem;
  min-height: 44px;
  padding: 0.12rem 1.12rem;
  border-radius: 999px;
  background: #f97336;
  color: #ffffff !important;
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 8px 20px rgba(249, 115, 54, 0.28);
  transition: background-color 0.2s ease, transform 0.2s ease, color 0.2s ease, text-shadow 0.22s ease;
}

header .theme2-classic-menu--right .theme2-classic-menu__list a .theme2-cta-label {
  display: inline-flex;
  align-items: center;
  transform: translate3d(0, 0, 0);
  transform-origin: center center;
  transition: transform 0.22s ease, color 0.22s ease, text-shadow 0.24s ease, filter 0.24s ease;
}

header .theme2-classic-menu--right .theme2-classic-menu__list a::after {
  content: none;
}

header .theme2-classic-menu--right .theme2-classic-menu__list a::before {
  content: "";
  width: 15px;
  height: 15px;
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 15px 15px;
  background-image: url("data:image/svg+xml,%3Csvg role='presentation' version='1.1' xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%23ffffff' d='M10.959 31.651c-0.093 0-0.191-0.019-0.28-0.060-0.299-0.139-0.451-0.472-0.361-0.789l3.628-12.745-8.113 1.695c-0.217 0.039-0.437-0.024-0.596-0.169-0.159-0.151-0.233-0.369-0.199-0.588l2.456-15.415c0.044-0.268 0.248-0.481 0.512-0.544l11.433-2.667c0.237-0.060 0.492 0.025 0.653 0.211 0.164 0.188 0.208 0.448 0.12 0.677l-3.319 8.601 9.243-2.399c0.268-0.075 0.552 0.031 0.713 0.257 0.159 0.225 0.164 0.528 0.008 0.752l-15.341 22.881c-0.129 0.195-0.341 0.301-0.557 0.301zM14.889 16.513c0.184 0 0.361 0.076 0.487 0.213 0.159 0.169 0.219 0.412 0.153 0.636l-2.773 9.751 12.012-17.916-8.804 2.283c-0.245 0.057-0.5-0.019-0.665-0.2-0.167-0.191-0.212-0.451-0.125-0.685l3.336-8.639-9.775 2.277-2.233 14.021 8.247-1.721c0.049-0.015 0.095-0.020 0.141-0.020z'%3E%3C/path%3E%3C/svg%3E");
  position: relative;
  z-index: 1;
  transition: transform 0.22s ease;
}

header .theme2-classic-menu--right .theme2-classic-menu__list a:is(:hover, :focus-visible) {
  background: #ea6228;
  text-decoration: none;
  color: #ffffff !important;
  transform: none;
}

header .theme2-classic-menu--right .theme2-classic-menu__list a:is(:hover, :focus-visible) .theme2-cta-label {
  transform: translate3d(0, 0, 0);
  text-shadow: none;
  filter: none;
}

.theme2-prefooter-cta__button-link:is(:hover, :focus-visible)::before,
.theme2-marketing-hero__actions .theme2-marketing-button:is(:hover, :focus-visible)::before,
.theme2-marketing-split__actions .theme2-marketing-button:is(:hover, :focus-visible)::before {
  transform: translate3d(2px, 0, 0);
}

header .theme2-classic-menu--right .theme2-classic-menu__list a:is(:hover, :focus-visible)::before {
  transform: translate3d(0, 0, 0);
}

@keyframes theme2-cta-text-shake {
  0% {
    transform: translate3d(0, 0, 0) rotate(0deg);
  }

  16% {
    transform: translate3d(-0.6px, 0, 0) rotate(-0.5deg);
  }

  32% {
    transform: translate3d(0.8px, 0, 0) rotate(0.55deg);
  }

  48% {
    transform: translate3d(-0.7px, 0, 0) rotate(-0.4deg);
  }

  64% {
    transform: translate3d(0.7px, 0, 0) rotate(0.38deg);
  }

  80% {
    transform: translate3d(-0.45px, 0, 0) rotate(-0.25deg);
  }

  100% {
    transform: translate3d(0, 0, 0) rotate(0deg);
  }
}

header .theme2-classic-menu--right .theme2-classic-menu__list a:active {
  color: #ffffff !important;
  text-shadow: none;
}

header .theme2-header-menu-toggle {
  display: none;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: transparent;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: none !important;
  transform: none !important;
  order: 2;
  margin-left: 0.45rem;
  position: relative;
  z-index: 1301;
}

header .theme2-header-menu-toggle span {
  position: absolute;
  left: 50%;
  display: block;
  width: 26px;
  height: 1.75px;
  border-radius: 2px;
  background: #111111;
  transform: translateX(-50%);
  transform-origin: center;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

header .theme2-header-menu-toggle span:nth-child(1) {
  top: 15px;
}

header .theme2-header-menu-toggle span:nth-child(2) {
  top: 21.5px;
}

header .theme2-header-menu-toggle span:nth-child(3) {
  top: 28px;
}

header .theme2-header-menu-toggle[aria-expanded="true"] span:nth-child(1) {
  top: 21.5px;
  transform: translateX(-50%) rotate(45deg);
}

header .theme2-header-menu-toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}

header .theme2-header-menu-toggle[aria-expanded="true"] span:nth-child(3) {
  top: 21.5px;
  transform: translateX(-50%) rotate(-45deg);
}

header .theme2-header-search-toggle {
  --theme2-button-fill: transparent;
  --theme2-button-fill-text: #0f172a;
  width: 42px;
  min-height: 42px;
  padding: 0;
  cursor: pointer;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f172a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cline x1='16' y1='16' x2='21' y2='21'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 18px;
  color: #0f172a;
  box-shadow: none;
  transition: color 0.2s ease, border-color 0.2s ease;
}

header .theme2-header-search-toggle::after {
  content: none;
}

header .theme2-header-search-toggle:is(:hover, :focus-visible) {
  background-color: transparent;
  border-color: #94a3b8;
  color: #020617;
  box-shadow: none;
  transform: none;
}

header .theme2-header-search-toggle:active {
  transform: none;
  box-shadow: none;
}

header .theme2-header-search-wrap {
  margin-top: 0;
}

header.theme2-search-open .theme2-header-search-wrap {
  margin-top: 0.75rem;
}

header .theme2-header-search-panel {
  display: none;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

header.theme2-search-open .theme2-header-search-panel {
  display: block;
}

header .theme2-header-search-panel[hidden] {
  display: none !important;
}

header .theme2-header-search-panel .wp-block-search__inside-wrapper,
.theme2-sidebar-widget--search .wp-block-search__inside-wrapper {
  display: flex;
  align-items: center;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  padding-left: 0.8rem;
  padding-right: 0.3rem;
  min-height: 46px;
  background: #ffffff;
  overflow: hidden;
}

header .theme2-header-search-panel .wp-block-search__inside-wrapper:focus-within,
.theme2-sidebar-widget--search .wp-block-search__inside-wrapper:focus-within {
  border-color: #94a3b8;
}

header .theme2-header-search-panel .wp-block-search__input,
.theme2-sidebar-widget--search .wp-block-search__input {
  border: 0;
  margin: 0;
  padding: 0;
  min-height: 44px;
  line-height: 1.35;
}

header .theme2-header-search-panel .wp-block-search__button {
  margin: 0;
  min-height: 36px;
  padding-inline: 0.85rem;
  cursor: pointer;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #ffffff;
  background-image: none;
  background-size: auto;
  background-position: center;
  box-shadow: none;
  color: #334155;
  width: auto;
  white-space: nowrap;
}

.theme2-sidebar-widget--search .wp-block-search__button {
  margin: 0;
  min-width: 36px;
  width: 36px;
  min-height: 36px;
  padding: 0;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #ffffff;
  background-image: none;
  background-size: auto;
  background-position: center;
  box-shadow: none;
  color: #334155;
}

header .theme2-header-search-panel .wp-block-search__button::after,
.theme2-sidebar-widget--search .wp-block-search__button::after {
  content: none;
}

header .theme2-header-search-panel .wp-block-search__button:is(:hover, :focus-visible),
.theme2-sidebar-widget--search .wp-block-search__button:is(:hover, :focus-visible) {
  background: #f8fafc;
  border-color: #94a3b8;
  box-shadow: none;
  color: #0f172a !important;
  opacity: 1;
  transform: none;
}

header .theme2-header-search-panel .wp-block-search__button:active,
.theme2-sidebar-widget--search .wp-block-search__button:active {
  transform: none;
  box-shadow: none;
}

/* Keep back-home button visually aligned with Hero/CTA button variant. */
.theme2-back-home-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  width: 100%;
}

/* Never underline links in the back-home buttons above footer. */
.theme2-back-home-actions a,
.theme2-back-home-actions a:is(:visited, :hover, :focus-visible, :active) {
  text-decoration: none !important;
}

/* Keep floating scroll-top arrow free from link underline on every template. */
a.theme2-scroll-top-button,
a.theme2-scroll-top-button:is(:visited, :hover, :focus, :focus-visible, :active) {
  text-decoration: none !important;
  text-decoration-line: none !important;
}

/* Use the exact Hero button visuals for back-home/scroll-top controls. */
.theme2-back-home-button,
.theme2-back-home-main-button,
.theme2-scroll-top-button {
  --theme2-button-fill: var(--theme2-button-hover-fill) !important;
  --theme2-button-fill-text: var(--theme2-button-hover-text) !important;
  background-color: var(--theme2-button-base-bg) !important;
  border-color: var(--theme2-button-border) !important;
  color: var(--theme2-button-base-text) !important;
  border-radius: 10px !important;
}

.theme2-scroll-top-button {
  position: fixed;
  left: clamp(0.85rem, 2vw, 1.35rem);
  bottom: 60px;
  z-index: 1100;
  min-width: 48px;
  width: 48px;
  min-height: 48px;
  height: 48px;
  padding: 0;
  background-color: var(--theme2-button-base-bg);
  color: var(--theme2-button-base-text);
  font-size: var(--theme2-font-size-icon);
  line-height: 1;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.theme2-scroll-top-button.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.theme2-scroll-top-button > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-1px);
}

/* Hide page titles visually while keeping them accessible. */
.seo-hidden-h1,
.seo-hidden-page-title {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

/* Global default button effect (inspired by codepen.io/mw_codes/pen/eYBXQOQ) */
:where(
  .wp-element-button,
  .wp-block-button__link,
  .theme2-back-home-button,
  .theme2-back-home-main-button,
  .theme2-scroll-top-button,
  button:not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close):not(.wp-block-navigation-item__content):not(.wp-block-navigation-submenu__toggle):not(.theme2-marketing-button):not(.theme2-home-form-submit):not(.wpcf7-submit),
  input[type="submit"]:not(.wpcf7-submit),
  input[type="button"],
  input[type="reset"]
),
.wp-block-file .wp-block-file__button {
  --theme2-button-fill: var(--theme2-button-hover-fill);
  --theme2-button-fill-text: var(--theme2-button-hover-text);
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  box-sizing: border-box;
  text-decoration: none;
  border: 1px solid var(--theme2-button-border);
  border-radius: 6px;
  background-color: var(--theme2-button-base-bg);
  color: var(--theme2-button-base-text);
  font-size: var(--theme2-font-size-ui);
  line-height: 1.2;
  letter-spacing: 0.01em;
  font-weight: 600;
  isolation: isolate;
  overflow: hidden;
  background-image:
    linear-gradient(var(--theme2-button-fill), var(--theme2-button-fill)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0) 48%);
  background-repeat: no-repeat;
  background-size: 100% 0, 100% 100%;
  background-position: 0 100%, 0 0;
  min-height: 40px;
  padding-top: 0.84em;
  padding-right: calc(3.4em + 2px);
  padding-bottom: 0.84em;
  padding-left: calc(3.4em + 2px);
  box-shadow: 0 7px 16px rgba(17, 17, 17, 0.16), 0 2px 5px rgba(17, 17, 17, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.24);
  transition: color 0.3s ease, background-size 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease, filter 0.3s ease;
  cursor: pointer;
}

:where(
  .wp-element-button,
  .wp-block-button__link,
  .theme2-back-home-button,
  .theme2-back-home-main-button,
  .theme2-scroll-top-button,
  button:not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close):not(.wp-block-navigation-item__content):not(.wp-block-navigation-submenu__toggle):not(.theme2-marketing-button):not(.theme2-home-form-submit):not(.wpcf7-submit)
)::after,
.wp-block-file .wp-block-file__button::after {
  content: "";
  position: absolute;
  top: -35%;
  left: -35%;
  width: 28%;
  height: 170%;
  background: linear-gradient(110deg, transparent 0%, rgba(255, 255, 255, 0.12) 48%, transparent 100%);
  transform: translateX(-220%) rotate(12deg);
  transition: transform 0.65s ease;
  pointer-events: none;
}

:where(
  .wp-element-button,
  .wp-block-button__link,
  .theme2-back-home-button,
  .theme2-back-home-main-button
)::before,
.wp-block-file .wp-block-file__button::before {
  content: "";
  order: 2;
  flex: 0 0 auto;
  width: 0.95rem;
  height: 0.95rem;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7.59189 13.1665L6.43585 12.0218L10.4499 8.00252H0.583984V6.33049H10.4499L6.43585 2.31763L7.59189 1.1665L13.584 7.1665L7.59189 13.1665Z' fill='black'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7.59189 13.1665L6.43585 12.0218L10.4499 8.00252H0.583984V6.33049H10.4499L6.43585 2.31763L7.59189 1.1665L13.584 7.1665L7.59189 13.1665Z' fill='black'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  transition: transform 0.22s ease;
}

:where(
  .wp-element-button,
  .wp-block-button__link,
  .theme2-back-home-button,
  .theme2-back-home-main-button,
  .theme2-scroll-top-button,
  button:not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close):not(.wp-block-navigation-item__content):not(.wp-block-navigation-submenu__toggle):not(.theme2-marketing-button):not(.theme2-home-form-submit):not(.wpcf7-submit),
  input[type="submit"]:not(.wpcf7-submit),
  input[type="button"],
  input[type="reset"]
):is(:hover, :focus-visible),
.wp-block-file .wp-block-file__button:is(:hover, :focus-visible) {
  color: var(--theme2-button-fill-text) !important;
  background-size: 100% 100%, 100% 100%;
  box-shadow: 0 10px 22px rgba(17, 17, 17, 0.2), 0 3px 8px rgba(17, 17, 17, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.28);
  text-decoration: none;
}

/* Keep plugin block buttons flush with bottom edge during hover fill animation. */
body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-button {
  background-origin: border-box;
  background-clip: border-box;
  backface-visibility: hidden;
}

body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-button:is(:hover, :focus-visible) {
  background-size: 100% 101%, 100% 100%;
}

:where(
  .wp-element-button,
  .wp-block-button__link,
  .theme2-back-home-button,
  .theme2-back-home-main-button,
  .theme2-scroll-top-button,
  button:not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close):not(.wp-block-navigation-item__content):not(.wp-block-navigation-submenu__toggle):not(.theme2-marketing-button):not(.theme2-home-form-submit):not(.wpcf7-submit)
):is(:hover, :focus-visible)::after,
.wp-block-file .wp-block-file__button:is(:hover, :focus-visible)::after {
  transform: translateX(380%) rotate(12deg);
}

:where(
  .wp-element-button,
  .wp-block-button__link,
  .theme2-back-home-button,
  .theme2-back-home-main-button
):is(:hover, :focus-visible)::before,
.wp-block-file .wp-block-file__button:is(:hover, :focus-visible)::before {
  transform: translate3d(2px, 0, 0);
}

:where(
  .wp-element-button,
  .wp-block-button__link,
  .theme2-back-home-button,
  .theme2-back-home-main-button,
  .theme2-scroll-top-button,
  button:not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close):not(.wp-block-navigation-item__content):not(.wp-block-navigation-submenu__toggle):not(.theme2-marketing-button):not(.theme2-home-form-submit):not(.wpcf7-submit),
  input[type="submit"]:not(.wpcf7-submit),
  input[type="button"],
  input[type="reset"]
):active,
.wp-block-file .wp-block-file__button:active {
  transform: scale(0.97);
  box-shadow: 0 4px 10px rgba(17, 17, 17, 0.16), 0 2px 5px rgba(17, 17, 17, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

@media (prefers-reduced-motion: reduce) {
  :where(
    .wp-element-button,
    .wp-block-button__link,
    .theme2-back-home-button,
    .theme2-back-home-main-button,
    .theme2-scroll-top-button,
    button:not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close):not(.wp-block-navigation-item__content):not(.wp-block-navigation-submenu__toggle):not(.theme2-marketing-button):not(.theme2-home-form-submit):not(.wpcf7-submit),
    input[type="submit"]:not(.wpcf7-submit),
    input[type="button"],
    input[type="reset"]
  ),
  .wp-block-file .wp-block-file__button {
    transition: none;
  }

  :where(
    .wp-element-button,
    .wp-block-button__link,
    .theme2-back-home-button,
    .theme2-back-home-main-button,
    .theme2-scroll-top-button,
    button:not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close):not(.wp-block-navigation-item__content):not(.wp-block-navigation-submenu__toggle):not(.theme2-marketing-button):not(.theme2-home-form-submit):not(.wpcf7-submit)
  )::after,
  .wp-block-file .wp-block-file__button::after {
    transition: none;
  }

  :where(
    .wp-element-button,
    .wp-block-button__link,
    .theme2-back-home-button,
    .theme2-back-home-main-button
  )::before,
  .wp-block-file .wp-block-file__button::before {
    transition: none;
  }

  :where(
    .wp-element-button,
    .wp-block-button__link,
    .theme2-back-home-button,
    .theme2-back-home-main-button,
    .theme2-scroll-top-button,
    button:not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close):not(.wp-block-navigation-item__content):not(.wp-block-navigation-submenu__toggle):not(.theme2-marketing-button):not(.theme2-home-form-submit):not(.wpcf7-submit)
  ):is(:hover, :focus-visible)::after,
  .wp-block-file .wp-block-file__button:is(:hover, :focus-visible)::after {
    transform: translateX(-220%) rotate(12deg);
  }

  :where(
    .wp-element-button,
    .wp-block-button__link,
    .theme2-back-home-button,
    .theme2-back-home-main-button
  ):is(:hover, :focus-visible)::before,
  .wp-block-file .wp-block-file__button:is(:hover, :focus-visible)::before {
    transform: none;
  }

  :where(
    .wp-element-button,
    .wp-block-button__link,
    .theme2-back-home-button,
    .theme2-back-home-main-button,
    .theme2-scroll-top-button,
    button:not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close):not(.wp-block-navigation-item__content):not(.wp-block-navigation-submenu__toggle):not(.theme2-marketing-button):not(.theme2-home-form-submit):not(.wpcf7-submit),
    input[type="submit"]:not(.wpcf7-submit),
    input[type="button"],
    input[type="reset"]
  ):active,
  .wp-block-file .wp-block-file__button:active {
    transform: none;
  }
}

/* Core Gutenberg buttons should match the orange CTA buttons used in sections. */
.wp-block-button__link,
.wp-block-file .wp-block-file__button {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.52rem;
  min-height: 44px;
  padding: 1.1rem 2.24rem;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f97336 !important;
  background-image: none !important;
  color: #ffffff !important;
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none !important;
  white-space: nowrap;
  box-shadow: 0 8px 20px rgba(249, 115, 54, 0.28);
  transition: background-color 0.2s ease, transform 0.2s ease, color 0.2s ease, text-shadow 0.22s ease;
  box-sizing: border-box;
  opacity: 1;
}

.wp-block-file .wp-block-file__button {
  margin-inline-start: 20px;
}

.wp-block-button__link::after,
.wp-block-file .wp-block-file__button::after {
  content: none !important;
}

.wp-block-button__link::before,
.wp-block-file .wp-block-file__button::before {
  content: "";
  order: 2;
  flex: 0 0 auto;
  width: 15px;
  height: 15px;
  display: inline-block;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7.59189 13.1665L6.43585 12.0218L10.4499 8.00252H0.583984V6.33049H10.4499L6.43585 2.31763L7.59189 1.1665L13.584 7.1665L7.59189 13.1665Z' fill='black'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7.59189 13.1665L6.43585 12.0218L10.4499 8.00252H0.583984V6.33049H10.4499L6.43585 2.31763L7.59189 1.1665L13.584 7.1665L7.59189 13.1665Z' fill='black'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  position: relative;
  z-index: 1;
  transition: transform 0.22s ease;
}

.wp-block-file .wp-block-file__button::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M12 15V3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M12 15V3'/%3E%3C/svg%3E");
}

.wp-block-button__link:is(:hover, :focus-visible),
.wp-block-file .wp-block-file__button:is(:hover, :focus-visible) {
  background: #ea6228 !important;
  color: #ffffff !important;
  text-decoration: none;
  transform: none;
  box-shadow: 0 8px 20px rgba(249, 115, 54, 0.28);
  opacity: 1;
}

.wp-block-button__link:is(:hover, :focus-visible)::before,
.wp-block-file .wp-block-file__button:is(:hover, :focus-visible)::before {
  transform: translate3d(2px, 0, 0);
}

.wp-block-file .wp-block-file__button:is(:hover, :focus-visible)::before {
  transform: none;
}

.wp-block-button__link:active,
.wp-block-file .wp-block-file__button:active {
  transform: none;
  box-shadow: 0 8px 20px rgba(249, 115, 54, 0.28);
}

@media (prefers-reduced-motion: reduce) {
  .wp-block-button__link,
  .wp-block-file .wp-block-file__button {
    transition: none;
  }

  .wp-block-button__link::before,
  .wp-block-file .wp-block-file__button::before {
    transition: none;
  }

  .wp-block-button__link:is(:hover, :focus-visible)::before,
  .wp-block-file .wp-block-file__button:is(:hover, :focus-visible)::before {
    transform: none;
  }
}

/* Responsive nav controls should not look like CTA buttons. */
header .wp-block-navigation__responsive-container-open,
header .wp-block-navigation__responsive-container-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #0f172a;
  box-shadow: none;
  transition: color 0.2s ease, opacity 0.2s ease;
}

header .wp-block-navigation__responsive-container-open:hover,
header .wp-block-navigation__responsive-container-close:hover {
  background: transparent;
  color: #020617;
  opacity: 0.8;
}

header .wp-block-navigation__responsive-container-open svg,
header .wp-block-navigation__responsive-container-close svg {
  width: 22px;
  height: 22px;
}

header .wp-block-navigation__responsive-container-open svg {
  display: none;
}

header .wp-block-navigation__responsive-container-open::before {
  content: "";
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  box-shadow: 0 -6px 0 currentColor, 0 6px 0 currentColor;
}

/* Keep readable text slightly inset from the content edge while leaving block layouts untouched. */
:is(.page, .single:not(.single-post)) main > .wp-block-group.is-layout-constrained > .wp-block-post-title,
.error404 main > .wp-block-group.is-layout-constrained > :is(h1, p, .theme2-404-search),
:is(.blog, .archive, .search) main > .wp-block-group.is-layout-constrained > .wp-block-query-title,
:is(.blog, .archive, .search) .wp-block-query-no-results > p,
:is(.blog, .archive, .search) .wp-block-post-template > li > .wp-block-group.is-layout-constrained > :is(.wp-block-post-title, .theme2-post-card-meta, .wp-block-post-excerpt),
.post-type-archive-portfolio main > .wp-block-group.is-layout-constrained > .wp-block-query-title,
.post-type-archive-portfolio .wp-block-query-no-results > p,
.post-type-archive-portfolio .theme2-portfolio-archive-item__content > :is(.wp-block-post-title, .wp-block-post-excerpt) {
  box-sizing: border-box;
  padding-right: var(--theme2-text-gutter);
  padding-left: var(--theme2-text-gutter);
}

:is(.page, .single:not(.single-post)) .entry-content.alignfull.wp-block-post-content.is-layout-constrained > :is(
  p,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  blockquote,
  pre,
  .wp-block-file
) {
  box-sizing: border-box;
  padding-right: var(--theme2-text-gutter);
  padding-left: var(--theme2-text-gutter);
}

:is(.page, .single:not(.single-post)) .entry-content.alignfull.wp-block-post-content.is-layout-constrained > :is(ul, ol) {
  box-sizing: border-box;
  padding-right: var(--theme2-text-gutter);
  padding-left: calc(1.25rem + var(--theme2-text-gutter));
}

@media (max-width: 1000px) {
  header > .wp-block-group.alignfull[style*="padding-bottom:1rem"] {
    padding-bottom: 0 !important;
  }

  :root {
    --theme2-mobile-text-gutter: 1rem;
  }

  header .theme2-header-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "brand actions"
      "nav nav";
    row-gap: 0.65rem;
    column-gap: 0.85rem;
    align-items: center;
  }

  header .theme2-header-brand {
    grid-area: brand;
    min-width: 0;
  }

  header .theme2-header-actions {
    grid-area: actions;
    margin-left: 0;
    width: auto;
    justify-content: flex-end;
    flex-shrink: 0;
  }

  header .theme2-classic-menu--right {
    order: 1;
  }

  header .theme2-header-actions .theme2-classic-menu--right {
    display: none;
  }

  header .theme2-header-nav {
    grid-area: nav;
    position: fixed;
    top: var(--theme2-mobile-menu-top, 72px);
    right: 0;
    bottom: 0;
    left: 0;
    width: 100vw;
    height: calc(100vh - var(--theme2-mobile-menu-top, 72px));
    height: calc(100dvh - var(--theme2-mobile-menu-top, 72px));
    padding: 0 0 1.6rem;
    box-sizing: border-box;
    background: #ffffff;
    z-index: 1200;
    display: none;
    overflow-y: auto;
  }

  header .theme2-header-nav .theme2-classic-menu {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  header .theme2-header-nav .theme2-classic-menu .theme2-classic-menu__list {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    width: 100%;
    min-width: 0;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  header .theme2-header-nav .theme2-classic-menu .theme2-classic-menu__list > li {
    margin: 0;
    padding: 0;
  }

  header.theme2-menu-open .theme2-header-nav {
    display: block;
  }

  header .theme2-header-nav .theme2-classic-menu .theme2-classic-menu__list a {
    display: block;
    width: 100%;
    box-sizing: border-box;
    min-height: 50px;
    padding: 0.72rem 1rem;
    margin: 0;
    font-size: 1.08rem;
    border-bottom: 1px solid #eef2f7;
    border-radius: 0;
  }

  header .theme2-header-nav > .theme2-classic-menu .theme2-classic-menu__list > li:is(
    .current-menu-item,
    .current-menu-parent,
    .current-menu-ancestor,
    .current_page_item,
    .current_page_parent,
    .current_page_ancestor,
    .current-page-item,
    .current-page-parent,
    .current-page-ancestor
  ) > a,
  header .theme2-header-nav > .theme2-classic-menu .theme2-classic-menu__list > li > a[aria-current="page"] {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.2em;
  }

  header .theme2-header-mobile-cta-wrap {
    display: block;
    margin-top: 1.25rem;
    padding-top: 0.25rem;
  }

  header .theme2-header-mobile-language-wrap {
    display: none;
  }

  header .theme2-header-mobile-cta-wrap .theme2-classic-menu--right .theme2-classic-menu__list {
    justify-content: center;
    align-items: center;
  }

  header .theme2-header-mobile-cta-wrap .theme2-classic-menu--right .theme2-classic-menu__list a {
    display: inline-flex;
    width: auto;
    min-height: 42px;
    padding: 0.54rem 1.85rem;
    font-size: 0.94rem;
    border-bottom: 0;
    border-radius: 999px;
    background: #f97336;
    color: #ffffff !important;
    box-shadow: 0 8px 20px rgba(249, 115, 54, 0.28);
    justify-content: center;
  }

  header .theme2-header-nav .theme2-classic-menu .theme2-classic-menu__list a:is(:hover, :focus-visible),
  header .theme2-header-mobile-cta-wrap .theme2-classic-menu--right .theme2-classic-menu__list a:is(:hover, :focus-visible) {
    transform: none;
  }

  header .theme2-header-menu-toggle {
    display: inline-flex;
  }

  header .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: inline-flex;
  }

  header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: none;
  }

  header .site-container {
    gap: 0.75rem;
  }

  header .wp-block-navigation__responsive-container.is-menu-open {
    background: #ffffff !important;
    color: #111111 !important;
    padding: 0.95rem 0;
  }

  header .wp-block-navigation__responsive-close {
    width: min(100% - 2rem, 1440px);
    margin-left: auto;
    margin-right: auto;
  }

  header .wp-block-navigation__responsive-dialog {
    width: 100%;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    padding-top: 0.5rem;
    gap: 0.5rem;
    width: 100%;
    align-items: stretch;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list {
    width: 100%;
    gap: 0.35rem;
    align-items: stretch;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    width: 100%;
    align-items: stretch;
    border-radius: 8px;
    transition: background-color 0.2s ease;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    display: block;
    width: 100%;
    box-sizing: border-box;
    min-height: 44px;
    padding: 0.5rem 0 !important;
    border-radius: 8px;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:is(
    .current-menu-item,
    .current-menu-parent,
    .current-menu-ancestor,
    .current_page_item,
    .current_page_parent,
    .current_page_ancestor
  ) > .wp-block-navigation-item__content,
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content[aria-current="page"] {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.2em;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:is(:hover, :focus-within),
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current-menu-item,
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current_page_item {
    background: #f3f6fa;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
    text-decoration: none;
    background: transparent;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    row-gap: 0.2rem;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child > .wp-block-navigation-item__content {
    grid-column: 1;
    min-width: 0;
    padding-right: 0 !important;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child > .wp-block-navigation-submenu__toggle {
    grid-column: 2;
    align-self: stretch;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    width: 2rem;
    margin: 0;
    padding: 0 !important;
    border-radius: 8px;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-icon svg {
    width: 0.7em;
    height: 0.7em;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container {
    grid-column: 1 / -1;
    position: static;
    width: 100%;
    min-width: 0;
    height: 0;
    opacity: 0;
    overflow: hidden;
    visibility: hidden;
    margin: 0.1rem 0 0.2rem;
    padding: 0 0 0 0.85rem !important;
    border-left: 1px solid #dbe3ec;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child > .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
    height: auto;
    opacity: 1;
    overflow: visible;
    visibility: visible;
    padding-top: 0.15rem !important;
    padding-bottom: 0.15rem !important;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle {
    min-height: 38px;
    padding: 0.35rem 0.5rem !important;
  }

  header .theme2-header-brand {
    gap: 0.55rem;
  }

  header .theme2-header-actions .wp-block-navigation {
    order: 2;
  }

  header .theme2-header-actions .theme2-header-search-toggle {
    order: 1;
  }

  header .theme2-header-search-wrap {
    margin-top: 0;
  }

  header.theme2-search-open .theme2-header-search-wrap {
    margin-top: 0.5rem;
  }

  :is(.page, .single:not(.single-post)) main > .wp-block-group.is-layout-constrained > .wp-block-post-title {
    box-sizing: border-box;
    padding-right: var(--theme2-mobile-text-gutter);
    padding-left: var(--theme2-mobile-text-gutter);
  }

  :is(.page, .single:not(.single-post)) .entry-content.alignfull.wp-block-post-content.is-layout-constrained > :is(
    p,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    blockquote,
    pre,
    .wp-block-file
  ) {
    box-sizing: border-box;
    padding-right: var(--theme2-mobile-text-gutter);
    padding-left: var(--theme2-mobile-text-gutter);
  }

  :is(.page, .single:not(.single-post)) .entry-content.alignfull.wp-block-post-content.is-layout-constrained > :is(ul, ol) {
    box-sizing: border-box;
    padding-right: var(--theme2-mobile-text-gutter);
    padding-left: calc(1.25rem + var(--theme2-mobile-text-gutter));
  }

  .error404 main > .wp-block-group.is-layout-constrained > :is(h1, p, .theme2-404-search) {
    box-sizing: border-box;
    padding-right: var(--theme2-mobile-text-gutter);
    padding-left: var(--theme2-mobile-text-gutter);
  }

  :is(.blog, .archive, .search) main > .wp-block-group.is-layout-constrained > .wp-block-query-title,
  :is(.blog, .archive, .search) .wp-block-query-no-results > p {
    box-sizing: border-box;
    padding-right: var(--theme2-mobile-text-gutter);
    padding-left: var(--theme2-mobile-text-gutter);
  }

  :is(.blog, .archive, .search) .wp-block-post-template > li > .wp-block-group.is-layout-constrained > :is(
    .wp-block-post-title,
    .theme2-post-card-meta,
    .wp-block-post-excerpt
  ) {
    box-sizing: border-box;
    padding-right: var(--theme2-mobile-text-gutter);
    padding-left: var(--theme2-mobile-text-gutter);
  }

  .post-type-archive-portfolio main > .wp-block-group.is-layout-constrained > .wp-block-query-title,
  .post-type-archive-portfolio .wp-block-query-no-results > p {
    box-sizing: border-box;
    padding-right: var(--theme2-mobile-text-gutter);
    padding-left: var(--theme2-mobile-text-gutter);
  }

  .post-type-archive-portfolio .theme2-portfolio-archive-item__content > :is(.wp-block-post-title, .wp-block-post-excerpt) {
    box-sizing: border-box;
    padding-right: var(--theme2-mobile-text-gutter);
    padding-left: var(--theme2-mobile-text-gutter);
  }
}

@media (max-width: 390px) {
  header .theme2-header-desktop-language {
    display: none;
  }
}

@media (max-width: 390px) {
  header .theme2-header-main {
    row-gap: 0.55rem;
  }

  header .theme2-header-brand {
    gap: 0.45rem;
  }

  header .theme2-language-switcher {
    display: none;
  }

  header .theme2-header-mobile-language-wrap {
    display: block;
    margin-top: 0.85rem;
    text-align: center;
  }

  header .theme2-header-mobile-language-wrap .theme2-language-switcher {
    display: inline-flex;
    justify-content: center;
  }

  header .theme2-header-mobile-language-wrap .theme2-language-switcher__list {
    justify-content: center;
  }

  header .theme2-header-nav {
    top: var(--theme2-mobile-menu-top, 66px);
    height: calc(100vh - var(--theme2-mobile-menu-top, 66px));
    height: calc(100dvh - var(--theme2-mobile-menu-top, 66px));
  }

}

@media (min-width: 783px) and (max-width: 1000px) {
  header .theme2-language-switcher :is(.theme2-language-switcher__link, .theme2-language-switcher__current) {
    min-width: 32px;
    min-height: 32px;
    padding: 0.14rem;
  }

  header .theme2-language-switcher img {
    width: 18px;
  }
}

body.theme2-menu-open-mobile {
  overflow: hidden;
}

@media (max-width: 640px) {
  .theme2-marketing-hero__actions,
  .theme2-marketing-cta__actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.95rem;
    width: 100%;
  }

  .theme2-marketing-hero__actions .theme2-marketing-button,
  .theme2-marketing-cta__actions .theme2-marketing-button {
    width: 100%;
    min-height: 56px;
    padding-top: 0.58em;
    padding-right: 1rem;
    padding-bottom: 0.58em;
    padding-left: 1rem;
    white-space: nowrap;
    text-align: center;
    justify-content: center;
    line-height: 1.15;
  }
}

.theme2-post-meta,
.theme2-post-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 1rem;
  color: #5f6b7a;
  font-size: var(--theme2-font-size-note);
  line-height: 1.35;
}

.theme2-post-meta {
  width: 100%;
}

.theme2-post-meta > *,
.theme2-post-card-meta > * {
  margin: 0;
}

.theme2-post-meta > * {
  position: relative;
  display: inline-flex;
  align-items: center;
  max-width: 100%;
}

.theme2-post-meta > * + * {
  padding-left: 0.9rem;
}

.theme2-post-meta > * + *::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 0.95em;
  transform: translateY(-50%);
  background: #d5dde7;
}

.theme2-post-meta .wp-block-post-date,
.theme2-post-meta .wp-block-post-comments-link {
  white-space: nowrap;
}

.theme2-post-meta a,
.theme2-post-card-meta a {
  text-decoration: none;
}

.theme2-post-meta a:hover,
.theme2-post-card-meta a:hover {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

@media (max-width: 640px) {
  .theme2-post-meta,
  .theme2-post-card-meta {
    gap: 0.35rem 0.65rem;
  }

  .theme2-post-meta {
    font-size: var(--theme2-font-size-small);
  }

  .theme2-post-card-meta {
    font-size: var(--theme2-font-size-small);
  }

  .theme2-post-meta > * + * {
    padding-left: 0;
  }

  .theme2-post-meta > * + *::before {
    content: none;
  }

  .blog .wp-block-post-template > li > .wp-block-group,
  .archive .wp-block-post-template > li > .wp-block-group,
  .search .wp-block-post-template > li > .wp-block-group {
    padding-top: 0.8rem !important;
    padding-bottom: 0.8rem !important;
    margin-bottom: 0.8rem !important;
  }

  .blog .wp-block-query-title,
  .archive .wp-block-query-title,
  .search .wp-block-query-title {
    margin: 0 0 0.2rem;
  }
}

.error404 .theme2-404-lead {
  color: #0f172a;
  font-size: var(--theme2-font-size-ui-large);
  line-height: 1.45;
}

.error404 .theme2-404-page > p:last-of-type {
  color: #475569;
}

.error404 .theme2-404-search {
  margin-top: 1rem;
}

.error404 .theme2-404-search .wp-block-search {
  margin: 0;
}

.search .theme2-search-page-form {
  box-sizing: border-box;
  margin-top: 0.9rem;
  padding-right: var(--theme2-text-gutter);
  padding-left: var(--theme2-text-gutter);
}

.search .theme2-search-page-form .wp-block-search {
  margin: 0;
}

.search .theme2-search-results {
  box-sizing: border-box;
  margin-top: 1.15rem;
  padding-top: 1.2rem;
  border-top: 1px solid #d7dfea;
}

.search .theme2-search-results .wp-block-query-pagination {
  box-sizing: border-box;
  padding-right: var(--theme2-text-gutter);
  padding-left: var(--theme2-text-gutter);
}

/* Keep list markers inside content flow for post/page content. */
.wp-block-post-content :is(ul, ol) {
  margin-left: 0;
  padding-left: 1.25rem;
}

.wp-block-post-content :is(ul, ol) :is(ul, ol) {
  margin-top: 0.35rem;
}

.wp-block-post-content li + li {
  margin-top: 0.25rem;
}

/* Soften separators inside post content (avoid thick, dark HR lines). */
.single-post .wp-block-post-content hr:not(.wp-block-separator),
.single-post .wp-block-post-content .wp-block-separator:not(.is-style-dots) {
  border: 0;
  border-top: 1px solid #d7dfea !important;
  background: transparent !important;
  color: #d7dfea !important;
  height: 0;
  margin: 1.25rem auto;
}

.single-post .wp-block-post-content .wp-block-separator:not(.is-style-dots) {
  max-width: 100%;
}

.single-post .theme2-post-meta {
  font-size: 0.875rem;
  line-height: 1.45;
}

.theme2-post-vote-anchor {
  min-height: 1px;
}

.theme2-post-vote {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.32rem 0.55rem;
  color: #64748b;
  font-size: var(--theme2-font-size-ui);
  line-height: 1;
}

.theme2-post-vote.is-loading {
  opacity: 0.65;
  pointer-events: none;
}

.theme2-post-vote__label {
  margin-right: 0.2rem;
  color: #475569;
}

.theme2-post-vote__button {
  color: #64748b;
  text-decoration: none;
  font-size: var(--theme2-font-size-ui-large);
  line-height: 1;
}

.theme2-post-vote__button:is(:hover, :focus-visible) {
  color: #0f172a;
  text-decoration: none;
}

.theme2-post-vote__button.is-selected {
  color: #0f172a;
}

.theme2-post-vote__count {
  min-width: 1ch;
  text-align: center;
  font-size: var(--theme2-font-size-meta);
  color: #64748b;
}

.single-post .theme2-post-vote {
  gap: 0.4rem 0.65rem;
  font-size: 0.875rem;
}

.single-post .theme2-post-vote__button {
  font-size: 0.95rem;
}

.single-post .theme2-post-vote__count {
  font-size: 0.8125rem;
}

.theme2-most-liked-widget {
  margin-top: 1.15rem;
  padding-top: 0.95rem;
  border-top: 1px solid #e5e5e5;
}

.theme2-most-liked-widget__title {
  margin: 0 0 0.5rem;
}

.theme2-most-liked-widget__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.5rem;
}

.theme2-most-liked-widget__item {
  margin: 0;
}

.theme2-most-liked-widget__link {
  color: #0f172a;
  display: inline-block;
  font-weight: var(--theme2-font-weight-semibold);
  text-decoration: none;
}

.theme2-most-liked-widget__link:hover {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.theme2-most-liked-widget__meta {
  margin: 0.25rem 0 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.3rem 0.75rem;
  color: #64748b;
  font-size: var(--theme2-font-size-meta);
}

.theme2-most-liked-widget__likes,
.theme2-most-liked-widget__dislikes {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}

.theme2-most-liked-widget__empty {
  margin: 0;
  color: #64748b;
  font-size: var(--theme2-font-size-small);
}

.theme2-most-liked-comments-widget {
  margin-top: 1.15rem;
  padding-top: 0.95rem;
  border-top: 1px solid #e5e5e5;
}

.theme2-most-liked-comments-widget__title {
  margin: 0 0 0.5rem;
}

.theme2-most-liked-comments-widget__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.7rem;
}

.theme2-most-liked-comments-widget__item {
  margin: 0;
}

.theme2-most-liked-comments-widget__comment-link {
  color: #0f172a;
  display: inline;
  font-size: var(--theme2-font-size-small);
  font-weight: var(--theme2-font-weight-normal);
  line-height: 1.45;
  text-decoration: none;
}

.theme2-most-liked-comments-widget__comment-link:hover,
.theme2-most-liked-comments-widget__post-link:hover {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.theme2-most-liked-comments-widget__context {
  margin: 0.28rem 0 0;
  color: #64748b;
  font-size: var(--theme2-font-size-meta);
}

.theme2-most-liked-comments-widget__context-label {
  color: #64748b;
}

.theme2-most-liked-comments-widget__post-link {
  color: #334155;
  text-decoration: none;
}

.theme2-most-liked-comments-widget__meta {
  margin-top: 0.25rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.3rem 0.75rem;
  color: #64748b;
  font-size: var(--theme2-font-size-meta);
}

.theme2-most-liked-comments-widget__likes,
.theme2-most-liked-comments-widget__dislikes {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}

.theme2-most-liked-comments-widget__empty {
  margin: 0;
  color: #64748b;
  font-size: var(--theme2-font-size-small);
}

.theme2-single-post-sidebar {
  border-left: 1px solid #e5e5e5;
  padding-left: 1.5rem;
  font-size: var(--theme2-font-size-body);
  line-height: 1.6;
}

.theme2-single-post-sidebar .theme2-sidebar-widget {
  margin: 0;
  padding: 0 0 1rem;
  border-bottom: 1px solid #e5e5e5;
}

.theme2-single-post-sidebar .theme2-sidebar-widget + .theme2-sidebar-widget {
  margin-top: 1rem;
}

.theme2-single-post-sidebar .theme2-sidebar-widget .wp-block-heading {
  margin-top: 0;
  margin-bottom: 0.6rem;
  font-size: clamp(1.05rem, 1.3vw, 1.2rem);
  line-height: 1.3;
}

/* Sidebar wrappers own separators; avoid duplicate top line inside custom shortcodes. */
.theme2-single-post-sidebar .theme2-most-liked-widget,
.theme2-single-post-sidebar .theme2-most-liked-comments-widget {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.theme2-single-post-sidebar :is(
  .wp-block-search__input,
  .wp-block-search__button,
  .wp-block-latest-posts,
  .wp-block-categories-list,
  .theme2-most-liked-widget,
  .theme2-most-liked-comments-widget
) {
  font-size: var(--theme2-font-size-body);
}

.theme2-single-post-sidebar .wp-block-latest-posts,
.theme2-single-post-sidebar .wp-block-categories-list {
  margin-top: 0.6rem;
}

.theme2-single-post-sidebar .wp-block-latest-posts li,
.theme2-single-post-sidebar .wp-block-categories-list li {
  margin-bottom: 0.45rem;
  line-height: 1.55;
}

.theme2-single-post-sidebar .wp-block-latest-posts a,
.theme2-single-post-sidebar .wp-block-categories-list a {
  line-height: 1.55;
}

.theme2-single-post-sidebar .wp-block-latest-posts__post-date {
  margin-top: 0.25rem;
  color: #64748b;
  font-size: 0.8125rem;
}

.theme2-single-post-sidebar .theme2-most-liked-widget__link,
.theme2-single-post-sidebar .theme2-most-liked-comments-widget__comment-link {
  font-size: var(--theme2-font-size-body);
  line-height: 1.55;
}

.theme2-single-post-sidebar .theme2-most-liked-widget__meta,
.theme2-single-post-sidebar .theme2-most-liked-comments-widget__context,
.theme2-single-post-sidebar .theme2-most-liked-comments-widget__meta {
  font-size: 0.8125rem;
  line-height: 1.45;
}

.theme2-single-post-sidebar .theme2-most-liked-widget__empty,
.theme2-single-post-sidebar .theme2-most-liked-comments-widget__empty {
  font-size: 0.875rem;
}

/* Single post comments: cards + readable threaded replies */
.theme2-single-post-comments .wp-block-comments {
  margin-top: 0.5rem;
}

.theme2-single-post-comments .wp-block-comments-title {
  margin-bottom: 1rem;
}

.theme2-single-post-comments .wp-block-comment-template,
.theme2-single-post-comments .wp-block-comment-template .children {
  margin: 0;
  padding-left: 0;
  list-style: none;
}

.theme2-single-post-comments .wp-block-comment-template > li {
  margin-bottom: 1rem;
}

.theme2-single-post-comments .wp-block-comment-template .children {
  margin-top: 0.85rem;
  margin-left: 1rem;
  padding-left: 1rem;
  border-left: 1px solid #d8dee8;
}

.theme2-single-post-comments .theme2-comment-card {
  position: relative;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #f8fafc;
  padding-bottom: 1rem !important;
}

.theme2-single-post-comments .theme2-comment-seq {
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  margin-left: auto !important;
  font-size: 0.8125rem;
  font-weight: var(--theme2-font-weight-normal);
  line-height: 1.2;
  color: #334155;
  background: transparent;
  border: 0;
  border-radius: 0;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  padding: 0;
  pointer-events: none;
}

.theme2-single-post-comments .depth-2 > .theme2-comment-card {
  background: #ffffff;
  border-color: #dbe4ee;
}

.theme2-single-post-comments .depth-3 > .theme2-comment-card {
  background: #ffffff;
  border-color: #d5dfeb;
}

.theme2-single-post-comments .depth-4 > .theme2-comment-card {
  background: #ffffff;
  border-color: #cfd9e6;
}

.theme2-single-post-comments .theme2-comment-header {
  gap: 0.75rem;
  margin-bottom: 0.6rem;
  align-items: flex-start;
}

.theme2-single-post-comments .theme2-comment-header :is(.wp-block-avatar, .wp-block-comment-author-avatar) {
  flex-shrink: 0;
}

.theme2-single-post-comments .theme2-comment-header > .wp-block-group {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: row !important;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.75rem;
}

.theme2-single-post-comments .theme2-comment-header .wp-block-comment-author-name {
  margin: 0;
  font-size: var(--theme2-font-size-body);
  line-height: 1.25;
  font-weight: var(--theme2-font-weight-semibold);
}

.theme2-single-post-comments .theme2-comment-header .wp-block-comment-date {
  margin: 0;
  margin-left: auto;
  padding-left: 0.75rem;
  color: #64748b;
  font-size: 0.8125rem;
  line-height: 1.4;
  text-align: right;
  white-space: nowrap;
}

.theme2-single-post-comments .wp-block-comment-content {
  margin-top: 0;
  font-size: var(--theme2-font-size-body);
  line-height: 1.7;
}

.theme2-single-post-comments .wp-block-comment-content > :first-child {
  margin-top: 0;
}

.theme2-single-post-comments .wp-block-comment-content > :last-child {
  margin-bottom: 0;
}

.theme2-single-post-comments .theme2-comment-actions {
  gap: 0.45rem 0.9rem;
  margin-top: 0.85rem;
  font-size: 0.875rem;
  line-height: 1.45;
  width: 100%;
  justify-content: flex-start;
  align-items: center;
}

.theme2-single-post-comments .theme2-comment-actions > * {
  margin: 0;
}

.theme2-single-post-comments .theme2-comment-votes {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  color: #64748b;
  line-height: 1;
}

.theme2-single-post-comments .theme2-comment-votes.is-loading {
  opacity: 0.65;
  pointer-events: none;
}

.theme2-single-post-comments .theme2-comment-actions a.theme2-comment-vote-button {
  color: #64748b;
  text-decoration: none;
  font-size: 0.95rem;
  line-height: 1;
}

.theme2-single-post-comments .theme2-comment-actions a.theme2-comment-vote-button:is(:hover, :focus-visible) {
  color: #0f172a;
  text-decoration: none;
}

.theme2-single-post-comments .theme2-comment-vote-button[aria-disabled="true"] {
  pointer-events: none;
}

.theme2-single-post-comments .theme2-comment-vote-button.is-selected {
  color: #0f172a;
  font-weight: var(--theme2-font-weight-semibold);
}

.theme2-single-post-comments .theme2-comment-vote-count {
  min-width: 1ch;
  text-align: center;
  font-size: 0.75rem;
  color: #64748b;
}

.theme2-single-post-comments .theme2-comment-actions > .theme2-comment-seq {
  order: 99;
  text-align: right;
}

.theme2-single-post-comments .theme2-comment-actions a {
  color: #334155;
  text-decoration: none;
}

.theme2-single-post-comments .theme2-comment-actions a:hover {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.theme2-single-post-comments .wp-block-comments-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 0.8rem 0 1.4rem;
  font-size: 0.875rem;
  line-height: 1.45;
}

.theme2-single-post-comments .wp-block-comments-pagination a {
  text-decoration: none;
}

.theme2-single-post-comments .wp-block-comments-pagination a:hover {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.theme2-single-post-comments .wp-block-post-comments-form {
  margin-top: 1rem;
}

.theme2-single-post-comments .comment-respond {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 1rem;
  background: #f8fafc;
}

.theme2-single-post-comments .comment-reply-title {
  margin-top: 0;
  margin-bottom: 0.75rem;
}

.theme2-single-post-comments :is(.comment-notes, .logged-in-as) {
  margin-bottom: 0.75rem;
  color: #64748b;
  font-size: 0.875rem;
  line-height: 1.45;
}

.theme2-single-post-comments :is(.comment-form-author, .comment-form-email, .comment-form-url, .comment-form-comment) {
  margin-bottom: 0.7rem;
}

.theme2-single-post-comments :is(label) {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.875rem;
  line-height: 1.45;
}

.theme2-single-post-comments :is(input[type="text"], input[type="email"], input[type="url"], textarea) {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 0.62rem 0.75rem;
  box-sizing: border-box;
  background: #ffffff;
  color: inherit;
  font-size: var(--theme2-font-size-body);
  line-height: 1.5;
}

.theme2-single-post-comments textarea {
  min-height: 140px;
  resize: vertical;
}

.theme2-single-post-comments :is(input[type="text"], input[type="email"], input[type="url"], textarea):focus {
  border-color: #3b82f6;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.16);
}

.theme2-single-post-comments .comment-form-cookies-consent {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  margin-bottom: 0.9rem;
  font-size: 0.875rem;
  line-height: 1.45;
  color: #64748b;
}

.theme2-single-post-comments .comment-form-cookies-consent input[type="checkbox"] {
  margin-top: 0.22rem;
}

.theme2-single-post-comments .comment-form-cookies-consent label {
  margin: 0;
}

/* Single post action buttons: force one Hero-like effect only */
.single-post .wp-block-post-comments-form .form-submit .wp-element-button {
  appearance: none;
  cursor: pointer;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.52rem;
  min-height: 44px;
  box-sizing: border-box;
  text-decoration: none !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f97336 !important;
  background-image: none !important;
  color: #ffffff !important;
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1;
  overflow: hidden;
  padding: 1.1rem 2.24rem;
  white-space: nowrap;
  box-shadow: 0 8px 20px rgba(249, 115, 54, 0.28);
  transition: background-color 0.2s ease, transform 0.2s ease, color 0.2s ease, text-shadow 0.22s ease;
}

.single-post .wp-block-post-comments-form .form-submit .wp-element-button::after {
  content: none !important;
}

.single-post .wp-block-post-comments-form .form-submit .wp-element-button::before {
  content: "";
  order: 2;
  flex: 0 0 auto;
  width: 15px;
  height: 15px;
  display: inline-block;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7.59189 13.1665L6.43585 12.0218L10.4499 8.00252H0.583984V6.33049H10.4499L6.43585 2.31763L7.59189 1.1665L13.584 7.1665L7.59189 13.1665Z' fill='black'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7.59189 13.1665L6.43585 12.0218L10.4499 8.00252H0.583984V6.33049H10.4499L6.43585 2.31763L7.59189 1.1665L13.584 7.1665L7.59189 13.1665Z' fill='black'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  position: relative;
  z-index: 1;
  transition: transform 0.22s ease;
}

.single-post .wp-block-post-comments-form .form-submit .wp-element-button:is(:hover, :focus-visible) {
  background: #ea6228 !important;
  color: #ffffff !important;
  text-decoration: none;
  transform: none;
  box-shadow: 0 8px 20px rgba(249, 115, 54, 0.28);
}

.single-post .wp-block-post-comments-form .form-submit .wp-element-button:is(:hover, :focus-visible)::before {
  transform: translate3d(2px, 0, 0);
}

.single-post .wp-block-post-comments-form .form-submit .wp-element-button:active {
  transform: none;
  box-shadow: 0 8px 20px rgba(249, 115, 54, 0.28);
}

@media (max-width: 900px) {
  .theme2-single-post-layout {
    --wp--style--block-gap: 1.35rem;
  }

  .single-post .theme2-post-meta {
    margin-bottom: 1.1rem !important;
  }

  .theme2-single-post-sidebar {
    border-left: 0;
    border-top: 1px solid #e5e5e5;
    padding-left: 0;
    padding-top: 1.25rem;
    margin-top: 0.75rem;
  }

  .theme2-single-post-comments .wp-block-comment-template .children {
    margin-left: 0.55rem;
    padding-left: 0.65rem;
  }

  .theme2-single-post-comments .comment-respond {
    padding: 0.85rem;
  }
}

@media (max-width: 640px) {
  .theme2-single-post-layout {
    --wp--style--block-gap: 1rem;
  }

  .single-post .theme2-post-meta {
    font-size: 0.8125rem;
  }

  .theme2-single-post-sidebar {
    margin-top: 0.5rem;
    padding-top: 1rem;
  }

  .theme2-single-post-sidebar .wp-block-heading {
    margin-bottom: 0.45rem;
  }

  .theme2-single-post-comments .theme2-comment-header > .wp-block-group {
    flex-wrap: wrap;
    gap: 0.3rem 0.55rem;
  }

  .theme2-single-post-comments .theme2-comment-header .wp-block-comment-date {
    margin-left: 0;
    padding-left: 0;
    width: 100%;
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  .single-post .wp-block-post-comments-form .form-submit .wp-element-button {
    transition: none;
  }

  .single-post .wp-block-post-comments-form .form-submit .wp-element-button::before {
    transition: none;
  }

  .single-post .wp-block-post-comments-form .form-submit .wp-element-button:is(:hover, :focus-visible)::before {
    transform: none;
  }

  .single-post .wp-block-post-comments-form .form-submit .wp-element-button:active {
    transform: none;
  }
}

/* Keep the cookie consent close to the plugin's original size, while retaining the link-style buttons. */
.pll-cc__box {
  box-shadow: 0 18px 40px rgba(17, 24, 39, 0.16), 0 4px 10px rgba(17, 24, 39, 0.12);
  padding-top: clamp(0.85rem, 1.9vw, 1.1rem);
  padding-bottom: clamp(0.85rem, 1.9vw, 1.1rem);
  padding-left: max(1rem, calc((100% - 1440px) / 2));
  padding-right: max(1rem, calc((100% - 1440px) / 2));
}

.pll-cc__title {
  padding-right: 3.1rem;
  font-size: clamp(1.22rem, 2vw, 1.6rem);
}

.pll-cc__description {
  margin-top: 0.5rem;
  line-height: 1.45;
}

.pll-cc__actions {
  gap: 0.6rem;
  margin-top: 0.8rem;
}

.pll-cc__btn,
.pll-cookie-open-settings {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  min-height: auto;
  padding: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  color: #334155 !important;
  font-size: inherit;
  font-weight: 600;
  line-height: inherit;
  text-decoration: underline !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
  white-space: nowrap;
  box-shadow: none !important;
  transition: color 0.2s ease;
  box-sizing: border-box;
  cursor: pointer;
}

.pll-cc__btn::after,
.pll-cookie-open-settings::after,
.pll-cc__btn::before,
.pll-cookie-open-settings::before {
  content: none !important;
}

.pll-cc__btn:is(:hover, :focus-visible),
.pll-cookie-open-settings:is(:hover, :focus-visible) {
  background: transparent !important;
  color: #0f172a !important;
  text-decoration: underline !important;
  transform: none;
  box-shadow: none !important;
}

.pll-cc__btn:active,
.pll-cookie-open-settings:active {
  transform: none;
  box-shadow: none !important;
}

.pll-cc__policy-link {
  font-weight: 600;
}

.pll-cc__close {
  top: 0.7rem;
  right: calc(max(1rem, calc((100% - 1440px) / 2)) - 0.3rem);
  min-width: 38px;
  width: 38px;
  min-height: 38px;
  height: 38px;
  font-size: 1.24rem;
}

.pll-cc-modal {
  padding: clamp(0.9rem, 2vw, 1.25rem);
}

.pll-cc-modal__panel {
  width: min(100%, 560px);
  border-radius: 10px;
  box-shadow: 0 20px 44px rgba(15, 23, 42, 0.22);
  padding: clamp(1rem, 2.3vw, 1.3rem);
  padding-top: clamp(1.35rem, 3vw, 1.7rem);
}

.pll-cc-modal__panel h4 {
  margin-bottom: 1rem;
  padding-right: 3.35rem;
  font-size: clamp(1.05rem, 1.8vw, 1.35rem);
  line-height: 1.2;
}

.pll-cc-modal__row {
  margin-bottom: 0.62rem;
}

.pll-cc-modal__row label {
  gap: 0.68rem;
  padding: 0.62rem 0.74rem;
  border-radius: 8px;
  line-height: 1.32;
}

.pll-cc-modal__row input[type="checkbox"] {
  width: 20px;
  height: 20px;
  border-radius: 6px;
  background-size: 12px 12px;
}

.pll-cc-modal__actions {
  margin-top: 0.9rem;
  gap: 0.72rem;
}

@media (max-width: 720px) {
  .pll-cc__box {
    padding-top: 0.9rem;
  }

  .pll-cc__actions {
    gap: 0.56rem;
  }
}

@media (max-width: 560px) {
  .pll-cc-modal {
    padding: 1rem;
  }

  .pll-cc-modal__panel {
    padding: 0.95rem;
    padding-top: 1.2rem;
    border-radius: 10px;
  }
}
