/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
:root, :host {
  --color-surface: var(--color-white);
  --color-ink: var(--color-slate-950);
  --color-ink-muted: var(--color-slate-600);
  --color-primary: oklch(0.695793 0.204259 43.491);
  --color-primary-lighter: color-mix(
        in oklch,
        oklch(0.695793 0.204259 43.491) 80%,
        #fff
    );
  @supports (color: color-mix(in lab, red, red)) {
    --color-primary-lighter: color-mix(
        in oklch,
        var(--color-primary) 80%,
        var(--color-white)
    );
  }
  --color-primary-darker: color-mix(
        in oklch,
        oklch(0.695793 0.204259 43.491) 80%,
        #000
    );
  @supports (color: color-mix(in lab, red, red)) {
    --color-primary-darker: color-mix(
        in oklch,
        var(--color-primary) 80%,
        var(--color-black)
    );
  }
  --color-on-primary: #fff;
  --color-secondary: oklch(53% 0.15 150);
  --color-secondary-lighter: color-mix(
        in oklch,
        oklch(53% 0.15 150) 80%,
        #fff
    );
  @supports (color: color-mix(in lab, red, red)) {
    --color-secondary-lighter: color-mix(
        in oklch,
        var(--color-secondary) 80%,
        var(--color-white)
    );
  }
  --color-secondary-darker: color-mix(
        in oklch,
        oklch(53% 0.15 150) 80%,
        #000
    );
  @supports (color: color-mix(in lab, red, red)) {
    --color-secondary-darker: color-mix(
        in oklch,
        var(--color-secondary) 80%,
        var(--color-black)
    );
  }
  --form-py: calc(var(--spacing) * 2);
  --form-px: calc(var(--spacing) * 3);
  --form-radius: var(--radius-lg);
  --form-stroke: var(--color-gray-400, currentcolor);
  --form-bg: var(--color-white);
  --form-color: var(--color-ink, currentcolor);
  --form-active-color: var(--color-primary);
  --select-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke="hsl(0 0% 0%)"><path d="m6 9 6 6 6-6"/></svg>');
  --select-icon-size: 1.25em;
  --select-icon-offset: 0.8rem;
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
      "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
      "Segoe UI Symbol", "Noto Color Emoji";
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
  --color-red-50: oklch(97.1% 0.013 17.38);
  --color-red-100: oklch(93.6% 0.032 17.717);
  --color-red-500: oklch(63.7% 0.237 25.331);
  --color-red-600: oklch(57.7% 0.245 27.325);
  --color-red-700: oklch(50.5% 0.213 27.518);
  --color-red-800: oklch(44.4% 0.177 26.899);
  --color-orange-400: oklch(75% 0.183 55.934);
  --color-orange-500: oklch(70.5% 0.213 47.604);
  --color-yellow-50: oklch(98.7% 0.026 102.212);
  --color-yellow-100: oklch(97.3% 0.071 103.193);
  --color-yellow-400: oklch(85.2% 0.199 91.936);
  --color-yellow-500: oklch(79.5% 0.184 86.047);
  --color-yellow-600: oklch(68.1% 0.162 75.834);
  --color-green-50: oklch(98.2% 0.018 155.826);
  --color-green-400: oklch(79.2% 0.209 151.711);
  --color-green-500: oklch(72.3% 0.219 149.579);
  --color-green-600: oklch(62.7% 0.194 149.214);
  --color-green-700: oklch(52.7% 0.154 150.069);
  --color-blue-50: oklch(97% 0.014 254.604);
  --color-blue-300: oklch(80.9% 0.105 251.813);
  --color-blue-400: oklch(70.7% 0.165 254.624);
  --color-blue-500: oklch(62.3% 0.214 259.815);
  --color-blue-600: oklch(54.6% 0.245 262.881);
  --color-blue-900: oklch(37.9% 0.146 265.522);
  --color-purple-700: oklch(49.6% 0.265 301.924);
  --color-slate-50: oklch(98.4% 0.003 247.858);
  --color-slate-200: oklch(92.9% 0.013 255.508);
  --color-slate-300: oklch(86.9% 0.022 252.894);
  --color-slate-400: oklch(70.4% 0.04 256.788);
  --color-slate-500: oklch(55.4% 0.046 257.417);
  --color-slate-600: oklch(44.6% 0.043 257.281);
  --color-slate-700: oklch(37.2% 0.044 257.287);
  --color-slate-800: oklch(27.9% 0.041 260.031);
  --color-slate-950: oklch(12.9% 0.042 264.695);
  --color-gray-50: oklch(98.5% 0.002 247.839);
  --color-gray-100: oklch(96.7% 0.003 264.542);
  --color-gray-200: oklch(92.8% 0.006 264.531);
  --color-gray-300: oklch(87.2% 0.01 258.338);
  --color-gray-400: oklch(70.7% 0.022 261.325);
  --color-gray-500: oklch(55.1% 0.027 264.364);
  --color-gray-600: oklch(44.6% 0.03 256.802);
  --color-gray-700: oklch(37.3% 0.034 259.733);
  --color-gray-800: oklch(27.8% 0.033 256.848);
  --color-gray-900: oklch(21% 0.034 264.665);
  --color-black: #000;
  --color-white: #fff;
  --spacing: 0.25rem;
  --breakpoint-lg: 64rem;
  --container-xs: 20rem;
  --container-sm: 24rem;
  --container-md: 28rem;
  --container-lg: 32rem;
  --container-xl: 36rem;
  --container-2xl: 42rem;
  --container-4xl: 56rem;
  --text-xs: 0.75rem;
  --text-xs--line-height: calc(1 / 0.75);
  --text-sm: 0.875rem;
  --text-sm--line-height: calc(1.25 / 0.875);
  --text-base: 1rem;
  --text-base--line-height: calc(1.5 / 1);
  --text-lg: 1.125rem;
  --text-lg--line-height: calc(1.75 / 1.125);
  --text-xl: 1.25rem;
  --text-xl--line-height: calc(1.75 / 1.25);
  --text-2xl: 1.5rem;
  --text-2xl--line-height: calc(2 / 1.5);
  --text-3xl: 1.875rem;
  --text-3xl--line-height: calc(2.25 / 1.875);
  --text-4xl: 2.25rem;
  --text-4xl--line-height: calc(2.5 / 2.25);
  --text-6xl: 3.75rem;
  --text-6xl--line-height: 1;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --tracking-wide: 0.025em;
  --tracking-wider: 0.05em;
  --tracking-widest: 0.1em;
  --leading-tight: 1.25;
  --leading-snug: 1.375;
  --leading-relaxed: 1.625;
  --leading-loose: 2;
  --radius-sm: 0.25rem;
  --radius-md: 0.375rem;
  --radius-lg: 0.5rem;
  --radius-xl: 0.75rem;
  --radius-3xl: 1.5rem;
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --animate-spin: spin 1s linear infinite;
  --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
  --animate-bounce: bounce 1s infinite;
  --blur-xs: 4px;
  --blur-sm: 8px;
  --aspect-video: 16 / 9;
  --default-transition-duration: 150ms;
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  --default-font-family: var(--font-sans);
  --default-mono-font-family: var(--font-mono);
  --color-container-lighter: var(--color-white);
  --color-container: var(--color-gray-50);
  --color-container-darker: var(--color-gray-100);
  --color-fg: var(--color-ink);
  --color-fg-secondary: var(--color-ink-muted);
  --color-bg: var(--color-slate-50);
}
@layer base {
  :is( input:where(:not([type])), [type="text"], [type="email"], [type="url"], [type="password"], [type="number"], [type="date"], [type="datetime-local"], [type="month"], [type="search"], [type="tel"], [type="time"], [type="week"], textarea, select, .form-input, .form-textarea, .form-select, .form-multiselect ) {
    appearance: none;
    padding-block: var(--form-py);
    padding-inline: var(--form-px);
    border-radius: var(--form-radius);
    border-width: 1px;
    border-color: var(--form-stroke);
    background-color: var(--form-bg);
    color: var(--form-color);
    --outline-size: 1px;
    --outline-offset: 0px;
    &:focus {
      border-color: var(--form-active-color);
      outline-color: var(--form-active-color);
    }
  }
  :is(select:where(:not([size]:not([size="1"]), [multiple])), .form-select) {
    --_icon-position: right;
    padding-inline-end: calc( var(--select-icon-size) + var(--select-icon-offset) + 0.5ch );
    background: var(--select-icon) var(--form-bg) var(--_icon-position) var(--select-icon-offset) center/var(--select-icon-size) no-repeat;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    &:dir(rtl) {
      --_icon-position: left;
    }
  }
  :is([type="checkbox"], [type="radio"], .form-checkbox, .form-radio) {
    appearance: none;
    flex-shrink: 0;
    display: inline-block;
    block-size: calc(var(--spacing) * 4);
    inline-size: calc(var(--spacing) * 4);
    padding: 0;
    border-width: 2px;
    border-color: var(--form-stroke);
    background-color: var(--form-bg);
    color: var(--form-color);
    background-origin: border-box;
    vertical-align: middle;
    user-select: none;
    print-color-adjust: exact;
    block-size: calc(var(--spacing) * 4.5);
    inline-size: calc(var(--spacing) * 4.5);
    &:focus {
      outline-color: var(--form-active-color);
    }
    &:focus, &:checked {
      border-color: var(--form-active-color);
    }
  }
  :is([type="checkbox"], .form-checkbox):checked, :is([type="checkbox"], .form-checkbox):indeterminate {
    border-color: transparent;
    background: var(--form-active-color, currentColor) center/contain no-repeat;
  }
  :is([type="checkbox"], .form-checkbox):indeterminate {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");
  }
  :is([type="checkbox"], .form-checkbox):checked {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3E%3C/svg%3E");
  }
  :is([type="radio"], .form-radio) {
    border-radius: 50%;
    &:checked {
      border-color: transparent;
      background: var(--form-active-color, currentColor) center/contain no-repeat;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E");
    }
  }
}
@layer theme, base, components, utilities;
@layer theme;
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .pointer-events-auto {
    pointer-events: auto;
  }
  .pointer-events-none {
    pointer-events: none;
  }
  .\!visible {
    visibility: visible !important;
  }
  .collapse {
    visibility: collapse;
  }
  .invisible {
    visibility: hidden;
  }
  .visible {
    visibility: visible;
  }
  .backdrop {
    position: fixed;
    inset: 0;
    background-color: var(--backdrop, hsl(0 0 0 / 20%));
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .-inset-4 {
    inset: calc(var(--spacing) * -4);
  }
  .inset-0 {
    inset: 0px;
  }
  .inset-x-2 {
    inset-inline: calc(var(--spacing) * 2);
  }
  .inset-x-4 {
    inset-inline: calc(var(--spacing) * 4);
  }
  .inset-x-6 {
    inset-inline: calc(var(--spacing) * 6);
  }
  .inset-y-0 {
    inset-block: 0px;
  }
  .start-2 {
    inset-inline-start: calc(var(--spacing) * 2);
  }
  .end-2 {
    inset-inline-end: calc(var(--spacing) * 2);
  }
  .-top-1\.5 {
    top: calc(var(--spacing) * -1.5);
  }
  .-top-2 {
    top: calc(var(--spacing) * -2);
  }
  .-top-3 {
    top: calc(var(--spacing) * -3);
  }
  .top-0 {
    top: 0px;
  }
  .top-1 {
    top: var(--spacing);
  }
  .top-1\/2 {
    top: calc(1 / 2 * 100%);
  }
  .top-2 {
    top: calc(var(--spacing) * 2);
  }
  .top-3 {
    top: calc(var(--spacing) * 3);
  }
  .top-\[2px\] {
    top: 2px;
  }
  .top-\[15px\] {
    top: 15px;
  }
  .top-full {
    top: 100%;
  }
  .-right-1\.5 {
    right: calc(var(--spacing) * -1.5);
  }
  .-right-2 {
    right: calc(var(--spacing) * -2);
  }
  .-right-2\.5 {
    right: calc(var(--spacing) * -2.5);
  }
  .right-0 {
    right: 0px;
  }
  .right-1 {
    right: var(--spacing);
  }
  .right-2 {
    right: calc(var(--spacing) * 2);
  }
  .right-3 {
    right: calc(var(--spacing) * 3);
  }
  .right-4 {
    right: calc(var(--spacing) * 4);
  }
  .right-8 {
    right: calc(var(--spacing) * 8);
  }
  .right-\[-44px\] {
    right: -44px;
  }
  .right-\[3px\] {
    right: 3px;
  }
  .right-auto {
    right: auto;
  }
  .bottom-0 {
    bottom: 0px;
  }
  .bottom-2 {
    bottom: calc(var(--spacing) * 2);
  }
  .bottom-4 {
    bottom: calc(var(--spacing) * 4);
  }
  .bottom-\[calc\(theme\(spacing\.5\)_\/_2_-_2px\)\] {
    bottom: calc(1.25rem / 2 - 2px);
  }
  .-left-2 {
    left: calc(var(--spacing) * -2);
  }
  .left-0 {
    left: 0px;
  }
  .left-1\/2 {
    left: calc(1 / 2 * 100%);
  }
  .left-\[-44px\] {
    left: -44px;
  }
  .left-auto {
    left: auto;
  }
  .isolate {
    isolation: isolate;
  }
  .-z-10 {
    z-index: calc(10 * -1);
  }
  .z-0 {
    z-index: 0;
  }
  .z-5 {
    z-index: 5;
  }
  .z-10 {
    z-index: 10;
  }
  .z-20 {
    z-index: 20;
  }
  .z-30 {
    z-index: 30;
  }
  .z-40 {
    z-index: 40;
  }
  .z-50 {
    z-index: 50;
  }
  .z-\[1\] {
    z-index: 1;
  }
  .z-\[2\] {
    z-index: 2;
  }
  .-order-1 {
    order: calc(1 * -1);
  }
  .order-1 {
    order: 1;
  }
  .order-2 {
    order: 2;
  }
  .order-3 {
    order: 3;
  }
  .order-10 {
    order: 10;
  }
  .order-last {
    order: 9999;
  }
  .order-none {
    order: 0;
  }
  .col-span-1 {
    grid-column: span 1 / span 1;
  }
  .col-span-2 {
    grid-column: span 2 / span 2;
  }
  .col-span-3 {
    grid-column: span 3 / span 3;
  }
  .col-span-4 {
    grid-column: span 4 / span 4;
  }
  .col-span-6 {
    grid-column: span 6 / span 6;
  }
  .col-span-12 {
    grid-column: span 12 / span 12;
  }
  .col-span-full {
    grid-column: 1 / -1;
  }
  .float-end {
    float: inline-end;
  }
  .float-left {
    float: left;
  }
  .float-right {
    float: right;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .\!m-0 {
    margin: 0px !important;
  }
  .-m-4 {
    margin: calc(var(--spacing) * -4);
  }
  .m-0 {
    margin: 0px;
  }
  .m-1 {
    margin: var(--spacing);
  }
  .m-4 {
    margin: calc(var(--spacing) * 4);
  }
  .m-\[-1px\] {
    margin: -1px;
  }
  .m-auto {
    margin: auto;
  }
  .prose {
    --text-flow: 1em 1rem;
    --separator-flow: 2.5em;
    --list-flow: 0.5em;
    --h-color: initial;
    --h-family: initial;
    --h-size: 1.125em;
    --h-weight: 600;
    --h-line: 1.1;
    --h1-size: 3em;
    --h2-size: 2em;
    --h3-size: 1.625em;
    --h4-size: 1.375em;
    --marker-color: var(--color-primary);
    --link-color: var(--color-primary);
    --link-weight: 500;
    --blockquote-color: var(--color-primary);
    --table-py: calc(var(--spacing) * 3);
    --table-px: calc(var(--spacing) * 2);
    --table-stroke: var(--color-gray-400);
    --table-bg: canvas;
    --table-color: canvastext;
    :where(h1, h2, h3, h4, h5, h6, p, dl, ul, ol, pre, hgroup) {
      margin-block: var(--text-flow);
    }
    :where(blockquote, figure, hr) {
      margin-block: var(--separator-flow);
      margin-inline: 0;
    }
    :where([class~="lead"]) {
      font-size: 1.25em;
    }
    :where(h1, h2, h3, h4, h5, h6) {
      color: var(--h-color);
      font-family: var(--h-family);
      font-size: var(--h-size);
      font-weight: var(--h-weight);
      line-height: var(--h-line);
      text-wrap: balance;
    }
    :where(h1) {
      --h-size: var(--h1-size);
    }
    :where(h2) {
      --h-size: var(--h2-size);
    }
    :where(h3) {
      --h-size: var(--h3-size);
    }
    :where(h4) {
      --h-size: var(--h4-size);
    }
    ::marker {
      color: var(--marker-color);
    }
    :where(ul, ol) {
      list-style: revert;
      padding-inline-start: 2em;
    }
    :where(ol[type="a"]) {
      list-style-type: lower-alpha;
    }
    :where(ol[type="i"]) {
      list-style-type: lower-roman;
    }
    :where(ol[type="1"]) {
      list-style-type: decimal;
    }
    :where(blockquote) {
      border-inline-start: 4px solid var(--blockquote-color);
      padding-inline-start: 1.5em;
      padding-block: 0.25em;
    }
    :where(:any-link) {
      color: var(--link-color);
      font-weight: var(--link-weight);
      &:hover {
        text-decoration: underline;
      }
    }
    :where(table) {
      border-collapse: separate;
      border-spacing: 0;
      border-color: var(--table-stroke);
    }
    :where(thead, tbody, tfoot, tr, th, td) {
      border-color: inherit;
      text-align: inherit;
    }
    :where(th, td) {
      padding-block: var(--table-py);
      padding-inline: var(--table-px);
      background: var(--table-bg);
      color: var(--table-color);
    }
    :where(tr + tr :is(th, td)) {
      border-block-start-width: 1px;
    }
    :where(thead tr:last-child :is(th, td)) {
      border-block-end-width: 2px;
    }
    :where(tfoot tr:first-child :is(th, td)) {
      border-block-start-width: 2px;
    }
    :where(table:not(:has(.table-wrapper, [class*="overflow-"]))) {
      word-break: break-all;
    }
    > :where(:first-child) {
      margin-block-start: 0;
    }
    > :where(:last-child) {
      margin-block-end: 0;
    }
  }
  .container {
    margin-inline: auto;
    padding-inline: calc(var(--spacing) * 6);
  }
  .-mx-3 {
    margin-inline: calc(var(--spacing) * -3);
  }
  .mx-1 {
    margin-inline: var(--spacing);
  }
  .mx-4 {
    margin-inline: calc(var(--spacing) * 4);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .my-0 {
    margin-block: 0px;
  }
  .my-1 {
    margin-block: var(--spacing);
  }
  .my-1\.5 {
    margin-block: calc(var(--spacing) * 1.5);
  }
  .my-2 {
    margin-block: calc(var(--spacing) * 2);
  }
  .my-3 {
    margin-block: calc(var(--spacing) * 3);
  }
  .my-4 {
    margin-block: calc(var(--spacing) * 4);
  }
  .my-5 {
    margin-block: calc(var(--spacing) * 5);
  }
  .my-6 {
    margin-block: calc(var(--spacing) * 6);
  }
  .my-8 {
    margin-block: calc(var(--spacing) * 8);
  }
  .my-10 {
    margin-block: calc(var(--spacing) * 10);
  }
  .my-12 {
    margin-block: calc(var(--spacing) * 12);
  }
  .ms-0 {
    margin-inline-start: 0px;
  }
  .ms-1 {
    margin-inline-start: var(--spacing);
  }
  .ms-7 {
    margin-inline-start: calc(var(--spacing) * 7);
  }
  .ms-8 {
    margin-inline-start: calc(var(--spacing) * 8);
  }
  .ms-11 {
    margin-inline-start: calc(var(--spacing) * 11);
  }
  .ms-14 {
    margin-inline-start: calc(var(--spacing) * 14);
  }
  .-me-4 {
    margin-inline-end: calc(var(--spacing) * -4);
  }
  .me-0 {
    margin-inline-end: 0px;
  }
  .me-1 {
    margin-inline-end: var(--spacing);
  }
  .me-auto {
    margin-inline-end: auto;
  }
  .-mt-6 {
    margin-top: calc(var(--spacing) * -6);
  }
  .mt-0 {
    margin-top: 0px;
  }
  .mt-0\.5 {
    margin-top: calc(var(--spacing) * 0.5);
  }
  .mt-1 {
    margin-top: var(--spacing);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-2\.5 {
    margin-top: calc(var(--spacing) * 2.5);
  }
  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }
  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }
  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }
  .mt-\[6px\] {
    margin-top: 6px;
  }
  .mt-auto {
    margin-top: auto;
  }
  .-mr-1 {
    margin-right: calc(var(--spacing) * -1);
  }
  .mr-1 {
    margin-right: var(--spacing);
  }
  .mr-2 {
    margin-right: calc(var(--spacing) * 2);
  }
  .mr-2\.5 {
    margin-right: calc(var(--spacing) * 2.5);
  }
  .mr-3 {
    margin-right: calc(var(--spacing) * 3);
  }
  .mr-4 {
    margin-right: calc(var(--spacing) * 4);
  }
  .mr-5 {
    margin-right: calc(var(--spacing) * 5);
  }
  .mr-\[-1px\] {
    margin-right: -1px;
  }
  .mr-auto {
    margin-right: auto;
  }
  .mb-0 {
    margin-bottom: 0px;
  }
  .mb-1 {
    margin-bottom: var(--spacing);
  }
  .mb-1\.5 {
    margin-bottom: calc(var(--spacing) * 1.5);
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .mb-2\.5 {
    margin-bottom: calc(var(--spacing) * 2.5);
  }
  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }
  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
  .mb-5 {
    margin-bottom: calc(var(--spacing) * 5);
  }
  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }
  .mb-7 {
    margin-bottom: calc(var(--spacing) * 7);
  }
  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }
  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }
  .mb-12 {
    margin-bottom: calc(var(--spacing) * 12);
  }
  .mb-24 {
    margin-bottom: calc(var(--spacing) * 24);
  }
  .-ml-0\.5 {
    margin-left: calc(var(--spacing) * -0.5);
  }
  .-ml-2\.5 {
    margin-left: calc(var(--spacing) * -2.5);
  }
  .-ml-px {
    margin-left: -1px;
  }
  .ml-1 {
    margin-left: var(--spacing);
  }
  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }
  .ml-2\.5 {
    margin-left: calc(var(--spacing) * 2.5);
  }
  .ml-3 {
    margin-left: calc(var(--spacing) * 3);
  }
  .ml-4 {
    margin-left: calc(var(--spacing) * 4);
  }
  .ml-10 {
    margin-left: calc(var(--spacing) * 10);
  }
  .ml-auto {
    margin-left: auto;
  }
  .box-border {
    box-sizing: border-box;
  }
  .box-content {
    box-sizing: content-box;
  }
  .snap {
    scroll-snap-type: x var(--tw-scroll-snap-strictness);
    --tw-scroll-snap-strictness: mandatory;
    scroll-behavior: smooth;
    &>* {
      scroll-snap-align: start;
    }
    scrollbar-width: none;
    &::-webkit-scrollbar {
      display: none;
    }
  }
  .btn {
    --btn-stroke: #0000;
    --btn-bg: color-mix(in srgb, oklch(0.695793 0.204259 43.491) 10%, #0000);
    @supports (color: color-mix(in lab, red, red)) {
      --btn-bg: color-mix(in srgb, var(--color-primary) 10%, #0000);
    }
    --btn-hover-bg: color-mix(in srgb, oklch(0.695793 0.204259 43.491) 20%, #0000);
    @supports (color: color-mix(in lab, red, red)) {
      --btn-hover-bg: color-mix(in srgb, var(--color-primary) 20%, #0000);
    }
    --btn-active-bg: color-mix(in srgb, oklch(0.695793 0.204259 43.491) 30%, #0000);
    @supports (color: color-mix(in lab, red, red)) {
      --btn-active-bg: color-mix(in srgb, var(--color-primary) 30%, #0000);
    }
    --btn-color: var(--color-fg);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: calc(var(--spacing) * 1.5);
    padding-block: calc(var(--spacing) * 2);
    padding-inline: calc(var(--spacing) * 4);
    border-radius: var(--radius-lg);
    border-width: 2px;
    border-color: var(--btn-stroke);
    background-color: var(--btn-bg);
    color: var(--btn-color);
    font-weight: 500;
    user-select: none;
    vertical-align: middle;
    transition-property: color, background-color, border-color, outline-color;
    transition-timing-function: var(--default-transition-timing-function);
    transition-duration: var(--default-transition-duration);
    &:hover {
      border-color: var(--btn-hover-stroke, var(--btn-stroke));
      background-color: var(--btn-hover-bg, var(--btn-bg));
      color: var(--btn-hover-color, var(--btn-color));
      text-decoration: none;
    }
    &:is(:active, .is-active, [aria-current="page"], [aria-current="true"]) {
      border-color: var(--btn-active-stroke, var(--btn-stroke));
      background-color: var(--btn-active-bg, var(--btn-bg));
      color: var(--btn-active-color, var(--btn-color));
    }
    &:is(:disabled, [aria-disabled="true"]) {
      border-color: var(--btn-disabled-stroke, var(--color-gray-200));
      background-color: var(--btn-disabled-bg, var(--color-gray-50));
      color: var(--btn-disabled-color, var(--color-gray-500));
    }
  }
  .line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .line-clamp-4 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }
  .stack {
    display: grid;
    > *, > ::before, > ::after {
      grid-area: 1/1;
    }
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .flow-root {
    display: flow-root;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-block {
    display: inline-block;
  }
  .inline-flex {
    display: inline-flex;
  }
  .list-none::-webkit-details-marker {
    display: none;
  }
  .table {
    display: table;
  }
  .table-caption {
    display: table-caption;
  }
  .table-cell {
    display: table-cell;
  }
  .table-row {
    display: table-row;
  }
  .aspect-\(--gallery-ratio\) {
    aspect-ratio: var(--gallery-ratio);
  }
  .aspect-\(--thumb-ratio\) {
    aspect-ratio: var(--thumb-ratio);
  }
  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }
  .size-3 {
    width: calc(var(--spacing) * 3);
    height: calc(var(--spacing) * 3);
  }
  .size-full {
    width: 100%;
    height: 100%;
  }
  .h-3 {
    height: calc(var(--spacing) * 3);
  }
  .h-3\.5 {
    height: calc(var(--spacing) * 3.5);
  }
  .h-4 {
    height: calc(var(--spacing) * 4);
  }
  .h-5 {
    height: calc(var(--spacing) * 5);
  }
  .h-6 {
    height: calc(var(--spacing) * 6);
  }
  .h-8 {
    height: calc(var(--spacing) * 8);
  }
  .h-9 {
    height: calc(var(--spacing) * 9);
  }
  .h-10 {
    height: calc(var(--spacing) * 10);
  }
  .h-14 {
    height: calc(var(--spacing) * 14);
  }
  .h-16 {
    height: calc(var(--spacing) * 16);
  }
  .h-48 {
    height: calc(var(--spacing) * 48);
  }
  .h-96 {
    height: calc(var(--spacing) * 96);
  }
  .h-\[1\.125rem\] {
    height: 1.125rem;
  }
  .h-\[4px\] {
    height: 4px;
  }
  .h-\[15px\] {
    height: 15px;
  }
  .h-\[50px\] {
    height: 50px;
  }
  .h-auto {
    height: auto;
  }
  .h-full {
    height: 100%;
  }
  .h-px {
    height: 1px;
  }
  .h-screen {
    height: 100vh;
  }
  .max-h-\[90svh\] {
    max-height: 90svh;
  }
  .max-h-full {
    max-height: 100%;
  }
  .max-h-screen {
    max-height: 100vh;
  }
  .min-h-80 {
    min-height: calc(var(--spacing) * 80);
  }
  .min-h-\[20px\] {
    min-height: 20px;
  }
  .w-0 {
    width: 0px;
  }
  .w-1\/2 {
    width: calc(1 / 2 * 100%);
  }
  .w-2\/6 {
    width: calc(2 / 6 * 100%);
  }
  .w-3 {
    width: calc(var(--spacing) * 3);
  }
  .w-3\.5 {
    width: calc(var(--spacing) * 3.5);
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-4\/12 {
    width: calc(4 / 12 * 100%);
  }
  .w-5 {
    width: calc(var(--spacing) * 5);
  }
  .w-6 {
    width: calc(var(--spacing) * 6);
  }
  .w-8 {
    width: calc(var(--spacing) * 8);
  }
  .w-8\/12 {
    width: calc(8 / 12 * 100%);
  }
  .w-9 {
    width: calc(var(--spacing) * 9);
  }
  .w-10 {
    width: calc(var(--spacing) * 10);
  }
  .w-11 {
    width: calc(var(--spacing) * 11);
  }
  .w-14 {
    width: calc(var(--spacing) * 14);
  }
  .w-16 {
    width: calc(var(--spacing) * 16);
  }
  .w-20 {
    width: calc(var(--spacing) * 20);
  }
  .w-32 {
    width: calc(var(--spacing) * 32);
  }
  .w-40 {
    width: calc(var(--spacing) * 40);
  }
  .w-44 {
    width: calc(var(--spacing) * 44);
  }
  .w-52 {
    width: calc(var(--spacing) * 52);
  }
  .w-56 {
    width: calc(var(--spacing) * 56);
  }
  .w-60 {
    width: calc(var(--spacing) * 60);
  }
  .w-64 {
    width: calc(var(--spacing) * 64);
  }
  .w-\[1\.125rem\] {
    width: 1.125rem;
  }
  .w-\[15px\] {
    width: 15px;
  }
  .w-\[44px\] {
    width: 44px;
  }
  .w-\[49\%\] {
    width: 49%;
  }
  .w-\[100px\] {
    width: 100px;
  }
  .w-\[480px\] {
    width: 480px;
  }
  .w-auto {
    width: auto;
  }
  .w-fit {
    width: fit-content;
  }
  .w-full {
    width: 100%;
  }
  .w-max {
    width: max-content;
  }
  .w-px {
    width: 1px;
  }
  .w-screen {
    width: 100vw;
  }
  .w-xl {
    width: var(--container-xl);
  }
  .max-w-2\/3 {
    max-width: calc(2 / 3 * 100%);
  }
  .max-w-2xl {
    max-width: var(--container-2xl);
  }
  .max-w-4xl {
    max-width: var(--container-4xl);
  }
  .max-w-80 {
    max-width: calc(var(--spacing) * 80);
  }
  .max-w-\[25\%\] {
    max-width: 25%;
  }
  .max-w-\[500px\] {
    max-width: 500px;
  }
  .max-w-fit {
    max-width: fit-content;
  }
  .max-w-full {
    max-width: 100%;
  }
  .max-w-lg {
    max-width: var(--container-lg);
  }
  .max-w-md {
    max-width: var(--container-md);
  }
  .max-w-prose {
    max-width: 65ch;
  }
  .max-w-screen-lg {
    max-width: var(--breakpoint-lg);
  }
  .max-w-xl {
    max-width: var(--container-xl);
  }
  .min-w-0 {
    min-width: 0px;
  }
  .min-w-9\.5 {
    min-width: calc(var(--spacing) * 9.5);
  }
  .min-w-16 {
    min-width: calc(var(--spacing) * 16);
  }
  .min-w-40 {
    min-width: calc(var(--spacing) * 40);
  }
  .min-w-48 {
    min-width: calc(var(--spacing) * 48);
  }
  .min-w-56 {
    min-width: calc(var(--spacing) * 56);
  }
  .min-w-max {
    min-width: max-content;
  }
  .flex-1 {
    flex: 1;
  }
  .flex-none {
    flex: none;
  }
  .flex-shrink-0 {
    flex-shrink: 0;
  }
  .shrink {
    flex-shrink: 1;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .flex-grow {
    flex-grow: 1;
  }
  .flex-grow-0 {
    flex-grow: 0;
  }
  .flex-grow-1 {
    flex-grow: 1;
  }
  .grow {
    flex-grow: 1;
  }
  .grow-0 {
    flex-grow: 0;
  }
  .grow-1 {
    flex-grow: 1;
  }
  .basis-20 {
    flex-basis: calc(var(--spacing) * 20);
  }
  .basis-\[30\%\] {
    flex-basis: 30%;
  }
  .basis-full {
    flex-basis: 100%;
  }
  .table-auto {
    table-layout: auto;
  }
  .origin-bottom-left {
    transform-origin: 0 100%;
  }
  .origin-top-left {
    transform-origin: 0 0;
  }
  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-x-full {
    --tw-translate-x: -100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-x-0 {
    --tw-translate-x: 0px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-x-8 {
    --tw-translate-x: calc(var(--spacing) * 8);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-x-full {
    --tw-translate-x: 100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-y-8 {
    --tw-translate-y: calc(var(--spacing) * -8);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-y-full {
    --tw-translate-y: -100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-y-0 {
    --tw-translate-y: 0px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-y-1\/2 {
    --tw-translate-y: calc(1 / 2 * 100%);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-y-12 {
    --tw-translate-y: calc(var(--spacing) * 12);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-y-full {
    --tw-translate-y: 100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .scale-0 {
    --tw-scale-x: 0%;
    --tw-scale-y: 0%;
    --tw-scale-z: 0%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
  .scale-80 {
    --tw-scale-x: 80%;
    --tw-scale-y: 80%;
    --tw-scale-z: 80%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
  .scale-100 {
    --tw-scale-x: 100%;
    --tw-scale-y: 100%;
    --tw-scale-z: 100%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
  .rotate-45 {
    rotate: 45deg;
  }
  .rotate-180 {
    rotate: 180deg;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .animate-bounce {
    animation: var(--animate-bounce);
  }
  .animate-ping {
    animation: var(--animate-ping);
  }
  .animate-spin {
    animation: var(--animate-spin);
  }
  .cursor-default {
    cursor: default;
  }
  .cursor-not-allowed {
    cursor: not-allowed;
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .cursor-wait {
    cursor: wait;
  }
  .snap-x {
    scroll-snap-type: x var(--tw-scroll-snap-strictness);
  }
  .snap-mandatory {
    --tw-scroll-snap-strictness: mandatory;
  }
  .snap-start {
    scroll-snap-align: start;
  }
  .scrollbar-none {
    scrollbar-width: none;
  }
  .list-decimal {
    list-style-type: decimal;
  }
  .list-disc {
    list-style-type: disc;
  }
  .list-none {
    list-style-type: none;
  }
  .grid-flow-row {
    grid-auto-flow: row;
  }
  .grid-cols-\(--gp-mega-cols\) {
    grid-template-columns: var(--gp-mega-cols);
  }
  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .grid-cols-\[1\.5fr_1fr\] {
    grid-template-columns: 1.5fr 1fr;
  }
  .grid-cols-\[auto_1fr\] {
    grid-template-columns: auto 1fr;
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-col-reverse {
    flex-direction: column-reverse;
  }
  .flex-row {
    flex-direction: row;
  }
  .flex-row-reverse {
    flex-direction: row-reverse;
  }
  .flex-nowrap {
    flex-wrap: nowrap;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .place-items-center {
    place-items: center;
  }
  .content-center {
    align-content: center;
  }
  .items-baseline {
    align-items: baseline;
  }
  .items-center {
    align-items: center;
  }
  .items-end {
    align-items: flex-end;
  }
  .items-start {
    align-items: flex-start;
  }
  .items-stretch {
    align-items: stretch;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-end {
    justify-content: flex-end;
  }
  .justify-evenly {
    justify-content: space-evenly;
  }
  .justify-start {
    justify-content: flex-start;
  }
  .gap-0\.5 {
    gap: calc(var(--spacing) * 0.5);
  }
  .gap-1 {
    gap: var(--spacing);
  }
  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }
  .gap-\[6px\] {
    gap: 6px;
  }
  :where(.space-y-1 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(var(--spacing) * var(--tw-space-y-reverse));
    margin-block-end: calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)));
  }
  :where(.space-y-2 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
  }
  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }
  :where(.space-y-4 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }
  :where(.space-y-5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
  }
  :where(.space-y-6 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
  }
  .gap-x-1 {
    column-gap: var(--spacing);
  }
  .gap-x-1\.5 {
    column-gap: calc(var(--spacing) * 1.5);
  }
  .gap-x-2 {
    column-gap: calc(var(--spacing) * 2);
  }
  .gap-x-2\.5 {
    column-gap: calc(var(--spacing) * 2.5);
  }
  .gap-x-3 {
    column-gap: calc(var(--spacing) * 3);
  }
  .gap-x-4 {
    column-gap: calc(var(--spacing) * 4);
  }
  .gap-x-6 {
    column-gap: calc(var(--spacing) * 6);
  }
  .gap-x-7 {
    column-gap: calc(var(--spacing) * 7);
  }
  .gap-x-8 {
    column-gap: calc(var(--spacing) * 8);
  }
  :where(.space-x-0\.5 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 0.5) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 0.5) * calc(1 - var(--tw-space-x-reverse)));
  }
  :where(.space-x-4 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
  }
  .gap-y-0 {
    row-gap: 0px;
  }
  .gap-y-2 {
    row-gap: calc(var(--spacing) * 2);
  }
  .gap-y-4 {
    row-gap: calc(var(--spacing) * 4);
  }
  .gap-y-6 {
    row-gap: calc(var(--spacing) * 6);
  }
  .gap-y-8 {
    row-gap: calc(var(--spacing) * 8);
  }
  .gap-y-16 {
    row-gap: calc(var(--spacing) * 16);
  }
  :where(.divide-y > :not(:last-child)) {
    --tw-divide-y-reverse: 0;
    border-bottom-style: var(--tw-border-style);
    border-top-style: var(--tw-border-style);
    border-top-width: calc(1px * var(--tw-divide-y-reverse));
    border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  }
  .self-auto {
    align-self: auto;
  }
  .self-center {
    align-self: center;
  }
  .self-start {
    align-self: flex-start;
  }
  .self-stretch {
    align-self: stretch;
  }
  .justify-self-center {
    justify-self: center;
  }
  .justify-self-end {
    justify-self: flex-end;
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .overflow-auto {
    overflow: auto;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-visible {
    overflow: visible;
  }
  .overflow-x-auto {
    overflow-x: auto;
  }
  .overflow-x-clip {
    overflow-x: clip;
  }
  .overflow-x-hidden {
    overflow-x: hidden;
  }
  .overflow-y-auto {
    overflow-y: auto;
  }
  .overflow-y-clip {
    overflow-y: clip;
  }
  .overscroll-x-contain {
    overscroll-behavior-x: contain;
  }
  .overscroll-y-contain {
    overscroll-behavior-y: contain;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-3xl {
    border-radius: var(--radius-3xl);
  }
  .rounded-\[4px\] {
    border-radius: 4px;
  }
  .rounded-\[10px\] {
    border-radius: 10px;
  }
  .rounded-\[44px\] {
    border-radius: 44px;
  }
  .rounded-\[50\%\] {
    border-radius: 50%;
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-lg {
    border-radius: var(--radius-lg);
  }
  .rounded-md {
    border-radius: var(--radius-md);
  }
  .rounded-none {
    border-radius: 0;
  }
  .rounded-sm {
    border-radius: var(--radius-sm);
  }
  .rounded-xl {
    border-radius: var(--radius-xl);
  }
  .rounded-s-none {
    border-start-start-radius: 0;
    border-end-start-radius: 0;
  }
  .rounded-e-none {
    border-start-end-radius: 0;
    border-end-end-radius: 0;
  }
  .rounded-l {
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }
  .rounded-l-md {
    border-top-left-radius: var(--radius-md);
    border-bottom-left-radius: var(--radius-md);
  }
  .rounded-r {
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
  }
  .rounded-r-md {
    border-top-right-radius: var(--radius-md);
    border-bottom-right-radius: var(--radius-md);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-0 {
    border-style: var(--tw-border-style);
    border-width: 0px;
  }
  .border-1 {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }
  .border-4 {
    border-style: var(--tw-border-style);
    border-width: 4px;
  }
  .border-y {
    border-block-style: var(--tw-border-style);
    border-block-width: 1px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-t-2 {
    border-top-style: var(--tw-border-style);
    border-top-width: 2px;
  }
  .border-r-0 {
    border-right-style: var(--tw-border-style);
    border-right-width: 0px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-b-0 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0px;
  }
  .border-b-2 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 2px;
  }
  .border-l {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }
  .border-l-0 {
    border-left-style: var(--tw-border-style);
    border-left-width: 0px;
  }
  .border-l-2 {
    border-left-style: var(--tw-border-style);
    border-left-width: 2px;
  }
  .border-l-4 {
    border-left-style: var(--tw-border-style);
    border-left-width: 4px;
  }
  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }
  .border-none {
    --tw-border-style: none;
    border-style: none;
  }
  .border-solid {
    --tw-border-style: solid;
    border-style: solid;
  }
  .border-\[\#000000\] {
    border-color: #000000;
  }
  .border-\[\#d5d6da\] {
    border-color: #d5d6da;
  }
  .border-\[\#e8751a\] {
    border-color: #e8751a;
  }
  .border-\[var\(--block-border-color\)\] {
    border-color: var(--block-border-color);
  }
  .border-\[var\(--border-color\)\] {
    border-color: var(--border-color);
  }
  .border-\[var\(--border-color-light\)\] {
    border-color: var(--border-color-light);
  }
  .border-\[var\(--category-border-color\)\] {
    border-color: var(--category-border-color);
  }
  .border-\[var\(--tag-border-color\)\] {
    border-color: var(--tag-border-color);
  }
  .border-\[var\(--tag-cloud-border-color\)\] {
    border-color: var(--tag-cloud-border-color);
  }
  .border-black {
    border-color: var(--color-black);
  }
  .border-blue-500 {
    border-color: var(--color-blue-500);
  }
  .border-container {
    border-color: var(--color-container);
  }
  .border-container-lighter {
    border-color: var(--color-container-lighter);
  }
  .border-current {
    border-color: currentcolor;
  }
  .border-gray-100 {
    border-color: var(--color-gray-100);
  }
  .border-gray-200 {
    border-color: var(--color-gray-200);
  }
  .border-gray-300 {
    border-color: var(--color-gray-300);
  }
  .border-gray-400 {
    border-color: var(--color-gray-400);
  }
  .border-gray-600 {
    border-color: var(--color-gray-600);
  }
  .border-green-400 {
    border-color: var(--color-green-400);
  }
  .border-primary {
    border-color: var(--color-primary);
  }
  .border-primary\/70 {
    border-color: color-mix(in srgb, oklch(0.695793 0.204259 43.491) 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-primary) 70%, transparent);
    }
  }
  .border-red-500 {
    border-color: var(--color-red-500);
  }
  .border-red-600 {
    border-color: var(--color-red-600);
  }
  .border-red-700 {
    border-color: var(--color-red-700);
  }
  .border-slate-200 {
    border-color: var(--color-slate-200);
  }
  .border-slate-300 {
    border-color: var(--color-slate-300);
  }
  .border-slate-400 {
    border-color: var(--color-slate-400);
  }
  .border-transparent {
    border-color: transparent;
  }
  .border-white {
    border-color: var(--color-white);
  }
  .border-yellow-400 {
    border-color: var(--color-yellow-400);
  }
  .border-b-primary {
    border-bottom-color: var(--color-primary);
  }
  .bg-\[\#000000\] {
    background-color: #000000;
  }
  .bg-\[\#1d4ed8\] {
    background-color: #1d4ed8;
  }
  .bg-\[\#4db2ec\] {
    background-color: #4db2ec;
  }
  .bg-\[\#222\] {
    background-color: #222;
  }
  .bg-\[\#333\] {
    background-color: #333;
  }
  .bg-\[\#F0F1F3\] {
    background-color: #F0F1F3;
  }
  .bg-\[\#f6f6f6\] {
    background-color: #f6f6f6;
  }
  .bg-\[\#f7eae5\] {
    background-color: #f7eae5;
  }
  .bg-\[\#f90\] {
    background-color: #f90;
  }
  .bg-\[\#ff9900\] {
    background-color: #ff9900;
  }
  .bg-\[\#fff\] {
    background-color: #fff;
  }
  .bg-\[transparent\] {
    background-color: transparent;
  }
  .bg-\[var\(--category-bg-color\)\] {
    background-color: var(--category-bg-color);
  }
  .bg-\[var\(--tag-bg-color\)\] {
    background-color: var(--tag-bg-color);
  }
  .bg-\[var\(--tag-cloud-bg-color\)\] {
    background-color: var(--tag-cloud-bg-color);
  }
  .bg-black[class*="bg-opacity-"] {
    background-color: #000;
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix( in srgb, var(--color-black) calc(100% / var(--tw-bg-opacity)), #0000 );
    }
  }
  .bg-black {
    background-color: var(--color-black);
  }
  .bg-black\/20 {
    background-color: color-mix(in srgb, #000 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 20%, transparent);
    }
  }
  .bg-black\/30 {
    background-color: color-mix(in srgb, #000 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 30%, transparent);
    }
  }
  .bg-black\/50 {
    background-color: color-mix(in srgb, #000 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
    }
  }
  .bg-blue-50 {
    background-color: var(--color-blue-50);
  }
  .bg-blue-500 {
    background-color: var(--color-blue-500);
  }
  .bg-container-darker {
    background-color: var(--color-container-darker);
  }
  .bg-container-lighter {
    background-color: var(--color-container-lighter);
  }
  .bg-gray-100 {
    background-color: var(--color-gray-100);
  }
  .bg-gray-200 {
    background-color: var(--color-gray-200);
  }
  .bg-gray-200\/60 {
    background-color: color-mix(in srgb, oklch(92.8% 0.006 264.531) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-gray-200) 60%, transparent);
    }
  }
  .bg-gray-800 {
    background-color: var(--color-gray-800);
  }
  .bg-gray-900 {
    background-color: var(--color-gray-900);
  }
  .bg-green-500 {
    background-color: var(--color-green-500);
  }
  .bg-inherit {
    background-color: inherit;
  }
  .bg-primary[class*="bg-opacity-"] {
    background-color: oklch(0.695793 0.204259 43.491);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix( in srgb, var(--color-primary) calc(100% / var(--tw-bg-opacity)), #0000 );
    }
  }
  .bg-primary {
    background-color: var(--color-primary);
  }
  .bg-red-50 {
    background-color: var(--color-red-50);
  }
  .bg-red-100 {
    background-color: var(--color-red-100);
  }
  .bg-red-500 {
    background-color: var(--color-red-500);
  }
  .bg-slate-50 {
    background-color: var(--color-slate-50);
  }
  .bg-surface {
    background-color: var(--color-surface);
  }
  .bg-transparent {
    background-color: transparent;
  }
  .bg-white[class*="bg-opacity-"] {
    background-color: #fff;
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix( in srgb, var(--color-white) calc(100% / var(--tw-bg-opacity)), #0000 );
    }
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .bg-white\/60 {
    background-color: color-mix(in srgb, #fff 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 60%, transparent);
    }
  }
  .bg-white\/70 {
    background-color: color-mix(in srgb, #fff 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 70%, transparent);
    }
  }
  .bg-white\/90 {
    background-color: color-mix(in srgb, #fff 90%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 90%, transparent);
    }
  }
  .bg-white\/95 {
    background-color: color-mix(in srgb, #fff 95%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 95%, transparent);
    }
  }
  .bg-yellow-100 {
    background-color: var(--color-yellow-100);
  }
  .bg-yellow-500 {
    background-color: var(--color-yellow-500);
  }
  .bg-gradient-to-l {
    --tw-gradient-position: to left in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .bg-gradient-to-r {
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .from-surface {
    --tw-gradient-from: var(--color-surface);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .mask-b-from-80\% {
    mask-image: var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic);
    mask-composite: intersect;
    --tw-mask-linear: var(--tw-mask-left), var(--tw-mask-right), var(--tw-mask-bottom), var(--tw-mask-top);
    --tw-mask-bottom: linear-gradient(to bottom, var(--tw-mask-bottom-from-color) var(--tw-mask-bottom-from-position), var(--tw-mask-bottom-to-color) var(--tw-mask-bottom-to-position));
    --tw-mask-bottom-from-position: 80%;
  }
  .bg-cover {
    background-size: cover;
  }
  .bg-center {
    background-position: center;
  }
  .bg-no-repeat {
    background-repeat: no-repeat;
  }
  .fill-current {
    fill: currentcolor;
  }
  .stroke-current {
    stroke: currentcolor;
  }
  .stroke-2 {
    stroke-width: 2;
  }
  .object-contain {
    object-fit: contain;
  }
  .object-cover {
    object-fit: cover;
  }
  .object-scale-down {
    object-fit: scale-down;
  }
  .p-0 {
    padding: 0px;
  }
  .p-1 {
    padding: var(--spacing);
  }
  .p-1\.5 {
    padding: calc(var(--spacing) * 1.5);
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .p-2\.5 {
    padding: calc(var(--spacing) * 2.5);
  }
  .p-3 {
    padding: calc(var(--spacing) * 3);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-5 {
    padding: calc(var(--spacing) * 5);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .p-8 {
    padding: calc(var(--spacing) * 8);
  }
  .px-0 {
    padding-inline: 0px;
  }
  .px-1 {
    padding-inline: var(--spacing);
  }
  .px-1\.5 {
    padding-inline: calc(var(--spacing) * 1.5);
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }
  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }
  .px-\[10px\] {
    padding-inline: 10px;
  }
  .px-\[22px\] {
    padding-inline: 22px;
  }
  .py-0 {
    padding-block: 0px;
  }
  .py-0\.5 {
    padding-block: calc(var(--spacing) * 0.5);
  }
  .py-1 {
    padding-block: var(--spacing);
  }
  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-3\.5 {
    padding-block: calc(var(--spacing) * 3.5);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }
  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }
  .py-7\.5 {
    padding-block: calc(var(--spacing) * 7.5);
  }
  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }
  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }
  .py-16 {
    padding-block: calc(var(--spacing) * 16);
  }
  .py-\[5px\] {
    padding-block: 5px;
  }
  .py-\[7px\] {
    padding-block: 7px;
  }
  .py-\[30px\] {
    padding-block: 30px;
  }
  .ps-3\.5 {
    padding-inline-start: calc(var(--spacing) * 3.5);
  }
  .ps-6 {
    padding-inline-start: calc(var(--spacing) * 6);
  }
  .pe-2 {
    padding-inline-end: calc(var(--spacing) * 2);
  }
  .pe-3 {
    padding-inline-end: calc(var(--spacing) * 3);
  }
  .pe-4 {
    padding-inline-end: calc(var(--spacing) * 4);
  }
  .pt-0 {
    padding-top: 0px;
  }
  .pt-1 {
    padding-top: var(--spacing);
  }
  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }
  .pt-2\.5 {
    padding-top: calc(var(--spacing) * 2.5);
  }
  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .pt-5 {
    padding-top: calc(var(--spacing) * 5);
  }
  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }
  .pt-7 {
    padding-top: calc(var(--spacing) * 7);
  }
  .pt-8 {
    padding-top: calc(var(--spacing) * 8);
  }
  .pr-1 {
    padding-right: var(--spacing);
  }
  .pr-2\.5 {
    padding-right: calc(var(--spacing) * 2.5);
  }
  .pr-3 {
    padding-right: calc(var(--spacing) * 3);
  }
  .pr-4 {
    padding-right: calc(var(--spacing) * 4);
  }
  .pr-9 {
    padding-right: calc(var(--spacing) * 9);
  }
  .pr-10 {
    padding-right: calc(var(--spacing) * 10);
  }
  .pb-1 {
    padding-bottom: var(--spacing);
  }
  .pb-1\.5 {
    padding-bottom: calc(var(--spacing) * 1.5);
  }
  .pb-2 {
    padding-bottom: calc(var(--spacing) * 2);
  }
  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }
  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }
  .pb-5 {
    padding-bottom: calc(var(--spacing) * 5);
  }
  .pb-6 {
    padding-bottom: calc(var(--spacing) * 6);
  }
  .pb-7 {
    padding-bottom: calc(var(--spacing) * 7);
  }
  .pb-8 {
    padding-bottom: calc(var(--spacing) * 8);
  }
  .pb-10 {
    padding-bottom: calc(var(--spacing) * 10);
  }
  .pb-12 {
    padding-bottom: calc(var(--spacing) * 12);
  }
  .pb-16 {
    padding-bottom: calc(var(--spacing) * 16);
  }
  .pb-\[22px\] {
    padding-bottom: 22px;
  }
  .pb-\[66\.6\%\] {
    padding-bottom: 66.6%;
  }
  .pb-\[70\%\] {
    padding-bottom: 70%;
  }
  .\!pl-0 {
    padding-left: 0px !important;
  }
  .pl-0\.5 {
    padding-left: calc(var(--spacing) * 0.5);
  }
  .pl-1 {
    padding-left: var(--spacing);
  }
  .pl-2 {
    padding-left: calc(var(--spacing) * 2);
  }
  .pl-2\.5 {
    padding-left: calc(var(--spacing) * 2.5);
  }
  .pl-3 {
    padding-left: calc(var(--spacing) * 3);
  }
  .pl-4 {
    padding-left: calc(var(--spacing) * 4);
  }
  .pl-5 {
    padding-left: calc(var(--spacing) * 5);
  }
  .pl-6 {
    padding-left: calc(var(--spacing) * 6);
  }
  .text-center {
    text-align: center;
  }
  .text-end {
    text-align: end;
  }
  .text-left {
    text-align: left;
  }
  .text-right {
    text-align: right;
  }
  .text-start {
    text-align: start;
  }
  .align-bottom {
    vertical-align: bottom;
  }
  .align-middle {
    vertical-align: middle;
  }
  .align-top {
    vertical-align: top;
  }
  .font-sans {
    font-family: var(--font-sans);
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }
  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .text-\[2em\] {
    font-size: 2em;
  }
  .text-\[11px\] {
    font-size: 11px;
  }
  .text-\[13px\] {
    font-size: 13px;
  }
  .text-\[15px\] {
    font-size: 15px;
  }
  .text-\[17pt\] {
    font-size: 17pt;
  }
  .text-\[18px\] {
    font-size: 18px;
  }
  .text-\[22px\] {
    font-size: 22px;
  }
  .leading-0 {
    --tw-leading: 0px;
    line-height: 0px;
  }
  .leading-3 {
    --tw-leading: calc(var(--spacing) * 3);
    line-height: calc(var(--spacing) * 3);
  }
  .leading-4 {
    --tw-leading: calc(var(--spacing) * 4);
    line-height: calc(var(--spacing) * 4);
  }
  .leading-5 {
    --tw-leading: calc(var(--spacing) * 5);
    line-height: calc(var(--spacing) * 5);
  }
  .leading-6 {
    --tw-leading: calc(var(--spacing) * 6);
    line-height: calc(var(--spacing) * 6);
  }
  .leading-7 {
    --tw-leading: calc(var(--spacing) * 7);
    line-height: calc(var(--spacing) * 7);
  }
  .leading-\[22px\] {
    --tw-leading: 22px;
    line-height: 22px;
  }
  .leading-\[24px\] {
    --tw-leading: 24px;
    line-height: 24px;
  }
  .leading-\[25px\] {
    --tw-leading: 25px;
    line-height: 25px;
  }
  .leading-\[26px\] {
    --tw-leading: 26px;
    line-height: 26px;
  }
  .leading-\[30px\] {
    --tw-leading: 30px;
    line-height: 30px;
  }
  .leading-\[50px\] {
    --tw-leading: 50px;
    line-height: 50px;
  }
  .leading-\[var\(--post-desc-line-height\)\] {
    --tw-leading: var(--post-desc-line-height);
    line-height: var(--post-desc-line-height);
  }
  .leading-loose {
    --tw-leading: var(--leading-loose);
    line-height: var(--leading-loose);
  }
  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }
  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }
  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }
  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }
  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }
  .tracking-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }
  .text-nowrap {
    text-wrap: nowrap;
  }
  .text-pretty {
    text-wrap: pretty;
  }
  .break-words {
    overflow-wrap: break-word;
  }
  .wrap-break-word {
    overflow-wrap: break-word;
  }
  .break-all {
    word-break: break-all;
  }
  .text-ellipsis {
    text-overflow: ellipsis;
  }
  .hyphens-auto {
    -webkit-hyphens: auto;
    hyphens: auto;
  }
  .whitespace-nowrap {
    white-space: nowrap;
  }
  .whitespace-pre-line {
    white-space: pre-line;
  }
  .text-\[\#000000\] {
    color: #000000;
  }
  .text-\[\#2a2a2a\] {
    color: #2a2a2a;
  }
  .text-\[\#3F3F3F\] {
    color: #3F3F3F;
  }
  .text-\[\#4E4E4E\] {
    color: #4E4E4E;
  }
  .text-\[\#7d7d7d\] {
    color: #7d7d7d;
  }
  .text-\[\#98A2B3\] {
    color: #98A2B3;
  }
  .text-\[\#222\] {
    color: #222;
  }
  .text-\[\#555\] {
    color: #555;
  }
  .text-\[\#777\] {
    color: #777;
  }
  .text-\[\#160808\] {
    color: #160808;
  }
  .text-\[\#707070\] {
    color: #707070;
  }
  .text-\[\#818181\] {
    color: #818181;
  }
  .text-\[\#858585\] {
    color: #858585;
  }
  .text-\[\#DA5D28\] {
    color: #DA5D28;
  }
  .text-\[\#aaaaaa\] {
    color: #aaaaaa;
  }
  .text-\[\#bbb\] {
    color: #bbb;
  }
  .text-\[\#ffffff\] {
    color: #ffffff;
  }
  .text-\[var\(--block-title-color\)\] {
    color: var(--block-title-color);
  }
  .text-\[var\(--category-color\)\] {
    color: var(--category-color);
  }
  .text-\[var\(--link-sidebar-color\)\] {
    color: var(--link-sidebar-color);
  }
  .text-\[var\(--post-data-color\)\] {
    color: var(--post-data-color);
  }
  .text-\[var\(--post-desc-font-size\)\] {
    color: var(--post-desc-font-size);
  }
  .text-\[var\(--post-title-color\)\] {
    color: var(--post-title-color);
  }
  .text-\[var\(--primary-color\)\] {
    color: var(--primary-color);
  }
  .text-\[var\(--primary-color-alt\)\] {
    color: var(--primary-color-alt);
  }
  .text-\[var\(--product-item-name\)\] {
    color: var(--product-item-name);
  }
  .text-\[var\(--tag-cloud-color\)\] {
    color: var(--tag-cloud-color);
  }
  .text-\[var\(--tag-color\)\] {
    color: var(--tag-color);
  }
  .text-\[var\(--tag-title-color\)\] {
    color: var(--tag-title-color);
  }
  .text-\[var\(--text-color\)\] {
    color: var(--text-color);
  }
  .text-black {
    color: var(--color-black);
  }
  .text-blue-600 {
    color: var(--color-blue-600);
  }
  .text-blue-900 {
    color: var(--color-blue-900);
  }
  .text-current {
    color: currentcolor;
  }
  .text-fg {
    color: var(--color-fg);
  }
  .text-fg-secondary {
    color: var(--color-fg-secondary);
  }
  .text-fg\/30 {
    color: color-mix(in srgb, oklch(12.9% 0.042 264.695) 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-fg) 30%, transparent);
    }
  }
  .text-gray-300 {
    color: var(--color-gray-300);
  }
  .text-gray-400 {
    color: var(--color-gray-400);
  }
  .text-gray-500 {
    color: var(--color-gray-500);
  }
  .text-gray-600 {
    color: var(--color-gray-600);
  }
  .text-gray-700 {
    color: var(--color-gray-700);
  }
  .text-gray-800 {
    color: var(--color-gray-800);
  }
  .text-gray-900 {
    color: var(--color-gray-900);
  }
  .text-gray-900\/60 {
    color: color-mix(in srgb, oklch(21% 0.034 264.665) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-gray-900) 60%, transparent);
    }
  }
  .text-green-500 {
    color: var(--color-green-500);
  }
  .text-green-600 {
    color: var(--color-green-600);
  }
  .text-green-700 {
    color: var(--color-green-700);
  }
  .text-inherit {
    color: inherit;
  }
  .text-ink {
    color: var(--color-ink);
  }
  .text-on-primary {
    color: var(--color-on-primary);
  }
  .text-orange-400 {
    color: var(--color-orange-400);
  }
  .text-orange-500 {
    color: var(--color-orange-500);
  }
  .text-primary {
    color: var(--color-primary);
  }
  .text-primary-darker {
    color: var(--color-primary-darker);
  }
  .text-purple-700 {
    color: var(--color-purple-700);
  }
  .text-red-500 {
    color: var(--color-red-500);
  }
  .text-red-600 {
    color: var(--color-red-600);
  }
  .text-red-700 {
    color: var(--color-red-700);
  }
  .text-red-800 {
    color: var(--color-red-800);
  }
  .text-secondary {
    color: var(--color-secondary);
  }
  .text-secondary-darker {
    color: var(--color-secondary-darker);
  }
  .text-slate-300 {
    color: var(--color-slate-300);
  }
  .text-slate-400 {
    color: var(--color-slate-400);
  }
  .text-slate-500 {
    color: var(--color-slate-500);
  }
  .text-slate-600 {
    color: var(--color-slate-600);
  }
  .text-slate-700 {
    color: var(--color-slate-700);
  }
  .text-slate-800 {
    color: var(--color-slate-800);
  }
  .text-white {
    color: var(--color-white);
  }
  .text-white\/80 {
    color: color-mix(in srgb, #fff 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 80%, transparent);
    }
  }
  .text-white\/85 {
    color: color-mix(in srgb, #fff 85%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 85%, transparent);
    }
  }
  .text-yellow-600 {
    color: var(--color-yellow-600);
  }
  .capitalize {
    text-transform: capitalize;
  }
  .lowercase {
    text-transform: lowercase;
  }
  .normal-case {
    text-transform: none;
  }
  .uppercase {
    text-transform: uppercase;
  }
  .not-italic {
    font-style: normal;
  }
  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
  }
  .no-underline {
    text-decoration-line: none;
  }
  .underline {
    text-decoration-line: underline;
  }
  .opacity-0 {
    opacity: 0%;
  }
  .opacity-25 {
    opacity: 25%;
  }
  .opacity-50 {
    opacity: 50%;
  }
  .opacity-60 {
    opacity: 60%;
  }
  .opacity-70 {
    opacity: 70%;
  }
  .opacity-75 {
    opacity: 75%;
  }
  .opacity-100 {
    opacity: 100%;
  }
  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-none {
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-xl {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-black\/30 {
    --tw-shadow-color: color-mix(in srgb, #000 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-black) 30%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }
  .ring-blue-500\/50 {
    --tw-ring-color: color-mix(in srgb, oklch(62.3% 0.214 259.815) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--color-blue-500) 50%, transparent);
    }
  }
  .inset-ring-primary {
    --tw-inset-ring-color: var(--color-primary);
  }
  .ring-offset-2 {
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  }
  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }
  .-outline-offset-2 {
    outline-offset: calc(2px * -1);
  }
  .outline-offset-0 {
    outline-offset: 0px;
  }
  .outline-offset-2 {
    outline-offset: 2px;
  }
  .outline-primary {
    outline-color: var(--color-primary);
  }
  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .grayscale {
    --tw-grayscale: grayscale(100%);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .backdrop-blur-sm {
    --tw-backdrop-blur: blur(var(--blur-sm));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[all\] {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-none {
    transition-property: none;
  }
  .duration-150 {
    --tw-duration: 150ms;
    transition-duration: 150ms;
  }
  .duration-200 {
    --tw-duration: 200ms;
    transition-duration: 200ms;
  }
  .duration-300 {
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
  .duration-500 {
    --tw-duration: 500ms;
    transition-duration: 500ms;
  }
  .duration-600 {
    --tw-duration: 600ms;
    transition-duration: 600ms;
  }
  .ease-in {
    --tw-ease: var(--ease-in);
    transition-timing-function: var(--ease-in);
  }
  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }
  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }
  .\[transition-timing-function\:initial\] {
    transition-timing-function: initial;
  }
  .btn-primary {
    --btn-stroke: #0000;
    --btn-bg: var(--color-primary);
    --btn-color: var(--color-on-primary);
    --btn-hover-stroke: #0000;
    --btn-hover-bg: var(--color-primary-lighter);
    --btn-hover-color: var(--color-on-primary);
    --btn-active-stroke: #0000;
    --btn-active-bg: var(--color-primary);
    --btn-active-color: var(--color-on-primary);
  }
  .btn-secondary {
    --btn-stroke: var(--color-primary-lighter);
    --btn-bg: var(--color-on-primary);
    --btn-color: var(--color-primary-darker);
    --btn-hover-stroke: var(--color-primary-lighter);
    --btn-hover-bg: var(--color-on-primary);
    --btn-hover-color: var(--color-primary-lighter);
    --btn-active-stroke: #0000;
    --btn-active-bg: var(--color-primary);
    --btn-active-color: var(--color-on-primary);
  }
  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }
  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }
  .\[--line-after\:theme\(colors\.primary\.DEFAULT\)\] {
    --line-after: oklch(0.695793 0.204259 43.491);
  }
  .\[--line-before\:\#0000\] {
    --line-before: #0000;
  }
  .\[--line-before\:theme\(colors\.primary\.DEFAULT\)\] {
    --line-before: oklch(0.695793 0.204259 43.491);
  }
  .\[wire\:auto-save\] {
    wire: auto-save;
  }
  .\[wire\:model\.defer\] {
    wire: model.defer;
  }
  .\[wire\:model\] {
    wire: model;
  }
  .\[wire\:select\] {
    wire: select;
  }
  .bg-opacity-10 {
    --tw-bg-opacity: 10;
  }
  .bg-opacity-25 {
    --tw-bg-opacity: 25;
  }
  .bg-opacity-50 {
    --tw-bg-opacity: 50;
  }
  .bg-opacity-75 {
    --tw-bg-opacity: 75;
  }
  .bg-opacity-90 {
    --tw-bg-opacity: 90;
  }
  .bg-opacity-100 {
    --tw-bg-opacity: 100;
  }
  .group-open\:rotate-180:is(:where(.group):is([open], :popover-open, :open) *) {
    rotate: 180deg;
  }
  @media (hover: hover) {
    .group-hover\:right-0:is(:where(.group):hover *) {
      right: 0px;
    }
    .group-hover\:left-0:is(:where(.group):hover *) {
      left: 0px;
    }
    .group-hover\:-translate-x-0\.5:is(:where(.group):hover *) {
      --tw-translate-x: calc(var(--spacing) * -0.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\:scale-125:is(:where(.group):hover *) {
      --tw-scale-x: 125%;
      --tw-scale-y: 125%;
      --tw-scale-z: 125%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
    .group-hover\:bg-gray-200:is(:where(.group):hover *) {
      background-color: var(--color-gray-200);
    }
    .group-hover\:bg-gray-300:is(:where(.group):hover *) {
      background-color: var(--color-gray-300);
    }
    .group-hover\:text-gray-600:is(:where(.group):hover *) {
      color: var(--color-gray-600);
    }
    .group-hover\:opacity-100:is(:where(.group):hover *) {
      opacity: 100%;
    }
  }
  .group-disabled\:invisible:is(:where(.group):disabled *) {
    visibility: hidden;
  }
  .group-disabled\:flex:is(:where(.group):disabled *) {
    display: flex;
  }
  .group-aria-expanded\:rotate-180:is(:where(.group)[aria-expanded="true"] *) {
    rotate: 180deg;
  }
  .backdrop\:backdrop::backdrop {
    position: fixed;
    inset: 0;
    background-color: var(--backdrop, hsl(0 0 0 / 20%));
  }
  .backdrop\:backdrop-blur-xs::backdrop {
    --tw-backdrop-blur: blur(var(--blur-xs));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .before\:pointer-events-none::before {
    content: var(--tw-content);
    pointer-events: none;
  }
  .before\:absolute::before {
    content: var(--tw-content);
    position: absolute;
  }
  .before\:inset-0::before {
    content: var(--tw-content);
    inset: 0px;
  }
  .before\:z-\[1\]::before {
    content: var(--tw-content);
    z-index: 1;
  }
  .before\:block::before {
    content: var(--tw-content);
    display: block;
  }
  .before\:h-3::before {
    content: var(--tw-content);
    height: calc(var(--spacing) * 3);
  }
  .before\:w-3::before {
    content: var(--tw-content);
    width: calc(var(--spacing) * 3);
  }
  .before\:shrink-0::before {
    content: var(--tw-content);
    flex-shrink: 0;
  }
  .before\:rounded-\[10px\]::before {
    content: var(--tw-content);
    border-radius: 10px;
  }
  .before\:rounded-full::before {
    content: var(--tw-content);
    border-radius: calc(infinity * 1px);
  }
  .before\:bg-green-500::before {
    content: var(--tw-content);
    background-color: var(--color-green-500);
  }
  .before\:bg-red-500::before {
    content: var(--tw-content);
    background-color: var(--color-red-500);
  }
  .before\:bg-\[linear-gradient\(180deg\,rgba\(0\,0\,0\,0\)_49\.89\%\,rgba\(0\,0\,0\,0\.5\)_100\%\)\]::before {
    content: var(--tw-content);
    background-image: linear-gradient(180deg,rgba(0,0,0,0) 49.89%,rgba(0,0,0,0.5) 100%);
  }
  .before\:bg-cover::before {
    content: var(--tw-content);
    background-size: cover;
  }
  .before\:bg-center::before {
    content: var(--tw-content);
    background-position: center;
  }
  .before\:bg-no-repeat::before {
    content: var(--tw-content);
    background-repeat: no-repeat;
  }
  .before\:content-\[\'\'\]::before {
    --tw-content: '';
    content: var(--tw-content);
  }
  .after\:absolute::after {
    content: var(--tw-content);
    position: absolute;
  }
  .after\:top-0::after {
    content: var(--tw-content);
    top: 0px;
  }
  .after\:bottom-0::after {
    content: var(--tw-content);
    bottom: 0px;
  }
  .after\:left-\[-21px\]::after {
    content: var(--tw-content);
    left: -21px;
  }
  .after\:inline-block::after {
    content: var(--tw-content);
    display: inline-block;
  }
  .after\:w-\[2px\]::after {
    content: var(--tw-content);
    width: 2px;
  }
  .after\:bg-transparent::after {
    content: var(--tw-content);
    background-color: transparent;
  }
  .after\:content-\[\'\'\]::after {
    --tw-content: '';
    content: var(--tw-content);
  }
  .first\:pt-0:first-child {
    padding-top: 0px;
  }
  .first\:\[--line-before\:\#0000\]:first-child {
    --line-before: #0000;
  }
  .last\:\!m-0:last-child {
    margin: 0px !important;
  }
  .last\:mb-0:last-child {
    margin-bottom: 0px;
  }
  .last\:mb-6:last-child {
    margin-bottom: calc(var(--spacing) * 6);
  }
  .last\:border-0:last-child {
    border-style: var(--tw-border-style);
    border-width: 0px;
  }
  .last\:border-b:last-child {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .last\:border-b-0:last-child {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0px;
  }
  .last\:border-transparent:last-child {
    border-color: transparent;
  }
  .last\:pb-0:last-child {
    padding-bottom: 0px;
  }
  .last\:\[--line-after\:\#0000\]:last-child {
    --line-after: #0000;
  }
  .even\:bg-gray-50:nth-child(even) {
    background-color: var(--color-gray-50);
  }
  .even\:bg-gray-100:nth-child(even) {
    background-color: var(--color-gray-100);
  }
  .open\:stack:is([open], :popover-open, :open) {
    display: grid;
    > *, > ::before, > ::after {
      grid-area: 1/1;
    }
  }
  .open\:flex:is([open], :popover-open, :open) {
    display: flex;
  }
  .invalid\:ring-2:invalid {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .invalid\:ring-red-500:invalid {
    --tw-ring-color: var(--color-red-500);
  }
  .focus-within\:ring-1:focus-within {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .focus-within\:ring-2:focus-within {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  @media (hover: hover) {
    .hover\:translate-y-\[-3px\]:hover {
      --tw-translate-y: -3px;
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .hover\:scale-110:hover {
      --tw-scale-x: 110%;
      --tw-scale-y: 110%;
      --tw-scale-z: 110%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
    .hover\:cursor-pointer:hover {
      cursor: pointer;
    }
    .hover\:border:hover {
      border-style: var(--tw-border-style);
      border-width: 1px;
    }
    .hover\:border-\[\#d5d6da\]:hover {
      border-color: #d5d6da;
    }
    .hover\:border-\[var\(--category-border-color-hover\)\]:hover {
      border-color: var(--category-border-color-hover);
    }
    .hover\:border-\[var\(--tag-border-color-hover\)\]:hover {
      border-color: var(--tag-border-color-hover);
    }
    .hover\:border-primary:hover {
      border-color: var(--color-primary);
    }
    .hover\:bg-\[\#4db2ec\]:hover {
      background-color: #4db2ec;
    }
    .hover\:bg-\[\#222\]:hover {
      background-color: #222;
    }
    .hover\:bg-\[\#2563eb\]:hover {
      background-color: #2563eb;
    }
    .hover\:bg-\[\#333333\]:hover {
      background-color: #333333;
    }
    .hover\:bg-\[\#da5d28\]:hover {
      background-color: #da5d28;
    }
    .hover\:bg-\[\#e88b00\]:hover {
      background-color: #e88b00;
    }
    .hover\:bg-\[var\(--category-bg-color-hover\)\]:hover {
      background-color: var(--category-bg-color-hover);
    }
    .hover\:bg-\[var\(--tag-bg-color-hover\)\]:hover {
      background-color: var(--tag-bg-color-hover);
    }
    .hover\:bg-\[var\(--tag-cloud-bg-color-hover\)\]:hover {
      background-color: var(--tag-cloud-bg-color-hover);
    }
    .hover\:bg-blue-400:hover {
      background-color: var(--color-blue-400);
    }
    .hover\:bg-gray-100:hover {
      background-color: var(--color-gray-100);
    }
    .hover\:bg-gray-900:hover {
      background-color: var(--color-gray-900);
    }
    .hover\:bg-white:hover[class*="bg-opacity-"] {
      background-color: #fff;
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix( in srgb, var(--color-white) calc(100% / var(--tw-bg-opacity)), #0000 );
      }
    }
    .hover\:bg-white:hover {
      background-color: var(--color-white);
    }
    .hover\:text-\[\#ee5204\]:hover {
      color: #ee5204;
    }
    .hover\:text-\[\#ffffff\]:hover {
      color: #ffffff;
    }
    .hover\:text-\[var\(--category-color-hover\)\]:hover {
      color: var(--category-color-hover);
    }
    .hover\:text-\[var\(--link-sidebar-color-hover\)\]:hover {
      color: var(--link-sidebar-color-hover);
    }
    .hover\:text-\[var\(--post-title-color-hover\)\]:hover {
      color: var(--post-title-color-hover);
    }
    .hover\:text-\[var\(--primary-color\)\]:hover {
      color: var(--primary-color);
    }
    .hover\:text-\[var\(--secondary-color\)\]:hover {
      color: var(--secondary-color);
    }
    .hover\:text-\[var\(--tag-cloud-color-hover\)\]:hover {
      color: var(--tag-cloud-color-hover);
    }
    .hover\:text-\[var\(--tag-color-hover\)\]:hover {
      color: var(--tag-color-hover);
    }
    .hover\:text-black:hover {
      color: var(--color-black);
    }
    .hover\:text-blue-600:hover {
      color: var(--color-blue-600);
    }
    .hover\:text-gray-400:hover {
      color: var(--color-gray-400);
    }
    .hover\:text-gray-500:hover {
      color: var(--color-gray-500);
    }
    .hover\:text-green-700:hover {
      color: var(--color-green-700);
    }
    .hover\:text-primary:hover {
      color: var(--color-primary);
    }
    .hover\:text-red-600:hover {
      color: var(--color-red-600);
    }
    .hover\:text-slate-800:hover {
      color: var(--color-slate-800);
    }
    .hover\:text-white:hover {
      color: var(--color-white);
    }
    .hover\:text-yellow-500:hover {
      color: var(--color-yellow-500);
    }
    .hover\:no-underline:hover {
      text-decoration-line: none;
    }
    .hover\:underline:hover {
      text-decoration-line: underline;
    }
    .hover\:opacity-80:hover {
      opacity: 80%;
    }
    .hover\:opacity-85:hover {
      opacity: 85%;
    }
    .hover\:opacity-100:hover {
      opacity: 100%;
    }
    .hover\:shadow-sm:hover {
      --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
    .hover\:transition-\[all\]:hover {
      transition-property: all;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
    }
    .hover\:transition-all:hover {
      transition-property: all;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
    }
    .hover\:duration-200:hover {
      --tw-duration: 200ms;
      transition-duration: 200ms;
    }
    .hover\:duration-300:hover {
      --tw-duration: 300ms;
      transition-duration: 300ms;
    }
    .hover\:ease-out:hover {
      --tw-ease: var(--ease-out);
      transition-timing-function: var(--ease-out);
    }
    .hover\:after\:bg-\[var\(--secondary-color\)\]:hover::after {
      content: var(--tw-content);
      background-color: var(--secondary-color);
    }
  }
  .focus\:not-sr-only:focus {
    position: static;
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    overflow: visible;
    clip-path: none;
    white-space: normal;
  }
  .focus\:absolute:focus {
    position: absolute;
  }
  .focus\:z-10:focus {
    z-index: 10;
  }
  .focus\:z-30:focus {
    z-index: 30;
  }
  .focus\:z-40:focus {
    z-index: 40;
  }
  .focus\:border-blue-300:focus {
    border-color: var(--color-blue-300);
  }
  .focus\:border-red-500:focus {
    border-color: var(--color-red-500);
  }
  .focus\:bg-white:focus[class*="bg-opacity-"] {
    background-color: #fff;
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix( in srgb, var(--color-white) calc(100% / var(--tw-bg-opacity)), #0000 );
    }
  }
  .focus\:bg-white:focus {
    background-color: var(--color-white);
  }
  .focus\:p-2:focus {
    padding: calc(var(--spacing) * 2);
  }
  .focus\:ring-red-500:focus {
    --tw-ring-color: var(--color-red-500);
  }
  .focus\:outline-none:focus {
    --tw-outline-style: none;
    outline-style: none;
  }
  .focus-visible\:ring-2:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .focus-visible\:ring-primary:focus-visible {
    --tw-ring-color: var(--color-primary);
  }
  .focus-visible\:ring-offset-2:focus-visible {
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  }
  .active\:bg-gray-100:active {
    background-color: var(--color-gray-100);
  }
  .active\:text-gray-500:active {
    color: var(--color-gray-500);
  }
  .active\:text-gray-700:active {
    color: var(--color-gray-700);
  }
  .active\:ring-0:active {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .disabled\:opacity-60:disabled {
    opacity: 60%;
  }
  .disabled\:opacity-75:disabled {
    opacity: 75%;
  }
  .has-\[\:focus-visible\]\:outline-2:has(:is(:focus-visible)) {
    outline-style: var(--tw-outline-style);
    outline-width: 2px;
  }
  .aria-disabled\:pointer-events-none[aria-disabled="true"] {
    pointer-events: none;
  }
  .aria-\[current\=page\]\:font-medium[aria-current="page"] {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .aria-\[current\=page\]\:text-primary[aria-current="page"] {
    color: var(--color-primary);
  }
  .aria-\[current\=step\]\:font-bold[aria-current="step"] {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .data-current\:text-primary[data-current] {
    color: var(--color-primary);
  }
  .data-\[active\]\:border-primary[data-active] {
    border-color: var(--color-primary);
  }
  .data-\[expanded\=true\]\:mb-3[data-expanded="true"] {
    margin-bottom: calc(var(--spacing) * 3);
  }
  .data-\[expanded\=true\]\:h-auto[data-expanded="true"] {
    height: auto;
  }
  .data-\[expanded\=true\]\:mask-none[data-expanded="true"] {
    mask-image: none;
  }
  .data-\[open\=true\]\:block[data-open="true"] {
    display: block;
  }
  @media (prefers-reduced-motion: no-preference) {
    .motion-safe\:scroll-smooth {
      scroll-behavior: smooth;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .motion-reduce\:duration-0 {
      --tw-duration: 0ms;
      transition-duration: 0ms;
    }
  }
  @media (width >= 40rem) {
    .sm\:order-1 {
      order: 1;
    }
    .sm\:order-2 {
      order: 2;
    }
    .sm\:order-3 {
      order: 3;
    }
    .sm\:col-span-2 {
      grid-column: span 2 / span 2;
    }
    .sm\:col-span-6 {
      grid-column: span 6 / span 6;
    }
    .sm\:mt-0 {
      margin-top: 0px;
    }
    .sm\:mr-8 {
      margin-right: calc(var(--spacing) * 8);
    }
    .sm\:mb-0 {
      margin-bottom: 0px;
    }
    .sm\:ml-3 {
      margin-left: calc(var(--spacing) * 3);
    }
    .sm\:ml-6 {
      margin-left: calc(var(--spacing) * 6);
    }
    .sm\:block {
      display: block;
    }
    .sm\:flex {
      display: flex;
    }
    .sm\:w-1\/2 {
      width: calc(1 / 2 * 100%);
    }
    .sm\:w-20 {
      width: calc(var(--spacing) * 20);
    }
    .sm\:w-48 {
      width: calc(var(--spacing) * 48);
    }
    .sm\:w-96 {
      width: calc(var(--spacing) * 96);
    }
    .sm\:w-auto {
      width: auto;
    }
    .sm\:table-fixed {
      table-layout: fixed;
    }
    .sm\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sm\:grid-cols-8 {
      grid-template-columns: repeat(8, minmax(0, 1fr));
    }
    .sm\:flex-row {
      flex-direction: row;
    }
    .sm\:items-start {
      align-items: flex-start;
    }
    .sm\:justify-between {
      justify-content: space-between;
    }
    .sm\:justify-end {
      justify-content: flex-end;
    }
    .sm\:gap-2 {
      gap: calc(var(--spacing) * 2);
    }
    .sm\:p-16 {
      padding: calc(var(--spacing) * 16);
    }
    .sm\:px-6 {
      padding-inline: calc(var(--spacing) * 6);
    }
    .sm\:pb-0 {
      padding-bottom: 0px;
    }
    .sm\:text-right {
      text-align: right;
    }
    .sm\:text-2xl {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
    }
    .sm\:text-base {
      font-size: var(--text-base);
      line-height: var(--tw-leading, var(--text-base--line-height));
    }
    .sm\:duration-700 {
      --tw-duration: 700ms;
      transition-duration: 700ms;
    }
    .sm\:\[--snap-cols\:2\] {
      --snap-cols: 2;
    }
  }
  @media (width >= 48rem) {
    .md\:visible {
      visibility: visible;
    }
    .md\:sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip-path: inset(50%);
      white-space: nowrap;
      border-width: 0;
    }
    .md\:right-5 {
      right: calc(var(--spacing) * 5);
    }
    .md\:order-3 {
      order: 3;
    }
    .md\:col-span-1 {
      grid-column: span 1 / span 1;
    }
    .md\:col-span-3 {
      grid-column: span 3 / span 3;
    }
    .md\:col-span-6 {
      grid-column: span 6 / span 6;
    }
    .md\:col-span-9 {
      grid-column: span 9 / span 9;
    }
    .md\:col-span-12 {
      grid-column: span 12 / span 12;
    }
    .md\:container {
      width: 100%;
    }
    @media (width >= 40rem) {
      .md\:container {
        max-width: 40rem;
      }
    }
    @media (width >= 48rem) {
      .md\:container {
        max-width: 48rem;
      }
    }
    @media (width >= 64rem) {
      .md\:container {
        max-width: 64rem;
      }
    }
    @media (width >= 80rem) {
      .md\:container {
        max-width: 80rem;
      }
    }
    @media (width >= 96rem) {
      .md\:container {
        max-width: 96rem;
      }
    }
    .md\:container {
      margin-inline: auto;
      padding-inline: calc(var(--spacing) * 6);
    }
    .md\:mx-0 {
      margin-inline: 0px;
    }
    .md\:mx-auto {
      margin-inline: auto;
    }
    .md\:my-0 {
      margin-block: 0px;
    }
    .md\:-mt-1 {
      margin-top: calc(var(--spacing) * -1);
    }
    .md\:mt-0 {
      margin-top: 0px;
    }
    .md\:mt-3 {
      margin-top: calc(var(--spacing) * 3);
    }
    .md\:mt-5 {
      margin-top: calc(var(--spacing) * 5);
    }
    .md\:-mr-1 {
      margin-right: calc(var(--spacing) * -1);
    }
    .md\:mb-0 {
      margin-bottom: 0px;
    }
    .md\:ml-auto {
      margin-left: auto;
    }
    .md\:block {
      display: block;
    }
    .md\:flex {
      display: flex;
    }
    .md\:grid {
      display: grid;
    }
    .md\:hidden {
      display: none;
    }
    .md\:inline-block {
      display: inline-block;
    }
    .md\:inline-flex {
      display: inline-flex;
    }
    .md\:h-6 {
      height: calc(var(--spacing) * 6);
    }
    .md\:h-24 {
      height: calc(var(--spacing) * 24);
    }
    .md\:w-1\/2 {
      width: calc(1 / 2 * 100%);
    }
    .md\:w-1\/3 {
      width: calc(1 / 3 * 100%);
    }
    .md\:w-1\/4 {
      width: calc(1 / 4 * 100%);
    }
    .md\:w-2\/3 {
      width: calc(2 / 3 * 100%);
    }
    .md\:w-2\/4 {
      width: calc(2 / 4 * 100%);
    }
    .md\:w-2\/6 {
      width: calc(2 / 6 * 100%);
    }
    .md\:w-3\/4 {
      width: calc(3 / 4 * 100%);
    }
    .md\:w-4\/4 {
      width: calc(4 / 4 * 100%);
    }
    .md\:w-4\/6 {
      width: calc(4 / 6 * 100%);
    }
    .md\:w-6 {
      width: calc(var(--spacing) * 6);
    }
    .md\:w-24 {
      width: calc(var(--spacing) * 24);
    }
    .md\:w-\[50vw\] {
      width: 50vw;
    }
    .md\:w-\[640px\] {
      width: 640px;
    }
    .md\:w-auto {
      width: auto;
    }
    .md\:w-full {
      width: 100%;
    }
    .md\:max-w-sm {
      max-width: var(--container-sm);
    }
    .md\:max-w-xs {
      max-width: var(--container-xs);
    }
    .md\:shrink-0 {
      flex-shrink: 0;
    }
    .md\:-translate-x-1\/3 {
      --tw-translate-x: calc(calc(1 / 3 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .md\:cursor-text {
      cursor: text;
    }
    .md\:grid-cols-1 {
      grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .md\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .md\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .md\:grid-cols-\[42\%_minmax\(0px\,1fr\)\] {
      grid-template-columns: 42% minmax(0px,1fr);
    }
    .md\:flex-col-reverse {
      flex-direction: column-reverse;
    }
    .md\:flex-row {
      flex-direction: row;
    }
    .md\:flex-row-reverse {
      flex-direction: row-reverse;
    }
    .md\:flex-wrap {
      flex-wrap: wrap;
    }
    .md\:items-center {
      align-items: center;
    }
    .md\:items-start {
      align-items: flex-start;
    }
    .md\:justify-between {
      justify-content: space-between;
    }
    .md\:justify-start {
      justify-content: flex-start;
    }
    .md\:gap-1 {
      gap: var(--spacing);
    }
    .md\:gap-4 {
      gap: calc(var(--spacing) * 4);
    }
    .md\:gap-6 {
      gap: calc(var(--spacing) * 6);
    }
    .md\:gap-8 {
      gap: calc(var(--spacing) * 8);
    }
    :where(.md\:space-y-0 > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: 0;
      margin-block-end: 0;
    }
    .md\:gap-x-2 {
      column-gap: calc(var(--spacing) * 2);
    }
    .md\:gap-x-6 {
      column-gap: calc(var(--spacing) * 6);
    }
    :where(.md\:space-x-4 > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
    }
    .md\:justify-self-end {
      justify-self: flex-end;
    }
    .md\:justify-self-start {
      justify-self: flex-start;
    }
    .md\:border-0 {
      border-style: var(--tw-border-style);
      border-width: 0px;
    }
    .md\:bg-transparent {
      background-color: transparent;
    }
    .md\:px-0 {
      padding-inline: 0px;
    }
    .md\:px-1 {
      padding-inline: var(--spacing);
    }
    .md\:py-0 {
      padding-block: 0px;
    }
    .md\:py-4 {
      padding-block: calc(var(--spacing) * 4);
    }
    .md\:py-6 {
      padding-block: calc(var(--spacing) * 6);
    }
    .md\:pr-4 {
      padding-right: calc(var(--spacing) * 4);
    }
    .md\:pl-5 {
      padding-left: calc(var(--spacing) * 5);
    }
    .md\:pl-6 {
      padding-left: calc(var(--spacing) * 6);
    }
    .md\:pl-7 {
      padding-left: calc(var(--spacing) * 7);
    }
    .md\:text-left {
      text-align: left;
    }
    .md\:text-start {
      text-align: start;
    }
    .md\:text-2xl {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
    }
    .md\:text-3xl {
      font-size: var(--text-3xl);
      line-height: var(--tw-leading, var(--text-3xl--line-height));
    }
    .md\:text-base {
      font-size: var(--text-base);
      line-height: var(--tw-leading, var(--text-base--line-height));
    }
    .md\:text-lg {
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
    }
    .md\:text-sm {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
    .md\:text-xl {
      font-size: var(--text-xl);
      line-height: var(--tw-leading, var(--text-xl--line-height));
    }
    .md\:select-text {
      -webkit-user-select: text;
      user-select: text;
    }
    .md\:\[--snap-cols\:2\] {
      --snap-cols: 2;
    }
  }
  @media (width >= 64rem) {
    .lg\:sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip-path: inset(50%);
      white-space: nowrap;
      border-width: 0;
    }
    .lg\:absolute {
      position: absolute;
    }
    .lg\:sticky {
      position: sticky;
    }
    .lg\:top-4 {
      top: calc(var(--spacing) * 4);
    }
    .lg\:top-6 {
      top: calc(var(--spacing) * 6);
    }
    .lg\:top-\[var\(--msrp-block-offset\)\] {
      top: var(--msrp-block-offset);
    }
    .lg\:right-auto {
      right: auto;
    }
    .lg\:bottom-auto {
      bottom: auto;
    }
    .lg\:left-\[var\(--msrp-inline-offset\)\] {
      left: var(--msrp-inline-offset);
    }
    .lg\:order-0 {
      order: 0;
    }
    .lg\:order-2 {
      order: 2;
    }
    .lg\:order-first {
      order: -9999;
    }
    .lg\:col-span-2 {
      grid-column: span 2 / span 2;
    }
    .lg\:col-span-6 {
      grid-column: span 6 / span 6;
    }
    .lg\:mt-0 {
      margin-top: 0px;
    }
    .lg\:mt-3 {
      margin-top: calc(var(--spacing) * 3);
    }
    .lg\:mt-6 {
      margin-top: calc(var(--spacing) * 6);
    }
    .lg\:mb-10 {
      margin-bottom: calc(var(--spacing) * 10);
    }
    .lg\:ml-5 {
      margin-left: calc(var(--spacing) * 5);
    }
    .lg\:stack {
      display: grid;
    }
    .lg\:stack > *, .lg\:stack  > ::before, .lg\:stack  > ::after {
      grid-area: 1/1;
    }
    .lg\:block {
      display: block;
    }
    .lg\:flex {
      display: flex;
    }
    .lg\:grid {
      display: grid;
    }
    .lg\:hidden {
      display: none;
    }
    .lg\:inline {
      display: inline;
    }
    .lg\:inline-block {
      display: inline-block;
    }
    .lg\:inline-flex {
      display: inline-flex;
    }
    .lg\:table-cell {
      display: table-cell;
    }
    .lg\:aspect-\(--thumb-ratio\) {
      aspect-ratio: var(--thumb-ratio);
    }
    .lg\:size-4 {
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
    }
    .lg\:size-auto {
      width: auto;
      height: auto;
    }
    .lg\:h-36 {
      height: calc(var(--spacing) * 36);
    }
    .lg\:w-1\/2 {
      width: calc(1 / 2 * 100%);
    }
    .lg\:w-1\/3 {
      width: calc(1 / 3 * 100%);
    }
    .lg\:w-1\/4 {
      width: calc(1 / 4 * 100%);
    }
    .lg\:w-2\/3 {
      width: calc(2 / 3 * 100%);
    }
    .lg\:w-36 {
      width: calc(var(--spacing) * 36);
    }
    .lg\:w-56 {
      width: calc(var(--spacing) * 56);
    }
    .lg\:w-80 {
      width: calc(var(--spacing) * 80);
    }
    .lg\:max-w-xs {
      max-width: var(--container-xs);
    }
    .lg\:flex-1 {
      flex: 1;
    }
    .lg\:shrink-0 {
      flex-shrink: 0;
    }
    .lg\:table-auto {
      table-layout: auto;
    }
    .lg\:-translate-y-0 {
      --tw-translate-y: 0px;
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .lg\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .lg\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .lg\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .lg\:grid-cols-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    .lg\:grid-cols-6 {
      grid-template-columns: repeat(6, minmax(0, 1fr));
    }
    .lg\:grid-cols-8 {
      grid-template-columns: repeat(8, minmax(0, 1fr));
    }
    .lg\:grid-cols-\[minmax\(0px\,1fr\)_26rem\] {
      grid-template-columns: minmax(0px,1fr) 26rem;
    }
    .lg\:flex-col {
      flex-direction: column;
    }
    .lg\:flex-row {
      flex-direction: row;
    }
    .lg\:flex-row-reverse {
      flex-direction: row-reverse;
    }
    .lg\:flex-nowrap {
      flex-wrap: nowrap;
    }
    .lg\:items-center {
      align-items: center;
    }
    .lg\:items-start {
      align-items: flex-start;
    }
    .lg\:justify-start {
      justify-content: flex-start;
    }
    .lg\:gap-2 {
      gap: calc(var(--spacing) * 2);
    }
    .lg\:gap-4 {
      gap: calc(var(--spacing) * 4);
    }
    .lg\:gap-x-10 {
      column-gap: calc(var(--spacing) * 10);
    }
    :where(.lg\:space-x-4 > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
    }
    .lg\:rounded-md {
      border-radius: var(--radius-md);
    }
    .lg\:rounded-sm {
      border-radius: var(--radius-sm);
    }
    .lg\:p-px {
      padding: 1px;
    }
    .lg\:px-5 {
      padding-inline: calc(var(--spacing) * 5);
    }
    .lg\:px-8 {
      padding-inline: calc(var(--spacing) * 8);
    }
    .lg\:py-0 {
      padding-block: 0px;
    }
    .lg\:py-2 {
      padding-block: calc(var(--spacing) * 2);
    }
    .lg\:py-14 {
      padding-block: calc(var(--spacing) * 14);
    }
    .lg\:pe-4 {
      padding-inline-end: calc(var(--spacing) * 4);
    }
    .lg\:text-left {
      text-align: left;
    }
    .lg\:text-3xl {
      font-size: var(--text-3xl);
      line-height: var(--tw-leading, var(--text-3xl--line-height));
    }
    .lg\:text-4xl {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }
    .lg\:text-\[22px\] {
      font-size: 22px;
    }
    .lg\:font-normal {
      --tw-font-weight: var(--font-weight-normal);
      font-weight: var(--font-weight-normal);
    }
    .lg\:shadow-lg {
      --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
    .lg\:\[--snap-cols\:3\] {
      --snap-cols: 3;
    }
    :is(.\*\:lg\:transition-colors > *) {
      transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
    }
    .lg\:aria-current\:bg-transparent[aria-current="true"] {
      background-color: transparent;
    }
    .lg\:aria-current\:inset-ring[aria-current="true"] {
      --tw-inset-ring-shadow: inset 0 0 0 1px var(--tw-inset-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
    .lg\:data-\[overflow\]\:hidden[data-overflow] {
      display: none;
    }
  }
  @media (width >= 80rem) {
    .xl\:inset-x-0 {
      inset-inline: 0px;
    }
    .xl\:top-1\/2 {
      top: calc(1 / 2 * 100%);
    }
    .xl\:bottom-auto {
      bottom: auto;
    }
    .xl\:col-span-2 {
      grid-column: span 2 / span 2;
    }
    .xl\:mt-0 {
      margin-top: 0px;
    }
    .xl\:block {
      display: block;
    }
    .xl\:flex {
      display: flex;
    }
    .xl\:w-1\/2 {
      width: calc(1 / 2 * 100%);
    }
    .xl\:w-1\/4 {
      width: calc(1 / 4 * 100%);
    }
    .xl\:-translate-y-1\/2 {
      --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .xl\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .xl\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .xl\:flex-row {
      flex-direction: row;
    }
    .xl\:justify-between {
      justify-content: space-between;
    }
    :where(.xl\:space-y-0 > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: 0;
      margin-block-end: 0;
    }
    .xl\:gap-x-2\.5 {
      column-gap: calc(var(--spacing) * 2.5);
    }
    :where(.xl\:space-x-4 > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
    }
    .xl\:border-none {
      --tw-border-style: none;
      border-style: none;
    }
    .xl\:p-12 {
      padding: calc(var(--spacing) * 12);
    }
    .xl\:px-2 {
      padding-inline: calc(var(--spacing) * 2);
    }
    .xl\:py-32 {
      padding-block: calc(var(--spacing) * 32);
    }
    .xl\:text-6xl {
      font-size: var(--text-6xl);
      line-height: var(--tw-leading, var(--text-6xl--line-height));
    }
    .xl\:\[--snap-cols\:4\] {
      --snap-cols: 4;
    }
    .xl\:focus-within\:relative:focus-within {
      position: relative;
    }
  }
  @media (width >= 96rem) {
    .\32 xl\:w-96 {
      width: calc(var(--spacing) * 96);
    }
    .\32 xl\:grid-cols-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    .\32 xl\:\[--snap-cols\:5\] {
      --snap-cols: 5;
    }
  }
  .rtl\:-rotate-180:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
    rotate: calc(180deg * -1);
  }
  .rtl\:rotate-180:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
    rotate: 180deg;
  }
  @media print {
    .print\:mt-0 {
      margin-top: 0px;
    }
    .print\:ml-5 {
      margin-left: calc(var(--spacing) * 5);
    }
    .print\:flex {
      display: flex;
    }
    .print\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .print\:text-left {
      text-align: left;
    }
  }
  @media (width >= 40rem) {
    .sm\:\[\&_\.label-street\.sr-only\]\:invisible .label-street.sr-only {
      visibility: hidden;
    }
    .sm\:\[\&_\.label-street\.sr-only\]\:not-sr-only .label-street.sr-only {
      position: static;
      width: auto;
      height: auto;
      padding: 0;
      margin: 0;
      overflow: visible;
      clip-path: none;
      white-space: normal;
    }
    .sm\:\[\&_\.label-street\.sr-only\]\:mb-2 .label-street.sr-only {
      margin-bottom: calc(var(--spacing) * 2);
    }
  }
  .\[\&_a\]\:text-white a {
    color: var(--color-white);
  }
  .\[\&_a\:hover\]\:text-primary a:hover {
    color: var(--color-primary);
  }
  .\[\&_img\]\:h-auto img {
    height: auto;
  }
  .\[\&_img\]\:max-w-full img {
    max-width: 100%;
  }
  @media (width >= 48rem) {
    .md\:\[\&_label\.sr-only\]\:invisible label.sr-only {
      visibility: hidden;
    }
    .md\:\[\&_label\.sr-only\]\:not-sr-only label.sr-only {
      position: static;
      width: auto;
      height: auto;
      padding: 0;
      margin: 0;
      overflow: visible;
      clip-path: none;
      white-space: normal;
    }
    .md\:\[\&_label\.sr-only\]\:mb-2 label.sr-only {
      margin-bottom: calc(var(--spacing) * 2);
    }
  }
}
@layer base {
  :where(:focus-visible) {
    outline: var(--outline-size, 2px) solid var(--color-primary);
    outline-offset: var(--outline-offset, 2px);
  }
  :where(:active:focus-visible) {
    outline-offset: 0;
    transition: var( --outline-transition, outline-offset 150ms cubic-bezier(0.25, 0, 0.4, 1) );
  }
  :disabled {
    cursor: not-allowed;
  }
  :target {
    scroll-margin-block: var(--anchor-offset, 6ex);
  }
  @media (prefers-reduced-motion: no-preference) {
    :where(html):has(:target) {
      scroll-behavior: smooth;
    }
  }
  html {
    block-size: 100%;
    scrollbar-gutter: stable;
  }
  body {
    min-block-size: 100%;
  }
  :where( :any-link, button, input, label[for], select, summary, textarea, [tabindex]:not([tabindex^="-"]) ) {
    touch-action: manipulation;
  }
  :where( :any-link, button, label[for], label:has(input:is([type="radio"], [type="checkbox"]):enabled), select:has(option:enabled), summary ) {
    cursor: pointer;
  }
  :where(dialog) {
    position: fixed;
    max-block-size: calc(100% - 2rem);
    max-inline-size: calc(100% - 2rem);
    background-color: var(--color-surface, canvas);
    color: var(--color-fg, canvastext);
    border-radius: 1rem;
    margin: auto;
    padding: 1.5rem;
    box-shadow: var(--shadow-lg);
    &::backdrop {
      background-color: var(--backdrop, hsl(0 0% 0% / 20%));
    }
  }
  :where(:root:has(dialog[open]:modal)) {
    overflow: hidden;
  }
  address {
    font-style: normal;
  }
}
@media print {
  *, *::before, *::after {
    box-shadow: none !important;
    text-shadow: none !important;
  }
  :is(h1, h2, h3, h4, h5, h6) {
    page-break-after: avoid;
  }
  :is(h2, h3, h4, h5, h6, p) {
    orphans: 3;
    widows: 3;
  }
  :is(tr, img, svg, pre, blockquote) {
    page-break-inside: avoid;
  }
  abbr[title]::after {
    content: " (" attr(title) ")";
  }
  :is(.columns, .container) {
    max-width: 100% !important;
  }
}
@layer base {
  @view-transition {
    navigation: auto;
  }
  :root {
    scrollbar-color: var(--scrollthumb-color) var(--scrolltrack-color, Canvas);
    accent-color: var(--color-primary);
    caret-color: var(--color-primary);
    interpolate-size: allow-keywords;
  }
  body {
    background: var(--color-bg);
    color: var(--color-fg);
  }
}
[x-cloak] {
  display: none !important;
}
@layer components {
  .actions-toolbar {
    display: flex;
    gap: calc(var(--spacing) * 4);
    flex-direction: column;
    margin-block-start: calc(var(--spacing) * 6);
    padding-block-start: calc(var(--spacing) * 4);
    border-block-start-width: 1px;
    border-block-start-color: var(--color-gray-300);
    @media (width >= 48rem) {
      flex-direction: row-reverse;
      align-items: center;
    }
    & a.back {
      text-decoration-line: underline;
    }
  }
}
.btn-size-lg {
  padding-inline: calc(var(--spacing) * 10);
  padding-block: calc(var(--spacing) * 4);
  font-size: var(--text-lg);
  line-height: var(--tw-leading, var(--text-lg--line-height));
}
.btn-size-sm {
  padding-inline: calc(var(--spacing) * 2);
  padding-block: calc(var(--spacing) * 2);
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
}
@layer components {
  .card {
    position: relative;
    border-radius: var(--card-radius, var(--radius-lg));
    border-width: 1px;
    padding-block: var(--card-py, calc(var(--spacing) * 6));
    padding-inline: var(--card-px, calc(var(--spacing) * 6));
    border-color: var(--card-stroke, var(--color-gray-300));
    background-color: var(--card-bg, var(--color-surface));
    color: var(--card-color, var(--color-fg));
    transition-property: color, background-color, border-color, box-shadow, outline-color;
    transition-timing-function: var(--default-transition-timing-function);
    transition-duration: var(--default-transition-duration);
  }
  @media (hover: hover) {
    .card-interactive:hover {
      --card-stroke: #0000;
      box-shadow: var(--shadow-lg);
    }
  }
  .card-interactive:focus-within {
    --card-stroke: #0000;
    box-shadow: var(--shadow-lg);
  }
}
@layer base {
  [type="checkbox"][role="switch"] {
    --switch-width: calc(var(--spacing) * 9);
    --switch-height: calc(var(--spacing) * 5);
    --switch-thumb-offset: calc(var(--switch-width) - var(--switch-height));
    border-radius: calc(infinity * 1px);
    border-width: 2px;
    block-size: var(--switch-height);
    inline-size: var(--switch-width);
    &:not(:disabled) {
      cursor: pointer;
    }
    &::after {
      content: "";
      display: block;
      aspect-ratio: 1;
      height: 100%;
      border-radius: calc(infinity * 1px);
      border-width: 1px;
      border-color: var(--form-bg);
      background-color: var(--form-stroke);
      transition: background-color 150ms, border-color 150ms, translate 150ms;
    }
    &:checked {
      background-image: none;
      &::after {
        background-color: var(--form-bg);
        translate: var(--switch-thumb-offset) 0%;
      }
    }
    &:dir(rtl):checked::after {
      translate: calc(var(--switch-thumb-offset) / -1) 0%;
    }
  }
}
@layer components {
  .form-input.qty {
    max-inline-size: calc(6ch + var(--form-px));
  }
  .field {
    margin-top: var(--spacing);
    &.field-reserved {
      --reserved-space: calc(var(--spacing) * 7);
      margin-block-end: var(--reserved-space);
      ul {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height));
        &:last-of-type {
          margin-block-end: calc(var(--reserved-space) * -1);
        }
      }
    }
    &.choice {
      display: flex;
      align-items: center;
      label {
        margin-bottom: 0px;
      }
      input {
        margin-right: calc(var(--spacing) * 3);
      }
    }
    &.field-error .messages {
      color: var(--color-red-600);
      max-width: fit-content;
    }
    &.required > label {
      &::after {
        content: var(--tw-content);
        position: relative;
      }
      &::after {
        content: var(--tw-content);
        top: calc(var(--spacing) * -1);
      }
      &::after {
        content: var(--tw-content);
        --tw-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M12 6v12M17.196 9 6.804 15M6.804 9l10.392 6'/%3E%3C/svg%3E");
        --tw-icon-size: 1em;
        display: inline-block;
        width: var(--tw-icon-size);
        height: var(--tw-icon-size);
        background-color: currentcolor;
        mask-repeat: no-repeat;
        mask-size: contain;
        mask-image: var(--tw-icon);
      }
      &::after {
        content: var(--tw-content);
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height));
      }
      &::after {
        content: var(--tw-content);
        color: var(--color-red-600);
      }
    }
  }
  .form-input-addon {
    appearance: none;
    padding-block: var(--form-py);
    padding-inline: var(--form-px);
    border-radius: var(--form-radius);
    border-width: 1px;
    border-color: var(--form-stroke);
    background-color: var(--form-bg);
    color: var(--form-color);
    --outline-size: 1px;
    --outline-offset: 0px;
    &:first-child {
      padding-inline-end: 0;
      border-inline-end: 0;
    }
    &:last-child {
      padding-inline-start: 0;
      border-inline-start: 0;
    }
  }
  .input-group {
    position: relative;
    display: flex;
    border-radius: var(--form-radius);
    vertical-align: middle;
    &:focus-within {
      --form-stroke: var(--form-active-color);
      outline: var(--outline-size, 1px) solid var(--form-active-color);
      outline-offset: var(--outline-offset, 0px);
    }
    & > * {
      margin: 0;
      border-radius: 0;
      outline: none;
    }
    & > :first-child {
      border-start-start-radius: inherit;
      border-end-start-radius: inherit;
    }
    & > :last-child {
      border-start-end-radius: inherit;
      border-end-end-radius: inherit;
    }
    & > :not(template, [hidden]:where(:not([hidden="until-found"]))) + :not(button, .btn) {
      border-inline-start-width: 0;
    }
  }
  .message {
    margin-bottom: calc(var(--spacing) * 2);
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    border-radius: 0.25rem;
    background-color: var(--color-gray-100);
    padding: calc(var(--spacing) * 2);
    padding-left: calc(var(--spacing) * 5);
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--color-black);
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    &.error {
      border-style: var(--tw-border-style);
      border-width: 2px;
      border-color: var(--color-red-500);
      background-color: var(--color-red-50);
    }
    &.success {
      border-style: var(--tw-border-style);
      border-width: 2px;
      border-color: var(--color-green-500);
      background-color: var(--color-green-50);
    }
    &.info, &.notice {
      border-style: var(--tw-border-style);
      border-width: 2px;
      border-color: var(--color-blue-500);
      background-color: var(--color-blue-50);
    }
    &.warning {
      border-style: var(--tw-border-style);
      border-width: 2px;
      border-color: var(--color-yellow-500);
      background-color: var(--color-yellow-50);
    }
    a {
      text-decoration-line: underline;
    }
  }
}
.page.messages {
  position: sticky;
  top: 0px;
  z-index: 20;
  .messages section#messages {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
    margin-inline: auto;
    padding-inline: calc(var(--spacing) * 6);
    margin-inline: auto;
    padding-block: calc(var(--spacing) * 3);
  }
}
@layer components {
  .rating-summary {
    display: flex;
    color: var(--color-rating, var(--color-yellow-400));
  }
  .snap-track {
    --snap-cols: 1;
    --snap-gap: calc(var(--spacing) * 4);
    --snap-size: calc(
            (100% - var(--snap-gap) * (var(--snap-cols) - 1)) / var(--snap-cols)
        );
    position: relative;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: var(--snap-size);
    gap: var(--snap-gap);
    padding-block: calc(var(--spacing) * 6);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    @media (prefers-reduced-motion: no-preference) {
      scroll-behavior: smooth;
    }
    & > * {
      scroll-snap-align: start;
    }
  }
  .snap-pager {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: calc(var(--spacing) * 3);
    min-block-size: calc(var(--spacing) * 11);
    padding-block: calc(var(--spacing) * 2);
  }
  .snap-marker {
    flex-shrink: 0;
    block-size: calc(var(--spacing) * 4);
    inline-size: calc(var(--spacing) * 4);
    border-width: 1px;
    border-color: var(--color-slate-600);
    border-radius: 1rem;
    transition-duration: 300ms;
    transition-property: border-color, background-color;
    @media (prefers-reduced-motion: no-preference) {
      transition-property: inline-size, border-color, background-color;
      will-change: inline-size;
    }
    &[aria-current="true"] {
      inline-size: calc(var(--spacing) * 7);
      border-color: var(--color-primary);
      background-color: var(--color-primary);
    }
  }
  .swatch-option {
    --swatch-size: calc(var(--spacing) * 9);
    display: grid;
    place-items: center;
    min-block-size: var(--swatch-size);
    min-inline-size: var(--swatch-size);
    padding-block: var(--swatch-py, 3px);
    padding-inline: var(--swatch-px, 6px);
    border-radius: var(--swatch-radius, 0.5em);
    border-width: 1px;
    border-color: var(--form-stroke);
    background: var(--swatch-visual, var(--form-bg)) center/contain no-repeat;
    color: var(--form-color);
    line-height: 1.1;
    cursor: pointer;
    > * {
      grid-area: 1/1;
      border-radius: calc( var(--swatch-radius, 0.5em) - var(--swatch-px, 6px) );
    }
    &[data-swatch-type="visual"] {
      --swatch-radius: 5rem;
      --swatch-px: 3px;
    }
    &:hover {
      border-color: var(--form-active-color);
    }
    &:is( :has(:checked), [aria-checked="true"], [aria-selected="true"], [aria-current="page"] ) {
      border-color: var(--form-active-color);
      box-shadow: inset 0 0 0 1px var(--form-active-color);
    }
    &:is(:focus-visible, :has(:focus-visible)) {
      border-color: var(--form-active-color);
      outline: var(--outline-size, 2px) solid var(--form-active-color);
      outline-offset: var(--outline-offset, 2px);
    }
    &:is(:has(:disabled), [aria-disabled="true"]) {
      border-color: color-mix(in srgb, oklch(70.7% 0.022 261.325) 80%, #0000);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in srgb, var(--form-stroke) 80%, #0000);
      }
      border-style: dashed;
      cursor: not-allowed;
      > :is(span, img) {
        opacity: 80%;
      }
    }
  }
  .swatch-attribute-options {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--spacing) * 2);
  }
  :where(main:not(.product-main-full-width, .page-main-full-width)) .columns {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
    margin-inline: auto;
    padding-inline: calc(var(--spacing) * 6);
  }
}
@layer base {
  :where(form label) {
    margin-bottom: calc(var(--spacing) * 2);
    display: block;
    color: var(--color-fg-secondary);
  }
  :where(form legend) {
    margin-bottom: calc(var(--spacing) * 3);
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
    & + br {
      display: none;
    }
  }
  :where(fieldset ~ fieldset) {
    margin-top: calc(var(--spacing) * 8);
  }
}
.price-box .price {
  font-size: var(--price-font-size, var(--text-base));
  font-weight: var(--price-font-weight, bolder);
}
.price-box .old-price, .price-box .special-price {
  display: block;
  & .price-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
  }
}
.price-box .old-price {
  --price-font-size: 0.875em;
  --price-font-weight: normal;
  .price {
    text-decoration: line-through;
  }
}
.price-box .price-excluding-tax {
  display: block;
  &::after {
    content: " " attr(data-label);
    font-size: var(--price-font-size-label, 0.875rem);
    font-weight: var(--price-font-weight, normal);
  }
}
.price-box .price-tax-label {
  font-size: var(--price-font-size-label, 0.875rem);
}
.price-including-tax + .price-excluding-tax {
  --price-font-size: 1rem;
}
.price-container.price-tier_price {
  display: flex;
  gap: var(--spacing);
  & > .price-including-tax + .price-excluding-tax {
    &::before {
      content: "(" attr(data-label) ": ";
    }
    &::after {
      content: ")";
    }
  }
}
@layer components {
  .account-nav li a, .account-nav li strong {
    display: flex;
    justify-content: space-between;
    padding-block: var(--spacing);
    color: var(--color-fg-secondary);
  }
  .account-nav li a:hover {
    text-decoration-line: underline;
    color: var(--color-fg);
  }
  .account-nav li strong {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    text-decoration-line: underline;
    color: var(--color-fg);
  }
}
.grecaptcha-badge {
  visibility: hidden;
}
.page-wrapper {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
}
.page-main {
  flex-grow: 1;
  margin-block: calc(var(--spacing) * 8);
}
.columns {
  display: grid;
  grid-template-columns: minmax(0px, 1fr);
  gap: calc(var(--spacing) * 4) calc(var(--spacing) * 8);
}
@media (width >= 48rem) {
  :is([class*="page-layout-2columns-"], .page-layout-3columns) {
    --sidebar-width: 240px;
    --main-width: minmax(0px, 1fr);
    --page-layout: var(--sidebar-width) var(--main-width);
    .columns {
      grid-template-columns: var(--page-layout);
      grid-template-rows: auto 1fr;
      & > .column.main {
        grid-row: span 2;
      }
    }
  }
  .page-layout-2columns-left .columns > .column.main {
    grid-column-start: 2;
  }
  .page-layout-2columns-right {
    --page-layout: var(--main-width) var(--sidebar-width);
    .columns > .column.main {
      order: -1;
    }
  }
}
@media (width >= 64rem) {
  [class*="page-layout-2columns-"], .page-layout-3columns {
    --sidebar-width: 320px;
  }
}
@media (width >= 80rem) {
  .page-layout-3columns {
    --sidebar-width: 240px;
    --page-layout: var(--sidebar-width) var(--main-width)
            var(--sidebar-width);
  }
}
@layer components {
  .cms-content {
    --text-flow: 1em 1rem;
    --separator-flow: 2.5em;
    --list-flow: 0.5em;
    --h-color: initial;
    --h-family: initial;
    --h-size: 1.125em;
    --h-weight: 600;
    --h-line: 1.1;
    --h1-size: 3em;
    --h2-size: 2em;
    --h3-size: 1.625em;
    --h4-size: 1.375em;
    --marker-color: var(--color-primary);
    --link-color: var(--color-primary);
    --link-weight: 500;
    --blockquote-color: var(--color-primary);
    --table-py: calc(var(--spacing) * 3);
    --table-px: calc(var(--spacing) * 2);
    --table-stroke: var(--color-gray-400);
    --table-bg: canvas;
    --table-color: canvastext;
    :where(h1, h2, h3, h4, h5, h6, p, dl, ul, ol, pre, hgroup) {
      margin-block: var(--text-flow);
    }
    :where(blockquote, figure, hr) {
      margin-block: var(--separator-flow);
      margin-inline: 0;
    }
    :where([class~="lead"]) {
      font-size: 1.25em;
    }
    :where(h1, h2, h3, h4, h5, h6) {
      color: var(--h-color);
      font-family: var(--h-family);
      font-size: var(--h-size);
      font-weight: var(--h-weight);
      line-height: var(--h-line);
      text-wrap: balance;
    }
    :where(h1) {
      --h-size: var(--h1-size);
    }
    :where(h2) {
      --h-size: var(--h2-size);
    }
    :where(h3) {
      --h-size: var(--h3-size);
    }
    :where(h4) {
      --h-size: var(--h4-size);
    }
    ::marker {
      color: var(--marker-color);
    }
    :where(ul, ol) {
      list-style: revert;
      padding-inline-start: 2em;
    }
    :where(ol[type="a"]) {
      list-style-type: lower-alpha;
    }
    :where(ol[type="i"]) {
      list-style-type: lower-roman;
    }
    :where(ol[type="1"]) {
      list-style-type: decimal;
    }
    :where(blockquote) {
      border-inline-start: 4px solid var(--blockquote-color);
      padding-inline-start: 1.5em;
      padding-block: 0.25em;
    }
    :where(:any-link) {
      color: var(--link-color);
      font-weight: var(--link-weight);
      &:hover {
        text-decoration: underline;
      }
    }
    :where(table) {
      border-collapse: separate;
      border-spacing: 0;
      border-color: var(--table-stroke);
    }
    :where(thead, tbody, tfoot, tr, th, td) {
      border-color: inherit;
      text-align: inherit;
    }
    :where(th, td) {
      padding-block: var(--table-py);
      padding-inline: var(--table-px);
      background: var(--table-bg);
      color: var(--table-color);
    }
    :where(tr + tr :is(th, td)) {
      border-block-start-width: 1px;
    }
    :where(thead tr:last-child :is(th, td)) {
      border-block-end-width: 2px;
    }
    :where(tfoot tr:first-child :is(th, td)) {
      border-block-start-width: 2px;
    }
    :where(table:not(:has(.table-wrapper, [class*="overflow-"]))) {
      word-break: break-all;
    }
    > :where(:first-child) {
      margin-block-start: 0;
    }
    > :where(:last-child) {
      margin-block-end: 0;
    }
    max-width: 100%;
  }
  .table-wrapper {
    overflow: auto;
  }
}
#customer-login-container {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  column-gap: calc(var(--spacing) * 4);
  row-gap: calc(var(--spacing) * 8);
  padding-block: calc(var(--spacing) * 8);
  @media (width >= 48rem) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.order-links {
  display: flex;
  flex-wrap: wrap;
  gap: calc(var(--spacing) * 4);
  a {
    text-decoration: underline;
  }
}
.product-item {
  --price-font-size: 1.25em;
  .price-from, .price-to {
    --price-font-size: 1em;
  }
}
.product-info-main {
  --price-font-size: clamp(1.5em, 2.5vw, 2.5em);
  & .old-price {
    --price-font-size: 1em;
  }
  .product-grouped-options, .price-from, .price-to {
    --price-font-size: 1.5em;
  }
}
.wishlist-widget .price-box .price-label, .wishlist-widget .price-box .old-price {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border-width: 0;
}
.product-image-container {
  display: block;
  margin-inline: auto;
}
[data-content-type="row"][data-appearance="contained"] {
  width: 100%;
  @media (width >= 40rem) {
    max-width: 40rem;
  }
  @media (width >= 48rem) {
    max-width: 48rem;
  }
  @media (width >= 64rem) {
    max-width: 64rem;
  }
  @media (width >= 80rem) {
    max-width: 80rem;
  }
  @media (width >= 96rem) {
    max-width: 96rem;
  }
  margin-inline: auto;
  padding-inline: calc(var(--spacing) * 6);
  [data-element="inner"] {
    background-attachment: scroll !important;
  }
}
[data-content-type="row"][data-appearance="full-bleed"] {
  background-attachment: scroll !important;
}
[data-content-type="row"][data-appearance="full-width"] {
  background-attachment: scroll !important;
  > .row-full-width-inner {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
    margin-inline: auto;
    padding-inline: calc(var(--spacing) * 6);
  }
}
body:where(:not([class*="-full-width"])) [data-content-type="row"][data-appearance="contained"] {
  padding-inline: 0;
}
[data-content-type="column-group"], [data-content-type="column-line"] {
  flex-wrap: wrap;
  @media (width >= 48rem) {
    flex-wrap: nowrap;
  }
}
[data-content-type="column"] {
  width: 100%;
  max-width: 100%;
  background-attachment: scroll !important;
  flex-basis: 100%;
  @media (width >= 48rem) {
    flex-basis: auto;
  }
}
[data-content-type="tabs"] .tabs-navigation {
  margin-bottom: -1px;
  display: block;
  padding: 0px;
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  li.tab-header {
    position: relative;
    margin-block: 0px;
    margin-right: 0px;
    margin-left: -1px;
    display: inline-block;
    max-width: 100%;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0px;
    --tw-border-style: solid;
    border-style: solid;
    border-color: var(--color-gray-300);
    background-color: var(--color-gray-100);
    overflow-wrap: break-word;
    &:first-child {
      margin-left: 0px;
    }
    &.active {
      z-index: 20;
      &[class*="bg-opacity-"] {
        background-color: #fff;
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix( in srgb, var(--color-white) calc(100% / var(--tw-bg-opacity)), #0000 );
        }
      }
      background-color: var(--color-white);
      border-bottom: 1px solid white;
    }
    a.tab-title {
      position: relative;
      display: block;
      cursor: pointer;
      padding-inline: calc(var(--spacing) * 5);
      padding-block: calc(var(--spacing) * 3);
      vertical-align: middle;
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
      --tw-font-weight: var(--font-weight-semibold);
      font-weight: var(--font-weight-semibold);
      white-space: normal;
      span {
        --tw-leading: calc(var(--spacing) * 5);
        line-height: calc(var(--spacing) * 5);
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        color: var(--color-black);
      }
    }
  }
}
[data-content-type="tabs"] .tabs-content {
  position: relative;
  z-index: 10;
  overflow: hidden;
  border-radius: var(--radius-sm);
  border-style: var(--tw-border-style);
  border-width: 1px;
  --tw-border-style: solid;
  border-style: solid;
  border-color: var(--color-gray-300);
  background-color: var(--color-container-lighter);
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  [data-content-type="tab-item"] {
    padding: calc(var(--spacing) * 8);
    min-height: inherit;
    background-attachment: scroll !important;
  }
}
[data-content-type="tabs"].tab-align-left .tabs-content {
  border-top-left-radius: 0 !important;
}
[data-content-type="tabs"].tab-align-right .tabs-content {
  border-top-right-radius: 0 !important;
}
[data-content-type="text"], [data-content-type="heading"], [data-content-type="html"] {
  overflow-wrap: break-word;
}
[data-content-type="buttons"] {
  max-width: 100%;
  [data-content-type="button-item"] {
    margin-right: calc(var(--spacing) * 2);
    margin-bottom: calc(var(--spacing) * 2);
    max-width: 100%;
    [data-element="link"], [data-element="empty_link"] {
      max-width: 100%;
      overflow-wrap: break-word;
    }
    [data-element="empty_link"] {
      cursor: default;
    }
    :is(a, button, div) {
      display: inline-block;
      --tw-shadow: 0 0 #0000;
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
}
:is(a, button, div).pagebuilder-button-primary {
  --btn-bg: color-mix(in srgb, oklch(0.695793 0.204259 43.491) 10%, #0000);
  @supports (color: color-mix(in lab, red, red)) {
    --btn-bg: color-mix(in srgb, var(--color-primary) 10%, #0000);
  }
  --btn-hover-bg: color-mix(in srgb, oklch(0.695793 0.204259 43.491) 20%, #0000);
  @supports (color: color-mix(in lab, red, red)) {
    --btn-hover-bg: color-mix(in srgb, var(--color-primary) 20%, #0000);
  }
  --btn-active-bg: color-mix(in srgb, oklch(0.695793 0.204259 43.491) 30%, #0000);
  @supports (color: color-mix(in lab, red, red)) {
    --btn-active-bg: color-mix(in srgb, var(--color-primary) 30%, #0000);
  }
  --btn-color: var(--color-fg);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: calc(var(--spacing) * 1.5);
  padding-block: calc(var(--spacing) * 2);
  padding-inline: calc(var(--spacing) * 4);
  border-radius: var(--radius-lg);
  border-width: 2px;
  border-color: var(--btn-stroke);
  background-color: var(--btn-bg);
  color: var(--btn-color);
  font-weight: 500;
  user-select: none;
  vertical-align: middle;
  transition-property: color, background-color, border-color, outline-color;
  transition-timing-function: var(--default-transition-timing-function);
  transition-duration: var(--default-transition-duration);
  &:hover {
    border-color: var(--btn-hover-stroke, var(--btn-stroke));
    background-color: var(--btn-hover-bg, var(--btn-bg));
    color: var(--btn-hover-color, var(--btn-color));
    text-decoration: none;
  }
  &:is(:active, .is-active, [aria-current="page"], [aria-current="true"]) {
    border-color: var(--btn-active-stroke, var(--btn-stroke));
    background-color: var(--btn-active-bg, var(--btn-bg));
    color: var(--btn-active-color, var(--btn-color));
  }
  &:is(:disabled, [aria-disabled="true"]) {
    border-color: var(--btn-disabled-stroke, var(--color-gray-200));
    background-color: var(--btn-disabled-bg, var(--color-gray-50));
    color: var(--btn-disabled-color, var(--color-gray-500));
  }
  --btn-stroke: #0000;
  --btn-bg: var(--color-primary);
  --btn-color: var(--color-on-primary);
  --btn-hover-stroke: #0000;
  --btn-hover-bg: var(--color-primary-lighter);
  --btn-hover-color: var(--color-on-primary);
  --btn-active-stroke: #0000;
  --btn-active-bg: var(--color-primary);
  --btn-active-color: var(--color-on-primary);
}
:is(a, button, div).pagebuilder-button-secondary {
  --btn-stroke: #0000;
  --btn-bg: color-mix(in srgb, oklch(0.695793 0.204259 43.491) 10%, #0000);
  @supports (color: color-mix(in lab, red, red)) {
    --btn-bg: color-mix(in srgb, var(--color-primary) 10%, #0000);
  }
  --btn-hover-bg: color-mix(in srgb, oklch(0.695793 0.204259 43.491) 20%, #0000);
  @supports (color: color-mix(in lab, red, red)) {
    --btn-hover-bg: color-mix(in srgb, var(--color-primary) 20%, #0000);
  }
  --btn-active-bg: color-mix(in srgb, oklch(0.695793 0.204259 43.491) 30%, #0000);
  @supports (color: color-mix(in lab, red, red)) {
    --btn-active-bg: color-mix(in srgb, var(--color-primary) 30%, #0000);
  }
  --btn-color: var(--color-fg);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: calc(var(--spacing) * 1.5);
  padding-block: calc(var(--spacing) * 2);
  padding-inline: calc(var(--spacing) * 4);
  border-radius: var(--radius-lg);
  border-width: 2px;
  border-color: var(--btn-stroke);
  background-color: var(--btn-bg);
  color: var(--btn-color);
  font-weight: 500;
  user-select: none;
  vertical-align: middle;
  transition-property: color, background-color, border-color, outline-color;
  transition-timing-function: var(--default-transition-timing-function);
  transition-duration: var(--default-transition-duration);
  &:hover {
    border-color: var(--btn-hover-stroke, var(--btn-stroke));
    background-color: var(--btn-hover-bg, var(--btn-bg));
    color: var(--btn-hover-color, var(--btn-color));
    text-decoration: none;
  }
  &:is(:active, .is-active, [aria-current="page"], [aria-current="true"]) {
    border-color: var(--btn-active-stroke, var(--btn-stroke));
    background-color: var(--btn-active-bg, var(--btn-bg));
    color: var(--btn-active-color, var(--btn-color));
  }
  &:is(:disabled, [aria-disabled="true"]) {
    border-color: var(--btn-disabled-stroke, var(--color-gray-200));
    background-color: var(--btn-disabled-bg, var(--color-gray-50));
    color: var(--btn-disabled-color, var(--color-gray-500));
  }
  --btn-stroke: var(--color-primary-lighter);
  --btn-bg: var(--color-on-primary);
  --btn-color: var(--color-primary-darker);
  --btn-hover-stroke: var(--color-primary-lighter);
  --btn-hover-bg: var(--color-on-primary);
  --btn-hover-color: var(--color-primary-lighter);
  --btn-active-stroke: #0000;
  --btn-active-bg: var(--color-primary);
  --btn-active-color: var(--color-on-primary);
}
[data-content-type="divider"] hr {
  border-block-end: 0;
  border-inline: 0;
}
[data-content-type="image"] > [data-element="link"], [data-content-type="image"]  > [data-element="link"] img {
  border-radius: inherit;
}
[data-content-type="image"] .pagebuilder-mobile-hidden {
  display: none;
  @media (width >= 48rem) {
    display: inline-block;
  }
}
[data-content-type="image"] .pagebuilder-mobile-only {
  display: inline-block;
  @media (width >= 48rem) {
    display: none;
  }
}
[data-content-type="image"] figcaption {
  overflow-wrap: break-word;
}
[data-content-type="video"] .pagebuilder-video-wrapper {
  overflow: hidden;
}
[data-content-type="video"] :is(iframe, video) {
  aspect-ratio: 16/9;
}
:is([data-content-type="banner"], [data-content-type="slide"]) {
  --pagebuilder-overlay-mx: 0;
  .pagebuilder-overlay {
    max-inline-size: var(--container-lg);
    margin-inline: var(--pagebuilder-overlay-mx);
    padding: calc(var(--spacing) * 8);
    border-radius: inherit;
    transition: background-color 500ms ease;
    &.pagebuilder-poster-overlay {
      display: flex;
      justify-content: center;
      align-items: center;
      max-inline-size: 100%;
      min-block-size: inherit;
    }
  }
  &[data-appearance="collage-centered"] {
    --pagebuilder-overlay-mx: auto;
  }
  &[data-appearance="collage-left"] {
    --pagebuilder-overlay-mx: 0 auto;
  }
  &[data-appearance="collage-right"] {
    --pagebuilder-overlay-mx: auto 0;
  }
}
[data-content-type="banner"] > :is([data-element="link"], [data-element="empty_link"]) {
  color: inherit;
  text-decoration: inherit;
  &:hover {
    color: inherit;
    text-decoration: inherit;
  }
}
[data-content-type="banner"] .pagebuilder-banner-wrapper {
  overflow-wrap: break-word;
  background-clip: padding-box;
  border-radius: inherit;
  background-attachment: scroll !important;
  .pagebuilder-overlay {
    position: relative;
    &:not(.pagebuilder-poster-overlay) {
      max-width: none;
      @media (width >= 48rem) {
        max-width: var(--container-xl);
      }
    }
  }
  &.jarallax .video-overlay {
    z-index: 0;
  }
  [data-element="content"] {
    min-height: 50px;
    overflow: auto;
  }
  .pagebuilder-banner-button {
    margin: 0px;
    margin-top: calc(var(--spacing) * 5);
    display: inline-block;
    max-width: 100%;
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: 500ms;
    transition-duration: 500ms;
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
    overflow-wrap: break-word;
    text-align: inherit;
  }
  .pagebuilder-poster-content {
    width: 100%;
  }
}
[data-content-type="slider"] {
  position: relative;
  padding-block-end: calc(var(--spacing) * 12);
  &:not(:has(.snap-track)) {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 100%;
    padding-block: calc(var(--spacing) * 6) calc(calc(var(--spacing) * 6) + calc(var(--spacing) * 12));
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    @media (prefers-reduced-motion: no-preference) {
      scroll-behavior: smooth;
    }
    & > * {
      scroll-snap-align: start;
    }
  }
  [data-page-builder-slider-nav] {
    position: absolute;
    inset: auto 0 0;
  }
}
[data-content-type="slide"] {
  --overlay-align: initial;
  position: relative;
  .pagebuilder-slide-wrapper {
    border-radius: inherit;
    min-block-size: inherit;
    overflow-wrap: break-word;
    &.jarallax {
      .video-overlay {
        -webkit-transform: unset;
        z-index: 1;
      }
      .pagebuilder-overlay {
        position: relative;
        z-index: 2;
      }
      [id*="jarallax-container"] > :is(div, img, video, iframe) {
        margin: auto !important;
        transform: none !important;
      }
    }
  }
  .pagebuilder-poster-content {
    inline-size: 100%;
  }
  [data-element="content"] {
    min-height: 50px;
    overflow: auto;
  }
}
[data-content-type="map"] {
  block-size: 300px;
}
[data-content-type$="block"] .block p:last-child {
  margin-block: 0 calc(var(--spacing) * 4);
}
[data-content-type="dynamic_block"] [data-content-type="image"] img {
  display: inline-block;
}
[data-content-type="dynamic_block"] .block-banners .banner-item-content, [data-content-type="dynamic_block"]  .block-banners-inline .banner-item-content {
  margin-block-end: auto;
}
@keyframes gp-nav-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.gp-nav-panel {
  animation: gp-nav-fade-in 120ms ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .gp-nav-panel {
    animation: none;
  }
}
.scrollbar-hide {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.scrollbar-hide::-webkit-scrollbar {
  display: none;
}
figure.w-full img {
  width: 100%;
}
[wire\:loading], [wire\:loading\.delay], [wire\:loading\.inline-block], [wire\:loading\.inline], [wire\:loading\.block], [wire\:loading\.flex], [wire\:loading\.table], [wire\:loading\.grid], [wire\:loading\.inline-flex] {
  display: none;
}
[wire\:loading\.delay\.shortest], [wire\:loading\.delay\.shorter], [wire\:loading\.delay\.short], [wire\:loading\.delay\.long], [wire\:loading\.delay\.longer], [wire\:loading\.delay\.longest] {
  display: none;
}
[wire\:offline] {
  display: none;
}
[wire\:dirty]:not(textarea):not(input):not(select) {
  display: none;
}
input:-webkit-autofill, select:-webkit-autofill, textarea:-webkit-autofill {
  animation-duration: 50000s;
  animation-name: livewireautofill;
}
#livewire-error iframe {
  background-color: rgb(255 255 255) !important;
  border-radius: 0.375rem !important;
  padding: 0.75rem 1rem !important;
}
.mollie-buttons {
  margin-top: 10%;
  text-align: center;
  opacity: 0;
  animation: fadeIn 1s;
  animation-delay: 1s;
  animation-fill-mode: forwards;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.mollie-buttons .button {
  display: inline-block;
  margin: 20px;
  max-width: 100%;
  padding: 0 16px;
  border: 0;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .19);
  border-radius: 6px;
  background-color: #0095FF;
  color: #FFF;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 4.4rem;
  text-align: center;
  text-decoration: none;
  outline: none;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: background .15s;
  white-space: nowrap;
  user-select: none;
}
.mollie-buttons {
  opacity: 0;
  transition: opacity 2s ease-in;
}
.mollie-buttons .button:hover {
  background-color: #0077CB;
}
.mollie-loading .redirect-block {
  padding: 10%;
  text-align: center;
}
.checkout-payment-method #mollie_methods_ideal-form .label {
  height: 35px;
  display: inline-block;
}
.checkout-payment-method #mollie_methods_ideal-form .payment-icon {
  width: 35px;
  max-height: 30px;
}
.checkout-payment-method #mollie_methods_kbc-form .label {
  height: 35px;
  display: inline-block;
}
.checkout-payment-method #mollie_methods_kbc-form .payment-icon {
  width: 35px;
  max-height: 30px;
}
.checkout-payment-method #mollie_methods_giftcard-form .label {
  height: 40px;
  display: inline-block;
}
.checkout-payment-method #mollie_methods_giftcard-form .payment-icon {
  width: 35px;
  max-height: 30px;
}
.mollie-payment-icon {
  width: 25px;
  margin-right: 5px;
  vertical-align: middle;
}
.mollie-loading .loader {
  border: 16px solid #E3F0FA;
  border-top: 16px solid #31A8F0;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: spin 2s linear infinite;
  margin-left: auto;
  margin-right: auto;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.payment-method-content .card-container {
  max-width: 400px;
  overflow: auto;
  background-color: #FFF;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  display: block;
  padding: 20px;
  margin-bottom: 10px;
}
.apple-pay-button {
  -webkit-appearance: -apple-pay-button;
}
@supports (-webkit-appearance: -apple-pay-button) {
  .apple-pay-button-with-text {
    -webkit-appearance: -apple-pay-button;
    -apple-pay-button-type: buy;
  }
  .apple-pay-button-with-text > * {
    visibility: hidden;
  }
  .apple-pay-button-black-with-text {
    -apple-pay-button-style: black;
  }
  .apple-pay-button-white-with-text {
    -apple-pay-button-style: white;
    cursor: pointer;
  }
  .apple-pay-button-white-with-line-with-text {
    -apple-pay-button-style: white-outline;
  }
  .apple-pay-button-color-black {
    -apple-pay-button-style: black;
  }
  .apple-pay-button-color-white {
    -apple-pay-button-style: white;
  }
  .apple-pay-button-color-white-outline {
    -apple-pay-button-style: white-outline;
  }
  .apple-pay-button-text-buy {
    -apple-pay-button-type: buy;
  }
  .apple-pay-button-text-donate {
    -apple-pay-button-type: donate;
  }
  .apple-pay-button-text-plain {
    -apple-pay-button-type: plain;
  }
  .apple-pay-button-text-book {
    -apple-pay-button-type: book;
  }
  .apple-pay-button-text-check-out {
    -apple-pay-button-type: check-out;
  }
  .apple-pay-button-text-subscribe {
    -apple-pay-button-type: subscribe;
  }
  .apple-pay-button-text-add-money {
    -apple-pay-button-type: add-money;
  }
  .apple-pay-button-text-contribute {
    -apple-pay-button-type: contribute;
  }
  .apple-pay-button-text-order {
    -apple-pay-button-type: order;
  }
  .apple-pay-button-text-reload {
    -apple-pay-button-type: reload;
  }
  .apple-pay-button-text-rent {
    -apple-pay-button-type: rent;
  }
  .apple-pay-button-text-support {
    -apple-pay-button-type: support;
  }
  .apple-pay-button-text-tip {
    -apple-pay-button-type: tip;
  }
  .apple-pay-button-text-top-up {
    -apple-pay-button-type: top-up;
  }
}
.mollie-applepay-button-hidden {
  display: none;
}
.mollie-applepay-minicart-button {
  height: 40px;
}
@layer components {
  :where(#hyva-checkout-main) .btn {
    border-style: var(--tw-border-style);
    border-width: 2px;
    &:disabled {
      cursor: not-allowed;
    }
    &:disabled {
      opacity: 60%;
    }
    &:not(.btn-secondary) {
      border-color: transparent;
    }
  }
}
:where(.step-layout-3columns) .btn-place-order {
  width: 100%;
}
.checkout-nav {
  display: flex;
  flex-direction: column-reverse;
  gap: calc(var(--spacing) * 2);
  & .checkout-nav-main, & .checkout-nav-secondary {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 2);
  }
}
@media (width >= 48rem) {
  .area-main .checkout-nav {
    flex-direction: row;
  }
  .area-main .checkout-nav .checkout-nav-main, .area-main .checkout-nav .checkout-nav-secondary {
    flex-direction: row;
    align-items: center;
    flex-grow: 1;
  }
  .area-main .checkout-nav .checkout-nav-main {
    justify-content: space-between;
  }
  .area-main .checkout-nav .checkout-nav-main > button:only-child {
    margin-left: auto;
  }
}
.checkout-summary {
  :where(& > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
  }
  background-color: var(--color-container-darker);
  padding: calc(var(--spacing) * 6);
  & .checkout-nav {
    & .btn {
      width: 100%;
    }
  }
}
:where(#hyva-checkout-main) .breadcrumbs .item {
  display: inline-flex;
  align-items: center;
  &.active {
    :where(& > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(var(--spacing) * var(--tw-space-x-reverse));
      margin-inline-end: calc(var(--spacing) * calc(1 - var(--tw-space-x-reverse)));
    }
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  &.locked {
    cursor: not-allowed;
    color: var(--color-gray-500);
  }
  &.completed {
    color: var(--color-gray-700);
  }
}
.checkout-default:where(:has(#hyva-checkout-main)) .columns, .checkout-default:where(:has(#hyva-checkout-main))  .page.messages .messages {
  max-width: var(--breakpoint-lg);
}
:where(#hyva-checkout-main) .form-checkbox, :where(#hyva-checkout-main) .form-radio {
  flex: none;
}
:where(#hyva-checkout-main) .input-group {
  gap: 0;
  & > :not(:last-child) {
    border-inline-end-width: 0;
  }
}
@layer components {
  .form-input-addon {
    appearance: none;
    padding-block: var(--form-py);
    padding-inline: var(--form-px);
    border-radius: var(--form-radius);
    border-width: 1px;
    border-color: var(--form-stroke);
    background-color: var(--form-bg);
    color: var(--form-color);
    --outline-size: 1px;
    --outline-offset: 0px;
    &:first-child {
      padding-inline-end: 0;
      border-inline-end: 0;
    }
    &:last-child {
      padding-inline-start: 0;
      border-inline-start: 0;
    }
  }
  .input-group {
    position: relative;
    display: flex;
    border-radius: var(--form-radius);
    vertical-align: middle;
    &:focus-within {
      --form-stroke: var(--form-active-color);
      outline: var(--outline-size, 1px) solid var(--form-active-color);
      outline-offset: var(--outline-offset, 0px);
    }
    & > * {
      margin: 0;
      border-radius: 0;
      outline: none;
    }
    & > :first-child {
      border-start-start-radius: inherit;
      border-end-start-radius: inherit;
    }
    & > :last-child {
      border-start-end-radius: inherit;
      border-end-end-radius: inherit;
    }
    & > :not(template, [hidden]:where(:not([hidden="until-found"]))) + :not(button, .btn) {
      border-inline-start-width: 0;
    }
  }
}
@layer base {
  :where(#hyva-checkout-main) {
    --form-stroke: var(--color-slate-300, currentColor);
  }
  :where(#hyva-checkout-main) *, :where(#hyva-checkout-main) ::after, :where(#hyva-checkout-main) ::before, :where(#hyva-checkout-main) ::backdrop, :where(#hyva-checkout-main) ::file-selector-button {
    border-color: var(--color-gray-200, currentColor);
  }
}
@property --tw-scroll-snap-strictness {
  syntax: "*";
  inherits: false;
  initial-value: proximity;
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-space-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-divide-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-gradient-position {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}
@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-mask-linear {
  syntax: "*";
  inherits: false;
  initial-value: linear-gradient(#fff, #fff);
}
@property --tw-mask-radial {
  syntax: "*";
  inherits: false;
  initial-value: linear-gradient(#fff, #fff);
}
@property --tw-mask-conic {
  syntax: "*";
  inherits: false;
  initial-value: linear-gradient(#fff, #fff);
}
@property --tw-mask-left {
  syntax: "*";
  inherits: false;
  initial-value: linear-gradient(#fff, #fff);
}
@property --tw-mask-right {
  syntax: "*";
  inherits: false;
  initial-value: linear-gradient(#fff, #fff);
}
@property --tw-mask-bottom {
  syntax: "*";
  inherits: false;
  initial-value: linear-gradient(#fff, #fff);
}
@property --tw-mask-top {
  syntax: "*";
  inherits: false;
  initial-value: linear-gradient(#fff, #fff);
}
@property --tw-mask-bottom-from-position {
  syntax: "*";
  inherits: false;
  initial-value: 0%;
}
@property --tw-mask-bottom-to-position {
  syntax: "*";
  inherits: false;
  initial-value: 100%;
}
@property --tw-mask-bottom-from-color {
  syntax: "*";
  inherits: false;
  initial-value: black;
}
@property --tw-mask-bottom-to-color {
  syntax: "*";
  inherits: false;
  initial-value: transparent;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-ordinal {
  syntax: "*";
  inherits: false;
}
@property --tw-slashed-zero {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-figure {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@property --tw-content {
  syntax: "*";
  initial-value: "";
  inherits: false;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes ping {
  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}
@keyframes bounce {
  0%, 100% {
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  }
  50% {
    transform: none;
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-scroll-snap-strictness: proximity;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-space-x-reverse: 0;
      --tw-divide-y-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-mask-linear: linear-gradient(#fff, #fff);
      --tw-mask-radial: linear-gradient(#fff, #fff);
      --tw-mask-conic: linear-gradient(#fff, #fff);
      --tw-mask-left: linear-gradient(#fff, #fff);
      --tw-mask-right: linear-gradient(#fff, #fff);
      --tw-mask-bottom: linear-gradient(#fff, #fff);
      --tw-mask-top: linear-gradient(#fff, #fff);
      --tw-mask-bottom-from-position: 0%;
      --tw-mask-bottom-to-position: 100%;
      --tw-mask-bottom-from-color: black;
      --tw-mask-bottom-to-color: transparent;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-content: "";
    }
  }
}/*
 * Shop header search: always visible (like the live shop) instead of opening from the search icon.
 *  - lg (1024px) and up: inline between the logo and the icons
 *  - below lg: full-width row under the logo/icons row
 * Plain CSS on purpose, so no Tailwind rebuild is needed.
 */
#header .gp-header-search {
    position: relative;
    display: block !important; /* x-show would otherwise hide it until the icon is clicked */
    border: 0;
    box-shadow: none;
    background: transparent;
    z-index: auto;
}
#header .gp-header-search .container {
    max-width: none;
    margin: 0;
    padding: 0;
    background: transparent;
}
#header .gp-header-search form {
    display: flex;
    width: 100%;
}
/* search field text: dark on white, placeholder always visible */
#header .gp-header-search input[type="search"] {
    background: #fff;
    color: #222;
}
#header .gp-header-search input[type="search"]::placeholder {
    color: #6b7280;
    opacity: 1;
}
/* suggestions overlay the page instead of growing the header */
#header .gp-header-search nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 50;
}
/* the toggle icon is no longer needed */
#header #menu-search-icon {
    display: none;
}

/* below lg: own full-width row after the logo / icons */
@media (max-width: 1023px) {
    #header .gp-header-search {
        order: 2;
        flex: 0 0 100%;
        width: 100%;
        margin: .5rem 0 0;
    }
}

/* lg and up: between logo and icons */
@media (min-width: 1024px) {
    #header .gp-header-search {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
        max-width: 42rem;
        margin: 0 1.5rem;
    }
}

/*
 * Header like the live shop: taller search field with a bigger "Suche" button, a shorter search bar,
 * and bigger account / cart / quote icons (with labels from md up) that sit right next to the search bar.
 */
#header .gp-header-search input[type="search"] {
    height: 50px;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 16px;
    border-radius: 3px 0 0 3px;
}
#header .gp-header-search button.gp-search-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    height: 50px;
    min-width: 50px;
    padding: 0 1em;
    font-size: 16px;
    font-weight: 300;
    border-radius: 0 3px 3px 0;
}
#header .gp-search-btn__label {
    display: none;
}

/* account / cart link: image icon + label + sub label */
#header .gp-user-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px;
    text-align: left;
    color: #fff;
}
#header .gp-user-link__icon {
    display: block;
    width: auto;
    height: auto;
    max-height: 30px;
    flex: 0 0 auto;
}
#header .gp-user-link__text {
    display: none;
    flex-direction: column;
    line-height: 1.4;
}
#header .gp-user-link__label {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    white-space: nowrap;
}
#header .gp-user-link__sub {
    font-size: 14px;
    font-weight: 300;
    white-space: nowrap;
}
#header .gp-quote-link__icon {
    width: 30px;
    height: 30px;
    background-size: 43px 43px;
    background-position: -5px -7px;
}

@media (min-width: 768px) {
    #header .gp-user-link__text {
        display: flex;
    }
    #header .gp-user-link__icon--account {
        max-height: 38px;
    }
    #header .gp-user-link__icon--cart {
        max-height: 45px;
    }
    #header .gp-quote-link__icon {
        width: 46px;
        height: 46px;
        background-size: 66px 66px;
        background-position: -8px -10px;
    }
}

/* lg and up: the word "Suche" on the button, shorter search bar, icons next to it */
@media (min-width: 1024px) {
    #header .gp-header-search {
        flex: 0 1 27.5rem;
        max-width: 27.5rem;
        margin: 0 1.5rem 0 2rem;
    }
    #header .gp-header-search button.gp-search-btn {
        min-width: 130px;
    }
    #header .gp-search-btn__label {
        display: inline;
    }
}
@media (min-width: 1024px) {
    #header > .container {
        justify-content: center;
    }
}
/* the Ctrl+K hint is not on the live shop and would cover the placeholder of the shorter field */
#header .gp-header-search kbd {
    display: none;
}

/* lg and up: logo on the left edge, icons on the right edge of the container, the search bar (fixed width)
   centred in the space between them */
@media (min-width: 1024px) {
    #header .gp-header-search {
        margin-left: auto;
        margin-right: auto;
    }
    #header .gp-header-icons {
        margin-right: 0;
    }
}

/* wide screens: more space between the main menu items so the menu fills the header corridor further to the right */
@media (min-width: 96rem) {
    #header nav[aria-label^="Hauptmen"] > ul {
        column-gap: 1.75rem;
    }
}

/* ---------- mini cart: dropdown under the cart icon (instead of the sidebar), like the live shop ---------- */
.gp-cart-anchor {
    position: relative;
    display: inline-flex;
}
.gp-minicart {
    position: absolute;
    top: calc(100% + 12px);
    right: -14px;
    z-index: 60;
    width: 380px;
    max-width: calc(100vw - 24px);
    padding: 26px 24px 24px;
    border-top: 2px solid #ff6101;
    background: #fff;
    box-shadow: 0 6px 24px rgba(0, 0, 0, .28);
    color: #212121;
    text-align: left;
}
.gp-minicart__close {
    position: absolute;
    top: 6px;
    right: 12px;
    border: 0;
    background: transparent;
    color: #212121;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}
.gp-minicart__empty {
    margin: 8px 0 16px;
    font-size: 15px;
}
.gp-minicart__items {
    max-height: 340px;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    list-style: none;
}
.gp-minicart__item {
    display: flex;
    gap: 16px;
    padding: 6px 0 18px;
}
.gp-minicart__image {
    flex: 0 0 110px;
}
.gp-minicart__image img {
    display: block;
    width: 110px;
    height: auto;
}
.gp-minicart__body {
    flex: 1 1 auto;
    min-width: 0;
}
.gp-minicart__name {
    margin: 0 0 6px;
    color: #4b5259;
    font-size: 13px;
    line-height: 1.4;
}
.gp-minicart__price,
.gp-minicart__price .price {
    color: #111;
    font-size: 22px;
    font-weight: 700;
}
.gp-minicart__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 10px;
}
.gp-minicart__qty {
    width: 62px;
    height: 36px;
    padding: 0 6px;
    border: 1px solid #7d848c;
    border-radius: 3px;
    text-align: center;
}
.gp-minicart__tools {
    display: inline-flex;
    gap: 10px;
}
.gp-minicart__tool {
    padding: 4px;
    border: 0;
    background: transparent;
    color: #ff6101;
    cursor: pointer;
}
.gp-minicart__foot {
    padding-top: 6px;
}
.gp-minicart__subtotal {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 16px;
    font-size: 16px;
    font-weight: 700;
}
.gp-minicart__subtotal dd {
    margin: 0;
}
.gp-minicart__button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 18px;
    border: 1px solid #ff6101;
    border-radius: 3px;
    background: #fff;
    color: #ff6101;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
}
.gp-minicart__button span:last-child {
    font-size: 26px;
    line-height: 1;
}
.gp-minicart__button:hover {
    background: #fff4ee;
}
@media (max-width: 639px) {
    .gp-cart-anchor {
        position: static;
    }
    .gp-minicart {
        position: fixed;
        top: 70px;
        right: 12px;
        left: 12px;
        width: auto;
        max-width: none;
    }
}

/* Logged in: "Sie sind eingeloggt als:" + customer group name (e.g. GEWERBE), like the live shop */
#header .gp-user-link__group {
    max-width: 240px;
    overflow: hidden;
    text-overflow: ellipsis;
}/* "Mein Angebot" icon in the header (same icon as the live shop: images/icons/quotation-icon.webp) */
.gp-quote-link {
    display: flex;
    align-items: center;
    justify-content: center;
}

.gp-quote-link__icon {
    display: block;
    width: 36px;
    height: 36px;
    background: url("../../frontend/GP/Hyva-child/de_DE/images/icons/quotation-icon.webp") -6px -8px / 52px 52px no-repeat;
}

/* quote dropdown under the "Mein Angebot" icon (reuses the .gp-minicart box of the cart dropdown) */
.gp-quote-minicart {
    width: 350px;
}
.gp-quote-minicart__count {
    margin: 0 0 12px;
    color: #666;
    font-size: 13px;
}
.gp-quote-minicart__button {
    display: block;
    margin: 0 0 18px;
    padding: 12px 16px;
    border-radius: 3px;
    background: #ff6101;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}
.gp-quote-minicart__button:hover {
    background: #e55600;
    color: #fff;
}
.gp-quote-minicart .gp-minicart__image {
    flex-basis: 90px;
}
.gp-quote-minicart .gp-minicart__image img {
    width: 90px;
}
.gp-quote-minicart .gp-minicart__name {
    color: #333;
    font-size: 12px;
}
.gp-quote-minicart__price,
.gp-quote-minicart__price .price {
    display: block;
    margin: 6px 0 10px;
    color: #333;
    font-size: 13px;
    font-weight: 400;
}
.gp-quote-minicart .gp-minicart__qty {
    display: block;
    width: 40px;
    height: 34px;
    border-radius: 0;
    border-color: #ccc;
    font-size: 12px;
}/*
 * Top black row (CMS block "top-header-gp"): let the trust items wrap onto a new line on small screens
 * (as on the live shop) instead of staying on one line that is cut off / scrolls sideways.
 * The CMS block wraps the items in "overflow-x-auto" + "min-w-max"; overridden here so no CMS edit is needed.
 */
.gp-topbar .overflow-x-auto {
    overflow-x: visible;
}

.gp-topbar .min-w-max {
    min-width: 0;
    flex-wrap: wrap;
    column-gap: 0.75rem;
}

.gp-topbar .min-w-max > div {
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
}

/* Slightly smaller text below the lg breakpoint so the items fit in two compact rows, as on the live shop */
@media (max-width: 1023px) {
    .gp-topbar .min-w-max {
        font-size: 0.75rem;
        line-height: 1rem;
        column-gap: 0.5rem;
    }
}/*
 * Mobile header like the old shop (up to 767px; pages with the hotline header (cart / checkout, ".head1") keep their own header; the tablet and desktop header stay as they are):
 *  - no black "trust" bar (CMS block top-header-gp) above the header
 *  - row 1 (black): logo on the left, account / cart / quote icons on the right
 *  - row 2 (white, orange lines): hamburger menu button on the left, flat search field with a black magnifier
 * The header markup is not changed, the rows are placed with a grid (see templates/html/header.phtml).
 */
@media (max-width: 767px) {
    body:not(:has(#header .head1)) .gp-topbar {
        display: none;
    }

    body:not(:has(#header .head1)) #header {
        border-top: 1px solid #ff6101;
        border-bottom: 0;
        box-shadow: none;
    }

    body:not(:has(#header .head1)) #header > .container {
        display: grid;
        grid-template-columns: 62px minmax(0, 1fr) auto;
        grid-template-rows: 60px auto;
        grid-template-areas:
            "logo logo icons"
            "menu search search";
        align-items: center;
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
    }

    /* ---- row 1: logo + icons ---- */
    body:not(:has(#header .head1)) #header > .container > div:first-child {
        grid-area: logo;
        width: auto;
        padding: 0 0 0 15px;
    }
    body:not(:has(#header .head1)) #header > .container > div:first-child a {
        justify-content: flex-start;
    }
    body:not(:has(#header .head1)) #header > .container > div:first-child img {
        width: 166px;
        height: 40px;
    }
    body:not(:has(#header .head1)) #header .gp-header-icons {
        grid-area: icons;
        margin: 0;
        padding-right: 8px;
        gap: 0;
    }
    /* same spacing between the icons as on the old shop */
    body:not(:has(#header .head1)) #header .gp-cart-anchor {
        margin-left: 3px;
    }
    body:not(:has(#header .head1)) #header .gp-quote-link {
        margin-left: 4px;
    }
    body:not(:has(#header .head1)) #header .gp-user-link__icon--account {
        max-height: 38px;
    }
    body:not(:has(#header .head1)) #header .gp-user-link__icon--cart {
        max-height: 45px;
    }
    body:not(:has(#header .head1)) #header .gp-quote-link__icon {
        width: 46px;
        height: 46px;
        background-size: 66px 66px;
        background-position: -8px -10px;
    }

    /* ---- row 2: menu button + search ---- */
    body:not(:has(#header .head1)) #header > .container > div.lg\:hidden {
        grid-area: menu;
        align-self: stretch;
        display: flex;
        align-items: stretch;
        background: #fff;
        border: 2px solid #ff6101;
        border-left: 0;
    }
    body:not(:has(#header .head1)) #header > .container > div.lg\:hidden > button {
        flex: 1 1 auto;
        padding: 0;
        border: 0;
        border-radius: 0;
        background:
            linear-gradient(#000, #000) center 11px / 27px 2px no-repeat,
            linear-gradient(#000, #000) center 18px / 27px 2px no-repeat,
            linear-gradient(#000, #000) center 25px / 27px 2px no-repeat;
    }
    body:not(:has(#header .head1)) #header > .container > div.lg\:hidden > button svg {
        display: none;
    }

    body:not(:has(#header .head1)) #header .gp-header-search {
        grid-area: search;
        align-self: stretch;
        margin: 0;
        background: #fff;
        border-top: 2px solid #ff6101;
        border-bottom: 2px solid #ff6101;
    }
    body:not(:has(#header .head1)) #header .gp-header-search form {
        height: 100%;
    }
    body:not(:has(#header .head1)) #header .gp-header-search .input-group {
        height: 100%;
    }
    body:not(:has(#header .head1)) #header .gp-header-search input[type="search"] {
        height: 38px;
        padding: 0 10px;
        border: 0;
        border-radius: 0;
        background: #fff;
        box-shadow: none;
        color: #212121;
    }
    body:not(:has(#header .head1)) #header .gp-header-search input[type="search"]:focus {
        outline: 0;
        box-shadow: none;
        border-color: transparent;
    }
    /* the form and the input group get their own rounded focus frame from the theme; the old shop has none */
    body:not(:has(#header .head1)) #header .gp-header-search form,
    body:not(:has(#header .head1)) #header .gp-header-search .input-group {
        border-radius: 0;
        outline: 0;
    }
    body:not(:has(#header .head1)) #header .gp-header-search input[type="search"]::placeholder {
        color: #ebebeb;
    }
    body:not(:has(#header .head1)) #header .gp-header-search button.gp-search-btn {
        height: 38px;
        min-width: 50px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: #000;
    }
    body:not(:has(#header .head1)) #header .gp-header-search button.gp-search-btn {
        padding-right: 4px;
    }
    body:not(:has(#header .head1)) #header .gp-header-search button.gp-search-btn svg {
        width: 20px;
        height: 20px;
        stroke-width: 2.2;
    }
}/*
 * One content corridor for the header (logo, search, icons, menu), the breadcrumbs, the page content and the footer:
 * the same width on every page. On wide screens the corridor is 1472px (inner 1424px with the 24px side padding);
 * the container steps below that width are unchanged. The home page content had extra 32px side padding of its own
 * (lg:px-8), which made it narrower than the header; it is taken out so the home page uses the same corridor.
 */
@media (min-width: 96rem) {
    body .container,
    body .md\:container,
    body .lg\:container,
    body main .columns {
        max-width: 92rem;
    }
}
@media (min-width: 1024px) {
    body.cms-index-index .page-main .columns :is(.container, .md\:container, .lg\:container) {
        padding-left: 0;
        padding-right: 0;
    }
}

/*
 * Pages with the "full width" page layout (class page-main-full-width on <main>, e.g. the brand category pages like
 * /hikvision-kameras.html): Hyvä does not give their .columns the container width, so the filter bar and the product list ran
 * across the whole window while the text blocks above sat in the corridor. Same corridor as every other page.
 */
main.page-main-full-width .columns {
    box-sizing: border-box;
    width: 100%;
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
@media (min-width: 96rem) {
    main.page-main-full-width .columns {
        max-width: 92rem;
    }
}/*
 * Text styling for imported CMS pages (agb, datenschutz, lexikon, ratgeber ...).
 * The Hyva reset removes spacing and list styles, so the content converted from the live shop
 * (wrappers .gp-cms-paragraph, .gp-teaser, .gp-accordion, headings placed directly in the page) needs it back.
 * Only these wrappers and top-level headings are touched, so the home page, products and checkout are not affected.
 */
.cms-page-view .gp-cms-paragraph,
.cms-page-view .gp-accordion,
.cms-page-view .gp-teaser {
    line-height: 1.65;
}

.cms-page-view .gp-cms-paragraph p,
.cms-page-view .gp-accordion p,
.cms-page-view .gp-teaser p {
    margin: 0 0 1em;
}

.cms-page-view .gp-cms-paragraph h1,
.cms-page-view .gp-cms-paragraph h2,
.cms-page-view .gp-cms-paragraph h3,
.cms-page-view .gp-cms-paragraph h4,
.cms-page-view .gp-accordion h2,
.cms-page-view .gp-teaser h3,
.cms-page-view .column.main > h1,
.cms-page-view .column.main > h2,
.cms-page-view .column.main > h3 {
    margin: 1.5em 0 0.5em;
    font-weight: 700;
    line-height: 1.25;
}

.cms-page-view .gp-cms-paragraph h1,
.cms-page-view .column.main > h1 { font-size: 1.75rem; }
.cms-page-view .gp-cms-paragraph h2,
.cms-page-view .gp-accordion h2,
.cms-page-view .column.main > h2 { font-size: 1.5rem; }
.cms-page-view .gp-cms-paragraph h3,
.cms-page-view .gp-teaser h3,
.cms-page-view .column.main > h3 { font-size: 1.25rem; }
.cms-page-view .gp-cms-paragraph h4 { font-size: 1.1rem; }

.cms-page-view .gp-cms-paragraph ul,
.cms-page-view .gp-cms-paragraph ol {
    margin: 0 0 1em;
    padding-left: 1.5rem;
}

.cms-page-view .gp-cms-paragraph ul { list-style: disc; }
.cms-page-view .gp-cms-paragraph ol { list-style: decimal; }
.cms-page-view .gp-cms-paragraph li { margin: 0.25em 0; }

.cms-page-view .gp-cms-paragraph a {
    text-decoration: underline;
}

.cms-page-view .gp-cms-paragraph img,
.cms-page-view .gp-teaser img {
    max-width: 100%;
    height: auto;
}

.cms-page-view .gp-cms-paragraph table {
    width: 100%;
    margin: 0 0 1em;
    border-collapse: collapse;
}

.cms-page-view .gp-cms-paragraph th,
.cms-page-view .gp-cms-paragraph td {
    padding: 0.5rem;
    border: 1px solid #e5e7eb;
    text-align: left;
    vertical-align: top;
}

.cms-page-view .column.main > hr,
.cms-page-view .column.main hr {
    margin: 2rem 0;
    border: 0;
    border-top: 1px solid #e5e7eb;
}

.cms-page-view .gp-accordion details {
    border-bottom: 1px solid #e5e7eb;
    padding: 0.75rem 0;
}

.cms-page-view .gp-accordion summary {
    cursor: pointer;
    font-weight: 600;
}

.cms-page-view .gp-accordion details > div {
    padding-top: 0.5rem;
}

.cms-page-view .gp-teaser {
    margin: 0 0 1.5rem;
}

/* long URLs and words must wrap instead of widening the page on phones */
.cms-page-view .gp-cms-paragraph,
.cms-page-view .gp-accordion,
.cms-page-view .gp-teaser {
    overflow-wrap: break-word;
    word-break: normal;
}

/* embedded content, fixed-width tables and web forms must fit narrow screens */
.cms-page-view .column.main iframe,
.cms-page-view .column.main video,
.cms-page-view .column.main embed {
    max-width: 100%;
}

.cms-page-view .gp-cms-paragraph table,
.cms-page-view .gp-teaser table {
    max-width: 100%;
    table-layout: auto;
}

.cms-page-view .gp-cms-paragraph td img,
.cms-page-view .gp-cms-paragraph th img {
    max-width: 100%;
    height: auto;
}

.cms-page-view .column.main fieldset {
    min-width: 0;
    max-width: 100%;
}

.cms-page-view .column.main form .field {
    max-width: 100%;
}

/* phones: tables from the old shop have fixed pixel widths, let them share the screen width instead */
@media (max-width: 767px) {
    .cms-page-view .gp-cms-paragraph table:has(img) {
        width: 100% !important;
        table-layout: fixed;
    }

    .cms-page-view .gp-cms-paragraph table:has(img) td,
    .cms-page-view .gp-cms-paragraph table:has(img) th {
        width: auto !important;
    }
}

/* very wide content (glossary index) scrolls inside its own block instead of widening the whole page */
.cms-page-view .gp-cms-paragraph {
    overflow-x: auto;
}

/* ---------- show content on desktop only / mobile only ----------
   For any CMS block, CMS page or category text: add the class to the element (HTML code), or in Page Builder under
   Advanced -> CSS classes.
     gp-desktop-only : hidden on mobile (below 768px)
     gp-mobile-only  : hidden on desktop (768px and wider)
   The Page Builder classes pagebuilder-mobile-hidden / pagebuilder-mobile-only work on every element now, not only on images. */
@media (max-width: 47.9375rem) {
    .gp-desktop-only,
    .pagebuilder-mobile-hidden {
        display: none !important;
    }
}
@media (min-width: 48rem) {
    .gp-mobile-only,
    .pagebuilder-mobile-only {
        display: none !important;
    }
}/*
 * Category / search filters as a horizontal bar above the products (like the live shop).
 * Markup: Magento_LayeredNavigation/templates/layer/view.phtml + filter.phtml. Plain CSS, no Tailwind rebuild.
 */

/* ---------- Sort dropdown: normal width on desktop, full width of its box on phones ----------
 * (a <select> grows to its longest option text and overflowed on phones; keep the 12px gap to the sort icon) */
body.catalog-category-view .toolbar-sorter,
body.catalogsearch-result-index .toolbar-sorter,
body.mpbrand-index-view .toolbar-sorter {
    min-width: 0;
}
body.catalog-category-view .toolbar-sorter label,
body.catalogsearch-result-index .toolbar-sorter label,
body.mpbrand-index-view .toolbar-sorter label {
    display: block;
    min-width: 0;
    margin-right: .75rem; /* same gap to the sort-direction icon as the original mr-3 */
}
body.catalog-category-view .toolbar-sorter select.sorter-options,
body.catalogsearch-result-index .toolbar-sorter select.sorter-options,
body.mpbrand-index-view .toolbar-sorter select.sorter-options {
    width: 16rem;
    max-width: 100%;
}
@media (max-width: 767px) {
    body.catalog-category-view .toolbar-sorter label,
    body.catalogsearch-result-index .toolbar-sorter label,
    body.mpbrand-index-view .toolbar-sorter label,
    body.catalog-category-view .toolbar-sorter select.sorter-options,
    body.catalogsearch-result-index .toolbar-sorter select.sorter-options,
    body.mpbrand-index-view .toolbar-sorter select.sorter-options {
        width: 100%;
    }
}

/* ---------- Position: sidebar (filters) above the product list, no empty left column ---------- */
body.page-with-filter .columns {
    grid-template-columns: minmax(0, 1fr);
}
body.page-with-filter .columns > .sidebar-main {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
}
body.page-with-filter .columns > .column.main {
    grid-column: 1;
    grid-row: 2;
    order: 0;
}

/* ---------- Bar (desktop) ---------- */
.gp-filters {
    --gp-filter-accent: #ff6101;
    margin: 0 0 1.5rem;
}
.gp-filters__mobile-btn,
.gp-filters__overlay,
.gp-filters__mobile-head {
    display: none;
}
.gp-filters__panel {
    padding: 1rem;
    background: #e0e0e0;
}
.gp-filters__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .6rem 1.1rem;
    align-items: start;
}
.gp-filter {
    position: relative;
}
.gp-filter--extra {
    display: none;
}
.gp-filters.is-expanded .gp-filter--extra {
    display: block;
}
.gp-filter__title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    min-height: 2.5rem;
    padding: .4rem .5rem .4rem .75rem;
    background: #fff;
    border: 1px solid #333;
    color: #222;
    font-size: .75rem;
    line-height: 1.25;
    text-transform: uppercase;
    list-style: none;
    cursor: pointer;
    user-select: none;
}
.gp-filter__title::-webkit-details-marker {
    display: none;
}
.gp-filter__title::after {
    content: '';
    flex: 0 0 1.25rem;
    width: 1.25rem;
    height: 1.25rem;
    background-color: var(--gp-filter-accent);
    background-image:
        linear-gradient(45deg, transparent 45%, #fff 45%, #fff 55%, transparent 55%),
        linear-gradient(-45deg, transparent 45%, #fff 45%, #fff 55%, transparent 55%);
    background-size: 5px 5px, 5px 5px;
    background-position: calc(50% - 2.5px) 55%, calc(50% + 2.5px) 55%;
    background-repeat: no-repeat;
}
.gp-filter[open] > .gp-filter__title::after {
    transform: rotate(180deg);
}
.gp-filter__content {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 40;
    max-height: 18rem;
    padding: .5rem .75rem;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #ccc;
    border-top: 0;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .15);
}
.gp-filter__items {
    margin: 0;
    padding: 0;
    list-style: none;
}
.gp-filter__item {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .3rem 0;
    color: #444;
    font-size: .8125rem;
    line-height: 1.3;
    text-decoration: none;
}
a.gp-filter__item:hover {
    color: var(--gp-filter-accent);
}
.gp-filter__box {
    flex: 0 0 .8rem;
    width: .8rem;
    height: .8rem;
    background: #fff;
    border: 1px solid #999;
    border-radius: 2px;
}
a.gp-filter__item:hover .gp-filter__box {
    border-color: var(--gp-filter-accent);
}
.gp-filter__count {
    color: #888;
    white-space: nowrap;
}
.gp-filter__item--disabled {
    opacity: .5;
}

/* "Weitere Filter" button */
.gp-filters__more-wrap {
    display: flex;
    justify-content: center;
    margin-top: 1rem;
}
.gp-filters__more {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 2.5rem;
    min-width: 14.5rem;
    padding: .65rem 1rem;
    background: var(--gp-filter-accent);
    border: 0;
    color: #fff;
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer;
}
.gp-filters__more-icon {
    position: relative;
    width: .8rem;
    height: .8rem;
}
.gp-filters__more-icon::before,
.gp-filters__more-icon::after {
    content: '';
    position: absolute;
    background: #fff;
}
.gp-filters__more-icon::before {
    top: 50%;
    left: 0;
    right: 0;
    height: 2px;
    margin-top: -1px;
}
.gp-filters__more-icon::after {
    left: 50%;
    top: 0;
    bottom: 0;
    width: 2px;
    margin-left: -1px;
}
.gp-filters.is-expanded .gp-filters__more-icon::after {
    display: none;
}
.gp-filters__less-label,
.gp-filters.is-expanded .gp-filters__more-label {
    display: none;
}
.gp-filters.is-expanded .gp-filters__less-label {
    display: inline;
}

/* ---------- Mobile: button + slide-in panel ---------- */
@media (max-width: 767px) {
    .gp-filters__mobile-btn {
        display: flex;
        align-items: center;
        gap: 1.5rem;
        width: 100%;
        padding: .9rem 1rem;
        background: #f1f1f1;
        border: 0;
        color: #333;
        font-size: .9375rem;
        cursor: pointer;
    }
    .gp-filters__mobile-btn span {
        flex: 1;
        padding-right: 2.5rem;
        text-align: center;
    }
    .gp-filters__overlay {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 1100;
        background: rgba(0, 0, 0, .7);
        opacity: 0;
        visibility: hidden;
        transition: opacity .3s, visibility .3s;
    }
    .gp-filters.is-open .gp-filters__overlay {
        opacity: 1;
        visibility: visible;
    }
    html.gp-filters-noscroll {
        overflow: hidden;
    }
    .gp-filters__panel {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        z-index: 1101;
        width: 90%;
        max-width: 400px;
        padding: 0;
        overflow-y: auto;
        background: #fff;
        transform: translate3d(-105%, 0, 0);
        transition: transform .3s;
    }
    .gp-filters.is-open .gp-filters__panel {
        transform: none;
    }
    .gp-filters__mobile-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: .9rem 1rem;
        border-bottom: 1px solid #dcdcdc;
        font-weight: 700;
        text-transform: uppercase;
    }
    .gp-filters__close {
        padding: 0 .5rem;
        background: transparent;
        border: 0;
        font-size: 1.75rem;
        line-height: 1;
        cursor: pointer;
    }
    .gp-filters__grid {
        display: block;
    }
    .gp-filter--extra {
        display: block;
    }
    .gp-filters__more-wrap {
        display: none;
    }
    .gp-filter {
        border-bottom: 1px solid #dcdcdc;
    }
    .gp-filter__title {
        min-height: 3.5rem;
        padding: .9rem 1rem;
        background: #f5f5f5;
        border: 0;
        font-size: .875rem;
        font-weight: 700;
    }
    .gp-filter__title::after {
        flex-basis: 1rem;
        width: 1rem;
        height: 1rem;
        background: none;
        content: '+';
        color: #222;
        font-size: 1.25rem;
        font-weight: 400;
        line-height: 1rem;
        text-align: center;
    }
    .gp-filter[open] > .gp-filter__title::after {
        content: '\2212';
        transform: none;
    }
    .gp-filter__content {
        position: static;
        max-height: none;
        padding: .5rem 1rem 1rem;
        border: 0;
        box-shadow: none;
    }
}

/* ---------- Selected filters (like the live shop) ---------- */
/* active filter tags at the top of the grey band */
.gp-filters__active {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1rem;
    margin: 0 0 1rem;
    padding: 0;
    list-style: none;
}
.gp-filters__tag {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin: 0;
    padding: .55rem .9rem;
    background: #fff;
    color: #222;
    font-size: .75rem;
    line-height: 1.2;
}
.gp-filters__tag strong {
    font-weight: 700;
}
.gp-filters__tag-remove {
    margin-left: .35rem;
    color: var(--gp-filter-accent);
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
}
.gp-filters__tag-remove:hover {
    color: #222;
}
/* a dropdown that has a selection: orange check mark instead of the chevron button */
.gp-filter--active > .gp-filter__title::after,
.gp-filter--active[open] > .gp-filter__title::after {
    content: '\2713';
    background: none;
    color: var(--gp-filter-accent);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.25rem;
    text-align: center;
    transform: none;
}
.gp-filter[open] > .gp-filter__title {
    background: #f3f3f3;
}
/* checked checkbox for the selected option */
.gp-filter__item--selected {
    color: #222;
}
.gp-filter__item--selected .gp-filter__box {
    position: relative;
    border-color: var(--gp-filter-accent);
}
.gp-filter__item--selected .gp-filter__box::after {
    content: '';
    position: absolute;
    left: 3px;
    top: 0;
    width: 3px;
    height: 7px;
    border: solid var(--gp-filter-accent);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
@media (max-width: 767px) {
    .gp-filters__active {
        margin: 0;
        padding: .75rem 1rem 0;
    }
    .gp-filter--active > .gp-filter__title::after,
    .gp-filter--active[open] > .gp-filter__title::after {
        content: '\2713';
        font-size: 1rem;
        line-height: 1rem;
    }
}/*
 * Product listing grid (category, search and brand pages): same columns as the live shop.
 *  < 768px: 2 per row | >= 768px: 3 | >= 1024px: 4 | >= 1280px: 5
 * Overrides Hyva's sidebar-era "grid-cols-1 sm:grid-cols-2 md:grid-cols-1 lg:grid-cols-2 xl:grid-cols-3" utilities.
 * Plain CSS, no Tailwind rebuild.
 */
body.page-products .products.products-grid > ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
@media (min-width: 768px) {
    body.page-products .products.products-grid > ul {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (min-width: 1024px) {
    body.page-products .products.products-grid > ul {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
@media (min-width: 1280px) {
    body.page-products .products.products-grid > ul {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

/* long product codes in titles must wrap instead of pushing out of the card */
body.page-products .products.products-grid .product-item-link {
    overflow-wrap: anywhere;
    word-break: break-word;
    hyphens: auto;
}
@media (max-width: 767px) {
    body.page-products .products.products-grid .product-item-link {
        font-size: .9375rem;
        line-height: 1.3;
    }

    /* less side padding on phones: page edges 24px -> 12px, card inner padding 24px -> 8px, smaller gap */
    body.page-products .page-main > .columns,
    body.page-products .page-main > .container,
    body.page-products .breadcrumbs > .container {
        padding-left: .75rem;
        padding-right: .75rem;
    }
    body.page-products .products.products-grid > ul {
        gap: .5rem;
    }
    body.page-products .products.products-grid .product-item {
        padding-left: .5rem;
        padding-right: .5rem;
    }

    /* sort dropdown: align to the left (the empty "modes" box took the first column and the sorter was justify-end) */
    body.page-products .toolbar-products .modes:not(:has(*)) {
        display: none;
    }
    body.page-products .toolbar-products .toolbar-sorter {
        justify-content: flex-start;
    }
}

/* ---------- Product card ----------
 * The card markup (Mageplaza_Shopbybrand/templates/hyva/product/list/item.phtml) is the same everywhere.
 * Only on product listing pages (body.page-products, inside .products-grid) it looks like the live shop card:
 * no rating, no brand logo, no stock text / add to cart / wishlist / compare, but delivery time + "Zum Produkt".
 * Sliders and widgets keep their look (the footer is hidden there).
 */
.gp-card__footer {
    display: none;
}
body.page-products .products-grid .gp-card {
    height: 100%;
    padding: 1rem;
    background: #fff;
}
body.page-products .products-grid .gp-card .gp-card__rating,
body.page-products .products-grid .gp-card .product-brand-logo,
body.page-products .products-grid .gp-card .gp-card__actions {
    display: none;
}
body.page-products .products-grid .gp-card .product-info {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}
body.page-products .products-grid .gp-card .gp-card__title {
    margin: .25rem 0 .75rem;
    color: #212121;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
    text-align: left;
}
body.page-products .products-grid .gp-card .gp-card__title a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    min-height: calc(1.35em * 3);
    overflow: hidden;
    color: inherit;
}
body.page-products .products-grid .gp-card .gp-card__title a:hover {
    color: #ff6101;
}
body.page-products .products-grid .gp-card .pt-1 {
    text-align: left;
}
body.page-products .products-grid .gp-card .gp-card__footer {
    display: block !important; /* overrides the inline display:none default */
    margin-top: auto;
    padding-top: .75rem;
}
body.page-products .products-grid .gp-card__delivery {
    margin: 0 0 .75rem;
    color: #333;
    font-size: .8125rem;
    line-height: 1.35;
}
body.page-products .products-grid .gp-card__delivery strong {
    color: #2e9e46;
}
body.page-products .products-grid .gp-card__button {
    display: block;
    width: 100%;
    padding: .7rem 1rem;
    background: #000;
    border-radius: 2px;
    color: #fff;
    font-size: .875rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    transition: background-color .2s;
}
body.page-products .products-grid .gp-card__button:hover,
body.page-products .products-grid .gp-card__button:focus {
    background: #ff6101;
    color: #fff;
}
@media (max-width: 767px) {
    body.page-products .products-grid .gp-card__button {
        padding: .6rem .5rem;
        font-size: .8125rem;
    }
}

/* ---------- Prices in the card, like live: price 18px orange bold, below it "Exkl. Steuern: x,xx €" 12px orange bold ---------- */
body.page-products .products-grid .gp-card .price-box .price-including-tax .price {
    color: #ff6101;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
}
body.page-products .products-grid .gp-card .price-box .price-wrapper.price-excluding-tax {
    display: block;
    margin-top: 2px;
    color: #ff6101;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
}
body.page-products .products-grid .gp-card .price-box .price-wrapper.price-excluding-tax::after {
    content: none;
}
body.page-products .products-grid .gp-card .price-box .price-wrapper.price-excluding-tax::before {
    content: attr(data-label) ": ";
    font-size: 12px;
    font-weight: 700;
}
body.page-products .products-grid .gp-card .price-box .price-wrapper.price-excluding-tax .price {
    color: #ff6101;
    font-size: 12px;
    font-weight: 700;
}
/* list price: small, black, struck through */
body.page-products .products-grid .gp-card .price-box .old-price .price {
    color: #000;
    font-size: 12px;
    font-weight: 700;
}

/* "Hot" badge (live: red skewed tag in the top left corner of the product card) */
.gp-card {
    position: relative;
}
.gp-badge {
    position: absolute;
    z-index: 2;
    top: 12px;
    left: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 0 7px 0 12px;
    border-radius: 3px;
    background: #e41f12;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    transform: skew(-15deg);
}
.gp-badge::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 10px;
    height: 100%;
    border-radius: 3px 0 0 3px;
    background: inherit;
    transform: skew(15deg);
    transform-origin: bottom left;
}
.gp-badge__text {
    line-height: normal;
    transform: skew(15deg);
}/*
 * Content blocks on category pages (top: above the filters, bottom: below the products), like the live shop:
 * same element styles as the brand pages (css/brand-page.css): text, FAQ accordion, news cards, buttons, video.
 * The blocks are CMS blocks "category-top-<category id>" / "category-bottom-<category id>"
 * (see templates/category/gp-category-content.phtml). Plain CSS, no Tailwind rebuild.
 */


/* ---------- Headline area + imported content blocks ---------- */
.gp-brand-top {
    margin-bottom: 1rem;
}
.gp-brand-content {
    color: #333;
    font-size: 14px;
    line-height: 20px;
}
.gp-brand-content::after {
    content: "";
    display: block;
    clear: both;
}
.gp-brand-content p {
    margin: 0 0 10px;
}
.gp-brand-content ul,
.gp-brand-content ol {
    margin: 0 0 25px;
    padding-left: 40px;
}
.gp-brand-content ul {
    list-style: disc;
}
.gp-brand-content ol {
    list-style: decimal;
}
.gp-brand-content li {
    margin: 0 0 10px;
}
.gp-brand-content a {
    color: #ff6101;
    text-decoration: none;
}
.gp-brand-content a:hover {
    text-decoration: underline;
}
.gp-brand-content img {
    max-width: 100%;
    height: auto;
}
.gp-brand-content hr {
    margin: 20px 0;
    border: 0;
    border-top: 1px solid #ddd;
}
.gp-brand-content h1,
.gp-brand-content h2 {
    margin: 10px 0 20px;
    color: #212121;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.15;
    text-transform: uppercase;
}
.gp-brand-content h3 {
    margin: 10px 0 20px;
    color: #212121;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.15;
    text-transform: none;
}
.gp-brand-content h4:empty,
.gp-brand-content h2:empty {
    display: none;
}

/* generated headline (brands without imported headline content) */
.gp-brand-head__title {
    font-size: 32px;
}
.gp-brand-head__logo {
    float: right;
    width: auto;
    max-width: 300px;
    max-height: 93px;
    margin: 0 0 0 20px;
}
.gp-brand-head__sub {
    font-size: 24px;
}

/* paragraphs of the imported blocks */
.gp-brand-content .gp-cms-paragraph {
    margin: 0 0 10px;
}
.gp-brand-content .gp-teaser {
    margin: 0 0 20px;
}

/* FAQ accordion (details / summary) */
.gp-brand-content .gp-accordion {
    margin: 0 0 20px;
}
.gp-brand-content .gp-accordion details {
    border: 1px solid #dcdcdc;
    background: #fff;
}
.gp-brand-content .gp-accordion details + details {
    margin-top: -1px;
}
.gp-brand-content .gp-accordion summary {
    position: relative;
    padding: 12px 40px 12px 15px;
    color: #212121;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
}
.gp-brand-content .gp-accordion summary::-webkit-details-marker {
    display: none;
}
.gp-brand-content .gp-accordion summary::after {
    content: "+";
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: #ff6101;
    font-size: 22px;
    font-weight: 400;
}
.gp-brand-content .gp-accordion details[open] > summary::after {
    content: "\2212";
}
.gp-brand-content .gp-accordion details > div {
    padding: 0 15px 12px;
}

/* news cards (blog articles of the brand) */
.gp-brand-content .gp-brand-news {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 20px;
    margin: 0 0 20px;
}
.gp-brand-content .gp-brand-news__item {
    display: block;
    color: #212121;
}
.gp-brand-content .gp-brand-news__item img {
    display: block;
    width: 100%;
    margin: 0 0 8px;
}
.gp-brand-content .gp-brand-news__item span {
    font-weight: 700;
}

/* buttons */
.gp-brand-content .gp-brand-button {
    display: inline-block;
    margin: 0 10px 10px 0;
    padding: 10px 20px;
    background: #ff6101;
    color: #fff;
    font-weight: 700;
}
.gp-brand-content .gp-brand-button:hover {
    background: #e55600;
    color: #fff;
    text-decoration: none;
}


.gp-brand-bottom {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

/* phones: headline a bit smaller, logo above the text */
@media (max-width: 767px) {
    .gp-brand-content h1 span,
    .gp-brand-head__title {
        font-size: 20px !important;
    }
    .gp-brand-head__logo {
        float: none;
        display: block;
        margin: 0 0 10px;
        max-width: 200px;
    }
    .gp-brand-head__sub {
        font-size: 18px;
    }
}


/* banner image block (wrapper with a background colour and one image) */
.gp-brand-content .gp-brand-raw .dgm-container img {
    display: block;
    width: 100%;
    height: auto;
}

/* banner images (teaser without link) */
.gp-brand-content .gp-brand-banner {
    margin: 0 0 20px;
}
.gp-brand-content .gp-brand-banner img {
    display: block;
    width: 100%;
    height: auto;
}

/* ---------- Phones / small tablets: the imported guide layouts (padding 70px, fixed image heights, long headings) ---------- */
@media (max-width: 767px) {
    .gp-brand-top,
    .gp-brand-bottom,
    .gp-category-top,
    .gp-category-bottom {
        padding-left: 16px;
        padding-right: 16px;
    }
    .gp-brand-content {
        overflow-wrap: break-word;
    }
    .gp-brand-content h1,
    .gp-brand-content h2,
    .gp-brand-content h3 {
        overflow-wrap: break-word;
        hyphens: auto;
        line-height: 1.2;
    }
    .gp-brand-content h1,
    .gp-brand-content h2 {
        font-size: 20px;
    }
    .gp-brand-content h3 {
        font-size: 18px;
    }
    /* the headline spans carry inline pt sizes made for desktop */
    .gp-brand-content h1 span,
    .gp-brand-content h2 span,
    .gp-brand-content h3 span {
        font-size: inherit !important;
    }
    .gp-brand-content p,
    .gp-brand-content li,
    .gp-brand-content [style*="text-align: justify"] {
        text-align: left !important;
    }
    .gp-brand-content img[style*="float"],
    .gp-brand-content img[align] {
        float: none !important;
        display: block;
        margin: 10px auto !important;
    }
    .gp-brand-content img {
        max-width: 100% !important;
        height: auto !important;
    }
    /* layout blocks of the guides: columns can shrink, less inner padding, images fit the width */
    .gp-brand-content .gp-brand-raw div {
        min-width: 0;
    }
    .gp-brand-content .dgm-flex > div,
    .gp-brand-content .dgm-flex-3 > div,
    .gp-brand-content .dgm-flex-4 > div,
    .gp-brand-content .dgm-flex2 > div {
        min-width: 0;
        max-width: 100%;
    }
    .gp-brand-content .dgm-flex > div.inner-padding,
    .gp-brand-content .inner-padding,
    .gp-brand-content .grey-1 {
        padding: 24px 16px !important;
    }
    .gp-brand-content .inner-padding .neg-margin {
        margin: -24px -16px 24px !important;
    }
    .gp-brand-content .text-padding {
        padding: 24px 16px !important;
    }
    .gp-brand-content .text-padding > * {
        max-width: 100%;
    }
    .gp-brand-content .first-container,
    .gp-brand-content .head-padding,
    .gp-brand-content .head-padding2 {
        padding-left: 0;
        padding-right: 0;
    }
    .gp-brand-content .dgm-flex.dgm-inline-width > div.dgm-flex-order-2 img,
    .gp-brand-content .dgm-inline-width-phone .img-responsive {
        max-width: 100% !important;
        height: auto !important;
        margin: 15px auto !important;
    }
    .gp-brand-content .triangle-left::after,
    .gp-brand-content .triangle-right::after {
        display: none;
    }
    .gp-brand-content table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
    }
    .gp-brand-content .gp-accordion summary {
        font-size: 15px;
    }
    /* headlines inside the layout blocks come with big sizes from the desktop CSS */
    .gp-brand-content .gp-brand-raw h1,
    .gp-brand-content .gp-brand-raw h2,
    .gp-brand-content .gp-brand-raw h3,
    .gp-brand-content .gp-brand-raw h4 {
        font-size: 22px !important;
        line-height: 1.2 !important;
    }
}


/* tablets: long single words in the big layout headlines must not run out of their column */
@media (max-width: 1134px) {
    .gp-brand-content .gp-brand-raw h1,
    .gp-brand-content .gp-brand-raw h2,
    .gp-brand-content .gp-brand-raw h3 {
        overflow-wrap: break-word;
        hyphens: auto;
    }
}

/* the layout blocks of the guide texts (dark / grey image + text rows) run over the full window width, like on live */
.gp-brand-bottom .gp-brand-raw,
.gp-category-bottom .gp-brand-raw {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
body.mpbrand-index-view,
body.catalog-category-view {
    overflow-x: clip;
}

/* tablets and phones: the image rows with captions use full width, no side margins */
@media (max-width: 1024px) {
    .gp-brand-content .dgm-flex.img-descriptive > div {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* hidden on phones / on desktop (live: display controller of the content blocks) */
@media (max-width: 767px) {
    .gp-brand-content .gp-hide-mobile {
        display: none;
    }
}
@media (min-width: 768px) {
    .gp-brand-content .gp-hide-desktop {
        display: none;
    }
}

/* image + text rows of the guide texts (live: image teaser "teaser and text") */
.gp-brand-content .gp-teaser-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    align-items: center;
    margin: 0 0 20px;
}
.gp-brand-content .gp-teaser-row__img img {
    display: block;
    width: 100%;
    height: auto;
}
.gp-brand-content .gp-teaser-row__text p {
    margin: 0;
}
@media (max-width: 767px) {
    .gp-brand-content .gp-teaser-row {
        gap: 10px;
    }
}

/* news cards (live: image teaser with N items per row): N columns on tablet and desktop, fixed columns on phones */
@media (min-width: 768px) {
    .gp-brand-content .gp-brand-news--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gp-brand-content .gp-brand-news--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .gp-brand-content .gp-brand-news--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .gp-brand-content .gp-brand-news--m1 { grid-template-columns: minmax(0, 1fr); }
    .gp-brand-content .gp-brand-news--m2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}/* "Zurück nach oben" button (template: Magento_Catalog/templates/category/gp-back-to-top.phtml), orange pill at the bottom centre like live */
.gp-back-to-top {
    position: fixed;
    left: 50%;
    bottom: 20px;
    z-index: 40;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 22px;
    transform: translateX(-50%);
    background: #ff6101;
    border: 0;
    border-radius: 30px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .3);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    white-space: nowrap;
    cursor: pointer;
}
.gp-back-to-top:hover,
.gp-back-to-top:focus {
    background: #e55600;
    outline: 0;
}/*
 * Category headline box + tabs (templates/category/gp-category-tabs.phtml), like the live shop's
 * ".top-tabs-wrapper": white box with the category name (orange underline), second box with the tabs.
 */
.gp-cat-tabs__box {
    padding: 20px;
    background: #fff;
    margin-bottom: 20px;
    text-align: center;
}
.gp-cat-tabs__title {
    text-transform: uppercase;
    display: inline-block;
    margin: 0 0 10px;
    padding-bottom: 4px;
    border-bottom: 2px solid #ff6101;
    font-size: 24px;
    line-height: 1.3;
    font-weight: 600;
    color: #212121;
}
.gp-cat-tabs__list {
    display: flex;
    align-items: flex-end;
    justify-content: space-evenly;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
}
.gp-cat-tabs__list li {
    position: relative;
    margin: 0;
    padding-bottom: 4px;
    border-bottom: 2px solid #ff6101;
    cursor: pointer;
}
.gp-cat-tabs__icon {
    display: inline-block;
    margin-right: 4px;
    vertical-align: -1px;
}
.gp-cat-tabs__triangle {
    display: block;
}
/* notch above the active tab: white triangle with a page coloured one in front (the gap between the two boxes) */
.gp-cat-tabs__list li.is-active .gp-cat-tabs__triangle::before,
.gp-cat-tabs__list li.is-active .gp-cat-tabs__triangle::after {
    content: "";
    position: absolute;
    left: 50%;
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    transform: translateX(-50%);
}
.gp-cat-tabs__list li.is-active .gp-cat-tabs__triangle::before {
    bottom: 92px;
    border-top: 20px solid #fff;
}
.gp-cat-tabs__list li.is-active .gp-cat-tabs__triangle::after {
    bottom: 70px;
    border-top: 20px solid #f9fafb;
}
/* pointer of the active tab (white triangle below the box) */
.gp-cat-tabs__list li.is-active::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -39px;
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: 20px solid #fff;
    transform: translateX(-50%);
}

@media (max-width: 1023px) {
    .gp-cat-tabs__title {
        font-size: 18px;
    }
    .gp-cat-tabs__list li {
        max-width: 100px;
    }
}
@media (max-width: 767px) {
    .gp-cat-tabs__list {
        justify-content: space-between;
    }
}


/* ---------- Child category tiles ("Kategorien" tab), like live's .subcategory-list ---------- */
.gp-subcats {
    position: relative;
    margin-bottom: 20px;
    padding: 0 0 2rem;
}
.gp-subcats__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    overflow: hidden;
    padding: 1.5rem 0;
    margin-bottom: 2rem;
    background: #fff;
}
.gp-subcats__list::after {
    content: "";
    flex-grow: 1;
}
.gp-subcats__item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 25%;
    flex-basis: 21%;
    margin: 1rem 2%;
    border: 1px solid #000;
    text-decoration: none;
}
.gp-subcats__item:hover {
    border-color: #ff6101;
}
.gp-subcats__img {
    display: block;
    width: 100%;
    height: 174px;
    object-fit: contain;
    margin: 0 auto;
    background: #fff;
}
.gp-subcats__title {
    display: block;
    width: 100%;
    padding: 1rem 0.5rem;
    text-align: center;
    background: #212121;
    color: #fff;
    font-size: 16px;
    line-height: 1.4;
}
.gp-subcats__item:hover .gp-subcats__title {
    background: #ff6101;
}
/* collapsed: two rows of four on desktop (as live: 495px), "Mehr Anzeigen" shows the rest */
.gp-subcats--desktop-more .gp-subcats__list {
    height: 495px;
}
.gp-subcats.is-full .gp-subcats__list {
    height: auto;
}
.gp-subcats__btn {
    display: none;
    margin: 0 auto;
    padding: 1rem 3rem;
    border: 0;
    border-radius: 0;
    background: #ff6101;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
}
.gp-subcats__btn:hover {
    background: #000;
}
.gp-subcats--desktop-more .gp-subcats__btn--more {
    display: block;
}
.gp-subcats.is-full .gp-subcats__btn--more {
    display: none;
}
.gp-subcats--desktop-more.is-full .gp-subcats__btn--less {
    display: block;
}
.gp-cat-tabs__text {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: #333;
}

@media (max-width: 1023px) {
    .gp-subcats__item {
        width: 49%;
        flex-basis: 49%;
        margin: 10px 0;
        border: 0;
        background: #fff;
    }
    .gp-subcats__title {
        background: none;
        color: #212121;
        font-weight: normal;
    }
    .gp-subcats__item:hover .gp-subcats__title {
        background: none;
        text-decoration: underline;
    }
    .gp-subcats--desktop-more .gp-subcats__list {
        height: auto;
    }
    .gp-subcats--mobile-more .gp-subcats__list {
        height: 700px;
    }
    .gp-subcats--desktop-more .gp-subcats__btn--more,
    .gp-subcats--desktop-more.is-full .gp-subcats__btn--less {
        display: none;
    }
    .gp-subcats--mobile-more .gp-subcats__btn--more {
        display: block;
    }
    .gp-subcats--mobile-more.is-full .gp-subcats__btn--more {
        display: none;
    }
    .gp-subcats--mobile-more.is-full .gp-subcats__btn--less {
        display: block;
    }
}
@media (max-width: 479px) {
    .gp-subcats__item {
        width: 100%;
        flex-basis: 100%;
    }
    .gp-subcats--mobile-more .gp-subcats__list {
        height: 1400px;
    }
}