{
  box-sizing: border-box;
}

body {
  font-family: var(--base-font);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;

  background:
    radial-gradient(circle at 15% 20%, rgba(94, 35, 202, 0.12), transparent 45%),
    radial-gradient(circle at 85% 80%, rgba(36, 77, 255, 0.10), transparent 45%),

    repeating-linear-gradient(
      0deg,
      rgba(0,0,0,0.035) 0px,
      rgba(0,0,0,0.035) 1px,
      transparent 1px,
      transparent 36px
    ),
    repeating-linear-gradient(
      90deg,
      rgba(0,0,0,0.035) 0px,
      rgba(0,0,0,0.035) 1px,
      transparent 1px,
      transparent 36px
    );
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--header-font);
  font-weight: 400;
  margin-top: 0;
}

h1 {
  font-size: 32px;
}

h2 {
  font-size: 22px;
}

h3 {
  font-size: 18px;
  font-weight: 600;
}

h4 {
  font-size: 16px;
}

a {
  color: #000000;
  text-decoration: none;
}

a:hover, a:active, a:focus {
  color: #ffaa00;
  text-decoration: none;
}

input,
textarea {
  color: #000;
  font-size: 14px;
}

input {
  font-weight: 300;
  max-width: 100%;
  box-sizing: border-box;
  outline: none;
  transition: border .12s ease-in-out;
}

input:focus {
  border: 1px solid #1b1b1b;
}

input[disabled] {
  background-color: #ddd;
}

.nav-bar {
  width: 100%;
  display: flex;
  justify-content: center;
  background: var(--header-bg);
  z-index: 3;
}

/* Center all nav contents as one row, with the user block pushed to the far right */
.nav-content {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  padding: 10px 12px;

  display: flex;
  align-items: center;
  gap: 30px;

  font-family: var(--base-font);
  position: relative;
  z-index: 3;
}

.brand {
  display: inline-flex;
  align-items: center;
}

.brand img {
  max-height: 34px;
  display: block;
}

.nav-links {
  flex: 1;
  gap: 20px;
  position: relative;
  display: flex;
  align-items: center;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 400;
  padding-bottom: 0;
}

.nav-toggle {
  display: none;
  margin-left: auto;
  margin-right: 6px;
  padding: 8px 10px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nav-toggle:hover,
.nav-toggle:focus-visible {
  border-color: rgba(255, 255, 255, 0.4);
  background: rgba(255, 255, 255, 0.14);
}

.nav-mobile {
  display: none;
  position: absolute;
  top: 64px;
  left: 12px;
  right: 12px;
  max-height: calc(100vh - 90px);
  overflow: auto;
  background: var(--header-bg);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 10px;
  padding: 14px 14px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
  z-index: 6;
}

.nav-mobile-link,
.nav-mobile-sublink {
  display: block;
  color: #ffffff;
  text-decoration: none;
  padding: 10px 8px;
  border-radius: 6px;
}

.nav-mobile-link {
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 12px;
  margin-top: 4px;
}

.nav-mobile-sublink {
  font-weight: 400;
  font-size: 12px;
  opacity: 0.92;
  padding-left: 16px;
}

.nav-mobile-link:hover,
.nav-mobile-link:focus-visible,
.nav-mobile-sublink:hover,
.nav-mobile-sublink:focus-visible {
  background: rgba(255, 255, 255, 0.08);
  color: var(--text-hover);
}

.nav-mobile-user {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.10);
  color: #ffffff;
}

/* Mobile menu: show user text but remove avatar/image from layout */
.nav-mobile-user img,
.nav-mobile-user .avatar,
.nav-mobile-user .user-avatar,
.nav-mobile-user [class*="avatar"],
.nav-user img,
.nav-user .avatar,
.nav-user .user-avatar,
.nav-user [class*="avatar"],
.nav-item--user img,
.nav-item--user .avatar,
.nav-item--user .user-avatar,
.nav-item--user [class*="avatar"] {
  display: none !important;
}

.nav-item {
  position: relative;
  display: flex;
  align-items: center;
  margin: 5px;
}

.nav-link {
  position: relative;
  color: var(--text-primary);
  text-decoration: none;
  transition: color 0.2s ease;
  font-family: var(--base-font);
}

.nav-link:hover,
.nav-link:focus-visible {
  color: var(--text-hover);
}

.nav-dropdown {
  position: absolute;
  top: 50%;
  left: 0;
  min-width: 300px;
  background: var(--header-bg);
  padding: 18px 20px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
  z-index: 7;
}

.nav-item--mega:hover .nav-dropdown,
.nav-item--mega:focus-within .nav-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(12px);
}

.nav-dropdown-column a {
  display: block;
  color: #ffffff;
  margin: 6px 0;
  font-size: 12px;
  text-decoration: none;
}

.nav-dropdown-column a:hover,
.nav-dropdown-column a:focus-visible {
  color: var(--text-hover);
}

.nav-item--user img {
	display: none;
}

.nav-user {
  margin-left: auto;
  display: flex;
  align-items: center;
  color: #ffffff;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nav-user a {
  color: inherit;
  text-decoration: none;
}

.nav-user a:hover,
.nav-user a:focus-visible {
  color: var(--text-hover);
}

.page {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 8px 12px 40px;
  background: var(--page-bg);
}

.hero {
  width: 100%;
  display: flex;
  justify-content: center;
  z-index: 0;
}

.hero-frame {
  width: 100%;
  max-width: 1300px;
  border-bottom: 2px solid var(--border);
  border-left: 1px solid var(--border);
  border-right: 1px solid var(--border);
  border-radius: 0px 0px 4px 4px;
  overflow: hidden;
  background: #ffffff;
  position: relative;
  margin-top: -40px;
  z-index: 0;
}

.hero-media {
  position: relative;
  height: clamp(200px, 28vw, 320px);
  background-size: cover;
  background-position: center;
}

/* (legacy) if an <img class="hero-image"> is used anywhere */
.hero-image {
  width: 100%;
  height: clamp(200px, 28vw, 320px);
  display: block;
  z-index: 0;
  object-fit: cover;
  object-position: center;
}

.hero-title {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;

  /* extra bottom padding so the absolutely-positioned search doesn't overlap the title text */
  padding: 18px 20px 64px;

  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: rgba(0, 0, 0, 0.55);
  justify-content: center;
  color: #ffffff;
  font-family: var(--header-font);
  font-size: clamp(20px, 3vw, 28px);
}

.hero-search {
  position: absolute;
  left: 20px;
  bottom: 18px;
  display: inline-flex;
  z-index: 3;
}

.hero-search::before {
  font-family: "copenhagen-icons";
  content: "\1F50D";
  color: rgba(255, 255, 255, 0.75);
  padding: 6px 0px;
  transform: translateX(180%);
  z-index: 2;
}

.hero-search input {
  display: inline-block;
  position: relative;
  width: 280px;
  height: 32px;
  padding-left: 40px;
  border: none;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.32);
  color: #ffffff;
  font-size: 13px;
  letter-spacing: 0.3px;
  box-shadow: 4px 4px 5px 2px rgba(0, 0, 0, 0.25), inset 0 4px 4px 1px rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(2px);
}

.hero-search input::placeholder {
  color: rgba(255, 255, 255, 0.8);
  z-index: 4;
}

.hero-search input:focus {
  outline: 1px solid rgba(255, 255, 255, 0.55);
  z-index: 4;
}

/* Store (category/section/article) pages: match home hero + content framing */
.store-hero {
  width: 100%;
  max-width: 1300px;
  margin: -40px auto 16px;
  border-bottom: 2px solid var(--border);
  border-left: 1px solid var(--border);
  border-right: 1px solid var(--border);
  border-radius: 0 0 4px 4px;
  overflow: hidden;
  background: #ffffff;
  position: relative;
}

.store-hero-media {
  height: clamp(200px, 28vw, 320px);
  background-size: cover;
  background-position: center;
}

.store-hero-title--overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;

  /* leave space for search + CTA sitting in the bottom corners */
  padding: 18px 20px 64px;

  background: rgba(0, 0, 0, 0.55);
  color: #ffffff;
}

.store-hero-title--overlay h1 {
  margin: 0 0 10px;
  color: inherit;
  font-size: clamp(20px, 3vw, 28px);
}

.store-hero-subtitle {
  margin: 0 0 12px;
  color: rgba(255, 255, 255, 0.85);
  font-size: 13px;
}

.store-content {
  width: 100%;
  max-width: 1300px;
}

/* Store search input parity with hero search */
.store-hero .search {
  position: relative;
  display: inline-flex;
}

.store-hero .search::before {
  font-family: "copenhagen-icons";
  content: "\1F50D";
  color: rgba(255, 255, 255, 0.75);
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  pointer-events: none;
}

.store-hero .search input[type="search"],
.store-hero .search input {
  display: inline-block;
  position: relative;
  width: min(520px, 85vw);
  height: 32px;
  padding-left: 40px;
  border: none;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.32);
  color: #ffffff;
  font-size: 13px;
  letter-spacing: 0.3px;
  box-shadow: 4px 4px 5px 2px rgba(0, 0, 0, 0.25), inset 0 4px 4px 1px rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(2px);
}

.store-hero .search input::placeholder {
  color: rgba(255, 255, 255, 0.8);
}

.store-hero .search input:focus {
  outline: 1px solid rgba(255, 255, 255, 0.55);
}

.store-hero-cta {
  position: absolute;
  right: 18px;
  bottom: 18px;
  display: inline-flex;
  padding: 5px;
  align-items: center;
  justify-content: center;
  width: 115px;
  height: 30px;
  border-radius: 4px;
  background: #1b1b1b;
  font-weight: 700;
  font-size: 16px;
  text-decoration: none;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  text-transform: uppercase;
  color: #ffffff;
  z-index: 10;
}

.store-hero-cta:hover,
.store-hero-cta:focus-visible {
  background: rgba(27, 27, 27, 0.8);
  color: #ffaa00;
}

/* Card framing for store pages */
.store-breadcrumb-card {
  padding: 10px 18px;
}

.store-main-card {
  padding: 16px 20px 14px;
}

.store-section-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
}

@media (max-width: 1075px) {
  .store-section-grid {
    grid-template-columns: 1fr;
  }
}

.store-section-card {
  padding: 16px 20px 14px;
}

.store-article-card {
  width: 100%;
  padding: 22px 26px;
}

.store-article-list--grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.store-article-item {
  list-style: none;
  border: 0;
  border-radius: 4px;
  background: #ffffff;
  padding: 8px 0;
}

.store-article-item a {
  color: rgba(0, 0, 0, 0.85);
  text-decoration: none;
  font-weight: 600;
}

.store-article-item a:hover,
.store-article-item a:focus-visible {
  color: var(--text-hover);
}

.search-results-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.search-result {
  border: 1px solid var(--border);
  border-radius: 4px;
  background: #ffffff;
  padding: 14px 16px;
}

.search-result-link {
  font-weight: 700;
}

.hero-cta {
  position: absolute;
  right: 18px;
  bottom: 18px;
  display: inline-flex;
  padding: 5px;
  align-items: center;
  justify-content: center;
  width: 115px;
  height: 30px;
  border-radius: 4px;
  background: #1b1b1b;
  font-weight: 700;
  font-size: 16px;
  text-decoration: none;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  text-transform: uppercase;
  color: #ffffff;
  z-index: 10;
}

.hero-cta:hover,
.hero-cta:focus-visible {
  background: rgba(27, 27, 27, 0.8);
  color: #ffaa00;
}

.breadcrumbs {
  padding: 10px 18px;
  color: rgba(0, 0, 0, 0.45);
}

.breadcrumbs {
  margin: 0 0 15px 0;
  padding: 0;
}

@media (min-width: 768px) {
  .breadcrumbs {
    margin: 0;
  }
}

.breadcrumbs li {
  color: dimgray;
  display: inline;
  font-weight: 300;
  font-size: 13px;
  max-width: 450px;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: var(--header-font);
}

.breadcrumbs li + li::before {
  content: ">";
  margin: 0 4px;
}

.breadcrumbs li a:hover {
  color: #ffaa00;
}

.breadcrumbs li a:visited {
  color: rgba(0, 0, 0, 1);
}

/* Legacy grid (kept for other pages if referenced) */
.content-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: auto auto;
  gap: 14px 18px;
  width: 100%;
  max-width: 1300px;
}

/* Home page layout */
.home-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: 14px 18px;
  width: 100%;
  max-width: 1300px;
}

.featured-stack {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.card {
  border: 1px solid var(--border);
  border-radius: 4px;
  background: #ffffff;
  padding: 16px 20px 14px;
  position: relative;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}

.card-featured {
  min-height: 130px;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 8px;
}

.card-kicker {
  margin: 0;
  font-size: 10px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #1b1b1b;
}

.card-title {
  margin: 0;
  font-size: 18px;
  font-family: var(--body-text)
  letter-spacing: 1px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.75);
  line-height: 1.1;
}

.card-body {
  margin: 0;
  font-size: 12px;
  color: var(--body-text);
  line-height: 1.35;
}

.card-link {
  align-self: end;
  justify-self: start;
  font-weight: 700;
  font-size: 12px;
  color: #1b1b1b;
  text-decoration: none;
  text-transform: uppercase;
}

.card-link:hover,
.card-link:focus-visible {
  color: var(--text-hover);
}

.card-popular {
  grid-row: 1 / span 2;
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 360px;
}

.popular-group h4 {
  margin: 0 0 5px 0;
  font-size: 18px;
  font-family: var(--body-text);
  font-weight: 500;
  color: rgba(0, 0, 0, 0.75);
}

.popular-group p {
  margin: 0;
  font-size: 12x;
  color: var(--body-text);
  padding-left: 8px;
  line-height: 1.45;
}

.popular-group p::before {
    content: "- ";
}

.popular-group ul {
  margin: 0;
  font-size: 12px;
  padding-left: 8px;
  color: var(--body-text);
}

.popular-group li::before {
    content: "- ";
}

.popular-group li {
  font-size: 12px;
}

.popular-group a {
  color: inherit;
  font-weight: 600;
}

.popular-group a:hover,
.popular-group a:focus-visible {
  color: var(--text-hover);
  text-decoration: none;
}

.footer {
  width: 100%;
  display: flex;
  justify-content: center;
  background: #ffffff;
  border-top: 1px solid var(--border);
}

.footer-inner {
  width: 100%;
  max-width: 1300px;
  min-height: 80px;
  font-size: 12px;
  color: #000;
  background: transparent;
  line-height: 1.5;
  padding: 16px 40px;
}

.footer-inner a {
  color: #000;
  font-weight: 700;
  text-decoration: none;
  display: column;
}

.footer-inner a:hover,
.footer-inner a:focus-visible {
  color: var(--text-hover);
}

@media (max-width: 1075px) {
  .nav-bar {
    z-index: 3;
  }

  .nav-content {
    gap: 16px;
    display: flex;
    align-items: center;
    z-index: 3;
  }

  .hero-media {
    height: 260px;
  }

  /* Mobile menu: avoid hover-only mega dropdowns */
  .nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .nav-links {
    display: none;
  }

  body.nav-mobile-open .nav-mobile {
    display: block;
  }

  .hero-title {
    font-size: 22px;
    bottom: 0;
  }
  .hero-search input {
    width: 240px;
  }

  .home-grid {
    grid-template-columns: 1fr;
  }

  .content-grid {
    grid-template-columns: 1fr;
  }

  .card-popular {
    grid-row: auto;
  }
}

:root {
  --header-bg: #1b1b1b;
  --text-primary: #d8d8d8;
  --text-hover: #ffaa00;
  --border: rgba(27, 27, 27, 0.25);
  --body-text: rgba(27, 27, 27, 0.7);
}

* {
  box-sizing: border-box;
}

.logo img {
  max-height: 40px;
  filter: grayscale(10%) brightness(1000%);
}

/* ===== Hero override for overlay stuff ===== */

@font-face {
    font-family: 'Verbatim';
    src: url(/hc/theming_assets/01K57GEQXXGGJCNWVJSQAY0MA4) format('woff2'),
        url(/hc/theming_assets/01K57GE0ASA2E3ZH7GQ1ZQBXTE) format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Visby CF Extra';
    src: url(/hc/theming_assets/01K57GE6MF766GRA7ZXTT1XAKG) format('woff2'),
        url(/hc/theming_assets/01K57GDDRCKBBXTPZ99CGHW6NF) format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Visby CF';
    src: url(/hc/theming_assets/01K57GDG49NV5JCC5G3N2TFSJC) format('woff2'),
        url(/hc/theming_assets/01K57GDG49NV5JCC5G3N2TFSJC) format('woff');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Visby CF';
    src: url(/hc/theming_assets/01K57GEA6XG2TCQBVMVJ5TVPAC) format('woff2'),
        url(/hc/theming_assets/01K57GDH3S1WK6SG6MHNV4YVZH) format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Visby CF Demi';
    src: url(/hc/theming_assets/01K57GE46GT2YJRA684VD55NCK) format('woff2'),
        url(/hc/theming_assets/01K57GDB6XDCP74XV9A2PVWJJQ) format('woff');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Verbatim';
    src: url(/hc/theming_assets/01K57GEN98PJFZ49ZMFZ3PP0S2) format('woff2'),
        url(/hc/theming_assets/01K57GDWC6X3WMHV0MG2NR1XBW) format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Visby CF';
    src: url(/hc/theming_assets/01K57GE1NJMCPFD22HAFHJVBAY) format('woff2'),
        url(/hc/theming_assets/01K57GD88JK3P3D62ZS4X6F9QV) format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Visby CF';
    src: url(/hc/theming_assets/01K57GE2PYW1ZEV3WEB1G3XX2P) format('woff2'),
        url(/hc/theming_assets/01K57GD9VK83S5M6TQR8S8ERG3) format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Visby CF Extra';
    src: url(/hc/theming_assets/01K57GE7S8E64AAAXV2Z8XZ4E3) format('woff2'),
        url(/hc/theming_assets/01K57GDEST5M0Z8BGH5VEXNQ2B) format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Verbatim';
    src: url(/hc/theming_assets/01K57GEPJ5JYKBTN2V7KQZ3NBS) format('woff2'),
        url(/hc/theming_assets/01K57GDYMJJ34GD9B5NYBNMS6W) format('woff');
    font-weight: 500;
    font-style: bold;
    font-display: swap;
}

@font-face {
    font-family: 'Visby CF Demi';
    src: url(/hc/theming_assets/01K57GE5713ENE4XNMEXVBV9WH) format('woff2'),
        url(/hc/theming_assets/01K57GDC9XN2NVTW5B8RCV785H) format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Visby CF';
    src: url(/hc/theming_assets/01K57GEDZ0YMX3AHED3NRZ1JH6) format('woff2'),
        url(/hc/theming_assets/01K57GDMT5RKX7GVN7AT4PE5FZ) format('woff');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Visby CF';
    src: url(/hc/theming_assets/01K57GEHKRJCVGS848SFB22JBR) format('woff2'),
        url(/hc/theming_assets/01K57GDR7AGNCMCJN0J5VRP9D7) format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Visby CF';
    src: url(/hc/theming_assets/01K57GEF3RF527AEE9J94QNBSF) format('woff2'),
        url(/hc/theming_assets/01K57GDNT17K4YFMEK5XR3GEAP) format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Visby CF';
    src: url(/hc/theming_assets/01K57GEBHM9V57CE631YF69YTD) format('woff2'),
        url(/hc/theming_assets/01K57GDJG5MZ3B4Z84STX4JQ05) format('woff');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Visby CF';
    src: url(/hc/theming_assets/01K57GEGH5R635MQF606ZXTQRS) format('woff2'),
        url(/hc/theming_assets/01K57GDQ6MC29BXVMR74ZXAHPR) format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Visby CF';
    src: url(/hc/theming_assets/01K57GECGJHS43KHEPJCK5C595) format('woff2'),
        url(/hc/theming_assets/01K57GDKF9YRMZF96W6TMJKEJ3) format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Visby CF';
    src: url(/hc/theming_assets/01K57GEKYEBJK7TFRW7Y5HE6AA) format('woff2'),
        url(/hc/theming_assets/01K57GDV2YRY0N2TTNSBY6CFCG) format('woff');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Visby CF';
    src: url(/hc/theming_assets/01K57GEJXW9J61A8T2RT5R7FMX) format('woff2'),
        url(/hc/theming_assets/01K57GDSQZEK858EJCSAZ85N12) format('woff');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}


@charset "UTF-8";
/***** Base *****/
* {
  box-sizing: border-box;
}

/* ===== Request form styling ===== */
.request-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 14px;
  grid-auto-flow: row;
}

/* Hide conditional fields that are disabled/hidden */
.request-form .form-field[hidden],
.request-form .form-field.hidden,
.request-form .form-field[aria-hidden="true"] {
  display: none !important;
}

.request-form .form-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* Half-width fields (tweak as needed) */
.request-form .form-field.request_anonymous_requester_email,
.request-form .form-field.request_custom_fields_44443456505613,
.request-form .form-field.request_custom_fields_44443421984141,
.request-form .form-field.request_custom_fields_44444424878477 {
  grid-column: span 1;
}

@media (max-width: 900px) {
  .request-form {
    grid-template-columns: 1fr;
  }

  .request-form .form-field {
    grid-column: span 1;
  }
}

/* Default: pin all fields to first column */
.request-form .form-field {
  grid-column: 1 / span 1;
  grid-row: auto;
}

/* Stack form type / email / name each on their own row */
.request-form .form-field.request_ticket_form_id {
  grid-column: 1 / span 1;
  grid-row: 1;
}

.request-form .form-field.request_anonymous_requester_email {
  grid-column: 1 / span 1;
  grid-row: 2;
}

.request-form .form-field.request_custom_fields_44443456505613 {
  grid-column: 1 / span 1;
  grid-row: 3;
}

.request-form .form-field.request_custom_fields_45899726105741 {
  grid-column: 2 / span 1;
  grid-row: 3;
}

.request-form .form-field.request_custom_fields_44443421984141 {
  grid-column: 1 / span 1;
  grid-row: 4;
}

/* Product + Serial side-by-side */
.request-form .form-field.request_custom_fields_44443402310541 {
  grid-column: 1 / span 1;
}

.request-form .form-field.request_custom_fields_44443398534541 {
  grid-column: 2 / span 1;
}

/* Main message spans two columns */
.request-form .form-field.request_description {
  grid-column: 1 / span 2;
}

.request-form label {
  font-family: var(--body-font);
  font-size: 13px;
  color: rgba(0, 0, 0, 0.8);
}

.request-form input[type="text"],
.request-form input[type="number"],
.request-form textarea,
.request-form select,
.request-form .nesty-input,
.request-form .hc-multiselect-toggle {
  width: 100%;
  max-width: 100%;
  border: 1px solid rgba(27, 27, 27, 0.2);
  border-radius: 6px;
  padding: 8px 10px;
  background: #ffffff;
  color: #000000;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.request-form textarea {
  min-height: 96px;
  resize: vertical;
}

.request-form .form-field p {
  margin: 0;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.6);
}

/* Zendesk "nesty" dropdowns */
.request-form .nesty-input {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  position: relative;
  padding-right: 36px;
  background-image: url("/hc/theming_assets/01KFKR37GPZ019RBV5PH85NY0W");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px;
}

.nesty-panel {
  background: #ffffff;
  border: 1px solid rgba(27, 27, 27, 0.2);
  border-radius: 6px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
  overflow: hidden;
  z-index: 50;
}

.nesty-panel ul {
  list-style: none;
  margin: 0;
  padding: 6px 0;
}

.nesty-panel li {
  padding: 10px 12px;
  font-size: 14px;
  cursor: pointer;
}

.nesty-panel li:hover,
.nesty-panel .nesty-selected {
  background: rgba(27, 27, 27, 0.08);
}

/* Multi-select field */
.hc-multiselect {
  position: relative;
}

.hc-multiselect-toggle {
  min-height: 40px;
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  background-image: url("/hc/theming_assets/01KFKR37GPZ019RBV5PH85NY0W");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px;
}

.hc-multiselect-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  background: #ffffff;
  border: 1px solid rgba(27, 27, 27, 0.2);
  border-radius: 6px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
  max-height: 260px;
  overflow-y: auto;
  padding: 6px 0;
  z-index: 40;
}

.hc-multiselect-menu li {
  padding: 8px 12px;
  font-size: 13px;
}

.hc-multiselect-menu label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  cursor: pointer;
}

/* Upload dropzone */
.upload-dropzone {
  border: 1px dashed rgba(27, 27, 27, 0.3);
  border-radius: 6px;
  padding: 14px;
  background: rgba(27, 27, 27, 0.03);
}

.upload-dropzone a {
  color: #1b1b1b;
  font-weight: 600;
}

/* Submit button */
.request-form footer {
  display: flex;
  justify-content: flex-end;
  grid-column: 1 / -1;
}

.request-form footer input[type="submit"] {
  background: #1b1b1b;
  color: #ffffff;
  border: 0;
  border-radius: 6px;
  padding: 8px 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
}

.request-form footer input[type="submit"]:hover,
.request-form footer input[type="submit"]:focus-visible {
  background: rgba(27, 27, 27, 0.85);
  color: #ffaa00;
}

:root {
  --header-font: 'Verbatim';
  --base-font: 'Visby CF';
}

body {
  background-color: rgba(255, 255, 255, 1);
  color: rgba(54, 54, 54, 1);
  font-family: var(--base-font);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;

  /* Sticky footer + consistent vertical layout */
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

main {
  flex: 1 0 auto;
}

footer.footer {
  margin-top: auto;
}

main {
  padding-bottom: 24px;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;

  background:
    radial-gradient(circle at 15% 20%, rgba(94, 35, 202, 0.12), transparent 45%),
    radial-gradient(circle at 85% 80%, rgba(36, 77, 255, 0.10), transparent 45%),

    repeating-linear-gradient(
      0deg,
      rgba(0,0,0,0.035) 0px,
      rgba(0,0,0,0.035) 1px,
      transparent 1px,
      transparent 36px
    ),
    repeating-linear-gradient(
      90deg,
      rgba(0,0,0,0.035) 0px,
      rgba(0,0,0,0.035) 1px,
      transparent 1px,
      transparent 36px
    );
}


@media (min-width: 1024px) {
  body > main {
    min-height: 65vh;
  }
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--header-font);
  font-weight: 400;
  margin-top: 0;
}

h1 {
  font-size: 32px;
}

h2 {
  font-size: 22px;
}

h3 {
  font-size: 18px;
  font-weight: 600;
}

h4 {
  font-size: 16px;
}

a {
  color: #1b1b1b;
  text-decoration: none;
}

a:hover, a:active, a:focus {
  color: #ffaa00;
  text-decoration: none;
}

input,
textarea {
  color: #1b1b1b;
  font-size: 14px;
}

input {
  font-weight: 300;
  max-width: 100%;
  box-sizing: border-box;
  outline: none;
  transition: border .12s ease-in-out;
}

input:focus {
  border: 1px solid #1b1b1b;
}

input[disabled] {
  background-color: rgba(27, 27, 27, 0.15);
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  background: url("/hc/theming_assets/01KFKR37GPZ019RBV5PH85NY0W") no-repeat #fff;
  background-position: right 10px center;
  border: 1px solid rgba(27, 27, 27, 0.2);
  border-radius: 6px;
  padding: 8px 30px 8px 10px;
  outline: none;
  color: rgba(27, 27, 27, 0.7);
  width: 100%;
}

select:focus {
  border: 1px solid #1b1b1b;
}

select::-ms-expand {
  display: none;
}

textarea {
  border: 1px solid rgba(27, 27, 27, 0.2);
  border-radius: 6px;
  resize: vertical;
  width: 100%;
  outline: none;
  padding: 10px;
}

textarea:focus {
  border: 1px solid #1b1b1b;
}

.container {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 clamp(16px, 5vw, 58px);
  width: 100%;
}

@media (min-width: 1075px) {
  .container {
    padding: 0;
    width: 90%;
  }
}

.container-divider {
  border-top: 1px solid rgba(27, 27, 27, 0.12);
  margin-bottom: 20px;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.error-page {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 clamp(16px, 5vw, 58px);
  width: 100%;
}

@media (min-width: 1075px) {
  .error-page {
    padding: 0;
    width: 90%;
  }
}

.dropdown-toggle::after {
  color: inherit;
}

/* Floating breadcrumbs (subtle container) */
.store-breadcrumb-card {
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(27, 27, 27, 0.08);
  box-shadow: none;
  padding: 6px 10px;
  border-radius: 6px;
}

.store-breadcrumb-card .breadcrumbs {
  background: transparent;
  border-top: 0;
  padding: 0;
  margin: 0;
  font-size: 12px;
}

.breadcrumbs li a:hover {
  color: #ffaa00;
}

.store-hero-cta {
  position: absolute;
  right: 18px;
  /* ...button styles... */
  z-index: 50;
}
/* ===== Attach-files notice (shown once after RMA submission) ===== */
.azf-attach-notice {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  margin-bottom: 16px;
  background: rgba(255, 170, 0, 0.08);
  border: 1px solid rgba(255, 170, 0, 0.4);
  border-radius: 8px;
  font-size: 13px;
  opacity: 1;
  transition: opacity 0.25s;
}

.azf-attach-notice-body {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  flex: 1;
}

.azf-attach-notice-icon {
  font-size: 18px;
  line-height: 1;
  flex-shrink: 0;
  margin-top: 1px;
}

.azf-attach-notice-body strong {
  display: block;
  font-weight: 700;
  color: #1b1b1b;
  margin-bottom: 3px;
}

.azf-attach-notice-body p {
  margin: 0;
  color: rgba(27, 27, 27, 0.7);
  line-height: 1.5;
}

.azf-attach-notice-dismiss {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  color: rgba(27, 27, 27, 0.35);
  padding: 0;
  flex-shrink: 0;
  margin-top: 1px;
}
.azf-attach-notice-dismiss:hover { color: #1b1b1b; }

/* ===== Request page — avatar suppression ===== */

/* Hide all user-uploaded avatars and the agent icon everywhere on request pages */
.comment-avatar,
.comment-avatar .avatar,
.comment-avatar .user-avatar,
.comment-avatar [class*="avatar"],
.comment-avatar .icon-agent,
.comment-form > .avatar,
.comment-form > .comment-avatar {
  display: none !important;
}

/* ===== Requests list + request view ===== */
.my-activities-header {
  margin-top: 10px;
}

.my-activities-nav {
  background: #ffffff;
  border: 1px solid var(--border);
  border-radius: 4px;
  max-width: 1300px;
  width: 90%;
  margin: 10px auto 16px;
  padding: 6px 16px;
}

.my-activities-sub-nav .collapsible-nav-list,
.my-activities-nav .collapsible-nav-list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  padding: 8px 0;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.collapsible-nav-list li[aria-selected="true"] {
  font-weight: 700;
  color: #1b1b1b;
}

.collapsible-nav-list a {
  color: rgba(0, 0, 0, 0.7);
}

.collapsible-nav-list a:hover,
.collapsible-nav-list a:focus-visible {
  color: var(--text-hover);
}

.requests-table-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
  align-items: flex-end;
  margin-bottom: 14px;
}

.requests-table-toolbar .search {
  flex: 1 1 260px;
}

.requests-table-toolbar .requests-search {
  width: 100%;
  padding: 8px 10px;
  border-radius: 6px;
  border: 1px solid rgba(27, 27, 27, 0.2);
}

.request-table-filter {
  min-width: 180px;
}

.requests-search-info,
.no-activities {
  margin: 0 0 12px;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.6);
}

.requests-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.requests-table th,
.requests-table td {
  padding: 10px 12px;
  border-bottom: 1px solid rgba(27, 27, 27, 0.12);
  text-align: left;
  vertical-align: top;
}

.requests-table th {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.55);
}

.requests-table .request-info a {
  font-weight: 600;
  color: rgba(0, 0, 0, 0.85);
}

.requests-table .request-closed {
  opacity: 0.6;
}

.requests-table-status .status-label,
.status-label {
  display: inline-flex;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: rgba(27, 27, 27, 0.08);
  color: rgba(27, 27, 27, 0.85);
}

.status-label-open,
.status-label-new {
  background: rgba(46, 119, 250, 0.18);
  color: #1f4fbf;
}

.status-label-pending {
  background: rgba(255, 170, 0, 0.18);
  color: #9a5a00;
}

.status-label-hold {
  background: rgba(142, 108, 255, 0.18);
  color: #5a40b4;
}

.status-label-solved {
  background: rgba(120, 140, 120, 0.22);
  color: #4a6a4a;
}

.status-label-closed {
  background: rgba(120, 120, 120, 0.18);
  color: #4d4d4d;
}

.request-container {
  display: grid;
  grid-template-columns: minmax(0, 2.2fr) minmax(0, 1fr);
  gap: 18px;
}

.request-main {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.comment-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0;
  padding: 0;
}

.comment {
  border: 1px solid rgba(27, 27, 27, 0.12);
  border-radius: 8px;
  background: #ffffff;
  padding: 16px 18px;
}

/* Flatten the comment-wrapper / comment-info nesting — no visual indent needed */
.comment-wrapper,
.comment-info {
  display: contents;
}

.comment-author {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

/* Author name link */
.comment-author a {
  font-size: 13px;
  font-weight: 700;
  color: #1b1b1b;
  text-decoration: none;
}
.comment-author a:hover { color: #ffaa00; }

/* Agent badge — shown inline next to the name instead of an avatar icon */
.comment-author .icon-agent {
  display: inline-flex;
  align-items: center;
  padding: 1px 7px;
  background: rgba(27, 27, 27, 0.08);
  border-radius: 99px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: rgba(27, 27, 27, 0.6);
}
.comment-author .icon-agent::before {
  content: "Agent";
}

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

.comment-meta .meta-group {
  display: flex;
  align-items: center;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.meta-data {
  font-size: 11px;
  color: rgba(0, 0, 0, 0.45);
}

.comment-body {
  font-size: 14px;
  line-height: 1.6;
  color: rgba(0, 0, 0, 0.85);
}

.comment-body p:first-child { margin-top: 0; }
.comment-body p:last-child  { margin-bottom: 0; }

/* ── Attachments ── */
.attachments {
  margin-top: 12px;
  display: grid;
  gap: 6px;
  padding: 0;
  list-style: none;
}

.attachment-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid rgba(27, 27, 27, 0.1);
  border-radius: 6px;
  padding: 7px 10px;
  font-size: 13px;
}

.attachment-item > a {
  font-weight: 500;
  color: #1b1b1b;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.attachment-item > a:hover { color: #ffaa00; }

.attachment-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: rgba(0, 0, 0, 0.5);
  flex-shrink: 0;
}

.attachment-meta a {
  color: rgba(0, 0, 0, 0.5);
}
.attachment-meta a:hover { color: #1b1b1b; }

/* ── Sidebar ── */
.request-sidebar {
  border-left: 1px solid rgba(27, 27, 27, 0.12);
  padding-left: 18px;
}

.collapsible-sidebar-title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.45);
  margin: 0 0 12px;
}

.request-details {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
  gap: 6px 10px;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.7);
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(27, 27, 27, 0.08);
}

.request-details:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

.request-details dt {
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.4);
  padding-top: 2px;
}

.request-collaborators {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* ── Reply form ── */
.comment-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  border: 1px solid rgba(27, 27, 27, 0.15);
  border-radius: 8px;
  padding: 14px 16px;
  background: #fff;
}

/* Collapsed prompt — "Add to conversation" */
.comment-show-container {
  cursor: pointer;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.4);
  padding: 4px 0;
}
.comment-show-container:hover { color: #1b1b1b; }
.comment-show-container.hidden { display: none; }

.comment-fields { display: flex; flex-direction: column; gap: 10px; }
.comment-fields.shown { display: flex; }

.comment-container {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}

.comment-container textarea {
  width: 100%;
  min-height: 110px;
  padding: 10px 12px;
  border: 1px solid rgba(27, 27, 27, 0.2);
  border-radius: 6px;
  font-size: 14px;
  font-family: inherit;
  color: #1b1b1b;
  resize: vertical;
  outline: none;
  transition: border-color 0.15s;
}
.comment-container textarea:focus {
  border-color: #1b1b1b;
  box-shadow: 0 0 0 3px rgba(27, 27, 27, 0.08);
}

.comment-attachments {
  font-size: 13px;
}

.comment-form-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  align-items: center;
}

.request-submit-comment { margin-left: auto; }
.request-submit-comment.shown { display: block; }

/* "Mark as solved" link — style as a secondary button */
.mark-as-solved {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.5);
  text-decoration: none;
  padding: 6px 12px;
  border: 1px solid rgba(27, 27, 27, 0.2);
  border-radius: 6px;
  transition: color 0.15s, border-color 0.15s;
}
.mark-as-solved:hover {
  color: #1b1b1b;
  border-color: #1b1b1b;
}

/* Follow-up callout */
.request-follow-up {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.6);
  background: rgba(27, 27, 27, 0.03);
  border: 1px solid rgba(27, 27, 27, 0.12);
  border-radius: 6px;
  padding: 12px 14px;
}

/* Satisfaction survey */
.satisfaction {
  font-size: 13px;
  border: 1px solid rgba(27, 27, 27, 0.12);
  border-radius: 8px;
  padding: 14px 16px;
  background: rgba(27, 27, 27, 0.02);
}

@media (max-width: 900px) {
  .request-container {
    grid-template-columns: 1fr;
  }

  .request-sidebar {
    border-left: 0;
    padding-left: 0;
    border-top: 1px solid rgba(27, 27, 27, 0.12);
    padding-top: 14px;
  }

  .requests-table thead {
    display: none;
  }

  .requests-table,
  .requests-table tbody,
  .requests-table tr,
  .requests-table td {
    display: block;
    width: 100%;
  }

  .requests-table tr {
    border: 1px solid rgba(27, 27, 27, 0.12);
    border-radius: 8px;
    padding: 10px 12px;
    margin-bottom: 10px;
  }

  .requests-table td {
    border: 0;
    padding: 4px 0;
  }
}

/* ===== User profile ===== */
.user-profile-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.user-profile-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.user-profile-name {
  margin: 0;
  font-size: 20px;
}

.profile-private-badge {
  background: rgba(27, 27, 27, 0.1);
  color: rgba(0, 0, 0, 0.75);
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700;
}

.user-profile-meta {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.6);
}

/* ===== Theme polish ===== */
:root {
  --card-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}

body {
  font-size: 15px;
  line-height: 1.6;
}

.card {
  border-radius: 6px;
  box-shadow: var(--card-shadow);
}

.store-hero-media {
  height: clamp(180px, 24vw, 280px);
}

.store-hero-title--overlay {
  padding-bottom: 56px;
}

.store-hero-cta {
  border-radius: 6px;
  font-size: 14px;
}

.search input[type="search"],
.search input {
  border-radius: 999px;
}

.button,
.button-large,
.button-secondary,
.request-form footer input[type="submit"],
.request-submit-comment input[type="submit"],
input[type="submit"] {
  border-radius: 6px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.button,
.button-large,
input[type="submit"] {
  background: #1b1b1b;
  color: #ffffff;
  border: 0;
  padding: 8px 14px;
}

.button-secondary {
  background: rgba(27, 27, 27, 0.1);
  color: #1b1b1b;
}

.button:hover,
.button-large:hover,
input[type="submit"]:hover {
  background: rgba(27, 27, 27, 0.85);
  color: #ffaa00;
}

/* ===== Footer polish ===== */
.footer {
  background: #0f0f0f;
  color: rgba(255, 255, 255, 0.85);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-inner {
  max-width: 1300px;
  margin: 0 auto;
  width: 90%;
  padding: 24px 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px 28px;
  align-items: flex-start;
  justify-content: space-between;
}

.footer-content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 40px;
}

.footer-title {
  margin: 0 0 6px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.65);
}

.footer-site,
.footer-links {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 13px;
}

.footer a {
  color: rgba(255, 255, 255, 0.9);
}

.footer a:hover,
.footer a:focus-visible {
  color: #ffaa00;
}

.footer-language-selector {
  margin-left: auto;
}

.footer .dropdown-toggle {
  color: rgba(255, 255, 255, 0.75);
}

@media (max-width: 900px) {
  .footer-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .footer-content {
    grid-template-columns: 1fr;
  }
}

/* ===== Article polish ===== */
.article-body {
  font-size: 15px;
  line-height: 1.65;
  color: rgba(0, 0, 0, 0.88);
}

.article-body h2,
.article-body h3,
.article-body h4 {
  margin-top: 20px;
}

.article-body p {
  margin: 0 0 12px;
}

.article-body ul,
.article-body ol {
  margin: 0 0 12px 18px;
}

.article-body li {
  margin-bottom: 6px;
}

.article-body a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.article-body blockquote {
  margin: 12px 0;
  padding: 10px 14px;
  border-left: 3px solid rgba(27, 27, 27, 0.2);
  background: rgba(27, 27, 27, 0.04);
}

.article-body code {
  background: rgba(27, 27, 27, 0.08);
  padding: 1px 4px;
  border-radius: 4px;
  font-size: 0.9em;
}

.article-body pre {
  background: #111111;
  color: #ffffff;
  padding: 12px 14px;
  border-radius: 6px;
  overflow-x: auto;
}

.article-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0;
  font-size: 13px;
}

.article-body th,
.article-body td {
  border: 1px solid rgba(27, 27, 27, 0.12);
  padding: 8px 10px;
  text-align: left;
}

.article-body th {
  background: rgba(27, 27, 27, 0.06);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 11px;
}

.article-body img {
  max-width: 100%;
  height: auto;
  display: block; /* Removes baseline spacing issues below images */
  margin: 0 auto;  /* Optional: Centers the image in the article */
}

/* ===== Global consistency pass ===== */
:root {
  --space-xs: 6px;
  --space-sm: 10px;
  --space-md: 14px;
  --space-lg: 20px;
  --space-xl: 28px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 10px;
}

.container,
.error-page {
  padding: 0 clamp(16px, 5vw, 48px);
}

.card {
  padding: 18px 22px;
  border-radius: var(--radius-md);
}

.store-main-card {
  padding: 18px 22px;
}

.store-article-card {
  padding: 16px 18px;
}

.store-section-card {
  padding: 18px 22px;
}

.store-article-item,
.search-result {
  border-radius: var(--radius-sm);
}

h1 { font-size: 28px; }
h2 { font-size: 20px; }
h3 { font-size: 18px; }
h4 { font-size: 16px; }

p, li {
  color: rgba(0, 0, 0, 0.78);
}

.meta-data {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.55);
}

input[type="text"],
input[type="number"],
input[type="search"],
textarea,
select {
  border-radius: var(--radius-md);
}

input:focus,
textarea:focus,
select:focus {
  outline: 2px solid rgba(27, 27, 27, 0.2);
  border-color: rgba(27, 27, 27, 0.4);
}

.button,
.button-large,
.button-secondary,
input[type="submit"] {
  min-height: 34px;
}

.store-subnav,
.store-breadcrumb-card {
  margin-bottom: var(--space-md);
}

.store-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

#article-container {
  max-width: 980px;
  margin: 0 auto;
}

.hero,
.store-hero {
  margin-bottom: var(--space-md);
}

@media (max-width: 900px) {
  .card,
  .store-main-card,
  .store-section-card {
    padding: 16px 18px;
  }

  .store-article-card {
    padding: 18px 20px;
  }
}

/* ===== Category / section polish ===== */
.store-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 17px;
  margin-bottom: 8px;
  font-weight: 500;
}

.store-section-title a {
  color: rgba(0, 0, 0, 0.82);
  font-weight: 500;
}

.store-section-title a:hover,
.store-section-title a:focus-visible {
  color: var(--text-hover);
}

.store-article-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.store-article-list--grid {
  display: grid;
  gap: 10px;
}

.store-section .store-link {
  display: inline-flex;
  margin-top: 8px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 700;
}

.section-empty,
.category-empty {
  color: rgba(0, 0, 0, 0.6);
}

.store-article-item a {
  font-weight: 500;
  color: rgba(0, 0, 0, 0.78);
}

.store-article-item a:hover,
.store-article-item a:focus-visible {
  color: var(--text-hover);
}

/* Requests list: show one status set (desktop) */
.requests-table-meta {
  display: none;
}

@media (max-width: 900px) {
  .requests-table-meta {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
  }
}

/* Ensure status colors apply in table column */
.requests-table-status .status-label-open,
.requests-table-status .status-label-new,
.requests-table-status .status-label-pending,
.requests-table-status .status-label-hold,
.requests-table-status .status-label-solved,
.requests-table-status .status-label-closed {
  background-color: inherit;
}

.requests-table-status .status-label-open { background: rgba(46, 119, 250, 0.18) !important; color: #1f4fbf !important; }
.requests-table-status .status-label-new { background: rgba(46, 119, 250, 0.18) !important; color: #1f4fbf !important; }
.requests-table-status .status-label-pending { background: rgba(255, 170, 0, 0.18) !important; color: #9a5a00 !important; }
.requests-table-status .status-label-hold { background: rgba(142, 108, 255, 0.18) !important; color: #5a40b4 !important; }
.requests-table-status .status-label-solved { background: rgba(120, 140, 120, 0.22) !important; color: #4a6a4a !important; }
.requests-table-status .status-label-closed { background: rgba(120, 120, 120, 0.18) !important; color: #4d4d4d !important; }

/* ===== Pagination polish ===== */
.pagination {
  display: flex;
  justify-content: center;
  margin: 18px 0 8px;
}

.pagination ul,
.pagination ol {
  display: flex;
  align-items: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pagination li {
  margin: 0;
}

.pagination a,
.pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  padding: 0 10px;
  border-radius: 6px;
  border: 1px solid rgba(27, 27, 27, 0.15);
  color: rgba(0, 0, 0, 0.8);
  font-size: 12px;
}

.pagination .current,
.pagination .selected,
.pagination span[aria-current="page"] {
  background: rgba(27, 27, 27, 0.08);
  font-weight: 700;
}

.pagination a:hover,
.pagination a:focus-visible {
  border-color: rgba(27, 27, 27, 0.3);
  color: var(--text-hover);
}

/* =============================================================
   AZF / AZR — Article-embedded forms & relay overlay
   All colours use theme tokens:
     dark  #1b1b1b   gold  #ffaa00   border rgba(27,27,27,0.2)
     radius 6px      shadow 0 6px 18px rgba(0,0,0,0.06)
   ============================================================= */

/* ── Shared base ── */
*, *::before, *::after { box-sizing: border-box; }

.azf-wrapper {
  max-width: 720px;
  margin: 0 auto;
  font-family: "Visby CF", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #1b1b1b;
}

.azf-header { margin-bottom: 28px; }

.azf-title {
  font-family: var(--header-font, "Verbatim", serif);
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 6px;
  color: #1b1b1b;
}

.azf-subtitle { font-size: 14px; color: rgba(27,27,27,0.55); margin: 0; }

/* ── Step progress bar ── */
.azf-step-bar {
  display: flex;
  align-items: center;
  margin-bottom: 32px;
  overflow-x: auto;
  padding-bottom: 4px;
  gap: 0;
}
.azf-step-item { display: flex; align-items: center; flex-shrink: 0; }
.azf-step-dot {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
  background: rgba(27,27,27,0.1);
  color: rgba(27,27,27,0.45);
  transition: background 0.2s, color 0.2s;
}
.azf-step-dot.azf-active,
.azf-step-dot.azf-completed { background: #1b1b1b; color: #fff; }
.azf-step-label { font-size: 11px; margin-left: 6px; white-space: nowrap; color: rgba(27,27,27,0.5); }
.azf-step-label.azf-active { font-weight: 700; color: #1b1b1b; }
.azf-step-connector { height: 1px; width: 24px; flex-shrink: 0; margin: 0 4px; background: rgba(27,27,27,0.15); }

/* ── Section heading ── */
.azf-section-title { font-size: 16px; font-weight: 700; margin: 0 0 20px; color: #1b1b1b; }

/* ── Field layout ── */
.azf-field-row { display: grid; grid-template-columns: 1fr; gap: 16px; margin-bottom: 16px; }
.azf-field-row.azf-two-col { grid-template-columns: 1fr 1fr; }
@media (max-width: 520px) { .azf-field-row.azf-two-col { grid-template-columns: 1fr; } }
.azf-field-group { display: flex; flex-direction: column; gap: 4px; }
label.azf-field-label { font-size: 13px; font-weight: 600; color: #1b1b1b; }
.azf-field-hint { font-size: 12px; color: rgba(27,27,27,0.55); margin: 0; }
.azf-field-optional { font-weight: 400; font-size: 12px; color: rgba(27,27,27,0.45); }
.azf-field-error { font-size: 12px; color: #cc3340; margin: 0; }

/* ── Inputs ── */
.azf-wrapper input[type="text"],
.azf-wrapper input[type="email"],
.azf-wrapper input[type="tel"],
.azf-wrapper input[type="date"],
.azf-wrapper select,
.azf-wrapper textarea {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid rgba(27,27,27,0.2);
  border-radius: 6px;
  font-size: 14px;
  color: #1b1b1b;
  background: #fff;
  outline: none;
  transition: border-color 0.15s;
  font-family: inherit;
}
.azf-wrapper input:focus,
.azf-wrapper select:focus,
.azf-wrapper textarea:focus {
  border-color: #1b1b1b;
  box-shadow: 0 0 0 3px rgba(27,27,27,0.1);
}
.azf-wrapper input.azf-error,
.azf-wrapper select.azf-error,
.azf-wrapper textarea.azf-error { border-color: #cc3340; }
.azf-wrapper textarea { resize: vertical; min-height: 120px; }
.azf-wrapper select { appearance: auto; }

/* ── Radio / checkbox groups ── */
.azf-radio-group,
.azf-checkbox-group { display: flex; flex-direction: column; gap: 8px; }
.azf-radio-label,
.azf-checkbox-label { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; color: #1b1b1b; cursor: pointer; }
.azf-radio-label input,
.azf-checkbox-label input { width: auto; margin-top: 2px; flex-shrink: 0; accent-color: #1b1b1b; }
.azf-fieldset-legend { font-size: 13px; font-weight: 600; color: #1b1b1b; margin-bottom: 8px; }

/* ── Callout boxes ── */
.azf-info-box {
  border: 1px solid rgba(27,27,27,0.2);
  border-radius: 6px;
  padding: 12px 16px;
  margin-bottom: 16px;
  background: rgba(27,27,27,0.03);
}
.azf-info-text { margin: 0; font-size: 13px; color: #1b1b1b; }
.azf-warning-box {
  border: 1px solid #c72a1c;
  border-radius: 6px;
  padding: 12px 16px;
  margin-bottom: 16px;
  background: #fff8f8;
}
.azf-warning-text { margin: 0; font-size: 13px; color: #c72a1c; }
.azf-warning-text a { color: #c72a1c; font-weight: 700; }

/* ── Product / serial blocks ── */
.azf-product-serial-block {
  border: 1px solid rgba(27,27,27,0.2);
  border-radius: 6px;
  padding: 16px;
  margin-bottom: 12px;
}
.azf-product-serial-title { font-size: 13px; font-weight: 700; margin: 0 0 10px; color: #1b1b1b; }
.azf-product-list {
  border: 1px solid rgba(27,27,27,0.2);
  border-radius: 6px;
  max-height: 220px;
  overflow-y: auto;
  padding: 4px 0;
}
.azf-product-list-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  cursor: pointer;
  font-size: 14px;
  color: #1b1b1b;
  transition: background 0.1s;
}
.azf-product-list-item:hover { background: rgba(27,27,27,0.04); }
.azf-product-list-item input { accent-color: #1b1b1b; flex-shrink: 0; }

/* ── Review step ── */
.azf-review-section { margin-bottom: 20px; }
.azf-review-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
@media (max-width: 520px) { .azf-review-grid { grid-template-columns: 1fr; } }
.azf-review-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: rgba(27,27,27,0.5);
  margin: 0 0 3px;
}
.azf-review-value { font-size: 14px; color: #1b1b1b; margin: 0 0 12px; white-space: pre-wrap; }

/* ── Dividers & layout ── */
.azf-divider { border: none; border-top: 1px solid rgba(27,27,27,0.12); margin: 24px 0; }
.azf-button-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 32px;
  gap: 12px;
}

/* ── Buttons ── */
.azf-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 20px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  border: 1px solid transparent;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  font-family: inherit;
  min-width: 100px;
}
.azf-btn-primary { background: #1b1b1b; color: #fff; border-color: #1b1b1b; }
.azf-btn-primary:hover { background: rgba(27,27,27,0.85); color: #ffaa00; }
.azf-btn-primary:disabled { background: rgba(27,27,27,0.35); border-color: transparent; cursor: not-allowed; color: rgba(255,255,255,0.7); }
.azf-btn-secondary { background: #fff; color: #1b1b1b; border-color: rgba(27,27,27,0.2); }
.azf-btn-secondary:hover { background: rgba(27,27,27,0.04); border-color: rgba(27,27,27,0.35); }
.azf-btn-secondary:disabled { opacity: 0.5; cursor: not-allowed; }

/* ── Alerts ── */
.azf-alert { border-radius: 6px; padding: 12px 16px; margin-top: 16px; font-size: 13px; }
.azf-alert-error { background: #fff8f8; border: 1px solid #cc3340; color: #cc3340; }
.azf-alert-success {
  background: rgba(27,27,27,0.03);
  border: 1px solid rgba(27,27,27,0.2);
  color: #1b1b1b;
  padding: 32px;
  text-align: center;
}
.azf-alert-title { font-weight: 700; margin-bottom: 4px; }
.azf-alert-success .azf-alert-title { font-size: 18px; margin-bottom: 10px; }

/* ── Spinner ── */
.azf-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255,255,255,0.4);
  border-top-color: #fff;
  border-radius: 50%;
  animation: azf-spin 0.7s linear infinite;
  display: inline-block;
}
@keyframes azf-spin { to { transform: rotate(360deg); } }

/* ── Utility ── */
.azf-hidden { display: none !important; }
.azf-conditional { transition: none; }

/* ── Logged-in notice ── */
.azf-loggedin-notice {
  font-size: 13px;
  color: rgba(27,27,27,0.6);
  background: rgba(27,27,27,0.03);
  border: 1px solid rgba(27,27,27,0.2);
  border-radius: 6px;
  padding: 10px 14px;
  margin-bottom: 20px;
}

/* ── Registration-form specific ── */
.azf-order-block { margin-top: 12px; }
.azf-attachment-note {
  font-size: 13px;
  color: rgba(27,27,27,0.6);
  background: rgba(27,27,27,0.03);
  border: 1px solid rgba(27,27,27,0.2);
  border-radius: 6px;
  padding: 10px 14px;
  margin-top: 16px;
}

/* ── My Registered Products panel ── */
.azf-reg-panel { max-width: 800px; margin: 32px auto; }
.azf-reg-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.azf-reg-panel-title { font-size: 18px; font-weight: 700; color: #1b1b1b; margin: 0; }
.azf-reg-panel-link { font-size: 13px; color: #1b1b1b; text-decoration: none; font-weight: 600; }
.azf-reg-panel-link:hover { color: #ffaa00; text-decoration: underline; }
.azf-reg-card {
  border: 1px solid rgba(27,27,27,0.2);
  border-radius: 6px;
  padding: 16px 20px;
  margin-bottom: 10px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px 16px;
  align-items: start;
  background: #fff;
}
.azf-reg-card-model { font-size: 15px; font-weight: 700; color: #1b1b1b; margin: 0; }
.azf-reg-card-serial { font-size: 13px; color: rgba(27,27,27,0.5); margin: 2px 0 0; }
.azf-reg-card-meta { font-size: 12px; color: rgba(27,27,27,0.45); margin: 6px 0 0; }
.azf-reg-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 99px;
  background: rgba(27,27,27,0.06);
  white-space: nowrap;
}
.azf-reg-badge-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.azf-reg-empty {
  font-size: 14px;
  color: rgba(27,27,27,0.5);
  border: 1px dashed rgba(27,27,27,0.2);
  border-radius: 6px;
  padding: 32px;
  text-align: center;
}
.azf-reg-loading { font-size: 14px; color: rgba(27,27,27,0.5); padding: 16px 0; }
.azf-reg-divider { border: none; border-top: 1px solid rgba(27,27,27,0.12); margin: 28px 0; }

/* ── Relay overlay (azr-*) ── */
:root {
  --azr-gold:   #ffaa00;
  --azr-dark:   #1b1b1b;
  --azr-border: rgba(27,27,27,0.2);
  --azr-radius: 6px;
}

.azr-wrap {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background:
    radial-gradient(circle at 15% 20%, rgba(94,35,202,0.08), transparent 45%),
    radial-gradient(circle at 85% 80%, rgba(36,77,255,0.07), transparent 45%),
    repeating-linear-gradient(0deg,   rgba(0,0,0,0.03) 0, rgba(0,0,0,0.03) 1px, transparent 1px, transparent 36px),
    repeating-linear-gradient(90deg,  rgba(0,0,0,0.03) 0, rgba(0,0,0,0.03) 1px, transparent 1px, transparent 36px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  font-family: "Visby CF", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.azr-card {
  background: #fff;
  border: 1px solid var(--azr-border);
  border-radius: var(--azr-radius);
  box-shadow: 0 6px 18px rgba(0,0,0,0.1);
  width: 100%;
  max-width: 560px;
  padding: 28px 32px;
}
.azr-card-title { font-size: 18px; font-weight: 700; color: var(--azr-dark); margin: 0 0 4px; letter-spacing: 0.01em; }
.azr-card-sub { font-size: 13px; color: rgba(27,27,27,0.6); margin: 0 0 22px; }

.azr-summary {
  background: rgba(27,27,27,0.03);
  border: 1px solid var(--azr-border);
  border-radius: var(--azr-radius);
  padding: 12px 14px;
  margin-bottom: 22px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 16px;
}
.azr-summary-item { font-size: 12px; color: rgba(27,27,27,0.7); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.azr-summary-item strong { color: var(--azr-dark); display: block; font-size: 11px; text-transform: uppercase; letter-spacing: 0.07em; margin-bottom: 1px; }

.azr-label { font-size: 13px; font-weight: 600; color: var(--azr-dark); display: block; margin-bottom: 6px; }
.azr-hint { font-size: 12px; color: rgba(27,27,27,0.55); margin: 0 0 8px; }

.azr-dropzone {
  border: 2px dashed var(--azr-border);
  border-radius: var(--azr-radius);
  padding: 20px 16px;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
  background: #fff;
}
.azr-dropzone:hover,
.azr-dropzone.azr-drag { border-color: var(--azr-dark); background: rgba(27,27,27,0.02); }
.azr-dropzone-text { font-size: 13px; color: rgba(27,27,27,0.55); margin: 0 0 8px; }

.azr-browse {
  display: inline-block;
  padding: 6px 14px;
  background: #fff;
  border: 1px solid var(--azr-border);
  border-radius: var(--azr-radius);
  font-size: 13px;
  font-weight: 700;
  color: var(--azr-dark);
  cursor: pointer;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: border-color 0.15s, color 0.15s;
}
.azr-browse:hover { border-color: var(--azr-dark); color: var(--azr-gold); }

.azr-file-list { margin-top: 10px; display: flex; flex-direction: column; gap: 5px; }
.azr-file-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 7px 11px;
  background: rgba(27,27,27,0.03);
  border: 1px solid var(--azr-border);
  border-radius: var(--azr-radius);
  font-size: 13px;
}
.azr-file-name { color: var(--azr-dark); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 320px; }
.azr-file-size { color: rgba(27,27,27,0.45); font-size: 12px; margin-left: 8px; flex-shrink: 0; }
.azr-file-rm { background: none; border: none; cursor: pointer; color: rgba(27,27,27,0.35); font-size: 16px; line-height: 1; padding: 0 0 0 8px; flex-shrink: 0; }
.azr-file-rm:hover { color: #cc3340; }
.azr-file-err { font-size: 12px; color: #cc3340; margin: 4px 0 0; }
.azr-skip { font-size: 12px; color: rgba(27,27,27,0.45); margin: 4px 0 0; }

.azr-footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 14px;
  margin-top: 22px;
  border-top: 1px solid var(--azr-border);
  padding-top: 18px;
}

.azr-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 22px;
  border-radius: var(--azr-radius);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  border: 0;
  min-width: 160px;
  font-family: inherit;
  transition: background 0.15s, color 0.15s;
}
.azr-btn-primary { background: var(--azr-dark); color: #fff; }
.azr-btn-primary:hover { background: rgba(27,27,27,0.85); color: var(--azr-gold); }
.azr-btn-primary:disabled { background: rgba(27,27,27,0.35); cursor: not-allowed; color: rgba(255,255,255,0.7); }

.azr-spinner {
  width: 15px;
  height: 15px;
  border: 2px solid rgba(255,255,255,0.35);
  border-top-color: #fff;
  border-radius: 50%;
  animation: azr-spin 0.7s linear infinite;
  display: inline-block;
  flex-shrink: 0;
}
@keyframes azr-spin { to { transform: rotate(360deg); } }

/* ===== Request form chooser (/requests/new landing) ===== */
.azs-chooser {
  padding: 48px 0 32px;
  text-align: center;
}

.azs-chooser-title {
  font-family: "Verbatim", "Georgia", serif;
  font-size: 28px;
  font-weight: 400;
  color: #1b1b1b;
  margin: 0 0 8px;
  letter-spacing: 0.01em;
}

.azs-chooser-sub {
  font-size: 15px;
  color: rgba(27, 27, 27, 0.55);
  margin: 0 0 36px;
}

.azs-chooser-cards {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
}

.azs-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 32px 28px;
  width: 240px;
  background: #fff;
  border: 1px solid rgba(27, 27, 27, 0.12);
  border-radius: 10px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
  text-decoration: none;
  color: #1b1b1b;
  transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
}

.azs-card:hover {
  border-color: #ffaa00;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
  color: #1b1b1b;
  text-decoration: none;
}

.azs-card-label {
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
}

.azs-card-desc {
  font-size: 13px;
  color: rgba(27, 27, 27, 0.55);
  text-align: center;
  line-height: 1.4;
}

@media (max-width: 540px) {
  .azs-chooser-cards {
    flex-direction: column;
    align-items: center;
  }
  .azs-card {
    width: 100%;
    max-width: 320px;
  }
}
