@charset "UTF-8";
/*!
    Main Stylesheet Manifest

    This file imports all SCSS partials in the correct order.
    DO NOT add styles here — use the appropriate partial instead.

    Compile: sass --watch css:css

    Import order:
        1. Fonts & Variables (design tokens)
        2. Helpers (mixins & utilities)
        3. Utility classes (colors, typography)
        4. Base element styles
        5. Components (reusable patterns)
        6. Sections (ACF flexible content)
        7. Page-specific overrides

    @author development@bronte.co.nz
*/
/*
    Font Face Declarations

    Define custom web fonts here using @font-face.
    Font files should be stored in /assets/fonts/ or loaded from CDN.

    After adding fonts, update $font-family-primary or $font-family-secondary
    in _variables.scss to use them.

    Example:
        @font-face {
            font-family: 'CustomFont';
            src: url('../assets/fonts/custom.woff2') format('woff2'),
                 url('../assets/fonts/custom.woff') format('woff');
            font-weight: 400;
            font-style: normal;
            font-display: swap;
        }
*/
/*
    Design Tokens (Variables)

    Central source of truth for all design values.
    ALWAYS check here before adding new values elsewhere.

    How to use:
        1. Import in your partial: @use 'variables' as *;
        2. Use variables: color: $color-primary;

    Naming conventions:
        $color-{name}      — colours
        $spacing-{size}    — spacing (xs, sm, md, lg, xl, 2xl, 3xl, 4xl)
        $font-size-{size}  — font sizes
        $font-weight-{name} — font weights
        $screen-{size}     — breakpoints
*/
/*
    Helper Utilities

    Layout, positioning, and display utilities.
    For typography utilities, see _typography.scss.
    For colour utilities, see _colors.scss.

    Usage:
        <div class="pos-relative">
            <img class="bg-image" src="..." alt="...">
            <div class="z-above">Content above image</div>
        </div>
*/
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.w-100 {
  width: 100%;
}

.h-100 {
  height: 100%;
}

.pos-relative {
  position: relative;
}

.pos-absolute {
  position: absolute;
}

.z-below {
  z-index: 5;
}

.z-base {
  z-index: 10;
}

.z-above {
  z-index: 15;
}

.mb-0 {
  margin-bottom: 0;
}

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

.has-top-margin {
  margin-top: 64px;
}

.has-bottom-margin {
  margin-bottom: 64px;
}

.bg-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.shadow-1 {
  box-shadow: 0 0.5px 2px 0 rgba(25, 33, 61, 0.11);
}

.shadow-2 {
  box-shadow: 0 1px 4px 0 rgba(25, 33, 61, 0.08);
}

.shadow-3 {
  box-shadow: 0 2px 6px 0 rgba(25, 33, 61, 0.14);
}

.shadow-4 {
  box-shadow: 0 5px 15px 0 rgba(25, 33, 61, 0.11);
}

.shadow-5 {
  box-shadow: 0 12px 26px 0 rgba(25, 33, 61, 0.12);
}

.shadow-6 {
  box-shadow: 0 22px 36px 0 rgba(25, 33, 61, 0.12);
}

.shadow-primary-1 {
  box-shadow: 0 0.5px 2px 0 rgba(78, 159, 255, 0.14);
}

.shadow-primary-2 {
  box-shadow: 0 1px 4px 0 rgba(78, 159, 255, 0.2);
}

.shadow-primary-3 {
  box-shadow: 0 2px 6px 0 rgba(78, 159, 255, 0.12);
}

.shadow-primary-4 {
  box-shadow: 0 4px 14px 0 rgba(78, 159, 255, 0.12);
}

.shadow-primary-5 {
  box-shadow: 0 12px 26px 0 rgba(78, 159, 255, 0.12);
}

.shadow-primary-6 {
  box-shadow: 0 22px 36px 0 rgba(78, 159, 255, 0.12);
}

.shadow-secondary-1 {
  box-shadow: 0 0.5px 2px 0 rgba(255, 45, 70, 0.14);
}

.shadow-secondary-2 {
  box-shadow: 0 1px 4px 0 rgba(255, 45, 70, 0.14);
}

.shadow-secondary-3 {
  box-shadow: 0 2px 6px 0 rgba(255, 45, 70, 0.12);
}

.shadow-secondary-4 {
  box-shadow: 0 4px 14px 0 rgba(255, 45, 70, 0.12);
}

.shadow-secondary-5 {
  box-shadow: 0 12px 26px 0 rgba(255, 45, 70, 0.12);
}

.shadow-secondary-6 {
  box-shadow: 0 22px 36px 0 rgba(255, 45, 70, 0.12);
}

.shadow-none {
  box-shadow: none;
}

/*
    Colour Utility Classes

    Background and text colour utilities generated from $colors map.
    All colours are defined in _variables.scss.

    Usage:
        <div class="bg-primary text-white">Primary background</div>
        <p class="text-muted">Secondary text</p>

    Available classes:
        .bg-{color}   — background colour
        .text-{color} — text colour

    Where {color} is: primary, secondary, dark, light, white, black, muted
*/
.bg-primary {
  background-color: #b41d0b;
}

.text-primary {
  color: #b41d0b;
}

.bg-secondary {
  background-color: #59595c;
}

.text-secondary {
  color: #59595c;
}

.bg-dark {
  background-color: #111111;
}

.text-dark {
  color: #111111;
}

.bg-light {
  background-color: #f6f9f9;
}

.text-light {
  color: #f6f9f9;
}

.bg-white {
  background-color: #fff;
}

.text-white {
  color: #fff;
}

.bg-black {
  background-color: #000;
}

.text-black {
  color: #000;
}

.bg-muted {
  background-color: #959a9e;
}

.text-muted {
  color: #959a9e;
}

/*
    Typography Utility Classes

    From Figma typography system:
    - Display scale (1-12) for headings
    - Paragraph scale (sm, base, md, lg) for body text
    - Weight modifiers (regular, semibold, extrabold)

    Usage:
        <h1 class="display-12 font-extrabold">Hero Title</h1>
        <h2 class="display-7 font-semibold">Section Heading</h2>
        <p class="paragraph-md">Body text</p>
*/
.text-left {
  text-align: left;
}

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

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

.display-1 {
  font-size: 12px;
  line-height: 18px;
}

.display-2 {
  font-size: 14px;
  line-height: 20px;
}

.display-3 {
  font-size: 16px;
  line-height: 22px;
}

.display-4 {
  font-size: 18px;
  line-height: 24px;
}

.display-5 {
  font-size: 20px;
  line-height: 28px;
}

.display-6 {
  font-size: 24px;
  line-height: 32px;
}

.display-7 {
  font-size: 30px;
  line-height: 36px;
}

.display-8 {
  font-size: 36px;
  line-height: 40px;
}

.display-9 {
  font-size: 48px;
  line-height: 48px;
}

.display-10 {
  font-size: 60px;
  line-height: 60px;
}

.display-11 {
  font-size: 72px;
  line-height: 72px;
}

.display-12 {
  font-size: 96px;
  line-height: 96px;
}

.paragraph-sm {
  font-size: 12px;
  line-height: 18px;
}

.paragraph-base {
  font-size: 14px;
  line-height: 22px;
}

.paragraph-md {
  font-size: 16px;
  line-height: 24px;
}

.paragraph-lg {
  font-size: 18px;
  line-height: 28px;
}

.text-xs {
  font-size: 12px;
}

.text-sm {
  font-size: 14px;
}

.text-base {
  font-size: 16px;
}

.text-lg {
  font-size: 18px;
}

.text-xl {
  font-size: 24px;
}

.text-2xl {
  font-size: 30px;
}

.text-3xl {
  font-size: 48px;
}

.font-normal {
  font-weight: 400;
}

.font-medium {
  font-weight: 500;
}

.font-semibold {
  font-weight: 600;
}

.font-bold {
  font-weight: 700;
}

.font-extrabold {
  font-weight: 800;
}

.leading-tight {
  line-height: 1.2;
}

.leading-base {
  line-height: 1.5;
}

.leading-loose {
  line-height: 1.8;
}

.font-primary {
  font-family: "Inter", Helvetica, Arial, sans-serif;
}

.font-secondary {
  font-family: Georgia, serif;
}

/*
    Button System

    Modular button classes with composable modifiers.

    Base:
        .btn                    — Base button styles (required)

    Color variants (solid by default):
        .btn--primary           — Primary color (dark bg, white text)
        .btn--secondary         — Secondary color (light bg, dark text)
        .btn--white             — White bg (for dark backgrounds)

    Style modifiers:
        .btn--outline           — Border only, transparent bg
        .btn--ghost             — No border, no bg (text only)

    Size modifiers:
        .btn--thin              — Reduced padding
        .btn--large             — Increased padding and font size

    Feature modifiers:
        .btn--with-arrow        — Space for arrow icon
        .btn--full-width        — Full width button
        .btn--rounded           — More rounded corners

    Context modifiers:
        .btn--on-dark           — Inverted colors for dark backgrounds

    4 Button Styles:
        Primary (Solid)         — .btn.btn--primary
        Primary (Outline)       — .btn.btn--outline.btn--primary
        Secondary (Solid)       — .btn.btn--secondary
        Secondary (Outline)     — .btn.btn--outline.btn--secondary

    Usage examples:
        <a class="btn btn--primary btn--with-arrow">Get in touch</a>
        <a class="btn btn--outline btn--primary">Learn more</a>
        <a class="btn btn--secondary">Alternative action</a>
        <a class="btn btn--outline btn--secondary">Tertiary action</a>
*/
.btn,
button,
input[type=submit] {
  -webkit-appearance: none;
  appearance: none;
  border: none;
  background: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 18px;
  border-radius: 6px;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  text-align: center;
  text-decoration: none;
  transition: all 0.2s ease;
}
.btn:focus,
button:focus,
input[type=submit]:focus {
  outline: none;
}
.btn:focus-visible,
button:focus-visible,
input[type=submit]:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}
.btn .arrow-icon,
button .arrow-icon,
input[type=submit] .arrow-icon {
  transition: transform 0.2s ease;
  flex-shrink: 0;
}
.btn:hover .arrow-icon,
button:hover .arrow-icon,
input[type=submit]:hover .arrow-icon {
  transform: translateX(3px);
}

.btn--primary {
  background-color: #b41d0b;
  color: #fff;
  box-shadow: 0 1px 4px rgba(25, 33, 61, 0.08);
}
.btn--primary:hover {
  background-color: #8a1608;
}

.btn--secondary {
  background-color: #59595c;
  color: #111111;
  box-shadow: 0 1px 4px rgba(25, 33, 61, 0.08);
}
.btn--secondary:hover {
  background-color: #e0e0e0;
}

.btn--white {
  background-color: #fff;
  color: #b41d0b;
}
.btn--white:hover {
  background-color: #59595c;
}

.btn--outline {
  background-color: transparent;
}
.btn--outline.btn--primary {
  border: 1px solid #b41d0b;
  color: #111111;
  box-shadow: none;
}
.btn--outline.btn--primary:hover {
  background-color: rgba(180, 29, 11, 0.08);
}
.btn--outline.btn--secondary {
  border: 1px solid #e0e0e0;
  color: #111111;
  background-color: transparent;
}
.btn--outline.btn--secondary:hover {
  background-color: rgba(224, 224, 224, 0.08);
}
.btn--outline.btn--white {
  border: 1px solid #fff;
  color: #fff;
  background-color: transparent;
}
.btn--outline.btn--white:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

.btn--ghost {
  background-color: transparent;
  border: none;
  box-shadow: none;
}
.btn--ghost.btn--primary {
  color: #b41d0b;
}
.btn--ghost.btn--primary:hover {
  background-color: rgba(180, 29, 11, 0.08);
}
.btn--ghost.btn--white {
  color: #fff;
}
.btn--ghost.btn--white:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

.btn--thin {
  padding: 10px 14px;
}

.btn--large {
  padding: 18px 24px;
  font-size: 16px;
}

.btn--xs {
  padding: 8px 12px;
  font-size: 12px;
  line-height: 16px;
}

.btn--with-arrow {
  gap: 6px;
}

.btn--full-width {
  width: 100%;
}

.btn--rounded {
  border-radius: 50px;
}

.btn--on-dark.btn--secondary:not(.btn--outline) {
  background-color: transparent;
  border: 1px solid #fff;
  color: #fff;
  box-shadow: none;
}
.btn--on-dark.btn--secondary:not(.btn--outline):hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.btn--on-dark.btn--outline.btn--primary, .btn--on-dark.btn--outline.btn--secondary {
  border-color: #fff;
  color: #fff;
}
.btn--on-dark.btn--outline.btn--primary:hover, .btn--on-dark.btn--outline.btn--secondary:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.btn--on-dark:focus-visible {
  outline-color: #fff;
}

.arrow-icon {
  width: 10px;
  height: 10px;
  display: inline-block;
}

.btn--thin .arrow-icon,
.btn--xs .arrow-icon {
  width: 8px;
  height: 8px;
}

.btn-group {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.btn-group--stack-mobile {
  flex-direction: column;
  align-items: center;
}
@media (min-width: 992px) {
  .btn-group--stack-mobile {
    flex-direction: row;
    align-items: flex-start;
  }
}
.btn-group--stack-mobile-full {
  flex-direction: column;
}
@media (min-width: 992px) {
  .btn-group--stack-mobile-full {
    flex-direction: row;
  }
}
.btn-group--stack-mobile-full .btn {
  width: 100%;
}
@media (min-width: 992px) {
  .btn-group--stack-mobile-full .btn {
    width: auto;
  }
}

/*
    Navigation Menu Styles

    Styles for WordPress menus registered in functions/setup.php.
    Menu locations: header, footer, mobile.

    Structure:
        <nav>
            <ul class="menu menu-main">
                <li><a href="#">Link</a></li>
            </ul>
        </nav>

    Modifiers:
        .menu-main   — header navigation
        .menu-footer — footer navigation
*/
/*
    Base Element Styles

    Global styles for HTML elements (body, a, img, headings, etc.).
    These apply site-wide without needing classes.

    For utility classes, see:
        _helpers.scss    — layout utilities
        _typography.scss — text utilities
        _colors.scss     — colour utilities
*/
* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--wp-admin--admin-bar--height); /**
* @link https://make.wordpress.org/core/2022/01/07/theme-focused-changes-and-filters-in-wordpress-5-9/#adjusting-for-fixed-header-navigation
*/
}

html,
body {
  min-height: 100vh;
}

body {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  color: #111111;
  display: flex;
  flex-direction: column;
  margin: 0;
}

a {
  transition: all 0.2s ease-in-out;
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}

main {
  flex: 1;
}

svg,
img {
  max-width: 100%;
  height: auto;
  display: block;
}

p img {
  display: inline-block;
}

.text > :first-child {
  margin-top: 0;
}
.text > :last-child {
  margin-bottom: 0;
}
.text ol,
.text ul {
  line-height: inherit;
  padding-left: 20px;
}
.text li:last-child {
  margin-bottom: 0;
}

h1,
h2,
h3,
h4,
h5 {
  margin-top: 0;
}

@media (min-width: 768px) {
  .alignleft,
  img.alignleft {
    float: left;
    margin-right: 1em;
    margin-bottom: 1em;
  }
}

@media (min-width: 768px) {
  .alignright,
  img.alignright {
    float: right;
    margin-left: 1em;
    margin-bottom: 1em;
  }
}

.aligncenter,
img.aligncenter {
  margin: 1em auto;
}

/*
    Header V24

    Two-bar header with info bar on top.
    Desktop: Top bar (email, phone, social) + Main bar (logo, nav, CTA)
    Mobile: Top bar hidden, main bar only

    Structure:
    - .site-header--v24
        - .site-header__top-bar (desktop only)
            - .site-header__top-bar-left (email, phone)
            - .site-header__top-bar-right (social icons)
        - .site-header__main-bar
            - .site-header__logo
            - .site-header__right
                - .site-header__nav
                - .site-header__cta
            - .site-header__toggle (mobile)

    Figma values mapped to variables:
    - Top bar background: #6D758F → $color-primary
    - Main bar background: #F1F3F7 → $color-secondary
    - Top bar text: white → $color-white
    - Nav text: #6D758F → $color-primary
*/
.site-header--v24 {
  position: relative;
  z-index: 100;
}
.site-header--v24 .site-header__top-bar {
  display: none;
  background-color: #b41d0b;
}
@media (min-width: 992px) {
  .site-header--v24 .site-header__top-bar {
    display: block;
  }
}
.site-header--v24 .site-header__top-bar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 0;
}
.site-header--v24 .site-header__top-bar-left {
  display: flex;
  align-items: center;
  gap: 48px;
}
.site-header--v24 .site-header__contact-item {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  line-height: 22px;
  font-weight: 400;
  transition: opacity 0.2s ease;
}
.site-header--v24 .site-header__contact-item:hover {
  opacity: 0.8;
}
.site-header--v24 .site-header__contact-icon {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}
.site-header--v24 .site-header__top-bar-right {
  display: flex;
  align-items: center;
}
.site-header--v24 .site-header__social-links {
  display: flex;
  align-items: center;
  gap: 16px;
}
.site-header--v24 .site-header__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s ease;
}
.site-header--v24 .site-header__social-link:hover {
  opacity: 0.8;
}
.site-header--v24 .site-header__social-link .social-icon {
  width: 24px;
  height: 24px;
}
.site-header--v24 .site-header__social-link .social-icon rect {
  fill: #fff;
}
.site-header--v24 .site-header__social-link .social-icon path {
  fill: #b41d0b;
}
.site-header--v24 .site-header__main-bar {
  background-color: #fff;
  border-bottom: 1px solid #e0e0e0;
}
.site-header--v24 .site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
}
@media (min-width: 992px) {
  .site-header--v24 .site-header__inner {
    padding: 24px 0;
  }
}
.site-header--v24 .site-header__logo {
  flex-shrink: 0;
}
.site-header--v24 .site-header__logo a {
  display: flex;
  align-items: center;
}
.site-header--v24 .site-header__logo .site-logo {
  height: 28px;
  width: auto;
}
@media (min-width: 992px) {
  .site-header--v24 .site-header__logo .site-logo {
    height: 34px;
  }
}
.site-header--v24 .site-header__logo .site-name {
  font-size: 18px;
  font-weight: 600;
  color: #111111;
  text-decoration: none;
}
.site-header--v24 .site-header__right {
  display: none;
}
@media (min-width: 992px) {
  .site-header--v24 .site-header__right {
    display: flex;
    align-items: center;
    gap: 32px;
  }
}
.site-header--v24 .site-header__nav .nav-menu {
  display: flex;
  align-items: center;
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-header--v24 .site-header__nav .nav-menu > li {
  margin: 0;
  position: relative;
}
.site-header--v24 .site-header__nav .nav-menu > li > a {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 16px;
  line-height: 22px;
  font-weight: 400;
  color: #111111;
  text-decoration: none;
  transition: color 0.2s ease;
}
.site-header--v24 .site-header__nav .nav-menu > li > a:hover {
  color: #b41d0b;
}
.site-header--v24 .site-header__nav .nav-menu > li.menu-item-has-children > a::after {
  content: "";
  width: 15px;
  height: 15px;
  background-color: currentColor;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15' fill='none'%3E%3Cpath d='M3.5 5.5L7.5 9.5L11.5 5.5' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15' fill='none'%3E%3Cpath d='M3.5 5.5L7.5 9.5L11.5 5.5' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  transition: transform 0.2s ease;
}
.site-header--v24 .site-header__nav .nav-menu > li > .sub-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  min-width: 220px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  box-shadow: 0 1px 4px 0 rgba(25, 33, 61, 0.08);
  padding: 8px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
  list-style: none;
  margin: 0;
  z-index: 10;
}
.site-header--v24 .site-header__nav .nav-menu > li > .sub-menu li {
  margin: 0;
}
.site-header--v24 .site-header__nav .nav-menu > li > .sub-menu li a {
  display: block;
  padding: 8px 16px;
  font-size: 16px;
  line-height: 22px;
  font-weight: 400;
  color: #111111;
  text-decoration: none;
  border-radius: 6px;
  transition: background-color 0.2s ease;
}
.site-header--v24 .site-header__nav .nav-menu > li > .sub-menu li a:hover {
  background-color: #f6f9f9;
}
.site-header--v24 .site-header__nav .nav-menu > li > .sub-menu li.current-menu-item a {
  background-color: #f6f9f9;
}
.site-header--v24 .site-header__nav .nav-menu > li:hover > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(8px);
}
.site-header--v24 .site-header__cta {
  flex-shrink: 0;
}
.site-header--v24 .site-header__mobile-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
@media (min-width: 992px) {
  .site-header--v24 .site-header__mobile-actions {
    display: none;
  }
}
.site-header--v24 .site-header__mobile-actions .woo-header-elements {
  display: flex;
}
@media (min-width: 992px) {
  .site-header--v24 .site-header__mobile-actions .woo-header-elements {
    display: none;
  }
}
.site-header--v24 .site-header__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  padding: 8px;
  cursor: pointer;
  color: #111111;
  transition: color 0.2s ease;
}
.site-header--v24 .site-header__toggle:hover {
  color: #b41d0b;
}
@media (min-width: 992px) {
  .site-header--v24 .site-header__toggle {
    display: none;
  }
}
.site-header--v24 .hamburger {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 21px;
  height: 17px;
  position: relative;
}
.site-header--v24 .hamburger__line {
  display: block;
  width: 100%;
  height: 2px;
  background-color: currentColor;
  border-radius: 1px;
  transition: transform 0.25s ease, opacity 0.25s ease;
  transform-origin: center;
}
.mobile-menu-open .site-header--v24 .hamburger__line:nth-child(1) {
  transform: translateY(7.5px) rotate(45deg);
}
.mobile-menu-open .site-header--v24 .hamburger__line:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
.mobile-menu-open .site-header--v24 .hamburger__line:nth-child(3) {
  transform: translateY(-7.5px) rotate(-45deg);
}

.site-header--v24 .skip-link {
  position: absolute;
  top: -100%;
  left: 16px;
  z-index: 999;
  padding: 8px 16px;
  background-color: #111111;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  border-radius: 4px;
  transition: top 0.2s ease;
}
.site-header--v24 .skip-link:focus {
  top: 16px;
}

.site-footer--v5 {
  background-color: #fff;
  border-top: 1px solid #e0e0e0;
  padding-top: 64px;
}
.site-footer--v5 .site-footer__top {
  display: flex;
  flex-direction: column;
  gap: 48px;
  padding-bottom: 64px;
}
@media (min-width: 992px) {
  .site-footer--v5 .site-footer__top {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 64px;
  }
}
.site-footer--v5 .site-footer__brand {
  text-align: center;
}
@media (min-width: 992px) {
  .site-footer--v5 .site-footer__brand {
    text-align: left;
    flex-shrink: 0;
    max-width: 340px;
  }
}
.site-footer--v5 .site-footer__logo {
  display: inline-block;
  margin-bottom: 24px;
}
.site-footer--v5 .site-footer__logo-img {
  max-height: 36px;
  width: auto;
}
.site-footer--v5 .site-footer__description {
  color: #959a9e;
  margin-bottom: 32px;
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 992px) {
  .site-footer--v5 .site-footer__description {
    margin-left: 0;
    margin-right: 0;
  }
}
.site-footer--v5 .site-footer__newsletter-heading {
  color: #111111;
  margin-bottom: 24px;
}
.site-footer--v5 .site-footer__newsletter-form {
  text-align: left;
}
.site-footer--v5 .site-footer__newsletter-form .gform_wrapper.gform-theme--orbital[data-form-index] {
  --gf-form-gap-y: 0;
  --gf-field-pg-row-gap: 0;
  --gf-ctrl-border-radius: 8px;
  --gf-ctrl-btn-radius: 8px;
}
.site-footer--v5 .site-footer__newsletter-form .gform_wrapper.gform-theme--orbital form {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media (min-width: 992px) {
  .site-footer--v5 .site-footer__newsletter-form .gform_wrapper.gform-theme--orbital form {
    flex-direction: row;
    align-items: stretch;
  }
}
.site-footer--v5 .site-footer__newsletter-form .gform_wrapper.gform-theme--orbital .gform_body {
  flex: 1;
  margin: 0;
}
.site-footer--v5 .site-footer__newsletter-form .gform_wrapper.gform-theme--orbital .gform_fields {
  margin: 0;
}
.site-footer--v5 .site-footer__newsletter-form .gform_wrapper.gform-theme--orbital .gfield {
  margin: 0;
  padding: 0;
}
.site-footer--v5 .site-footer__newsletter-form .gform_wrapper.gform-theme--orbital .gfield_label,
.site-footer--v5 .site-footer__newsletter-form .gform_wrapper.gform-theme--orbital .gform_required_legend {
  display: none;
}
.site-footer--v5 .site-footer__newsletter-form .gform_wrapper.gform-theme--orbital input[type=email],
.site-footer--v5 .site-footer__newsletter-form .gform_wrapper.gform-theme--orbital input[type=text] {
  height: 48px;
  text-align: left;
}
.site-footer--v5 .site-footer__newsletter-form .gform_wrapper.gform-theme--orbital .gform_footer {
  padding: 0;
  margin: 0;
}
.site-footer--v5 .site-footer__newsletter-form .gform_wrapper.gform-theme--orbital .gform_footer input[type=submit].gform_button {
  width: 100% !important;
  height: 48px;
  white-space: nowrap;
}
@media (min-width: 992px) {
  .site-footer--v5 .site-footer__newsletter-form .gform_wrapper.gform-theme--orbital .gform_footer input[type=submit].gform_button {
    width: auto !important;
  }
}
.site-footer--v5 .site-footer__newsletter-form .gform_wrapper.gform-theme--orbital .gfield_validation_message,
.site-footer--v5 .site-footer__newsletter-form .gform_wrapper.gform-theme--orbital .validation_message {
  width: 100%;
}
.site-footer--v5 .site-footer__nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px 24px;
}
@media (min-width: 992px) {
  .site-footer--v5 .site-footer__nav {
    display: flex;
    gap: 48px;
  }
}
@media (min-width: 1200px) {
  .site-footer--v5 .site-footer__nav {
    gap: 64px;
  }
}
@media (min-width: 992px) {
  .site-footer--v5 .site-footer__column {
    min-width: 120px;
  }
}
.site-footer--v5 .site-footer__column-title {
  color: #111111;
  margin-bottom: 24px;
}
.site-footer--v5 .site-footer__menu {
  list-style: none;
  padding: 0;
  margin: 0;
}
.site-footer--v5 .site-footer__menu li {
  margin-bottom: 16px;
}
.site-footer--v5 .site-footer__menu li:last-child {
  margin-bottom: 0;
}
.site-footer--v5 .site-footer__menu a {
  color: #959a9e;
  text-decoration: none;
  font-size: 16px;
  line-height: 22px;
  transition: color 0.2s ease;
}
.site-footer--v5 .site-footer__menu a:hover {
  color: #b41d0b;
}
.site-footer--v5 .site-footer__ctas {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-bottom: 64px;
}
@media (min-width: 992px) {
  .site-footer--v5 .site-footer__ctas {
    flex-direction: row;
    gap: 32px;
  }
}
.site-footer--v5 .site-footer__cta {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 24px;
  border-radius: 8px;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  flex: 1;
}
.site-footer--v5 .site-footer__cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 15px 0 rgba(25, 33, 61, 0.11);
}
.site-footer--v5 .site-footer__cta:hover .site-footer__cta-arrow-box svg {
  transform: translateX(3px);
}
@media (min-width: 992px) {
  .site-footer--v5 .site-footer__cta {
    padding: 32px 24px;
  }
}
.site-footer--v5 .site-footer__cta--dark {
  background-color: #b41d0b;
  color: #fff;
}
.site-footer--v5 .site-footer__cta--dark .site-footer__cta-title {
  color: #fff;
}
.site-footer--v5 .site-footer__cta--dark .site-footer__cta-text {
  color: rgba(255, 255, 255, 0.9);
}
.site-footer--v5 .site-footer__cta--dark .site-footer__cta-arrow-box {
  background-color: #fff;
  color: #b41d0b;
}
.site-footer--v5 .site-footer__cta--light {
  background-color: #f6f9f9;
  border: 1px solid #e0e0e0;
  color: #111111;
}
.site-footer--v5 .site-footer__cta--light .site-footer__cta-title {
  color: #111111;
}
.site-footer--v5 .site-footer__cta--light .site-footer__cta-text {
  color: #959a9e;
}
.site-footer--v5 .site-footer__cta--light .site-footer__cta-arrow-box {
  background-color: #b41d0b;
  color: #fff;
}
.site-footer--v5 .site-footer__cta--primary {
  background-color: #b41d0b;
  color: #fff;
}
.site-footer--v5 .site-footer__cta--primary .site-footer__cta-title {
  color: #fff;
}
.site-footer--v5 .site-footer__cta--primary .site-footer__cta-text {
  color: rgba(255, 255, 255, 0.9);
}
.site-footer--v5 .site-footer__cta--primary .site-footer__cta-arrow-box {
  background-color: #fff;
  color: #b41d0b;
}
.site-footer--v5 .site-footer__cta--white {
  background-color: #fff;
  border: 1px solid #e0e0e0;
  color: #111111;
}
.site-footer--v5 .site-footer__cta--white .site-footer__cta-title {
  color: #111111;
}
.site-footer--v5 .site-footer__cta--white .site-footer__cta-text {
  color: #959a9e;
}
.site-footer--v5 .site-footer__cta--white .site-footer__cta-arrow-box {
  background-color: #959a9e;
  color: #fff;
}
.site-footer--v5 .site-footer__cta-icon {
  flex-shrink: 0;
}
.site-footer--v5 .site-footer__cta-icon img,
.site-footer--v5 .site-footer__cta-icon svg {
  display: block;
  width: 48px;
  height: 48px;
}
.site-footer--v5 .site-footer__cta-icon img {
  object-fit: contain;
}
.site-footer--v5 .site-footer__cta-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.site-footer--v5 .site-footer__cta-title {
  display: block;
}
.site-footer--v5 .site-footer__cta-text {
  display: block;
}
.site-footer--v5 .site-footer__cta-arrow-box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.site-footer--v5 .site-footer__cta-arrow-box svg {
  display: block;
  transition: transform 0.2s ease;
}
.site-footer--v5 .site-footer__bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding: 32px 0;
  border-top: 1px solid #e0e0e0;
}
@media (min-width: 992px) {
  .site-footer--v5 .site-footer__bottom {
    flex-direction: row;
    justify-content: space-between;
  }
}
.site-footer--v5 .site-footer__copyright {
  color: #B4B9C9;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
}
@media (min-width: 768px) {
  .site-footer--v5 .site-footer__copyright {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
    text-align: left;
  }
}
@media (min-width: 992px) {
  .site-footer--v5 .site-footer__copyright {
    justify-content: flex-start;
  }
}
.site-footer--v5 .site-footer__copyright-text {
  color: #B4B9C9;
}
.site-footer--v5 .site-footer__separator {
  color: #e0e0e0;
  margin: 0 4px;
  display: none;
}
@media (min-width: 768px) {
  .site-footer--v5 .site-footer__separator {
    display: inline;
  }
}
.site-footer--v5 .site-footer__legal-links {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}
@media (min-width: 768px) {
  .site-footer--v5 .site-footer__legal-links {
    flex-direction: row;
    gap: 0;
    margin-top: 0;
  }
}
.site-footer--v5 .site-footer__legal-item {
  display: flex;
  align-items: center;
}
.site-footer--v5 .site-footer__legal-item .site-footer__separator {
  display: none;
}
@media (min-width: 768px) {
  .site-footer--v5 .site-footer__legal-item .site-footer__separator {
    display: inline;
  }
}
.site-footer--v5 .site-footer__legal-link {
  color: #B4B9C9;
  text-decoration: none;
  transition: color 0.2s ease;
}
.site-footer--v5 .site-footer__legal-link:hover {
  color: #b41d0b;
}
.site-footer--v5 .site-footer__bronte-link {
  color: #B4B9C9;
  text-decoration: none;
  transition: color 0.2s ease;
}
.site-footer--v5 .site-footer__bronte-link:hover {
  color: #b41d0b;
}
.site-footer--v5 .site-footer__social {
  display: flex;
  gap: 16px;
  justify-content: center;
}
@media (min-width: 992px) {
  .site-footer--v5 .site-footer__social {
    justify-content: flex-end;
  }
}
.site-footer--v5 .site-footer__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #959a9e;
  transition: color 0.2s ease;
}
.site-footer--v5 .site-footer__social-link:hover {
  color: #b41d0b;
}
.site-footer--v5 .site-footer__social-link svg {
  width: 20px;
  height: 20px;
}

/*
    Site Footer Styles

    Base styles and imports for footer variants.
    Individual footer variants are stored in /parts/footers/{name}/.
*/
/**
 * Mobile Menu Styles
 *
 * Auto-generated based on active header's mobile_menu setting.
 * Run: php scripts/generate-parts-imports.php
 */
/**
 * Mobile Menu: Dropdown
 *
 * Dropdown panel that appears below the header.
 * White background, centered menu items with borders, CTAs at bottom.
 * Based on Figma design node 25-10666.
 */
body.mobile-menu-open {
  overflow: hidden;
  position: fixed;
  width: 100%;
  height: 100%;
}

.mobile-menu--dropdown {
  display: none;
  position: fixed;
  top: 70px;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 998;
}
.mobile-menu--dropdown.is-open {
  display: flex;
  flex-direction: column;
}

.mobile-menu--dropdown .mobile-menu__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.5);
}

.mobile-menu--dropdown .mobile-menu__panel {
  position: relative;
  z-index: 2;
  background-color: #fff;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 5px 15px 0 rgba(25, 33, 61, 0.11);
  max-height: calc(100vh - 70px);
  overflow-y: auto;
  width: 100%;
}

.mobile-menu--dropdown .mobile-menu__nav {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mobile-menu--dropdown .mobile-menu__nav > li {
  border-bottom: 1px solid #e0e0e0;
}
.mobile-menu--dropdown .mobile-menu__nav > li:last-child {
  border-bottom: none;
}
.mobile-menu--dropdown .mobile-menu__nav > li > a {
  display: block;
  padding: 26px 24px;
  font-size: 16px;
  font-weight: 400;
  line-height: 22px;
  color: #b41d0b;
  text-decoration: none;
  text-align: center;
  transition: background-color 0.2s ease;
}
.mobile-menu--dropdown .mobile-menu__nav > li > a:hover {
  background-color: #f6f9f9;
}
.mobile-menu--dropdown .mobile-menu__nav .menu-item-has-children > a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.mobile-menu--dropdown .mobile-menu__nav .menu-item-has-children > a::after {
  content: "";
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  background-color: currentColor;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M15.5 12.9612L10 7.03809L4.5 12.9612' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M15.5 12.9612L10 7.03809L4.5 12.9612' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  transform: rotate(180deg);
  transition: transform 0.2s ease;
}
.mobile-menu--dropdown .mobile-menu__nav .menu-item-has-children.is-expanded > a {
  background-color: #59595c;
  color: #fff;
  font-weight: 600;
}
.mobile-menu--dropdown .mobile-menu__nav .menu-item-has-children.is-expanded > a::after {
  transform: rotate(0deg);
}
.mobile-menu--dropdown .mobile-menu__nav .sub-menu {
  display: none;
  list-style: none;
  margin: 0;
  padding: 16px;
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-top: none;
  box-shadow: 0 1px 4px 0 rgba(25, 33, 61, 0.08);
}
.mobile-menu--dropdown .mobile-menu__nav .sub-menu li a {
  display: block;
  padding: 20px 24px;
  font-size: 16px;
  font-weight: 400;
  line-height: 22px;
  color: #b41d0b;
  text-decoration: none;
  text-align: center;
  border-radius: 6px;
  transition: background-color 0.2s ease;
}
.mobile-menu--dropdown .mobile-menu__nav .sub-menu li a:hover {
  background-color: #f6f9f9;
}

.mobile-menu--dropdown .mobile-menu__cta {
  padding: 24px 24px 48px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.mobile-menu--dropdown .mobile-menu__cta .btn {
  padding: 18px 22px;
}
.mobile-menu--dropdown .mobile-menu__cta .btn--secondary.btn--outline {
  background-color: rgba(89, 89, 92, 0.5);
  border-color: #e0e0e0;
  color: #b41d0b;
}

/**
 * Hero Styles
 *
 * Auto-generated from config/heroes.php
 * Run: php scripts/generate-parts-imports.php
 */
.hero--text-image-basic {
  padding: 48px 0;
  background-color: #fff;
}
@media (min-width: 992px) {
  .hero--text-image-basic {
    padding: 80px 0;
  }
}
.hero--text-image-basic .hero__grid {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
@media (min-width: 992px) {
  .hero--text-image-basic .hero__grid {
    flex-direction: row;
    align-items: center;
    gap: 32px;
  }
}
.hero--text-image-basic .hero__content {
  text-align: center;
}
@media (min-width: 992px) {
  .hero--text-image-basic .hero__content {
    text-align: left;
    flex: 0 0 50%;
    max-width: 50%;
  }
}
.hero--text-image-basic .hero__subtitle {
  color: #111111;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 24px;
}
.hero--text-image-basic .hero__title {
  color: #b41d0b;
  margin-bottom: 24px;
}
.hero--text-image-basic .hero__text {
  color: #111111;
  margin-bottom: 32px;
}
.hero--text-image-basic .hero__buttons {
  justify-content: center;
}
@media (min-width: 992px) {
  .hero--text-image-basic .hero__buttons {
    justify-content: flex-start;
  }
}
.hero--text-image-basic .hero__image-wrapper {
  border-radius: 8px;
  overflow: hidden;
  height: 400px;
}
@media (min-width: 992px) {
  .hero--text-image-basic .hero__image-wrapper {
    flex: 0 0 50%;
    max-width: 50%;
    height: 450px;
  }
}
.hero--text-image-basic .hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 992px) {
  .hero--text-image-basic.hero--image-left .hero__grid {
    flex-direction: row-reverse;
  }
}

.hero--large-image-divider {
  background-color: #fff;
}
.hero--large-image-divider .hero__top {
  padding: 64px 0 48px;
}
.hero--large-image-divider .hero__top-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  text-align: center;
}
.hero--large-image-divider .hero__text-content {
  max-width: 600px;
}
.hero--large-image-divider .hero__title {
  color: #b41d0b;
  margin: 0 0 24px;
}
.hero--large-image-divider .hero__text {
  color: #111111;
  margin: 0;
}
.hero--large-image-divider .hero__buttons {
  flex-shrink: 0;
}
.hero--large-image-divider .hero__image-wrapper {
  width: 100%;
  overflow: hidden;
  height: 496px;
}
@media (min-width: 992px) {
  .hero--large-image-divider .hero__image-wrapper {
    height: 532px;
  }
}
.hero--large-image-divider .hero__image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

@media (min-width: 992px) {
  .hero--layout-split .hero__top-inner {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    text-align: left;
  }
}
@media (min-width: 992px) {
  .hero--layout-split .hero__text-content {
    max-width: 540px;
  }
}
@media (min-width: 992px) {
  .hero--layout-split .hero__text {
    max-width: 460px;
  }
}

@media (min-width: 992px) {
  .hero--layout-center .hero__top-inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}
@media (min-width: 992px) {
  .hero--layout-center .hero__text-content {
    max-width: 700px;
  }
}
@media (min-width: 992px) {
  .hero--layout-center .hero__text {
    max-width: 600px;
  }
}

@media (min-width: 992px) {
  .hero--layout-left .hero__top-inner {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }
}
@media (min-width: 992px) {
  .hero--layout-left .hero__text-content {
    max-width: 540px;
  }
}
@media (min-width: 992px) {
  .hero--layout-left .hero__text {
    max-width: 460px;
  }
}

.hero--full-width-slider {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.hero--full-width-slider .hero__slides {
  position: relative;
  width: 100%;
}
.hero--full-width-slider .hero__slide {
  position: relative;
  min-height: 400px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  padding: 32px 0 64px;
}
@media (min-width: 992px) {
  .hero--full-width-slider .hero__slide {
    height: 750px;
    min-height: auto;
    align-items: center;
    padding: 0;
  }
}
.hero--full-width-slider .hero__background {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.hero--full-width-slider .hero__background picture {
  display: block;
  width: 100%;
  height: 100%;
}
.hero--full-width-slider .hero__bg-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--focal-point, center) center;
}
.hero--full-width-slider .hero__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 1;
}
.hero--full-width-slider .hero__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  object-fit: cover;
}
.hero--full-width-slider .hero__video[src*=youtube], .hero--full-width-slider .hero__video[src*=vimeo] {
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
}
@supports (aspect-ratio: 16/9) {
  .hero--full-width-slider .hero__video[src*=youtube], .hero--full-width-slider .hero__video[src*=vimeo] {
    width: max(100%, 177.78vh);
    height: max(100%, 56.25vw);
  }
}
@media (max-width: 767px) {
  .hero--full-width-slider .hero__video {
    display: none;
  }
}
.hero--full-width-slider .hero__content-wrapper {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 48px 0;
  display: flex;
  align-items: flex-start;
}
@media (min-width: 992px) {
  .hero--full-width-slider .hero__content-wrapper {
    height: 100%;
    padding: 96px 0;
    align-items: center;
  }
}
.hero--full-width-slider .hero__content {
  max-width: 800px;
}
.hero--full-width-slider .hero__subtitle {
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.hero--full-width-slider .hero__title {
  margin-bottom: 16px;
}
@media (min-width: 992px) {
  .hero--full-width-slider .hero__title {
    margin-bottom: 24px;
  }
}
.hero--full-width-slider .hero__text {
  margin-bottom: 24px;
  max-width: 600px;
}
@media (min-width: 992px) {
  .hero--full-width-slider .hero__text {
    margin-bottom: 32px;
  }
}
.hero--full-width-slider .hero__buttons {
  margin-top: 24px;
}
@keyframes heroFadeUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.hero--full-width-slider .tns-item .hero__subtitle,
.hero--full-width-slider .tns-item .hero__title,
.hero--full-width-slider .tns-item .hero__text,
.hero--full-width-slider .tns-item .hero__buttons {
  opacity: 0;
}
.hero--full-width-slider .tns-item.tns-slide-active .hero__subtitle {
  animation: heroFadeUp 0.6s ease-out forwards;
  animation-delay: 0.1s;
}
.hero--full-width-slider .tns-item.tns-slide-active .hero__title {
  animation: heroFadeUp 0.6s ease-out forwards;
  animation-delay: 0.2s;
}
.hero--full-width-slider .tns-item.tns-slide-active .hero__text {
  animation: heroFadeUp 0.6s ease-out forwards;
  animation-delay: 0.3s;
}
.hero--full-width-slider .tns-item.tns-slide-active .hero__buttons {
  animation: heroFadeUp 0.6s ease-out forwards;
  animation-delay: 0.4s;
}
.hero--full-width-slider .hero__slide:first-child .hero__subtitle,
.hero--full-width-slider .hero__slide:first-child .hero__title,
.hero--full-width-slider .hero__slide:first-child .hero__text,
.hero--full-width-slider .hero__slide:first-child .hero__buttons {
  opacity: 1;
  animation: heroFadeUp 0.6s ease-out forwards;
}
.hero--full-width-slider .hero__slide:first-child .hero__subtitle {
  animation-delay: 0.1s;
}
.hero--full-width-slider .hero__slide:first-child .hero__title {
  animation-delay: 0.2s;
}
.hero--full-width-slider .hero__slide:first-child .hero__text {
  animation-delay: 0.3s;
}
.hero--full-width-slider .hero__slide:first-child .hero__buttons {
  animation-delay: 0.4s;
}
.hero--full-width-slider .hero__slide--light {
  color: #fff;
}
.hero--full-width-slider .hero__slide--light .hero__subtitle,
.hero--full-width-slider .hero__slide--light .hero__title,
.hero--full-width-slider .hero__slide--light .hero__text {
  color: #fff;
}
.hero--full-width-slider .hero__slide--light .hero__overlay {
  background-color: rgba(0, 0, 0, 0.45);
}
.hero--full-width-slider .hero__slide--dark {
  color: #111111;
}
.hero--full-width-slider .hero__slide--dark .hero__subtitle,
.hero--full-width-slider .hero__slide--dark .hero__title,
.hero--full-width-slider .hero__slide--dark .hero__text {
  color: #111111;
}
.hero--full-width-slider .hero__slide--dark .hero__overlay {
  background-color: rgba(255, 255, 255, 0.3);
}
.hero--full-width-slider .hero__slide--center {
  text-align: center;
}
.hero--full-width-slider .hero__slide--center .hero__content {
  margin: 0 auto;
}
.hero--full-width-slider .hero__slide--center .hero__text {
  margin-left: auto;
  margin-right: auto;
}
.hero--full-width-slider .hero__slide--center .hero__buttons {
  justify-content: center;
}
.hero--full-width-slider .hero__slide--left {
  text-align: center;
}
.hero--full-width-slider .hero__slide--left .hero__content {
  margin: 0 auto;
}
.hero--full-width-slider .hero__slide--left .hero__text {
  margin-left: auto;
  margin-right: auto;
}
.hero--full-width-slider .hero__slide--left .hero__buttons {
  justify-content: center;
}
@media (min-width: 992px) {
  .hero--full-width-slider .hero__slide--left {
    text-align: left;
  }
  .hero--full-width-slider .hero__slide--left .hero__content {
    margin: 0;
    max-width: 650px;
  }
  .hero--full-width-slider .hero__slide--left .hero__text {
    margin-left: 0;
    margin-right: 0;
  }
  .hero--full-width-slider .hero__slide--left .hero__buttons {
    justify-content: flex-start;
  }
}
.hero--full-width-slider .tns-nav {
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  display: flex;
  gap: 8px;
}
.hero--full-width-slider .tns-nav button {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.5);
  border: none;
  padding: 0;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.hero--full-width-slider .tns-nav button:hover {
  background-color: rgba(255, 255, 255, 0.8);
}
.hero--full-width-slider .tns-nav button.tns-nav-active {
  background-color: #fff;
  transform: scale(1.2);
}
@media (min-width: 992px) {
  .hero--full-width-slider .tns-nav {
    bottom: 48px;
  }
  .hero--full-width-slider .tns-nav button {
    width: 14px;
    height: 14px;
  }
}
.hero--full-width-slider .tns-controls {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  right: 0;
  z-index: 10;
  display: flex;
  justify-content: space-between;
  padding: 0 16px;
  pointer-events: none;
}
@media (min-width: 992px) {
  .hero--full-width-slider .tns-controls {
    padding: 0 32px;
  }
}
.hero--full-width-slider .tns-controls button {
  width: 45px;
  height: 45px;
  border-radius: 8px;
  background-color: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.4);
  cursor: pointer;
  pointer-events: auto;
  position: relative;
  transition: background-color 0.2s ease, border-color 0.2s ease;
  font-size: 0;
  line-height: 0;
  color: transparent;
}
.hero--full-width-slider .tns-controls button:hover {
  background-color: rgba(255, 255, 255, 0.3);
  border-color: rgba(255, 255, 255, 0.6);
}
.hero--full-width-slider .tns-controls button:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.hero--full-width-slider .tns-controls button::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 15px;
  height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='14' viewBox='0 0 15 14' fill='none'%3E%3Cpath d='M6.87646 0.75L13.3495 6.92881L6.87646 13.1076' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M13.3499 6.92871L0.75 6.92871' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.hero--full-width-slider .tns-controls button[data-controls=prev]::after {
  transform: translate(-50%, -50%) rotate(180deg);
}
@media (max-width: 767px) {
  .hero--full-width-slider .tns-controls {
    display: none;
  }
}
.hero--full-width-slider[data-single-slide=true] .tns-nav,
.hero--full-width-slider[data-single-slide=true] .tns-controls {
  display: none;
}

.hero--simple {
  background-color: #fff;
}
.hero--simple .hero__top {
  padding: 64px 0 48px;
}
.hero--simple .hero__top-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  text-align: center;
}
.hero--simple .hero__text-content {
  max-width: 600px;
}
.hero--simple .hero__title {
  color: #b41d0b;
  margin: 0 0 24px;
}
.hero--simple .hero__text {
  color: #111111;
  margin: 0;
}
.hero--simple .hero__buttons {
  flex-shrink: 0;
}

@media (min-width: 992px) {
  .hero--simple.hero--layout-split .hero__top-inner {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    text-align: left;
  }
}
@media (min-width: 992px) {
  .hero--simple.hero--layout-split .hero__text-content {
    max-width: 540px;
  }
}
@media (min-width: 992px) {
  .hero--simple.hero--layout-split .hero__text {
    max-width: 460px;
  }
}

@media (min-width: 992px) {
  .hero--simple.hero--layout-center .hero__top-inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}
@media (min-width: 992px) {
  .hero--simple.hero--layout-center .hero__text-content {
    max-width: 700px;
  }
}
@media (min-width: 992px) {
  .hero--simple.hero--layout-center .hero__text {
    max-width: 600px;
  }
}

@media (min-width: 992px) {
  .hero--simple.hero--layout-left .hero__top-inner {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }
}
@media (min-width: 992px) {
  .hero--simple.hero--layout-left .hero__text-content {
    max-width: 540px;
  }
}
@media (min-width: 992px) {
  .hero--simple.hero--layout-left .hero__text {
    max-width: 460px;
  }
}

.hero--simple.hero--no-buttons .hero__text-content {
  max-width: 100%;
}
@media (min-width: 992px) {
  .hero--simple.hero--no-buttons .hero__text-content {
    max-width: 100%;
  }
}
@media (min-width: 992px) {
  .hero--simple.hero--no-buttons .hero__text {
    max-width: 800px;
  }
}
@media (min-width: 992px) {
  .hero--simple.hero--no-buttons.hero--layout-split .hero__top-inner {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }
}
@media (min-width: 992px) {
  .hero--simple.hero--no-buttons.hero--layout-center .hero__text {
    max-width: 800px;
  }
}

/**
 * Gravity Forms - Orbital Theme Overrides
 *
 * Styles for GF 2.9+ Orbital theme.
 * Uses CSS custom properties to override Orbital defaults.
 *
 * Structure:
 *   1. CSS Custom Properties (theme-wide overrides)
 *   2. Direct Style Overrides (elements Orbital doesn't fully control)
 *   3. Validation & Error States
 *   4. Honeypot Field (spam protection)
 */
.gform_wrapper.gform-theme--orbital[data-form-index] {
  --gf-color-primary: #b41d0b;
  --gf-ctrl-choice-check-color: #b41d0b;
  --gf-color-primary-rgb: 48, 181, 94;
  --gf-ctrl-label-font-family-primary: Inter, Helvetica, Arial, sans-serif;
  --gf-ctrl-label-font-size-primary: 14px;
  --gf-ctrl-label-font-weight-primary: 600;
  --gf-ctrl-label-color-primary: #111111;
  --gf-ctrl-font-family: Inter, Helvetica, Arial, sans-serif;
  --gf-ctrl-font-size: 16px;
  --gf-ctrl-line-height: 1.5;
  --gf-ctrl-color: #111111;
  --gf-ctrl-color-placeholder: #959a9e;
  --gf-ctrl-bg-color: #fff;
  --gf-ctrl-border-color: #e0e0e0;
  --gf-ctrl-border-width: 1px;
  --gf-ctrl-border-radius: 4px;
  --gf-ctrl-padding-x: 16px;
  --gf-ctrl-padding-y: 8px;
  --gf-ctrl-border-color-focus: #b41d0b;
  --gf-ctrl-focus-ring-color: rgba(48, 181, 94, 0.2);
  --gf-ctrl-select-color: #111111;
  --gf-ctrl-choice-label-color: #111111;
  --gf-ctrl-btn-bg-color-primary: #b41d0b;
  --gf-ctrl-btn-bg-color-hover-primary: #8a1608;
  --gf-ctrl-btn-color-primary: #fff;
  --gf-ctrl-btn-color-hover-primary: #fff;
  --gf-ctrl-btn-border-color-primary: #b41d0b;
  --gf-ctrl-btn-border-color-hover-primary: #8a1608;
  --gf-ctrl-btn-radius: 6px;
  --gf-ctrl-btn-font-family: Inter, Helvetica, Arial, sans-serif;
  --gf-ctrl-btn-font-size: 14px;
  --gf-ctrl-btn-font-weight: 600;
  --gf-ctrl-btn-padding-x: 18px;
  --gf-ctrl-btn-padding-y: 14px;
  --gf-ctrl-btn-shadow: 0 1px 4px 0 rgba(25, 33, 61, 0.08);
  --gf-field-pg-row-gap: 24px;
  --gf-form-gap-y: 24px;
}

.gform_wrapper.gform-theme--orbital {
  font-family: "Inter", Helvetica, Arial, sans-serif;
}
.gform_wrapper.gform-theme--orbital .gform_required_legend {
  display: none;
}
.gform_wrapper.gform-theme--orbital .gfield_required {
  color: inherit;
}
.gform_wrapper.gform-theme--orbital textarea {
  min-height: 120px;
  resize: vertical;
}
.gform_wrapper.gform-theme--orbital input[type=file] {
  padding: 0;
}
.gform_wrapper.gform-theme--orbital input[type=file]::file-selector-button {
  padding: 8px 16px;
  margin-right: 16px;
}
.gform_wrapper.gform-theme--orbital .gform_footer,
.gform_wrapper.gform-theme--orbital .gform_page_footer {
  margin-top: 24px;
  padding: 0;
}
.gform_wrapper.gform-theme--orbital .gform_footer input[type=submit].gform_button {
  width: 100% !important;
}
@media (min-width: 768px) {
  .gform_wrapper.gform-theme--orbital .gform_footer input[type=submit].gform_button {
    width: auto !important;
  }
}

.gform_wrapper.gform-theme--orbital .gfield_validation_message,
.gform_wrapper.gform-theme--orbital .validation_message {
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.5;
  color: #dc3545;
}
.gform_wrapper.gform-theme--orbital .gfield_error input,
.gform_wrapper.gform-theme--orbital .gfield_error select,
.gform_wrapper.gform-theme--orbital .gfield_error textarea {
  border-color: #dc3545;
}
.gform_wrapper.gform-theme--orbital .gform_submission_error {
  margin-bottom: 0;
  padding: 16px;
  font-size: 14px;
  color: #dc3545;
  background-color: rgba(220, 53, 69, 0.1);
  border-radius: 4px;
}
.gform_wrapper.gform-theme--orbital .gform_confirmation_message {
  padding: 24px;
  font-size: 16px;
  line-height: 1.5;
  color: #28a745;
  background-color: rgba(40, 167, 69, 0.1);
  border-radius: 4px;
}

.gform_wrapper .gform_validation_container {
  display: none !important;
  position: absolute !important;
  left: -9999px !important;
}

.hidden_label .gfield_label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/*
    404 Page Styles

    Centered, friendly 404 page with optional image,
    search form, and suggested links.

    All content is customizable via Theme Options > 404 Page.
*/
.section-404 {
  padding: 96px 0;
  min-height: 60vh;
  display: flex;
  align-items: center;
  background-color: #f6f9f9;
}
@media (min-width: 992px) {
  .section-404 {
    min-height: 70vh;
  }
}
.section-404 .section-404__image-wrapper {
  margin-bottom: 32px;
}
.section-404 .section-404__image {
  max-width: 280px;
  height: auto;
  margin: 0 auto;
  display: block;
}
@media (min-width: 992px) {
  .section-404 .section-404__image {
    max-width: 360px;
  }
}
.section-404 .section-404__subtitle {
  display: block;
  margin-bottom: 16px;
  letter-spacing: 0.1em;
}
.section-404 .section-404__title {
  margin-bottom: 24px;
  color: #111111;
}
.section-404 .section-404__message {
  max-width: 480px;
  margin: 0 auto 32px;
}
.section-404 .section-404__cta {
  margin-bottom: 48px;
}
.section-404 .section-404__search {
  max-width: 400px;
  margin: 0 auto 32px;
}
.section-404 .section-404__search .search-form__wrapper {
  display: flex;
  gap: 8px;
}
.section-404 .section-404__search .search-form__input {
  flex: 1;
  padding: 14px 16px;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  background-color: #fff;
  transition: border-color 0.2s ease;
}
.section-404 .section-404__search .search-form__input:focus {
  outline: none;
  border-color: #b41d0b;
}
.section-404 .section-404__search .search-form__input::placeholder {
  color: #959a9e;
}
.section-404 .section-404__search .search-form__button {
  flex-shrink: 0;
}
.section-404 .section-404__links {
  margin-top: 32px;
  padding-top: 32px;
  border-top: 1px solid #e0e0e0;
}
.section-404 .section-404__links-heading {
  margin-bottom: 16px;
  color: #111111;
}
.section-404 .section-404__links-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 24px;
}
.section-404 .section-404__links-list a {
  color: #b41d0b;
  text-decoration: none;
  font-size: 14px;
  transition: color 0.2s ease;
}
.section-404 .section-404__links-list a:hover {
  color: #8a1608;
  text-decoration: underline;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/*
    Components Manifest

    Import reusable UI components here (alphabetical order).
    Components are standalone patterns used across multiple sections.

    Examples: blog-card, team-card, testimonial-card, accordion

    Creating a new component:
        1. Create css/components/_my-component.scss
        2. Add @use 'my-component'; below
        3. Use .my-component class in templates

    Component structure:
        .my-component {
            .image { }
            .title { }
            .content { }
        }
*/
/*
    Notification Bar Component

    Dismissible alert bar that displays at the top of every page.
    Supports primary, secondary, and alert (red) colour variants.

    z-index set lower than mobile menu so it stays below when menu is open.
*/
.notification-bar {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 32px;
  padding-right: 60px;
  background-color: #b41d0b;
  z-index: 99;
}
.notification-bar.is-hidden {
  display: none;
}
.notification-bar--primary {
  background-color: #b41d0b;
}
.notification-bar--secondary {
  background-color: #59595c;
}
.notification-bar--secondary .notification-bar__text,
.notification-bar--secondary .notification-bar__link,
.notification-bar--secondary .notification-bar__close {
  color: #111111;
}
.notification-bar--alert {
  background-color: #C53030;
}
.notification-bar .notification-bar__content {
  flex: 1;
  text-align: center;
}
.notification-bar .notification-bar__text {
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: #fff;
}
.notification-bar .notification-bar__link {
  display: block;
  color: #fff;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}
.notification-bar .notification-bar__link:hover {
  text-decoration: underline;
}
.notification-bar .notification-bar__close {
  position: absolute;
  right: 25px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0;
  background: transparent;
  border: none;
  color: #fff;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.notification-bar .notification-bar__close:hover {
  opacity: 0.7;
}
.notification-bar .notification-bar__close svg {
  width: 20px;
  height: 20px;
}
@media (max-width: 767px) {
  .notification-bar {
    padding: 24px 35px;
    padding-right: 70px;
    justify-content: flex-start;
  }
  .notification-bar .notification-bar__content {
    text-align: left;
  }
  .notification-bar .notification-bar__text {
    font-size: 12px;
    line-height: 18px;
  }
  .notification-bar .notification-bar__close {
    right: 35px;
  }
}

/*
 * Back to Top Button
 *
 * Floating button that appears after scrolling down.
 * Smooth scroll to top on click.
 */
.back-to-top {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  background-color: #b41d0b;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 5px 15px 0 rgba(25, 33, 61, 0.11);
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, background-color 0.2s ease;
}
.back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.back-to-top:hover {
  background-color: #8a1608;
}
.back-to-top:hover .back-to-top__icon {
  transform: rotate(-90deg) translateX(2px);
}
.back-to-top:focus {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}
.back-to-top:focus:not(:focus-visible) {
  outline: none;
}
.back-to-top:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}
@media (max-width: 768px) {
  .back-to-top {
    width: 44px;
    height: 44px;
    bottom: 16px;
    right: 16px;
  }
}

.back-to-top__icon {
  width: 14px;
  height: 14px;
  color: #fff;
  transform: rotate(-90deg);
  transition: transform 0.2s ease;
}

.hero__breadcrumbs {
  margin-bottom: 16px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.hero__breadcrumbs .rank-math-breadcrumb {
  margin: 0;
  padding: 0;
}
.hero__breadcrumbs a {
  color: inherit;
  text-decoration: none;
  opacity: 0.7;
  transition: opacity 0.2s ease;
}
.hero__breadcrumbs a:hover {
  opacity: 1;
  text-decoration: underline;
}
.hero__breadcrumbs .last {
  opacity: 1;
}
.hero__breadcrumbs .separator {
  display: inline-block;
  margin: 0 8px;
  opacity: 0.5;
}

.point-card {
  display: flex;
  flex-direction: column;
}
.point-card .point-card__icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  margin-bottom: 16px;
}
.point-card .point-card__icon-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.point-card .point-card__content {
  flex: 1;
}
.point-card .point-card__title {
  margin-bottom: 8px;
  color: #111111;
}
.point-card .point-card__description {
  color: #959a9e;
  margin-bottom: 0;
}
.point-card .point-card__link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 16px;
  color: #b41d0b;
  text-decoration: none;
  transition: gap 0.2s ease;
}
.point-card .point-card__link:hover {
  gap: 8px;
}
.point-card .point-card__link-arrow {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.point-card .point-card__button {
  margin-top: 24px;
}
.point-card--horizontal {
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
}
.point-card--horizontal .point-card__icon {
  margin-bottom: 0;
}

.bg-dark .point-card .point-card__title,
.bg-primary .point-card .point-card__title {
  color: #fff;
}
.bg-dark .point-card .point-card__description,
.bg-primary .point-card .point-card__description {
  color: rgba(255, 255, 255, 0.8);
}
.bg-dark .point-card .point-card__link,
.bg-primary .point-card .point-card__link {
  color: #fff;
}

.content-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 4px 0 rgba(25, 33, 61, 0.08);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.content-card:hover {
  box-shadow: 0 5px 15px 0 rgba(25, 33, 61, 0.11);
  transform: translateY(-2px);
}
.content-card:hover .content-card__cta--link {
  gap: 8px;
}
.content-card:hover .content-card__arrow {
  transform: translateX(3px);
}
.content-card .content-card__link-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.content-card .content-card__image-wrapper {
  position: relative;
  overflow: hidden;
}
.content-card .content-card__image {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}
.content-card .content-card__badge {
  position: absolute;
  top: 16px;
  left: 16px;
  padding: 4px 8px;
  background-color: #fff;
  color: #111111;
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
  border-radius: 4px;
  z-index: 2;
}
.content-card .content-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 24px;
}
.content-card .content-card__date {
  color: #959a9e;
  margin-bottom: 8px;
}
.content-card .content-card__title {
  color: #111111;
  margin-bottom: 8px;
}
.content-card .content-card__excerpt {
  color: #959a9e;
  margin-bottom: 0;
  flex: 1;
}
.content-card .content-card__cta {
  margin-top: 16px;
  position: relative;
  z-index: 2;
  pointer-events: none;
}
.content-card .content-card__cta--link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #b41d0b;
  text-decoration: none;
  transition: gap 0.2s ease;
}
.content-card .content-card__arrow {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.content-card--large .content-card__image-wrapper {
  aspect-ratio: 16/10;
}
.content-card--large .content-card__image {
  height: 100%;
}
.content-card--large .content-card__body {
  padding: 32px;
}
.content-card--medium .content-card__image-wrapper {
  aspect-ratio: 16/9;
}
.content-card--medium .content-card__image {
  height: 100%;
}
.content-card--small .content-card__image-wrapper {
  aspect-ratio: 16/9;
}
.content-card--small .content-card__image {
  height: 100%;
}

@media (max-width: 767px) {
  .content-card .content-card__body {
    padding: 16px;
  }
  .content-card--large .content-card__body {
    padding: 24px;
  }
}
.section-header {
  margin-bottom: 48px;
}
@media (min-width: 992px) {
  .section-header {
    margin-bottom: 64px;
  }
}
.section-header .section-header__content {
  max-width: 700px;
}
.section-header .section-header__subtitle {
  display: block;
  margin-bottom: 8px;
}
.section-header .section-header__title {
  margin-bottom: 16px;
}
.section-header .section-header__text {
  color: #959a9e;
  margin: 0;
}
.section-header .section-header__buttons {
  margin-top: 32px;
}
@media (max-width: 767px) {
  .section-header .section-header__buttons .btn {
    width: 100%;
  }
  .section-header .section-header__buttons .btn-group {
    flex-direction: column;
    width: 100%;
  }
}
.section-header--left {
  text-align: left;
}
.section-header--left .section-header__content {
  max-width: 700px;
}
.section-header--center {
  text-align: center;
}
.section-header--center .section-header__content {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}
.section-header--center .section-header__buttons {
  justify-content: center;
}
.section-header--split {
  text-align: center;
}
.section-header--split .section-header__content {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}
.section-header--split .section-header__buttons {
  justify-content: center;
}
@media (min-width: 992px) {
  .section-header--split {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    gap: 48px;
    text-align: left;
  }
  .section-header--split .section-header__content {
    flex: 1;
    margin-left: 0;
    margin-right: 0;
  }
  .section-header--split .section-header__buttons {
    margin-top: 0;
    flex-shrink: 0;
    justify-content: flex-end;
  }
}
.section-header--on-dark .section-header__title {
  color: #fff;
}
.section-header--on-dark .section-header__subtitle {
  color: rgba(255, 255, 255, 0.8);
}
.section-header--on-dark .section-header__text {
  color: rgba(255, 255, 255, 0.8);
}

.section-simple-cta {
  padding: 64px 0;
}
.container .section-simple-cta {
  padding: 64px 64px;
  border-radius: 8px;
  overflow: hidden;
}
.section-simple-cta .simple-cta-inner {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
.section-simple-cta .simple-cta-content {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.section-simple-cta .heading {
  margin: 0;
  max-width: 360px;
  font-size: 36px;
  line-height: 40px;
}
@media (min-width: 992px) {
  .section-simple-cta .heading {
    max-width: 440px;
    font-size: 30px;
    line-height: 36px;
  }
}
.section-simple-cta .text {
  margin: 0;
  max-width: 480px;
  opacity: 0.9;
}
.section-simple-cta .btn-group {
  width: 100%;
}
@media (min-width: 992px) {
  .section-simple-cta .btn-group {
    width: auto;
    flex-shrink: 0;
  }
}
.section-simple-cta.layout-left .simple-cta-inner {
  align-items: flex-start;
  text-align: left;
}
.section-simple-cta.layout-left .simple-cta-content {
  align-items: flex-start;
}
@media (min-width: 992px) {
  .section-simple-cta.layout-left .btn-group {
    width: auto;
  }
}
.section-simple-cta.layout-center .simple-cta-inner {
  align-items: center;
  text-align: center;
}
.section-simple-cta.layout-center .simple-cta-content {
  align-items: center;
}
.section-simple-cta.layout-center .heading,
.section-simple-cta.layout-center .text {
  text-align: center;
}
.section-simple-cta.layout-center .btn-group {
  justify-content: center;
}
@media (min-width: 992px) {
  .section-simple-cta.layout-center .btn-group {
    width: auto;
  }
}
.section-simple-cta.layout-split .simple-cta-inner {
  align-items: center;
  text-align: center;
}
.section-simple-cta.layout-split .simple-cta-content {
  align-items: center;
}
.section-simple-cta.layout-split .heading,
.section-simple-cta.layout-split .text {
  text-align: center;
}
.section-simple-cta.layout-split .btn-group {
  justify-content: center;
}
@media (min-width: 992px) {
  .section-simple-cta.layout-split .simple-cta-inner {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    gap: 16px;
  }
  .section-simple-cta.layout-split .simple-cta-content {
    align-items: flex-start;
  }
  .section-simple-cta.layout-split .heading,
  .section-simple-cta.layout-split .text {
    text-align: left;
  }
  .section-simple-cta.layout-split .btn-group {
    width: auto;
    justify-content: flex-start;
  }
}
.section-simple-cta.bg-white .heading,
.section-simple-cta.bg-white .text, .section-simple-cta.bg-light .heading,
.section-simple-cta.bg-light .text {
  color: #111111;
}
.section-simple-cta.bg-dark .heading,
.section-simple-cta.bg-dark .text, .section-simple-cta.bg-primary .heading,
.section-simple-cta.bg-primary .text {
  color: #fff;
}
.section-simple-cta.has-bg-image {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.section-simple-cta.has-bg-image.has-overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(17, 17, 17, 0.5);
  z-index: 1;
}
.section-simple-cta.has-bg-image .simple-cta-inner,
.section-simple-cta.has-bg-image > .container {
  position: relative;
  z-index: 2;
}
.section-simple-cta.has-bg-image.text-light .heading,
.section-simple-cta.has-bg-image.text-light .text {
  color: #fff;
}
.section-simple-cta.has-bg-image.text-dark .heading,
.section-simple-cta.has-bg-image.text-dark .text {
  color: #111111;
}

.section-faq .section-header {
  text-align: center;
  margin-bottom: 32px;
}
@media (min-width: 992px) {
  .section-faq .section-header {
    margin-bottom: 48px;
  }
}
.section-faq .section-title {
  color: #b41d0b;
  margin-bottom: 8px;
}
.section-faq .section-subtitle {
  color: #959a9e;
  max-width: 418px;
  margin-left: auto;
  margin-right: auto;
}
.section-faq .faq-accordion {
  max-width: 584px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.section-faq .faq-accordion.columns-2 {
  max-width: 100%;
}
@media (min-width: 992px) {
  .section-faq .faq-accordion.columns-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    align-items: start;
  }
}
.section-faq .faq-item {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  box-shadow: 0 0.5px 2px 0 rgba(25, 33, 61, 0.11);
  overflow: hidden;
  transition: all 0.2s ease-in-out;
}
.section-faq .faq-item.is-open {
  border-color: #B4B9C9;
  box-shadow: 0 1px 4px 0 rgba(78, 159, 255, 0.2);
}
.section-faq .faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 16px 16px 24px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: all 0.2s ease-in-out;
}
.section-faq .faq-question:hover {
  background: rgba(246, 249, 249, 0.5);
}
.section-faq .faq-question:focus {
  outline: 2px solid #b41d0b;
  outline-offset: -2px;
}
.section-faq .faq-question:focus:not(:focus-visible) {
  outline: none;
}
.section-faq .faq-question:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: -2px;
}
.section-faq .faq-question-text {
  font-size: 16px;
  font-weight: 600;
  color: #111111;
  line-height: 1.4;
}
.section-faq .faq-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  color: #b41d0b;
}
.section-faq .faq-icon .icon-plus,
.section-faq .faq-icon .icon-close {
  transition: all 0.2s ease-in-out;
}
.section-faq .faq-icon .icon-plus {
  display: block;
}
.section-faq .faq-icon .icon-close {
  display: none;
}
.section-faq .faq-item.is-open .faq-icon .icon-plus {
  display: none;
}
.section-faq .faq-item.is-open .faq-icon .icon-close {
  display: block;
}
.section-faq .faq-answer {
  overflow: hidden;
}
.section-faq .faq-answer-content {
  padding: 0 24px 16px;
  font-size: 12px;
  line-height: 1.6;
  color: #111111;
}
.section-faq .faq-answer-content > *:first-child {
  margin-top: 0;
}
.section-faq .faq-answer-content > *:last-child {
  margin-bottom: 0;
}
.section-faq .faq-answer-content p {
  margin-bottom: 8px;
}
.section-faq .faq-answer-content ul, .section-faq .faq-answer-content ol {
  margin-bottom: 8px;
  padding-left: 24px;
}
.section-faq .faq-answer-content li {
  margin-bottom: 4px;
}
.section-faq .faq-answer-content a {
  color: #b41d0b;
  text-decoration: underline;
}
.section-faq .faq-answer-content a:hover {
  text-decoration: none;
}
@media (max-width: 767px) {
  .section-faq .faq-accordion {
    max-width: 100%;
  }
  .section-faq .faq-question {
    padding: 16px;
  }
  .section-faq .faq-answer-content {
    padding: 0 16px 16px;
  }
}

.section-brand-slider {
  padding: 32px 0;
  background-color: #fff;
  overflow: hidden;
}
.section-brand-slider .brand-slider__title {
  text-align: center;
  margin-bottom: 32px;
  color: #111111;
}
.section-brand-slider .brand-slider__track {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}
.section-brand-slider .brand-slider__item {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.section-brand-slider .brand-slider__link {
  display: block;
  text-decoration: none;
}
.section-brand-slider .brand-slider__logo {
  width: auto;
  height: auto;
  object-fit: contain;
  transition: filter 0.3s ease, opacity 0.3s ease;
}
.section-brand-slider--grayscale .brand-slider__logo {
  filter: grayscale(100%);
  opacity: 0.6;
}
.section-brand-slider--grayscale .brand-slider__logo:hover {
  filter: grayscale(0%);
  opacity: 1;
}
.section-brand-slider--color .brand-slider__logo {
  filter: none;
  opacity: 1;
}
.section-brand-slider--small .brand-slider__logo {
  width: 100% !important;
  height: auto !important;
  max-height: 24px !important;
}
.section-brand-slider--medium .brand-slider__logo {
  width: 100% !important;
  height: auto !important;
  max-height: 40px !important;
}
.section-brand-slider--large .brand-slider__logo {
  width: 100% !important;
  height: auto !important;
  max-height: 60px !important;
}
.section-brand-slider--small .tns-item img.brand-slider__logo {
  width: auto !important;
  height: 24px !important;
  max-height: none !important;
  max-width: none !important;
  object-fit: contain !important;
}
.section-brand-slider--medium .tns-item img.brand-slider__logo {
  width: auto !important;
  height: 40px !important;
  max-height: none !important;
  max-width: none !important;
  object-fit: contain !important;
}
.section-brand-slider--large .tns-item img.brand-slider__logo {
  width: auto !important;
  height: 60px !important;
  max-height: none !important;
  max-width: none !important;
  object-fit: contain !important;
}
.section-brand-slider--full-width .container {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
.section-brand-slider--full-width .brand-slider__title {
  padding-left: 24px;
  padding-right: 24px;
}
.section-brand-slider .brand-slider__track--marquee {
  justify-content: flex-start;
  width: max-content;
  animation: brandMarquee var(--marquee-duration, 30s) linear infinite;
}
.section-brand-slider .brand-slider__track--marquee:hover {
  animation-play-state: paused;
}
.section-brand-slider .brand-slider__track--marquee .brand-slider__item {
  padding: 0 32px;
}
.section-brand-slider[data-speed=slow] .brand-slider__track--marquee {
  --marquee-duration: 45s;
}
.section-brand-slider[data-speed=medium] .brand-slider__track--marquee {
  --marquee-duration: 30s;
}
.section-brand-slider[data-speed=fast] .brand-slider__track--marquee {
  --marquee-duration: 18s;
}
.section-brand-slider .tns-outer {
  width: 100%;
}
.section-brand-slider .tns-inner {
  display: flex;
  align-items: center;
}
.section-brand-slider .tns-item {
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  text-align: center;
  overflow: visible !important;
}
.section-brand-slider .tns-item .brand-slider__item {
  margin: 0 auto;
  overflow: visible !important;
}
.section-brand-slider .tns-item .brand-slider__logo {
  display: block;
  margin: 0 auto;
}
.section-brand-slider .tns-nav,
.section-brand-slider .tns-controls {
  display: none;
}
.section-brand-slider .tns-item .brand-slider__logo {
  max-width: none;
}
@media (max-width: 767px) {
  .section-brand-slider {
    padding: 48px 0;
  }
  .section-brand-slider .brand-slider__title {
    margin-bottom: 24px;
  }
  .section-brand-slider .brand-slider__track {
    gap: 24px;
  }
  .section-brand-slider .brand-slider__track--marquee .brand-slider__item {
    padding: 0 24px;
  }
  .section-brand-slider .tns-item {
    padding: 0 16px;
  }
  .section-brand-slider--small .brand-slider__logo, .section-brand-slider--small .tns-item img.brand-slider__logo {
    height: 16px !important;
    max-height: 16px !important;
  }
  .section-brand-slider--medium .brand-slider__logo, .section-brand-slider--medium .tns-item img.brand-slider__logo {
    height: 24px !important;
    max-height: 24px !important;
  }
  .section-brand-slider--large .brand-slider__logo, .section-brand-slider--large .tns-item img.brand-slider__logo {
    height: 32px !important;
    max-height: 32px !important;
  }
}

@keyframes brandMarquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.section-text-media {
  padding: 64px 0;
}
.section-text-media.is-dark {
  color: #fff;
}
.section-text-media.is-dark .title,
.section-text-media.is-dark .content,
.section-text-media.is-dark .feature-points,
.section-text-media.is-dark .icon-points,
.section-text-media.is-dark .stats-grid {
  color: #fff;
}
.section-text-media.is-dark .content {
  color: rgba(255, 255, 255, 0.9);
}
.section-text-media.is-dark .checkmark-icon {
  color: #fff;
}
.section-text-media .title {
  margin-bottom: 0;
}
.section-text-media .content {
  color: #959a9e;
}
.section-text-media .content p:first-child {
  margin-top: 0;
}
.section-text-media .content p:last-child {
  margin-bottom: 0;
}

.text-media__text {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.text-media-inner {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
@media (min-width: 992px) {
  .text-media-inner {
    flex-direction: row;
    align-items: center;
    gap: 64px;
  }
}

@media (min-width: 992px) {
  .section-text-media.text-align-top .text-media-inner {
    align-items: flex-start;
  }
}
@media (min-width: 992px) {
  .section-text-media.text-align-center .text-media-inner {
    align-items: center;
  }
}

@media (min-width: 992px) {
  .section-text-media.ratio-balanced .text-media__text,
  .section-text-media.ratio-balanced .text-media__media {
    flex: 1;
  }
}
@media (min-width: 992px) {
  .section-text-media.ratio-wide-media .text-media__text {
    flex: 1;
  }
  .section-text-media.ratio-wide-media .text-media__media {
    flex: 2;
  }
}
@media (min-width: 992px) {
  .section-text-media.ratio-wide-text .text-media__text {
    flex: 2;
  }
  .section-text-media.ratio-wide-text .text-media__media {
    flex: 1;
  }
}

@media (min-width: 992px) {
  .section-text-media.layout-text-right .text-media-inner {
    flex-direction: row-reverse;
  }
}

.text-media__media .media-image {
  width: 100%;
  height: 100%;
  border-radius: 8px;
  object-fit: cover;
}
.text-media__media .media-video,
.text-media__media .media-map,
.text-media__media .media-embed {
  width: 100%;
  height: 100%;
  border-radius: 8px;
  overflow: hidden;
}
.text-media__media .media-video iframe,
.text-media__media .media-map iframe,
.text-media__media .media-embed iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.section-text-media.height-small .text-media__media {
  height: 250px;
}
@media (min-width: 992px) {
  .section-text-media.height-small .text-media__media {
    height: 300px;
  }
}
.section-text-media.height-medium .text-media__media {
  height: 350px;
}
@media (min-width: 992px) {
  .section-text-media.height-medium .text-media__media {
    height: 450px;
  }
}
.section-text-media.height-large .text-media__media {
  height: 450px;
}
@media (min-width: 992px) {
  .section-text-media.height-large .text-media__media {
    height: 600px;
  }
}

.section-text-media.aspect-16-9 .text-media__media {
  height: auto;
}
.section-text-media.aspect-16-9 .text-media__media .media-video {
  aspect-ratio: 16/9;
  height: auto;
}
.section-text-media.aspect-4-3 .text-media__media {
  height: auto;
}
.section-text-media.aspect-4-3 .text-media__media .media-video {
  aspect-ratio: 4/3;
  height: auto;
}
.section-text-media.aspect-1-1 .text-media__media {
  height: auto;
}
.section-text-media.aspect-1-1 .text-media__media .media-video {
  aspect-ratio: 1/1;
  height: auto;
}
.section-text-media.aspect-9-16 .text-media__media {
  height: auto;
}
.section-text-media.aspect-9-16 .text-media__media .media-video {
  aspect-ratio: 9/16;
  height: auto;
  max-height: 600px;
}

.section-text-media.media-bleed {
  overflow: hidden;
  padding: 0;
}
.section-text-media.media-bleed .text-media-inner {
  gap: 0;
}
@media (min-width: 992px) {
  .section-text-media.media-bleed .text-media-inner {
    gap: 64px;
    align-items: stretch;
  }
}
.section-text-media.media-bleed .text-media__text {
  padding: 32px 0;
}
@media (min-width: 992px) {
  .section-text-media.media-bleed .text-media__text {
    padding: 64px 0;
  }
}
.section-text-media.media-bleed .text-media__media {
  margin-left: -15px;
  margin-right: -15px;
  width: calc(100% + 30px);
}
.section-text-media.media-bleed .text-media__media .media-image,
.section-text-media.media-bleed .text-media__media .media-video,
.section-text-media.media-bleed .text-media__media .media-map,
.section-text-media.media-bleed .text-media__media .media-embed {
  border-radius: 0;
}
@media (min-width: 992px) {
  .section-text-media.media-bleed .text-media__media {
    margin-left: 0;
    width: auto;
    height: auto;
    display: flex;
    margin-right: calc(-50vw + 50%);
  }
  .section-text-media.media-bleed .text-media__media .media-image {
    height: 100%;
    object-fit: cover;
    border-radius: 0;
  }
  .section-text-media.media-bleed .text-media__media .media-video,
  .section-text-media.media-bleed .text-media__media .media-map,
  .section-text-media.media-bleed .text-media__media .media-embed {
    height: 100%;
    min-height: 400px;
    border-radius: 0;
  }
}
@media (min-width: 992px) {
  .section-text-media.media-bleed.layout-text-right .text-media__media {
    margin-right: 0;
    margin-left: calc(-50vw + 50%);
  }
}

@media (min-width: 992px) {
  .section-text-media.media-bleed.text-align-top .text-media__text {
    justify-content: flex-start;
  }
}

@media (min-width: 992px) {
  .section-text-media.media-bleed.text-align-center .text-media__text {
    justify-content: center;
  }
}

.feature-points {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.feature-points li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.feature-points .checkmark-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: #b41d0b;
  margin-top: 2px;
}

.icon-points {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin: 0;
}
.icon-points .icon-point {
  display: flex;
  gap: 16px;
}
.icon-points .icon {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  object-fit: contain;
}
.icon-points .icon-point__content .icon-point__title {
  margin-bottom: 4px;
}
.icon-points .icon-point__content .icon-point__description {
  margin: 0;
  color: #959a9e;
}

.section-text-media.is-dark .icon-point__description {
  color: rgba(255, 255, 255, 0.8);
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px 48px;
  margin: 0;
}
.stats-grid .stat .stat__number {
  margin-bottom: 4px;
  color: #b41d0b;
}
.stats-grid .stat .stat__label {
  color: #959a9e;
}

.section-text-media.is-dark .stat__number {
  color: #fff;
}
.section-text-media.is-dark .stat__label {
  color: rgba(255, 255, 255, 0.8);
}

.section-wysiwyg {
  padding: 64px 0;
}
.section-wysiwyg.is-dark {
  color: #fff;
}
.section-wysiwyg.is-dark .wysiwyg-content {
  color: rgba(255, 255, 255, 0.9);
}
.section-wysiwyg.is-dark .wysiwyg-content h2, .section-wysiwyg.is-dark .wysiwyg-content h3, .section-wysiwyg.is-dark .wysiwyg-content h4, .section-wysiwyg.is-dark .wysiwyg-content h5, .section-wysiwyg.is-dark .wysiwyg-content h6 {
  color: #fff;
}
.section-wysiwyg.is-dark .wysiwyg-content a {
  color: #fff;
}
.section-wysiwyg.is-dark .wysiwyg-content a:hover {
  opacity: 0.8;
}
.section-wysiwyg.is-dark .wysiwyg-content blockquote {
  border-color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.05);
  color: #fff;
}
.section-wysiwyg.is-dark .wysiwyg-content hr {
  border-color: rgba(255, 255, 255, 0.2);
}
.section-wysiwyg.is-dark .wysiwyg-content code {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}
@media (min-width: 992px) {
  .section-wysiwyg.width-swished .wysiwyg-inner {
    max-width: 83.3333333333%;
    margin: 0 auto;
  }
}

.wysiwyg-columns {
  display: grid;
  grid-template-columns: 1fr;
}
.gap-small .wysiwyg-columns {
  gap: 24px;
}
.gap-medium .wysiwyg-columns {
  gap: 48px;
}
.gap-large .wysiwyg-columns {
  gap: 64px;
}
@media (min-width: 992px) {
  .cols-2 .wysiwyg-columns {
    grid-template-columns: repeat(2, 1fr);
  }
  .cols-3 .wysiwyg-columns {
    grid-template-columns: repeat(3, 1fr);
  }
  .cols-4 .wysiwyg-columns {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .cols-3 .wysiwyg-columns, .cols-4 .wysiwyg-columns {
    grid-template-columns: repeat(2, 1fr);
  }
}

.wysiwyg-content {
  color: #959a9e;
}
.wysiwyg-content > :first-child {
  margin-top: 0;
}
.wysiwyg-content > :last-child {
  margin-bottom: 0;
}
.wysiwyg-content p {
  margin-bottom: 16px;
}
.wysiwyg-content h2, .wysiwyg-content h3, .wysiwyg-content h4, .wysiwyg-content h5, .wysiwyg-content h6 {
  margin-top: 32px;
  margin-bottom: 16px;
  color: #111111;
  font-weight: 600;
  line-height: 1.2;
}
.wysiwyg-content h2:first-child, .wysiwyg-content h3:first-child, .wysiwyg-content h4:first-child, .wysiwyg-content h5:first-child, .wysiwyg-content h6:first-child {
  margin-top: 0;
}
.wysiwyg-content h2 {
  font-size: 30px;
}
.wysiwyg-content h3 {
  font-size: 24px;
}
.wysiwyg-content h4 {
  font-size: 20px;
}
.wysiwyg-content h5 {
  font-size: 18px;
}
.wysiwyg-content h6 {
  font-size: 16px;
}
.wysiwyg-content ul, .wysiwyg-content ol {
  padding-left: 24px;
  margin-bottom: 16px;
}
.wysiwyg-content ul li, .wysiwyg-content ol li {
  margin-bottom: 8px;
}
.wysiwyg-content ul li:last-child, .wysiwyg-content ol li:last-child {
  margin-bottom: 0;
}
.wysiwyg-content ul ul, .wysiwyg-content ul ol, .wysiwyg-content ol ul, .wysiwyg-content ol ol {
  margin-top: 8px;
  margin-bottom: 0;
}
.wysiwyg-content ul {
  list-style-type: disc;
}
.wysiwyg-content ul ul {
  list-style-type: circle;
}
.wysiwyg-content ul ul ul {
  list-style-type: square;
}
.wysiwyg-content ol {
  list-style-type: decimal;
}
.wysiwyg-content ol ol {
  list-style-type: lower-alpha;
}
.wysiwyg-content ol ol ol {
  list-style-type: lower-roman;
}
.wysiwyg-content blockquote {
  margin: 32px 0;
  padding: 16px 24px;
  border-left: 4px solid #b41d0b;
  font-style: italic;
  color: #111111;
  background: rgba(246, 249, 249, 0.5);
  border-radius: 0 6px 6px 0;
}
.wysiwyg-content blockquote p:last-child {
  margin-bottom: 0;
}
.wysiwyg-content blockquote cite {
  display: block;
  margin-top: 8px;
  font-size: 12px;
  font-style: normal;
  color: #959a9e;
}
.wysiwyg-content blockquote cite::before {
  content: "— ";
}
.wysiwyg-content hr {
  border: none;
  border-top: 1px solid #e0e0e0;
  margin: 32px 0;
}
.wysiwyg-content a {
  color: #b41d0b;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: opacity 0.2s ease;
}
.wysiwyg-content a:hover {
  text-decoration: none;
}
.wysiwyg-content strong, .wysiwyg-content b {
  font-weight: 600;
  color: #111111;
}
.wysiwyg-content em, .wysiwyg-content i {
  font-style: italic;
}
.wysiwyg-content code {
  background: #f6f9f9;
  padding: 4px 8px;
  border-radius: 4px;
  font-family: "Courier New", Courier, monospace;
  font-size: 0.9em;
}
.wysiwyg-content pre {
  margin: 32px 0;
  padding: 16px;
  background: #111111;
  border-radius: 6px;
  overflow-x: auto;
}
.wysiwyg-content pre code {
  background: none;
  padding: 0;
  color: #fff;
  font-size: 12px;
}
.wysiwyg-content img {
  max-width: 100%;
  height: auto;
  border-radius: 6px;
  margin: 24px 0;
}
.wysiwyg-content figure {
  margin: 32px 0;
}
.wysiwyg-content figure img {
  margin: 0;
}
.wysiwyg-content figure figcaption {
  margin-top: 8px;
  font-size: 12px;
  color: #959a9e;
  text-align: center;
}
.wysiwyg-content .alignleft {
  float: left;
  margin-right: 24px;
  margin-bottom: 16px;
}
.wysiwyg-content .alignright {
  float: right;
  margin-left: 24px;
  margin-bottom: 16px;
}
.wysiwyg-content .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.wysiwyg-content .alignnone {
  margin: 24px 0;
}
.wysiwyg-content table {
  width: 100%;
  margin: 32px 0;
  border-collapse: collapse;
  font-size: 14px;
}
.wysiwyg-content table th, .wysiwyg-content table td {
  padding: 8px 16px;
  text-align: left;
  border-bottom: 1px solid #e0e0e0;
}
.wysiwyg-content table th {
  font-weight: 600;
  color: #111111;
  background: #f6f9f9;
}
.wysiwyg-content table tr:last-child td {
  border-bottom: none;
}
@media (max-width: 768px) {
  .wysiwyg-content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.wysiwyg-content dl {
  margin: 32px 0;
}
.wysiwyg-content dl dt {
  font-weight: 600;
  color: #111111;
  margin-bottom: 4px;
}
.wysiwyg-content dl dd {
  margin-left: 24px;
  margin-bottom: 16px;
}
.wysiwyg-content dl dd:last-child {
  margin-bottom: 0;
}
.wysiwyg-content address {
  font-style: normal;
  margin: 24px 0;
  line-height: 1.8;
}
.wysiwyg-content sub, .wysiwyg-content sup {
  font-size: 0.75em;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
.wysiwyg-content sup {
  top: -0.5em;
}
.wysiwyg-content sub {
  bottom: -0.25em;
}
.wysiwyg-content mark {
  background-color: rgba(180, 29, 11, 0.15);
  padding: 0 4px;
  border-radius: 4px;
}
.wysiwyg-content abbr[title] {
  text-decoration: underline dotted;
  cursor: help;
}
.wysiwyg-content::after {
  content: "";
  display: table;
  clear: both;
}

.section-featured-media-cta {
  position: relative;
}
.section-featured-media-cta.is-dark .card__title,
.section-featured-media-cta.is-dark .card__content {
  color: #fff;
}
.section-featured-media-cta .featured-media-cta__inner {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 400px;
}
.section-featured-media-cta .featured-media-cta__media {
  position: relative;
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
}
.section-featured-media-cta .media-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--focal-point, center) center;
  aspect-ratio: 4/3;
}
.section-featured-media-cta .media-video {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  background-color: #111111;
  border-radius: 8px;
  overflow: hidden;
}
.section-featured-media-cta .media-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.section-featured-media-cta .featured-media-cta__background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  overflow: hidden;
}
.section-featured-media-cta .featured-media-cta__background .background-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--focal-point, center) center;
}
.section-featured-media-cta .featured-media-cta__background .background-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  pointer-events: none;
}
.section-featured-media-cta.image-contained .featured-media-cta__background {
  border-radius: 0;
}
@media (min-width: 1200px) {
  .section-featured-media-cta.image-contained .featured-media-cta__background {
    border-radius: 8px;
    left: calc((100% - 1140px) / 2);
    right: calc((100% - 1140px) / 2);
  }
}
@media (min-width: 1600px) {
  .section-featured-media-cta.image-contained .featured-media-cta__background {
    left: calc((100% - 1320px) / 2);
    right: calc((100% - 1320px) / 2);
  }
}
.section-featured-media-cta .featured-media-cta__card {
  position: relative;
  z-index: 1;
  background-color: #fff;
  border-radius: 8px;
  padding: 32px 24px;
  max-width: 100%;
  box-shadow: 0 5px 15px 0 rgba(25, 33, 61, 0.11);
}
.section-featured-media-cta .card__title {
  margin-bottom: 24px;
  color: #111111;
}
.section-featured-media-cta .card__content {
  margin-bottom: 32px;
  color: #111111;
}
.section-featured-media-cta .card__content p:last-child {
  margin-bottom: 0;
}
.section-featured-media-cta .btn-group {
  margin-top: 0;
}
.section-featured-media-cta.has-offset .featured-media-cta__inner {
  display: block;
}
.section-featured-media-cta.has-offset .featured-media-cta__media {
  margin-bottom: -24px;
}
.section-featured-media-cta.has-offset .featured-media-cta__card {
  position: relative;
  z-index: 1;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 500px;
}
.section-featured-media-cta.has-background .container {
  position: relative;
  z-index: 1;
}
.section-featured-media-cta.has-background .featured-media-cta__inner {
  justify-content: center;
  padding: 64px 0;
}
.section-featured-media-cta.has-background .featured-media-cta__card {
  width: 100%;
  max-width: 600px;
  text-align: center;
}
.section-featured-media-cta.has-background .btn-group {
  justify-content: center;
}
@media (min-width: 992px) {
  .section-featured-media-cta .featured-media-cta__card {
    padding: 64px 64px;
  }
  .section-featured-media-cta.has-offset .featured-media-cta__inner {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    min-height: 500px;
  }
  .section-featured-media-cta.has-offset .featured-media-cta__media {
    grid-column: 1;
    grid-row: 1;
    margin-bottom: 0;
    max-width: 70%;
  }
  .section-featured-media-cta.has-offset .media-image {
    aspect-ratio: 16/10;
    min-height: 450px;
  }
  .section-featured-media-cta.has-offset .featured-media-cta__card {
    grid-column: 1;
    grid-row: 1;
    position: relative;
    z-index: 1;
    width: auto;
    max-width: 487px;
  }
  .section-featured-media-cta.has-offset.card-right .featured-media-cta__media {
    justify-self: start;
  }
  .section-featured-media-cta.has-offset.card-right .featured-media-cta__card {
    justify-self: end;
    margin-left: 0;
    margin-right: 0;
  }
  .section-featured-media-cta.has-offset.card-left .featured-media-cta__media {
    justify-self: end;
  }
  .section-featured-media-cta.has-offset.card-left .featured-media-cta__card {
    justify-self: start;
    margin-left: 0;
    margin-right: 0;
  }
  .section-featured-media-cta.has-background .featured-media-cta__inner {
    padding: 96px 0;
  }
  .section-featured-media-cta.has-background.card-left .featured-media-cta__card {
    margin-left: 0;
    margin-right: auto;
    text-align: left;
  }
  .section-featured-media-cta.has-background.card-left .btn-group {
    justify-content: flex-start;
  }
  .section-featured-media-cta.has-background.card-right .featured-media-cta__card {
    margin-left: auto;
    margin-right: 0;
    text-align: left;
  }
  .section-featured-media-cta.has-background.card-right .btn-group {
    justify-content: flex-start;
  }
}
@media (min-width: 1200px) {
  .section-featured-media-cta.has-offset .featured-media-cta__media {
    max-width: 65%;
  }
  .section-featured-media-cta.has-offset .media-image {
    min-height: 500px;
  }
}

.section-testimonials {
  padding: 64px 0;
}
.section-testimonials__content {
  position: relative;
}
.section-testimonials__slider-wrapper {
  position: relative;
}
.section-testimonials--grid .section-testimonials__content {
  display: grid;
  gap: 24px;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .section-testimonials--grid .section-testimonials__content {
    grid-template-columns: repeat(2, 1fr);
  }
}
.section-testimonials--grid .section-testimonials__nav {
  display: none !important;
}
@media (min-width: 992px) {
  .section-testimonials--cols-2.section-testimonials--grid .section-testimonials__content {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  .section-testimonials--cols-3.section-testimonials--grid .section-testimonials__content {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 992px) {
  .section-testimonials--cols-4.section-testimonials--grid .section-testimonials__content {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1200px) {
  .section-testimonials--cols-4.section-testimonials--grid .section-testimonials__content {
    grid-template-columns: repeat(4, 1fr);
  }
}
.section-testimonials__card {
  background-color: #f6f9f9;
  border-radius: 8px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  height: 100%;
}
@media (min-width: 992px) {
  .section-testimonials__card {
    padding: 32px;
  }
}
.section-testimonials__rating {
  display: flex;
  gap: 2px;
  margin-bottom: 16px;
}
.section-testimonials__star {
  color: #e0e0e0;
  width: 20px;
  height: 20px;
}
.section-testimonials__star--filled {
  color: #F59E0B;
}
.section-testimonials__quote-title {
  margin: 0 0 16px;
  color: #111111;
}
.section-testimonials__quote {
  margin: 0;
  color: #111111;
  flex-grow: 1;
}
.section-testimonials__quote::before {
  content: none;
}
.section-testimonials__author {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #e0e0e0;
}
.section-testimonials__avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.section-testimonials__author-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.section-testimonials__name {
  font-size: 14px;
  line-height: 22px;
  color: #111111;
}
.section-testimonials__role {
  font-size: 12px;
  line-height: 18px;
  color: #959a9e;
}
.section-testimonials__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -48px;
  right: -48px;
  z-index: 10;
  display: none;
  justify-content: space-between;
  pointer-events: none;
}
@media (min-width: 992px) {
  .section-testimonials__nav {
    display: flex;
  }
}
@media (min-width: 1200px) {
  .section-testimonials__nav {
    left: -64px;
    right: -64px;
  }
}
.section-testimonials__nav-btn {
  width: 45px;
  height: 45px;
  border-radius: 8px;
  background-color: #fff;
  border: 1px solid #e0e0e0;
  cursor: pointer;
  pointer-events: auto;
  position: relative;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  font-size: 0;
  line-height: 0;
  color: transparent;
  box-shadow: 0 1px 4px 0 rgba(25, 33, 61, 0.08);
}
.section-testimonials__nav-btn:hover {
  background-color: #f6f9f9;
  border-color: #111111;
  box-shadow: 0 2px 6px 0 rgba(25, 33, 61, 0.14);
}
.section-testimonials__nav-btn:focus {
  outline: none;
}
.section-testimonials__nav-btn:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}
.section-testimonials__nav-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 15px;
  height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='14' viewBox='0 0 15 14' fill='none'%3E%3Cpath d='M6.87646 0.75L13.3495 6.92881L6.87646 13.1076' stroke='%23111111' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M13.3499 6.92871L0.75 6.92871' stroke='%23111111' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.section-testimonials__nav-btn--prev::after {
  transform: translate(-50%, -50%) rotate(180deg);
}
.section-testimonials__nav-btn svg {
  display: none;
}

.section-testimonials--slider .tns-outer {
  position: relative;
}
.section-testimonials--slider .tns-nav {
  display: none;
}

.section-gallery {
  padding: 64px 0;
}
.section-gallery.no-margin-top {
  padding-top: 0;
}
.section-gallery.no-margin-bottom {
  padding-bottom: 0;
}
.section-gallery .section-gallery__slider {
  position: relative;
}
.section-gallery .section-gallery__slide img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 8px;
}
.section-gallery .section-gallery__lightbox-link {
  display: block;
  cursor: zoom-in;
}
.section-gallery .section-gallery__lightbox-link:hover img {
  opacity: 0.9;
}
.section-gallery--gap-none .section-gallery__slide img {
  border-radius: 0;
}
.section-gallery--gap-tiny .section-gallery__slide img {
  border-radius: 4px;
}
.section-gallery--square .section-gallery__slide img {
  aspect-ratio: 1/1;
}
.section-gallery--landscape .section-gallery__slide img {
  aspect-ratio: 4/3;
}
.section-gallery--wide .section-gallery__slide img {
  aspect-ratio: 16/9;
}
.section-gallery .section-gallery__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 45px;
  height: 45px;
  padding: 0;
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  cursor: pointer;
  box-shadow: 0 1px 4px 0 rgba(25, 33, 61, 0.08);
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  display: none;
}
@media (min-width: 992px) {
  .section-gallery .section-gallery__nav {
    display: block;
  }
}
.section-gallery .section-gallery__nav:hover {
  background-color: #f6f9f9;
  border-color: #111111;
  box-shadow: 0 2px 6px 0 rgba(25, 33, 61, 0.14);
}
.section-gallery .section-gallery__nav:focus {
  outline: none;
}
.section-gallery .section-gallery__nav:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}
.section-gallery .section-gallery__nav::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 15px;
  height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='14' viewBox='0 0 15 14' fill='none'%3E%3Cpath d='M6.87646 0.75L13.3495 6.92881L6.87646 13.1076' stroke='%23111111' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M13.3499 6.92871L0.75 6.92871' stroke='%23111111' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.section-gallery .section-gallery__nav--prev {
  left: -24px;
}
@media (min-width: 1200px) {
  .section-gallery .section-gallery__nav--prev {
    left: -64px;
  }
}
.section-gallery .section-gallery__nav--prev::after {
  transform: translate(-50%, -50%) rotate(180deg);
}
.section-gallery .section-gallery__nav--next {
  right: -24px;
}
@media (min-width: 1200px) {
  .section-gallery .section-gallery__nav--next {
    right: -64px;
  }
}
.section-gallery .section-gallery__nav svg {
  display: none;
}
.section-gallery .tns-nav {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 32px;
}
.section-gallery .tns-nav button {
  width: 10px;
  height: 10px;
  padding: 0;
  background-color: #e0e0e0;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.2s ease-in-out;
}
.section-gallery .tns-nav button:hover {
  background-color: #959a9e;
}
.section-gallery .tns-nav button.tns-nav-active {
  background-color: #b41d0b;
}
.section-gallery .tns-controls {
  display: none;
}

.section-stats {
  padding: 64px 0;
}
.section-stats__header {
  text-align: center;
  margin-bottom: 48px;
}
.section-stats__title {
  color: #111111;
  margin-bottom: 0;
}
.section-stats__intro {
  color: #111111;
  max-width: 600px;
  margin: 24px auto 0;
}
.section-stats__grid {
  display: grid;
  gap: 24px;
  grid-template-columns: 1fr;
}
@media (min-width: 576px) {
  .section-stats__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  .section-stats__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.section-stats .stat {
  text-align: center;
}
.section-stats .stat__number {
  display: block;
  color: #b41d0b;
}
.section-stats .stat__label {
  display: block;
  color: #111111;
  margin-top: 24px;
}
.section-stats .stat__description {
  color: #111111;
  margin-top: 24px;
  margin-bottom: 0;
}
.section-stats .stat__icon {
  margin-bottom: 24px;
}
.section-stats .stat__icon-img {
  width: 48px;
  height: 48px;
  object-fit: contain;
}
.section-stats .stat__link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #b41d0b;
  text-decoration: none;
  margin-top: 16px;
  transition: color 0.2s ease;
}
.section-stats .stat__link:hover {
  color: #8a1608;
}
.section-stats .stat__link:hover .stat__link-arrow {
  transform: translateX(3px);
}
.section-stats .stat__link-arrow {
  transition: transform 0.2s ease;
}
.section-stats .stat--card {
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 32px 24px;
  box-shadow: 0 1px 4px 0 rgba(25, 33, 61, 0.08);
}
.section-stats .stat--card .stat__label {
  margin-top: 16px;
}
.section-stats .stat--card .stat__description {
  margin-top: 24px;
}
.section-stats--simple .stat {
  text-align: center;
}
.section-stats--simple_icons .stat {
  text-align: left;
}
.section-stats--cards_icons .stat--card {
  text-align: left;
}
.section-stats--icon-center .stat,
.section-stats--icon-center .stat--card {
  text-align: center;
}
.section-stats--icon-center .stat .stat__icon,
.section-stats--icon-center .stat--card .stat__icon {
  display: flex;
  justify-content: center;
}
.section-stats--icon-inline .stat,
.section-stats--icon-inline .stat--card {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  gap: 0 24px;
  text-align: left;
}
.section-stats--icon-inline .stat .stat__icon,
.section-stats--icon-inline .stat--card .stat__icon {
  grid-row: 1/-1;
  align-self: center;
  margin-bottom: 0;
}
.section-stats--icon-inline .stat .stat__number,
.section-stats--icon-inline .stat--card .stat__number {
  grid-column: 2;
}
.section-stats--icon-inline .stat .stat__label,
.section-stats--icon-inline .stat--card .stat__label {
  grid-column: 2;
  margin-top: 4px;
}
.section-stats--cards_links .stat--card {
  text-align: center;
}
.section-stats.bg-light .stat--card {
  background-color: #fff;
}
.section-stats.bg-dark .section-stats__title,
.section-stats.bg-dark .section-stats__intro,
.section-stats.bg-dark .stat__number,
.section-stats.bg-dark .stat__label,
.section-stats.bg-dark .stat__description,
.section-stats.bg-dark .stat__link {
  color: #fff;
}
.section-stats.bg-dark .stat--card {
  background-color: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
}
.section-stats.bg-dark .stat--card .stat__number,
.section-stats.bg-dark .stat--card .stat__label,
.section-stats.bg-dark .stat--card .stat__description,
.section-stats.bg-dark .stat--card .stat__link {
  color: #fff;
}
.section-stats.bg-dark .stat__link:hover {
  color: #b41d0b;
}
.section-stats.bg-primary .section-stats__title,
.section-stats.bg-primary .section-stats__intro,
.section-stats.bg-primary .stat__number,
.section-stats.bg-primary .stat__label,
.section-stats.bg-primary .stat__description,
.section-stats.bg-primary .stat__link {
  color: #fff;
}
.section-stats.bg-primary .stat__number {
  color: #fff;
}
.section-stats.bg-primary .stat--card {
  background-color: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
}
.section-stats.bg-primary .stat--card .stat__number,
.section-stats.bg-primary .stat--card .stat__label,
.section-stats.bg-primary .stat--card .stat__description,
.section-stats.bg-primary .stat--card .stat__link {
  color: #fff;
}
.section-stats.bg-primary .stat__link:hover {
  color: #fff;
}

.section-form-media {
  padding: 64px 0;
}
.section-form-media.is-dark {
  color: #fff;
}
.section-form-media.is-dark .form-media__title,
.section-form-media.is-dark .form-media__description {
  color: #fff;
}
.section-form-media.is-dark .form-media__description {
  color: rgba(255, 255, 255, 0.9);
}

.form-media__inner {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
@media (min-width: 992px) {
  .form-media__inner {
    flex-direction: row;
    align-items: flex-start;
    gap: 64px;
  }
}

@media (min-width: 992px) {
  .section-form-media.ratio-balanced .form-media__form,
  .section-form-media.ratio-balanced .form-media__media {
    flex: 1;
  }
}
@media (min-width: 992px) {
  .section-form-media.ratio-wide-media .form-media__form {
    flex: 1;
  }
  .section-form-media.ratio-wide-media .form-media__media {
    flex: 1.5;
  }
}
@media (min-width: 992px) {
  .section-form-media.ratio-wide-form .form-media__form {
    flex: 1.5;
  }
  .section-form-media.ratio-wide-form .form-media__media {
    flex: 1;
  }
}

@media (min-width: 992px) {
  .section-form-media.layout-form-right .form-media__inner {
    flex-direction: row;
  }
}
.section-form-media.layout-form-right .form-media__media {
  order: 1;
}
@media (min-width: 992px) {
  .section-form-media.layout-form-right .form-media__media {
    order: 0;
  }
}
.section-form-media.layout-form-right .form-media__form {
  order: 2;
}
@media (min-width: 992px) {
  .section-form-media.layout-form-right .form-media__form {
    order: 0;
  }
}

@media (min-width: 992px) {
  .section-form-media.layout-form-left .form-media__inner {
    flex-direction: row-reverse;
  }
}
.section-form-media.layout-form-left .form-media__media {
  order: 1;
}
@media (min-width: 992px) {
  .section-form-media.layout-form-left .form-media__media {
    order: 0;
  }
}
.section-form-media.layout-form-left .form-media__form {
  order: 2;
}
@media (min-width: 992px) {
  .section-form-media.layout-form-left .form-media__form {
    order: 0;
  }
}

.form-media__form {
  width: 100%;
}

.form-card {
  background-color: #fff;
  border-radius: 8px;
  padding: 32px;
  box-shadow: 0 5px 15px 0 rgba(25, 33, 61, 0.11);
}
@media (min-width: 992px) {
  .form-card {
    padding: 48px;
  }
}
.form-card .gform_wrapper {
  margin: 0;
}
.form-card .gform_footer {
  margin-top: 24px;
  padding-top: 0;
}
.form-card .gform_footer input[type=submit] {
  width: 100%;
}

.section-form-media.is-dark .form-card {
  background-color: #fff;
  color: #111111;
}
.section-form-media.is-dark .form-card .gform_title,
.section-form-media.is-dark .form-card .gfield_label {
  color: #111111;
}
.section-form-media.is-dark .form-card .gform_description,
.section-form-media.is-dark .form-card .gfield_description {
  color: #959a9e;
}

.form-media__media {
  width: 100%;
}
.form-media__media .media-image {
  width: 100%;
  height: 100%;
  border-radius: 8px;
  object-fit: cover;
}
.form-media__media .media-video,
.form-media__media .media-map,
.form-media__media .media-embed {
  width: 100%;
  height: 100%;
  border-radius: 8px;
  overflow: hidden;
}
.form-media__media .media-video iframe,
.form-media__media .media-map iframe,
.form-media__media .media-embed iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.section-form-media.height-small .form-media__media {
  height: 250px;
}
@media (min-width: 992px) {
  .section-form-media.height-small .form-media__media {
    height: 300px;
  }
}
.section-form-media.height-medium .form-media__media {
  height: 350px;
}
@media (min-width: 992px) {
  .section-form-media.height-medium .form-media__media {
    height: 450px;
  }
}
.section-form-media.height-large .form-media__media {
  height: 450px;
}
@media (min-width: 992px) {
  .section-form-media.height-large .form-media__media {
    height: 600px;
  }
}

.section-form-media.aspect-16-9 .form-media__media {
  height: auto;
}
.section-form-media.aspect-16-9 .form-media__media .media-video {
  aspect-ratio: 16/9;
  height: auto;
}
.section-form-media.aspect-4-3 .form-media__media {
  height: auto;
}
.section-form-media.aspect-4-3 .form-media__media .media-video {
  aspect-ratio: 4/3;
  height: auto;
}
.section-form-media.aspect-1-1 .form-media__media {
  height: auto;
}
.section-form-media.aspect-1-1 .form-media__media .media-video {
  aspect-ratio: 1/1;
  height: auto;
}
.section-form-media.aspect-9-16 .form-media__media {
  height: auto;
}
.section-form-media.aspect-9-16 .form-media__media .media-video {
  aspect-ratio: 9/16;
  height: auto;
  max-height: 600px;
}

.section-form-media.media-bleed {
  overflow: hidden;
  padding: 0;
}
.section-form-media.media-bleed .form-media__header {
  padding-top: 64px;
}
.section-form-media.media-bleed .form-media__inner {
  gap: 0;
}
@media (min-width: 992px) {
  .section-form-media.media-bleed .form-media__inner {
    gap: 64px;
    align-items: stretch;
  }
}
.section-form-media.media-bleed .form-media__form {
  padding: 32px 0 32px;
}
@media (min-width: 992px) {
  .section-form-media.media-bleed .form-media__form {
    padding: 64px 0;
  }
}
.section-form-media.media-bleed .form-media__media {
  margin-left: -15px;
  margin-right: -15px;
  width: calc(100% + 30px);
}
.section-form-media.media-bleed .form-media__media .media-image,
.section-form-media.media-bleed .form-media__media .media-video,
.section-form-media.media-bleed .form-media__media .media-map,
.section-form-media.media-bleed .form-media__media .media-embed {
  border-radius: 0;
}
@media (min-width: 992px) {
  .section-form-media.media-bleed .form-media__media {
    margin-left: 0;
    width: auto;
    height: auto;
    display: flex;
    margin-right: calc(-50vw + 50%);
  }
  .section-form-media.media-bleed .form-media__media .media-image {
    height: 100%;
    object-fit: cover;
    border-radius: 0;
  }
  .section-form-media.media-bleed .form-media__media .media-video,
  .section-form-media.media-bleed .form-media__media .media-map,
  .section-form-media.media-bleed .form-media__media .media-embed {
    height: 100%;
    min-height: 400px;
    border-radius: 0;
  }
}
@media (min-width: 992px) {
  .section-form-media.media-bleed.layout-form-left .form-media__media {
    margin-right: 0;
    margin-left: calc(-50vw + 50%);
  }
}

.section-feature_grid {
  padding: 64px 0;
}
.section-feature_grid.no-margin-top {
  padding-top: 0;
}
.section-feature_grid.no-margin-bottom {
  padding-bottom: 0;
}
.section-feature_grid .section-feature_grid__header {
  margin-bottom: 48px;
  max-width: 700px;
}
.section-feature_grid .section-feature_grid__title {
  margin-bottom: 16px;
  color: #111111;
}
.section-feature_grid .section-feature_grid__intro {
  color: #959a9e;
  margin-bottom: 0;
}
.section-feature_grid .section-feature_grid__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}
@media (min-width: 768px) {
  .section-feature_grid .section-feature_grid__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 48px;
  }
}
@media (min-width: 992px) {
  .section-feature_grid--cols-2 .section-feature_grid__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  .section-feature_grid--cols-3 .section-feature_grid__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 992px) {
  .section-feature_grid--cols-4 .section-feature_grid__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1200px) {
  .section-feature_grid--cols-4 .section-feature_grid__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 992px) {
  .section-feature_grid--cols-5 .section-feature_grid__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1200px) {
  .section-feature_grid--cols-5 .section-feature_grid__grid {
    grid-template-columns: repeat(5, 1fr);
  }
}
.section-feature_grid--align-center .section-feature_grid__header {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.section-feature_grid--align-left .section-feature_grid__header {
  text-align: left;
}
.section-feature_grid--bg-white {
  background-color: #fff;
}
.section-feature_grid--bg-light {
  background-color: #f6f9f9;
}
.section-feature_grid.bg-dark .section-feature_grid__title, .section-feature_grid.bg-primary .section-feature_grid__title {
  color: #fff;
}
.section-feature_grid.bg-dark .section-feature_grid__intro, .section-feature_grid.bg-primary .section-feature_grid__intro {
  color: rgba(255, 255, 255, 0.8);
}
.section-feature_grid--simple .point-card {
  text-align: center;
}
.section-feature_grid--simple .point-card .point-card__icon {
  margin-left: auto;
  margin-right: auto;
}
.section-feature_grid--simple.section-feature_grid--layout-horizontal .point-card {
  text-align: left;
}
.section-feature_grid--simple.section-feature_grid--layout-horizontal .point-card .point-card__icon {
  margin-left: 0;
  margin-right: 0;
}
.section-feature_grid--link .point-card {
  text-align: left;
}
.section-feature_grid--button .point-card {
  text-align: center;
}
.section-feature_grid--button .point-card .point-card__icon {
  margin-left: auto;
  margin-right: auto;
}
.section-feature_grid--button .point-card .point-card__button {
  text-align: center;
}
.section-feature_grid--button.section-feature_grid--layout-horizontal .point-card {
  text-align: left;
}
.section-feature_grid--button.section-feature_grid--layout-horizontal .point-card .point-card__icon {
  margin-left: 0;
  margin-right: 0;
}
.section-feature_grid--style-card .section-feature_grid__item {
  background-color: #fff;
  border-radius: 8px;
  padding: 32px;
  box-shadow: 0 1px 4px 0 rgba(25, 33, 61, 0.08);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.section-feature_grid--style-card .section-feature_grid__item:hover {
  box-shadow: 0 5px 15px 0 rgba(25, 33, 61, 0.11);
  transform: translateY(-2px);
}
.section-feature_grid--style-card.bg-light .section-feature_grid__item {
  background-color: #fff;
}
.section-feature_grid--style-card.bg-dark .section-feature_grid__item {
  background-color: rgba(255, 255, 255, 0.08);
  box-shadow: none;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.section-feature_grid--style-card.bg-dark .section-feature_grid__item:hover {
  background-color: rgba(255, 255, 255, 0.12);
  transform: translateY(-2px);
}

.section-feature_slider {
  padding: 64px 0;
}
.section-feature_slider.no-margin-top {
  padding-top: 0;
}
.section-feature_slider.no-margin-bottom {
  padding-bottom: 0;
}
.section-feature_slider .section-feature_slider__header {
  margin-bottom: 48px;
  max-width: 700px;
}
.section-feature_slider .section-feature_slider__title {
  margin-bottom: 16px;
  color: #111111;
}
.section-feature_slider .section-feature_slider__intro {
  color: #959a9e;
  margin-bottom: 0;
}
.section-feature_slider .section-feature_slider__wrapper {
  position: relative;
}
.section-feature_slider .section-feature_slider__slide {
  min-width: 0;
}
.section-feature_slider .section-feature_slider__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #e0e0e0;
  color: #111111;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 1px 4px 0 rgba(25, 33, 61, 0.08);
}
.section-feature_slider .section-feature_slider__nav:hover {
  background-color: #f6f9f9;
  box-shadow: 0 5px 15px 0 rgba(25, 33, 61, 0.11);
}
.section-feature_slider .section-feature_slider__nav:focus {
  outline: none;
}
.section-feature_slider .section-feature_slider__nav:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}
.section-feature_slider .section-feature_slider__nav--prev {
  left: -24px;
}
@media (min-width: 1200px) {
  .section-feature_slider .section-feature_slider__nav--prev {
    left: -48px;
  }
}
.section-feature_slider .section-feature_slider__nav--next {
  right: -24px;
}
@media (min-width: 1200px) {
  .section-feature_slider .section-feature_slider__nav--next {
    right: -48px;
  }
}
.section-feature_slider .section-feature_slider__nav svg {
  width: 20px;
  height: 20px;
}
.section-feature_slider .section-feature_slider__nav[disabled], .section-feature_slider .section-feature_slider__nav.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.section-feature_slider .section-feature_slider__nav[disabled]:hover, .section-feature_slider .section-feature_slider__nav.is-disabled:hover {
  background-color: #fff;
  box-shadow: 0 1px 4px 0 rgba(25, 33, 61, 0.08);
}
.section-feature_slider .tns-outer {
  width: 100%;
}
.section-feature_slider .tns-item .section-feature_slider__slide,
.section-feature_slider .tns-item .point-card {
  width: 100%;
}
.section-feature_slider .tns-controls {
  display: none;
}
.section-feature_slider .tns-nav {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 32px;
}
.section-feature_slider .tns-nav button {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #e0e0e0;
  border: none;
  padding: 0;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.section-feature_slider .tns-nav button:hover {
  background-color: #959a9e;
}
.section-feature_slider .tns-nav button.tns-nav-active {
  background-color: #b41d0b;
}
.section-feature_slider:not([data-feature-slider-initialized]) .section-feature_slider__track {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}
@media (min-width: 768px) {
  .section-feature_slider:not([data-feature-slider-initialized]) .section-feature_slider__track {
    grid-template-columns: repeat(2, 1fr);
  }
}
.section-feature_slider:not([data-feature-slider-initialized]) .section-feature_slider__nav {
  display: none;
}
@media (min-width: 992px) {
  .section-feature_slider--slides-2:not([data-feature-slider-initialized]) .section-feature_slider__track {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  .section-feature_slider--slides-3:not([data-feature-slider-initialized]) .section-feature_slider__track {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 992px) {
  .section-feature_slider--slides-4:not([data-feature-slider-initialized]) .section-feature_slider__track {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1200px) {
  .section-feature_slider--slides-4:not([data-feature-slider-initialized]) .section-feature_slider__track {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 992px) {
  .section-feature_slider--slides-5:not([data-feature-slider-initialized]) .section-feature_slider__track {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1200px) {
  .section-feature_slider--slides-5:not([data-feature-slider-initialized]) .section-feature_slider__track {
    grid-template-columns: repeat(5, 1fr);
  }
}
.section-feature_slider--align-center .section-feature_slider__header {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.section-feature_slider--align-left .section-feature_slider__header {
  text-align: left;
}
.section-feature_slider--bg-dark .section-feature_slider__title {
  color: #fff;
}
.section-feature_slider--bg-dark .section-feature_slider__intro {
  color: rgba(255, 255, 255, 0.8);
}
.section-feature_slider--bg-dark .section-feature_slider__nav {
  background-color: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
  color: #fff;
}
.section-feature_slider--bg-dark .section-feature_slider__nav:hover {
  background-color: rgba(255, 255, 255, 0.2);
}
.section-feature_slider--bg-dark .tns-nav button {
  background-color: rgba(255, 255, 255, 0.3);
}
.section-feature_slider--bg-dark .tns-nav button:hover {
  background-color: rgba(255, 255, 255, 0.5);
}
.section-feature_slider--bg-dark .tns-nav button.tns-nav-active {
  background-color: #fff;
}
.section-feature_slider--simple .point-card {
  text-align: center;
}
.section-feature_slider--simple .point-card .point-card__icon {
  margin-left: auto;
  margin-right: auto;
}
.section-feature_slider--simple.section-feature_slider--layout-horizontal .point-card {
  text-align: left;
}
.section-feature_slider--simple.section-feature_slider--layout-horizontal .point-card .point-card__icon {
  margin-left: 0;
  margin-right: 0;
}
.section-feature_slider--link .point-card {
  text-align: left;
}
.section-feature_slider--button .point-card {
  text-align: center;
}
.section-feature_slider--button .point-card .point-card__icon {
  margin-left: auto;
  margin-right: auto;
}
.section-feature_slider--button .point-card .point-card__button {
  text-align: center;
}
.section-feature_slider--button.section-feature_slider--layout-horizontal .point-card {
  text-align: left;
}
.section-feature_slider--button.section-feature_slider--layout-horizontal .point-card .point-card__icon {
  margin-left: 0;
  margin-right: 0;
}
.section-feature_slider--style-card .section-feature_slider__slide {
  background-color: #fff;
  border-radius: 8px;
  padding: 32px;
  box-shadow: 0 1px 4px 0 rgba(25, 33, 61, 0.08);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.section-feature_slider--style-card .section-feature_slider__slide:hover {
  box-shadow: 0 5px 15px 0 rgba(25, 33, 61, 0.11);
  transform: translateY(-2px);
}
.section-feature_slider--style-card .tns-item .section-feature_slider__slide {
  background-color: #fff;
  border-radius: 8px;
  padding: 32px;
  box-shadow: 0 1px 4px 0 rgba(25, 33, 61, 0.08);
}
.section-feature_slider--style-card.bg-light .section-feature_slider__slide {
  background-color: #fff;
}
.section-feature_slider--style-card.bg-dark .section-feature_slider__slide {
  background-color: rgba(255, 255, 255, 0.08);
  box-shadow: none;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.section-feature_slider--style-card.bg-dark .section-feature_slider__slide:hover {
  background-color: rgba(255, 255, 255, 0.12);
  transform: translateY(-2px);
}
@media (max-width: 767px) {
  .section-feature_slider {
    padding: 48px 0;
  }
  .section-feature_slider .section-feature_slider__header {
    margin-bottom: 32px;
  }
  .section-feature_slider .section-feature_slider__track {
    gap: 24px;
  }
  .section-feature_slider .section-feature_slider__nav {
    width: 40px;
    height: 40px;
  }
  .section-feature_slider .section-feature_slider__nav--prev {
    left: 0;
  }
  .section-feature_slider .section-feature_slider__nav--next {
    right: 0;
  }
  .section-feature_slider .section-feature_slider__nav svg {
    width: 16px;
    height: 16px;
  }
}

.section-feature_slider--bg-dark .point-card .point-card__title {
  color: #fff;
}
.section-feature_slider--bg-dark .point-card .point-card__description {
  color: rgba(255, 255, 255, 0.8);
}
.section-feature_slider--bg-dark .point-card .point-card__link {
  color: #fff;
}

.section-content-cards {
  padding: 64px 0;
}
.section-content-cards .section-content-cards__grid {
  --bs-gutter-y: 24px;
}
.section-content-cards .section-content-cards__grid > [class*=col] {
  display: flex;
}
.section-content-cards .section-content-cards__grid > [class*=col] .content-card {
  width: 100%;
}
.section-content-cards .section-content-cards__wrapper {
  position: relative;
}
.section-content-cards--slider .tns-item {
  height: auto;
}
.section-content-cards--slider .section-content-cards__slide {
  padding: 0 8px;
  height: 100%;
}
.section-content-cards--slider .section-content-cards__slide .content-card {
  height: 100%;
}
.section-content-cards .section-content-cards__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -48px;
  right: -48px;
  z-index: 10;
  display: none;
  justify-content: space-between;
  pointer-events: none;
}
@media (min-width: 992px) {
  .section-content-cards .section-content-cards__nav {
    display: flex;
  }
}
@media (min-width: 1200px) {
  .section-content-cards .section-content-cards__nav {
    left: -64px;
    right: -64px;
  }
}
.section-content-cards .section-content-cards__nav-btn {
  width: 45px;
  height: 45px;
  border-radius: 8px;
  background-color: #fff;
  border: 1px solid #e0e0e0;
  cursor: pointer;
  pointer-events: auto;
  position: relative;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  font-size: 0;
  line-height: 0;
  color: transparent;
  box-shadow: 0 1px 4px 0 rgba(25, 33, 61, 0.08);
}
.section-content-cards .section-content-cards__nav-btn:hover {
  background-color: #f6f9f9;
  border-color: #111111;
  box-shadow: 0 2px 6px 0 rgba(25, 33, 61, 0.14);
}
.section-content-cards .section-content-cards__nav-btn:focus {
  outline: none;
}
.section-content-cards .section-content-cards__nav-btn:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}
.section-content-cards .section-content-cards__nav-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 15px;
  height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='14' viewBox='0 0 15 14' fill='none'%3E%3Cpath d='M6.87646 0.75L13.3495 6.92881L6.87646 13.1076' stroke='%23111111' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M13.3499 6.92871L0.75 6.92871' stroke='%23111111' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.section-content-cards .section-content-cards__nav-btn--prev::after {
  transform: translate(-50%, -50%) rotate(180deg);
}
.section-content-cards .section-content-cards__nav-btn svg {
  display: none;
}

.section-content-cards--slider .tns-outer {
  position: relative;
}
.section-content-cards--slider .tns-nav {
  display: none;
}

.section-image-cta {
  padding: 64px 0;
  overflow: hidden;
}
.section-image-cta.is-dark {
  color: #fff;
}
.section-image-cta.is-dark .image-cta__title {
  color: #fff;
}
.section-image-cta.is-dark .image-cta__content {
  color: rgba(255, 255, 255, 0.9);
}

.image-cta-inner {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
@media (min-width: 992px) {
  .image-cta-inner {
    flex-direction: row;
    align-items: center;
    gap: 64px;
  }
}

.image-cta__text {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media (min-width: 992px) {
  .image-cta__text {
    flex: 1;
    min-width: 0;
  }
}

.image-cta__title {
  margin: 0;
}

.image-cta__content {
  color: #959a9e;
}
.image-cta__content p:first-child {
  margin-top: 0;
}
.image-cta__content p:last-child {
  margin-bottom: 0;
}

.image-cta__form .gform_wrapper {
  margin: 0;
}
.image-cta__form .gform_body .gform_fields {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media (min-width: 768px) {
  .image-cta__form .gform_body .gform_fields {
    flex-direction: row;
    align-items: flex-end;
  }
}
.image-cta__form .gform_body .gfield {
  margin: 0;
  flex: 1;
}
.image-cta__form .gform_body .gfield_label {
  display: none;
}
.image-cta__form .gform_body input[type=email],
.image-cta__form .gform_body input[type=text] {
  width: 100%;
  padding: 8px 16px;
  border: 1px solid #B4B9C9;
  border-radius: 6px;
  font-size: 14px;
}
.image-cta__form .gform_body input[type=email]::placeholder,
.image-cta__form .gform_body input[type=text]::placeholder {
  color: #959a9e;
}
.image-cta__form .gform_footer {
  margin-top: 8px;
  padding: 0;
}
@media (min-width: 768px) {
  .image-cta__form .gform_footer {
    margin-top: 0;
  }
}
.image-cta__form .gform_footer input[type=submit] {
  width: 100%;
}
@media (min-width: 768px) {
  .image-cta__form .gform_footer input[type=submit] {
    width: auto;
  }
}
.image-cta__form .validation_message {
  font-size: 12px;
  margin-top: 4px;
}

.section-image-cta.is-dark .image-cta__form input[type=email],
.section-image-cta.is-dark .image-cta__form input[type=text] {
  background-color: #fff;
  border-color: #fff;
}

.image-cta__image {
  border-radius: 8px;
  overflow: hidden;
}
@media (min-width: 992px) {
  .image-cta__image {
    flex: 1;
    min-width: 0;
  }
}
.image-cta__image .image-cta__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (min-width: 992px) {
  .section-image-cta.align-top .image-cta-inner {
    align-items: flex-start;
  }
}
@media (min-width: 992px) {
  .section-image-cta.align-top .image-cta__text {
    justify-content: flex-start;
  }
}
@media (min-width: 992px) {
  .section-image-cta.align-center .image-cta-inner {
    align-items: center;
  }
}
@media (min-width: 992px) {
  .section-image-cta.align-center .image-cta__text {
    justify-content: center;
  }
}
@media (min-width: 992px) {
  .section-image-cta.align-bottom .image-cta-inner {
    align-items: flex-end;
  }
}
@media (min-width: 992px) {
  .section-image-cta.align-bottom .image-cta__text {
    justify-content: flex-end;
  }
}

@media (min-width: 992px) {
  .section-image-cta.layout-text-right .image-cta-inner {
    flex-direction: row-reverse;
  }
}

.section-image-cta.height-small .image-cta__image {
  height: 250px;
}
@media (min-width: 992px) {
  .section-image-cta.height-small .image-cta__image {
    height: 300px;
  }
}
.section-image-cta.height-medium .image-cta__image {
  height: 350px;
}
@media (min-width: 992px) {
  .section-image-cta.height-medium .image-cta__image {
    height: 450px;
  }
}
.section-image-cta.height-large .image-cta__image {
  height: 450px;
}
@media (min-width: 992px) {
  .section-image-cta.height-large .image-cta__image {
    height: 600px;
  }
}

.section-image-cta.image-touch-edges {
  padding: 0;
}
.section-image-cta.image-touch-edges .image-cta-inner {
  gap: 0;
}
@media (min-width: 992px) {
  .section-image-cta.image-touch-edges .image-cta-inner {
    align-items: stretch;
  }
}
.section-image-cta.image-touch-edges .image-cta__text {
  padding: 32px 15px;
}
@media (min-width: 992px) {
  .section-image-cta.image-touch-edges .image-cta__text {
    padding: 64px 64px 64px 15px;
  }
}
.section-image-cta.image-touch-edges .image-cta__image {
  height: 300px;
  border-radius: 0;
}
@media (min-width: 992px) {
  .section-image-cta.image-touch-edges .image-cta__image {
    height: auto;
    flex: 1;
    display: flex;
  }
}
@media (min-width: 992px) {
  .section-image-cta.image-touch-edges .image-cta__image .image-cta__img {
    height: 100%;
    min-height: 400px;
  }
}
@media (min-width: 992px) {
  .section-image-cta.image-touch-edges.layout-text-right .image-cta__text {
    padding: 64px 15px 64px 64px;
  }
}

.section-image-cta.image-bleed {
  overflow: hidden;
  padding: 0;
}
.section-image-cta.image-bleed .image-cta-inner {
  gap: 0;
}
@media (min-width: 992px) {
  .section-image-cta.image-bleed .image-cta-inner {
    gap: 64px;
    align-items: stretch;
  }
}
.section-image-cta.image-bleed .image-cta__text {
  padding: 32px 0;
}
@media (min-width: 992px) {
  .section-image-cta.image-bleed .image-cta__text {
    padding: 64px 0;
  }
}
.section-image-cta.image-bleed .image-cta__image {
  margin-left: -15px;
  margin-right: -15px;
  width: calc(100% + 30px);
  border-radius: 0;
}
@media (min-width: 992px) {
  .section-image-cta.image-bleed .image-cta__image {
    margin-left: 0;
    width: auto;
    height: auto;
    display: flex;
    margin-right: calc(-50vw + 50%);
  }
  .section-image-cta.image-bleed .image-cta__image .image-cta__img {
    height: 100%;
    object-fit: cover;
  }
}
@media (min-width: 992px) {
  .section-image-cta.image-bleed.layout-text-right .image-cta__image {
    margin-right: 0;
    margin-left: calc(-50vw + 50%);
  }
}

@media (min-width: 992px) {
  .section-image-cta.image-bleed.align-top .image-cta__text {
    justify-content: flex-start;
  }
}

@media (min-width: 992px) {
  .section-image-cta.image-bleed.align-center .image-cta__text {
    justify-content: center;
  }
}

@media (min-width: 992px) {
  .section-image-cta.image-bleed.align-bottom .image-cta__text {
    justify-content: flex-end;
  }
}

.section-image-cta.image-contained .image-cta__image {
  border-radius: 8px;
}

.section-featured-products {
  padding: 64px 0;
}
@media (min-width: 992px) {
  .section-featured-products ul.products.columns-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1200px) {
  .section-featured-products ul.products.columns-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1200px) {
  .section-featured-products ul.products.columns-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
.section-featured-products .section-featured-products__slider {
  overflow: hidden;
}
.section-featured-products .section-featured-products__slider .section-featured-products__slide {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.section-featured-products .section-featured-products__slider .section-featured-products__slide img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  border-radius: 8px;
  background-color: #f6f9f9;
  margin-bottom: 16px;
}
.section-featured-products .section-featured-products__slider .section-featured-products__slide .onsale {
  position: absolute;
  top: 8px;
  left: 8px;
  padding: 6px 8px;
  background-color: #b41d0b;
  color: #fff;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 12px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  border-radius: 4px;
  z-index: 1;
}
.section-featured-products .section-featured-products__slider .section-featured-products__slide a.woocommerce-LoopProduct-link {
  position: relative;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}
.section-featured-products .section-featured-products__slider .section-featured-products__slide .woocommerce-loop-product__title {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 24px;
  font-weight: 800;
  color: #111111;
  margin: 0 0 8px 0;
  padding: 0;
}
.section-featured-products .section-featured-products__slider .section-featured-products__slide .price {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 24px;
  font-weight: 600;
  color: #111111;
  display: block;
  margin-bottom: 8px;
}
.section-featured-products .section-featured-products__slider .section-featured-products__slide .price del {
  color: #959a9e;
  font-weight: 400;
  margin-right: 8px;
}
.section-featured-products .section-featured-products__slider .section-featured-products__slide .price ins {
  text-decoration: none;
  font-weight: 600;
}
.section-featured-products .section-featured-products__slider .section-featured-products__slide .product-short-description {
  font-size: 14px;
  line-height: 22px;
  color: #959a9e;
  margin-bottom: 16px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.section-featured-products .section-featured-products__slider .section-featured-products__slide a.button,
.section-featured-products .section-featured-products__slider .section-featured-products__slide button.button,
.section-featured-products .section-featured-products__slider .section-featured-products__slide a.btn {
  margin-top: auto;
  width: 100%;
  padding: 14px 18px;
  border: 1px solid #B4B9C9;
  border-radius: 6px;
  background-color: transparent;
  color: #b41d0b;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  text-align: center;
  text-decoration: none;
  box-shadow: none;
  transition: all 0.2s ease-in-out;
}
.section-featured-products .section-featured-products__slider .section-featured-products__slide a.button:hover,
.section-featured-products .section-featured-products__slider .section-featured-products__slide button.button:hover,
.section-featured-products .section-featured-products__slider .section-featured-products__slide a.btn:hover {
  background-color: rgba(180, 29, 11, 0.08);
  color: #8a1608;
}
.section-featured-products .section-featured-products__slider .section-featured-products__slide .added_to_cart {
  display: block;
  text-align: center;
  margin-top: 8px;
  font-size: 14px;
  line-height: 22px;
  color: #b41d0b;
  text-decoration: none;
}
.section-featured-products .section-featured-products__slider .section-featured-products__slide .added_to_cart:hover {
  text-decoration: underline;
}
.section-featured-products .section-featured-products__nav {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 24px;
}
.section-featured-products .section-featured-products__nav-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid #e0e0e0;
  background: #fff;
  color: #111111;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.section-featured-products .section-featured-products__nav-btn:hover {
  border-color: #111111;
  background-color: #111111;
  color: #fff;
}
.section-featured-products .section-featured-products__nav-btn:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}

/**
 * Archive Styles
 *
 * Imports SCSS for archive layout templates.
 * Each archive template in /parts/archives/ has its own SCSS file.
 */
.archive-grid-simple {
  padding: 64px 0;
}

.archive-grid-simple__items {
  display: grid;
  gap: 24px;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .archive-grid-simple__items {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1200px) {
  .archive-grid-simple__items {
    grid-template-columns: repeat(3, 1fr);
  }
}

.archive-grid-simple__card {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 4px 0 rgba(25, 33, 61, 0.08);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.archive-grid-simple__card:hover {
  box-shadow: 0 5px 15px 0 rgba(25, 33, 61, 0.11);
  transform: translateY(-2px);
}

.archive-grid-simple__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

.archive-grid-simple__image-wrapper {
  aspect-ratio: 16/10;
  background-color: #f6f9f9;
  overflow: hidden;
}

.archive-grid-simple__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.archive-grid-simple__card:hover .archive-grid-simple__image {
  transform: scale(1.03);
}

.archive-grid-simple__content {
  flex: 1;
  padding: 24px;
  padding-bottom: 0;
}

.archive-grid-simple__title {
  margin: 0 0 8px;
  color: #111111;
}

.archive-grid-simple__excerpt {
  color: #959a9e;
}
.archive-grid-simple__excerpt p {
  margin: 0;
}

.archive-grid-simple__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px;
  margin-top: 16px;
  border-top: 1px solid #e0e0e0;
}

.archive-grid-simple__category {
  color: #b41d0b;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.archive-grid-simple__date {
  color: #959a9e;
}

.archive-grid-simple__empty {
  text-align: center;
  color: #959a9e;
  padding: 64px 0;
}

.archive-grid-simple__pagination,
.archive-grid-simple + .navigation.pagination {
  margin-top: 48px;
}
.archive-grid-simple__pagination .nav-links,
.archive-grid-simple + .navigation.pagination .nav-links {
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}
.archive-grid-simple__pagination .page-numbers,
.archive-grid-simple + .navigation.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 16px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  color: #111111;
  text-decoration: none;
  font-size: 14px;
  transition: all 0.2s ease;
}
.archive-grid-simple__pagination .page-numbers:hover,
.archive-grid-simple + .navigation.pagination .page-numbers:hover {
  background: #f6f9f9;
  border-color: #b41d0b;
}
.archive-grid-simple__pagination .page-numbers.current,
.archive-grid-simple + .navigation.pagination .page-numbers.current {
  background: #b41d0b;
  border-color: #b41d0b;
  color: #fff;
}
.archive-grid-simple__pagination .page-numbers.prev, .archive-grid-simple__pagination .page-numbers.next,
.archive-grid-simple + .navigation.pagination .page-numbers.prev,
.archive-grid-simple + .navigation.pagination .page-numbers.next {
  padding: 0 24px;
}

.archive-grid-featured {
  padding: 64px 0;
}

.archive-grid-featured__featured {
  margin-bottom: 48px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  box-shadow: 0 1px 4px 0 rgba(25, 33, 61, 0.08);
  overflow: hidden;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.archive-grid-featured__featured:hover {
  box-shadow: 0 5px 15px 0 rgba(25, 33, 61, 0.11);
  transform: translateY(-2px);
}

.archive-grid-featured__featured-link {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}
@media (min-width: 992px) {
  .archive-grid-featured__featured-link {
    flex-direction: row;
    align-items: stretch;
  }
}

.archive-grid-featured__featured-image-wrapper {
  background-color: #f6f9f9;
  height: 280px;
  overflow: hidden;
}
@media (min-width: 768px) {
  .archive-grid-featured__featured-image-wrapper {
    height: 340px;
  }
}
@media (min-width: 992px) {
  .archive-grid-featured__featured-image-wrapper {
    width: 50%;
    flex-shrink: 0;
    height: 420px;
  }
}

.archive-grid-featured__featured-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.archive-grid-featured__featured:hover .archive-grid-featured__featured-image {
  transform: scale(1.03);
}

.archive-grid-featured__featured-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 24px;
}
@media (min-width: 992px) {
  .archive-grid-featured__featured-content {
    flex: 1;
    padding: 48px;
  }
}

.archive-grid-featured__featured-title {
  margin: 0 0 24px;
  color: #111111;
  font-size: 20px;
  line-height: 28px;
}
@media (min-width: 768px) {
  .archive-grid-featured__featured-title {
    font-size: 24px;
    line-height: 32px;
  }
}
@media (min-width: 992px) {
  .archive-grid-featured__featured-title {
    font-size: 36px;
    line-height: 40px;
  }
}

.archive-grid-featured__featured-excerpt {
  color: #959a9e;
  margin-bottom: 24px;
}
.archive-grid-featured__featured-excerpt p {
  margin: 0;
}

.archive-grid-featured__featured-divider {
  height: 1px;
  background-color: #e0e0e0;
  margin-bottom: 24px;
}

.archive-grid-featured__featured-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.archive-grid-featured__featured-badge {
  display: inline-block;
  padding: 8px 16px;
  background-color: #f6f9f9;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  color: #b41d0b;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.archive-grid-featured__featured-date {
  color: #959a9e;
}

.archive-grid-featured__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 48px;
  padding-bottom: 24px;
  border-bottom: 1px solid #e0e0e0;
}

.archive-grid-featured__filter-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 24px;
  font-size: 14px;
  font-weight: 600;
  color: #959a9e;
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
}
.archive-grid-featured__filter-btn:hover {
  background-color: #f6f9f9;
  border-color: #b41d0b;
  color: #b41d0b;
}
.archive-grid-featured__filter-btn.is-active {
  background-color: #b41d0b;
  border-color: #b41d0b;
  color: #fff;
}

.archive-grid-featured__items {
  display: grid;
  gap: 24px;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .archive-grid-featured__items {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 768px) {
  .archive-grid-featured--cols-2 .archive-grid-featured__items {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1200px) {
  .archive-grid-featured--cols-3 .archive-grid-featured__items {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 992px) {
  .archive-grid-featured--cols-4 .archive-grid-featured__items {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1200px) {
  .archive-grid-featured--cols-4 .archive-grid-featured__items {
    grid-template-columns: repeat(4, 1fr);
  }
}

.archive-grid-featured__card {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 4px 0 rgba(25, 33, 61, 0.08);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.archive-grid-featured__card:hover {
  box-shadow: 0 5px 15px 0 rgba(25, 33, 61, 0.11);
  transform: translateY(-2px);
}

.archive-grid-featured__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

.archive-grid-featured__image-wrapper {
  aspect-ratio: 16/10;
  background-color: #f6f9f9;
  overflow: hidden;
}

.archive-grid-featured__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.archive-grid-featured__card:hover .archive-grid-featured__image {
  transform: scale(1.03);
}

.archive-grid-featured__content {
  flex: 1;
  padding: 24px;
  padding-bottom: 0;
}

.archive-grid-featured__title {
  margin: 0 0 8px;
  color: #111111;
}

.archive-grid-featured__excerpt {
  color: #959a9e;
}
.archive-grid-featured__excerpt p {
  margin: 0;
}

.archive-grid-featured__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px;
  margin-top: 16px;
  border-top: 1px solid #e0e0e0;
}

.archive-grid-featured__category {
  color: #b41d0b;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.archive-grid-featured__date {
  color: #959a9e;
}

.archive-grid-featured__empty {
  text-align: center;
  color: #959a9e;
  padding: 64px 0;
}

.archive-grid-featured__pagination,
.archive-grid-featured + .navigation.pagination {
  margin-top: 48px;
}
.archive-grid-featured__pagination .nav-links,
.archive-grid-featured + .navigation.pagination .nav-links {
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}
.archive-grid-featured__pagination .page-numbers,
.archive-grid-featured + .navigation.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 16px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  color: #111111;
  text-decoration: none;
  font-size: 14px;
  transition: all 0.2s ease;
}
.archive-grid-featured__pagination .page-numbers:hover,
.archive-grid-featured + .navigation.pagination .page-numbers:hover {
  background: #f6f9f9;
  border-color: #b41d0b;
}
.archive-grid-featured__pagination .page-numbers.current,
.archive-grid-featured + .navigation.pagination .page-numbers.current {
  background: #b41d0b;
  border-color: #b41d0b;
  color: #fff;
}
.archive-grid-featured__pagination .page-numbers.prev, .archive-grid-featured__pagination .page-numbers.next,
.archive-grid-featured + .navigation.pagination .page-numbers.prev,
.archive-grid-featured + .navigation.pagination .page-numbers.next {
  padding: 0 24px;
}

.archive-list {
  padding: 64px 0;
}

.archive-list__items {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.archive-list__card {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
}

.archive-list__link {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}
@media (min-width: 992px) {
  .archive-list__link {
    flex-direction: row;
    align-items: center;
    gap: 24px;
  }
}

.archive-list__image-wrapper {
  flex-shrink: 0;
  background-color: #f6f9f9;
  border-radius: 8px;
  overflow: hidden;
  aspect-ratio: 16/10;
}
@media (min-width: 992px) {
  .archive-list__image-wrapper {
    width: 50%;
    max-width: 571px;
    aspect-ratio: 571/354;
  }
}

.archive-list__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.archive-list__card:hover .archive-list__image {
  transform: scale(1.03);
}

.archive-list__content {
  flex: 1;
  padding: 24px 0;
}
@media (min-width: 992px) {
  .archive-list__content {
    padding: 0;
  }
}

.archive-list__meta {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.archive-list__icon {
  width: 15px;
  height: 15px;
  color: #959a9e;
  flex-shrink: 0;
}

.archive-list__date,
.archive-list__category {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 16px;
  line-height: 24px;
  color: #959a9e;
}
.archive-list__date time,
.archive-list__date span,
.archive-list__category time,
.archive-list__category span {
  color: inherit;
}

.archive-list__divider {
  width: 22px;
  height: 1px;
  background-color: #e0e0e0;
}

.archive-list__title {
  margin: 0 0 24px;
  color: #111111;
  transition: color 0.2s ease;
}
.archive-list__card:hover .archive-list__title {
  color: #b41d0b;
}

.archive-list__excerpt {
  color: #959a9e;
}
.archive-list__excerpt p {
  margin: 0;
}

.archive-list__empty {
  text-align: center;
  color: #959a9e;
  padding: 64px 0;
}

.archive-list__pagination,
.archive-list + .navigation.pagination {
  margin-top: 48px;
}
.archive-list__pagination .nav-links,
.archive-list + .navigation.pagination .nav-links {
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}
.archive-list__pagination .page-numbers,
.archive-list + .navigation.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 16px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  color: #111111;
  text-decoration: none;
  font-size: 14px;
  transition: all 0.2s ease;
}
.archive-list__pagination .page-numbers:hover,
.archive-list + .navigation.pagination .page-numbers:hover {
  background: #f6f9f9;
  border-color: #b41d0b;
}
.archive-list__pagination .page-numbers.current,
.archive-list + .navigation.pagination .page-numbers.current {
  background: #b41d0b;
  border-color: #b41d0b;
  color: #fff;
}
.archive-list__pagination .page-numbers.prev, .archive-list__pagination .page-numbers.next,
.archive-list + .navigation.pagination .page-numbers.prev,
.archive-list + .navigation.pagination .page-numbers.next {
  padding: 0 24px;
}

.search-results__header {
  margin-top: 48px;
  margin-bottom: 48px;
  padding-bottom: 32px;
  border-bottom: 1px solid #e0e0e0;
}

.search-results__title {
  margin: 0 0 8px;
  color: #111111;
}

.search-results__query {
  color: #b41d0b;
}

.search-results__count {
  margin: 0 0 24px;
  color: #959a9e;
}

.search-results__form {
  display: flex;
  gap: 16px;
  margin-top: 24px;
}

.search-results__input {
  flex: 1;
  padding: 8px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  font-size: 16px;
  line-height: 24px;
  color: #111111;
  background: #fff;
  transition: border-color 0.2s ease;
}
.search-results__input:focus {
  outline: none;
  border-color: #b41d0b;
}
.search-results__input::placeholder {
  color: #959a9e;
}

.search-results__submit {
  padding: 8px 24px;
  background: #b41d0b;
  border: none;
  border-radius: 6px;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.search-results__submit:hover {
  background: #8a1608;
}

.search-results__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
@media (min-width: 768px) {
  .search-results__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
  }
}

.search-results__card {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 24px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.search-results__card:hover {
  border-color: #b41d0b;
  box-shadow: 0 2px 6px 0 rgba(25, 33, 61, 0.14);
}
.search-results__card--has-image .search-results__link {
  display: flex;
  gap: 16px;
}

.search-results__link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.search-results__thumb {
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  border-radius: 6px;
  overflow: hidden;
}
@media (min-width: 768px) {
  .search-results__thumb {
    width: 100px;
    height: 100px;
  }
}

.search-results__thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.search-results__content {
  flex: 1;
  min-width: 0;
}

.search-results__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 16px;
}

.search-results__badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  background-color: #f6f9f9;
  border-radius: 4px;
  font-size: 12px;
  line-height: 18px;
  color: #59595c;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.search-results__date {
  font-size: 12px;
  line-height: 18px;
  color: #959a9e;
}

.search-results__item-title {
  margin: 0 0 8px;
  color: #111111;
  transition: color 0.2s ease;
}
.search-results__card:hover .search-results__item-title {
  color: #b41d0b;
}

.search-results__excerpt {
  color: #959a9e;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.search-results__excerpt p {
  margin: 0;
}

.search-results__empty {
  text-align: center;
  padding: 64px 0;
}

.search-results__empty-text {
  margin: 0 0 16px;
  color: #111111;
}
.search-results__empty-text strong {
  color: #b41d0b;
}

.search-results__empty-suggestion {
  margin: 0;
  color: #959a9e;
}

.search-results__pagination,
.search-results + .navigation.pagination {
  margin-top: 48px;
  margin-bottom: 64px;
}
.search-results__pagination .nav-links,
.search-results + .navigation.pagination .nav-links {
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}
.search-results__pagination .page-numbers,
.search-results + .navigation.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 16px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  color: #111111;
  text-decoration: none;
  font-size: 14px;
  transition: all 0.2s ease;
}
.search-results__pagination .page-numbers:hover,
.search-results + .navigation.pagination .page-numbers:hover {
  background: #f6f9f9;
  border-color: #b41d0b;
}
.search-results__pagination .page-numbers.current,
.search-results + .navigation.pagination .page-numbers.current {
  background: #b41d0b;
  border-color: #b41d0b;
  color: #fff;
}
.search-results__pagination .page-numbers.prev, .search-results__pagination .page-numbers.next,
.search-results + .navigation.pagination .page-numbers.prev,
.search-results + .navigation.pagination .page-numbers.next {
  padding: 0 24px;
}

/**
 * Single Styles
 *
 * Imports SCSS for single post layout templates.
 * Each single template in /parts/singles/ has its own SCSS file.
 */
.single-sidebar-sticky {
  padding: 64px 0;
}
.single-sidebar-sticky .container {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media (min-width: 1200px) {
  .single-sidebar-sticky .container {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 48px;
  }
}
.single-sidebar-sticky__content {
  order: 2;
}
@media (min-width: 1200px) {
  .single-sidebar-sticky__content {
    order: 1;
  }
}
.single-sidebar-sticky__body > *:first-child {
  margin-top: 0;
}
.single-sidebar-sticky__body > *:last-child {
  margin-bottom: 0;
}
.single-sidebar-sticky__body h2 {
  scroll-margin-top: 32px;
}
.single-sidebar-sticky__sidebar {
  order: 1;
}
@media (min-width: 1200px) {
  .single-sidebar-sticky__sidebar {
    order: 2;
  }
}
.single-sidebar-sticky__sidebar-inner {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media (min-width: 1200px) {
  .single-sidebar-sticky__sidebar-inner {
    position: sticky;
    top: 24px;
  }
}
.single-sidebar-sticky__toc {
  padding: 24px;
  background-color: #f6f9f9;
  border-radius: 8px;
}
.single-sidebar-sticky__toc-title {
  margin-bottom: 16px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #959a9e;
}
.single-sidebar-sticky__toc-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.single-sidebar-sticky__toc-link {
  display: block;
  padding: 4px 0;
  padding-left: 16px;
  color: #111111;
  font-size: 14px;
  text-decoration: none;
  border-left: 2px solid transparent;
  transition: all 0.2s ease;
}
.single-sidebar-sticky__toc-link:hover {
  color: #b41d0b;
  border-left-color: #b41d0b;
}
.single-sidebar-sticky__toc-link.is-active {
  color: #b41d0b;
  font-weight: 600;
  border-left-color: #b41d0b;
}
.single-sidebar-sticky__share {
  padding: 24px;
  background-color: #f6f9f9;
  border-radius: 8px;
}
.single-sidebar-sticky__share-title {
  margin-bottom: 16px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #959a9e;
}
.single-sidebar-sticky__share-links {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.single-sidebar-sticky__share-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #e0e0e0;
  color: #111111;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
}
.single-sidebar-sticky__share-link svg {
  width: 18px;
  height: 18px;
}
.single-sidebar-sticky__share-link:hover {
  background-color: #b41d0b;
  border-color: #b41d0b;
  color: #fff;
}
.single-sidebar-sticky__share-link--facebook:hover {
  background-color: #1877f2;
  border-color: #1877f2;
}
.single-sidebar-sticky__share-link--twitter:hover {
  background-color: #000000;
  border-color: #000000;
}
.single-sidebar-sticky__share-link--linkedin:hover {
  background-color: #0077b5;
  border-color: #0077b5;
}
.single-sidebar-sticky__share-link--copy .icon-check {
  display: none;
}
.single-sidebar-sticky__share-link--copy.is-copied {
  background-color: #28a745;
  border-color: #28a745;
  color: #fff;
}
.single-sidebar-sticky__share-link--copy.is-copied .icon-copy {
  display: none;
}
.single-sidebar-sticky__share-link--copy.is-copied .icon-check {
  display: flex;
}

/**
 * WooCommerce Styles
 *
 * Main import file for all WooCommerce partials.
 * All styles are scoped under .woocommerce / .woocommerce-page
 * so they are inert when WooCommerce is not active.
 *
 * To remove: delete this folder and remove the @use line from style.scss.
 */
/**
 * Product Cards & Shop Grid
 *
 * Styles for the shop/archive product grid (ul.products)
 * and individual product cards (li.product).
 *
 * Buttons: Loop add-to-cart buttons receive .btn .btn--outline .btn--secondary
 * classes via PHP filter (functions/woocommerce.php), so the theme's existing
 * button system handles their styling. No button styles recreated here.
 *
 * Design reference: Figma eCommerce Cards V1
 *   Desktop: node-id=58-71219
 *   Mobile:  node-id=25-13295
 */
.woocommerce-content {
  padding: 48px 0;
  overflow: hidden;
}
@media (min-width: 992px) {
  .woocommerce-content {
    padding: 64px 0;
  }
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  margin-bottom: 24px;
  font-size: 14px;
  line-height: 22px;
  color: #959a9e;
}
.woocommerce .woocommerce-result-count {
  float: none;
}
@media (min-width: 768px) {
  .woocommerce .woocommerce-result-count {
    float: left;
  }
}
.woocommerce .woocommerce-ordering {
  float: none;
}
@media (min-width: 768px) {
  .woocommerce .woocommerce-ordering {
    float: right;
  }
}
.woocommerce .woocommerce-ordering select {
  width: 100%;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  padding: 8px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  background-color: #fff;
  color: #111111;
  cursor: pointer;
}
@media (min-width: 768px) {
  .woocommerce .woocommerce-ordering select {
    width: auto;
  }
}
.woocommerce .woocommerce-ordering select:focus {
  border-color: #b41d0b;
  outline: none;
}
.woocommerce .woocommerce-ordering select:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}

.woocommerce ul.products {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  list-style: none;
  padding: 0;
  margin: 0;
  clear: both;
}
@media (min-width: 576px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 24px;
    row-gap: 48px;
  }
}
@media (min-width: 1200px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(4, 1fr);
  }
}
.woocommerce ul.products::before, .woocommerce ul.products::after {
  display: none;
}

.woocommerce ul.products li.product {
  display: flex;
  flex-direction: column;
  position: relative;
  margin: 0;
  padding: 0;
  float: none;
  width: auto;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}
.woocommerce ul.products li.product img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  border-radius: 8px;
  background-color: #f6f9f9;
  margin-bottom: 16px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 24px;
  font-weight: 800;
  color: #111111;
  margin: 0 0 8px 0;
  padding: 0;
}
.woocommerce ul.products li.product .star-rating {
  margin-bottom: 8px;
}
.woocommerce ul.products li.product .price {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 24px;
  font-weight: 600;
  color: #111111;
  display: block;
  margin-bottom: 8px;
}
.woocommerce ul.products li.product .price del {
  color: #959a9e;
  font-weight: 400;
  margin-right: 8px;
}
.woocommerce ul.products li.product .price ins {
  text-decoration: none;
  font-weight: 600;
}
.woocommerce ul.products li.product .product-short-description {
  font-size: 14px;
  line-height: 22px;
  font-weight: 400;
  color: #959a9e;
  margin-bottom: 16px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product button.button,
.woocommerce ul.products li.product a.btn {
  margin-top: auto;
  width: 100%;
  padding: 14px 18px;
  border: 1px solid #B4B9C9;
  border-radius: 6px;
  background-color: transparent;
  color: #b41d0b;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  text-align: center;
  text-decoration: none;
  box-shadow: none;
  transition: all 0.2s ease-in-out;
}
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product button.button:hover,
.woocommerce ul.products li.product a.btn:hover {
  background-color: rgba(180, 29, 11, 0.08);
  color: #8a1608;
}
.woocommerce ul.products li.product a.button:focus-visible,
.woocommerce ul.products li.product button.button:focus-visible,
.woocommerce ul.products li.product a.btn:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}
.woocommerce ul.products li.product .added_to_cart {
  display: block;
  text-align: center;
  margin-top: 8px;
  font-size: 14px;
  line-height: 22px;
  color: #b41d0b;
  text-decoration: none;
}
.woocommerce ul.products li.product .added_to_cart:hover {
  text-decoration: underline;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
  position: relative;
}
.woocommerce ul.products li.product span.onsale {
  position: absolute;
  top: 8px;
  left: 8px;
  right: auto;
  margin: 0;
  min-width: 0;
  min-height: 0;
  padding: 6px 8px;
  background-color: #b41d0b;
  color: #fff;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 12px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  border-radius: 4px;
  z-index: 1;
}

.woocommerce .star-rating {
  overflow: hidden;
  position: relative;
  height: 1em;
  width: 5.4em;
  font-size: 14px;
  line-height: 1;
  font-family: inherit;
}
.woocommerce .star-rating::before {
  content: "★★★★★";
  color: #e0e0e0;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
}
.woocommerce .star-rating span {
  overflow: hidden;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
  padding-top: 1.5em;
}
.woocommerce .star-rating span::before {
  content: "★★★★★";
  top: 0;
  position: absolute;
  left: 0;
  color: #F59E0B;
}

.woocommerce nav.woocommerce-pagination {
  margin-top: 48px;
  text-align: center;
}
.woocommerce nav.woocommerce-pagination ul {
  display: inline-flex;
  gap: 4px;
  list-style: none;
  padding: 0;
  margin: 0;
  border: none;
}
.woocommerce nav.woocommerce-pagination ul li {
  margin: 0;
  border: none;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 8px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 22px;
  font-weight: 600;
  color: #111111;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background-color: #f6f9f9;
  border-color: #111111;
}
.woocommerce nav.woocommerce-pagination ul li a:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background-color: #111111;
  border-color: #111111;
  color: #fff;
}

.woocommerce .woocommerce-info {
  padding: 24px;
  background-color: #f6f9f9;
  border-radius: 4px;
  font-size: 16px;
  line-height: 24px;
  color: #111111;
  border-left: 4px solid #b41d0b;
  margin-bottom: 24px;
}
.woocommerce .woocommerce-info a {
  color: #b41d0b;
  font-weight: 600;
}

/**
 * Single Product Page
 *
 * Layout: product gallery (left) + summary (right) on desktop,
 * stacked on mobile. Tabs below. Related products at bottom.
 *
 * Buttons: The single add-to-cart button inherits base button styles
 * from _buttons.scss (which targets `button` elements). We only add
 * color/sizing overrides here using theme variables.
 */
.woocommerce div.product {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}
@media (min-width: 992px) {
  .woocommerce div.product {
    grid-template-columns: 1fr 1fr;
    gap: 48px;
  }
}
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related.products,
.woocommerce div.product .up-sells.products,
.woocommerce div.product .woo-aos-full {
  grid-column: 1/-1;
}
.woocommerce div.product .woo-aos-gallery {
  position: relative;
}

.woocommerce div.product .woocommerce-product-gallery {
  position: relative;
  margin: 0;
  padding: 0;
}
.woocommerce div.product .woocommerce-product-gallery .flex-viewport {
  width: 100% !important;
}
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  margin: 0;
}
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image {
  border-radius: 8px;
  overflow: hidden;
  background-color: #f6f9f9;
}
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image a {
  display: block;
}
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs {
  display: flex;
  gap: 8px;
  margin-top: 16px;
  padding: 0;
  list-style: none;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li {
  flex: 0 0 auto;
  width: 80px;
  height: 80px;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
  border: 2px solid transparent;
  cursor: pointer;
  opacity: 0.6;
  transition: all 0.2s ease-in-out;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li img:hover, .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
  opacity: 1;
  border-color: #111111;
}
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 1;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 4px;
  text-decoration: none;
  font-size: 0;
}
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger::before {
  content: "🔍";
  font-size: 18px;
}

@media (min-width: 992px) {
  .woocommerce div.product .summary.entry-summary {
    position: sticky;
    top: 24px;
    align-self: start;
  }
}
.woocommerce div.product .summary.entry-summary .product_title {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 36px;
  line-height: 40px;
  font-weight: 800;
  color: #111111;
  margin: 0 0 24px 0;
}
@media (min-width: 992px) {
  .woocommerce div.product .summary.entry-summary .product_title {
    font-size: 48px;
    line-height: 48px;
  }
}
.woocommerce div.product .summary.entry-summary .woocommerce-product-rating {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
}
.woocommerce div.product .summary.entry-summary .woocommerce-product-rating .star-rating {
  font-size: 14px;
}
.woocommerce div.product .summary.entry-summary .woocommerce-product-rating .woocommerce-review-link {
  font-size: 14px;
  color: #959a9e;
  text-decoration: none;
}
.woocommerce div.product .summary.entry-summary .woocommerce-product-rating .woocommerce-review-link:hover {
  color: #b41d0b;
}
.woocommerce div.product .summary.entry-summary .price {
  font-size: 24px;
  line-height: 32px;
  font-weight: 600;
  color: #111111;
  margin-bottom: 24px;
}
.woocommerce div.product .summary.entry-summary .price del {
  color: #959a9e;
  font-weight: 400;
  margin-right: 8px;
}
.woocommerce div.product .summary.entry-summary .price ins {
  text-decoration: none;
}
.woocommerce div.product .summary.entry-summary .woocommerce-product-details__short-description {
  font-size: 16px;
  line-height: 24px;
  color: #959a9e;
  margin-bottom: 24px;
}
.woocommerce div.product .summary.entry-summary .woocommerce-product-details__short-description p:last-child {
  margin-bottom: 0;
}

.woocommerce div.product form.cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-bottom: 32px;
}
.woocommerce div.product form.cart .quantity input.qty {
  width: 60px;
  height: 48px;
  text-align: center;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 600;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  color: #111111;
  padding: 8px;
  -moz-appearance: textfield;
}
.woocommerce div.product form.cart .quantity input.qty:focus {
  border-color: #b41d0b;
  outline: none;
}
.woocommerce div.product form.cart .quantity input.qty:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}
.woocommerce div.product form.cart .quantity input.qty::-webkit-inner-spin-button, .woocommerce div.product form.cart .quantity input.qty::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.woocommerce div.product form.cart .single_add_to_cart_button {
  flex: 1;
  min-width: 200px;
  height: 48px;
  background-color: #b41d0b;
  color: #fff;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background-color: #8a1608;
}
.woocommerce div.product form.cart .single_add_to_cart_button:disabled, .woocommerce div.product form.cart .single_add_to_cart_button.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.woocommerce div.product form.cart.grouped_form {
  display: block;
}
.woocommerce div.product form.cart.grouped_form .woocommerce-grouped-product-list {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 24px;
}
.woocommerce div.product form.cart.grouped_form .woocommerce-grouped-product-list tr {
  border-bottom: 1px solid #e0e0e0;
}
.woocommerce div.product form.cart.grouped_form .woocommerce-grouped-product-list tr:last-child {
  border-bottom: none;
}
.woocommerce div.product form.cart.grouped_form .woocommerce-grouped-product-list td {
  padding: 16px 8px;
  vertical-align: middle;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  color: #111111;
}
.woocommerce div.product form.cart.grouped_form .woocommerce-grouped-product-list td:first-child {
  padding-left: 0;
}
.woocommerce div.product form.cart.grouped_form .woocommerce-grouped-product-list td:last-child {
  padding-right: 0;
  text-align: right;
}
.woocommerce div.product form.cart.grouped_form .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__quantity {
  width: 70px;
}
.woocommerce div.product form.cart.grouped_form .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__label label {
  font-weight: 600;
  margin: 0;
}
.woocommerce div.product form.cart.grouped_form .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__label a {
  color: #111111;
  text-decoration: none;
}
.woocommerce div.product form.cart.grouped_form .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__label a:hover {
  color: #b41d0b;
}
.woocommerce div.product form.cart.grouped_form .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__price {
  font-weight: 600;
  white-space: nowrap;
}
.woocommerce div.product form.cart.grouped_form .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__price del {
  color: #959a9e;
  font-weight: 400;
  margin-right: 4px;
}
.woocommerce div.product form.cart.grouped_form .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__price ins {
  text-decoration: none;
}
.woocommerce div.product form.cart.grouped_form .single_add_to_cart_button {
  width: 100%;
}
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
}
.woocommerce div.product form.cart .variations {
  width: 100%;
  margin-bottom: 16px;
  border-collapse: collapse;
}
.woocommerce div.product form.cart .variations tr {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.woocommerce div.product form.cart .variations tr:last-child {
  margin-bottom: 0;
}
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td {
  display: block;
  padding: 0;
  border: none;
}
.woocommerce div.product form.cart .variations th.label {
  flex-shrink: 0;
}
.woocommerce div.product form.cart .variations th.label label {
  font-size: 14px;
  font-weight: 600;
  color: #111111;
}
.woocommerce div.product form.cart .variations td.value {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.woocommerce div.product form.cart .variations select {
  flex: 1;
  min-width: 0;
  padding: 8px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  color: #111111;
  background-color: #fff;
}
.woocommerce div.product form.cart .variations select:focus {
  border-color: #b41d0b;
  outline: none;
}
.woocommerce div.product form.cart .variations select:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}
.woocommerce div.product form.cart .variations .reset_variations {
  flex-shrink: 0;
  font-size: 14px;
  color: #b41d0b;
  text-decoration: none;
  white-space: nowrap;
}
.woocommerce div.product form.cart .variations .reset_variations:hover {
  text-decoration: underline;
}

.woocommerce div.product .product_meta {
  font-size: 14px;
  line-height: 22px;
  color: #959a9e;
  padding-top: 24px;
  border-top: 1px solid #e0e0e0;
}
.woocommerce div.product .product_meta > span {
  display: block;
  margin-bottom: 4px;
}
.woocommerce div.product .product_meta > span a {
  color: #b41d0b;
  text-decoration: none;
}
.woocommerce div.product .product_meta > span a:hover {
  text-decoration: underline;
}

.woocommerce div.product .woocommerce-tabs {
  margin-top: 32px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  gap: 0;
  list-style: none;
  padding: 0;
  margin: 0 0 32px 0;
  border-bottom: 1px solid #e0e0e0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  margin: 0;
  padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 16px 24px;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #959a9e;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: all 0.2s ease-in-out;
  margin-bottom: -1px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: #111111;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: -2px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: #111111;
  border-bottom-color: #111111;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
  font-size: 16px;
  line-height: 24px;
  color: #111111;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel > *:first-child {
  margin-top: 0;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel > *:last-child {
  margin-bottom: 0;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h2 {
  font-size: 24px;
  line-height: 32px;
  font-weight: 800;
  margin: 32px 0 16px 0;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h2:first-child {
  margin-top: 0;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h3 {
  font-size: 20px;
  line-height: 28px;
  font-weight: 600;
  margin: 32px 0 8px 0;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel p {
  margin: 0 0 16px 0;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel ul,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel ol {
  margin: 0 0 16px 0;
  padding-left: 24px;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel ul li,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel ol li {
  margin-bottom: 4px;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel ul li:last-child,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel ol li:last-child {
  margin-bottom: 0;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel blockquote {
  margin: 24px 0;
  padding: 24px;
  background-color: #f6f9f9;
  border-left: 3px solid #b41d0b;
  border-radius: 4px;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel blockquote p {
  font-style: italic;
  margin-bottom: 8px;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel blockquote p:last-child {
  margin-bottom: 0;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel blockquote cite {
  font-size: 14px;
  color: #959a9e;
  font-style: normal;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel table {
  width: 100%;
  border-collapse: collapse;
  margin: 16px 0;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel table th,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel table td {
  padding: 8px 16px;
  border-bottom: 1px solid #e0e0e0;
  text-align: left;
  font-size: 14px;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel table th {
  font-weight: 600;
  width: 30%;
}

.woocommerce div.product .related.products,
.woocommerce div.product .up-sells.products {
  margin-top: 32px;
  padding-top: 48px;
  border-top: 1px solid #e0e0e0;
}
.woocommerce div.product .related.products > h2,
.woocommerce div.product .up-sells.products > h2 {
  font-size: 30px;
  line-height: 36px;
  font-weight: 800;
  color: #111111;
  margin: 0 0 32px 0;
}

.woocommerce div.product {
  position: relative;
}
.woocommerce div.product > .onsale,
.woocommerce div.product > .woo-aos-gallery .onsale {
  position: absolute;
  top: 16px;
  left: 16px;
  right: auto;
  margin: 0;
  min-width: 0;
  min-height: 0;
  padding: 6px 8px;
  background-color: #b41d0b;
  color: #fff;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 12px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  border-radius: 4px;
  z-index: 1;
}

.woocommerce div.product .stock {
  font-size: 14px;
  line-height: 22px;
  margin-bottom: 16px;
}
.woocommerce div.product .stock.in-stock {
  color: #28a745;
}
.woocommerce div.product .stock.out-of-stock {
  color: #dc3545;
}

@font-face {
  font-family: "star";
  src: url("../../../plugins/woocommerce/assets/fonts/star.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
.woocommerce .star-rating {
  overflow: hidden;
  position: relative;
  height: 1em;
  line-height: 1;
  font-size: 16px;
  width: 5.4em;
  font-family: "star";
  color: #F59E0B;
}
.woocommerce .star-rating::before {
  content: "sssss";
  float: left;
  top: 0;
  left: 0;
  position: absolute;
  color: #e0e0e0;
}
.woocommerce .star-rating span {
  overflow: hidden;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
  padding-top: 1.5em;
}
.woocommerce .star-rating span::before {
  content: "SSSSS";
  top: 0;
  position: absolute;
  left: 0;
}

.woocommerce div.product #reviews .woocommerce-Reviews-title {
  font-size: 24px;
  line-height: 32px;
  font-weight: 800;
  margin: 0 0 32px 0;
}
.woocommerce div.product #reviews .commentlist {
  list-style: none;
  padding: 0;
  margin: 0 0 48px 0;
}
.woocommerce div.product #reviews .commentlist .review {
  padding: 24px 0;
  border-bottom: 1px solid #e0e0e0;
}
.woocommerce div.product #reviews .commentlist .review:first-child {
  padding-top: 0;
}
.woocommerce div.product #reviews .commentlist .review:last-child {
  border-bottom: none;
}
.woocommerce div.product #reviews .commentlist .comment_container {
  display: flex;
  gap: 16px;
}
.woocommerce div.product #reviews .commentlist img.avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  flex-shrink: 0;
  object-fit: cover;
}
.woocommerce div.product #reviews .commentlist .comment-text {
  flex: 1;
  min-width: 0;
}
.woocommerce div.product #reviews .commentlist .comment-text .star-rating {
  margin-bottom: 4px;
}
.woocommerce div.product #reviews .commentlist .comment-text .meta {
  font-size: 14px;
  color: #959a9e;
  margin: 0 0 8px 0;
}
.woocommerce div.product #reviews .commentlist .comment-text .meta .woocommerce-review__author {
  color: #111111;
  font-weight: 600;
}
.woocommerce div.product #reviews .commentlist .comment-text .meta .woocommerce-review__dash {
  margin: 0 4px;
}
.woocommerce div.product #reviews .commentlist .comment-text .description {
  font-size: 14px;
  line-height: 22px;
  color: #111111;
}
.woocommerce div.product #reviews .commentlist .comment-text .description p:last-child {
  margin-bottom: 0;
}
.woocommerce div.product #reviews p.stars {
  margin: 0 0 16px 0;
}
.woocommerce div.product #reviews p.stars a {
  position: relative;
  display: inline-block;
  height: 1em;
  width: 1em;
  text-indent: -9999px;
  font-size: 20px;
  text-decoration: none;
}
.woocommerce div.product #reviews p.stars a::before {
  content: "s";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  line-height: 1;
  font-family: "star";
  text-indent: 0;
  color: #e0e0e0;
}
.woocommerce div.product #reviews p.stars a:hover ~ a::before {
  color: #e0e0e0;
}
.woocommerce div.product #reviews p.stars a:hover::before, .woocommerce div.product #reviews p.stars a.active::before {
  content: "S";
  color: #F59E0B;
}
.woocommerce div.product #reviews p.stars:hover a::before {
  content: "S";
  color: #F59E0B;
}
.woocommerce div.product #reviews p.stars.selected a.active ~ a::before {
  content: "s";
  color: #e0e0e0;
}
.woocommerce div.product #reviews p.stars.selected a::before {
  content: "S";
  color: #F59E0B;
}
.woocommerce div.product #reviews #review_form_wrapper {
  background-color: #f6f9f9;
  border-radius: 8px;
  padding: 32px;
}
.woocommerce div.product #reviews .comment-reply-title {
  font-size: 20px;
  line-height: 28px;
  font-weight: 600;
  color: #111111;
  display: block;
  margin-bottom: 24px;
}
.woocommerce div.product #reviews #commentform label {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #111111;
  display: block;
  margin-bottom: 4px;
}
.woocommerce div.product #reviews #commentform textarea,
.woocommerce div.product #reviews #commentform input[type=text],
.woocommerce div.product #reviews #commentform input[type=email] {
  width: 100%;
  padding: 8px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  color: #111111;
  background-color: #fff;
  margin-bottom: 16px;
}
.woocommerce div.product #reviews #commentform textarea:focus,
.woocommerce div.product #reviews #commentform input[type=text]:focus,
.woocommerce div.product #reviews #commentform input[type=email]:focus {
  border-color: #b41d0b;
  outline: none;
}
.woocommerce div.product #reviews #commentform textarea:focus-visible,
.woocommerce div.product #reviews #commentform input[type=text]:focus-visible,
.woocommerce div.product #reviews #commentform input[type=email]:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}
.woocommerce div.product #reviews #commentform textarea {
  min-height: 120px;
  resize: vertical;
}
.woocommerce div.product #reviews #commentform input[type=submit] {
  background-color: #b41d0b;
  color: #fff;
  box-shadow: 0 1px 4px rgba(25, 33, 61, 0.08);
}
.woocommerce div.product #reviews #commentform input[type=submit]:hover {
  background-color: #8a1608;
}

/**
 * Cart Page
 *
 * Styles for the WooCommerce cart page: product table,
 * quantity controls, coupon form, and cart totals.
 *
 * Buttons: Primary action buttons (Proceed to Checkout, Apply Coupon, etc.)
 * inherit base styles from _buttons.scss via the `button` selector.
 * Only color overrides are applied here using theme variables.
 */
.woocommerce table.shop_table {
  width: 100%;
  border-collapse: collapse;
  border: none;
  border-radius: 0;
}
.woocommerce table.shop_table thead {
  display: none;
}
@media (min-width: 992px) {
  .woocommerce table.shop_table thead {
    display: table-header-group;
  }
}
.woocommerce table.shop_table thead th {
  padding: 16px 16px 16px 0;
  font-size: 14px;
  font-weight: 600;
  color: #959a9e;
  text-align: left;
  border-bottom: 1px solid #e0e0e0;
}
.woocommerce table.shop_table thead th:last-child {
  padding-right: 0;
}
.woocommerce table.shop_table thead th.product-remove {
  width: 40px;
}
.woocommerce table.shop_table tbody td {
  padding: 24px 0;
  border-bottom: 1px solid #e0e0e0;
  vertical-align: middle;
  font-size: 16px;
  line-height: 24px;
}
@media (min-width: 992px) {
  .woocommerce table.shop_table tbody td {
    padding: 24px 16px 24px 0;
  }
}
@media (max-width: 991px) {
  .woocommerce table.shop_table tbody tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 24px 0;
    border-bottom: 1px solid #e0e0e0;
  }
  .woocommerce table.shop_table tbody tr td {
    padding: 0;
    border-bottom: none;
  }
  .woocommerce table.shop_table tbody tr td.product-remove {
    order: -1;
    flex: 0 0 auto;
  }
  .woocommerce table.shop_table tbody tr td.product-thumbnail {
    flex: 0 0 80px;
  }
  .woocommerce table.shop_table tbody tr td.product-name {
    flex: 1;
    min-width: 0;
  }
  .woocommerce table.shop_table tbody tr td.product-price,
  .woocommerce table.shop_table tbody tr td.product-quantity,
  .woocommerce table.shop_table tbody tr td.product-subtotal {
    flex: 0 0 auto;
  }
}

.woocommerce a.remove {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  font-size: 20px;
  line-height: 1;
  color: #959a9e;
  text-decoration: none;
  border-radius: 4px;
  transition: all 0.2s ease-in-out;
}
.woocommerce a.remove:hover {
  background-color: rgba(220, 53, 69, 0.1);
  color: #dc3545;
}
.woocommerce a.remove:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}
.woocommerce table.shop_table .product-thumbnail img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 4px;
  background-color: #f6f9f9;
}
.woocommerce table.shop_table .product-name a {
  color: #111111;
  font-weight: 600;
  text-decoration: none;
}
.woocommerce table.shop_table .product-name a:hover {
  color: #b41d0b;
}
.woocommerce table.shop_table .product-name .variation {
  margin-top: 4px;
  font-size: 14px;
  color: #959a9e;
}
.woocommerce table.shop_table .product-name .variation dt,
.woocommerce table.shop_table .product-name .variation dd {
  display: inline;
  margin: 0;
}
.woocommerce table.shop_table .product-name .variation dt {
  font-weight: 600;
}
.woocommerce table.shop_table .product-price,
.woocommerce table.shop_table .product-subtotal {
  font-weight: 600;
  color: #111111;
}
.woocommerce table.shop_table .quantity input.qty {
  width: 60px;
  height: 40px;
  text-align: center;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  color: #111111;
  padding: 4px;
}
.woocommerce table.shop_table .quantity input.qty:focus {
  border-color: #b41d0b;
  outline: none;
}
.woocommerce table.shop_table .quantity input.qty:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}

.woocommerce .cart-collaterals .actions,
.woocommerce table.shop_table .actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  padding-top: 24px;
}
.woocommerce .cart-collaterals .actions .coupon,
.woocommerce table.shop_table .actions .coupon {
  display: flex;
  gap: 8px;
}
.woocommerce .cart-collaterals .actions .coupon input[type=text],
.woocommerce table.shop_table .actions .coupon input[type=text] {
  padding: 8px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  color: #111111;
  min-width: 200px;
}
.woocommerce .cart-collaterals .actions .coupon input[type=text]::placeholder,
.woocommerce table.shop_table .actions .coupon input[type=text]::placeholder {
  color: #959a9e;
}
.woocommerce .cart-collaterals .actions .coupon input[type=text]:focus,
.woocommerce table.shop_table .actions .coupon input[type=text]:focus {
  border-color: #b41d0b;
  outline: none;
}
.woocommerce .cart-collaterals .actions .coupon input[type=text]:focus-visible,
.woocommerce table.shop_table .actions .coupon input[type=text]:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}
.woocommerce .cart-collaterals .actions .coupon button,
.woocommerce table.shop_table .actions .coupon button {
  background-color: #111111;
  color: #fff;
}
.woocommerce .cart-collaterals .actions .coupon button:hover,
.woocommerce table.shop_table .actions .coupon button:hover {
  background-color: #59595c;
}
.woocommerce .cart-collaterals .actions button[name=update_cart],
.woocommerce table.shop_table .actions button[name=update_cart] {
  margin-left: auto;
  background-color: transparent;
  color: #959a9e;
  border: 1px solid #e0e0e0;
}
.woocommerce .cart-collaterals .actions button[name=update_cart]:hover,
.woocommerce table.shop_table .actions button[name=update_cart]:hover {
  border-color: #111111;
  color: #111111;
}
.woocommerce .cart-collaterals .actions button[name=update_cart]:disabled,
.woocommerce table.shop_table .actions button[name=update_cart]:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.woocommerce .cart-collaterals {
  margin-top: 48px;
}
@media (min-width: 992px) {
  .woocommerce .cart-collaterals {
    display: flex;
    justify-content: flex-end;
  }
}
.woocommerce .cart_totals {
  width: 100%;
}
@media (min-width: 992px) {
  .woocommerce .cart_totals {
    max-width: 450px;
  }
}
.woocommerce .cart_totals h2 {
  font-size: 24px;
  line-height: 32px;
  font-weight: 800;
  color: #111111;
  margin: 0 0 24px 0;
}
.woocommerce .cart_totals table {
  width: 100%;
  border-collapse: collapse;
}
.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td {
  padding: 16px 0;
  border-bottom: 1px solid #e0e0e0;
  font-size: 16px;
  line-height: 24px;
  vertical-align: top;
}
.woocommerce .cart_totals table th {
  font-weight: 600;
  color: #959a9e;
  text-align: left;
  width: 40%;
}
.woocommerce .cart_totals table td {
  text-align: right;
  color: #111111;
  font-weight: 600;
}
.woocommerce .cart_totals table .order-total td {
  font-size: 24px;
  line-height: 32px;
  font-weight: 800;
}
.woocommerce .cart_totals .wc-proceed-to-checkout {
  margin-top: 24px;
}
.woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button {
  display: block;
  width: 100%;
  padding: 15px 24px;
  background-color: #b41d0b;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  text-align: center;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}
.woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button:hover {
  background-color: #8a1608;
}
.woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}

.woocommerce .cart-empty {
  text-align: center;
  padding: 64px 0;
  font-size: 18px;
  line-height: 28px;
  color: #959a9e;
}
.woocommerce .return-to-shop a.button {
  display: inline-flex;
  padding: 14px 24px;
  background-color: #b41d0b;
  color: #fff;
  border-radius: 6px;
  text-decoration: none;
}
.woocommerce .return-to-shop a.button:hover {
  background-color: #8a1608;
}

.woocommerce .cross-sells > h2 {
  font-size: 30px;
  line-height: 36px;
  font-weight: 800;
  color: #111111;
  margin: 48px 0 32px 0;
}

/**
 * Checkout Page
 *
 * Styles for billing/shipping forms, order review table,
 * and payment methods.
 *
 * Buttons: Place Order button and form buttons inherit base styles
 * from _buttons.scss. Only color overrides using theme variables here.
 */
.woocommerce form.woocommerce-checkout .col2-set {
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px;
  margin-bottom: 48px;
}
@media (min-width: 992px) {
  .woocommerce form.woocommerce-checkout .col2-set {
    grid-template-columns: 1fr 1fr;
  }
}

.woocommerce form .form-row {
  margin-bottom: 24px;
}
.woocommerce form .form-row label {
  display: block;
  margin-bottom: 8px;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #111111;
}
.woocommerce form .form-row label .required {
  color: inherit;
}
.woocommerce form .form-row label .optional {
  font-weight: 400;
  color: #959a9e;
  font-size: 14px;
}
.woocommerce form .form-row input[type=text],
.woocommerce form .form-row input[type=email],
.woocommerce form .form-row input[type=tel],
.woocommerce form .form-row input[type=password],
.woocommerce form .form-row input[type=number],
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce form .form-row .select2-container .select2-selection--single {
  width: 100%;
  padding: 8px 16px;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: #111111;
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  transition: all 0.2s ease-in-out;
}
.woocommerce form .form-row input[type=text]::placeholder,
.woocommerce form .form-row input[type=email]::placeholder,
.woocommerce form .form-row input[type=tel]::placeholder,
.woocommerce form .form-row input[type=password]::placeholder,
.woocommerce form .form-row input[type=number]::placeholder,
.woocommerce form .form-row textarea::placeholder,
.woocommerce form .form-row select::placeholder,
.woocommerce form .form-row .select2-container .select2-selection--single::placeholder {
  color: #959a9e;
}
.woocommerce form .form-row input[type=text]:focus,
.woocommerce form .form-row input[type=email]:focus,
.woocommerce form .form-row input[type=tel]:focus,
.woocommerce form .form-row input[type=password]:focus,
.woocommerce form .form-row input[type=number]:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row .select2-container .select2-selection--single:focus {
  border-color: #b41d0b;
  outline: none;
}
.woocommerce form .form-row input[type=text]:focus-visible,
.woocommerce form .form-row input[type=email]:focus-visible,
.woocommerce form .form-row input[type=tel]:focus-visible,
.woocommerce form .form-row input[type=password]:focus-visible,
.woocommerce form .form-row input[type=number]:focus-visible,
.woocommerce form .form-row textarea:focus-visible,
.woocommerce form .form-row select:focus-visible,
.woocommerce form .form-row .select2-container .select2-selection--single:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}
.woocommerce form .form-row .select2-container .select2-selection--single {
  height: auto;
  min-height: 40px;
  display: flex;
  align-items: center;
}
.woocommerce form .form-row .select2-container .select2-selection--single .select2-selection__rendered {
  padding: 0;
  line-height: 1.5;
  color: #111111;
}
.woocommerce form .form-row .select2-container .select2-selection--single .select2-selection__arrow {
  height: 100%;
}
.woocommerce form .form-row textarea {
  min-height: 100px;
  resize: vertical;
}
.woocommerce form .form-row.woocommerce-validated input, .woocommerce form .form-row.woocommerce-validated select {
  border-color: #28a745;
}
.woocommerce form .form-row.woocommerce-invalid input,
.woocommerce form .form-row.woocommerce-invalid select {
  border-color: #dc3545;
}
.woocommerce form .form-row.woocommerce-invalid label {
  color: #dc3545;
}
.woocommerce form .form-row input[type=checkbox] {
  width: auto;
  margin-right: 8px;
  accent-color: #b41d0b;
}
.woocommerce h3 {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 24px;
  line-height: 32px;
  font-weight: 800;
  color: #111111;
  margin: 0 0 24px 0;
}

.select2-container--default .select2-results__option {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  padding: 8px 16px;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #b41d0b;
  color: #fff;
}
.select2-container--default .select2-dropdown {
  border-color: #e0e0e0;
  border-radius: 4px;
  box-shadow: 0 2px 6px 0 rgba(25, 33, 61, 0.14);
}
.select2-container--default .select2-search--dropdown .select2-search__field {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  padding: 8px;
  border-color: #e0e0e0;
  border-radius: 4px;
}
.select2-container--default .select2-search--dropdown .select2-search__field:focus {
  border-color: #b41d0b;
  outline: none;
}

@media (min-width: 992px) {
  .woocommerce .woocommerce-checkout-review-order {
    background-color: #f6f9f9;
    padding: 32px;
    border-radius: 8px;
  }
}
.woocommerce table.woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
}
.woocommerce table.woocommerce-checkout-review-order-table thead th {
  padding: 16px 0;
  font-size: 14px;
  font-weight: 600;
  color: #959a9e;
  text-align: left;
  border-bottom: 1px solid #e0e0e0;
}
.woocommerce table.woocommerce-checkout-review-order-table thead th:last-child {
  text-align: right;
}
.woocommerce table.woocommerce-checkout-review-order-table tbody td {
  padding: 16px 0;
  font-size: 14px;
  line-height: 22px;
  border-bottom: 1px solid #e0e0e0;
  color: #111111;
}
.woocommerce table.woocommerce-checkout-review-order-table tbody td:last-child {
  text-align: right;
}
.woocommerce table.woocommerce-checkout-review-order-table tbody td.product-name {
  font-weight: 600;
}
.woocommerce table.woocommerce-checkout-review-order-table tfoot th {
  padding: 16px 0;
  font-size: 16px;
  font-weight: 600;
  color: #959a9e;
  text-align: left;
  border-bottom: 1px solid #e0e0e0;
}
.woocommerce table.woocommerce-checkout-review-order-table tfoot td {
  padding: 16px 0;
  font-size: 16px;
  font-weight: 600;
  color: #111111;
  text-align: right;
  border-bottom: 1px solid #e0e0e0;
}
.woocommerce table.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce table.woocommerce-checkout-review-order-table tfoot .order-total td {
  font-size: 24px;
  line-height: 32px;
  font-weight: 800;
  border-bottom: none;
}

.woocommerce #payment {
  margin-top: 32px;
}
.woocommerce #payment .payment_methods {
  list-style: none;
  padding: 0;
  margin: 0 0 24px 0;
}
.woocommerce #payment .payment_methods li {
  padding: 16px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  margin-bottom: 8px;
  transition: all 0.2s ease-in-out;
}
.woocommerce #payment .payment_methods li:last-child {
  margin-bottom: 0;
}
.woocommerce #payment .payment_methods li input[type=radio] {
  margin-right: 8px;
  accent-color: #b41d0b;
}
.woocommerce #payment .payment_methods li label {
  font-size: 16px;
  font-weight: 600;
  color: #111111;
  cursor: pointer;
}
.woocommerce #payment .payment_methods li label img {
  display: inline-block;
  max-height: 24px;
  margin-left: 8px;
  vertical-align: middle;
}
.woocommerce #payment .payment_methods li .payment_box {
  margin-top: 16px;
  padding: 16px;
  background-color: #f6f9f9;
  border-radius: 4px;
  font-size: 14px;
  line-height: 22px;
  color: #959a9e;
}
.woocommerce #payment .payment_methods li .payment_box p:last-child {
  margin-bottom: 0;
}
.woocommerce #payment .woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 24px;
  font-size: 14px;
  line-height: 22px;
  color: #959a9e;
}
.woocommerce #payment .woocommerce-terms-and-conditions-wrapper a {
  color: #b41d0b;
}
.woocommerce #payment .place-order button#place_order {
  display: block;
  width: 100%;
  background-color: #b41d0b;
  color: #fff;
}
.woocommerce #payment .place-order button#place_order:hover {
  background-color: #8a1608;
}

.woocommerce .woocommerce-error {
  list-style: none;
  padding: 16px 24px;
  margin: 0 0 24px 0;
  background-color: rgba(220, 53, 69, 0.1);
  border-left: 4px solid #dc3545;
  border-radius: 4px;
  font-size: 16px;
  line-height: 24px;
  color: #dc3545;
}
.woocommerce .woocommerce-error li {
  margin-bottom: 4px;
}
.woocommerce .woocommerce-error li:last-child {
  margin-bottom: 0;
}
.woocommerce .woocommerce-error a {
  color: #dc3545;
  font-weight: 600;
}
.woocommerce .woocommerce-message {
  padding: 16px 24px;
  margin: 0 0 24px 0;
  background-color: rgba(40, 167, 69, 0.1);
  border-left: 4px solid #28a745;
  border-radius: 4px;
  font-size: 16px;
  line-height: 24px;
  color: #111111;
}
.woocommerce .woocommerce-message a {
  color: #b41d0b;
  font-weight: 600;
}
.woocommerce .woocommerce-notice--success,
.woocommerce .woocommerce-thankyou-order-received {
  padding: 24px 32px;
  margin: 0 0 32px 0;
  background-color: rgba(40, 167, 69, 0.1);
  border-left: 4px solid #28a745;
  border-radius: 4px;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 20px;
  line-height: 28px;
  font-weight: 600;
  color: #111111;
}
.woocommerce .woocommerce-info {
  padding: 16px 24px;
  margin: 0 0 24px 0;
  background-color: #f6f9f9;
  border-left: 4px solid #b41d0b;
  border-radius: 4px;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  color: #111111;
}
.woocommerce .woocommerce-info a {
  color: #b41d0b;
  font-weight: 600;
}
.woocommerce .woocommerce-info a:hover {
  color: #8a1608;
}

.woocommerce-order-received .woocommerce {
  font-family: "Inter", Helvetica, Arial, sans-serif;
}
.woocommerce-order-received .woocommerce-order-overview {
  list-style: none;
  padding: 32px;
  margin: 0 0 48px 0;
  background-color: #f6f9f9;
  border-radius: 8px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
@media (min-width: 768px) {
  .woocommerce-order-received .woocommerce-order-overview {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  .woocommerce-order-received .woocommerce-order-overview {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  }
}
.woocommerce-order-received .woocommerce-order-overview li {
  font-size: 14px;
  line-height: 22px;
  color: #959a9e;
}
.woocommerce-order-received .woocommerce-order-overview li strong {
  display: block;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  color: #111111;
  margin-top: 4px;
}
.woocommerce-order-received .woocommerce-order-details {
  margin-bottom: 48px;
}
.woocommerce-order-received .woocommerce-order-details .woocommerce-order-details__title {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 24px;
  line-height: 32px;
  font-weight: 800;
  color: #111111;
  margin: 0 0 24px 0;
}
.woocommerce-order-received .woocommerce-order-details table.woocommerce-table--order-details {
  width: 100%;
  border-collapse: collapse;
}
.woocommerce-order-received .woocommerce-order-details table.woocommerce-table--order-details thead th {
  padding: 16px 0;
  font-size: 14px;
  font-weight: 600;
  color: #959a9e;
  text-align: left;
  border-bottom: 2px solid #e0e0e0;
}
.woocommerce-order-received .woocommerce-order-details table.woocommerce-table--order-details thead th:last-child {
  text-align: right;
}
.woocommerce-order-received .woocommerce-order-details table.woocommerce-table--order-details tbody td {
  padding: 16px 0;
  font-size: 14px;
  line-height: 22px;
  color: #111111;
  border-bottom: 1px solid #e0e0e0;
}
.woocommerce-order-received .woocommerce-order-details table.woocommerce-table--order-details tbody td:last-child {
  text-align: right;
}
.woocommerce-order-received .woocommerce-order-details table.woocommerce-table--order-details tbody td.product-name {
  font-weight: 600;
}
.woocommerce-order-received .woocommerce-order-details table.woocommerce-table--order-details tbody td.product-name a {
  color: #b41d0b;
  text-decoration: none;
}
.woocommerce-order-received .woocommerce-order-details table.woocommerce-table--order-details tbody td.product-name a:hover {
  color: #8a1608;
}
.woocommerce-order-received .woocommerce-order-details table.woocommerce-table--order-details tbody td.product-name .product-quantity {
  color: #959a9e;
  font-weight: 400;
}
.woocommerce-order-received .woocommerce-order-details table.woocommerce-table--order-details tfoot th {
  padding: 16px 0;
  font-size: 16px;
  font-weight: 600;
  color: #959a9e;
  text-align: left;
  border-bottom: 1px solid #e0e0e0;
}
.woocommerce-order-received .woocommerce-order-details table.woocommerce-table--order-details tfoot td {
  padding: 16px 0;
  font-size: 16px;
  font-weight: 600;
  color: #111111;
  text-align: right;
  border-bottom: 1px solid #e0e0e0;
}
.woocommerce-order-received .woocommerce-order-details table.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-order-received .woocommerce-order-details table.woocommerce-table--order-details tfoot tr:last-child td {
  font-size: 24px;
  line-height: 32px;
  font-weight: 800;
  border-bottom: none;
}
.woocommerce-order-received .woocommerce-customer-details {
  margin-bottom: 48px;
}
.woocommerce-order-received .woocommerce-customer-details .woocommerce-column__title {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 24px;
  line-height: 32px;
  font-weight: 800;
  color: #111111;
  margin: 0 0 16px 0;
}
.woocommerce-order-received .woocommerce-customer-details address {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 28px;
  color: #111111;
  font-style: normal;
  padding: 24px;
  background-color: #f6f9f9;
  border-radius: 8px;
}
.woocommerce-order-received .woocommerce-customer-details address p {
  margin: 0;
}
.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns--addresses {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}
@media (min-width: 992px) {
  .woocommerce-order-received .woocommerce-customer-details .woocommerce-columns--addresses {
    grid-template-columns: 1fr 1fr;
  }
}

.woocommerce .woocommerce-form-login-toggle,
.woocommerce .woocommerce-form-coupon-toggle {
  margin-bottom: 24px;
}
.woocommerce .woocommerce-form-login-toggle .woocommerce-info,
.woocommerce .woocommerce-form-coupon-toggle .woocommerce-info {
  margin-bottom: 0;
}
.woocommerce .woocommerce-form-login,
.woocommerce .woocommerce-form-coupon {
  padding: 24px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  margin-bottom: 24px;
}
.woocommerce .woocommerce-form-login p:last-child,
.woocommerce .woocommerce-form-coupon p:last-child {
  margin-bottom: 0;
}
.woocommerce .woocommerce-form-login button,
.woocommerce .woocommerce-form-coupon button {
  background-color: #b41d0b;
  color: #fff;
}
.woocommerce .woocommerce-form-login button:hover,
.woocommerce .woocommerce-form-coupon button:hover {
  background-color: #8a1608;
}

/**
 * WooCommerce Blocks
 *
 * Styles for block-based cart/checkout (React-rendered).
 * These use `.wc-block-*` selectors, distinct from the classic
 * shortcode selectors in _cart.scss and _checkout.scss.
 *
 * Two product card systems exist in WooCommerce Blocks:
 * 1. Legacy grid (.wc-block-grid__product) — "New Products" block in empty cart
 * 2. Product Collection (.wc-block-product-template) — cross-sells in filled cart
 *
 * Both are styled to match the classic loop cards from _products.scss exactly:
 *   - Image: 250px height, object-fit cover, $card-radius-small
 *   - Title: $display-4, extrabold, left-aligned
 *   - Rating: star-rating below title
 *   - Price: $display-4, semibold
 *   - Description: $paragraph-base, muted, 2-line clamp
 *   - Button: outline secondary with $color-border-light
 *   - Sale badge: top-left, orange pill, uppercase
 */
.wc-block-grid__products {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 24px;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media (min-width: 576px) {
  .wc-block-grid__products {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  .wc-block-grid__products {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 24px;
    row-gap: 48px;
  }
}
@media (min-width: 1200px) {
  .wc-block-grid__products {
    grid-template-columns: repeat(4, 1fr);
  }
}

.wc-block-grid.has-1-columns .wc-block-grid__product,
.wc-block-grid.has-2-columns .wc-block-grid__product,
.wc-block-grid.has-3-columns .wc-block-grid__product,
.wc-block-grid.has-4-columns .wc-block-grid__product,
.wc-block-grid.has-5-columns .wc-block-grid__product,
.wc-block-grid.has-6-columns .wc-block-grid__product {
  flex: none !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.wc-block-grid .wc-block-grid__product {
  display: flex;
  flex-direction: column;
  position: relative;
  margin: 0;
  padding: 0;
  min-width: 0;
}
.wc-block-grid .wc-block-grid__product .wc-block-grid__product-link {
  display: flex !important;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  width: 100%;
}
.wc-block-grid .wc-block-grid__product .wc-block-grid__product-image {
  display: block !important;
  width: 100%;
  margin: 0 0 16px 0;
}
.wc-block-grid .wc-block-grid__product .wc-block-grid__product-image a {
  display: block;
  width: 100%;
}
.wc-block-grid .wc-block-grid__product .wc-block-grid__product-image img {
  width: 100% !important;
  height: 250px !important;
  object-fit: cover;
  border-radius: 8px;
  background-color: #f6f9f9;
  display: block;
}
.wc-block-grid .wc-block-grid__product .wc-block-grid__product-title {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 24px;
  font-weight: 800;
  color: #111111;
  margin: 0 0 8px 0;
  padding: 0;
  text-align: left;
}
.wc-block-grid .wc-block-grid__product .wc-block-grid__product-price {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 24px;
  font-weight: 600;
  color: #111111;
  display: block;
  margin-bottom: 8px;
  text-align: left;
  text-align: left;
}
.wc-block-grid .wc-block-grid__product .wc-block-grid__product-price del {
  color: #959a9e;
  font-weight: 400;
  margin-right: 8px;
}
.wc-block-grid .wc-block-grid__product .wc-block-grid__product-price ins {
  text-decoration: none;
  font-weight: 600;
}
.wc-block-grid .wc-block-grid__product .wc-block-grid__product-onsale {
  position: absolute;
  top: 8px;
  left: 8px;
  right: auto;
  margin: 0;
  min-width: 0;
  min-height: 0;
  padding: 6px 8px;
  background-color: #b41d0b;
  color: #fff;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 12px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  border-radius: 4px;
  z-index: 1;
}
.wc-block-grid .wc-block-grid__product .wc-block-grid__product-add-to-cart {
  margin-top: auto;
  width: 100%;
}
.wc-block-grid .wc-block-grid__product .wc-block-grid__product-add-to-cart .wp-block-button__link {
  display: block;
  width: 100%;
  padding: 14px 18px;
  border: 1px solid #B4B9C9;
  border-radius: 6px;
  background-color: transparent;
  color: #b41d0b;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  text-align: center;
  text-decoration: none;
  box-shadow: none;
  transition: all 0.2s ease-in-out;
  display: block !important;
  width: 100% !important;
}
.wc-block-grid .wc-block-grid__product .wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
  background-color: rgba(180, 29, 11, 0.08);
  color: #8a1608;
}
.wc-block-grid .wc-block-grid__product .wc-block-grid__product-add-to-cart .wp-block-button__link:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}
.wc-block-grid .wc-block-grid__product .wc-block-grid__product-rating {
  margin-bottom: 8px;
}

.wc-block-product-template {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media (min-width: 576px) {
  .wc-block-product-template {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  .wc-block-product-template {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 24px;
    row-gap: 48px;
  }
}

.wc-block-product {
  display: flex;
  flex-direction: column;
  position: relative;
  margin: 0;
  padding: 0;
}
.wc-block-product .wc-block-components-product-image {
  position: relative;
  margin-bottom: 16px;
}
.wc-block-product .wc-block-components-product-image a {
  display: block;
}
.wc-block-product .wc-block-components-product-image img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  border-radius: 8px;
  background-color: #f6f9f9;
}
.wc-block-product .wc-block-components-product-sale-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  right: auto;
  margin: 0;
  min-width: 0;
  min-height: 0;
  padding: 6px 8px;
  background-color: #b41d0b;
  color: #fff;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 12px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  border-radius: 4px;
  z-index: 1;
  border: none;
  box-shadow: none;
}
.wc-block-product .wc-block-components-product-sale-badge.wc-block-components-product-sale-badge--align-right {
  right: auto;
  left: 8px;
}
.wc-block-product .wc-block-components-product-sale-badge .wc-block-components-product-sale-badge__text {
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}
.wc-block-product .wp-block-post-title {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 24px;
  font-weight: 800;
  color: #111111;
  margin: 0 0 8px 0;
  padding: 0;
  text-align: left;
  font-size: 18px !important;
  line-height: 24px !important;
  text-align: left !important;
}
.wc-block-product .wp-block-post-title a {
  color: inherit;
  text-decoration: none;
}
.wc-block-product .wp-block-post-title a:hover {
  color: #b41d0b;
}
.wc-block-product .wc-block-components-product-rating {
  margin-bottom: 8px;
}
.wc-block-product .wc-block-components-product-rating .wc-block-components-product-rating__stars {
  font-family: "star";
  font-size: 14px;
}
.wc-block-product .wp-block-woocommerce-product-price {
  text-align: left !important;
  margin-bottom: 8px;
}
.wc-block-product .wp-block-woocommerce-product-price .wc-block-components-product-price {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 24px;
  font-weight: 600;
  color: #111111;
  display: block;
  margin-bottom: 8px;
  text-align: left;
  font-size: 18px !important;
}
.wc-block-product .wp-block-woocommerce-product-price .wc-block-components-product-price del {
  color: #959a9e;
  font-weight: 400;
  margin-right: 8px;
}
.wc-block-product .wp-block-woocommerce-product-price .wc-block-components-product-price ins {
  text-decoration: none;
  font-weight: 600;
}
.wc-block-product .wp-block-post-excerpt .wp-block-post-excerpt__excerpt {
  font-size: 14px;
  line-height: 22px;
  font-weight: 400;
  color: #959a9e;
  margin-bottom: 16px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.wc-block-product .wc-block-components-product-button {
  margin-top: auto;
  text-align: left !important;
}
.wc-block-product .wc-block-components-product-button .wp-block-button__link,
.wc-block-product .wc-block-components-product-button .wp-element-button {
  display: block;
  width: 100%;
  padding: 14px 18px;
  border: 1px solid #B4B9C9;
  border-radius: 6px;
  background-color: transparent;
  color: #b41d0b;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  text-align: center;
  text-decoration: none;
  box-shadow: none;
  transition: all 0.2s ease-in-out;
  font-size: 14px !important;
}
.wc-block-product .wc-block-components-product-button .wp-block-button__link:hover,
.wc-block-product .wc-block-components-product-button .wp-element-button:hover {
  background-color: rgba(180, 29, 11, 0.08);
  color: #8a1608;
}
.wc-block-product .wc-block-components-product-button .wp-block-button__link:focus-visible,
.wc-block-product .wc-block-components-product-button .wp-element-button:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}

.wp-block-woocommerce-product-collection {
  margin-top: 48px;
}
.wp-block-woocommerce-product-collection > .wp-block-heading {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 30px;
  line-height: 36px;
  font-weight: 800;
  color: #111111;
  text-align: left !important;
  margin-bottom: 32px;
}

.wp-block-woocommerce-cart {
  font-family: "Inter", Helvetica, Arial, sans-serif;
}

.wc-block-cart .wc-block-components-sidebar-layout {
  gap: 48px;
}
.wc-block-cart .wc-block-cart-items {
  border-collapse: collapse;
  width: 100%;
}
.wc-block-cart .wc-block-cart-items__header th {
  padding: 16px 0;
  font-size: 14px;
  font-weight: 600;
  color: #959a9e;
  text-align: left;
  border-bottom: 2px solid #e0e0e0;
}
.wc-block-cart .wc-block-cart-items__row {
  border-bottom: 1px solid #e0e0e0;
}
.wc-block-cart .wc-block-cart-items__row td {
  padding: 32px 16px 32px 0;
  vertical-align: top;
}
.wc-block-cart .wc-block-cart-items__row td:first-child {
  padding-right: 24px;
}
.wc-block-cart .wc-block-cart-item__image {
  width: 100px;
}
.wc-block-cart .wc-block-cart-item__image img {
  width: 100px;
  height: 100px;
  object-fit: cover;
  border-radius: 8px;
  background-color: #f6f9f9;
  display: block;
}
.wc-block-cart .wc-block-cart-item__wrap {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.wc-block-cart .wc-block-components-product-name {
  color: #b41d0b;
  font-weight: 600;
  text-decoration: none;
  font-size: 16px;
  line-height: 24px;
}
.wc-block-cart .wc-block-components-product-name:hover {
  color: #8a1608;
}
.wc-block-cart .wc-block-cart-item__prices {
  font-weight: 600;
  color: #111111;
  font-size: 14px;
}
.wc-block-cart .wc-block-components-product-metadata {
  font-size: 14px;
  line-height: 22px;
  color: #959a9e;
}
.wc-block-cart .wc-block-components-product-metadata .wc-block-components-product-metadata__description {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.wc-block-cart .wc-block-components-product-metadata .wc-block-components-product-metadata__description p {
  margin: 0;
}
.wc-block-cart .wc-block-cart-item__quantity {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 8px;
}
.wc-block-cart .wc-block-components-quantity-selector {
  display: inline-flex;
  align-items: center;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  overflow: hidden;
}
.wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input {
  width: 48px;
  height: 36px;
  text-align: center;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #111111;
  border: none;
  background: transparent;
  -moz-appearance: textfield;
}
.wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input::-webkit-inner-spin-button, .wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input:focus {
  outline: none;
  box-shadow: none;
}
.wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: #111111;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  transition: all 0.2s ease-in-out;
}
.wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover {
  color: #b41d0b;
  background-color: #f6f9f9;
}
.wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus {
  outline: none;
  box-shadow: none;
}
.wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled {
  color: #e0e0e0;
  cursor: not-allowed;
}
.wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled:hover {
  background: none;
}
.wc-block-cart .wc-block-cart-item__remove-link {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  color: #959a9e;
  text-decoration: none;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.wc-block-cart .wc-block-cart-item__remove-link:hover {
  color: #dc3545;
}
.wc-block-cart .wc-block-cart-item__total {
  font-weight: 600;
  color: #111111;
  font-size: 16px;
  text-align: right;
}

.wc-block-cart .wc-block-cart__totals-title {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 24px;
  line-height: 32px;
  font-weight: 800;
  color: #111111;
}
.wc-block-cart .wc-block-components-totals-wrapper {
  border-color: #e0e0e0;
}
.wc-block-cart .wc-block-components-totals-item__label {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 16px;
  color: #959a9e;
}
.wc-block-cart .wc-block-components-totals-item__value {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #111111;
}
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 24px;
  line-height: 32px;
  font-weight: 800;
  color: #111111;
}
.wc-block-cart .wc-block-cart__submit-button {
  background-color: #b41d0b;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  padding: 15px 24px;
  transition: all 0.2s ease-in-out;
  text-decoration: none;
}
.wc-block-cart .wc-block-cart__submit-button:hover {
  background-color: #8a1608;
}
.wc-block-cart .wc-block-cart__submit-button:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}
.wc-block-cart .wc-block-components-totals-coupon__button {
  background-color: #b41d0b !important;
  color: #fff !important;
  border: none;
  border-radius: 6px;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  padding: 8px 16px;
}
.wc-block-cart .wc-block-components-totals-coupon__button:hover {
  background-color: #8a1608 !important;
}

.wp-block-woocommerce-checkout {
  font-family: "Inter", Helvetica, Arial, sans-serif;
}

.wc-block-checkout .wc-block-components-checkout-step__heading {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 20px;
  line-height: 28px;
  font-weight: 800;
  color: #111111;
}
.wc-block-checkout .wc-block-components-text-input label,
.wc-block-checkout .wc-block-components-country-input label,
.wc-block-checkout .wc-block-components-state-input label {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  color: #959a9e;
}
.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-text-input textarea {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 16px;
  color: #111111;
  border-color: #e0e0e0;
  border-radius: 4px;
}
.wc-block-checkout .wc-block-components-text-input input:focus,
.wc-block-checkout .wc-block-components-text-input textarea:focus {
  border-color: #b41d0b;
}
.wc-block-checkout .wc-block-components-combobox .components-combobox-control input,
.wc-block-checkout select {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 16px;
  color: #111111;
  border-color: #e0e0e0;
  border-radius: 4px;
}
.wc-block-checkout input[type=checkbox],
.wc-block-checkout input[type=radio] {
  accent-color: #b41d0b;
}
.wc-block-checkout .has-error .wc-block-components-text-input input,
.wc-block-checkout .has-error .wc-block-components-text-input textarea {
  border-color: #dc3545;
}
.wc-block-checkout .has-error .wc-block-components-validation-error {
  color: #dc3545;
  font-size: 14px;
}
.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__description {
  font-size: 14px;
  color: #111111;
}
.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__quantity {
  background-color: #959a9e;
  color: #fff;
  border-radius: 50%;
  font-size: 12px;
}
.wc-block-checkout .wc-block-components-order-summary .wc-block-components-product-name {
  font-weight: 600;
  color: #111111;
  text-decoration: none;
}
.wc-block-checkout .wc-block-components-radio-control__option {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  padding: 16px;
  padding-left: 55px;
  margin-bottom: 8px;
}
.wc-block-checkout .wc-block-components-radio-control__option .wc-block-components-radio-control__label {
  font-size: 16px;
  font-weight: 600;
  color: #111111;
}
.wc-block-checkout .wc-block-components-radio-control__option .wc-block-components-radio-control__description {
  font-size: 14px;
  color: #959a9e;
}
.wc-block-checkout .wc-block-components-totals-coupon__button {
  background-color: #b41d0b !important;
  color: #fff !important;
  border: none;
  border-radius: 6px;
}
.wc-block-checkout .wc-block-components-totals-coupon__button:hover {
  background-color: #8a1608 !important;
}
.wc-block-checkout .wc-block-checkout__actions_row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.wc-block-checkout .wc-block-checkout__actions_row .wc-block-components-checkout-return-to-cart-button {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #959a9e;
  text-decoration: none;
  font-size: 16px;
  white-space: nowrap;
}
.wc-block-checkout .wc-block-checkout__actions_row .wc-block-components-checkout-return-to-cart-button:hover {
  color: #b41d0b;
}
.wc-block-checkout .wc-block-checkout__actions_row .wc-block-components-checkout-return-to-cart-button svg {
  flex-shrink: 0;
}
.wc-block-checkout .wc-block-components-checkout-place-order-button {
  background-color: #b41d0b;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  padding: 15px 24px;
  text-align: center;
  transition: all 0.2s ease-in-out;
}
.wc-block-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text {
  justify-content: center;
}
.wc-block-checkout .wc-block-components-checkout-place-order-button:hover {
  background-color: #8a1608;
}
.wc-block-checkout .wc-block-components-checkout-place-order-button:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}

.wc-block-components-panel__button {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #111111;
  background: none;
  border: none;
  padding: 16px 0;
}
.wc-block-components-panel__button:hover {
  color: #b41d0b;
}

.wc-block-components-notice-banner {
  border-radius: 4px;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
}
.wc-block-components-notice-banner.is-error {
  border-left: 4px solid #dc3545;
  background-color: rgba(220, 53, 69, 0.1);
  color: #dc3545;
}
.wc-block-components-notice-banner.is-success {
  border-left: 4px solid #28a745;
  background-color: rgba(40, 167, 69, 0.1);
  color: #111111;
}
.wc-block-components-notice-banner.is-info {
  border-left: 4px solid #b41d0b;
  background-color: #f6f9f9;
  color: #111111;
}

.wc-block-components-text-input input[type=text],
.wc-block-components-text-input input[type=email],
.wc-block-components-text-input input[type=tel],
.wc-block-components-text-input input[type=password],
.wc-block-components-text-input input[type=number] {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 16px;
  color: #111111;
}
.wc-block-components-text-input input[type=text]:focus,
.wc-block-components-text-input input[type=email]:focus,
.wc-block-components-text-input input[type=tel]:focus,
.wc-block-components-text-input input[type=password]:focus,
.wc-block-components-text-input input[type=number]:focus {
  border-color: #b41d0b;
  box-shadow: none;
}

.wc-block-components-chip {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  background-color: #f6f9f9;
  color: #111111;
}

.wp-block-woocommerce-cart-is-empty-block {
  text-align: center;
  padding: 48px 0;
}
.wp-block-woocommerce-cart-is-empty-block > .wc-block-cart__empty-cart__title {
  font-size: 0;
}
.wp-block-woocommerce-cart-is-empty-block > .wc-block-cart__empty-cart__title::before {
  display: none;
}
.wp-block-woocommerce-cart-is-empty-block .wc-block-cart__empty-cart__title,
.wp-block-woocommerce-cart-is-empty-block > p:first-of-type {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 30px;
  line-height: 36px;
  font-weight: 800;
  color: #111111;
  margin-bottom: 24px;
}
.wp-block-woocommerce-cart-is-empty-block figure,
.wp-block-woocommerce-cart-is-empty-block .wp-block-image {
  max-width: 80px;
  margin: 0 auto 24px;
}
.wp-block-woocommerce-cart-is-empty-block figure img,
.wp-block-woocommerce-cart-is-empty-block .wp-block-image img {
  width: 80px;
  height: 80px;
  opacity: 0.3;
}
.wp-block-woocommerce-cart-is-empty-block p {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  color: #959a9e;
  margin-bottom: 24px;
}
.wp-block-woocommerce-cart-is-empty-block .wp-block-heading {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 30px;
  line-height: 36px;
  font-weight: 800;
  color: #111111;
  margin: 64px 0 32px;
  text-align: center;
}
.wp-block-woocommerce-cart-is-empty-block .wp-block-button .wp-block-button__link,
.wp-block-woocommerce-cart-is-empty-block a.wp-block-button__link {
  display: inline-flex;
  padding: 14px 24px;
  background-color: #b41d0b;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}
.wp-block-woocommerce-cart-is-empty-block .wp-block-button .wp-block-button__link:hover,
.wp-block-woocommerce-cart-is-empty-block a.wp-block-button__link:hover {
  background-color: #8a1608;
}
.wp-block-woocommerce-cart-is-empty-block .wp-block-button .wp-block-button__link:focus-visible,
.wp-block-woocommerce-cart-is-empty-block a.wp-block-button__link:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}
.wp-block-woocommerce-cart-is-empty-block .wc-block-grid__products {
  text-align: left;
}

.wc-block-components-skeleton .wc-block-components-skeleton__element {
  background-color: #f6f9f9;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0 0 32px 0;
}
@media (min-width: 992px) {
  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    margin-bottom: 0;
  }
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  margin-bottom: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 8px 16px;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 16px;
  color: #111111;
  text-decoration: none;
  border-radius: 4px;
  transition: all 0.2s ease-in-out;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background-color: #f6f9f9;
  color: #b41d0b;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background-color: #f6f9f9;
  font-weight: 600;
  color: #b41d0b;
}
.woocommerce-account .woocommerce-MyAccount-content {
  font-size: 16px;
  line-height: 24px;
  color: #111111;
}
.woocommerce-account .woocommerce-MyAccount-content table {
  width: 100%;
  border-collapse: collapse;
}
.woocommerce-account .woocommerce-MyAccount-content table th,
.woocommerce-account .woocommerce-MyAccount-content table td {
  padding: 16px;
  border-bottom: 1px solid #e0e0e0;
  font-size: 14px;
  text-align: left;
}
.woocommerce-account .woocommerce-MyAccount-content table th {
  font-weight: 600;
  color: #959a9e;
}
.woocommerce-account .woocommerce-MyAccount-content table .woocommerce-button {
  display: inline-flex;
  padding: 8px 16px;
  background-color: transparent;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  color: #111111;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}
.woocommerce-account .woocommerce-MyAccount-content table .woocommerce-button:hover {
  border-color: #111111;
  color: #111111;
}
.woocommerce-account .woocommerce-MyAccount-content form label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #111111;
}
.woocommerce-account .woocommerce-MyAccount-content form label .required {
  color: inherit;
}
.woocommerce-account .woocommerce-MyAccount-content form input[type=text],
.woocommerce-account .woocommerce-MyAccount-content form input[type=email],
.woocommerce-account .woocommerce-MyAccount-content form input[type=tel],
.woocommerce-account .woocommerce-MyAccount-content form input[type=password],
.woocommerce-account .woocommerce-MyAccount-content form select {
  width: 100%;
  padding: 8px 16px;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 16px;
  color: #111111;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  background-color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-content form input[type=text]:focus,
.woocommerce-account .woocommerce-MyAccount-content form input[type=email]:focus,
.woocommerce-account .woocommerce-MyAccount-content form input[type=tel]:focus,
.woocommerce-account .woocommerce-MyAccount-content form input[type=password]:focus,
.woocommerce-account .woocommerce-MyAccount-content form select:focus {
  border-color: #b41d0b;
  outline: none;
}
.woocommerce-account .woocommerce-MyAccount-content form input[type=text]:focus-visible,
.woocommerce-account .woocommerce-MyAccount-content form input[type=email]:focus-visible,
.woocommerce-account .woocommerce-MyAccount-content form input[type=tel]:focus-visible,
.woocommerce-account .woocommerce-MyAccount-content form input[type=password]:focus-visible,
.woocommerce-account .woocommerce-MyAccount-content form select:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}
.woocommerce-account .woocommerce-MyAccount-content form button[type=submit],
.woocommerce-account .woocommerce-MyAccount-content form input[type=submit] {
  background-color: #b41d0b;
  color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-content form button[type=submit]:hover,
.woocommerce-account .woocommerce-MyAccount-content form input[type=submit]:hover {
  background-color: #8a1608;
}
.woocommerce-account .woocommerce:has(.woocommerce-form-login),
.woocommerce-account .woocommerce:has(.woocommerce-ResetPassword) {
  max-width: 440px;
  margin-left: auto;
  margin-right: auto;
  padding: 48px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background-color: #fff;
  display: flex;
  flex-direction: column;
}
.woocommerce-account .woocommerce:has(.woocommerce-form-login) > *,
.woocommerce-account .woocommerce:has(.woocommerce-ResetPassword) > * {
  float: none;
  width: 100%;
}
.woocommerce-account .woocommerce:has(.woocommerce-form-login) > .woocommerce-notices-wrapper:empty,
.woocommerce-account .woocommerce:has(.woocommerce-ResetPassword) > .woocommerce-notices-wrapper:empty {
  display: none;
}
.woocommerce-account .woocommerce:has(.woocommerce-form-login) > h2,
.woocommerce-account .woocommerce:has(.woocommerce-ResetPassword) > h2 {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 30px;
  line-height: 36px;
  font-weight: 800;
  color: #111111;
  margin: 0 0 24px 0;
  text-align: center;
}
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-account .woocommerce-ResetPassword {
  padding: 0;
  border: none;
  border-radius: 0;
  margin: 0;
}
.woocommerce-account .woocommerce-form-login .form-row,
.woocommerce-account .woocommerce-form-register .form-row,
.woocommerce-account .woocommerce-ResetPassword .form-row {
  margin-bottom: 16px;
}
.woocommerce-account .woocommerce-form-login .form-row label,
.woocommerce-account .woocommerce-form-register .form-row label,
.woocommerce-account .woocommerce-ResetPassword .form-row label {
  display: block;
  margin-bottom: 4px;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #111111;
}
.woocommerce-account .woocommerce-form-login .form-row label .required,
.woocommerce-account .woocommerce-form-register .form-row label .required,
.woocommerce-account .woocommerce-ResetPassword .form-row label .required {
  color: inherit;
}
.woocommerce-account .woocommerce-form-login .input-text,
.woocommerce-account .woocommerce-form-register .input-text,
.woocommerce-account .woocommerce-ResetPassword .input-text {
  width: 100%;
  padding: 10px 16px;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: #111111;
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  transition: all 0.2s ease-in-out;
  box-sizing: border-box;
}
.woocommerce-account .woocommerce-form-login .input-text::placeholder,
.woocommerce-account .woocommerce-form-register .input-text::placeholder,
.woocommerce-account .woocommerce-ResetPassword .input-text::placeholder {
  color: #959a9e;
}
.woocommerce-account .woocommerce-form-login .input-text:focus,
.woocommerce-account .woocommerce-form-register .input-text:focus,
.woocommerce-account .woocommerce-ResetPassword .input-text:focus {
  border-color: #b41d0b;
  outline: none;
}
.woocommerce-account .woocommerce-form-login .input-text:focus-visible,
.woocommerce-account .woocommerce-form-register .input-text:focus-visible,
.woocommerce-account .woocommerce-ResetPassword .input-text:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}
.woocommerce-account .woocommerce-form-login .password-input,
.woocommerce-account .woocommerce-form-register .password-input,
.woocommerce-account .woocommerce-ResetPassword .password-input {
  display: block;
  position: relative;
}
.woocommerce-account .woocommerce-form-login .password-input .input-text,
.woocommerce-account .woocommerce-form-register .password-input .input-text,
.woocommerce-account .woocommerce-ResetPassword .password-input .input-text {
  padding-right: 44px;
}
.woocommerce-account .woocommerce-form-login .show-password-input,
.woocommerce-account .woocommerce-form-register .show-password-input,
.woocommerce-account .woocommerce-ResetPassword .show-password-input {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  padding: 0;
  background: none !important;
  background-image: none !important;
  border: none;
  cursor: pointer;
  font-size: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.woocommerce-account .woocommerce-form-login .show-password-input::after,
.woocommerce-account .woocommerce-form-register .show-password-input::after,
.woocommerce-account .woocommerce-ResetPassword .show-password-input::after {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background-color: #959a9e;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center/contain no-repeat;
  transition: all 0.2s ease-in-out;
}
.woocommerce-account .woocommerce-form-login .show-password-input:hover::after,
.woocommerce-account .woocommerce-form-register .show-password-input:hover::after,
.woocommerce-account .woocommerce-ResetPassword .show-password-input:hover::after {
  background-color: #111111;
}
.woocommerce-account .woocommerce-form-login > .form-row,
.woocommerce-account .woocommerce-form-register > .form-row,
.woocommerce-account .woocommerce-ResetPassword > .form-row {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 8px;
}
.woocommerce-account .woocommerce-form-login .woocommerce-form__label-for-checkbox,
.woocommerce-account .woocommerce-form-register .woocommerce-form__label-for-checkbox,
.woocommerce-account .woocommerce-ResetPassword .woocommerce-form__label-for-checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #111111;
  cursor: pointer;
}
.woocommerce-account .woocommerce-form-login .woocommerce-form__label-for-checkbox input[type=checkbox],
.woocommerce-account .woocommerce-form-register .woocommerce-form__label-for-checkbox input[type=checkbox],
.woocommerce-account .woocommerce-ResetPassword .woocommerce-form__label-for-checkbox input[type=checkbox] {
  accent-color: #b41d0b;
}
.woocommerce-account .woocommerce-form-login button[type=submit],
.woocommerce-account .woocommerce-form-register button[type=submit],
.woocommerce-account .woocommerce-ResetPassword button[type=submit] {
  width: 100%;
  padding: 12px 24px;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 600;
  background-color: #b41d0b;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.woocommerce-account .woocommerce-form-login button[type=submit]:hover,
.woocommerce-account .woocommerce-form-register button[type=submit]:hover,
.woocommerce-account .woocommerce-ResetPassword button[type=submit]:hover {
  background-color: #8a1608;
}
.woocommerce-account .woocommerce-form-login .woocommerce-LostPassword,
.woocommerce-account .woocommerce-form-register .woocommerce-LostPassword,
.woocommerce-account .woocommerce-ResetPassword .woocommerce-LostPassword {
  text-align: center;
  margin-top: 8px;
}
.woocommerce-account .woocommerce-form-login .woocommerce-LostPassword a,
.woocommerce-account .woocommerce-form-register .woocommerce-LostPassword a,
.woocommerce-account .woocommerce-ResetPassword .woocommerce-LostPassword a {
  color: #b41d0b;
  font-size: 14px;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}
.woocommerce-account .woocommerce-form-login .woocommerce-LostPassword a:hover,
.woocommerce-account .woocommerce-form-register .woocommerce-LostPassword a:hover,
.woocommerce-account .woocommerce-ResetPassword .woocommerce-LostPassword a:hover {
  color: #8a1608;
}
.woocommerce-account .woocommerce-ResetPassword > p:first-child {
  font-size: 16px;
  line-height: 24px;
  color: #959a9e;
  margin: 0 0 24px 0;
  text-align: center;
}
.woocommerce-account .woocommerce-ResetPassword .clear {
  display: none;
}

/**
 * My Account Pages
 *
 * Styles for the WooCommerce My Account area: navigation sidebar,
 * dashboard, orders/downloads tables, addresses, account details form,
 * and login/register (logged-out state).
 */
@media (min-width: 992px) {
  .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
    display: flex;
    gap: 48px;
  }
  .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation {
    flex: 0 0 220px;
  }
  .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-content {
    flex: 1;
    min-width: 0;
  }
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0 0 32px 0;
}
@media (min-width: 992px) {
  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    margin-bottom: 0;
  }
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  margin-bottom: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 8px 16px;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 16px;
  color: #111111;
  text-decoration: none;
  border-left: 3px solid transparent;
  border-radius: 0 4px 4px 0;
  transition: all 0.2s ease-in-out;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background-color: #f6f9f9;
  color: #b41d0b;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background-color: #f6f9f9;
  font-weight: 600;
  color: #b41d0b;
  border-left-color: #b41d0b;
}
.woocommerce-account .woocommerce-MyAccount-content {
  font-size: 16px;
  line-height: 24px;
  color: #111111;
}
.woocommerce-account .woocommerce-MyAccount-content a:not(.woocommerce-button):not(.edit):not(.button) {
  color: #b41d0b;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: all 0.2s ease-in-out;
}
.woocommerce-account .woocommerce-MyAccount-content a:not(.woocommerce-button):not(.edit):not(.button):hover {
  color: #8a1608;
}
.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
  margin-bottom: 24px;
}
.woocommerce-account .woocommerce-MyAccount-content table {
  width: 100%;
  border-collapse: collapse;
}
.woocommerce-account .woocommerce-MyAccount-content table th,
.woocommerce-account .woocommerce-MyAccount-content table td {
  padding: 16px;
  border-bottom: 1px solid #e0e0e0;
  font-size: 14px;
  text-align: left;
}
.woocommerce-account .woocommerce-MyAccount-content table th {
  font-weight: 600;
  color: #959a9e;
}
.woocommerce-account .woocommerce-MyAccount-content table .woocommerce-button {
  display: inline-flex;
  padding: 8px 16px;
  background-color: transparent;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  color: #111111;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}
.woocommerce-account .woocommerce-MyAccount-content table .woocommerce-button:hover {
  border-color: #111111;
  color: #111111;
}
.woocommerce-account .woocommerce-MyAccount-content .order-status {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.6;
  white-space: nowrap;
}
.woocommerce-account .woocommerce-MyAccount-content .order-status--processing {
  background-color: rgba(180, 29, 11, 0.12);
  color: #b41d0b;
}
.woocommerce-account .woocommerce-MyAccount-content .order-status--on-hold {
  background-color: rgba(245, 158, 11, 0.12);
  color: rgb(196.9291338583, 126.7125984252, 8.0708661417);
}
.woocommerce-account .woocommerce-MyAccount-content .order-status--completed {
  background-color: rgba(40, 167, 69, 0.12);
  color: rgb(30.1449275362, 125.8550724638, 52);
}
.woocommerce-account .woocommerce-MyAccount-content .order-status--cancelled,
.woocommerce-account .woocommerce-MyAccount-content .order-status--failed,
.woocommerce-account .woocommerce-MyAccount-content .order-status--refunded {
  background-color: rgba(220, 53, 69, 0.12);
  color: #dc3545;
}
.woocommerce-account .woocommerce-MyAccount-content .order-status--pending {
  background-color: rgba(149, 154, 158, 0.12);
  color: #959a9e;
}
@media (max-width: 991px) {
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table thead,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-downloads thead {
    display: none;
  }
}
@media (max-width: 991px) {
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table tbody tr,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-downloads tbody tr {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 24px 0;
    border-bottom: 1px solid #e0e0e0;
  }
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table tbody tr td,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-downloads tbody tr td {
    padding: 0;
    border-bottom: none;
    flex: 0 0 auto;
  }
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table tbody tr td::before,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-downloads tbody tr td::before {
    content: attr(data-title) ": ";
    font-weight: 600;
    color: #959a9e;
    margin-right: 4px;
  }
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table tbody tr td.woocommerce-orders-table__cell-order-number,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table tbody tr td.woocommerce-orders-table__cell-order-date,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-downloads tbody tr td.woocommerce-orders-table__cell-order-number,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-downloads tbody tr td.woocommerce-orders-table__cell-order-date {
    flex: 1 1 100%;
  }
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table tbody tr td.woocommerce-orders-table__cell-order-actions,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table tbody tr td.download-actions,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-downloads tbody tr td.woocommerce-orders-table__cell-order-actions,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-downloads tbody tr td.download-actions {
    flex: 1 1 100%;
    margin-top: 4px;
  }
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-downloads .woocommerce-button {
  background-color: #b41d0b;
  border-color: #b41d0b;
  color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-downloads .woocommerce-button:hover {
  background-color: #8a1608;
  border-color: #8a1608;
}
.woocommerce-account .woocommerce-MyAccount-content mark {
  background: none;
  color: inherit;
}
.woocommerce-account .woocommerce-MyAccount-content mark.order-number, .woocommerce-account .woocommerce-MyAccount-content mark.order-date {
  font-weight: 600;
}
.woocommerce-account .woocommerce-MyAccount-content mark.order-status {
  font-weight: 600;
  color: #b41d0b;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-downloads__title,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details__title,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-column__title {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 24px;
  line-height: 32px;
  font-weight: 800;
  color: #111111;
  margin: 32px 0 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e0e0e0;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-details tfoot th {
  font-weight: 600;
  color: #111111;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-details tfoot tr:last-child td {
  border-bottom: none;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-details tfoot small.includes_tax {
  font-size: 12px;
  color: #959a9e;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-details .product-quantity {
  font-weight: 600;
  color: #959a9e;
}
.woocommerce-account .woocommerce-MyAccount-content .button.alt {
  display: inline-flex;
  padding: 8px 16px;
  background-color: #b41d0b;
  border: 1px solid #b41d0b;
  border-radius: 4px;
  color: #fff;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}
.woocommerce-account .woocommerce-MyAccount-content .button.alt:hover {
  background-color: #8a1608;
  border-color: #8a1608;
}
.woocommerce-account .woocommerce-MyAccount-content .order-again {
  margin-top: 24px;
}
.woocommerce-account .woocommerce-MyAccount-content .order-again .button {
  display: inline-flex;
  padding: 8px 24px;
  background-color: #b41d0b;
  border: none;
  border-radius: 4px;
  color: #fff;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}
.woocommerce-account .woocommerce-MyAccount-content .order-again .button:hover {
  background-color: #8a1608;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details {
  margin-top: 32px;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details address {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 28px;
  color: #111111;
  font-style: normal;
  padding: 24px;
  background-color: #f6f9f9;
  border-radius: 8px;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details address p {
  margin: 4px 0 0;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-customer-details--phone,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-customer-details--email {
  font-size: 14px;
  color: #959a9e;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-columns--addresses {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}
@media (min-width: 992px) {
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-columns--addresses {
    grid-template-columns: 1fr 1fr;
  }
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-columns--addresses .woocommerce-column__title {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 24px;
  line-height: 32px;
  font-weight: 800;
  color: #111111;
  margin: 0 0 16px 0;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-columns--addresses address {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 28px;
  color: #111111;
  font-style: normal;
  padding: 24px;
  background-color: #f6f9f9;
  border-radius: 8px;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-columns--addresses address p {
  margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-columns--addresses .edit {
  display: inline-block;
  margin-top: 8px;
  color: #b41d0b;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-columns--addresses .edit:hover {
  color: #8a1608;
}
.woocommerce-account .woocommerce-MyAccount-content form label {
  display: block;
  margin-bottom: 4px;
  font-size: 14px;
  font-weight: 600;
  color: #111111;
}
.woocommerce-account .woocommerce-MyAccount-content form label .required {
  color: inherit;
}
.woocommerce-account .woocommerce-MyAccount-content form input[type=text],
.woocommerce-account .woocommerce-MyAccount-content form input[type=email],
.woocommerce-account .woocommerce-MyAccount-content form input[type=tel],
.woocommerce-account .woocommerce-MyAccount-content form input[type=password],
.woocommerce-account .woocommerce-MyAccount-content form select {
  width: 100%;
  padding: 8px 16px;
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 16px;
  color: #111111;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  background-color: #fff;
  box-sizing: border-box;
}
.woocommerce-account .woocommerce-MyAccount-content form input[type=text]:focus,
.woocommerce-account .woocommerce-MyAccount-content form input[type=email]:focus,
.woocommerce-account .woocommerce-MyAccount-content form input[type=tel]:focus,
.woocommerce-account .woocommerce-MyAccount-content form input[type=password]:focus,
.woocommerce-account .woocommerce-MyAccount-content form select:focus {
  border-color: #b41d0b;
  outline: none;
}
.woocommerce-account .woocommerce-MyAccount-content form input[type=text]:focus-visible,
.woocommerce-account .woocommerce-MyAccount-content form input[type=email]:focus-visible,
.woocommerce-account .woocommerce-MyAccount-content form input[type=tel]:focus-visible,
.woocommerce-account .woocommerce-MyAccount-content form input[type=password]:focus-visible,
.woocommerce-account .woocommerce-MyAccount-content form select:focus-visible {
  outline: 2px solid #b41d0b;
  outline-offset: 2px;
}
.woocommerce-account .woocommerce-MyAccount-content form .form-row {
  margin-bottom: 16px;
}
@media (min-width: 992px) {
  .woocommerce-account .woocommerce-MyAccount-content form .form-row-first {
    float: left;
    width: calc(50% - 8px);
  }
  .woocommerce-account .woocommerce-MyAccount-content form .form-row-last {
    float: right;
    width: calc(50% - 8px);
  }
}
.woocommerce-account .woocommerce-MyAccount-content form .clear {
  clear: both;
}
.woocommerce-account .woocommerce-MyAccount-content form span > em {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: #959a9e;
  font-style: normal;
}
.woocommerce-account .woocommerce-MyAccount-content form .password-input {
  position: relative;
  display: block;
}
.woocommerce-account .woocommerce-MyAccount-content form .password-input input[type=password] {
  padding-right: 44px;
}
.woocommerce-account .woocommerce-MyAccount-content form .password-input .show-password-input {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 0;
  color: #959a9e;
  transition: all 0.2s ease-in-out;
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: none !important;
  background-color: transparent !important;
}
.woocommerce-account .woocommerce-MyAccount-content form .password-input .show-password-input:hover {
  color: #111111;
}
.woocommerce-account .woocommerce-MyAccount-content form .password-input .show-password-input::after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background-color: #959a9e;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
}
.woocommerce-account .woocommerce-MyAccount-content form .password-input .show-password-input:hover::after {
  background-color: #111111;
}
.woocommerce-account .woocommerce-MyAccount-content form button[type=submit],
.woocommerce-account .woocommerce-MyAccount-content form input[type=submit] {
  background-color: #b41d0b;
  color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-content form button[type=submit]:hover,
.woocommerce-account .woocommerce-MyAccount-content form input[type=submit]:hover {
  background-color: #8a1608;
}
.woocommerce-account .woocommerce-MyAccount-content fieldset {
  border: none;
  padding: 0;
  margin: 24px 0 0;
}
.woocommerce-account .woocommerce-MyAccount-content fieldset legend {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 24px;
  line-height: 32px;
  font-weight: 800;
  color: #111111;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e0e0e0;
  width: 100%;
}
.woocommerce-account .u-columns:not(.addresses) {
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}
.woocommerce-account .u-columns.col2-set:not(.addresses) {
  max-width: 960px;
}
@media (min-width: 992px) {
  .woocommerce-account .u-columns.col2-set {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
  }
}
.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
  flex: none;
  width: auto;
  padding: 32px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  margin-bottom: 24px;
}
.woocommerce-account .u-columns h2 {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 30px;
  line-height: 36px;
  font-weight: 800;
  color: #111111;
  margin: 0 0 24px 0;
}
.woocommerce-account .u-columns.addresses .woocommerce-Address-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.woocommerce-account .u-columns.addresses .woocommerce-Address-title h2 {
  font-size: 24px;
  line-height: 32px;
  margin: 0;
}
.woocommerce-account .u-columns.addresses .woocommerce-Address-title .edit {
  color: #b41d0b;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.2s ease-in-out;
}
.woocommerce-account .u-columns.addresses .woocommerce-Address-title .edit:hover {
  color: #8a1608;
}
.woocommerce-account .u-columns.addresses address {
  font-family: "Inter", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 28px;
  color: #111111;
  font-style: normal;
  padding: 24px;
  background-color: #f6f9f9;
  border-radius: 8px;
}

/**
 * WooCommerce Header Elements
 *
 * Cart icon + count badge for header integration.
 * Scoped under .woo-header-elements — inert when WooCommerce is inactive.
 */
.woo-header-elements {
  display: flex;
  align-items: center;
}
.woo-header-elements .woo-header-elements__cart {
  display: flex;
  align-items: center;
  gap: 4px;
  position: relative;
  color: #111111;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}
.woo-header-elements .woo-header-elements__cart:hover {
  color: #b41d0b;
}
.woo-header-elements .woo-header-elements__icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.woo-header-elements .woo-header-elements__icon svg {
  width: 22px;
  height: 22px;
}
.woo-header-elements .woo-header-elements__text {
  font-size: 16px;
  font-weight: 600;
}
.woo-header-elements .woo-header-elements__count {
  position: absolute;
  top: -6px;
  right: -8px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 9px;
  background-color: #b41d0b;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  line-height: 18px;
  text-align: center;
}
.woo-header-elements .woo-header-elements__count--empty {
  display: none;
}
.woo-header-elements--icon .woo-header-elements__text {
  display: none;
}
.woo-header-elements--text .woo-header-elements__icon {
  display: none;
}
.woo-header-elements--text .woo-header-elements__count {
  position: static;
  margin-left: 4px;
}
.woo-header-elements--icon-text .woo-header-elements__count {
  position: static;
  margin-left: 4px;
}
@media (max-width: 767px) {
  .woo-header-elements .woo-header-elements__text {
    display: none;
  }
  .woo-header-elements .woo-header-elements__count {
    position: absolute;
    top: -6px;
    right: -8px;
    margin-left: 0;
  }
}

/*
    Homepage-Specific Styles

    Styles that ONLY apply to the homepage.
    Use sparingly — prefer reusable section styles instead.

    Target with body.home class from WordPress.
*/

/*# sourceMappingURL=style.css.map */
