/* ========================================
   ZENSAI SUCCESS PORTAL THEME
   Modern, confident, human support experience
   ======================================== */

:root {
  /* Brand colors — driven by theme settings (Guide > Customize > Settings) */
  --z-orange: #FF7A45;
  --z-gradient-start: #FF7A45;
  --z-gradient-end: #E65A20;
  --z-brown: #1a1a1a;
  --z-sand: #F8F9FA;
  --z-offwhite: #F8F8F8;
  --z-text: #1a1a1a;
  --z-white: #FFFFFF;

  /* Typography — driven by theme settings */
  --z-heading-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  --z-body-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  --z-mono-font: 'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;

  /* Spacing Scale (8px base) */
  --space-1: 8px;
  --space-2: 16px;
  --space-3: 24px;
  --space-4: 32px;
  --space-5: 48px;
  --space-6: 64px;

  /* Elevation & Radius */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 4px 12px rgba(82, 27, 11, 0.08);
  --shadow-lg: 0 10px 30px rgba(82, 27, 11, 0.12);
  --shadow-hover: 0 12px 32px rgba(252, 82, 32, 0.15);

  /* Focus */
  --focus-ring: 0 0 0 3px rgba(252, 82, 32, 0.2);
}

/* Base */
*, *::before, *::after { box-sizing: border-box; }

html {
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-height: 100%;
}

body {
  min-height: 100vh;
  margin: 0;
  padding: 0;
  font-family: var(--z-body-font);
  font-weight: 400;
  color: var(--z-text);
  background: #ffffff;
  line-height: 1.65;
}

body:has(.user-profile-page) {
  display: flex;
  flex-direction: column;
}

body:has(.user-profile-page) .user-profile-page {
  flex: 1 0 auto;
}

body:has(.user-profile-page) .footer {
  margin-top: auto;
}

[hidden] { display: none !important; }

a {
  color: var(--z-orange);
  text-decoration: none;
  transition: color 0.2s ease, text-shadow 0.2s ease;
  position: relative;
  display: inline-block;
}

a:hover {
  color: var(--z-gradient-end);
  text-shadow: 0 2px 4px rgba(252, 82, 32, 0.2);
}

a:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
  border-radius: 2px;
}

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

/* Typography */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--z-heading-font);
  font-weight: 600;
  color: var(--z-brown);
  line-height: 1.3;
  margin: 0 0 var(--space-2);
}

h1 { font-size: 2.25rem; font-weight: 700; letter-spacing: -0.025em; }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.125rem; font-weight: 600; }

p { margin: 0 0 var(--space-2); }

.eyebrow {
  font-family: var(--z-mono-font);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--z-brown);
}

/* Header */
.header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #fff;
  border-bottom: 1px solid rgba(21, 21, 21, 0.06);
  box-shadow: var(--shadow-sm);
}

.header-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--space-3);
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.logo {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--z-heading-font);
  font-weight: 700;
  font-size: 1.35rem;
  color: var(--z-orange);
  letter-spacing: -0.02em;
  text-decoration: none;
}

.logo img {
  height: 32px;
  width: auto;
  max-width: 180px;
}

.nav {
  display: flex;
  align-items: center;
  gap: var(--space-1);
}

.nav a, .nav .nav-link {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--z-text);
  padding: 8px 14px;
  border-radius: var(--radius-sm);
  transition: background 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s ease;
  position: relative;
}

.nav a:hover, .nav .nav-link:hover {
  background: var(--z-sand);
  color: var(--z-orange);
  transform: translateY(-1px);
}

.nav a:focus-visible, .nav .nav-link:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

.user-menu {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.user-menu[open] .user-menu-panel,
.user-menu.is-open .user-menu-panel,
.user-menu:focus-within .user-menu-panel {
  display: block;
}

.user-menu-panel {
  display: none;
}

.user-menu-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  background: #e8ebee;
  border: 1px solid rgba(34, 42, 48, 0.08);
  border-radius: 50%;
  cursor: pointer;
  list-style: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.user-menu-trigger::-webkit-details-marker {
  display: none;
}

.user-menu-trigger:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}

.user-menu-avatar,
.user-menu-avatar-image {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #fff;
  color: #1b2024;
  font-size: 0.75rem;
  font-weight: 700;
}

.user-menu-avatar-image {
  padding: 0;
  overflow: hidden;
}

.user-menu-panel {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  min-width: 200px;
  background: #fff;
  border: 1px solid rgba(21, 21, 21, 0.08);
  border-radius: 8px;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.14);
  padding: 12px 0;
  display: none;
  z-index: 20;
}

.user-menu-item,
.user-menu-panel > a {
  display: block;
  padding: 10px 18px;
  color: #1b2024;
  font-size: 0.95rem;
  line-height: 1.4;
}

.user-menu-item:hover,
.user-menu-item:focus,
.user-menu-panel > a:hover,
.user-menu-panel > a:focus {
  background: #f5f5f4;
  color: var(--z-orange);
  text-decoration: none;
}

.password-modal[hidden] {
  display: none !important;
}

.password-modal {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px;
}

.password-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}

.password-modal__dialog {
  position: relative;
  width: calc(100vw - 60px);
  max-width: 600px;
  max-height: calc(100vh - 60px);
  overflow: auto;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 24px 56px rgba(0, 0, 0, 0.28);
  padding: 28px;
}

.password-modal__dialog h2 {
  margin: 0 0 24px;
  color: #1f2933;
  font-size: 1.35rem;
}

.password-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #4b5563;
  cursor: pointer;
  font-size: 1.5rem;
  line-height: 1;
}

.password-modal__close:hover,
.password-modal__close:focus {
  background: #f3f4f6;
  color: #111827;
}

.password-modal__field {
  margin-bottom: 22px;
}

.password-modal__field label,
.password-modal__requirements p {
  display: block;
  margin: 0 0 8px;
  color: #1f2933;
  font-weight: 600;
}

.password-modal__field input {
  width: 100%;
  border: 1px solid #cfd7df;
  border-radius: 6px;
  padding: 11px 12px;
  font-family: var(--z-body-font);
  font-size: 1rem;
}

.password-modal__requirements {
  margin-bottom: 18px;
}

.password-modal__requirements ul {
  margin: 0;
  padding-left: 20px;
  color: #5f6b76;
  font-size: 0.9rem;
}

.password-modal__message {
  min-height: 20px;
  margin: 0 0 16px;
  color: #b42318;
  font-size: 0.9rem;
}

.password-modal__message.is-success {
  color: #067647;
}

.password-modal__actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}

/* Footer */
.footer {
  background: #2f5d72;
  color: #fff;
  padding: 24px 24px 0;
  margin-top: var(--space-6);
}

.footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 18px;
  font-size: 0.875rem;
}

.footer-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(160px, 1fr));
  gap: 20px 28px;
  align-items: start;
}

.footer-column {
  min-width: 0;
}

.footer-column--split {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.footer-heading {
  margin: 0 0 10px;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 700;
}

.footer-list + .footer-heading {
  margin-top: 18px;
}

.footer-list,
.footer-social,
.footer-legal {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-list li,
.footer-social li,
.footer-legal li {
  margin: 0 0 6px;
}

.footer-list a,
.footer-social a,
.footer-legal a {
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none;
}

.footer-list a:hover,
.footer-social a:hover,
.footer-legal a:hover {
  color: #fff;
  text-decoration: underline;
}

.footer-social {
  display: flex;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-social--text {
  display: block;
  gap: 6px;
}

.footer-social--text li {
  margin-bottom: 6px;
}

.footer-social--text a {
  display: inline-block;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 600;
  text-decoration: none;
  box-shadow: none;
}

.footer-social--text a:hover,
.footer-social--text a:focus {
  color: #ffffff;
  text-decoration: underline;
  transform: none;
}

.footer-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.footer-legal {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}

.footer-copy {
  margin: 0;
  color: rgba(255, 255, 255, 0.8);
}

.footer-tagline {
  font-family: var(--z-mono-font);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.8);
  margin: 0;
}

.article__tags,
.print-link {
  display: none !important;
}

@media (max-width: 980px) {
  .footer-grid {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
  }
}

@media (max-width: 640px) {
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .footer-bar {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Hero */
.hero {
  position: relative;
  background: linear-gradient(135deg, var(--z-gradient-start) 0%, var(--z-orange) 45%, var(--z-gradient-end) 100%);
  color: #fff;
  padding: var(--space-6) var(--space-3) calc(var(--space-6) + 40px);
  overflow: hidden;
  animation: heroGradientShift 15s ease-in-out infinite;
}

@keyframes heroGradientShift {
  0%, 100% { background: linear-gradient(135deg, var(--z-gradient-start) 0%, var(--z-orange) 45%, var(--z-gradient-end) 100%); }
  50% { background: linear-gradient(145deg, var(--z-gradient-start) 10%, var(--z-orange) 50%, var(--z-gradient-end) 90%); }
}

.hero::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 120px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M0,60 C360,120 720,0 1080,60 C1260,90 1380,75 1440,60 L1440,120 L0,120 Z'/%3E%3C/svg%3E") no-repeat bottom center;
  background-size: 100% 100%;
  pointer-events: none;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0) 45%);
  pointer-events: none;
}

.hero-inner {
  position: relative;
  z-index: 2;
  max-width: 920px;
  margin: 0 auto;
  text-align: center;
  animation: fadeInDown 0.8s ease-out;
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.hero h1 {
  color: #fff;
  font-size: clamp(1.75rem, 4.2vw, 2.5rem);
  margin-bottom: var(--space-2);
  font-weight: 700;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.hero-subtitle {
  font-size: 1.1rem;
  max-width: 620px;
  margin: 0 auto var(--space-4);
  color: rgba(255,255,255,0.92);
  line-height: 1.6;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  justify-content: center;
  margin-bottom: var(--space-5);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 0.9375rem;
  padding: 12px 26px;
  border-radius: var(--radius-md);
  border: 2px solid transparent;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  text-decoration: none;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
}

.btn::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  transform: translate(-50%, -50%);
  transition: width 0.4s ease, height 0.4s ease;
}

.btn:active::before {
  width: 300px;
  height: 300px;
}

.btn-white {
  background: #fff;
  color: var(--z-orange) !important;
  box-shadow: var(--shadow-md);
}

.btn-white:hover {
  background: var(--z-sand);
  transform: translateY(-2px);
  box-shadow: var(--shadow-hover);
}

.btn-white:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring), var(--shadow-hover);
}

.btn-outline-white {
  background: transparent;
  color: #fff !important;
  border-color: rgba(255,255,255,0.65);
}

.btn-outline-white:hover {
  background: rgba(255,255,255,0.12);
  border-color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.btn-outline-white:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.3);
}

/* Chips */
.hero-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  justify-content: center;
}

.chip {
  background: rgba(255,255,255,0.13);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: var(--radius-md);
  padding: var(--space-2) var(--space-3);
  text-align: left;
  min-width: 180px;
  max-width: 240px;
  transition: transform 0.2s ease, background 0.2s ease;
}

.chip:hover {
  transform: translateY(-2px);
  background: rgba(255,255,255,0.18);
}

.chip-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: #fff;
  margin: 0 0 4px;
}

.chip-desc {
  font-size: 0.8rem;
  color: rgba(255,255,255,0.85);
  margin: 0;
  line-height: 1.5;
}

/* Sections */
.section {
  padding: var(--space-5) var(--space-3);
}

.section-inner {
  max-width: 1140px;
  margin: 0 auto;
}

.section-header {
  text-align: center;
  margin-bottom: var(--space-4);
}

.section-header h2 {
  margin-bottom: var(--space-1);
}

.section-header p {
  font-size: 1.05rem;
  color: #555;
  max-width: 580px;
  margin: 0 auto;
}

.section-offwhite { background: var(--z-offwhite); }

/* Card Grid - 6 cards */
.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--space-3);
}

.card {
  background: #fff;
  border: 1px solid rgba(82, 27, 11, 0.08);
  border-radius: var(--radius-lg);
  padding: var(--space-3);
  transition: transform 0.2s cubic-bezier(0.4,0,0.2,1), 
              box-shadow 0.2s cubic-bezier(0.4,0,0.2,1),
              border-color 0.2s ease;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-hover);
  border-color: var(--z-orange);
}

.card-sand {
  background: var(--z-sand);
}

.card-icon {
  font-size: 1.85rem;
  line-height: 1;
  margin-bottom: var(--space-2);
  display: block;
}

.card-title {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--z-brown);
  margin: 0 0 var(--space-1);
  line-height: 1.35;
}

.card-desc {
  font-size: 0.925rem;
  color: #444;
  line-height: 1.6;
  margin: 0;
  flex-grow: 1;
}

/* Why cards */
.why-card {
  background: #fff;
  border: 1px solid rgba(82, 27, 11, 0.08);
  border-radius: var(--radius-lg);
  padding: var(--space-3);
  height: 100%;
  transition: all 0.25s cubic-bezier(0.4,0,0.2,1);
  position: relative;
  overflow: hidden;
}

.why-card::before {
  content: '';
  position: absolute;
  top: 0;
  right: -50px;
  width: 100px;
  height: 100px;
  background: radial-gradient(circle, rgba(255, 122, 69, 0.1) 0%, transparent 70%);
  transition: all 0.4s ease;
}

.why-card:hover {
  box-shadow: var(--shadow-hover);
  border-color: rgba(252, 82, 32, 0.2);
  transform: translateY(-2px);
}

.why-card:hover::before {
  right: -30px;
  top: -10px;
}

.why-card:focus-within {
  box-shadow: var(--shadow-hover);
  border-color: var(--z-orange);
}

.why-card h3 {
  font-size: 1.05rem;
  margin-bottom: var(--space-1);
  transition: color 0.2s ease;
  color: var(--z-brown);
}

.why-card:hover h3 {
  color: var(--z-orange);
}

.why-card p {
  font-size: 0.925rem;
  color: #666;
  line-height: 1.6;
  margin: 0;
}

/* Callout */
.callout {
  background: var(--z-sand);
  border-left: 5px solid var(--z-orange);
  border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
  padding: var(--space-3) var(--space-4);
  max-width: 820px;
  margin: 0 auto;
}

.callout h3 {
  color: var(--z-orange);
  font-size: 1.15rem;
  margin-bottom: var(--space-1);
}

.callout p {
  margin: 0;
  font-size: 1rem;
  color: var(--z-text);
}

/* Premium Fallback */
.premium-fallback {
  max-width: 580px;
  margin: var(--space-6) auto;
  text-align: center;
  padding: var(--space-4);
}

.premium-fallback h2 {
  color: var(--z-brown);
  margin-bottom: var(--space-2);
}

.premium-fallback p {
  color: #555;
  font-size: 1.05rem;
}

/* Content pages */
.container {
  max-width: 1100px;
  margin: 0 auto;
  padding: var(--space-4) var(--space-3) var(--space-5);
}

.breadcrumbs {
  font-size: 0.875rem;
  color: #666;
  margin-bottom: var(--space-3);
}

.article-title {
  font-size: 1.85rem;
  margin-bottom: var(--space-2);
}

.article-body {
  font-size: 1.02rem;
  line-height: 1.75;
}

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

/* Responsive */
@media (max-width: 720px) {
  .hero {
    padding: var(--space-4) var(--space-2) calc(var(--space-4) + 30px);
  }
  .hero h1 { font-size: 1.65rem; }
  .hero-chips { flex-direction: column; align-items: center; }
  .chip { width: 100%; max-width: 340px; }
  .card-grid { grid-template-columns: 1fr; }
  .header-inner { height: 56px; padding: 0 var(--space-2); }
}

.new-request-page {
  max-width: 900px;
  margin: 0 auto;
}

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

.page-intro {
  max-width: 680px;
  margin: 0 auto 24px;
  text-align: center;
}

.form.new-request-form {
  max-width: 760px;
  margin: 0 auto;
}

.form-help {
  display: none !important;
}

.profile-header-card {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  background: #fff;
  border: 1px solid rgba(82, 27, 11, 0.08);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  padding: var(--space-3);
}

.profile-header-card__avatar .user-avatar {
  width: 72px;
  height: 72px;
}

.profile-header-card__content {
  flex: 1 1 260px;
}

.profile-header-card__content h1 {
  margin-bottom: 6px;
}

.profile-header-card__content p {
  margin: 0;
  color: #555;
}

.profile-header-card__actions {
  flex: 0 0 auto;
}

.profile-account-links {
  margin-top: var(--space-3);
}

/* Focus states */
.btn:focus-visible,
a:focus-visible,
.card:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

/* Subtle improvements for Zendesk elements */
.form input[type="text"],
.form input[type="email"],
.form textarea,
.form select {
  border: 1px solid #ddd;
  border-radius: var(--radius-sm);
  padding: 10px 14px;
  font-family: var(--z-body-font);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  background: #fff;
}

.form input[type="text"]:focus,
.form input[type="email"]:focus,
.form textarea:focus,
.form select:focus {
  border-color: var(--z-orange);
  box-shadow: var(--focus-ring);
  outline: none;
  background: rgba(255, 122, 69, 0.01);
}

.button,
input[type="submit"] {
  background: var(--z-orange) !important;
  border-color: var(--z-orange) !important;
  color: #fff !important;
  border-radius: var(--radius-md) !important;
  font-weight: 600 !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.button::before,
input[type="submit"]::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  transform: translate(-50%, -50%);
  transition: width 0.4s ease, height 0.4s ease;
}

.button:hover,
input[type="submit"]:hover {
  background: var(--z-gradient-end) !important;
  border-color: var(--z-gradient-end) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(252, 82, 32, 0.25);
}

.button:active,
input[type="submit"]:active {
  transform: translateY(0);
}

.button:active::before,
input[type="submit"]:active::before {
  width: 300px;
  height: 300px;
}

/* ========================================================================
   v2.1 ADDITIONS — accessibility, gating states, premium band, link cards
   ======================================================================== */

/* Accessibility helpers */
.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 2000;
  background: var(--z-orange);
  color: #fff;
  padding: 10px 18px;
  border-radius: 0 0 var(--radius-sm) 0;
  font-weight: 600;
}
.skip-link:focus {
  left: 0;
  color: #fff;
}

/* Gating states — avoids a flash of the upgrade band before the check lands */
.premium-container.is-gate-pending .premium-content,
.premium-container.is-gate-pending .premium-fallback { display: none !important; }

/* No-JS handling lives in document_head.hbs inside a <noscript> block. */

/* Search band */
.section-search { padding-top: var(--space-4); padding-bottom: 0; }

/* === SEARCH BAR COMPLETE REDESIGN === */
.search-band {
  max-width: 100%;
  margin: var(--space-4) auto;
  padding: 0 var(--space-3);
}

.search-band .search-full {
  display: flex;
  gap: 0;
  align-items: center;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.search-band .search-full input[type="search"],
.search-band input[type="search"] {
  flex: 1;
  min-width: 0;
  font-family: var(--z-body-font);
  font-size: 1rem;
  padding: 18px 24px;
  border: none;
  background: transparent;
  color: #1a1a1a;
  box-shadow: none;
  transition: all 0.2s ease;
}

.search-band .search-full input[type="search"]::placeholder {
  color: #aaa;
}

.search-band .search-full input[type="search"]:focus {
  outline: none;
}

.search-band .search-full input[type="search"]:focus-visible {
  outline: none;
}

/* Search button styling - integrated */
.search-band .search-full button,
.search-band button[type="submit"],
.search-band [type="submit"] {
  padding: 18px 32px;
  background: linear-gradient(135deg, var(--z-orange) 0%, #ff8c5a 100%);
  color: #ffffff;
  border: none;
  border-radius: 0;
  font-family: var(--z-body-font);
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
  flex-shrink: 0;
}

.search-band .search-full button:hover,
.search-band button[type="submit"]:hover,
.search-band [type="submit"]:hover {
  background: linear-gradient(135deg, #ff8c5a 0%, var(--z-orange) 100%);
  filter: brightness(1.1);
}

.search-band .search-full button:active,
.search-band button[type="submit"]:active,
.search-band [type="submit"]:active {
  filter: brightness(0.95);
}

@media (max-width: 768px) {
  .search-band .search-full {
    flex-direction: column;
    gap: 0;
  }
  
  .search-band .search-full input[type="search"],
  .search-band input[type="search"] {
    width: 100%;
    border-radius: 12px 12px 0 0;
  }
  
  .search-band .search-full button,
  .search-band button[type="submit"],
  .search-band [type="submit"] {
    width: 100%;
    border-radius: 0 0 12px 12px;
  }
}

/* Card call-to-action line */
.card-cta {
  display: inline-block;
  margin-top: var(--space-2);
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--z-orange);
}

.card:hover .card-cta { text-decoration: underline; text-underline-offset: 3px; }

.card-cta-muted {
  color: #7a6a62;
  font-weight: 500;
}

/* Cards whose destination is not configured yet — rendered as non-links */
.card-pending {
  opacity: 0.72;
  cursor: default;
}
.card-pending:hover {
  transform: none;
  box-shadow: none;
  border-color: rgba(82, 27, 11, 0.08);
}

/* Premium badge on a card */
.card-badge {
  align-self: flex-start;
  margin-top: var(--space-2);
  font-family: var(--z-mono-font);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--z-orange);
  background: rgba(252, 82, 32, 0.1);
  border: 1px solid rgba(252, 82, 32, 0.25);
  border-radius: 999px;
  padding: 3px 10px;
}

/* Category cards */
.card-grid-3 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--space-3);
}

.category-card {
  background: #fff;
  border: 1px solid rgba(82, 27, 11, 0.08);
  border-radius: var(--radius-lg);
  padding: var(--space-3);
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  transition: transform 0.25s cubic-bezier(0.4,0,0.2,1),
              box-shadow 0.25s cubic-bezier(0.4,0,0.2,1),
              border-color 0.2s ease,
              background 0.2s ease;
  position: relative;
  overflow: hidden;
}

.category-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 122, 69, 0.03), transparent);
  transition: left 0.5s ease;
  pointer-events: none;
}

.category-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-hover);
  border-color: rgba(252, 82, 32, 0.3);
  background: linear-gradient(135deg, #fff 0%, rgba(255, 122, 69, 0.01) 100%);
}

.category-card:hover::before {
  left: 100%;
}

.category-card:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring), var(--shadow-hover);
  border-color: var(--z-orange);
}

.category-card h3 {
  margin-bottom: var(--space-1);
  transition: color 0.2s ease;
}

.category-card:hover h3 {
  color: var(--z-orange);
}

.category-card p {
  font-size: 0.925rem;
  color: #666;
  line-height: 1.6;
  flex-grow: 1;
  margin: 0;
}

/* ---------------- Premium band ---------------- */
.section-premium {
  background:
    radial-gradient(120% 140% at 10% 0%, rgba(252, 82, 32, 0.08) 0%, rgba(252, 82, 32, 0) 60%),
    var(--z-sand);
  border-top: 1px solid rgba(82, 27, 11, 0.08);
  border-bottom: 1px solid rgba(82, 27, 11, 0.08);
}

.premium-heading {
  text-align: center;
  max-width: 680px;
  margin: 0 auto var(--space-4);
}

.eyebrow-premium { color: var(--z-orange); }

.premium-subtitle {
  font-size: 1.05rem;
  color: #4a4038;
  margin: 0;
}

.entitlement-grid {
  list-style: none;
  margin: 0 0 var(--space-4);
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--space-2);
}

.entitlement {
  background: #fff;
  border: 1px solid rgba(82, 27, 11, 0.1);
  border-left: 4px solid var(--z-orange);
  border-radius: var(--radius-md);
  padding: var(--space-2) var(--space-3);
}

.entitlement-label {
  display: block;
  font-family: var(--z-mono-font);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--z-brown);
  margin-bottom: 4px;
}

.entitlement-value {
  display: block;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--z-text);
  line-height: 1.5;
}

.card-premium { background: #fff; }
.card-premium:hover { border-color: var(--z-orange); }

/* ---------------- Upgrade panel (non-premium) ---------------- */
.upgrade-panel {
  margin-top: var(--space-4);
  background: #fff;
  border: 1px solid rgba(82, 27, 11, 0.1);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  text-align: center;
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  box-shadow: var(--shadow-md);
}

.upgrade-panel h3 {
  font-size: 1.25rem;
  margin-bottom: var(--space-1);
}

.upgrade-panel p { color: #555; }

.upgrade-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  justify-content: center;
  margin-top: var(--space-3);
}

/* ---------------- Buttons on light backgrounds ---------------- */
.btn-primary {
  background: var(--z-orange);
  color: #fff !important;
  border-color: var(--z-orange);
  box-shadow: var(--shadow-md);
}

.btn-primary:hover {
  background: var(--z-gradient-end);
  border-color: var(--z-gradient-end);
  color: #fff !important;
  transform: translateY(-1px);
}

.btn-ghost {
  background: transparent;
  color: var(--z-orange) !important;
  border-color: rgba(252, 82, 32, 0.4);
}

.btn-ghost:hover {
  background: rgba(252, 82, 32, 0.08);
  border-color: var(--z-orange);
}

.callout-btn { margin-top: var(--space-2); }

/* ---------------- Responsive ---------------- */
@media (max-width: 720px) {
  .card-grid-3 { grid-template-columns: 1fr; }
  .entitlement-grid { grid-template-columns: 1fr; }
  .hero-actions .btn { width: 100%; }
  .upgrade-actions .btn { width: 100%; }
  .section-premium { padding-left: var(--space-2); padding-right: var(--space-2); }
}

/* ---------------- Motion & contrast preferences ---------------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  .card:hover,
  .category-card:hover,
  .chip:hover,
  .btn:hover { transform: none; }
}

@media (forced-colors: active) {
  .card, .category-card, .entitlement, .upgrade-panel { border: 1px solid CanvasText; }
}

/* Request pages */
.page-header { margin-bottom: var(--space-3); }

.page-intro {
  font-size: 1.05rem;
  color: #555;
  max-width: 640px;
}

.form-wrapper {
  background: #fff;
  border: 1px solid rgba(82, 27, 11, 0.08);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  box-shadow: var(--shadow-sm);
}

.form-help {
  margin-top: var(--space-3);
  font-size: 0.925rem;
  color: #666;
}

@media (max-width: 720px) {
  .form-wrapper { padding: var(--space-2); }
}

/* Optional decorative hero artwork (theme setting: hero_swoosh) */
.hero-swoosh {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.24;
  z-index: 1;
  pointer-events: none;
}

/* Contract note under the premium highlights */
.contract-note {
  max-width: 720px;
  margin: 0 auto var(--space-4);
  text-align: center;
  font-size: 0.875rem;
  color: #6a5b52;
  line-height: 1.6;
}

/* Small qualifier on a card, e.g. sign-in expectations */
.card-note {
  display: block;
  margin-top: var(--space-1);
  font-family: var(--z-mono-font);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #7a6a62;
}


/* ========================================================================
   ZENDESK COMPONENT STYLES
   Ported verbatim from the Zendesk Copenhagen theme (v4.49.0) so the
   request form, request list, comment thread and notifications render
   correctly. These sections are Zendesk-maintained markup; do not hand-edit.
   Brand colours flow in through the shared theme settings above.
   ======================================================================== */
/***** Buttons *****/
.button, .pagination-next-link, .pagination-prev-link, .pagination-first-link, .pagination-last-link, .subscriptions-subscribe button, .requests-table-toolbar .organization-subscribe button, .community-follow button, .article-subscribe button, .section-subscribe button, .split-button button {
  background-color: transparent;
  border: 1px solid #FF7A45;
  border-radius: 4px;
  color: #FF7A45;
  cursor: pointer;
  display: inline-block;
  font-size: 12px;
  line-height: 2.34;
  margin: 0;
  padding: 0 20px;
  text-align: center;
  transition: background-color 0.12s ease-in-out, border-color 0.12s ease-in-out, color 0.15s ease-in-out;
  user-select: none;
  white-space: nowrap;
  width: 100%;
  -webkit-touch-callout: none;
}
@media (min-width: 768px) {
  .button, .pagination-next-link, .pagination-prev-link, .pagination-first-link, .pagination-last-link, .subscriptions-subscribe button, .requests-table-toolbar .organization-subscribe button, .community-follow button, .article-subscribe button, .section-subscribe button, .split-button button {
    width: auto;
  }
}
.button:visited, .pagination-next-link:visited, .pagination-prev-link:visited, .pagination-first-link:visited, .pagination-last-link:visited, .subscriptions-subscribe button:visited, .requests-table-toolbar .organization-subscribe button:visited, .community-follow button:visited, .article-subscribe button:visited, .section-subscribe button:visited, .split-button button:visited {
  color: #FF7A45;
}
.button:hover, .pagination-next-link:hover, .pagination-prev-link:hover, .pagination-first-link:hover, .pagination-last-link:hover, .subscriptions-subscribe button:hover, .requests-table-toolbar .organization-subscribe button:hover, .community-follow button:hover, .article-subscribe button:hover, .section-subscribe button:hover, .split-button button:hover, .button:active, .pagination-next-link:active, .pagination-prev-link:active, .pagination-first-link:active, .pagination-last-link:active, .subscriptions-subscribe button:active, .requests-table-toolbar .organization-subscribe button:active, .community-follow button:active, .article-subscribe button:active, .section-subscribe button:active, .split-button button:active, .button:focus, .pagination-next-link:focus, .pagination-prev-link:focus, .pagination-first-link:focus, .pagination-last-link:focus, .subscriptions-subscribe button:focus, .requests-table-toolbar .organization-subscribe button:focus, .community-follow button:focus, .article-subscribe button:focus, .section-subscribe button:focus, .split-button button:focus, .button.button-primary, .button-primary.pagination-next-link, .button-primary.pagination-prev-link, .button-primary.pagination-first-link, .button-primary.pagination-last-link, .subscriptions-subscribe button.button-primary, .subscriptions-subscribe button[data-selected=true], .requests-table-toolbar .organization-subscribe button.button-primary, .requests-table-toolbar .organization-subscribe button[data-selected=true], .community-follow button.button-primary, .article-subscribe button.button-primary, .article-subscribe button[data-selected=true], .section-subscribe button.button-primary, .section-subscribe button[data-selected=true], .split-button button.button-primary {
  background-color: #FF7A45;
  color: #FFFFFF;
  text-decoration: none;
}
.button.button-primary:hover, .button-primary.pagination-next-link:hover, .button-primary.pagination-prev-link:hover, .button-primary.pagination-first-link:hover, .button-primary.pagination-last-link:hover, .subscriptions-subscribe button.button-primary:hover, .subscriptions-subscribe button[data-selected=true]:hover, .requests-table-toolbar .organization-subscribe button.button-primary:hover, .requests-table-toolbar .organization-subscribe button[data-selected=true]:hover, .community-follow button.button-primary:hover, .article-subscribe button.button-primary:hover, .article-subscribe button[data-selected=true]:hover, .section-subscribe button.button-primary:hover, .section-subscribe button[data-selected=true]:hover, .split-button button:hover, .button.button-primary:focus, .button-primary.pagination-next-link:focus, .button-primary.pagination-prev-link:focus, .button-primary.pagination-first-link:focus, .button-primary.pagination-last-link:focus, .subscriptions-subscribe button.button-primary:focus, .subscriptions-subscribe button[data-selected=true]:focus, .requests-table-toolbar .organization-subscribe button.button-primary:focus, .requests-table-toolbar .organization-subscribe button[data-selected=true]:focus, .community-follow button.button-primary:focus, .article-subscribe button.button-primary:focus, .article-subscribe button[data-selected=true]:focus, .section-subscribe button.button-primary:focus, .section-subscribe button[data-selected=true]:focus, .split-button button.button-primary:focus, .button.button-primary:active, .button-primary.pagination-next-link:active, .button-primary.pagination-prev-link:active, .button-primary.pagination-first-link:active, .button-primary.pagination-last-link:active, .subscriptions-subscribe button.button-primary:active, .subscriptions-subscribe button[data-selected=true]:active, .requests-table-toolbar .organization-subscribe button.button-primary:active, .requests-table-toolbar .organization-subscribe button[data-selected=true]:active, .community-follow button.button-primary:active, .article-subscribe button.button-primary:active, .article-subscribe button[data-selected=true]:active, .section-subscribe button.button-primary:active, .section-subscribe button[data-selected=true]:active, .split-button button.button-primary:active {
  background-color: #de3f00;
  border-color: #de3f00;
}
.button[data-disabled], [data-disabled].pagination-next-link, [data-disabled].pagination-prev-link, [data-disabled].pagination-first-link, [data-disabled].pagination-last-link, .subscriptions-subscribe button[data-disabled], .requests-table-toolbar .organization-subscribe button[data-disabled], .community-follow button[data-disabled], .article-subscribe button[data-disabled], .section-subscribe button[data-disabled], .split-button button[data-disabled] {
  cursor: default;
}

.button-large, .hbs-form input[type=submit] {
  cursor: pointer;
  background-color: #FF7A45;
  border: 0;
  border-radius: 4px;
  color: #FFFFFF;
  font-size: 14px;
  line-height: 2.72;
  min-width: 190px;
  padding: 0 1.9286em;
  width: 100%;
}
@media (min-width: 768px) {
  .button-large, .hbs-form input[type=submit] {
    width: auto;
  }
}
.button-large:visited, .hbs-form input[type=submit]:visited {
  color: #FFFFFF;
}
.button-large:hover, .button-large:active, .button-large:focus, .hbs-form input[type=submit]:hover, .hbs-form input[type=submit]:active, .hbs-form input[type=submit]:focus {
  background-color: #de3f00;
}
.button-large[disabled], .hbs-form input[type=submit][disabled] {
  background-color: #ddd;
}

.button-secondary {
  color: #4d4d4d;
  border: 1px solid #848F99;
  background-color: transparent;
}
.button-secondary:visited {
  color: #4d4d4d;
}
.button-secondary:hover, .button-secondary:focus, .button-secondary:active {
  color: #1a1a1a;
  border: 1px solid #848F99;
  background-color: #f7f7f7;
}

/***** Split button *****/
.split-button {
  display: flex;
}

.split-button button {
  background-color: #FF7A45;
  border: 0;
  color: #FFFFFF;
  height: 32px;
  line-height: 16px;
  outline-color: #FF7A45;
}

[dir=rtl] .split-button button:not(:only-child):first-child {
  border-left: 1px solid #FFFFFF;
  border-top-left-radius: unset;
  border-bottom-left-radius: unset;
}
[dir=ltr] .split-button button:not(:only-child):first-child {
  border-right: 1px solid #FFFFFF;
  border-top-right-radius: unset;
  border-bottom-right-radius: unset;
}
.split-button button:not(:only-child):last-child {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 26px;
  min-width: 26px;
  max-width: 26px;
  padding: 0;
}
[dir=rtl] .split-button button:not(:only-child):last-child {
  border-top-right-radius: unset;
  border-bottom-right-radius: unset;
}
[dir=ltr] .split-button button:not(:only-child):last-child {
  border-top-left-radius: unset;
  border-bottom-left-radius: unset;
}

/***** Tables *****/
.table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
}
@media (min-width: 768px) {
  .table {
    table-layout: auto;
  }
}
.table th,
.table th a {
  color: #4d4d4d;
  font-size: 13px;
  text-align: left;
}
[dir=rtl] .table th,
[dir=rtl] .table th a {
  text-align: right;
}
.table tr {
  border-bottom: 1px solid #ddd;
  display: block;
  padding: 20px 0;
}
@media (min-width: 768px) {
  .table tr {
    display: table-row;
  }
}
.table td {
  display: block;
}
@media (min-width: 768px) {
  .table td {
    display: table-cell;
  }
}
@media (min-width: 1024px) {
  .table td, .table th {
    padding: 20px 30px;
  }
}
@media (min-width: 768px) {
  .table td, .table th {
    padding: 10px 20px;
    height: 60px;
  }
}

/***** Forms *****/
.form {
  max-width: 650px;
}

.form-field ~ .form-field {
  margin-top: 25px;
}

.form-field label {
  display: block;
  font-size: 13px;
  margin-bottom: 5px;
}

.form-field input {
  border: 1px solid #848F99;
  border-radius: 4px;
  padding: 10px;
  width: 100%;
}
.form-field input:focus {
  border: 1px solid #FF7A45;
}

.form-field input[type=text] {
  border: 1px solid #848F99;
  border-radius: 4px;
}
.form-field input[type=text]:focus {
  border: 1px solid #FF7A45;
}

.form-field input[type=checkbox] {
  width: auto;
}

.form-field .nesty-input {
  border-radius: 4px;
  border: 1px solid #848F99;
  height: 40px;
  line-height: 40px;
  outline: none;
  vertical-align: middle;
}
.form-field .nesty-input:focus {
  border: 1px solid #FF7A45;
  text-decoration: none;
}

.form-field .hc-multiselect-toggle {
  border: 1px solid #848F99;
}

.form-field .hc-multiselect-toggle:focus {
  outline: none;
  border: 1px solid #FF7A45;
  text-decoration: none;
}

.form-field textarea {
  vertical-align: middle;
}

.form-field input[type=checkbox] + label {
  margin: 0 0 0 10px;
}

.form-field .optional {
  color: #4d4d4d;
  margin-left: 4px;
}

.form-field p {
  color: #4d4d4d;
  font-size: 12px;
  margin: 5px 0;
}

.form footer {
  margin-top: 40px;
  padding-top: 30px;
}

.form footer a {
  color: #4d4d4d;
  cursor: pointer;
  margin-right: 15px;
}

.form .suggestion-list {
  font-size: 13px;
  margin-top: 30px;
}
.form .suggestion-list label {
  border-bottom: 1px solid #ddd;
  display: block;
  padding-bottom: 5px;
}
.form .suggestion-list li {
  padding: 10px 0;
}
.form .suggestion-list li a:visited {
  color: #1f73b7;
}

/***** User avatar *****/
.user-avatar {
  height: 25px;
  width: 25px;
  border-radius: 50%;
  display: inline-block;
  vertical-align: middle;
}

.avatar {
  display: inline-block;
  position: relative;
}
.avatar img {
  height: 40px;
  width: 40px;
}
.avatar .icon-agent {
  color: #FF7A45;
  border: 2px solid #fff;
  border-radius: 50%;
  bottom: -4px;
  background-color: #FFFFFF;
  font-size: 17px;
  height: 17px;
  line-height: 17px;
  position: absolute;
  right: -2px;
  text-align: center;
  width: 17px;
}

/***** Breadcrumbs *****/
.breadcrumbs {
  margin: 0 0 15px 0;
  padding: 0;
  display: flex;
}
@media (min-width: 768px) {
  .breadcrumbs {
    margin: 0;
  }
}
.breadcrumbs li {
  display: inline-block;
  color: #4d4d4d;
  font-size: 13px;
  max-width: 450px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.breadcrumbs li + li::before {
  content: ">";
  margin: 0 4px;
}
.breadcrumbs li a:visited {
  color: #1f73b7;
}

/***** Attachments *****/
/* Styles attachments inside posts, articles and comments */
.attachments .attachment-item {
  padding-left: 20px;
  position: relative;
  margin-bottom: 10px;
}
.attachments .attachment-item:last-child {
  margin-bottom: 0;
}
.attachments .attachment-item .attachment-icon {
  color: #1a1a1a;
  left: 0;
  position: absolute;
  top: 5px;
}
[dir=rtl] .attachments .attachment-item {
  padding-left: 0;
  padding-right: 20px;
}
[dir=rtl] .attachments .attachment-item .attachment-icon {
  left: auto;
  right: 0;
}

.upload-dropzone span {
  color: #4d4d4d;
}

/***** Comments *****/
/* Styles comments inside articles, posts and requests */
.comment {
  border-bottom: 1px solid #ddd;
  padding: 20px 0;
}
.comment-heading, .recent-articles-title,
.related-articles-title {
  margin-bottom: 5px;
  margin-top: 0;
  font-size: 18px;
  font-weight: 600;
}
.comment-overview {
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd;
  padding: 20px 0;
}
.comment-overview p {
  margin-top: 0;
}
.comment-callout {
  color: #4d4d4d;
  display: inline-block;
  font-size: 13px;
  margin-bottom: 0;
}
.comment-callout a {
  color: #1f73b7;
  text-decoration: underline;
}
.comment-callout a:visited {
  color: #1f73b7;
}
.comment-callout a:hover, .comment-callout a:active, .comment-callout a:focus {
  color: #174a7c;
}
.comment-sorter {
  display: inline-block;
  float: right;
}
.comment-sorter .dropdown-toggle {
  color: #4d4d4d;
  font-size: 13px;
}
[dir=rtl] .comment-sorter {
  float: left;
}
.comment-wrapper {
  display: flex;
  position: relative;
}
.comment-wrapper.comment-official {
  border: 1px solid #FF7A45;
  padding: 40px 20px 20px;
}
@media (min-width: 768px) {
  .comment-wrapper.comment-official {
    padding-top: 20px;
  }
}
.comment-info {
  min-width: 0;
  padding-right: 20px;
  width: 100%;
}
[dir=rtl] .comment-info {
  padding-right: 0;
  padding-left: 20px;
}
.comment-author {
  align-items: flex-end;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .comment-author {
    justify-content: space-between;
  }
}
.comment-avatar {
  margin-right: 10px;
}
[dir=rtl] .comment-avatar {
  margin-left: 10px;
  margin-right: 0;
}
.comment-meta {
  flex: 1 1 auto;
}
.comment-labels {
  flex-basis: 100%;
}
@media (min-width: 768px) {
  .comment-labels {
    flex-basis: auto;
  }
}
.comment .status-label:not(.status-label-official) {
  margin-top: 10px;
}
@media (min-width: 768px) {
  .comment .status-label:not(.status-label-official) {
    margin-top: 0;
  }
}
.comment-form {
  display: flex;
  padding-top: 30px;
  word-wrap: break-word;
}
.comment-container {
  width: 100%;
}
.comment-form-controls {
  display: none;
  margin-top: 10px;
  text-align: left;
}
@media (min-width: 768px) {
  [dir=ltr] .comment-form-controls {
    text-align: right;
  }
}
.comment-form-controls input[type=submit] {
  margin-top: 15px;
}
@media (min-width: 1024px) {
  .comment-form-controls input[type=submit] {
    margin-left: 15px;
  }
  [dir=rtl] .comment-form-controls input[type=submit] {
    margin-left: 0;
    margin-right: 15px;
  }
}
.comment-form-controls input[type=checkbox] {
  margin-right: 5px;
}
.comment-form-controls input[type=checkbox] [dir=rtl] {
  margin-left: 5px;
}
.comment-ccs {
  display: none;
}
.comment-ccs + textarea {
  margin-top: 10px;
}
.comment-attachments {
  margin-top: 10px;
}
.comment-attachments a {
  color: #FF7A45;
}
.comment-body {
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  -webkit-hyphens: auto;
  word-break: break-word;
  word-wrap: break-word;
  display: flow-root;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  line-height: 1.6;
  overflow-x: auto;
}
.comment-body a {
  color: #1f73b7;
  text-decoration: underline;
}
.comment-body a:visited {
  color: #1f73b7;
}
.comment-body a:hover, .comment-body a:active, .comment-body a:focus {
  color: #174a7c;
}
.comment-body img {
  height: auto;
  max-width: 100%;
}
.comment-body p > img.image-style-align-left {
  float: left;
  margin: 8px 20px 6px 0;
}
.comment-body p > img.image-style-align-right {
  float: right;
  margin: 8px 0px 6px 20px;
}
.comment-body p > img.image-style-block-align-right {
  margin-left: auto;
  margin-right: 0;
}
.comment-body p > img.image-style-block-align-left {
  margin-left: 0;
  margin-right: auto;
}
.comment-body figure.image {
  display: table;
  margin: 0 auto;
}
.comment-body figure.image > img {
  display: block;
  width: 100%;
}
.comment-body figure.image.image-style-align-left {
  float: left;
  margin: 8px 20px 6px 0;
}
.comment-body figure.image.image-style-align-right {
  float: right;
  margin: 8px 0px 6px 20px;
}
.comment-body figure.image.image-style-block-align-right {
  margin-left: auto;
  margin-right: 0;
}
.comment-body figure.image.image-style-block-align-left {
  margin-left: 0;
  margin-right: auto;
}
.comment-body figcaption {
  padding: 10px 0;
  font-size: 12px;
  text-align: center;
  background-color: #f2f2f2;
}
.comment-body ul,
.comment-body ol {
  padding-left: 20px;
  list-style-position: outside;
  margin: 20px 0 20px 20px;
}
[dir=rtl] .comment-body ul,
[dir=rtl] .comment-body ol {
  padding-right: 20px;
  padding-left: 0;
  margin-left: 0;
  margin-right: 20px;
}
.comment-body ul > ul,
.comment-body ol > ol,
.comment-body ol > ul,
.comment-body ul > ol,
.comment-body li > ul,
.comment-body li > ol {
  margin: 0;
}
.comment-body ul {
  list-style-type: disc;
}
.comment-body :not(pre) > code {
  background: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 0 5px;
  margin: 0 2px;
}
.comment-body pre {
  background: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 10px 15px;
  overflow: auto;
  white-space: pre;
  direction: ltr;
}
.comment-body blockquote {
  border-left: 1px solid #ddd;
  color: #4d4d4d;
  font-style: italic;
  padding: 0 15px;
}
.comment-mark-as-solved {
  display: inline-block;
}

/***** Status labels *****/
/* Styles labels used in posts, articles and requests */
.status-label {
  background-color: #038153;
  border-radius: 4px;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  margin-right: 2px;
  padding: 3px 10px;
  vertical-align: middle;
  white-space: nowrap;
  display: inline-block;
}
.status-label:hover, .status-label:active, .status-label:focus {
  text-decoration: none;
}
.status-label-pinned, .status-label-featured, .status-label-official {
  background-color: #FF7A45;
}
.status-label-official {
  border-radius: 0;
  margin-right: 0;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0;
  width: 100%;
}
@media (min-width: 768px) {
  .status-label-official {
    border-radius: 0 0 4px 4px;
    right: 30px;
    width: auto;
  }
}
[dir=rtl] .status-label-official {
  left: 30px;
  right: auto;
}
.status-label-not-planned, .status-label-closed {
  background-color: #e9ebed;
  color: #4d4d4d;
}
.status-label-pending, .status-label-pending-moderation {
  background-color: #1f73b7;
  text-align: center;
}
.status-label-open {
  background-color: #c72a1c;
}
.status-label-solved {
  background-color: #68737d;
}
.status-label-new {
  background-color: #ffb648;
  color: #703b15;
}
.status-label-hold {
  background-color: #000;
}
.status-label-request {
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 768px) {
  .status-label-request {
    max-width: 150px;
  }
}

/***** My activities *****/
.my-activities-nav {
  background-color: #f2f2f2;
  margin-bottom: 20px;
}
.my-activities-sub-nav {
  margin-bottom: 30px;
}
.my-activities-table .striped-list-title { /* My activities tables */
  display: block;
  margin-bottom: 10px;
  max-width: 350px;
  white-space: normal;
}
@media (min-width: 1024px) {
  .my-activities-table .striped-list-title {
    margin-bottom: 0;
    max-width: 500px;
    min-width: 350px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
.my-activities-table thead {
  display: none;
}
@media (min-width: 768px) {
  .my-activities-table thead {
    display: table-header-group;
  }
}
.my-activities-table th:first-child,
.my-activities-table td:first-child {
  padding-left: 0;
}
@media (min-width: 1024px) {
  .my-activities-table th:first-child,
  .my-activities-table td:first-child {
    width: 500px;
  }
}
.my-activities-table th:last-child,
.my-activities-table td:last-child {
  padding-right: 0;
}
.my-activities-table td:not(:first-child) {
  display: none;
}
@media (min-width: 768px) {
  .my-activities-table td:not(:first-child) {
    display: table-cell;
  }
}

/* Requests table */
.requests-search {
  width: 100%;
}
.requests-table-toolbar {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .requests-table-toolbar {
    flex-direction: row;
  }
}
.requests-table-toolbar .search {
  flex: 1;
  width: 100%;
}
.requests-table-toolbar .request-table-filter {
  width: 100%;
}
@media (min-width: 768px) {
  .requests-table-toolbar .request-table-filter {
    width: auto;
  }
}
.requests-table-toolbar .request-filter {
  display: block;
}
@media (min-width: 768px) {
  .requests-table-toolbar .request-filter {
    margin: 0 0 0 30px;
  }
  [dir=rtl] .requests-table-toolbar .request-filter {
    margin: 0 30px 0 0;
  }
}
.requests-table-toolbar .request-filter-label {
  font-size: 13px;
  margin-top: 30px;
}
@media (min-width: 768px) {
  .requests-table-toolbar .request-filter-label {
    margin-top: 0;
  }
}
.requests-table-toolbar select {
  max-height: 40px;
  margin-bottom: 30px;
  width: 100%;
}
@media (min-width: 768px) {
  .requests-table-toolbar select {
    margin-bottom: 0;
    max-width: 300px;
    width: auto;
  }
}
@media (min-width: 768px) {
  .requests-table-toolbar .organization-subscribe {
    margin-left: 10px;
  }
  [dir=rtl] .requests-table-toolbar .organization-subscribe {
    margin: 0 10px 0 0;
  }
}
.requests-table-toolbar .organization-subscribe button {
  line-height: 40px;
  max-height: 40px;
  padding: 0 20px;
}
.requests-table-toolbar + .requests-search-info {
  margin-top: 15px;
}
.requests-table-toolbar + .requests-search-info.meta-data::after {
  content: "";
  margin: 0;
}
.requests-table-toolbar + .requests-search-info + .requests {
  margin-top: 20px;
}
.requests-table-toolbar + .requests {
  margin-top: 40px;
}
.requests .requests-table-meta {
  display: block;
}
@media (min-width: 768px) {
  .requests .requests-table-meta {
    display: none;
  }
}
.requests .requests-table thead {
  display: none;
}
@media (min-width: 768px) {
  .requests .requests-table thead {
    display: table-header-group;
  }
}
.requests .requests-table-info {
  display: block;
}
@media (min-width: 768px) {
  .requests .requests-table-info {
    display: table-cell;
    vertical-align: middle;
    width: auto;
  }
}
.requests .requests-table .requests-link {
  position: relative;
}
.requests .requests-table .requests-sort-symbol {
  position: absolute;
  left: calc(100% + 3px);
  bottom: 0;
  font-size: 10px;
}

/* Following table */
@media (min-width: 768px) {
  .subscriptions-subscribe button {
    width: auto;
  }
}
.subscriptions-table td:last-child {
  display: block;
}
@media (min-width: 768px) {
  .subscriptions-table td:last-child {
    display: table-cell;
  }
}
.subscriptions-table td:first-child {
  display: flex;
  align-items: center;
}
.subscriptions-table .user-avatar {
  margin-right: 10px;
}
.subscriptions .striped-list-title {
  display: inline-block;
  vertical-align: middle;
}

/* Contributions table */
.contributions-table td:last-child {
  color: #4d4d4d;
  font-size: 13px;
}
@media (min-width: 768px) {
  .contributions-table td:last-child {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
  }
}

.no-activities {
  color: #4d4d4d;
}

/***** Request *****/
.request-container {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media (min-width: 1024px) {
  .request-container {
    align-items: flex-start;
    flex-direction: row;
  }
}
.request-container .comment-container {
  min-width: 0;
}
.request-breadcrumbs {
  margin-bottom: 40px;
}
@media (min-width: 1024px) {
  .request-breadcrumbs {
    margin-bottom: 60px;
  }
}
.request-main {
  flex: 1 0 auto;
  max-width: 100%;
  order: 1;
}
.request-main .comment-fields, .request-main .request-submit-comment {
  display: none;
}
.request-main .comment-fields.shown {
  display: block;
}
.request-main .request-submit-comment.shown {
  display: inline;
}
@media (min-width: 1024px) {
  .request-main {
    flex: 0 0 66%;
    order: 0;
    min-width: 0;
  }
}
.request-main .comment-form-controls {
  display: block;
}
.request-main .comment-ccs {
  display: block;
}
.request-main .comment-show-container {
  border-radius: 2px;
  border: 1px solid #ddd;
  color: #4d4d4d;
  text-align: inherit;
  padding: 8px 25px;
  width: 100%;
}
.request-main .comment-show-container.hidden {
  display: none;
}
.request-main .form-field.comment-ccs > ul {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: 0;
}
.request-main .form-field.comment-ccs > ul[data-hc-focus=true] {
  border: 1px solid #FF7A45;
}
.request-main .form-field.comment-ccs > input[type=text] {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: 0;
}
.request-main .comment-ccs + textarea {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  margin-top: 0;
}
.request-main .comment-ccs + textarea:focus {
  border-top: 1px solid #FF7A45;
}
.request-main input#mark_as_solved {
  display: none;
}
.request-title {
  width: 100%;
}
@media (min-width: 1024px) {
  .request-title {
    border-bottom: 1px solid #ddd;
    margin-bottom: 0;
    max-width: 66%;
    padding-bottom: 20px;
  }
}
.request-sidebar {
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd;
  flex: 1 0 auto;
  order: 0;
}
@media (min-width: 1024px) {
  .request-sidebar {
    background-color: #f7f7f7;
    border: 0;
    font-size: 13px;
    flex: 0 0 auto;
    padding: 0 20px;
    width: 30%;
  }
}
.request-sidebar h2 {
  font-size: 15px;
  font-weight: 600;
  position: relative;
}
@media (min-width: 1024px) {
  .request-sidebar h2 {
    display: none;
  }
}
.request-details {
  border-bottom: 1px solid #ddd;
  font-size: 0;
  margin: 0;
  padding-bottom: 20px;
}
.request-details:last-child {
  border: 0;
}
.request-details dt, .request-details dd {
  display: inline-block;
  vertical-align: top;
  font-size: 13px;
  margin: 20px 0 0 0;
}
.request-details dd {
  padding: 0 10px;
  width: 60%;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.request-details dd::after {
  content: "\a";
  white-space: pre;
}
.request-details dt {
  line-break: strict;
  color: #4d4d4d;
  width: 40%;
  overflow-wrap: break-word;
}
.request-details .request-collaborators {
  display: inline-block;
}
.request-attachments dt, .request-attachments dd {
  width: 100%;
}
.request-attachments dd {
  margin: 10px 0 0 0;
}
.request-form textarea {
  min-height: 120px;
}
.request-follow-up {
  padding-top: 20px;
}

/***** Pagination *****/
.pagination {
  margin: 20px 0;
  text-align: center;
}
.pagination-next, .pagination-prev, .pagination-first, .pagination-last {
  display: inline-block;
}
.pagination-first-link, .pagination-last-link {
  padding: 0 10px;
}
.pagination-first-text, .pagination-last-text {
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}
.pagination-next-link {
  padding-right: 10px;
}
.pagination-next-text {
  margin-right: 10px;
}
[dir=rtl] .pagination-next-link {
  padding-left: 10px;
}
[dir=rtl] .pagination-next-text {
  margin-left: 10px;
}
.pagination-prev-link {
  padding-left: 10px;
}
.pagination-prev-text {
  margin-left: 10px;
}
[dir=rtl] .pagination-prev-link {
  padding-right: 10px;
}
[dir=rtl] .pagination-prev-text {
  margin-right: 10px;
}

/***** Metadata *****/
.meta-group {
  display: block;
}

.meta-group-opposite {
  float: right;
}

[dir=rtl] .meta-group-opposite {
  float: left;
}

.meta-group * {
  display: inline;
}

.meta-data {
  color: #4d4d4d;
  font-size: 13px;
}
.meta-data:not(:last-child)::after {
  content: "·";
  margin: 0 5px;
}

/* User Profiles */
.profile-header {
  padding: 30px 0;
  background-color: #f7f7f7;
}

.profile-header .container {
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .profile-header .container {
    flex-wrap: nowrap;
  }
}

.profile-header .profile-info {
  flex-basis: 100%;
  display: flex;
  flex-wrap: wrap;
  min-width: 0;
}

.profile-avatar {
  position: relative;
  line-height: 0;
  align-self: center;
  margin-right: 10px;
}
[dir=rtl] .profile-avatar {
  margin-left: 10px;
  margin-right: 0;
}

.profile-avatar .user-avatar {
  width: 80px;
  height: 80px;
}

.profile-avatar .icon-agent {
  bottom: 0;
  right: 0;
}

.profile-header .basic-info {
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  -webkit-hyphens: auto;
  word-break: break-word;
  word-wrap: break-word;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-grow: 1;
  flex-basis: 0;
  min-width: 0;
}
.profile-header .basic-info .name {
  margin: 0;
  line-height: 25px;
  vertical-align: middle;
  display: inline;
}

.profile-header .options {
  display: flex;
  flex-basis: 100%;
  margin-top: 12px;
  align-items: flex-start;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .profile-header .options {
    flex-wrap: nowrap;
    flex-basis: auto;
    margin-top: 0;
    margin-left: 10px;
  }
  [dir=rtl] .profile-header .options {
    margin-left: 0;
    margin-right: 10px;
  }
  .profile-header .options > :not(:last-child) {
    margin-bottom: 0;
    margin-right: 10px;
  }
  [dir=rtl] .profile-header .options > :not(:last-child) {
    margin-left: 10px;
    margin-right: 0;
  }
}

.user-profile-actions {
  width: 100%;
  margin-bottom: 15px;
}

.profile-header .description {
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  -webkit-hyphens: auto;
  word-break: break-word;
  word-wrap: break-word;
  margin: 15px 0;
  flex-basis: 100%;
}

.profile-stats {
  font-size: 13px;
  display: flex;
  flex-direction: column;
  flex-basis: 100%;
}

.profile-stats .stat {
  display: flex;
  margin-bottom: 10px;
}

.profile-stats .stat-label {
  color: #4d4d4d;
  flex: 0 0 100px;
  margin-right: 10px;
}
[dir=rtl] .profile-stats .stat-label {
  margin-left: 10px;
  margin-right: 0;
}

.profile-stats-activity {
  border-top: solid 1px #ddd;
  margin-top: 15px;
}
@media (min-width: 768px) {
  .profile-stats-activity {
    border-top: 0;
    flex-direction: row;
  }
}

@media (min-width: 768px) {
  .profile-stats-activity .stat {
    flex-direction: column;
  }
}

.profile-stats-activity .stat:first-child {
  margin-top: 10px;
}
@media (min-width: 768px) {
  .profile-stats-activity .stat:first-child {
    margin-top: 0;
  }
}

@media (min-width: 768px) {
  .profile-stats-activity .stat:not(:last-child) {
    margin-right: 40px;
  }
  [dir=rtl] .profile-stats-activity .stat:not(:last-child) {
    margin-left: 40px;
    margin-right: 0;
  }
}

@media (min-width: 768px) {
  .profile-stats-activity .stat-label {
    flex: 0 1 auto;
  }
}

.profile-stats-counters {
  border-bottom: solid 1px #ddd;
}
@media (min-width: 768px) {
  .profile-stats-counters {
    flex: 0 0 200px;
    border-bottom: 0;
    margin-left: 40px;
  }
  [dir=rtl] .profile-stats-counters {
    margin-left: 0;
    margin-right: 40px;
  }
}
@media (min-width: 1024px) {
  .profile-stats-counters {
    flex: 0 0 270px;
    margin-left: 60px;
  }
  [dir=rtl] .profile-stats-counters {
    margin-right: 60px;
    margin-left: 0;
  }
}

@media (min-width: 768px) {
  .profile-stats-counters .stat {
    flex-direction: column;
  }
}
@media (min-width: 1024px) {
  .profile-stats-counters .stat {
    flex-direction: row;
  }
}

@media (min-width: 768px) {
  .profile-stats-counters .stat:not(:last-child) {
    margin-bottom: 15px;
  }
}

@media (min-width: 768px) {
  .profile-stats-counters .stat-label {
    flex: 0 1 auto;
  }
}
@media (min-width: 1024px) {
  .profile-stats-counters .stat-label {
    flex: 0 0 100px;
  }
}

.profile-private-badge {
  flex-basis: 100%;
  border: solid 1px #FF7A45;
  border-radius: 4px;
  color: #FF7A45;
  padding: 5px 20px;
  font-size: 12px;
  text-align: center;
}
.profile-private-badge .profile-private-icon {
  margin-left: 5px;
  line-height: 15px;
}
@media (min-width: 768px) {
  .profile-private-badge {
    flex-basis: auto;
  }
}

.profile-nav {
  background-color: #f2f2f2;
  margin-bottom: 37px;
}

.profile-section {
  width: 100%;
}
@media (min-width: 1024px) {
  .profile-section {
    width: calc(100% - 330px);
  }
}

.profile-section-header {
  display: flex;
  flex-wrap: wrap;
}

.profile-section-title {
  flex-basis: 100%;
  margin-bottom: 0;
}

.profile-section-description {
  flex-basis: 100%;
  padding: 10px 0;
  color: #4d4d4d;
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (min-width: 768px) {
  .profile-section-description {
    flex: 1 0 50%;
    padding-bottom: 0;
  }
}

.profile-section-sorter {
  flex-basis: 100%;
  border-top: solid 1px #eee;
  font-size: 13px;
}
.profile-section-sorter .dropdown-toggle {
  padding: 10px 0;
  width: 100%;
}
.profile-section-sorter .dropdown-toggle::after {
  position: absolute;
  right: 0;
}
[dir=rtl] .profile-section-sorter .dropdown-toggle::after {
  left: 0;
  right: initial;
}
@media (min-width: 768px) {
  .profile-section-sorter .dropdown-toggle::after {
    position: relative;
  }
}
@media (min-width: 768px) {
  .profile-section-sorter {
    flex: 0 1 auto;
    padding-top: 0;
    border-top: 0;
    margin-left: 20px;
  }
  [dir=rtl] .profile-section-sorter {
    margin-left: 0;
    margin-right: 20px;
  }
}

.profile-badges-items {
  margin-top: 25px;
}
.profile-badges-item {
  border-top: 1px solid #ddd;
  display: flex;
  flex: 1;
  flex-direction: row;
  justify-content: flex-start;
  padding: 27px 12px;
}
.profile-badges-item > div {
  padding-right: 12px;
  padding-left: 12px;
}
.profile-badges-item-image {
  height: 40px;
  width: 40px;
  margin-right: 12px;
}
.profile-badges-item-image img {
  max-height: 40px;
}
[dir=rtl] .profile-badges-item-image {
  margin-left: 12px;
  margin-right: 0;
}
.profile-badges-item-title, .profile-badges-item-metadata-title {
  font-size: 15px;
  margin-bottom: 10px;
}
.profile-badges-item-title {
  font-weight: 600;
}
.profile-badges-item-description, .profile-badges-item-metadata-description {
  color: #4d4d4d;
  font-size: 13px;
  margin: 0;
}
.profile-badges-item-metadata {
  margin-left: auto;
  text-align: right;
}
[dir=rtl] .profile-badges-item-metadata {
  margin-left: 0;
  margin-right: auto;
  text-align: left;
}

.profile-contribution {
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  -webkit-hyphens: auto;
  word-break: break-word;
  word-wrap: break-word;
  padding: 20px 0;
  position: relative;
}

.profile-contribution-header {
  margin-bottom: 5px;
}

.profile-contribution-title {
  margin: 0 0 5px 0;
  display: inline;
  line-height: 21px;
  font-size: 15px;
  vertical-align: middle;
}

.profile-contribution-body {
  margin: 10px 0;
}

.profile-contribution-list > .profile-contribution {
  border-top: 1px solid #eee;
}
@media (min-width: 768px) {
  .profile-contribution-list > .profile-contribution {
    padding-left: 30px;
  }
  [dir=rtl] .profile-contribution-list > .profile-contribution {
    padding-right: 30px;
    padding-left: 0;
  }
}

.profile-contribution-list > .profile-contribution:last-child {
  border-bottom: 1px solid #eee;
}

.profile-contribution-icon {
  left: 0;
  position: absolute;
  color: #ccc;
  line-height: 25px;
}
[dir=rtl] .profile-contribution-icon {
  right: 0;
}
.profile-contribution-icon svg {
  vertical-align: middle;
}

.profile-contribution-list .profile-contribution-header {
  margin-left: 30px;
}
[dir=rtl] .profile-contribution-list .profile-contribution-header {
  padding-right: 30px;
  padding-left: 0;
}
@media (min-width: 768px) {
  .profile-contribution-list .profile-contribution-header {
    margin-left: 0;
  }
  [dir=rtl] .profile-contribution-list .profile-contribution-header {
    padding-right: 0;
  }
}

.profile-comments .profile-contribution-breadcrumbs {
  margin-left: 30px;
}
[dir=rtl] .profile-comments .profile-contribution-breadcrumbs {
  padding-right: 30px;
  padding-left: 0;
}
@media (min-width: 768px) {
  .profile-comments .profile-contribution-breadcrumbs {
    margin-left: 0;
  }
  [dir=rtl] .profile-comments .profile-contribution-breadcrumbs {
    padding-right: 0;
  }
}

.profile-section .no-activity,
.profile-section .private-activity {
  display: block;
  margin-top: 40px;
  color: #999;
}

.private-activity-icon {
  margin-right: 10px;
}
[dir=rtl] .private-activity-icon {
  margin-right: 0;
  margin-left: 10px;
}

.profile-activity-list {
  margin-top: 25px;
}

.profile-activity {
  position: relative;
  padding-bottom: 30px;
}
@media (min-width: 768px) {
  .profile-activity {
    padding-left: 20px;
  }
  [dir=rtl] .profile-activity {
    padding-right: 20px;
    padding-left: 0;
  }
}

@media (min-width: 768px) {
  .profile-activity:not(:last-child) {
    border-left: 1px solid #ddd;
  }
  [dir=rtl] .profile-activity:not(:last-child) {
    border-left: 0;
    border-right: 1px solid #ddd;
  }
}

.profile-activity-header {
  display: flex;
  align-items: center;
  margin-left: 35px;
}
[dir=rtl] .profile-activity-header {
  margin-left: 0;
  margin-right: 35px;
}
@media (min-width: 768px) {
  .profile-activity-header {
    margin-left: 0;
  }
  [dir=rtl] .profile-activity-header {
    margin-right: 0;
  }
}

.profile-activity-header .user-avatar {
  width: 40px;
  height: 40px;
  margin-right: 10px;
  min-width: 40px;
  align-self: flex-start;
}
[dir=rtl] .profile-activity-header .user-avatar {
  margin-left: 10px;
  margin-right: 0;
}

.profile-activity-description {
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  -webkit-hyphens: auto;
  word-break: break-word;
  word-wrap: break-word;
  margin: 0;
  min-width: 0;
  width: 100%;
}

.profile-activity-description span:first-child {
  font-weight: 600;
  display: inline;
}

.profile-activity-contribution {
  padding: 20px;
  margin-top: 10px;
  border-radius: 8px;
  background-color: #f7f7f7;
}
@media (min-width: 768px) {
  .profile-activity-contribution {
    margin-top: 0;
    margin-left: 50px;
  }
  [dir=rtl] .profile-activity-contribution {
    margin-left: 0;
    margin-right: 50px;
  }
}

.profile-activity-icon {
  position: absolute;
  left: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-size: 14px 14px;
  background-repeat: no-repeat;
  background-color: #FFFFFF;
  background-position: 50% 50%;
  text-align: center;
  color: #ccc;
}
[dir=rtl] .profile-activity-icon {
  right: 0;
}
@media (min-width: 768px) {
  .profile-activity-icon {
    left: -14px;
  }
  [dir=rtl] .profile-activity-icon {
    right: -14px;
  }
}

.profile-activity-icon svg {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  width: 1em;
  height: 1em;
  margin: auto;
}

/***** Notifications *****/
.notification {
  border: 1px solid;
  display: table;
  font-family: sans-serif;
  font-size: 12px;
  padding: 13px 15px;
  transition: height 0.2s;
  width: 100%;
  color: #555;
}

.notification a {
  color: #158ec2;
}

.notification-inner {
  margin: 0 auto;
  padding: 0 20px;
  max-width: 980px;
}

.notification-icon, .notification-inline.notification-error::before, .notification-text, .notification-dismiss {
  display: table-cell;
  vertical-align: middle;
}

.notification-text {
  padding: 0 15px;
  width: 100%;
}

.notification + .notification {
  margin-bottom: -1px;
  position: relative;
  top: -1px;
}

/* Error */
.notification-error {
  background: #ffeded;
  border-color: #f7cbcb;
}

.notification-error .notification-icon::before, .notification-error .notification-inline.notification-error::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' focusable='false' viewBox='0 0 12 12'%3E%3Cg fill='none' stroke='%23555555'%3E%3Ccircle cx='5.5' cy='6.5' r='5'/%3E%3Cpath stroke-linecap='round' d='M5.5 3.5v3'/%3E%3C/g%3E%3Ccircle cx='5.5' cy='9' r='1' fill='%23555555'/%3E%3C/svg%3E");
}

/* Notice */
.notification-notice {
  background: #dbf3ff;
  border-color: #b5e0f5;
}

.notification-notice .notification-icon::before, .notification-notice .notification-inline.notification-error::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' focusable='false' viewBox='0 0 12 12'%3E%3Cg fill='none' stroke='%23555555'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3.5 6l2 2L9 4.5'/%3E%3Ccircle cx='6' cy='6' r='5.5'/%3E%3C/g%3E%3C/svg%3E");
}

/* Alert / Lock */
.notification-alert {
  color: #ad5e18;
  background: #fff8ed;
  border-color: #fcdba9;
}

.notification-alert .notification-icon::before, .notification-alert .notification-inline.notification-error::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' focusable='false' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23ad5e18' stroke-linecap='round' d='M5.06 1.27l-4.5 8.5c-.18.33.06.73.44.73h9c.38 0 .62-.4.44-.73l-4.5-8.5a.494.494 0 00-.88 0zM5.5 4v2'/%3E%3Ccircle cx='5.5' cy='8' r='.8' fill='%23ad5e18'/%3E%3C/svg%3E");
}

.notification-icon::before, .notification-inline.notification-error::before {
  background-size: cover;
  content: "";
  display: inline-block;
  height: 14px;
  width: 14px;
  vertical-align: middle;
}

/* Dismiss button */
.notification-dismiss, a.notification-dismiss {
  color: #555;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 100ms ease;
  text-decoration: none !important;
}

.notification-dismiss:hover {
  opacity: 1;
}

/* Inline notifications */
.notification-inline {
  border-radius: 4px;
  line-height: 14px;
  margin-top: 5px;
  padding: 5px;
  position: relative;
  text-align: left;
  vertical-align: middle;
}
[dir=rtl] .notification-inline {
  text-align: right;
}
.notification-inline[aria-hidden=true] {
  display: none;
}
.notification-inline.notification-error::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' focusable='false' viewBox='0 0 12 12'%3E%3Cg fill='none' stroke='%23e35b66'%3E%3Ccircle cx='5.5' cy='6.5' r='5'/%3E%3Cpath stroke-linecap='round' d='M5.5 3.5v3'/%3E%3C/g%3E%3Ccircle cx='5.5' cy='9' r='1' fill='%23e35b66'/%3E%3C/svg%3E");
  margin: -2px 5px 0 0;
}
[dir=rtl] .notification-inline.notification-error::before {
  margin: 0 0 0 5px;
}
.notification-inline.notification-error {
  background-color: #fff0f1;
  border: 1px solid #e35b66;
  color: #cc3340;
}
.notification-inline.notification-large {
  padding: 13px 15px;
  margin-bottom: 25px;
}

.notification-left-aligned {
  text-align: left;
  padding-left: 0;
}

html[dir=rtl] .notification-left-aligned {
  text-align: right;
  padding-left: auto;
  padding-right: 0;
}

.dropdown {
  position: relative;
  display: inline-block;
}

.dropdown-toggle {
  cursor: pointer;
  background: none;
  border: 0;
  display: inline-block;
  padding: 0;
  text-align: initial;
  vertical-align: middle;
}
.dropdown-toggle:hover {
  text-decoration: none;
}
.dropdown-toggle > * {
  display: inline-block;
}
.dropdown-toggle[aria-expanded=true] + .dropdown-menu {
  display: block;
}

.dropdown-menu {
  background: #fff;
  border: 1px solid #d8dcde;
  border-radius: 3px;
  box-shadow: 0px 20px 30px 0px rgba(23, 73, 77, 0.15);
  display: none;
  font-size: 14px;
  font-style: normal;
  font-weight: normal;
  left: 0;
  margin-top: 1px;
  min-width: 170px;
  padding: 10px 0;
  position: absolute;
  text-align: left;
  z-index: 1000;
}
[dir=rtl] .dropdown-menu {
  text-align: right;
}
.dropdown-menu [role=separator] {
  border-bottom: 1px solid #e9ebed;
  margin: 4px 0;
}
.dropdown-menu [role=menuitem],
.dropdown-menu [role=menuitemradio] {
  color: #2f3941;
  cursor: pointer;
  display: block;
  padding: 7px 40px 7px 20px;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  -webkit-appearance: none;
  text-align: start;
  line-height: inherit;
  width: 100%;
}
[dir=rtl] .dropdown-menu [role=menuitem],
[dir=rtl] .dropdown-menu [role=menuitemradio] {
  padding: 7px 20px 7px 40px;
}
.dropdown-menu [role=menuitem]:hover, .dropdown-menu [role=menuitem]:focus,
.dropdown-menu [role=menuitemradio]:hover,
.dropdown-menu [role=menuitemradio]:focus {
  background: rgba(31, 115, 183, 0.08);
  text-decoration: none;
  color: #2f3941;
}
.dropdown-menu [role=menuitem][aria-selected=true], .dropdown-menu [role=menuitem][aria-checked=true],
.dropdown-menu [role=menuitemradio][aria-selected=true],
.dropdown-menu [role=menuitemradio][aria-checked=true] {
  cursor: default;
}
.dropdown-menu [role=menuitem][aria-selected=true]::after, .dropdown-menu [role=menuitem][aria-checked=true]::after,
.dropdown-menu [role=menuitemradio][aria-selected=true]::after,
.dropdown-menu [role=menuitemradio][aria-checked=true]::after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M1 7l3 3 7-7'%3E%3C/path%3E%3C/svg%3E");
  display: inline-block;
  height: 12px;
  margin-left: 10px;
  width: 12px;
}
[dir=rtl] .dropdown-menu [role=menuitem][aria-selected=true]::after, [dir=rtl] .dropdown-menu [role=menuitem][aria-checked=true]::after,
[dir=rtl] .dropdown-menu [role=menuitemradio][aria-selected=true]::after,
[dir=rtl] .dropdown-menu [role=menuitemradio][aria-checked=true]::after {
  margin-left: 0;
  margin-right: 10px;
  float: left;
}
.dropdown-menu [role=menuitem][hidden], .dropdown-menu [role=menuitem][aria-hidden=true],
.dropdown-menu [role=menuitemradio][hidden],
.dropdown-menu [role=menuitemradio][aria-hidden=true] {
  display: none !important;
}

.dropdown-menu-end {
  left: auto;
  right: 0;
}

.dropdown-menu-top {
  bottom: 100%;
  margin-bottom: 1px;
}

[dir=rtl] .dropdown-menu {
  left: auto;
  right: 0;
  text-align: right;
}
[dir=rtl] .dropdown-menu-end {
  left: 0;
  right: auto;
}

.dropdown-chevron-icon {
  vertical-align: middle;
}

.content-tags > p {
  color: #68737D;
  margin-top: 32px;
  margin-bottom: 4px;
}
.content-tags-add-hint {
  color: #68737D;
  font-size: 14px;
}

.content-tag-list {
  display: flex;
  flex-wrap: wrap;
  word-break: break-word;
}
.content-tag-list li {
  border-right: 1px solid #C2C8CC;
  margin-bottom: 4px;
}
[dir=ltr] .content-tag-list li {
  padding-right: 8px;
  margin-right: 8px;
}
[dir=rtl] .content-tag-list li {
  padding-left: 8px;
  margin-left: 8px;
}
.content-tag-list li:last-child {
  border: none;
}

/***** WYSIWYG Editor *****/
#hc-wysiwyg {
  border: 1px solid #848F99;
}

/***** Upload Dropzone *****/
.upload-dropzone {
  border: 1px solid #848F99;
}

/***** Summary component *****/
zd-summary-block {
  background: #f3f6f6;
}
[dir=ltr] zd-summary-block {
  border-left-color: #859fa1;
}
[dir=rtl] zd-summary-block {
  border-right-color: #859fa1;
}

.service-catalog-hero {
  margin-bottom: 10px;
  height: 320px;
}
.service-catalog-description {
  display: flow-root;
}
.service-catalog-description a {
  color: #1f73b7;
  text-decoration: underline;
}
.service-catalog-description a:visited {
  color: #1f73b7;
}
.service-catalog-description a:hover, .service-catalog-description a:active, .service-catalog-description a:focus {
  color: #174a7c;
}
.service-catalog-description img {
  height: auto;
  max-width: 100%;
}
.service-catalog-description p > img.image-style-align-left {
  float: left;
  margin: 8px 20px 6px 0;
}
.service-catalog-description p > img.image-style-align-right {
  float: right;
  margin: 8px 0px 6px 20px;
}
.service-catalog-description p > img.image-style-block-align-right {
  margin-left: auto;
  margin-right: 0;
}
.service-catalog-description p > img.image-style-block-align-left {
  margin-left: 0;
  margin-right: auto;
}
.service-catalog-description figure.image {
  display: table;
  margin: 0 auto;
}
.service-catalog-description figure.image > img {
  display: block;
  width: 100%;
}
.service-catalog-description figure.image.image-style-align-left {
  float: left;
  margin: 8px 20px 6px 0;
}
.service-catalog-description figure.image.image-style-align-right {
  float: right;
  margin: 8px 0px 6px 20px;
}
.service-catalog-description figure.image.image-style-block-align-right {
  margin-left: auto;
  margin-right: 0;
}
.service-catalog-description figure.image.image-style-block-align-left {
  margin-left: 0;
  margin-right: auto;
}
.service-catalog-description figcaption {
  padding: 10px 0;
  font-size: 12px;
  text-align: center;
  background-color: #f2f2f2;
}
.service-catalog-description ul,
.service-catalog-description ol {
  padding-left: 20px;
  list-style-position: outside;
  margin: 20px 0 20px 20px;
}
[dir=rtl] .service-catalog-description ul,
[dir=rtl] .service-catalog-description ol {
  padding-right: 20px;
  padding-left: 0;
  margin-left: 0;
  margin-right: 20px;
}
.service-catalog-description ul > ul,
.service-catalog-description ol > ol,
.service-catalog-description ol > ul,
.service-catalog-description ul > ol,
.service-catalog-description li > ul,
.service-catalog-description li > ol {
  margin: 0;
}
.service-catalog-description ul {
  list-style-type: disc;
}
.service-catalog-description :not(pre) > code {
  background: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 0 5px;
  margin: 0 2px;
}
.service-catalog-description pre {
  background: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 10px 15px;
  overflow: auto;
  white-space: pre;
  direction: ltr;
}
.service-catalog-description blockquote {
  border-left: 1px solid #ddd;
  color: #4d4d4d;
  font-style: italic;
  padding: 0 15px;
}
.service-catalog-main-content {
  display: flex;
  gap: 32px;
}
.service-catalog-list {
  width: 100%;
}
.service-catalog-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 20px;
}

.is-service-catalog-preview #navbar-container,
.is-service-catalog-preview .navbar-container,
.is-service-catalog-preview .assembly-bar,
.is-service-catalog-preview [data-garden-id="chrome.subnav"] {
  display: none !important;
}

/* Zensai overrides on top of the Zendesk components */
.request-title, .my-activities-header h1 { color: var(--z-brown); }
.form-help { margin-top: var(--space-3); font-size: 0.925rem; color: #666; }

/* ========================================================================
   v3 — corporate footer, header CTA, knowledge base and popular articles
   ======================================================================== */

.footer { padding: var(--space-5) var(--space-3) var(--space-3); }

.footer-brand {
  max-width: 1200px;
  margin: 0 auto var(--space-4);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}

.footer-brand img {
  width: auto;
  height: 28px;
  max-width: 170px;
}

.footer-brand p {
  margin: 0;
  font-family: var(--z-mono-font);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #ffffff;
}

.footer-cols {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--space-4);
  max-width: 1200px;
  margin: 0 auto var(--space-4);
  text-align: left;
}

.footer-heading {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #ffffff;
  margin: 0 0 var(--space-1);
}

.footer-col .footer-heading + .footer-list + .footer-heading { margin-top: var(--space-3); }

.footer-list, .footer-social, .footer-legal {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-list li, .footer-social li { margin-bottom: 6px; }

.footer-list a, .footer-social a, .footer-legal a {
  font-size: 0.875rem;
  color: #e8e8e8;
  line-height: 1.5;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  display: inline-block;
}

.footer-list a:hover, .footer-social a:hover, .footer-legal a:hover {
  color: var(--z-orange);
  text-decoration: underline;
  text-underline-offset: 3px;
  transform: translateX(2px);
}

.footer-list a:focus-visible, .footer-social a:focus-visible, .footer-legal a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 122, 69, 0.3);
  border-radius: 2px;
}

.footer-note {
  font-size: 0.875rem;
  color: #e8e8e8;
  margin-bottom: var(--space-2);
}

.footer-btn { width: 100%; }

.footer-bar {
  max-width: 1200px;
  margin: 0 auto;
  padding-top: var(--space-3);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}

.footer-legal { display: flex; flex-wrap: wrap; gap: var(--space-2); }

.footer-copy { font-size: 0.8125rem; color: #d8d8d8; margin: 0; }

/* Header submit-a-request CTA */
.nav .nav-cta {
  background: linear-gradient(135deg, var(--z-orange) 0%, var(--z-gradient-end) 100%);
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(252, 82, 32, 0.22);
}

.nav .nav-cta:hover {
  background: linear-gradient(135deg, var(--z-gradient-end) 0%, var(--z-brown) 100%);
  color: #fff !important;
}

/* Knowledge base footer link */
.section-footer-link {
  text-align: center;
  margin-top: var(--space-3);
  font-weight: 600;
}

/* Most popular articles */
.popular-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--space-3);
}

.popular-item {
  display: flex;
  border-radius: var(--radius-lg);
}

.popular-card-link {
  flex: 1;
  display: flex;
  align-items: center;
  background: #fff;
  border: 1px solid rgba(82, 27, 11, 0.08);
  border-radius: var(--radius-lg);
  padding: var(--space-3);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.popular-card-link::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 122, 69, 0.05), transparent);
  transition: left 0.4s ease;
}

.popular-card-link:hover {
  border-color: rgba(252, 82, 32, 0.2);
  background: linear-gradient(135deg, #fff 0%, rgba(255, 122, 69, 0.02) 100%);
  box-shadow: var(--shadow-hover);
  transform: translateY(-2px);
}

.popular-card-link:hover::before {
  left: 100%;
}

.popular-card-link:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring), var(--shadow-hover);
}

.popular-link {
  font-weight: 600;
  color: var(--z-brown);
  font-size: 1rem;
  line-height: 1.4;
  transition: color 0.2s ease;
  position: relative;
  z-index: 1;
}

.popular-card-link:hover .popular-link {
  color: var(--z-orange);
}

.popular-excerpt {
  font-size: 0.9rem;
  color: #666;
  line-height: 1.6;
  margin: var(--space-1) 0 0;
}

@media (max-width: 720px) {
  .footer-cols { grid-template-columns: 1fr; gap: var(--space-3); }
  .footer-bar { flex-direction: column; align-items: flex-start; }
  .footer-brand { flex-direction: column; align-items: flex-start; }
  .nav { flex-wrap: wrap; justify-content: flex-end; }
}


/* ========================================================================
   ZENDESK CONTENT PAGE STYLES
   Ported from the Zendesk Copenhagen theme (v4.49.0) to style the article,
   category, section, search and community templates. Zensai brand overrides
   follow at the end of this file.
   ======================================================================== */
.hbs-form input,
.hbs-form textarea, .search input,
.search textarea {
  color: #000;
  font-size: 14px;
}
.hbs-form input, .search input {
  max-width: 100%;
  box-sizing: border-box;
  transition: border 0.12s ease-in-out;
  /* We use the :where selector to not increase the specificity of the selector */
}
.hbs-form input:where(:not([type=checkbox])), .search input:where(:not([type=checkbox])) {
  outline: none;
}
.hbs-form input:where(:not([type=checkbox])):focus, .search input:where(:not([type=checkbox])):focus {
  border: 1px solid #FF7A45;
}
.hbs-form input[disabled], .search input[disabled] {
  background-color: #ddd;
}
.hbs-form select, .search select {
  -webkit-appearance: none;
  -moz-appearance: none;
  background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23CCC' d='M0 0h10L5 6 0 0z'/%3E%3C/svg%3E%0A") no-repeat #fff;
  background-position: right 10px center;
  border: 1px solid #848F99;
  border-radius: 4px;
  padding: 8px 30px 8px 10px;
  outline: none;
  color: #555;
  width: 100%;
}
.hbs-form select:focus, .search select:focus {
  border: 1px solid #FF7A45;
}
.hbs-form select::-ms-expand, .search select::-ms-expand {
  display: none;
}
.hbs-form textarea, .search textarea {
  border: 1px solid #848F99;
  border-radius: 2px;
  resize: vertical;
  width: 100%;
  outline: none;
  padding: 10px;
}
.hbs-form textarea:focus, .search textarea:focus {
  border: 1px solid #FF7A45;
}

.container-divider {
  border-top: 1px solid #ddd;
  margin-bottom: 20px;
}

.visibility-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}

/***** Blocks *****/
/* Used in Homepage#categories and Community#topics */
.blocks-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  list-style: none;
  padding: 0;
}
@media (min-width: 768px) {
  .blocks-list {
    margin: 0 -15px;
  }
}
.blocks-item {
  border: 1px solid #FF7A45;
  border-radius: 4px;
  box-sizing: border-box;
  color: #FF7A45;
  display: flex;
  flex: 1 0 340px;
  margin: 0 0 30px;
  max-width: 100%;
  text-align: center;
}
@media (min-width: 768px) {
  .blocks-item {
    margin: 0 15px 30px;
  }
}
.blocks-item:hover, .blocks-item:focus, .blocks-item:active {
  background-color: #FF7A45;
}
.blocks-item:hover *, .blocks-item:focus *, .blocks-item:active * {
  color: #FFFFFF;
  text-decoration: none;
}
.blocks-item-internal {
  background-color: transparent;
  border: 1px solid #ddd;
}
.blocks-item-internal .icon-lock {
  height: 15px;
  width: 15px;
  bottom: 5px;
  position: relative;
}
.blocks-item-internal a {
  color: #1a1a1a;
}
.blocks-item-link {
  color: #FF7A45;
  padding: 20px 30px;
  display: flex;
  flex-direction: column;
  flex: 1;
  justify-content: center;
  border-radius: inherit;
}
.blocks-item-link:visited, .blocks-item-link:hover, .blocks-item-link:active {
  color: inherit;
  text-decoration: none;
}
.blocks-item-link:focus {
  outline: 0;
  box-shadow: 0 0 0 3px #FF7A45;
  text-decoration: none;
}
.blocks-item-title {
  margin-bottom: 0;
  font-size: 16px;
}
.blocks-item-description {
  margin: 0;
}
.blocks-item-description:not(:empty) {
  margin-top: 10px;
}

/***** Promoted articles *****/
.promoted-articles {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}
@media (min-width: 1024px) {
  .promoted-articles {
    flex-direction: row;
  }
}
.promoted-articles-item {
  flex: 1 0 auto;
}
@media (min-width: 1024px) {
  .promoted-articles-item {
    align-self: flex-end;
    flex: 0 0 auto;
    padding-right: 30px;
    width: 33%; /* Three columns on desktop */
  }
  [dir=rtl] .promoted-articles-item {
    padding: 0 0 0 30px;
  }
}
.promoted-articles-item:nth-child(3n) {
  padding-right: 0;
}
.promoted-articles-item a {
  display: block;
  border-bottom: 1px solid #ddd;
  padding: 15px 0;
}
.promoted-articles-item .icon-lock {
  vertical-align: baseline;
}
.promoted-articles-item:last-child a {
  border: 0;
}
@media (min-width: 1024px) {
  .promoted-articles-item:last-child a {
    border-bottom: 1px solid #ddd;
  }
}

/***** Community section in homepage *****/
.community {
  text-align: center;
}
.community-image {
  min-height: 300px;
  margin-top: 32px;
  background-image: url(/hc/theming_assets/01M0G42M8AF82EB3SB8Y7T7F6E);
  background-position: center;
  background-repeat: no-repeat;
  max-width: 100%;
}
.community a {
  color: #1f73b7;
  text-decoration: underline;
}
.community a:visited {
  color: #1f73b7;
}
.community a:hover, .community a:active, .community a:focus {
  color: #174a7c;
}

.community,
.activity {
  border-top: 1px solid #ddd;
  padding: 30px 0;
}

/***** Recent activity *****/
.recent-activity-header {
  margin-bottom: 10px;
  text-align: center;
}
.recent-activity-list {
  padding: 0;
}
.recent-activity-item {
  border-bottom: 1px solid #ddd;
  overflow: auto;
  padding: 20px 0;
}
.recent-activity-item h3 {
  margin: 0;
}
.recent-activity-item-parent {
  font-size: 16px;
  font-weight: 600;
}
.recent-activity-item-parent, .recent-activity-item-link {
  margin: 6px 0;
  display: inline-block;
  width: 100%;
}
@media (min-width: 768px) {
  .recent-activity-item-parent, .recent-activity-item-link {
    width: 70%;
    margin: 0;
  }
}
.recent-activity-item-link {
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.recent-activity-item-meta {
  color: #1a1a1a;
  margin: 15px 0 0 0;
  float: none;
}
@media (min-width: 768px) {
  .recent-activity-item-meta {
    margin: 0;
    float: right;
  }
  [dir=rtl] .recent-activity-item-meta {
    float: left;
  }
}
.recent-activity-item-time, .recent-activity-item-comment {
  display: inline-block;
  font-size: 13px;
}
.recent-activity-item-comment {
  padding-left: 5px;
}
[dir=rtl] .recent-activity-item-comment {
  padding: 0 5px 0 0;
}
.recent-activity-item-comment::before {
  display: inline-block;
}
.recent-activity-controls {
  padding-top: 15px;
}
.recent-activity-controls a {
  color: #1f73b7;
  text-decoration: underline;
}
.recent-activity-controls a:visited {
  color: #1f73b7;
}
.recent-activity-controls a:hover, .recent-activity-controls a:active, .recent-activity-controls a:focus {
  color: #174a7c;
}
.recent-activity-accessibility-label {
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}
.recent-activity-comment-icon svg {
  vertical-align: middle;
  color: #FF7A45;
  width: 16px;
  height: 16px;
}
.recent-activity-comment-icon:after {
  content: attr(data-comment-count);
  margin-left: 3px;
}
[dir=rtl] .recent-activity-comment-icon:after {
  margin-left: 0;
  margin-right: 3px;
}

/***** Category pages *****/
.category-container {
  display: flex;
  justify-content: flex-end;
}
.category-content {
  flex: 1;
  max-width: 100%;
}
@media (min-width: 1024px) {
  .category-content {
    flex: 0 0 80%;
  }
}

.section-tree {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media (min-width: 768px) {
  .section-tree {
    flex-direction: row;
  }
}
.section-tree .section {
  flex: initial;
  max-width: 100%;
}
@media (min-width: 768px) {
  .section-tree .section {
    flex: 0 0 45%; /* Two columns for tablet and desktop. Leaving 5% separation between columns */
  }
}
.section-tree-title {
  margin-bottom: 0;
  font-size: 18px;
  font-weight: 600;
}
.section-tree-title a {
  color: #1a1a1a;
}
.section-tree .see-all-articles {
  display: block;
  padding: 15px 0;
}

.article-list-item {
  font-size: 16px;
  padding: 15px 0;
  text-overflow: ellipsis;
  overflow: hidden;
}
.article-list-item a {
  color: #1a1a1a;
}

.icon-star {
  color: #FF7A45;
  font-size: 18px;
}

/***** Section pages *****/
.section-container {
  display: flex;
  justify-content: flex-end;
}
.section-content {
  flex: 1;
  max-width: 100%;
}
@media (min-width: 1024px) {
  .section-content {
    flex: 0 0 80%;
  }
}
.section-list {
  margin: 40px 0;
}

.section-list-item {
  border-bottom: 1px solid #ddd;
  font-size: 16px;
  padding: 15px 0;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.section-list-item:hover {
  background: rgba(255, 122, 69, 0.01);
  padding-left: 8px;
  border-bottom-color: var(--z-orange);
}

.section-list-item:first-child {
  border-top: 1px solid #ddd;
}

.section-list-item a {
  align-items: center;
  color: var(--z-text);
  display: flex;
  justify-content: space-between;
  transition: all 0.2s ease;
}

.section-list-item:hover a {
  color: var(--z-orange);
}

.see-all-sections-trigger {
  cursor: pointer;
  display: block;
  padding: 15px;
  text-align: center;
}
.see-all-sections-trigger[aria-hidden=true] {
  display: none;
}

/***** Article *****/
.article {
  /*
  * The article grid is defined this way to optimize readability:
  * Sidebar | Content | Free space
  * 17%     | 66%     | 17%
  */
  flex: 1 0 auto;
}
@media (min-width: 1024px) {
  .article {
    flex: 1 0 66%;
    max-width: 66%;
    min-width: 640px;
    padding: 0 30px;
  }
}
.article-container {
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .article-container {
    flex-direction: row;
  }
}
.article-header {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 40px;
  margin-top: 20px;
}
@media (min-width: 768px) {
  .article-header {
    flex-direction: row;
    margin-top: 0;
  }
}
.article-avatar {
  margin-right: 10px;
}
.article-author {
  margin-bottom: 10px;
}
.article-title {
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
@media (min-width: 768px) {
  .article-title {
    flex-basis: 100%; /* Take entire row */
  }
}
.article-title .icon-lock {
  position: relative;
  left: -5px;
  vertical-align: baseline;
}
.article [role=button] {
  flex-shrink: 0; /*Avoid collapsing elements in Safari (https://github.com/philipwalton/flexbugs#1-minimum-content-sizing-of-flex-items-not-honored)*/
  width: 100%;
}
@media (min-width: 768px) {
  .article [role=button] {
    width: auto;
  }
}
.article-info {
  max-width: 100%;
}
.article-meta {
  display: inline-block;
  vertical-align: middle;
}
.article-body {
  display: flow-root;
}
.article-body a {
  color: #1f73b7;
  text-decoration: underline;
}
.article-body a:visited {
  color: #1f73b7;
}
.article-body a:hover, .article-body a:active, .article-body a:focus {
  color: #174a7c;
}
.article-body img {
  height: auto;
  max-width: 100%;
}
.article-body p > img.image-style-align-left {
  float: left;
  margin: 8px 20px 6px 0;
}
.article-body p > img.image-style-align-right {
  float: right;
  margin: 8px 0px 6px 20px;
}
.article-body p > img.image-style-block-align-right {
  margin-left: auto;
  margin-right: 0;
}
.article-body p > img.image-style-block-align-left {
  margin-left: 0;
  margin-right: auto;
}
.article-body figure.image {
  display: table;
  margin: 0 auto;
}
.article-body figure.image > img {
  display: block;
  width: 100%;
}
.article-body figure.image.image-style-align-left {
  float: left;
  margin: 8px 20px 6px 0;
}
.article-body figure.image.image-style-align-right {
  float: right;
  margin: 8px 0px 6px 20px;
}
.article-body figure.image.image-style-block-align-right {
  margin-left: auto;
  margin-right: 0;
}
.article-body figure.image.image-style-block-align-left {
  margin-left: 0;
  margin-right: auto;
}
.article-body figcaption {
  padding: 10px 0;
  font-size: 12px;
  text-align: center;
  background-color: #f2f2f2;
}
.article-body ul,
.article-body ol {
  padding-left: 20px;
  list-style-position: outside;
  margin: 20px 0 20px 20px;
}
[dir=rtl] .article-body ul,
[dir=rtl] .article-body ol {
  padding-right: 20px;
  padding-left: 0;
  margin-left: 0;
  margin-right: 20px;
}
.article-body ul > ul,
.article-body ol > ol,
.article-body ol > ul,
.article-body ul > ol,
.article-body li > ul,
.article-body li > ol {
  margin: 0;
}
.article-body ul {
  list-style-type: disc;
}
.article-body :not(pre) > code {
  background: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 0 5px;
  margin: 0 2px;
}
.article-body pre {
  background: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 10px 15px;
  overflow: auto;
  white-space: pre;
  direction: ltr;
}
.article-body blockquote {
  border-left: 1px solid #ddd;
  color: #4d4d4d;
  font-style: italic;
  padding: 0 15px;
}
.article-body > p:last-child {
  margin-bottom: 0;
}
.article-content {
  line-height: 1.6;
  margin: 40px 0;
  word-wrap: break-word;
}
.article-footer {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding-bottom: 20px;
}
.article-comment-count {
  color: #4d4d4d;
}
.article-comment-count:hover {
  text-decoration: none;
}
.article-comment-count-icon {
  vertical-align: middle;
  color: #FF7A45;
  width: 18px;
  height: 18px;
}
.article-sidebar {
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd;
  flex: 1 0 auto;
  margin-bottom: 20px;
  padding: 0;
}
@media (min-width: 1024px) {
  .article-sidebar {
    border: 0;
    flex: 0 0 17%;
    height: auto;
    max-width: 17%;
  }
}
.article-relatives {
  border-top: 1px solid #ddd;
  display: flex;
  flex-direction: column;
  padding: 20px 0;
}
@media (min-width: 768px) {
  .article-relatives {
    flex-direction: row;
  }
}
.article-relatives > * {
  flex: 1 0 50%;
  min-width: 50%;
  overflow-wrap: break-word;
  margin-right: 0;
}
.article-relatives > *:last-child {
  padding: 0;
}
@media (min-width: 768px) {
  .article-relatives > * {
    padding-right: 20px;
  }
}
.article-votes {
  border-top: 1px solid #ddd;
  padding: 30px 0;
  text-align: center;
}
.article-votes-question {
  font-size: 15px;
  font-weight: normal;
  margin-bottom: 0;
}
.article-vote {
  margin: 10px 5px;
  min-width: 90px;
  width: auto;
}
.article-more-questions {
  margin: 10px 0 20px;
  text-align: center;
}
.article-more-questions a {
  color: #1f73b7;
  text-decoration: underline;
}
.article-more-questions a:visited {
  color: #1f73b7;
}
.article-more-questions a:hover, .article-more-questions a:active, .article-more-questions a:focus {
  color: #174a7c;
}
.article-return-to-top {
  border-top: 1px solid #848F99;
}
@media (min-width: 1024px) {
  .article-return-to-top {
    display: none;
  }
}
.article-return-to-top a {
  color: #1a1a1a;
  display: block;
  padding: 20px 0;
}
.article-return-to-top a:hover, .article-return-to-top a:focus {
  text-decoration: none;
}
.article-return-to-top-icon {
  transform: rotate(0.5turn);
}
.article td > p:first-child,
.article th > p:first-child {
  margin-top: 0;
}
.article td > p:last-child,
.article th > p:last-child {
  margin-bottom: 0;
}

.sidenav-title {
  font-size: 15px;
  position: relative;
  font-weight: 600;
}
.sidenav-item {
  display: block;
  margin-top: 10px;
  margin-bottom: 16px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.recent-articles li,
.related-articles li {
  margin-bottom: 15px;
}

/***** Social share links *****/
.share {
  padding: 0;
  white-space: nowrap;
}

.share li, .share a {
  display: inline-block;
}

.share li {
  height: 25px;
  width: 25px;
}

.share a {
  color: #4d4d4d;
}
.share a:hover {
  text-decoration: none;
  color: #FF7A45;
}
.share a svg {
  height: 18px;
  width: 18px;
  display: block;
}

/***** Vote *****/
/* Used in article comments, post comments and post */
.vote {
  display: flex;
  flex-direction: column;
  text-align: center;
}
.vote a:active, .vote a:hover, .vote a:focus {
  text-decoration: none;
}

.vote-sum {
  color: #4d4d4d;
  display: block;
  margin: 3px 0;
}
[dir=rtl] .vote-sum {
  direction: ltr;
  unicode-bidi: bidi-override;
}

.vote-up svg {
  transform: scale(1, -1);
}

.vote-up:hover,
.vote-down:hover {
  color: #FF7A45;
}

.vote-up, .vote-down {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  color: #4d4d4d;
  cursor: pointer;
  min-height: 35px;
  min-width: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.vote-voted {
  color: #FF7A45;
}

.vote-voted:hover {
  color: #de3f00;
}

/***** Actions *****/
/* Styles admin and en user actions(edit, delete, change status) in comments and posts */
.actions {
  text-align: center;
  flex-shrink: 0; /*Avoid collapsing elements in Safari*/
}
.actions button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  cursor: pointer;
  min-height: 35px;
  min-width: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/***** Community *****/
.community-hero {
  background-image: url(/hc/theming_assets/01M0G42KYCQ772GBYEQX0MAW49);
  margin-bottom: 10px;
}
.community-footer {
  padding-top: 50px;
  text-align: center;
}
.community-footer-title {
  font-size: 16px;
  margin-bottom: 20px;
}
.community-featured-posts .title {
  font-size: 18px;
  font-weight: 600;
}
.community-featured-posts, .community-activity {
  padding-top: 40px;
  width: 100%;
}
.community-header {
  margin-bottom: 30px;
}
.community-header .title {
  margin-bottom: 0;
  font-size: 16px;
}

.post-to-community {
  margin-top: 10px;
}
@media (min-width: 768px) {
  .post-to-community {
    margin: 0;
  }
}

/* Community topics grid */
.topics {
  max-width: none;
  width: 100%;
}
.topics-item .meta-group {
  justify-content: center;
  margin-top: 20px;
}

/* Community topic page */
.topic-header {
  border-bottom: 1px solid #ddd;
  font-size: 13px;
}
@media (min-width: 768px) {
  .topic-header {
    padding-bottom: 10px;
  }
}
.topic-header .dropdown {
  display: block;
  border-top: 1px solid #ddd;
  padding: 10px 0;
}
@media (min-width: 768px) {
  .topic-header .dropdown {
    border-top: 0;
    display: inline-block;
    margin-right: 20px;
    padding: 0;
  }
}

.no-posts-with-filter {
  margin-top: 20px;
  margin-bottom: 20px;
}

/* Topic, post and user follow button */
.community-follow {
  margin-bottom: 10px;
  width: 100%;
}
@media (min-width: 768px) {
  .community-follow {
    margin-bottom: 0;
    width: auto;
  }
}
.community-follow button {
  line-height: 30px;
  padding: 0 10px 0 15px;
  position: relative;
  width: 100%;
}
@media (min-width: 768px) {
  .community-follow button {
    width: auto;
  }
}
.community-follow button:hover {
  background-color: #FF7A45;
}
.community-follow button:hover::after, .community-follow button:focus::after {
  border-color: #FFFFFF;
  color: #FFFFFF;
}
.community-follow button[data-selected=true] {
  background-color: #FF7A45;
  color: #FFFFFF;
}
.community-follow button[data-selected=true]::after {
  border-left: 1px solid #FFFFFF;
  color: #FFFFFF;
}
.community-follow button[data-selected=true]:hover {
  background-color: #de3f00;
  border-color: #de3f00;
}
.community-follow button::after {
  border-left: 1px solid #FF7A45;
  content: attr(data-follower-count);
  color: #FF7A45;
  display: inline-block;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  margin-left: 15px;
  padding-left: 10px;
  position: absolute;
  right: 10px;
}
@media (min-width: 768px) {
  .community-follow button::after {
    position: static;
  }
}
[dir=rtl] .community-follow button::after {
  border-left: 0;
  border-right: 1px solid #FF7A45;
  margin: 0 10px 0 0;
  padding: 0 10px 0 0;
}

/***** Striped list *****/
/* Used in community posts list and requests list */
.striped-list {
  padding: 0;
}
.striped-list-item {
  align-items: flex-start;
  border-bottom: 1px solid #ddd;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px 0;
}
@media (min-width: 768px) {
  .striped-list-item {
    align-items: center;
    flex-direction: row;
  }
}
.striped-list-info {
  flex: 2;
}
.striped-list-title {
  color: #1f73b7;
  margin-bottom: 10px;
  margin-right: 5px;
}
.striped-list-title:hover, .striped-list-title:focus, .striped-list-title:active {
  text-decoration: underline;
}
.striped-list-title:visited {
  color: #1f73b7;
}
.striped-list .meta-group {
  margin: 5px 0;
}
.striped-list-count {
  color: #4d4d4d;
  font-size: 13px;
  justify-content: flex-start;
  text-transform: capitalize;
}
@media (min-width: 768px) {
  .striped-list-count {
    display: flex;
    flex: 1;
    justify-content: space-around;
  }
}
.striped-list-count-item::after {
  content: "·";
  display: inline-block;
  padding: 0 5px;
}
@media (min-width: 768px) {
  .striped-list-count-item::after {
    display: none;
  }
}
.striped-list-count-item:last-child::after {
  display: none;
}
.striped-list-number {
  text-align: center;
}
@media (min-width: 768px) {
  .striped-list-number {
    color: #1a1a1a;
    display: block;
  }
}

/***** Post *****/
/*
* The post grid is defined this way:
* Content | Sidebar
* 70%     | 30%
*/
.post {
  flex: 1;
  margin-bottom: 10px;
}
@media (min-width: 1024px) {
  .post {
    flex: 1 0 70%;
    max-width: 70%;
  }
}
.post-container {
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .post-container {
    flex-direction: row;
  }
}
.post-header {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .post-header {
    align-items: baseline;
    flex-direction: row;
  }
}
.post-header .status-label {
  vertical-align: super;
}
.post-title {
  margin-bottom: 20px;
  width: 100%;
}
@media (min-width: 768px) {
  .post-title {
    margin-bottom: 0;
    padding-right: 10px;
  }
}
.post-title h1 {
  display: inline;
  vertical-align: middle;
}
@media (min-width: 768px) {
  .post-title h1 {
    margin-right: 5px;
  }
}
.post-author {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
}
.post-avatar {
  margin-bottom: 30px;
}
.post-content {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  line-height: 1.6;
  word-break: break-word;
}
.post-info-container {
  display: flex;
  margin-bottom: 40px;
}
.post-info {
  min-width: 0;
  padding-right: 20px;
  width: 100%;
}
[dir=rtl] .post-info {
  padding-right: 0;
  padding-left: 20px;
}
.post-meta {
  display: inline-block;
  flex: 1;
  margin-left: 10px;
  vertical-align: middle;
}
[dir=rtl] .post-meta {
  margin-left: 0;
  margin-right: 10px;
}
.post-body {
  display: flow-root;
}
.post-body a {
  color: #1f73b7;
  text-decoration: underline;
}
.post-body a:visited {
  color: #1f73b7;
}
.post-body a:hover, .post-body a:active, .post-body a:focus {
  color: #174a7c;
}
.post-body img {
  height: auto;
  max-width: 100%;
}
.post-body p > img.image-style-align-left {
  float: left;
  margin: 8px 20px 6px 0;
}
.post-body p > img.image-style-align-right {
  float: right;
  margin: 8px 0px 6px 20px;
}
.post-body p > img.image-style-block-align-right {
  margin-left: auto;
  margin-right: 0;
}
.post-body p > img.image-style-block-align-left {
  margin-left: 0;
  margin-right: auto;
}
.post-body figure.image {
  display: table;
  margin: 0 auto;
}
.post-body figure.image > img {
  display: block;
  width: 100%;
}
.post-body figure.image.image-style-align-left {
  float: left;
  margin: 8px 20px 6px 0;
}
.post-body figure.image.image-style-align-right {
  float: right;
  margin: 8px 0px 6px 20px;
}
.post-body figure.image.image-style-block-align-right {
  margin-left: auto;
  margin-right: 0;
}
.post-body figure.image.image-style-block-align-left {
  margin-left: 0;
  margin-right: auto;
}
.post-body figcaption {
  padding: 10px 0;
  font-size: 12px;
  text-align: center;
  background-color: #f2f2f2;
}
.post-body ul,
.post-body ol {
  padding-left: 20px;
  list-style-position: outside;
  margin: 20px 0 20px 20px;
}
[dir=rtl] .post-body ul,
[dir=rtl] .post-body ol {
  padding-right: 20px;
  padding-left: 0;
  margin-left: 0;
  margin-right: 20px;
}
.post-body ul > ul,
.post-body ol > ol,
.post-body ol > ul,
.post-body ul > ol,
.post-body li > ul,
.post-body li > ol {
  margin: 0;
}
.post-body ul {
  list-style-type: disc;
}
.post-body :not(pre) > code {
  background: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 0 5px;
  margin: 0 2px;
}
.post-body pre {
  background: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 10px 15px;
  overflow: auto;
  white-space: pre;
  direction: ltr;
}
.post-body blockquote {
  border-left: 1px solid #ddd;
  color: #4d4d4d;
  font-style: italic;
  padding: 0 15px;
}
.post-footer {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding-bottom: 20px;
}
.post-comment-count {
  color: #4d4d4d;
}
.post-comment-count:hover {
  text-decoration: none;
}
.post-comment-count .icon-comments {
  color: #FF7A45;
  display: inline-block;
  width: 18px;
  height: 18px;
  margin: 5px;
  vertical-align: middle;
}
.post-sidebar {
  border-top: 1px solid #ddd;
  flex: 1;
  padding: 30px 0;
  text-align: center;
}
@media (min-width: 1024px) {
  .post-sidebar {
    border: 0;
    flex: 1 0 30%;
    padding: 0 0 0 50px;
    text-align: initial;
  }
  [dir=rtl] .post-sidebar {
    padding: 0 50px 0 0;
  }
}
.post-sidebar-title {
  font-size: 18px;
  font-weight: 600;
}
.post-comments {
  margin-bottom: 20px;
}
@media (min-width: 1024px) {
  .post-comments {
    margin-bottom: 0;
  }
}

/***** Community Badges *****/
/* Styles labels used next to the authors of article comments, community posts, and community comments */
.community-badge-title {
  background-color: #04444d;
  border-radius: 4px;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 0px 8px;
  vertical-align: top;
  white-space: nowrap;
  display: inline-block;
  line-height: 18px;
  vertical-align: middle;
}

.community-badge-titles {
  display: inline;
}

.community-badge-achievement {
  display: block;
  height: 16px;
  white-space: nowrap;
  width: 16px;
}
.community-badge-achievement img {
  width: 100%;
  height: 100%;
}

.community-badge-achievements {
  display: flex;
}

.community-badge-achievements-rest {
  font-size: 12px;
  font-weight: 600;
  line-height: 20px;
  text-align: center;
  vertical-align: top;
}

.community-badge {
  margin: 2px;
}

.profile-info .community-badge-title {
  padding: 2px 8px;
  line-height: 20px;
}
.profile-info .community-badge-achievement {
  height: 40px;
  width: 40px;
}
.profile-info .community-badge-achievements-rest {
  line-height: 40px;
  font-size: 20px;
}

/* Navigation element that collapses on mobile */
.collapsible-nav {
  flex-direction: column;
  font-size: 14px;
  position: relative;
}
@media (min-width: 768px) {
  .collapsible-nav {
    flex-direction: row;
  }
}

.collapsible-nav-border {
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd;
}
@media (min-width: 768px) {
  .collapsible-nav-border {
    border-top: 0;
  }
}

.collapsible-nav-toggle {
  top: 22.5px;
  transform: translateY(-50%);
  position: absolute;
  right: 0;
  padding: 0;
  border: 0;
  background: none;
  width: 25px;
  height: 25px;
  border-radius: 50%;
}
@media (min-width: 768px) {
  .collapsible-nav-toggle {
    display: none;
  }
}
[dir=rtl] .collapsible-nav-toggle {
  left: 0;
  right: auto;
}
.collapsible-nav-toggle-icon {
  display: none;
}
.collapsible-nav-toggle[aria-expanded=false] .chevron-icon {
  display: inline-block;
}
.collapsible-nav-toggle[aria-expanded=true] .x-icon {
  display: inline-block;
}
.collapsible-nav-toggle:focus {
  outline: none;
  border: 1px solid #FF7A45;
}

.collapsible-nav-list {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .collapsible-nav-list {
    flex-direction: row;
  }
}
.collapsible-nav-list li {
  color: #1a1a1a;
  line-height: 45px;
  order: 1;
}
@media (min-width: 768px) {
  .collapsible-nav-list li {
    line-height: normal;
    margin-right: 30px;
  }
  [dir=rtl] .collapsible-nav-list li {
    margin-left: 30px;
    margin-right: 0;
  }
  .collapsible-nav-list li a {
    text-decoration: none;
    padding: 15px 0;
  }
}
.collapsible-nav-list li a {
  color: #1a1a1a;
  display: block;
}
@media (min-width: 768px) {
  .collapsible-nav-list li:hover {
    border-bottom: 4px solid #ddd;
  }
  .collapsible-nav-list li:hover a:not([aria-current=page]) {
    padding: 15px 0 11px 0;
    text-decoration: none;
  }
}
.collapsible-nav-list li:not([aria-selected=true]),
.collapsible-nav-list li:not(.current) {
  display: none;
}
@media (min-width: 768px) {
  .collapsible-nav-list li:not([aria-selected=true]),
  .collapsible-nav-list li:not(.current) {
    display: block;
  }
}
@media (min-width: 768px) {
  .collapsible-nav-list li[aria-selected=true] {
    padding: 15px 0 11px 0;
  }
}
.collapsible-nav-list li[aria-selected=true],
.collapsible-nav-list li.current {
  order: 0;
  position: relative;
}
@media (min-width: 768px) {
  .collapsible-nav-list li[aria-selected=true],
  .collapsible-nav-list li.current {
    border-bottom: 4px solid #FF7A45;
    order: 1;
  }
}
.collapsible-nav-list li[aria-selected=true] a,
.collapsible-nav-list li.current a {
  color: #1a1a1a;
}

.collapsible-nav[aria-expanded=true] li:not([aria-selected=true]),
.collapsible-nav[aria-expanded=true] li:not(.current) {
  display: block;
}

/* Sidebar navigation that collapses on mobile */
.collapsible-sidebar {
  flex: 1;
  max-height: 45px;
  overflow: hidden;
  padding: 10px 0;
  position: relative;
}
@media (min-width: 1024px) {
  .collapsible-sidebar {
    max-height: none;
    padding: 0;
  }
}
.collapsible-sidebar-title {
  margin-top: 0;
}
.collapsible-sidebar-toggle {
  position: absolute;
  top: 22.5px;
  transform: translateY(-50%);
  right: 0;
  padding: 0;
  border: 0;
  background: none;
  width: 25px;
  height: 25px;
  border-radius: 50%;
}
@media (min-width: 1024px) {
  .collapsible-sidebar-toggle {
    display: none;
  }
}
[dir=rtl] .collapsible-sidebar-toggle {
  left: 0;
  right: auto;
}
.collapsible-sidebar-toggle-icon {
  display: none;
}
.collapsible-sidebar-toggle[aria-expanded=false] .chevron-icon {
  display: inline-block;
}
.collapsible-sidebar-toggle[aria-expanded=true] .x-icon {
  display: inline-block;
}
.collapsible-sidebar-toggle:focus {
  outline: none;
  border: 1px solid #FF7A45;
}
.collapsible-sidebar-body {
  display: none;
}
@media (min-width: 1024px) {
  .collapsible-sidebar-body {
    display: block;
  }
}
.collapsible-sidebar[aria-expanded=true] {
  max-height: none;
}
.collapsible-sidebar[aria-expanded=true] .collapsible-sidebar-body {
  display: block;
}

/***** Search results *****/
.search-results {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media (min-width: 1024px) {
  .search-results {
    flex-direction: row;
  }
}
.search-results-column {
  flex: 1;
}
@media (min-width: 1024px) {
  .search-results-column {
    flex: 0 0 75%;
  }
}
.search-results-sidebar {
  border-top: 1px solid #ddd;
  flex: 1 0 auto;
  margin-bottom: 20px;
  padding: 0;
}
@media (min-width: 1024px) {
  .search-results-sidebar {
    border: 0;
    flex: 0 0 20%;
    height: auto;
  }
}
.search-results-sidebar .sidenav-item {
  border-radius: 4px;
  padding: 10px 36px;
  margin-bottom: 4px;
  color: #1a1a1a;
}
.search-results-sidebar .sidenav-item:hover, .search-results-sidebar .sidenav-item.current {
  background-color: #e9ebed;
  text-decoration: none;
}
.search-results-sidebar .sidenav-subitem {
  unicode-bidi: embed;
}
.search-results-sidebar .sidenav-tag {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  flex-grow: 0;
}
.search-results-sidebar .sidenav-tag .content-tag {
  background: #E9EBED;
  border-radius: 4px;
  padding: 4px 12px;
  text-decoration: none;
}
.search-results-sidebar .sidenav-tag .content-tag .label {
  font-style: normal;
  font-weight: 600;
  font-size: 12px;
  line-height: 24px;
  text-align: center;
  letter-spacing: -0.000427656px;
  color: #49545C;
  flex-grow: 0;
  vertical-align: middle;
  display: inline-block;
}
.search-results-sidebar .sidenav-tag .content-tag .close-icon {
  color: #555555;
  vertical-align: middle;
  display: inline-block;
}
.search-results-sidebar .collapsible-sidebar {
  margin-bottom: 30px;
}
.search-results-sidebar .collapsible-sidebar[aria-expanded=false] .multibrand-filter-list {
  display: none;
}
@media (min-width: 1024px) {
  .search-results-sidebar .collapsible-sidebar[aria-expanded=false] .multibrand-filter-list {
    display: block;
  }
}
.search-results-sidebar .multibrand-filter-list--collapsed li:nth-child(1n+6) {
  display: none;
}
.search-results-sidebar .multibrand-filter-list .doc-count {
  color: #666;
}
.search-results-sidebar .see-all-filters {
  background: none;
  border: none;
  cursor: pointer;
  display: block;
  padding: 10px;
  color: #1f73b7;
}
.search-results-sidebar .see-all-filters[aria-hidden=true] {
  display: none;
}
.search-results-sidebar .see-all-filters:hover {
  text-decoration: underline;
}
.search-results-sidebar .see-all-filters::after {
  content: " ⌄";
  font-weight: bold;
}
.search-results-subheading {
  font-size: 18px;
  font-weight: 600;
}
.search-results-list {
  margin-bottom: 25px;
}
.search-results-list > li {
  padding: 20px 0;
}
.search-results-list > li:first-child {
  border-top: 1px solid #ddd;
}
.search-results .no-results {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 4rem;
}
.search-results .no-results .headline {
  color: #2F3941;
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  letter-spacing: -0.45px;
}
.search-results .no-results .action-prompt {
  color: #68737D;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: -0.154px;
}
.search-results .no-results .action-prompt a {
  color: #1f73b7;
}
.search-results .no-results .action-prompt a:visited {
  color: #1f73b7;
}

.search-result-title-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.search-result-title {
  font-size: 16px;
  margin-bottom: 0;
}
.search-result-votes, .search-result-meta-count {
  color: #4d4d4d;
  font-size: 13px;
}
.search-result-votes-icon, .search-result-meta-count-icon {
  color: #FF7A45;
  vertical-align: middle;
  width: 13px;
  height: 13px;
}
[dir=ltr] .search-result-votes, [dir=ltr] .search-result-meta-count {
  margin-left: 20px;
}
[dir=rtl] .search-result-votes, [dir=rtl] .search-result-meta-count {
  margin-right: 20px;
}
.search-result-meta-container {
  color: #666;
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .search-result-meta-container {
    flex-direction: row;
    align-items: center;
  }
}
@media (min-width: 1024px) {
  .search-result-meta-container nav {
    flex: 1;
  }
}
@media (min-width: 1024px) {
  [dir=ltr] .search-result-meta-container .meta-data {
    margin-left: 20px;
  }
}
@media (min-width: 1024px) {
  [dir=rtl] .search-result-meta-container .meta-data {
    margin-right: 20px;
  }
}
.search-result-meta-container .meta-data::after {
  content: none;
}
.search-result-breadcrumbs {
  margin: 0;
}
.search-result-description {
  margin-top: 10px;
  margin-bottom: 0;
  word-break: break-word;
}

/* By default use bold instead of italic to highlight */
.search-results-description em {
  font-style: normal;
  font-weight: bold;
}

/* Add a yellow background for Chinese */
html[lang|=zh] .search-results-description em {
  font-style: normal;
  background: yellow;
}

/***** Search field *****/
.search-container {
  position: relative;
}

.search {
  border-color: #848F99;
  border-radius: 30px;
  border-style: solid;
  border-width: 1px;
  display: flex;
  position: relative;
  transition: border 0.12s ease-in-out;
}
.search:focus-within {
  border-color: #FF7A45;
}
.search input[type=search],
.search .clear-button {
  background-color: #fff;
  border-radius: 30px;
  border: none;
}
.search-full input[type=search], .search-full .clear-button {
  border-color: #fff;
}
.search input[type=search] {
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  color: #666;
  flex: 1 1 auto;
  height: 40px;
  width: 100%;
}
.search input[type=search]:focus {
  color: #555;
}
.search input[type=search]::-webkit-search-decoration, .search input[type=search]::-webkit-search-cancel-button, .search input[type=search]::-webkit-search-results-button, .search input[type=search]::-webkit-search-results-decoration {
  -webkit-appearance: none;
}
.search input[type=search]:-webkit-autofill, .search input[type=search]:-webkit-autofill:hover, .search input[type=search]:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #fff inset;
}
.search .clear-button {
  align-items: center;
  box-sizing: border-box;
  color: #777;
  cursor: pointer;
  display: none;
  flex: none;
  justify-content: center;
  padding: 0 15px;
}
.search .clear-button:hover {
  background-color: #FF7A45;
  color: #fff;
}
.search .clear-button:focus {
  outline: 0;
  box-shadow: 0 0 0 3px #FF7A45;
}
.search-has-value .clear-button {
  display: flex;
}

[dir=ltr] .search input[type=search] {
  padding-left: 40px;
  padding-right: 20px;
}
[dir=ltr] .search-has-value input[type=search] {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
  border-right-color: transparent;
}
[dir=ltr] .search-has-value input[type=search]:focus {
  border-right-color: #FF7A45;
}
[dir=ltr] .search .clear-button {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
  border-left-color: transparent;
}
[dir=ltr] .search .clear-button:focus {
  border-left-color: #FF7A45;
}

[dir=rtl] .search input[type=search] {
  padding-left: 20px;
  padding-right: 40px;
}
[dir=rtl] .search-has-value input[type=search] {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
  border-left-color: transparent;
}
[dir=rtl] .search-has-value input[type=search]:focus {
  border-left-color: #FF7A45;
}
[dir=rtl] .search .clear-button {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
  border-right-color: transparent;
}
[dir=rtl] .search .clear-button:focus {
  border-right-color: #FF7A45;
}

.search-icon {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
  left: 15px;
  z-index: 1;
  width: 18px;
  height: 18px;
  color: #777;
  pointer-events: none;
}
[dir=rtl] .search-icon {
  left: auto;
  right: 15px;
}

/* ========================================================================
   ZENSAI BRAND OVERRIDES — applied last so brand identity wins on the
   ported Zendesk content pages.
   ======================================================================== */

.article-title,
.section-title,
.category-title,
.page-header h1,
.article-sidebar .sidenav-title,
.recent-articles-title,
.related-articles-title { color: var(--z-brown); }

.article-body a,
.comment-body a { color: var(--z-orange); }

.article-body a:hover,
.comment-body a:hover { color: var(--z-gradient-end); }

.blocks-item,
.article-list-item,
.section-tree .section-tree-item {
  border-radius: var(--radius-md);
}

.blocks-item:hover {
  border-color: var(--z-orange);
  box-shadow: var(--shadow-hover);
}

/* Zendesk search field inside the Zensai search band */
.search-band .search-full input[type="search"],
.search-band input[type="search"] {
  border-radius: var(--radius-md);
  border: 1px solid rgba(82, 27, 11, 0.16);
  box-shadow: var(--shadow-sm);
}

.search-band input[type="search"]:focus {
  border-color: var(--z-orange);
  box-shadow: var(--focus-ring);
}

/* Keep the sticky Zensai header above Zendesk component overlays */
.header { z-index: 1000; }

/* ========================================================================
   v4 REDESIGN — professional premium portal visuals + accessibility refinements
   ======================================================================== */

:root {
  --z-focus-strong: 0 0 0 3px rgba(252, 82, 32, 0.32);
  --z-surface: #ffffff;
  --z-surface-muted: #fcfaf6;
  --z-border-soft: rgba(82, 27, 11, 0.12);
  --z-border-strong: rgba(82, 27, 11, 0.2);
}

body {
  color: #1a1a1a;
  background: #fff;
}

a {
  text-underline-offset: 2px;
}

.skip-link {
  background: #2a1208;
}

.skip-link:focus {
  box-shadow: var(--z-focus-strong);
}

.header {
  border-bottom: 1px solid var(--z-border-soft);
}

.header-top {
  background: #2a1208;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.header-top-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px var(--space-3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}

.header-top-text {
  margin: 0;
  font-family: var(--z-mono-font);
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.9);
}

.header-top-links {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.header-top-links a {
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 500;
}

.header-top-links a:hover {
  color: #ffd6c8;
}

.header-inner {
  height: 72px;
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.logo-section {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.logo {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}

.logo img {
  height: 32px;
  width: auto;
}

.logo-text {
  font-family: var(--z-body-font);
  font-size: 0.9rem;
  font-weight: 600;
  color: #1a1a1a;
  letter-spacing: 0.02em;
}

.header-search-bar {
  flex: 0 0 300px;
  display: flex;
  align-items: center;
}

.header-search-bar .search,
.header-search-bar .search-nav {
  display: flex;
  gap: 0;
  align-items: center;
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  border: 1px solid #e0e0e0;
  width: 100%;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.header-search-bar .search:focus-within,
.header-search-bar .search-nav:focus-within {
  box-shadow: var(--shadow-hover), inset 0 0 0 1px var(--z-orange);
  border-color: var(--z-orange);
}

.header-search-bar .search input[type="search"],
.header-search-bar .search input[type="text"],
.header-search-bar .search-nav input {
  flex: 1;
  min-width: 0;
  padding: 10px 14px;
  border: none;
  font-size: 0.9rem;
  font-family: var(--z-body-font);
  background: transparent;
  color: #1a1a1a;
  outline: none;
  transition: all 0.2s ease;
}

.header-search-bar .search input[type="search"]::placeholder,
.header-search-bar .search input[type="text"]::placeholder,
.header-search-bar .search-nav input::placeholder {
  color: #aaa;
}

.header-search-bar .search button,
.header-search-bar .search-nav button,
.header-search-bar .search [type="submit"],
.header-search-bar .search-nav [type="submit"] {
  padding: 10px 16px;
  background: var(--z-orange);
  color: white;
  border: none;
  cursor: pointer;
  font-weight: 600;
  font-size: 0.85rem;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  white-space: nowrap;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}

.header-search-bar .search button:hover,
.header-search-bar .search-nav button:hover {
  background: #e65a20;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(252, 82, 32, 0.3);
}

.header-search-bar .search button:focus-visible,
.header-search-bar .search-nav button:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

.nav .nav-link {
  border: 1px solid transparent;
}

.nav {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
}

.nav .nav-link:hover {
  border-color: rgba(252, 82, 32, 0.2);
}

.nav .nav-link-strong {
  color: var(--z-brown);
  font-weight: 600;
}

.nav .nav-cta {
  background: linear-gradient(135deg, var(--z-orange) 0%, var(--z-gradient-end) 100%);
  border-color: transparent;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(252, 82, 32, 0.26);
}

.nav .nav-cta:hover {
  background: linear-gradient(135deg, var(--z-gradient-end) 0%, #5f1f0c 100%);
  color: #fff !important;
}

.hero.hero-redesign {
  padding-top: calc(var(--space-6) + 8px);
  padding-bottom: calc(var(--space-6) + 48px);
}

.hero-swoosh {
  opacity: 0.22;
}

.hero-chips {
  margin-top: var(--space-3);
}

.chip {
  background: rgba(20, 20, 20, 0.18);
  border-color: rgba(255, 255, 255, 0.3);
}

.chip-title {
  font-size: 0.9rem;
}

.chip-desc {
  color: rgba(255, 255, 255, 0.92);
}

.section-tight-top {
  padding-top: 8px;
}

.card-grid {
  gap: var(--space-3);
}

.card-grid-4 {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.card,
.category-card,
.popular-item,
.why-card,
.entitlement,
.upgrade-panel {
  background: var(--z-surface);
  border: 1px solid var(--z-border-soft);
}

.card:hover,
.category-card:hover {
  border-color: var(--z-border-strong);
}

.card-kicker {
  display: inline-flex;
  align-items: center;
  margin-bottom: var(--space-2);
  font-family: var(--z-mono-font);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--z-brown);
  background: rgba(82, 27, 11, 0.08);
  border: 1px solid rgba(82, 27, 11, 0.12);
  border-radius: 999px;
  padding: 4px 10px;
}

.card-title {
  font-size: 1.125rem;
}

.card-desc,
.section-header p,
.premium-subtitle,
.why-card p {
  color: #3f3f3f;
}

.section-offwhite {
  background: var(--z-surface-muted);
}

.popular-link {
  text-decoration: underline;
  text-decoration-color: transparent;
}

.popular-link:hover {
  text-decoration-color: currentColor;
}

.section-premium {
  background:
    radial-gradient(90% 120% at 10% 0%, rgba(252, 82, 32, 0.12) 0%, rgba(252, 82, 32, 0) 60%),
    linear-gradient(180deg, #fff 0%, #fff8f4 100%);
}

.upgrade-panel {
  border-color: rgba(252, 82, 32, 0.28);
}

.callout.callout-redesign {
  border-left-width: 6px;
  background: linear-gradient(90deg, rgba(252, 82, 32, 0.12) 0%, rgba(252, 82, 32, 0.03) 45%, rgba(252, 82, 32, 0) 100%), var(--z-sand);
}

.footer {
  background: linear-gradient(180deg, #1a1a1a 0%, #0d0d0d 100%);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-brand {
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

.footer-cols {
  gap: var(--space-5);
}

.footer-heading {
  color: #ffffff;
  font-size: 0.9rem;
}

.footer-list a,
.footer-social a,
.footer-legal a {
  color: #e8e8e8;
}

.footer-list a:hover,
.footer-social a:hover,
.footer-legal a:hover {
  color: var(--z-orange);
}

.footer-bar {
  border-top-color: var(--z-border-soft);
}

.footer {
  padding: 24px 24px 0;
}

.footer-inner {
  gap: 18px;
  font-size: 0.875rem;
}

.footer-grid {
  gap: 20px 28px;
}

.footer-heading {
  margin-bottom: 10px;
  font-size: 0.9rem;
}

.footer-list + .footer-heading {
  margin-top: 18px;
}

.footer-list li,
.footer-social li,
.footer-legal li {
  margin-bottom: 6px;
}

.footer-list a,
.footer-social a,
.footer-legal a {
  font-size: 0.82rem;
  line-height: 1.45;
}

.footer-bar {
  padding: 14px 0 16px;
}

/* Request detail page */
.request-page {
  max-width: 1180px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.request-page .container-inner {
  max-width: 980px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.request-page .request-layout {
  display: grid;
  grid-template-columns: minmax(0, 660px) 280px;
  gap: 32px;
  align-items: start;
  justify-content: center;
}

.request-page .request-layout > .column {
  width: auto;
  float: none;
}

.request-page .row.clearfix:first-child .column {
  width: 100%;
  float: none;
}

.request-column {
  min-width: 0;
}

.request-id {
  margin: 0 0 10px;
  color: #5f6b76;
  font-size: 0.95rem;
  font-weight: 600;
}

.request-subject {
  margin-bottom: 28px;
  color: #151515;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  line-height: 1.2;
}

.request-page .comment-list {
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
}

.request-page .comment {
  position: relative;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  column-gap: 16px;
  padding: 0 0 28px;
  margin: 0 0 28px;
  border-bottom: 1px solid rgba(21, 21, 21, 0.09);
}

.request-page .comment::before {
  display: none;
}

.request-page .comment__header {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  grid-column: 2;
  margin: 0 0 8px;
}

.request-page .comment__avatar {
  grid-column: 1;
  grid-row: 1 / span 2;
}

.request-page .comment__avatar .user-avatar,
.comment-form__avatar .user-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

.request-page .comment__author {
  color: #151515;
  font-weight: 700;
}

.request-page .comment__header .meta {
  color: #68737d;
  font-size: 0.875rem;
}

.request-page .comment__container {
  grid-column: 2;
  min-width: 0;
}

.request-page .comment__body {
  color: #1f2933;
  line-height: 1.7;
}

.request-page .attachment-list {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.request-follow-up {
  margin: 0 0 16px;
  padding: 0;
}

.request-page .comment-form {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px 16px;
  align-items: start;
  margin-top: 20px;
  padding: 22px;
  background: #fff;
  border: 1px solid rgba(82, 27, 11, 0.08);
  border-radius: 14px;
  box-shadow: var(--shadow-sm);
}

.comment-form__avatar {
  grid-row: 1 / span 3;
}

.comment-form__body,
.comment-form__attachments,
.comment-form__controls {
  grid-column: 2;
  min-width: 0;
}

.request-page .comment-form textarea {
  width: 100%;
  min-height: 130px;
  resize: vertical;
  border: 1px solid #cfd7df;
  border-radius: 10px;
  padding: 12px 14px;
  font-family: var(--z-body-font);
  font-size: 1rem;
  line-height: 1.55;
}

.comment-form__attachments {
  color: #68737d;
  font-size: 0.875rem;
}

.comment-form__controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.comment-form__mark-as-solved {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #4b5563;
  font-size: 0.9rem;
}

.comment-form__controls input[type="submit"] {
  width: auto;
  min-width: 120px;
  padding: 10px 20px;
}

.request-sidebar {
  width: auto;
  padding: 22px;
  background: #f7f7f5;
  border: 1px solid rgba(82, 27, 11, 0.08);
  border-radius: 14px;
  box-shadow: var(--shadow-sm);
  font-size: 0.9rem;
}

.request-sidebar > p:first-child {
  margin: 0 0 16px;
  color: #151515;
}

.request-details {
  display: grid;
  grid-template-columns: minmax(90px, 38%) minmax(0, 1fr);
  gap: 12px 14px;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: inherit;
}

.request-details dt,
.request-details dd {
  display: block;
  width: auto;
  margin: 0;
  padding: 0;
  font-size: 0.875rem;
  line-height: 1.45;
}

.request-details dt {
  color: #59636e;
  font-weight: 700;
}

.request-details dd {
  color: #1f2933;
  white-space: normal;
  overflow-wrap: anywhere;
}

.request-details dd::after {
  content: none;
}

.request-sidebar + p {
  margin-top: 18px;
}

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

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

  .request-page .comment__header,
  .request-page .comment__avatar,
  .request-page .comment__container,
  .comment-form__avatar,
  .comment-form__body,
  .comment-form__attachments,
  .comment-form__controls {
    grid-column: 1;
  }
}

.btn:focus-visible,
.nav .nav-link:focus-visible,
.header-top-links a:focus-visible,
.footer-list a:focus-visible,
.footer-social a:focus-visible,
.footer-legal a:focus-visible,
.popular-link:focus-visible,
.card:focus-visible,
.category-card:focus-visible {
  outline: none;
  box-shadow: var(--z-focus-strong);
  border-radius: var(--radius-sm);
}

@media (max-width: 720px) {
  .header-top-inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 10px var(--space-2);
  }

  .header-inner {
    height: auto;
    min-height: 56px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .nav {
    row-gap: 8px;
  }
}

/* ========================================
   COMPREHENSIVE PAGE LAYOUT REDESIGN
   Modern, spacious, card-based design
   ======================================== */

/* ===== CATEGORY PAGE REDESIGN ===== */
.zensai-section-tile-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--space-3);
  margin: var(--space-4) 0;
}

@media (max-width: 768px) {
  .zensai-section-tile-grid {
    grid-template-columns: 1fr;
    gap: var(--space-2);
  }
}

.zensai-section-tile-wrapper {
  all: unset;
  display: block;
}

.zensai-section-tile-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 140px;
  padding: var(--space-3);
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: var(--radius-md);
  text-decoration: none;
  transition: all 0.25s ease;
  box-shadow: var(--shadow-sm);
  cursor: pointer;
}

.zensai-section-tile-link:hover {
  border-color: var(--z-orange);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

.zensai-section-tile-link:focus-visible {
  outline: none;
  box-shadow: var(--z-orange) 0 0 0 3px;
  border-radius: var(--radius-md);
}

.zensai-section-tile-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--z-text);
  text-align: center;
  line-height: 1.4;
  letter-spacing: -0.01em;
}

.zensai-section-tile-link:hover .zensai-section-tile-title {
  color: var(--z-orange);
}

/* ===== SECTION PAGE REDESIGN ===== */
.section-tree {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: var(--space-3);
  margin: var(--space-4) 0;
}

@media (max-width: 768px) {
  .section-tree {
    grid-template-columns: 1fr;
    gap: var(--space-2);
  }
}

.section-tree .section {
  all: unset;
  display: flex;
  flex-direction: column;
}

.section-tree-title {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: var(--space-2);
  color: var(--z-text);
}

.section-tree-title a {
  color: var(--z-text);
  text-decoration: none;
  transition: color 0.15s ease;
}

.section-tree-title a:hover {
  color: var(--z-orange);
}

.article-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.article-list-item {
  padding: var(--space-2);
  background: #ffffff;
  border: 1px solid #e8e8e8;
  border-radius: var(--radius-sm);
  transition: all 0.15s ease;
  font-size: 0.95rem;
}

.article-list-item:hover {
  border-color: var(--z-orange);
  box-shadow: var(--shadow-sm);
  background: #fafafa;
}

.article-list-item a {
  color: var(--z-text);
  text-decoration: none;
  display: flex;
  align-items: flex-start;
  gap: var(--space-1);
}

.article-list-item a:hover {
  color: var(--z-orange);
}

.article-list-item .fa-star {
  flex-shrink: 0;
  color: var(--z-orange);
  font-size: 0.85rem;
  margin-top: 3px;
}

/* ===== ARTICLE PAGE REDESIGN ===== */
.article-body {
  line-height: 1.8;
  font-size: 1rem;
}

.article-body h2 {
  margin-top: var(--space-4);
  margin-bottom: var(--space-2);
  color: var(--z-text);
  border-bottom: 2px solid var(--z-orange);
  padding-bottom: var(--space-1);
}

.article-body h3 {
  margin-top: var(--space-3);
  margin-bottom: var(--space-2);
  color: var(--z-text);
}

.article-body h4,
.article-body h5,
.article-body h6 {
  margin-top: var(--space-2);
  margin-bottom: var(--space-1);
  color: var(--z-text);
  font-weight: 600;
}

.article-body p {
  margin-bottom: var(--space-2);
  color: var(--z-text);
  line-height: 1.8;
}

.article-body ul,
.article-body ol {
  margin: var(--space-3) 0 var(--space-3) var(--space-3);
  padding-left: var(--space-3);
}

.article-body li {
  margin-bottom: var(--space-1);
  color: var(--z-text);
  line-height: 1.7;
}

.article-body li li {
  margin-top: var(--space-1);
  margin-bottom: var(--space-1);
}

.article-body blockquote {
  background: #f5f5f5;
  border-left: 4px solid var(--z-orange);
  margin: var(--space-3) 0;
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-sm);
  color: #666;
  font-style: italic;
  font-size: 0.95rem;
}

.article-body code {
  background: #f5f5f5;
  border: 1px solid #e0e0e0;
  border-radius: var(--radius-sm);
  padding: 2px 6px;
  font-family: var(--z-mono-font);
  font-size: 0.9rem;
  color: #d32f2f;
}

.article-body pre {
  background: #2b2b2b;
  color: #f8f8f2;
  padding: var(--space-2);
  border-radius: var(--radius-md);
  overflow-x: auto;
  font-family: var(--z-mono-font);
  font-size: 0.9rem;
  line-height: 1.5;
  margin: var(--space-3) 0;
}

.article-body pre code {
  background: none;
  border: none;
  color: inherit;
  padding: 0;
}

.article-body img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-md);
  margin: var(--space-3) 0;
  box-shadow: var(--shadow-md);
}

.article-body table {
  width: 100%;
  border-collapse: collapse;
  margin: var(--space-3) 0;
  border: 1px solid #ddd;
  font-size: 0.95rem;
}

.article-body table thead {
  background: #f5f5f5;
}

.article-body table th {
  padding: var(--space-2);
  text-align: left;
  font-weight: 600;
  border: 1px solid #ddd;
  color: var(--z-text);
}

.article-body table td {
  padding: var(--space-2);
  border: 1px solid #ddd;
  color: var(--z-text);
}

.article-body table tr:hover {
  background: #f9f9f9;
}

/* ===== ARTICLE HEADER SECTION ===== */
.article-header {
  background: #f9f9f9;
  padding: var(--space-3);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-4);
  border-left: 4px solid var(--z-orange);
}

.article-title {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--z-text);
  margin-bottom: var(--space-2);
  line-height: 1.3;
}

.article-meta {
  font-size: 0.85rem;
  color: #999;
  display: flex;
  gap: var(--space-2);
  flex-wrap: wrap;
}

.article-author {
  display: flex;
  align-items: center;
  gap: var(--space-1);
}

/* ===== SEARCH RESULTS REDESIGN ===== */
.search-results-container {
  max-width: 100%;
  margin: var(--space-4) 0;
}

.search-results-group {
  margin-bottom: var(--space-4);
}

.search-results-group-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--z-text);
  margin-bottom: var(--space-2);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-family: var(--z-mono-font);
}

.search-result-item {
  padding: var(--space-3);
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: var(--radius-md);
  margin-bottom: var(--space-2);
  transition: all 0.15s ease;
}

.search-result-item:hover {
  border-color: var(--z-orange);
  box-shadow: var(--shadow-md);
  background: #fafafa;
}

.search-result-item a {
  color: var(--z-text);
  text-decoration: none;
  display: block;
}

.search-result-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--z-text);
  margin-bottom: var(--space-1);
  transition: color 0.15s ease;
}

.search-result-item:hover .search-result-title {
  color: var(--z-orange);
}

.search-result-excerpt {
  font-size: 0.9rem;
  color: #666;
  line-height: 1.6;
  margin-bottom: var(--space-1);
}

.search-result-meta {
  font-size: 0.8rem;
  color: #999;
}

/* ===== PROFILE PAGE REDESIGN ===== */
.profile-container {
  max-width: 100%;
}

.profile-header {
  background: linear-gradient(135deg, #ffffff 0%, #f9f9f9 100%);
  padding: var(--space-4);
  border-radius: var(--radius-lg);
  margin-bottom: var(--space-4);
  border: 1px solid #e0e0e0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

@media (min-width: 768px) {
  .profile-header {
    flex-direction: row;
    align-items: center;
    gap: var(--space-4);
  }
}

.profile-avatar {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: var(--z-orange);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 700;
  font-size: 2rem;
  flex-shrink: 0;
}

.profile-info {
  flex: 1;
}

.profile-name {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--z-text);
  margin-bottom: var(--space-1);
}

.profile-email {
  font-size: 0.95rem;
  color: #666;
  margin-bottom: var(--space-1);
}

.profile-status {
  font-size: 0.85rem;
  color: #999;
}

.profile-section {
  margin-bottom: var(--space-4);
}

.profile-section-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--z-text);
  margin-bottom: var(--space-2);
  border-bottom: 2px solid var(--z-orange);
  padding-bottom: var(--space-1);
}

.profile-section-content {
  background: #ffffff;
  padding: var(--space-3);
  border: 1px solid #e0e0e0;
  border-radius: var(--radius-md);
}

.profile-field {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-2) 0;
  border-bottom: 1px solid #e8e8e8;
}

.profile-field:last-child {
  border-bottom: none;
}

.profile-field-label {
  font-weight: 600;
  color: var(--z-text);
  font-size: 0.95rem;
}

.profile-field-value {
  color: #666;
  font-size: 0.95rem;
}

/* ===== REQUEST/FORM PAGES REDESIGN ===== */
.request-list-container,
.contributions-container {
  max-width: 100%;
}

.request-item,
.contribution-item {
  padding: var(--space-3);
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: var(--radius-md);
  margin-bottom: var(--space-2);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.contribution-item::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 2px;
  background: var(--z-orange);
  transition: left 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.request-item:hover,
.contribution-item:hover {
  border-color: rgba(252, 82, 32, 0.3);
  box-shadow: var(--shadow-hover);
  background: linear-gradient(135deg, #fff 0%, rgba(255, 122, 69, 0.01) 100%);
}

.contribution-item:hover::before {
  left: 0;
}

.contribution-item:focus-within {
  box-shadow: var(--shadow-hover);
  border-color: var(--z-orange);
}

.request-title,
.contribution-title {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--z-text);
  margin-bottom: var(--space-1);
  transition: color 0.2s ease;
}

.contribution-item:hover .contribution-title,
.request-item:hover .request-title {
  color: var(--z-orange);
}

.request-meta,
.contribution-meta {
  font-size: 0.85rem;
  color: #888;
  display: flex;
  gap: var(--space-2);
  flex-wrap: wrap;
}

.request-status {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 16px;
  font-size: 0.8rem;
  font-weight: 600;
  background: #f0f0f0;
  color: #666;
  text-transform: uppercase;
}

.request-status.open {
  background: #e3f2fd;
  color: #1976d2;
}

.request-status.resolved {
  background: #e8f5e9;
  color: #388e3c;
}

.request-status.pending {
  background: #fff3e0;
  color: #f57c00;
}

/* ===== COMMUNITY PAGES REDESIGN ===== */
.community-list-container {
  max-width: 100%;
}

.community-post-item,
.community-topic-item {
  padding: var(--space-3);
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: var(--radius-md);
  margin-bottom: var(--space-2);
  transition: all 0.15s ease;
}

.community-post-item:hover,
.community-topic-item:hover {
  border-color: var(--z-orange);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

.community-post-title,
.community-topic-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--z-text);
  margin-bottom: var(--space-1);
  text-decoration: none;
}

.community-post-item:hover .community-post-title,
.community-topic-item:hover .community-topic-title {
  color: var(--z-orange);
}

.community-post-meta,
.community-topic-meta {
  font-size: 0.85rem;
  color: #999;
  display: flex;
  gap: var(--space-2);
  flex-wrap: wrap;
  align-items: center;
}

.community-post-avatar,
.community-topic-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--z-orange);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 700;
  font-size: 0.8rem;
  flex-shrink: 0;
}

.community-post-excerpt,
.community-topic-excerpt {
  font-size: 0.9rem;
  color: #666;
  margin-top: var(--space-2);
  line-height: 1.6;
}

/* ===== EMPTY STATES REDESIGN ===== */
.empty-state {
  padding: var(--space-6);
  text-align: center;
  background: #f9f9f9;
  border: 2px dashed #ddd;
  border-radius: var(--radius-lg);
  margin: var(--space-4) 0;
}

.empty-state p {
  font-size: 1rem;
  color: #999;
  margin-bottom: 0;
}

.empty-state-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--z-text);
  margin-bottom: var(--space-2);
}

/* ===== FORM ELEMENTS REDESIGN ===== */
input[type="text"],
input[type="email"],
input[type="search"],
textarea,
select {
  width: 100%;
  padding: var(--space-2);
  border: 1px solid #ddd;
  border-radius: var(--radius-sm);
  font-family: var(--z-body-font);
  font-size: 1rem;
  transition: all 0.15s ease;
  background: white;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: var(--z-orange);
  box-shadow: 0 0 0 3px rgba(255, 122, 69, 0.1);
  background: #fafafa;
}

textarea {
  min-height: 120px;
  resize: vertical;
}

label {
  display: block;
  margin-bottom: var(--space-1);
  font-weight: 600;
  color: var(--z-text);
  font-size: 0.95rem;
}

.form-group {
  margin-bottom: var(--space-3);
}

.form-helper-text {
  font-size: 0.85rem;
  color: #999;
  margin-top: 4px;
  display: block;
}

/* ===== BUTTON REFINEMENT ===== */
.btn {
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-sm);
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
  text-decoration: none;
  display: inline-block;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.1);
  transition: left 0.3s ease;
  z-index: -1;
}

.btn:hover::before {
  left: 100%;
}

.btn-primary,
.btn-outline-white,
.btn-white {
  padding: 12px 28px;
  font-size: 0.95rem;
  font-weight: 600;
}

.btn-white {
  background: #ffffff;
  color: var(--z-orange);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.btn-white:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
  background: #f0f0f0;
}

.btn-outline-white {
  background: transparent;
  color: #ffffff;
  border: 2px solid rgba(255, 255, 255, 0.8);
  transition: all 0.2s ease;
}

.btn-outline-white:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: #ffffff;
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.3);
}

.btn:active {
  transform: translateY(-1px);
}

.btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 4px rgba(255, 122, 69, 0.3);
}

/* Subscribe/Follow Button */
.subscribe,
.follow-btn,
[class*="subscribe-button"],
[class*="follow-button"] {
  display: inline-block;
  border-radius: var(--radius-sm);
  overflow: hidden;
}

.subscribe a,
.follow-btn a,
[class*="subscribe-button"] a,
[class*="follow-button"] a {
  padding: 12px 24px;
  background: linear-gradient(135deg, var(--z-orange) 0%, #ff8c5a 100%);
  color: white;
  border-radius: var(--radius-sm);
  font-weight: 700;
  font-size: 0.9rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  border: none;
  box-shadow: 0 4px 12px rgba(252, 82, 32, 0.2);
  position: relative;
  overflow: hidden;
}

.subscribe a::before,
.follow-btn a::before,
[class*="subscribe-button"] a::before,
[class*="follow-button"] a::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s ease;
}

.subscribe a:hover,
.follow-btn a:hover,
[class*="subscribe-button"] a:hover,
[class*="follow-button"] a:hover {
  background: linear-gradient(135deg, #ff8c5a 0%, var(--z-orange) 100%);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(252, 82, 32, 0.35);
}

.subscribe a:hover::before,
.follow-btn a:hover::before,
[class*="subscribe-button"] a:hover::before,
[class*="follow-button"] a:hover::before {
  left: 100%;
}

.subscribe a:focus-visible,
.follow-btn a:focus-visible,
[class*="subscribe-button"] a:focus-visible,
[class*="follow-button"] a:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

.subscribe button,
.follow-btn button,
[class*="subscribe-button"] button,
[class*="follow-button"] button {
  padding: 12px 24px;
  background: linear-gradient(135deg, var(--z-orange) 0%, #ff8c5a 100%);
  color: white;
  border-radius: var(--radius-sm);
  font-weight: 700;
  font-size: 0.9rem;
  border: none;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 4px 12px rgba(252, 82, 32, 0.2);
  position: relative;
  overflow: hidden;
}

.subscribe button::before,
.follow-btn button::before,
[class*="subscribe-button"] button::before,
[class*="follow-button"] button::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s ease;
}

.subscribe button:hover,
.follow-btn button:hover,
[class*="subscribe-button"] button:hover,
[class*="follow-button"] button:hover {
  background: linear-gradient(135deg, #ff8c5a 0%, var(--z-orange) 100%);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(252, 82, 32, 0.35);
}

.subscribe button:hover::before,
.follow-btn button:hover::before,
[class*="subscribe-button"] button:hover::before,
[class*="follow-button"] button:hover::before {
  left: 100%;
}

.subscribe button:focus-visible,
.follow-btn button:focus-visible,
[class*="subscribe-button"] button:focus-visible,
[class*="follow-button"] button:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

/* ===== SEARCH BAR COMPLETE REDESIGN ===== */
.section-search {
  background: #ffffff;
  padding: var(--space-4) var(--space-2);
  border-bottom: 1px solid #e0e0e0;
}

.search-band {
  max-width: 100%;
  margin: var(--space-4) auto;
  padding: 0 var(--space-3);
}

.search-box,
.search-box--small {
  display: flex;
  width: 100%;
}

.search,
.search-full {
  display: flex;
  width: 100%;
  gap: 0;
  align-items: center;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.search input[type="search"],
.search input[type="text"],
.search-full input,
.search-full input[type="search"] {
  flex: 1;
  min-width: 0;
  padding: 18px 24px;
  border: none;
  border-radius: 0;
  font-size: 1rem;
  font-family: var(--z-body-font);
  background: transparent;
  color: #1a1a1a;
  transition: all 0.2s ease;
  outline: none;
}

.search input[type="search"]::placeholder,
.search input[type="text"]::placeholder,
.search-full input::placeholder,
.search-full input[type="search"]::placeholder {
  color: #aaa;
}

.search input[type="search"]:focus,
.search input[type="text"]:focus,
.search-full input:focus,
.search-full input[type="search"]:focus {
  outline: none;
}

.search button,
.search-full button,
.search input[type="submit"],
.search-full [type="submit"] {
  padding: 18px 32px;
  background: linear-gradient(135deg, var(--z-orange) 0%, #ff8c5a 100%);
  color: white;
  border: none;
  border-radius: 0;
  cursor: pointer;
  font-weight: 700;
  font-size: 0.95rem;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  flex-shrink: 0;
}

.search button:hover,
.search-full button:hover,
.search input[type="submit"]:hover,
.search-full [type="submit"]:hover {
  background: linear-gradient(135deg, #ff8c5a 0%, var(--z-orange) 100%);
  filter: brightness(1.1);
}

.search button:active,
.search-full button:active,
.search-full [type="submit"]:active {
  filter: brightness(0.95);
}

@media (max-width: 768px) {
  .search,
  .search-full {
    flex-direction: column;
    gap: 0;
  }
  
  .search input[type="search"],
  .search input[type="text"],
  .search-full input,
  .search-full input[type="search"] {
    width: 100%;
    border-radius: 12px 12px 0 0;
  }
  
  .search button,
  .search-full button,
  .search input[type="submit"],
  .search-full [type="submit"] {
    width: 100%;
    border-radius: 0 0 12px 12px;
  }
}

/* ===== HERO SECTION ENHANCEMENT ===== */
.hero-actions {
  display: flex;
  gap: var(--space-2);
  flex-wrap: wrap;
  margin-top: var(--space-3);
}

@media (max-width: 768px) {
  .hero-actions {
    flex-direction: column;
  }
  
  .hero-actions .btn {
    width: 100%;
  }
}

/* ===== DYNAMIC STYLING & VISUAL INTEREST ===== */
.section {
  position: relative;
}

.section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--z-orange), transparent);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.section:hover::before {
  opacity: 1;
}

/* Card hover animations */
.card,
.category-card,
.zensai-section-tile-link,
.search-result-item,
.article-list-item,
.request-item,
.community-post-item {
  position: relative;
  overflow: hidden;
}

.card::after,
.category-card::after,
.zensai-section-tile-link::after,
.search-result-item::after,
.article-list-item::after,
.request-item::after,
.community-post-item::after {
  content: '';
  position: absolute;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  transition: right 0.6s ease;
}

.card:hover::after,
.category-card:hover::after,
.zensai-section-tile-link:hover::after,
.search-result-item:hover::after,
.article-list-item:hover::after,
.request-item:hover::after,
.community-post-item:hover::after {
  right: 100%;
}

/* Gradient accents on sections */
.section-header {
  position: relative;
  padding-bottom: var(--space-3);
}

.section-header::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, var(--z-orange), transparent);
}

/* Enhanced card elevation */
.card {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.card:hover {
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
}

.category-card {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.category-card:hover {
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
}

.zensai-section-tile-link {
  box-shadow: 0 2px px rgba(0, 0, 0, 0.06);
  background: linear-gradient(135deg, #ffffff 0%, #fafafa 100%);
}

.zensai-section-tile-link:hover {
  box-shadow: 0 16px 32px rgba(255, 122, 69, 0.15);
  background: linear-gradient(135deg, #ffffff 0%, #fffbf7 100%);
}

/* Accent bars on cards */
.card::before,
.category-card::before,
.search-result-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--z-orange), transparent);
  opacity: 0;
  transition: opacity 0.2s ease;
}

.card:hover::before,
.category-card:hover::before,
.search-result-item:hover::before {
  opacity: 1;
}

/* Dynamic spacing patterns */
.section-inner {
  position: relative;
}

.section-inner::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(255, 122, 69, 0.03) 0%, transparent 70%);
  pointer-events: none;
  border-radius: 50%;
}

/* Better spacing around content */
.page-header {
  padding: var(--space-4) 0;
  border-bottom: 2px solid #f0f0f0;
  position: relative;
}

.page-header::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, var(--z-orange), transparent);
}

/* Breadcrumb enhancement */
.breadcrumbs a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--z-orange);
  transition: width 0.3s ease;
}

.breadcrumbs a:hover::after {
  width: 100%;
}

/* Enhanced list items with better spacing */
.article-list-item {
  border-left: 3px solid transparent;
  transition: all 0.2s ease;
}

.article-list-item:hover {
  border-left-color: var(--z-orange);
  background: linear-gradient(90deg, rgba(255, 122, 69, 0.02), transparent);
}

/* Dynamic text highlighting */
.eyebrow {
  position: relative;
  display: inline-block;
  background: linear-gradient(90deg, transparent, var(--z-orange), transparent);
  background-size: 200% 100%;
  animation: none;
}

.eyebrow:hover {
  animation: shimmer 0.6s ease;
}

@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

/* Better footer styling */
.footer {
  background: linear-gradient(180deg, #1a1a1a 0%, #0d0d0d 100%);
  position: relative;
  overflow: hidden;
}

.footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--z-orange), transparent);
}

/* Form field focus animation */
input:focus,
textarea:focus,
select:focus {
  position: relative;
  z-index: 1;
}

input:focus::after,
textarea:focus::after {
  content: '';
  position: absolute;
  inset: -4px;
  border: 2px solid var(--z-orange);
  border-radius: var(--radius-sm);
  z-index: -1;
  animation: focusRing 0.3s ease;
}

@keyframes focusRing {
  from {
    box-shadow: 0 0 0 3px rgba(255, 122, 69, 0.1);
  }
  to {
    box-shadow: 0 0 0 8px rgba(255, 122, 69, 0.05);
  }
}

/* Dynamic underlines on headings */
h2 {
  position: relative;
  display: inline-block;
}

h2::after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 0;
  width: 40px;
  height: 3px;
  background: linear-gradient(90deg, var(--z-orange), transparent);
  border-radius: 2px;
}

/* Better loading and empty states */
.empty-state {
  background: linear-gradient(135deg, #f9f9f9 0%, #ffffff 100%);
  border: 2px dashed #e0e0e0;
  position: relative;
  overflow: hidden;
}

.empty-state::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -50%;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(255, 122, 69, 0.05) 0%, transparent 70%);
  animation: float 6s ease-in-out infinite;
}

@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(20px); }
}

/* ===== BREADCRUMB REFINEMENT ===== */
.breadcrumbs {
  font-size: 0.85rem;
  margin-bottom: var(--space-3);
  display: flex;
  gap: var(--space-1);
  flex-wrap: wrap;
}

.breadcrumbs a {
  color: var(--z-orange);
  text-decoration: none;
  transition: color 0.15s ease;
}

.breadcrumbs a:hover {
  color: var(--z-text);
  text-decoration: underline;
}

.breadcrumbs .current {
  color: #999;
}

/* ===== SEARCH BOX REFINEMENT ===== */
.search {
  display: flex;
  gap: var(--space-1);
}

.search input {
  flex: 1;
  padding: 10px 16px;
  border: 1px solid #ddd;
  border-radius: var(--radius-sm);
  font-size: 0.95rem;
}

.search button {
  padding: 10px 20px;
  background: var(--z-orange);
  color: white;
  border: none;
  border-radius: var(--radius-sm);
  cursor: pointer;
  font-weight: 600;
  transition: all 0.15s ease;
}

.search button:hover {
  background: #e65a20;
  transform: translateY(-1px);
}

/* ===== SPACING UTILITIES ===== */
.mt-1 { margin-top: var(--space-1); }
.mt-2 { margin-top: var(--space-2); }
.mt-3 { margin-top: var(--space-3); }
.mt-4 { margin-top: var(--space-4); }

.mb-1 { margin-bottom: var(--space-1); }
.mb-2 { margin-bottom: var(--space-2); }
.mb-3 { margin-bottom: var(--space-3); }
.mb-4 { margin-bottom: var(--space-4); }

.p-1 { padding: var(--space-1); }
.p-2 { padding: var(--space-2); }
.p-3 { padding: var(--space-3); }
.p-4 { padding: var(--space-4); }

/* ===== RESPONSIVE TEXT ===== */
@media (max-width: 768px) {
  h1 { font-size: 1.75rem; }
  h2 { font-size: 1.25rem; }
  h3 { font-size: 1rem; }
  
  .article-title { font-size: 1.5rem; }
  
  .profile-name { font-size: 1.25rem; }
  
  .zensai-section-tile-grid {
    grid-template-columns: 1fr;
  }
  
  .search-result-title {
    font-size: 1rem;
  }
  
  .article-body ul,
  .article-body ol {
    margin-left: var(--space-2);
    padding-left: var(--space-2);
  }
}

/* ===== PRINT STYLES ===== */
@media print {
  .header,
  .footer,
  .breadcrumbs,
  .article-actions {
    display: none;
  }
  
  .article-body {
    max-width: 100%;
  }
}

/* ===== CONTRIBUTIONS PAGE REDESIGN ===== */
.my-activities-page {
  padding: var(--space-4) 0;
}

.my-activities-header {
  margin-bottom: var(--space-4);
}

.my-activities-header h1 {
  font-size: 2rem;
  font-weight: 700;
  color: var(--z-text);
  margin: 0;
}

.my-activities-menu {
  margin-bottom: var(--space-4);
  border-bottom: 2px solid #e0e0e0;
}

.my-activities-menu__items {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: var(--space-3);
  flex-wrap: wrap;
}

.my-activities-menu__item {
  margin: 0;
  padding: 0;
}

.my-activities-menu__item a,
.my-activities-menu__item span {
  display: block;
  padding: var(--space-2) 0;
  font-weight: 500;
  color: #666;
  text-decoration: none;
  border-bottom: 3px solid transparent;
  transition: all 0.2s ease;
  transform: translateY(0);
}

.my-activities-menu__item.is-active a,
.my-activities-menu__item.is-active span {
  color: var(--z-orange);
  border-bottom-color: var(--z-orange);
  font-weight: 600;
  transform: translateY(0);
}

.my-activities-menu__item a:hover {
  color: var(--z-text);
  transform: translateY(0);
}

.contributions-container {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.contribution-item {
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: var(--radius-md);
  padding: var(--space-3);
  transition: all 0.2s ease;
}

.contribution-item:hover {
  border-color: var(--z-orange);
  box-shadow: 0 4px 12px rgba(252, 82, 32, 0.1);
}

.contribution-header {
  margin-bottom: var(--space-2);
}

.contribution-title {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0 0 var(--space-1) 0;
  color: var(--z-text);
}

.contribution-title a {
  color: var(--z-text);
  text-decoration: none;
  transition: color 0.2s ease;
}

.contribution-item:hover .contribution-title a {
  color: var(--z-orange);
}

.contribution-meta {
  font-size: 0.85rem;
  color: #999;
}

.contribution-date {
  font-size: 0.85rem;
  color: #999;
}

.contribution-body {
  margin-bottom: var(--space-2);
}

.contribution-excerpt {
  font-size: 0.95rem;
  color: #666;
  margin: 0;
  line-height: 1.5;
}

.contribution-footer {
  display: flex;
  gap: var(--space-3);
  font-size: 0.85rem;
  color: #999;
  border-top: 1px solid #f0f0f0;
  padding-top: var(--space-2);
}

.contribution-votes,
.contribution-activity {
  display: flex;
  align-items: center;
  gap: 4px;
}

.contribution-votes .fa {
  color: var(--z-orange);
  font-size: 0.9rem;
}

/* ========================================================================
   FINAL INFORMATION ARCHITECTURE AND CONTENT-PAGE NORMALIZATION
   ======================================================================== */

html {
  scroll-behavior: smooth;
}

.section-resources {
  background: var(--z-offwhite);
  border-block: 1px solid rgba(26, 26, 26, 0.06);
}

.section-premium {
  background: #1a1a1a;
  color: #ffffff;
  position: relative;
  overflow: hidden;
}

.section-premium::before {
  background: radial-gradient(circle at 90% 10%, rgba(255, 122, 69, 0.24), transparent 30%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.section-premium .section-inner {
  position: relative;
}

.section-premium .premium-heading h2,
.section-premium .premium-subtitle,
.section-premium .eyebrow {
  color: #ffffff;
}

.section-premium .premium-subtitle {
  opacity: 0.82;
}

.article-page,
.user-profile-page {
  padding-block: var(--space-5);
}

.article-page .article {
  max-width: none;
  min-width: 0;
  padding: 0;
}

.article-page .row > .column--sm-8 {
  float: left;
  width: 66.66666667%;
}

.article-page .sidebar-sticky {
  display: block;
}

.article-page .article-header {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin-bottom: 40px;
}

.article-page .article__title {
  color: var(--z-brown);
  font-size: clamp(1.75rem, 4vw, 2.5625rem);
  font-weight: 300;
  letter-spacing: normal;
  margin-bottom: var(--space-2);
}

.article-page .article-meta {
  align-items: center;
  color: #666;
  font-size: 0.875rem;
  margin-bottom: var(--space-4);
}

.article-page .article-body {
  display: flow-root;
  color: var(--z-text);
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 24px;
  max-width: none;
}

.article-page .article-body p {
  margin-bottom: 1em;
}

.article-page .article-body ul,
.article-page .article-body ol {
  margin: 20px 0 20px 20px;
  padding-left: 20px;
}

.article-page .article-body h2 {
  border-bottom: 0;
  font-size: 1.25rem;
  margin-top: 20px;
  padding-bottom: 0;
}

.article-page .article-body h3 {
  font-size: 1.125rem;
  margin-top: 20px;
}

.article-page .article-body img {
  height: auto;
  max-width: 100%;
}

.article-page .article-body > p:empty,
.article-page .article-body > div:empty {
  display: none;
}

.article-page .article-body figure {
  max-width: 100%;
}

.article-page .article-sidebar {
  margin-left: var(--space-3);
  position: sticky;
  top: 112px;
}

.article-page .article-sidebar h4 {
  color: var(--z-text);
  font-size: 1.05rem;
  margin-top: 0;
}

.article-content-layout {
  display: grid;
  grid-template-columns: minmax(170px, 220px) minmax(0, 1fr);
  gap: clamp(var(--space-4), 5vw, var(--space-6));
  align-items: start;
}

.article-toc {
  position: sticky;
  top: 112px;
  padding: 0;
  min-width: 0;
}

.article-toc__title {
  color: var(--z-text);
  font-size: 1.05rem;
  font-weight: 400;
  margin: 0 0 var(--space-2);
}

.article-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.article-toc__item {
  border-left: 3px solid transparent;
  margin: 0;
}

.article-toc__item a {
  color: #2f8294;
  display: block;
  font-size: 0.95rem;
  line-height: 1.45;
  padding: 7px 10px;
}

.article-toc__item--h3 a {
  padding-left: 18px;
  font-size: 0.9rem;
}

.article-toc__item:hover,
.article-toc__item:focus-within,
.article-toc__item.is-active {
  background: #2f8294;
  border-left-color: #2f8294;
}

.article-toc__item:hover a,
.article-toc__item:focus-within a,
.article-toc__item.is-active a {
  color: #ffffff;
}

.article-body .callout--note,
.article-body .callout-note,
.article-body .note,
.article-body [data-callout="note"],
.article-body [data-callout-type="note"] {
  background: #eefaff;
  border-left: 4px solid #4bb9d7;
  border-radius: 0;
  color: var(--z-text);
  padding: var(--space-3);
}

.article-body .callout--note h3,
.article-body .callout-note h3,
.article-body .note h3,
.article-body [data-callout="note"] h3,
.article-body [data-callout-type="note"] h3 {
  color: #4bb9d7;
}

.article-body .callout--important,
.article-body .callout-important,
.article-body .important,
.article-body [data-callout="important"],
.article-body [data-callout-type="important"] {
  background: #fff0f0;
  border-left: 4px solid #ff4d55;
  border-radius: 0;
  color: var(--z-text);
  padding: var(--space-3);
}

.article-body .callout--important h3,
.article-body .callout-important h3,
.article-body .important h3,
.article-body [data-callout="important"] h3,
.article-body [data-callout-type="important"] h3 {
  color: #ff4d55;
}

.article-page .article-body h2 {
  font-size: 1.5rem;
  scroll-margin-top: 112px;
}

.article-page .article-body h3 {
  font-size: 1.2rem;
  scroll-margin-top: 112px;
}

.article-page .article-body {
  display: block;
  font-size: 1rem;
  line-height: normal;
  margin-bottom: 24px;
}

.article-page .article-body p {
  margin: 0 0 1em;
}

.article-page .article-body ul,
.article-page .article-body ol {
  margin: 20px 0 20px 20px;
  padding-left: 20px;
  list-style-position: outside;
}

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

.article-page .article-body h2,
.article-page .article-body h3,
.article-page .article-body h4,
.article-page .article-body h5,
.article-page .article-body h6 {
  border: 0;
  padding-bottom: 0;
}

.article-page .article-body img {
  height: auto;
  max-width: 100%;
}

.article-page .article-body figure.image {
  display: table;
  margin: 0 auto;
}

.article-page .article-body figure.image > img {
  display: block;
  width: 100%;
}

.article-page .article-body figcaption {
  padding: 10px 0;
  font-size: 12px;
  text-align: center;
  background: #f4f4f4;
}

.article-page .article__tags {
  display: block;
  margin: 0 0 var(--space-2);
}

.article-page .article__tags li {
  display: inline-block;
  margin-bottom: 10px;
}

.article-page .article__tags li + li {
  margin-left: 10px;
}

.article-page .article__tags .btn {
  border-radius: 4px;
  padding: 2px 10px;
}

.article-page .article__tags {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-1);
  list-style: none;
  margin: var(--space-2) 0 0;
  padding: 0;
}

.article-page .article__tags .btn {
  background: #ffffff;
  border: 1px solid rgba(26, 26, 26, 0.14);
  color: var(--z-brown) !important;
  padding: 5px 10px;
}

.article-page .article__tags .btn:hover {
  background: var(--z-sand);
  border-color: var(--z-orange);
  color: var(--z-orange) !important;
}

.profile-unavailable {
  background: linear-gradient(135deg, #ffffff 0%, var(--z-offwhite) 100%);
  border: 1px solid rgba(26, 26, 26, 0.1);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  margin-inline: auto;
  max-width: 640px;
  padding: clamp(var(--space-4), 6vw, var(--space-6));
  text-align: center;
}

.profile-unavailable h1 {
  color: var(--z-brown);
  font-size: clamp(1.6rem, 4vw, 2rem);
}

.profile-unavailable p {
  color: #666;
  margin-inline: auto;
  max-width: 42ch;
}

@media (max-width: 767px) {
  .article-page,
  .user-profile-page {
    padding-block: var(--space-4);
  }

  .article-page .article-header {
    padding: var(--space-3);
  }

  .article-page .article-body {
    font-size: 1rem;
  }

  .article-page .row > .column--sm-8,
  .article-page .row > .column--sm-4 {
    float: none;
    width: 100%;
  }

  .article-page .article-sidebar {
    margin: var(--space-4) 0 0;
    position: static;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

/* Header underlines are decorative only on landing-page sections. On content
   pages they detach from their headings, so retain the neutral divider only. */
.section-page .page-header::after,
.category-page .page-header::after,
.article-page .page-header::after,
.topic-page .page-header::after,
.post-page .page-header::after,
.new-request-page .page-header::after,
.search-results .page-header::after,
.section-page .section-header::after,
.category-page .section-header::after {
  content: none;
}

/* ========================================================================
   COMMUNITY PAGES STYLING
   ======================================================================== */

.community-nav {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
  padding-bottom: var(--space-3);
  border-bottom: 2px solid #e0e0e0;
}

.community-nav__items {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: var(--space-3);
  align-items: center;
  flex-wrap: wrap;
}

.community-nav__item {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
}

.community-nav__item a,
.community-nav__item span {
  display: block;
  padding: var(--space-2) 0;
  font-weight: 500;
  color: #666;
  text-decoration: none;
  border-bottom: 3px solid transparent;
  transition: all 0.2s ease;
  position: relative;
}

.community-nav__item.is-active a,
.community-nav__item.is-active span {
  color: var(--z-orange);
  border-bottom-color: var(--z-orange);
  font-weight: 600;
}

.community-nav__item a:hover {
  color: var(--z-text);
}

.community-nav__item--button {
  margin-left: auto;
}

/* Topic List */
.topic-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}

.topic-list-item {
  display: flex;
  margin: 0 !important;
  padding: 0 !important;
}

.topic-list-item__box {
  flex: 1;
  padding: var(--space-3);
  background: #fff;
  border: 1px solid rgba(82, 27, 11, 0.08);
  border-radius: var(--radius-lg);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.topic-list-item__box::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 2px;
  background: var(--z-orange);
  transition: left 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.topic-list-item:hover .topic-list-item__box {
  border-color: rgba(252, 82, 32, 0.3);
  background: linear-gradient(135deg, #fff 0%, rgba(255, 122, 69, 0.01) 100%);
  box-shadow: var(--shadow-hover);
  transform: translateY(-2px);
}

.topic-list-item:hover .topic-list-item__box::before {
  left: 0;
}

.topic-list-item:focus-within .topic-list-item__box {
  box-shadow: var(--shadow-hover);
  border-color: var(--z-orange);
}

.topic-list-item__title {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--z-brown);
  transition: color 0.2s ease;
}

.topic-list-item__title a {
  color: inherit;
  text-decoration: none;
}

.topic-list-item:hover .topic-list-item__title a {
  color: var(--z-orange);
}

.topic-list-item__title .fa {
  color: #999;
  margin-right: 6px;
  font-size: 0.9rem;
}

.topic-list-item__meta {
  display: flex;
  gap: var(--space-2);
  font-size: 0.85rem;
  color: #888;
  margin-top: auto;
}

.meta__item {
  display: flex;
  align-items: center;
  transition: color 0.2s ease;
}

.topic-list-item:hover .meta__item {
  color: #666;
}

/* Post List */
.post-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}

.post-list-item {
  display: flex;
  margin: 0 !important;
  padding: 0 !important;
}

.post-list-item__box {
  flex: 1;
  padding: var(--space-3);
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: var(--radius-md);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.post-list-item__box::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 2px;
  background: var(--z-orange);
  transition: left 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.post-list-item:hover .post-list-item__box {
  border-color: rgba(252, 82, 32, 0.3);
  background: linear-gradient(135deg, #fff 0%, rgba(255, 122, 69, 0.01) 100%);
  box-shadow: var(--shadow-hover);
  transform: translateY(-2px);
}

.post-list-item:hover .post-list-item__box::before {
  left: 0;
}

.post-list-item__title {
  margin: 0 0 var(--space-1);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--z-brown);
  transition: color 0.2s ease;
}

.post-list-item__title a {
  color: inherit;
  text-decoration: none;
}

.post-list-item:hover .post-list-item__title a {
  color: var(--z-orange);
}

.post-list-item__meta {
  display: flex;
  gap: var(--space-2);
  font-size: 0.85rem;
  color: #888;
}

.post-list-item__excerpt {
  font-size: 0.95rem;
  color: #666;
  margin: var(--space-1) 0 0;
  line-height: 1.5;
}

/* ========================================================================
   NEW REQUEST PAGE STYLING
   ======================================================================== */

.new-request-page {
  padding: var(--space-5) var(--space-3);
}

.new-request-title {
  color: var(--z-brown);
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: var(--space-4);
  text-align: center;
}

.new-request-form {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  box-shadow: var(--shadow-md);
}

.new-request-form > * {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Form styling */
.new-request-form .form,
.new-request-form form {
  display: block !important;
}

.new-request-form .form-group,
.new-request-form .field-group {
  margin-bottom: var(--space-3);
  display: block !important;
}

.new-request-form label {
  display: block;
  font-weight: 600;
  color: var(--z-brown);
  margin-bottom: var(--space-1);
  font-size: 0.95rem;
}

.new-request-form input[type="text"],
.new-request-form input[type="email"],
.new-request-form input[type="phone"],
.new-request-form textarea,
.new-request-form select {
  width: 100%;
  padding: var(--space-2);
  border: 1px solid #ddd;
  border-radius: var(--radius-sm);
  font-family: var(--z-body-font);
  font-size: 0.95rem;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.new-request-form input[type="text"]:focus,
.new-request-form input[type="email"]:focus,
.new-request-form input[type="phone"]:focus,
.new-request-form textarea:focus,
.new-request-form select:focus {
  outline: none;
  border-color: var(--z-orange);
  box-shadow: var(--focus-ring);
  background: rgba(255, 122, 69, 0.01);
}

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

/* Final original-theme article overrides. */
.article-page .article {
  max-width: none;
  min-width: 0;
  padding: 0;
}

.article-page {
  max-width: none;
}

.article-page .container-inner {
  max-width: 1200px;
}

.article-page .row {
  margin-left: -15px;
  margin-right: -15px;
}

.article-page .row::after {
  clear: both;
  content: "";
  display: table;
}

.article-page .row > .column {
  box-sizing: border-box;
  float: left;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
  position: relative;
  width: 100%;
}

.article-page .row > .column--sm-3,
.article-page .row > .column--sm-3 + .column--sm-9 {
  width: 100%;
}

.article-page .lt-toc {
  width: 100%;
}

.article-page .article-header {
  align-items: flex-start;
  background: transparent;
  border: 0;
  border-radius: 0;
  display: flex;
  flex-direction: column;
  margin: 20px 0 40px;
  padding: 0;
}

.article-page .article__title {
  color: var(--z-text);
  font-size: 41px;
  font-weight: 300;
  letter-spacing: normal;
  line-height: 1.2;
  margin: 0 0 20px;
}

.article-page .article-body {
  display: flow-root;
  font-family: "Open Sans", serif;
  font-size: 18px;
  line-height: 1.5;
  margin-bottom: 24px;
  max-width: none;
}

.article-page .article-body p {
  margin-bottom: 1em;
}

.article-page .article-body ul,
.article-page .article-body ol {
  list-style-position: outside;
  margin: 20px 0 20px 20px;
  padding-left: 20px;
}

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

.article-page .article-body img {
  height: auto;
  max-width: 100%;
}

@media (max-width: 767px) {
  .article-page .row > .column--sm-3,
  .article-page .row > .column--sm-9 {
    float: none;
    width: 100%;
  }

  .article-page .article {
    padding: 0;
  }

  .article-page .article__title {
    font-size: 24px;
  }
}

@media (min-width: 768px) {
  .article-page .row > .column--sm-3 {
    width: 25%;
  }

  .article-page .row > .column--sm-9 {
    width: 75%;
  }
}

/* Original documentation geometry, retained with the Success Portal palette. */
.category-page .category-list {
  list-style: none;
  margin-bottom: 24px;
  padding-left: 0;
}

.category-page .category-list-item {
  margin-bottom: 24px;
  position: relative;
}

.category-page .category-list-item__link {
  background: var(--z-brown);
  border-radius: 4px;
  color: #fff;
  display: block;
  font-weight: 600;
  padding: 24px 15px;
  text-align: center;
  transition: background-color 0.3s ease;
}

.category-page .category-list-item__link:hover,
.category-page .category-list-item__link:focus {
  background: var(--z-orange);
  color: #fff;
  text-decoration: none;
}

.category-page .category-list-item__title {
  margin-bottom: 0;
}

.article-page {
  margin-bottom: 48px;
}

.article-page .article {
  position: relative;
}

.article-page .article__title {
  color: var(--z-text);
  font-size: 41px;
  font-weight: 300;
  line-height: 1.2;
}

.article-page .article-meta {
  color: #666;
  font-size: 14px;
  list-style: none;
  margin-bottom: 24px;
  padding-left: 0;
}

.article-page .article-meta__item {
  display: inline-block;
  margin-bottom: 8px;
  margin-right: 12px;
  vertical-align: middle;
}

.article-page .article-body {
  color: var(--z-text);
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 24px;
  max-width: none;
}

.article-page .article-body p {
  margin-bottom: 1em;
}

.article-page .article-body ul,
.article-page .article-body ol {
  margin: 0 0 10px 25px;
  padding-left: 20px;
}

.article-page .article-body ul li,
.article-page .article-body ol li {
  margin-bottom: 8px;
}

.article-page .article-body img {
  height: auto;
  max-width: 100%;
}

@media (max-width: 767px) {
  .article-page .article__title {
    font-size: 24px;
  }
}

.new-request-form button,
.new-request-form input[type="submit"] {
  background: var(--z-orange);
  color: #fff;
  border: none;
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-md);
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.new-request-form button:hover,
.new-request-form input[type="submit"]:hover {
  background: var(--z-gradient-end);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(252, 82, 32, 0.25);
}

.new-request-form button:focus-visible,
.new-request-form input[type="submit"]:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

/* Original content hierarchy: section pages use article lists, not landing
   page tiles or stretch-to-fill grid rows. */
.section-page .section-tree {
  display: block;
  margin: 0;
}

.section-page .section-tree .section {
  box-sizing: border-box;
  float: left;
  min-height: 1px;
  padding: 0 15px;
  position: relative;
  width: 100%;
}

.section-page .section-tree .section__title {
  color: var(--z-orange);
  font-size: 1rem;
  font-weight: 400;
  margin: 0 0 8px;
}

.section-page .section-tree .section__title-link {
  color: var(--z-orange);
  text-decoration: none;
}

.section-page .section-tree .article-list,
.section-page .section-direct-articles .article-list {
  display: block;
  margin: 0 0 24px;
}

.section-page .section-tree .article-list-item,
.section-page .section-direct-articles .article-list-item {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #e7e7e7;
  border-radius: 0;
  display: block;
  font-size: 0.875rem;
  padding: 10px 0;
}

.section-page .section-tree .article-list-item:hover,
.section-page .section-direct-articles .article-list-item:hover {
  background: transparent;
  border-color: #e7e7e7;
  box-shadow: none;
}

.section-page .section-tree .article-list-item__link,
.section-page .section-direct-articles .article-list-item__link {
  color: var(--z-text);
  display: block;
  text-decoration: none;
}

.section-page .section-tree .article-list-item__link:hover,
.section-page .section-direct-articles .article-list-item__link:hover {
  color: var(--z-orange);
}

.section-page .section-tree::after {
  clear: both;
  content: "";
  display: table;
}

@media (min-width: 768px) {
  .section-page .section-tree .section {
    width: 50%;
  }
}

@media (min-width: 992px) {
  .section-page .section-tree .section {
    width: 33.33333333%;
  }

  .section-page .section-tree .section:nth-child(3n + 1) {
    clear: left;
  }
}

/* Content-page rules must come last so the original article rhythm is not
   overridden by the landing-page card system. */
.article-page .article {
  max-width: none;
  min-width: 0;
  padding: 0;
}

.article-page {
  max-width: none;
}

.article-page .container-inner {
  max-width: 1200px;
}

/* Keep category tiles in one predictable grid. The legacy column classes on
   these elements otherwise introduce offsets when combined with the redesign. */
.category-page .zensai-section-tile-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 16px;
  margin: 24px 0 48px;
  padding: 0;
}

.category-page .zensai-section-tile-grid::before,
.category-page .zensai-section-tile-grid::after {
  display: none;
}

.category-page .zensai-section-tile-wrapper {
  box-sizing: border-box;
  float: none;
  margin: 0;
  min-width: 0;
  padding: 0;
  width: auto;
}

.category-page .zensai-section-tile-link {
  box-sizing: border-box;
  min-height: 96px;
  height: 100%;
}

/* Use Zendesk's standard link setting for readable text links instead of the
   orange brand accent. Navigation, cards, and buttons retain their styling. */
.article-body a,
.comment-body a {
  color: #1f73b7;
}

.article-body a:hover,
.article-body a:focus-visible,
.comment-body a:hover,
.comment-body a:focus-visible {
  color: #174a7c;
}

@media (max-width: 767px) {
  .category-page .zensai-section-tile-grid {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .category-page .zensai-section-tile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.article-page .article-header {
  align-items: flex-start;
  background: transparent;
  border: 0;
  border-radius: 0;
  display: flex;
  flex-direction: column;
  margin: 20px 0 40px;
  padding: 0;
}

.article-page .article__title {
  color: var(--z-text);
  font-size: 41px;
  font-weight: 300;
  letter-spacing: normal;
  line-height: 1.2;
  margin: 0 0 20px;
}

.article-page .article-body {
  display: flow-root;
  font-family: "Open Sans", serif;
  font-size: 18px;
  line-height: 1.5;
  margin-bottom: 24px;
  max-width: none;
}

.article-page .article-body p {
  margin-bottom: 1em;
}

.article-page .article-body ul,
.article-page .article-body ol {
  list-style-position: outside;
  margin: 20px 0 20px 20px;
  padding-left: 20px;
}

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

.article-page .article-body img {
  height: auto;
  max-width: 100%;
}

.article-page .article-body figure.image {
  display: table;
  margin: 0 auto;
}

.article-page .article-body figure.image > img {
  display: block;
  width: 100%;
}

/* Article media should use the available content width while preserving its
   native proportions. Inline embed dimensions from external players are often
   only thumbnail-sized, so they must not constrain the rendered player. */
.article-page .article-body iframe,
.article-page .article-body video,
.article-page .article-body embed,
.article-page .article-body object {
  display: block;
  width: 100% !important;
  max-width: 100%;
  height: auto !important;
  min-height: 360px;
  aspect-ratio: 16 / 9;
  margin: 24px 0;
}

.article-page .article-body img {
  display: block;
  height: auto;
  max-width: 100%;
}

.article-page .article-body figure.image {
  max-width: 100%;
}

.article-page .article-body a,
.comment-body a {
  color: #1f73b7;
}

.article-page .article-body a:visited,
.comment-body a:visited {
  color: #1f73b7;
}

.article-page .article-body a:hover,
.article-page .article-body a:active,
.article-page .article-body a:focus-visible,
.comment-body a:hover,
.comment-body a:active,
.comment-body a:focus-visible {
  color: #174a7c;
}

.article-page .lt-toc {
  color: var(--z-text);
  font-family: "Open Sans", serif;
  font-size: 14px;
}

.article-page .lt-toc_is-desktop .lt-toc--title {
  color: var(--z-text);
  font-size: 20px;
  font-weight: 400;
}

.article-page .lt-toc--link {
  color: var(--z-text);
}

.article-page .lt-toc--item.active > .lt-toc--link {
  background-color: var(--z-orange);
  color: #fff;
}

.article-page .article__tags {
  display: block;
  margin: 0 0 16px;
}

.article-page .article__tags li {
  display: inline-block;
  margin-bottom: 10px;
}

.article-page .article__tags li + li {
  margin-left: 10px;
}

.article-page .article__tags .btn {
  border-radius: 4px;
  padding: 2px 10px;
}

@media (max-width: 767px) {
  .article-page .article {
    padding: 0;
  }

  .article-page .article__title {
    font-size: 24px;
  }

  .article-page .article-body iframe,
  .article-page .article-body video,
  .article-page .article-body embed,
  .article-page .article-body object {
    min-height: 200px;
  }
}

/* Final article layout guard. The TOC plugin changes its own position and
   width while scrolling; keep its containing column beside the article. */
@media (min-width: 768px) {
  .article-page article > .row {
    display: flex !important;
    align-items: flex-start;
    flex-wrap: nowrap;
  }

  .article-page article > .row > .column--sm-3 {
    flex: 0 0 25% !important;
    float: none !important;
    max-width: 25% !important;
    width: 25% !important;
  }

  .article-page article > .row > .column--sm-9 {
    flex: 0 0 75% !important;
    float: none !important;
    max-width: 75% !important;
    min-width: 0;
    width: 75% !important;
  }

}

@media (min-width: 768px) {
  .article-page article > .row > .column--sm-3 {
    float: left;
    width: 25%;
  }

  .article-page article > .row > .column--sm-9 {
    float: left;
    width: 75%;
  }
}

/* Final original article restoration: keep the documentation page centered and
   preserve the original readable Open Sans article/TOC scale. */
.container.article-page {
  max-width: none;
  padding-left: 15px;
  padding-right: 15px;
}

.article-page .container-inner {
  margin: 0 auto;
  max-width: 1200px;
}

.article-page,
.article-page .article,
.article-page .article-body,
.article-page .lt-toc {
  font-family: "Open Sans", serif;
}

.article-page .article-body {
  font-size: 18px;
  line-height: 1.5;
}

.article-page .lt-toc {
  font-size: 18px;
  line-height: 1.5;
}

.article-page .lt-toc_is-desktop .lt-toc--title {
  color: #333;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.5;
}

.article-page .lt-toc--link {
  color: #33798e;
}

.article-page .lt-toc--item.active > .lt-toc--link {
  background-color: #33798e;
  color: #fff;
}

.article-page .lt-toc--item-h2.parent .lt-toc-toggle::after,
.article-page .lt-toc--item-h3.parent .lt-toc-toggle::after {
  content: "";
  width: 8px;
  height: 8px;
  margin-top: -4px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  font-family: inherit;
  transform: rotate(45deg);
}

.article-page .lt-toc--item-h2.parent > a.open + .lt-toc-toggle::after,
.article-page .lt-toc--item-h3.parent > a.open + .lt-toc-toggle::after {
  content: "";
  transform: rotate(135deg);
}

.article-page .article-vote {
  position: relative;
  padding: 24px 12px;
  border: 2px solid #eceeef;
  border-radius: 4px;
}

.article-page .article-vote-question {
  float: left;
  margin-right: 12px;
}

.article-page .article-vote-controls {
  white-space: nowrap;
}

.article-page .article-vote-controls__item {
  display: inline-block;
  margin-right: 4px;
  padding: 6px 12px;
  color: #333;
  background-color: #eceeef;
  border: 1px solid #eceeef;
  border-radius: 4px;
  text-align: center;
  text-decoration: none;
}

.article-page .article-vote-controls__item:hover,
.article-page .article-vote-controls__item:focus,
.article-page .article-vote-controls__item:active {
  color: #141414;
  background-color: #d0d5d8;
  border-color: #cbd0d3;
}

.article-page .article-vote-controls__item--voted {
  color: #1a1a1a;
  border-color: #1a1a1a;
}

.article-page .article-vote-count {
  display: block;
  font-size: 12px;
  color: #979797;
}

.article-page .article-vote {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 8px;
  width: auto;
  max-width: 100%;
  padding: 12px;
}

.article-page .article-vote-question {
  float: none;
  margin-right: 4px;
}

.article-page .article-vote-controls {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.article-page .article-vote-controls__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 28px;
  margin-right: 0;
  padding: 0;
  font-size: 0;
  line-height: 1;
}

.article-page .article-vote-controls__item::before {
  font-size: 16px;
  line-height: 1;
}

.article-page .article-vote-controls__item--up::before {
  content: "👍";
}

.article-page .article-vote-controls__item--down::before {
  content: "👎";
}

.article-page .article-vote-count {
  flex-basis: 100%;
}

.article-page .breadcrumbs {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  max-width: 100%;
  margin: 0 0 28px;
  padding: 10px 14px;
  list-style: none;
  background: #f7fafc;
  border: 1px solid #d9e5eb;
  border-radius: 999px;
  box-shadow: 0 2px 8px rgba(51, 121, 142, 0.08);
  font-family: "Open Sans", serif;
  font-size: 14px;
  line-height: 1.4;
}

.article-page .breadcrumbs > li {
  display: inline-flex;
  align-items: center;
  max-width: none;
  color: #667085;
  font-size: inherit;
  line-height: inherit;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}

.article-page .breadcrumbs > li + li::before {
  content: "›";
  margin: 0 2px 0 0;
  color: #8aa4ad;
  font-size: 16px;
  line-height: 1;
}

.article-page .breadcrumbs a,
.article-page .breadcrumbs li a,
.article-page .breadcrumbs li a:visited {
  display: inline;
  color: #33798e;
  font-weight: 600;
  text-decoration: none;
}

.article-page .breadcrumbs a::after {
  display: none;
}

.article-page .breadcrumbs a:hover,
.article-page .breadcrumbs a:focus {
  color: #1f5f73;
  text-decoration: underline;
  text-shadow: none;
}

@media (max-width: 767px) {
  .article-page .breadcrumbs {
    display: flex;
    width: 100%;
    border-radius: 12px;
    font-size: 13px;
  }
}

/* Standardized breadcrumb navigation across article, section, and category
   pages. This must come last so all page templates use the same treatment. */
.container .breadcrumbs {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 10px;
  row-gap: 8px;
  max-width: 100%;
  margin: 0 0 32px;
  padding: 12px 16px;
  list-style: none;
  background: #f7fafc;
  border: 1px solid #d9e5eb;
  border-radius: 999px;
  box-shadow: 0 2px 8px rgba(51, 121, 142, 0.08);
  font-family: "Open Sans", serif;
  font-size: 14px;
  line-height: 1.45;
}

.container .breadcrumbs > li {
  display: inline-flex;
  align-items: center;
  max-width: none;
  color: #667085;
  font-size: inherit;
  line-height: inherit;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}

.container .breadcrumbs > li + li::before {
  content: "›";
  margin: 0 6px 0 0;
  color: #8aa4ad;
  font-size: 17px;
  line-height: 1;
}

.container .breadcrumbs a,
.container .breadcrumbs li a,
.container .breadcrumbs li a:visited {
  display: inline;
  color: #33798e;
  font-weight: 600;
  text-decoration: none;
}

.container .breadcrumbs a::after {
  display: none;
}

.container .breadcrumbs a:hover,
.container .breadcrumbs a:focus {
  color: #1f5f73;
  text-decoration: underline;
  text-shadow: none;
}

@media (max-width: 767px) {
  .container .breadcrumbs {
    display: flex;
    width: 100%;
    border-radius: 12px;
    font-size: 13px;
  }
}

/* Header release notes dropdown */
.header .nav-dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.header .nav-dropdown-toggle {
  cursor: pointer;
  font-family: var(--z-body-font);
  list-style: none;
}

.header .nav-dropdown-toggle::-webkit-details-marker {
  display: none;
}

.header .nav-dropdown-toggle::after {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-left: 8px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
}

.header .nav-dropdown-menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  z-index: 1100;
  min-width: 260px;
  padding: 8px;
  background: #fff;
  border: 1px solid rgba(82, 27, 11, 0.12);
  border-radius: 12px;
  box-shadow: 0 14px 34px rgba(26, 26, 26, 0.14);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease;
}

.header .nav-dropdown:focus-within .nav-dropdown-menu,
.header .nav-dropdown[open] .nav-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.header .nav-dropdown-menu a {
  display: block;
  padding: 10px 12px;
  border-radius: 8px;
  color: #1a1a1a;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  white-space: nowrap;
}

.header .nav-dropdown-menu a:hover,
.header .nav-dropdown-menu a:focus {
  background: #f7fafc;
  color: #33798e;
  text-shadow: none;
  transform: none;
}

@media (max-width: 900px) {
  .header .nav-dropdown-menu {
    left: auto;
    right: 0;
  }
}

/* Search result breadcrumbs are metadata, not page-level breadcrumbs. Keep the
   top breadcrumb pill intact while making each result row compact. */
.search-results-list .search-result-breadcrumbs {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 5px;
  row-gap: 3px;
  max-width: 100%;
  margin: 6px 0 4px;
  padding: 5px 9px;
  background: #f7fafc;
  border: 1px solid #d9e5eb;
  border-radius: 999px;
  box-shadow: none;
  font-family: "Open Sans", serif;
  font-size: 11px;
  line-height: 1.25;
}

.search-results-list .search-result-breadcrumbs > li {
  display: inline-flex;
  align-items: center;
  max-width: 180px;
  color: #667085;
  font-size: inherit;
  line-height: inherit;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.search-results-list .search-result-breadcrumbs > li + li::before {
  content: "›";
  margin: 0 3px 0 0;
  color: #8aa4ad;
  font-size: 12px;
  line-height: 1;
}

.search-results-list .search-result-breadcrumbs a,
.search-results-list .search-result-breadcrumbs li a,
.search-results-list .search-result-breadcrumbs li a:visited {
  color: #33798e;
  font-weight: 600;
  text-decoration: none;
}

.search-results-list .search-result-breadcrumbs a:hover,
.search-results-list .search-result-breadcrumbs a:focus {
  color: #1f5f73;
  text-decoration: underline;
}

@media (min-width: 1024px) {
  .search-results--no-sidebar .search-results-column {
    flex: 0 0 100%;
  }
}

.search-results-pagination .pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.search-results-pagination .pagination-page-link,
.search-results-pagination .pagination-page-ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 30px;
  padding: 0 8px;
  border: 1px solid #FF7A45;
  border-radius: 4px;
  color: #FF7A45;
  font-size: 12px;
  line-height: 1;
  text-decoration: none;
}

.search-results-pagination .pagination-page-link:hover,
.search-results-pagination .pagination-page-link:focus,
.search-results-pagination .pagination-page-link.is-current {
  background: #FF7A45;
  color: #FFFFFF;
  text-decoration: none;
}

.search-results-pagination .pagination-page-ellipsis {
  border-color: transparent;
  color: #68737d;
}

.section-page--hide-article-lists .article-list,
.section-page--hide-article-lists .see-all-articles,
.section-page--hide-article-lists .section-direct-articles {
  display: none;
}

/* Keep the main header navigation on one line. The search field can compress
   before nav labels wrap, which prevents "Release notes" and "Submit a request"
   from breaking across two lines in end-user preview widths. */
.header .header-inner {
  flex-wrap: nowrap;
}

.header .logo-section {
  min-width: 0;
}

.header .logo-text {
  white-space: nowrap;
}

.header .header-search-bar {
  flex: 1 1 240px;
  min-width: 160px;
  max-width: 300px;
}

.header .nav {
  flex: 0 0 auto;
  flex-wrap: nowrap;
  gap: 4px;
  min-width: 0;
}

.header .nav a,
.header .nav .nav-link,
.header .nav-dropdown,
.header .nav-dropdown-toggle {
  flex: 0 0 auto;
  white-space: nowrap;
}

.header .nav a,
.header .nav .nav-link {
  padding-left: 10px;
  padding-right: 10px;
  font-size: 0.875rem;
  line-height: 1.25;
}

.header .nav .nav-cta {
  padding-left: 12px;
  padding-right: 12px;
}

.header .nav-toggle {
  display: none;
}

@media (max-width: 980px) {
  .header .header-inner {
    gap: 12px;
  }

  .header .header-search-bar {
    flex-basis: 180px;
    min-width: 130px;
  }

  .header .nav a,
  .header .nav .nav-link {
    padding-left: 7px;
    padding-right: 7px;
    font-size: 0.8125rem;
  }
}

@media (max-width: 900px) {
  .header .header-inner {
    height: auto;
    min-height: 64px;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px 12px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .header .logo-section {
    order: 1;
  }

  .header .header-search-bar {
    order: 2;
    flex: 1 1 180px;
    min-width: 140px;
    max-width: none;
  }

  .header .nav-toggle {
    order: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-left: auto;
    min-height: 40px;
    padding: 8px 12px;
    background: #ffffff;
    border: 1px solid rgba(82, 27, 11, 0.16);
    border-radius: 8px;
    color: #1a1a1a;
    cursor: pointer;
    font-family: var(--z-body-font);
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1;
  }

  .header .nav-toggle:hover,
  .header .nav-toggle:focus-visible {
    border-color: var(--z-orange);
    box-shadow: var(--z-focus-strong);
    outline: none;
  }

  .header .nav-toggle__icon,
  .header .nav-toggle__icon::before,
  .header .nav-toggle__icon::after {
    display: block;
    width: 18px;
    height: 2px;
    background: currentColor;
    border-radius: 999px;
    transition: transform 0.18s ease, opacity 0.18s ease;
  }

  .header .nav-toggle__icon {
    position: relative;
  }

  .header .nav-toggle__icon::before,
  .header .nav-toggle__icon::after {
    content: "";
    position: absolute;
    left: 0;
  }

  .header .nav-toggle__icon::before {
    top: -6px;
  }

  .header .nav-toggle__icon::after {
    top: 6px;
  }

  .header.is-nav-open .nav-toggle__icon {
    background: transparent;
  }

  .header.is-nav-open .nav-toggle__icon::before {
    transform: translateY(6px) rotate(45deg);
  }

  .header.is-nav-open .nav-toggle__icon::after {
    transform: translateY(-6px) rotate(-45deg);
  }

  .header .nav {
    order: 4;
    display: none;
    flex: 1 0 100%;
    width: 100%;
    margin-left: 0;
    padding: 10px 0 4px;
    border-top: 1px solid rgba(82, 27, 11, 0.1);
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
  }

  .header.is-nav-open .nav {
    display: flex;
  }

  .header .nav a,
  .header .nav .nav-link,
  .header .nav-dropdown,
  .header .nav-dropdown-toggle {
    width: 100%;
  }

  .header .nav a,
  .header .nav .nav-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    font-size: 0.9375rem;
    line-height: 1.25;
  }

  .header .nav .nav-cta {
    justify-content: center;
  }

  .header .nav-dropdown {
    display: block;
  }

  .header .nav-dropdown-toggle::after {
    margin-left: auto;
  }

  .header .nav-dropdown-menu {
    position: static;
    width: 100%;
    min-width: 0;
    margin: 4px 0 6px;
    padding: 6px;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  .header .nav-dropdown-menu a {
    padding: 10px 14px 10px 24px;
    white-space: normal;
  }
}

@media (max-width: 640px) {
  .header .header-search-bar {
    order: 4;
    flex-basis: 100%;
    width: 100%;
  }

  .header .nav {
    order: 5;
  }
}

/* Final request-page alignment override. Keep this at the end so broad layout
   rules above cannot push ticket pages to the side or squeeze the thread. */
.request-page.container {
  max-width: 1120px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--space-3) !important;
  padding-right: var(--space-3) !important;
}

.request-page > .container-inner {
  max-width: 1040px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.request-page .row,
.request-page .request-layout {
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.request-page .request-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 720px) 260px !important;
  gap: 32px !important;
  justify-content: center !important;
  align-items: start !important;
}

.request-page .request-layout::before,
.request-page .request-layout::after {
  display: none !important;
  content: none !important;
}

.request-page .request-layout > .column,
.request-page .request-layout__main,
.request-page .request-layout__aside {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.request-page .request-column {
  width: 100% !important;
  max-width: 720px !important;
  margin: 0 !important;
}

.request-page .row:first-of-type > .column {
  float: none !important;
  width: 100% !important;
  max-width: 1040px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 980px) {
  .request-page .request-layout {
    grid-template-columns: minmax(0, 720px) !important;
  }
}
