@charset "UTF-8";

/***** Normalize.css *****/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

main {
  display: block;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

a {
  background-color: transparent;
}


strong,
b {
  font-family: 'Graphik', sans-serif;
  font-weight: 600;
}

img {
  border-style: none;
}

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

textarea {
  overflow: auto;
}

[type=checkbox] {
  box-sizing: border-box;
  padding: 0;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

[hidden] {
  display: none;
}

/***** Base *****/
* {
  box-sizing: border-box;
}

body {
  background-color: #FFFFFF;
  color: #2F3941;
  font-family: 'Graphik', sans-serif;
  font-size: 15px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

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

h1,
h2,
h3,
h4 {
  font-family: 'Swile Nova', sans-serif;
  margin-top: 0;
}

h1 {
  font-size: 32px;
}

h2 {
  font-size: 22px;
}

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

h4 {
  font-size: 16px;
}

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

a:visited {
  color: #9358B0;
}

a:hover,
a:active,
a:focus {
  text-decoration: underline;
}

.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[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 #17494D;
}

.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 #17494D;
}

.container {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 5%;
}

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

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

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

.error-page {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 5%;
}

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

.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;
}

/***** Buttons *****/
.button,
.pagination-next-link,
.pagination-prev-link,
.pagination-first-link,
.pagination-last-link,
.subscriptions-subscribe button,
.community-follow button,
.article-subscribe button,
.section-subscribe button,
.split-button button {
  background-color: transparent;
  border: 1px solid #17494D;
  border-radius: 4px;
  color: #17494D;
  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,
  .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,
.community-follow button:visited,
.article-subscribe button:visited,
.section-subscribe button:visited,
.split-button button:visited {
  color: #17494D;
}

.button:hover,
.pagination-next-link:hover,
.pagination-prev-link:hover,
.pagination-first-link:hover,
.pagination-last-link:hover,
.subscriptions-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,
.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,
.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,
.community-follow button.button-primary,
.article-subscribe button.button-primary,
.section-subscribe button.button-primary,
.split-button button.button-primary {
  background-color: #17494D;
  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,
.community-follow button.button-primary:hover,
.article-subscribe button.button-primary:hover,
.section-subscribe button.button-primary: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,
.community-follow button.button-primary:focus,
.article-subscribe button.button-primary:focus,
.section-subscribe button.button-primary: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,
.community-follow button.button-primary:active,
.article-subscribe button.button-primary:active,
.section-subscribe button.button-primary:active,
.split-button button.button-primary:active {
  background-color: #000;
  border-color: #000;
}

.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],
.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: #17494D;
  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: #000;
}

.button-large[disabled],
.hbs-form input[type=submit][disabled] {
  background-color: #ddd;
}

.button-secondary {
  color: #5a6d7c;
  border: 1px solid #848F99;
  background-color: transparent;
}

.button-secondary:visited {
  color: #5a6d7c;
}

.button-secondary:hover,
.button-secondary:focus,
.button-secondary:active {
  color: #2F3941;
  border: 1px solid #848F99;
  background-color: #f7f7f7;
}

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

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

.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;
}

/***** 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: #5a6d7c;
  font-size: 13px;
  text-align: left;
}

.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 #17494D;
}

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

.form-field input[type=text]:focus {
  border: 1px solid #17494D;
}

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

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

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

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

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

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

/***** Header *****/
.header {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 5%;
  position: relative;
  align-items: center;
  display: flex;
  height: 71px;
  justify-content: space-between;
}

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

.logo img {
  max-height: 37px;
  vertical-align: middle;
}

.logo span {
  margin: 0 10px;
  color: #17494D;
}

.logo a {
  display: inline-block;
}

.logo a:hover,
.logo a:focus,
.logo a:active {
  text-decoration: none;
}

.user-nav {
  display: inline-block;
  position: absolute;
  white-space: nowrap;
}

@media (min-width: 768px) {
  .user-nav {
    position: relative;
  }
}

.user-nav[aria-expanded=true] {
  background-color: #fff;
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.15), 0 4px 10px 0 rgba(0, 0, 0, 0.1);
  border: solid 1px #ddd;
  right: 0;
  left: 0;
  top: 71px;
  z-index: 1;
}

.user-nav[aria-expanded=true]>a {
  display: block;
  margin: 20px;
}

.user-nav[aria-expanded=true]>.user-nav-list li {
  display: block;
}

.user-nav[aria-expanded=true]>.user-nav-list a {
  display: block;
  margin: 20px;
}

.user-nav-list {
  display: block;
  list-style: none;
}

.user-nav-list>li {
  display: inline-block;
}

@media (max-width: 768px) {
  .nav-wrapper-desktop {
    display: none;
  }
}

@media (min-width: 768px) {
  .nav-wrapper-desktop {
    display: none;
  }
}

@media (min-width: 1024px) {
  .nav-wrapper-desktop {
    display: inline-block;
  }
}

.nav-wrapper-desktop a {
  border: 0;
  color: #1F73B7;
  display: none;
  font-size: 14px;
  padding: 0 20px 0 0;
  width: auto;
}

@media (min-width: 768px) {
  .nav-wrapper-desktop a {
    display: inline-block;
  }
}

.nav-wrapper-desktop a:hover,
.nav-wrapper-desktop a:focus,
.nav-wrapper-desktop a:active {
  background-color: transparent;
  color: #1F73B7;
  text-decoration: underline;
}

@media (min-width: 1024px) {
  .nav-wrapper-mobile {
    display: none;
  }
}

.nav-wrapper-mobile .menu-button-mobile {
  background: none;
  border: 0;
  width: auto;
  min-width: 71px;
  cursor: pointer;
}

.nav-wrapper-mobile .menu-button-mobile .icon-menu {
  padding: 7px;
  vertical-align: middle;
  width: 30px;
  height: 30px;
  border-radius: 50%;
}

.nav-wrapper-mobile .menu-button-mobile[aria-expanded=true] .icon-menu {
  background: #f3f3f3;
}

.nav-wrapper-mobile .menu-list-mobile {
  position: absolute;
  background-color: #fff;
  box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.15);
  border-top: solid 1px #ddd;
  border-bottom: solid 1px #ddd;
  right: 0;
  left: 0;
  top: 71px;
  z-index: 2;
}

.nav-wrapper-mobile .menu-list-mobile[aria-expanded=false] {
  display: none;
}

.nav-wrapper-mobile .menu-list-mobile[aria-expanded=true] {
  display: block;
}

.nav-wrapper-mobile .menu-list-mobile-items .item {
  margin: 4px 0;
}

.nav-wrapper-mobile .menu-list-mobile-items li:empty:not(.nav-divider) {
  display: none;
}

.nav-wrapper-mobile .menu-list-mobile-items .nav-divider {
  border-bottom: 0.1px solid #ddd;
  padding: 0;
}

.nav-wrapper-mobile .menu-list-mobile-items .nav-divider:last-child {
  display: none;
}

.nav-wrapper-mobile .menu-list-mobile-items button {
  background: none;
  border: none;
  padding: 8px 24px;
  width: 100%;
  height: 100%;
  color: #2F3941;
  cursor: pointer;
  text-align: start;
}

.nav-wrapper-mobile .menu-list-mobile-items button:active,
.nav-wrapper-mobile .menu-list-mobile-items button:focus,
.nav-wrapper-mobile .menu-list-mobile-items button:hover {
  background-color: #f3f3f3;
  text-decoration: underline;
}

.nav-wrapper-mobile .menu-list-mobile-items a {
  display: block;
  padding: 8px 24px;
  width: 100%;
  height: 100%;
  color: #2F3941;
}

.nav-wrapper-mobile .menu-list-mobile-items a:active,
.nav-wrapper-mobile .menu-list-mobile-items a:focus,
.nav-wrapper-mobile .menu-list-mobile-items a:hover {
  background-color: #f3f3f3;
}

.nav-wrapper-mobile .menu-list-mobile-items .my-profile {
  display: flex;
  line-height: 1.5;
}

.nav-wrapper-mobile .menu-list-mobile-items .my-profile .my-profile-tooltip {
  font-size: 12px;
  color: #68737D;
}

.nav-wrapper-mobile .menu-list-mobile-items .menu-profile-avatar {
  height: 20px;
  width: 20px;
  border-radius: 50%;
  display: inline-block;
  margin-right: 8px;
  margin-top: 1px;
}

.skip-navigation {
  align-items: center;
  background-color: black;
  color: white;
  display: flex;
  font-size: 14px;
  justify-content: center;
  left: -999px;
  margin: 20px;
  padding: 20px;
  overflow: hidden;
  position: absolute;
  top: auto;
  z-index: -999;
}

.skip-navigation:focus,
.skip-navigation:active {
  left: auto;
  overflow: auto;
  text-align: center;
  text-decoration: none;
  top: auto;
  z-index: 999;
}

#zd-modal-container~.skip-navigation {
  display: none;
}

/***** User info in header *****/
.user-info {
  display: inline-block;
}

.user-info .dropdown-toggle::after {
  display: none;
}

@media (min-width: 768px) {
  .user-info .dropdown-toggle::after {
    display: inline-block;
  }
}

.user-info>button {
  border: 0;
  color: #1F73B7;
  min-width: 0;
  padding: 0;
  white-space: nowrap;
}

.user-info>button:hover,
.user-info>button:focus {
  color: #1F73B7;
  background-color: transparent;
}

.user-info>button::after {
  color: #1F73B7;
  padding-right: 15px;
}

#user #user-name {
  display: none;
  font-size: 14px;
}

@media (min-width: 768px) {
  #user #user-name {
    display: inline-block;
  }
}

#user #user-name:hover {
  text-decoration: underline;
}

/***** 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: #17494D;
  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;
}

/***** Footer *****/
.footer {
  border-top: 1px solid #ddd;
  margin-top: 60px;
  padding: 30px 0;
}

.footer a {
  color: #5a6d7c;
}

.footer-inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 5%;
  display: flex;
  justify-content: space-between;
}

@media (min-width: 1160px) {
  .footer-inner {
    padding: 0;
    width: 90%;
  }
}

.footer-language-selector button {
  color: #5a6d7c;
  display: inline-block;
}

/***** Breadcrumbs *****/
.breadcrumbs {
  margin: 0 0 15px 0;
  padding: 0;
  display: flex;
}

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

.breadcrumbs li {
  color: #5a6d7c;
  font-size: 13px;
  max-width: 450px;
  overflow: hidden;
  text-overflow: ellipsis;
}

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

.breadcrumbs li a:visited {
  color: #1F73B7;
}

/***** 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: #17494D;
}

.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: #17494D;
  color: #fff;
}

.search .clear-button:focus {
  outline: 0;
  box-shadow: 0 0 0 3px #17494D;
}

.search-has-value .clear-button {
  display: flex;
}

.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;
}

/***** Hero component *****/
.hero {
  background-image: url(/hc/theming_assets/01J912G4XG2BHDEE4EXTV3SAQT);
  background-position: center;
  background-size: cover;
  height: 300px;
  padding: 0 20px;
  text-align: center;
  width: 100%;
}

.hero-inner {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  max-width: 610px;
  margin: 0 auto;
}

.page-header {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 10px 0;
}

@media (min-width: 768px) {
  .page-header {
    align-items: baseline;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16px;
    margin: 0;
  }
}

.page-header .section-subscribe {
  flex-shrink: 0;
  margin-bottom: 10px;
}

@media (min-width: 768px) {
  .page-header .section-subscribe {
    margin-bottom: 0;
  }
}

.page-header h1 {
  flex-grow: 1;
  margin-bottom: 10px;
}

.page-header-description {
  font-style: italic;
  margin: 0 0 30px 0;
  word-break: break-word;
}

@media (min-width: 1024px) {
  .page-header-description {
    flex-basis: 100%;
  }
}

.page-header .icon-lock {
  height: 20px;
  width: 20px;
  position: relative;
  left: -5px;
  vertical-align: baseline;
}

.sub-nav {
  align-items: baseline;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 15px 30px;
  justify-content: space-between;
  margin-bottom: 55px;
}

@media (min-width: 768px) {
  .sub-nav {
    flex-direction: row;
  }
}

.sub-nav .breadcrumbs {
  margin: 0;
}

.sub-nav .search-container {
  max-width: 300px;
  width: 100%;
}

@media (min-width: 768px) {
  .sub-nav .search-container {
    flex: 0 1 300px;
  }
}

.sub-nav input[type=search]::after {
  font-size: 15px;
}

/***** Blocks *****/
/* Used in Homepage#categories and Community#topics */

/***** Homepage *****/
.section {
  margin-bottom: 40px;
}

@media (min-width: 768px) {
  .section {
    margin-bottom: 60px;
  }
}

.home-section h2 {
  margin-bottom: 10px;
  text-align: center;
}

/***** 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 */
  }
}

.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;
  }
}

/***** 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: #2F3941;
  margin: 15px 0 0 0;
  float: none;
}

@media (min-width: 768px) {
  .recent-activity-item-meta {
    margin: 0;
    float: right;
  }
}

.recent-activity-item-time,
.recent-activity-item-comment {
  display: inline-block;
  font-size: 13px;
}

.recent-activity-item-comment {
  padding-left: 5px;
}

.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: #9358B0;
}

.recent-activity-controls a:hover,
.recent-activity-controls a:active,
.recent-activity-controls a:focus {
  color: #0F3554;
}

.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: #17494D;
  width: 16px;
  height: 16px;
}

.recent-activity-comment-icon:after {
  content: attr(data-comment-count);
  margin-left: 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: #2F3941;
}

.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: #2F3941;
}

.icon-star {
  color: #17494D;
  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;
}

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

.section-list-item a {
  align-items: center;
  color: #2F3941;
  display: flex;
  justify-content: space-between;
}

.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: #9358B0;
}

.article-body a:hover,
.article-body a:active,
.article-body a:focus {
  color: #0F3554;
}

.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;
}

.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: #5a6d7c;
  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: #5a6d7c;
}

.article-comment-count:hover {
  text-decoration: none;
}

.article-comment-count-icon {
  vertical-align: middle;
  color: #17494D;
  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: #9358B0;
}

.article-more-questions a:hover,
.article-more-questions a:active,
.article-more-questions a:focus {
  color: #0F3554;
}

.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: #2F3941;
  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;
}

/***** 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: #2F3941;
  left: 0;
  position: absolute;
  top: 5px;
}

.upload-dropzone span {
  color: #5a6d7c;
}

/***** 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: #5a6d7c;
}

.share a:hover {
  text-decoration: none;
  color: #17494D;
}

.share a svg {
  height: 18px;
  width: 18px;
  display: block;
}

/***** 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: #5a6d7c;
  display: inline-block;
  font-size: 13px;
  margin-bottom: 0;
}

.comment-callout a {
  color: #1F73B7;
  text-decoration: underline;
}

.comment-callout a:visited {
  color: #9358B0;
}

.comment-callout a:hover,
.comment-callout a:active,
.comment-callout a:focus {
  color: #0F3554;
}

.comment-sorter {
  display: inline-block;
  float: right;
}

.comment-sorter .dropdown-toggle {
  color: #5a6d7c;
  font-size: 13px;
}

.comment-wrapper {
  display: flex;
  position: relative;
}

.comment-wrapper.comment-official {
  border: 1px solid #17494D;
  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%;
}

.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;
}

.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;
}

.comment-form-controls input[type=submit] {
  margin-top: 15px;
}

@media (min-width: 1024px) {
  .comment-form-controls input[type=submit] {
    margin-left: 15px;
  }
}

.comment-form-controls input[type=checkbox] {
  margin-right: 5px;
}

.comment-ccs {
  display: none;
}

.comment-ccs+textarea {
  margin-top: 10px;
}

.comment-attachments {
  margin-top: 10px;
}

.comment-attachments a {
  color: #17494D;
}

.comment-body {
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  -webkit-hyphens: auto;
  word-break: break-word;
  word-wrap: break-word;
  display: flow-root;
  font-family: 'Graphik', sans-serif;
  line-height: 1.6;
  overflow-x: auto;
}

.comment-body a {
  color: #1F73B7;
  text-decoration: underline;
}

.comment-body a:visited {
  color: #9358B0;
}

.comment-body a:hover,
.comment-body a:active,
.comment-body a:focus {
  color: #0F3554;
}

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

.comment-body ul,
.comment-body ol {
  padding-left: 20px;
  list-style-position: outside;
  margin: 20px 0 20px 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-mark-as-solved {
  display: inline-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: #5a6d7c;
  display: block;
  margin: 3px 0;
}

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

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

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

.vote-voted {
  color: #17494D;
}

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

/***** 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;
}

/***** Striped list *****/
/* Used in community posts list and requests list */
.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: #9358B0;
}

/***** 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: #17494D;
}

.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;
  }
}

.status-label-not-planned,
.status-label-closed {
  background-color: #e9ebed;
  color: #5a6d7c;
}

.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;
  }
}

/* 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;
  }
}

.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 #17494D;
}

.collapsible-nav-list {
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .collapsible-nav-list {
    flex-direction: row;
  }
}

.collapsible-nav-list li {
  color: #2F3941;
  line-height: 45px;
  order: 1;
}

@media (min-width: 768px) {
  .collapsible-nav-list li {
    line-height: normal;
    margin-right: 30px;
  }

  .collapsible-nav-list li a {
    text-decoration: none;
    padding: 15px 0;
  }
}

.collapsible-nav-list li a {
  color: #2F3941;
  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;
  }
}

.collapsible-nav-list li.current {
  order: 0;
  position: relative;
}

@media (min-width: 768px) {

  .collapsible-nav-list li.current {
    border-bottom: 4px solid #17494D;
    order: 1;
  }
}

.collapsible-nav-list li.current a {
  color: #2F3941;
}

.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;
  }
}

.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 #17494D;
}

.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;
}

/***** 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;
  }
}

.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;
  }
}

.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: #5a6d7c;
  font-size: 13px;
}

@media (min-width: 768px) {
  .contributions-table td:last-child {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
  }
}

.no-activities {
  color: #5a6d7c;
}

/***** 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;
  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: #5a6d7c;
  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>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 #17494D;
}

.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: #5a6d7c;
  width: 40%;
}

.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;
}

.pagination-prev-link {
  padding-left: 10px;
}

.pagination-prev-text {
  margin-left: 10px;
}

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

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

.meta-group * {
  display: inline;
}

.meta-data {
  color: #5a6d7c;
  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;
}

.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;
  }

  .profile-header .options> :not(:last-child) {
    margin-bottom: 0;
    margin-right: 10px;
  }
}

.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: #5a6d7c;
  flex: 0 0 100px;
  margin-right: 10px;
}

.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;
  }
}

@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;
  }
}

@media (min-width: 1024px) {
  .profile-stats-counters {
    flex: 0 0 270px;
    margin-left: 60px;
  }
}

@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 #17494D;
  border-radius: 4px;
  color: #17494D;
  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: #5a6d7c;
  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;
}

@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;
  }
}

.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;
}

.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: #5a6d7c;
  font-size: 13px;
  margin: 0;
}

.profile-badges-item-metadata {
  margin-left: auto;
  text-align: right;
}

.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;
  }
}

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

.profile-contribution-icon {
  left: 0;
  position: absolute;
  color: #ccc;
  line-height: 25px;
}

.profile-contribution-icon svg {
  vertical-align: middle;
}

.profile-contribution-list .profile-contribution-header {
  margin-left: 30px;
}

@media (min-width: 768px) {
  .profile-contribution-list .profile-contribution-header {
    margin-left: 0;
  }
}

.profile-comments .profile-contribution-breadcrumbs {
  margin-left: 30px;
}

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

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

.private-activity-icon {
  margin-right: 10px;
}

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

.profile-activity {
  position: relative;
  padding-bottom: 30px;
}

@media (min-width: 768px) {
  .profile-activity {
    padding-left: 20px;
  }
}

@media (min-width: 768px) {
  .profile-activity:not(:last-child) {
    border-left: 1px solid #ddd;
  }
}

.profile-activity-header {
  display: flex;
  align-items: center;
  margin-left: 35px;
}

@media (min-width: 768px) {
  .profile-activity-header {
    margin-left: 0;
  }
}

.profile-activity-header .user-avatar {
  width: 40px;
  height: 40px;
  margin-right: 10px;
  min-width: 40px;
  align-self: flex-start;
}

.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;
  }
}

.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;
}

@media (min-width: 768px) {
  .profile-activity-icon {
    left: -14px;
  }
}

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

/***** 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: #2F3941;
}

.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: #5a6d7c;
  font-size: 13px;
}

.search-result-votes-icon,
.search-result-meta-count-icon {
  color: #17494D;
  vertical-align: middle;
  width: 13px;
  height: 13px;
}

.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;
  }
}

.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 */

/***** 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;
}

.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;
}

.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;
}

.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;
}

.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%;
}

.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-checked=true],
.dropdown-menu [role=menuitemradio][aria-checked=true] {
  cursor: default;
}

.dropdown-menu [role=menuitem][aria-checked=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;
}

.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;
}

.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;
}

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

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

/***** Summary component *****/
zd-summary-block {
  background: #f3f6f6;
}

.service-catalog-hero {
  background-image: url(/hc/theming_assets/01KEH2P5Z1EETN8NSPP52GC1H7);
  margin-bottom: 10px;
  height: 320px;
}

.service-catalog-main-content {
  display: flex;
  gap: 32px;
}

.service-catalog-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 20px;
}

/* ==========================================
   SWILE DESIGN SYSTEM - DOBRAS 3 E 4
   ========================================== */

/* --- 3. Artigos em Destaque --- */
.sw-promoted-section {
  padding: 80px 0;
  background-color: var(--sw-bg-off);
}

.sw-section-header {
  text-align: center;
  margin-bottom: 50px;
}

.sw-section-header h2 {
  font-size: 32px;
  font-weight: 700;
  color: var(--sw-black);
  margin-bottom: 12px;
}

.sw-section-header p {
  color: #666666;
  font-size: 16px;
}

.sw-promoted-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 24px;
}

.sw-promoted-card {
  background: var(--sw-white);
  border: 1px solid #eaeaea;
  border-radius: 16px;
  padding: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-decoration: none;
  color: var(--sw-black);
  transition: all 0.3s ease;
}

.sw-promoted-card:hover {
  border-color: #336DFF;
  box-shadow: 0 8px 25px rgba(51, 109, 255, 0.1);
  transform: translateY(-3px);
  text-decoration: none;
}

.sw-promoted-content {
  display: flex;
  align-items: center;
  gap: 16px;
}

.sw-promoted-content h4 {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
}

.sw-promoted-content .icon-article {
  color: #336DFF;
  font-size: 24px;
  background: #f0f4ff;
  padding: 12px;
  border-radius: 12px;
}

/* --- 4. CTA de Suporte Escuro --- */
.sw-support-cta {
  padding: 80px 0 120px 0;
  background-color: var(--sw-white);
}

.sw-support-box {
  background: linear-gradient(135deg, #111111 0%, #000000 100%);
  border-radius: 24px;
  padding: 60px 80px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}

.sw-support-info h2 {
  font-size: 36px;
  font-weight: 700;
  color: var(--sw-white);
  margin-bottom: 16px;
}

.sw-support-info p {
  font-size: 18px;
  color: #a0a0a0;
  margin-bottom: 32px;
  max-width: 500px;
  line-height: 1.5;
}

.sw-btn-primary {
  background-color: var(--sw-white);
  color: var(--sw-black) !important;
  padding: 16px 32px;
  border-radius: 50px;
  text-decoration: none;
  font-weight: 600;
  font-size: 16px;
  display: inline-block;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sw-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(255, 255, 255, 0.2);
  text-decoration: none;
}

/* Responsividade Básica do CTA */
@media (max-width: 768px) {
  .sw-support-box {
    flex-direction: column;
    padding: 40px 30px;
    text-align: center;
  }

  .sw-support-info p {
    margin: 0 auto 32px auto;
  }

  .sw-support-illustration {
    display: none;
  }
}

/* ==========================================
   LAYOUT REFINADO: CAIXA FLUTUANTE (SWILE)
   ========================================== */

/* 1. Ajuste da Lupa e da Busca */
.sw-search-wrapper {
  width: 100%;
}

.sw-clean-search input[type="search"] {
  width: 100%;
  height: 64px;
  background-color: #f9f9f9 !important;
  border: 1px solid transparent !important;
  border-radius: 16px !important;
  padding: 0 20px 0 60px !important;
  font-size: 16px;
  color: #000;
  transition: all 0.2s ease;
  box-shadow: none !important;
}

.sw-clean-search input[type="search"]:focus {
  background-color: #fff !important;
  border: 1px solid #000 !important;
  outline: none;
}

.sw-clean-search input[type="submit"],
.sw-clean-search button[type="submit"],
.search-box button.close,
input[type="search"]::-webkit-search-cancel-button {
  display: none !important;
  -webkit-appearance: none;
}

/* ==========================================
   AJUSTE DE PROPORÇÃO DA HERO
   ========================================== */

/* 1. Dá um pouco mais de espaço para a coluna de texto (55%) e menos para a imagem (45%) */
.hero-unit__row .column--md-6:first-child {
  flex: 0 0 55% !important;
  max-width: 55% !important;
  padding-right: 40px !important;
}

.hero-unit__row .hero-unit__image-box {
  flex: 0 0 45% !important;
  max-width: 45% !important;
}

/* 2. Reduz a imagem e alinha perfeitamente com a caixa branca */
.hero-unit__image-box img {
  max-width: 600px !important;
  width: 100%;
  display: block;
  margin-left: auto;
  margin-right: 0;
  transform: translateY(30px) !important;
}

/* 3. Ajuste fino do tamanho do texto para evitar quebras feias */
.hero-unit__row h1 {
  font-size: 44px !important;
  line-height: 1.2 !important;
  margin-bottom: 15px !important;
}

/* ==========================================
   AJUSTE DE COR DE FUNDO DO HERO
   ========================================== */

.hero-unit {
  background-color: #ffffff !important;
}


/* ==========================================
   /* ==========================================
   HEADER IMPRESSIONANTE: FLOATING PILL
   ========================================== */

.sw-header-spacer {
  height: 80px;
  width: 100%;
}

.sw-header-full {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
  transition: all 0.3s ease;
}

.sw-header-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 100%; /* Ocupar de margem a margem */
  padding: 16px 40px;
}

.sw-logo-img {
  height: 32px;
  width: auto;
  vertical-align: middle;
}

.sw-header-right {
  display: flex;
  align-items: center;
  gap: 48px; /* Controla o espaço exato entre os links centrais e o botão Dash RH */
}

.sw-nav-center {
  display: flex;
  align-items: center;
  gap: 32px;
}

.sw-nav-link {
  font-size: 15px;
  font-weight: 600;
  color: #333 !important;
  text-decoration: none !important;
  padding: 8px 0;
  transition: all 0.2s ease;
  background: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
}

.sw-nav-link:hover {
  color: #FF2055 !important;
}

/* Base de Conhecimento Dropdown Hover */
.sw-dropdown-hover {
  position: relative;
  display: inline-block;
}

.sw-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1);
  min-width: 220px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  padding: 8px 0;
  z-index: 1000;
}

.sw-dropdown-hover:hover .sw-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.sw-dropdown-item {
  display: block;
  padding: 12px 24px;
  color: #333 !important;
  text-decoration: none !important;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.2s ease;
}

.sw-dropdown-item:hover {
  background: #f8f9fa;
  color: #FF2055 !important;
  padding-left: 28px;
}

.sw-actions-area {
  display: flex;
  align-items: center;
  gap: 16px;
}

a.sw-cta-btn {
  background: #111;
  color: #fff !important;
  font-size: 14px;
  font-weight: 600;
  padding: 12px 24px;
  border-radius: 8px; /* Botão retangular com borda leve */
  text-decoration: none !important;
  transition: all 0.2s ease;
}

a.sw-cta-btn:hover {
  background: #333;
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}

.sw-avatar-btn {
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  border-radius: 50%;
  transition: transform 0.2s ease;
}

.sw-avatar-btn:hover {
  transform: scale(1.05);
}

.sw-avatar-img {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  border: 2px solid #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Responsividade: Volta para um formato mais tradicional no celular por limitação de espaço */
@media (max-width: 768px) {
  .sw-header-container {
    padding: 12px 20px;
  }

  .sw-nav-center {
    display: none;
  }

  a.sw-cta-btn {
    padding: 10px 16px;
    font-size: 13px;
  }
}

/* ==========================================
   FIX: BUSCA LIMPA E CARDS IMPONENTES
   ========================================== */

.sw-floating-fold {
  position: relative;
  z-index: 100;
  margin-top: -120px;
  margin-bottom: 80px;
}

.sw-main-wrapper {
  background: #ffffff;
  border-radius: 24px;
  padding: 60px 50px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
}

/* --- BUSCA: MATANDO O "X" --- */
.sw-search-container {
  position: relative;
  margin-bottom: 60px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.sw-search-icon {
  position: absolute;
  left: 24px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  z-index: 10;
}

.sw-input-search input[type="search"] {
  width: 100%;
  height: 72px;
  background-color: #f8f9fa !important;
  border: 1px solid transparent !important;
  border-radius: 18px !important;
  padding: 0 30px 0 65px !important;
  font-size: 18px;
  color: #000;
  box-shadow: none !important;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
  -webkit-appearance: none !important;
  display: none !important;
}

.sw-input-search .icon-close,
.search-box-close {
  display: none !important;
  visibility: hidden !important;
}

/* --- CARDS: TAMANHO MÁXIMO --- */
.sw-cards-grid {
  display: flex;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
}

.sw-big-card {
  flex: 1 1 450px;
  max-width: 500px;
  background: #ffffff;
  border: 1px solid #f0f0f0;
  border-radius: 20px;
  padding: 50px 30px;
  text-align: center;
  text-decoration: none !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.sw-big-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.06);
  border-color: #000;
}

.sw-icon-box {
  width: 90px;
  height: 90px;
  margin: 0 auto 30px auto;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.sw-icon-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sw-big-card h3 {
  font-size: 24px;
  font-weight: 700;
  color: #000;
  margin-bottom: 15px;
}

.sw-big-card p {
  font-size: 16px;
  color: #666;
  line-height: 1.6;
}

/* ==========================================
   LIMPEZA TOTAL DA BUSCA: MORTE AO QUADRADO COM X
   ========================================== */

/* 1. Alvo específico no botão que o Zendesk injeta */
.sw-search-container button,
.sw-search-container .icon-close,
.search-box button.close {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  position: absolute !important;
  pointer-events: none !important;
}

/* 2. Deixando a busca moderna (Suavizando a borda e o fundo) */
.sw-input-search input[type="search"] {
  width: 100%;
  height: 64px;
  background-color: #f5f6f8 !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 16px !important;
  padding: 0 30px 0 60px !important;
  font-size: 16px;
  color: #000;
  box-shadow: none !important;
  transition: all 0.2s ease;
}

.sw-input-search input[type="search"]:focus {
  background-color: #ffffff !important;
  border-color: #000000 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
  outline: none;
}

/* 3. Posicionamento da Lupa (SVG) */
.sw-search-icon {
  position: absolute;
  left: 24px;
  top: 32px;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  color: #999;
  z-index: 10;
}

/* ==========================================
   BUSCA PREMIUM: MODERN UI 2026
   ========================================== */

.sw-search-premium {
  max-width: 850px;
  margin: 0 auto 60px auto;
  position: relative;
  z-index: 100;
}

.sw-search-inner {
  position: relative;
  display: flex;
  align-items: center;
  background: #ffffff;
  border-radius: 20px;
  box-shadow:
    0 4px 6px -1px rgba(0, 0, 0, 0.05),
    0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 0 0 1px rgba(0, 0, 0, 0.02);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.sw-search-inner:hover {
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  transform: translateY(-2px);
}

.sw-search-inner:focus-within {
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.05), 0 20px 25px -5px rgba(0, 0, 0, 0.1);
  background: #fff;
  transform: translateY(-2px);
}

.sw-input-modern input[type="search"] {
  width: 100%;
  height: 72px;
  background: transparent !important;
  border: none !important;
  padding: 0 100px 0 65px !important;
  font-size: 18px;
  font-weight: 500;
  color: #000;
  outline: none !important;
}

.sw-search-mag {
  position: absolute;
  left: 24px;
  width: 24px;
  height: 24px;
  color: #000;
  pointer-events: none;
}

.sw-search-shortcut {
  position: absolute;
  right: 20px;
  padding: 6px 12px;
  background: #f1f3f5;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 700;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  pointer-events: none;
  border: 1px solid #e9ecef;
}

/* --- LIMPEZA DE RESÍDUOS DO ZENDESK --- */
.sw-input-modern .icon-search,
.sw-input-modern button {
  display: none !important;
}

/* ==========================================
   FORÇAR RESULTADOS PARA BAIXO (VERSÃO FINAL)
   ========================================== */

/* 1. Garante que nenhum container pai corte a lista que desce */
.sw-allow-overflow,
.sw-floating-fold,
.sw-main-wrapper,
.sw-search-premium {
  overflow: visible !important;
  position: relative !important;
}

/* 2. Ataca o container de resultados com força máxima */
.search-results,
[data-zd-type="search-results"] {
  display: block !important;
  position: absolute !important;

  top: 100% !important;
  left: 0 !important;
  right: 0 !important;

  bottom: auto !important;
  transform: none !important;

  margin-top: 15px !important;
  background-color: #ffffff !important;
  border-radius: 16px !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15) !important;
  z-index: 999999 !important;
}

/* 3. Ajuste visual para a lista não ficar colada na borda */
.search-results-list {
  margin: 0 !important;
  padding: 10px !important;
  max-height: 450px !important;
  overflow-y: auto !important;
}


.search-results-item:hover {
  background-color: #f8f9fa !important;
  border-radius: 12px !important;
}

.search-results-item a {
  color: #000 !important;
  text-decoration: none !important;
}

/* Garante que o container da busca permita que os resultados "vazarem" para baixo */
.sw-search-premium,
.sw-main-wrapper,
.sw-floating-fold {
  overflow: visible !important;
  position: relative !important;
}

.search-results {
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  border-radius: 16px !important;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12) !important;
  width: 100% !important;
  max-height: 400px !important;
  z-index: 999999 !important;
}

.search-results-list {
  border: none !important;
  padding: 8px !important;
}

.search-results-item {
  padding: 12px 16px !important;
  border-radius: 12px !important;
}


.search-results-item:hover {
  background-color: #f8f9fa !important;
  text-decoration: none !important;
}

/* ==========================================
   DOBRA 3: ARTIGOS PROMOVIDOS (MODERN UI)
   ========================================== */

.sw-promoted-section {
  padding: 80px 0;
  background-color: #ffffff;
}

.sw-section-header {
  text-align: center;
  margin-bottom: 50px;
}

.sw-section-title {
  font-size: 32px;
  font-weight: 700;
  color: #000;
  margin-bottom: 12px;
}

.sw-section-subtitle {
  font-size: 16px;
  color: #666;
}

.sw-promoted-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 24px;
}

.sw-article-card {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 24px;
  background: #fbfbfb;
  border: 1px solid #f0f0f0;
  border-radius: 16px;
  text-decoration: none !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}

.sw-article-card:hover {
  background: #ffffff;
  border-color: #000;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
  transform: translateY(-4px);
}

.sw-article-icon {
  width: 44px;
  height: 44px;
  background: #ffffff;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04);
  flex-shrink: 0;
}

.sw-article-info {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.sw-article-title {
  font-size: 16px;
  font-weight: 600;
  color: #000;
  line-height: 1.4;
  margin: 0;
}

.sw-read-more {
  font-size: 13px;
  font-weight: 700;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  opacity: 0;
  transform: translateX(-10px);
  transition: all 0.3s ease;
}

.sw-article-card:hover .sw-read-more {
  opacity: 1;
  transform: translateX(0);
  color: #000;
}

.sw-icon-lock {
  position: absolute;
  top: 15px;
  right: 15px;
  color: #999;
}

/* Responsividade */
@media (max-width: 768px) {
  .sw-promoted-grid {
    grid-template-columns: 1fr;
  }

  .sw-section-title {
    font-size: 26px;
  }
}

.sw-card-cta {
  margin-top: 25px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: 15px;
  color: #000;
  transition: all 0.3s ease;
}

.sw-cta-arrow {
  transition: transform 0.3s ease;
}

.sw-big-card:hover .sw-card-cta {
  color: #555;
}

.sw-big-card:hover .sw-cta-arrow {
  transform: translateX(5px);
}

.sw-big-card p {
  margin-bottom: 0;
  min-height: 48px;
}

/* ==========================================
   DOBRA 4: CTA DE SUPORTE (MODERN DARK)
   ========================================== */

.sw-support-cta {
  padding: 100px 0;
  background-color: #fcfcfc;
}

.sw-support-box {
  background: #111111;
  border-radius: 32px;
  padding: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.12);
}

.sw-support-content {
  flex: 1;
  z-index: 2;
}

.sw-support-title {
  color: #ffffff;
  font-size: 36px;
  font-weight: 800;
  margin-bottom: 20px;
}

.sw-support-text {
  color: #999;
  font-size: 18px;
  line-height: 1.6;
  max-width: 480px;
  margin-bottom: 40px;
}

.sw-btn-premium {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: #ffffff;
  color: #000 !important;
  padding: 18px 32px;
  border-radius: 100px;
  font-weight: 700;
  font-size: 16px;
  text-decoration: none !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.sw-btn-premium:hover {
  transform: scale(1.05);
  box-shadow: 0 10px 20px rgba(255, 255, 255, 0.1);
  background: #f0f0f0;
}

.sw-support-visual {
  flex: 0 0 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 2;
}

.sw-glass-circle {
  width: 140px;
  height: 140px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}

.sw-blob-decoration {
  position: absolute;
  width: 200px;
  height: 200px;
  background: linear-gradient(135deg, #FF2055 0%, #A51CF1 100%);
  filter: blur(50px);
  opacity: 0.4;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Responsividade */
@media (max-width: 991px) {
  .sw-support-box {
    flex-direction: column;
    text-align: center;
    padding: 40px 30px;
  }

  .sw-support-text {
    margin-left: auto;
    margin-right: auto;
  }

  .sw-support-visual {
    margin-top: 20px;
  }
}

/* ==========================================
   AJUSTE DE ACOPLAMENTO: GIF + CARD DARK
   ========================================== */

.sw-support-visual {
  flex: 0 0 400px;
  height: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 2;

  -webkit-mask-image: radial-gradient(circle, rgba(0, 0, 0, 1) 40%, rgba(0, 0, 0, 0) 90%);
  mask-image: radial-gradient(circle, rgba(0, 0, 0, 1) 40%, rgba(0, 0, 0, 0) 90%);
}

.sw-support-gif {
  width: 120%;
  height: auto;
  object-fit: contain;
  z-index: 3;

  mix-blend-mode: screen;

  filter: brightness(1.1) contrast(1.2);
  opacity: 0.9;
}

.sw-blob-decoration {
  position: absolute;
  width: 250px;
  height: 250px;
  background: linear-gradient(135deg, #FF2055 0%, #A51CF1 100%);
  filter: blur(80px);
  opacity: 0.5;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media (max-width: 991px) {
  .sw-support-visual {
    flex: 0 0 auto;
    width: 100%;
    height: 250px;
    margin-top: -20px;
  }

  .sw-support-gif {
    width: 100%;
  }
}

/* ==========================================
   DOBRA 4: INTEGRAÇÃO TOTAL (BLEED EFFECT)
   ========================================== */

.sw-support-box {
  background: #0a0a0a;
  border-radius: 32px;
  padding: 80px 60px;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  box-shadow: 0 40px 80px rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.sw-support-content {
  position: relative;
  z-index: 10;
  width: 55%;
}

/* --- O GIF GIGANTE E ACOPLADO --- */
.sw-support-visual-bleed {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 50%;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.sw-support-gif-full {
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center right;
  mix-blend-mode: screen;
  opacity: 0.8;
  filter: contrast(1.2) brightness(1.1);

  -webkit-mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 70%, rgba(0, 0, 0, 0) 100%);
  mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 70%, rgba(0, 0, 0, 0) 100%);
}

.sw-blob-intense {
  position: absolute;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, #FF2055 0%, #A51CF1 100%);
  filter: blur(80px);
  opacity: 0.4;
  right: -50px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 0;
}

/* --- MELHORIAS EXTRAS DE REFINAMENTO --- */

/* 1. Efeito de "Vidro" no Card */
.sw-support-box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0) 100%);
  z-index: 11;
}

/* 2. Micro-interação no Card */
.sw-support-box:hover .sw-support-gif-full {
  transform: scale(1.05);
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Responsividade para não esmagar o GIF no celular */
@media (max-width: 991px) {
  .sw-support-box {
    padding: 60px 30px;
    flex-direction: column;
    text-align: center;
  }

  .sw-support-content {
    width: 100%;
    margin-bottom: 40px;
  }

  .sw-support-visual-bleed {
    position: relative;
    width: 120%;
    height: 250px;
    right: -10%;
  }

  .sw-support-gif-full {
    mask-image: none;
    -webkit-mask-image: none;
  }
}

/* ==========================================
   FOOTER PREMIUM: ESTRUTURADO E MODERNO
   ========================================== */

.sw-footer {
  background-color: #ffffff;
  padding: 80px 0 40px 0;
  border-top: 1px solid #f0f0f0;
  color: #666;
}

.sw-footer-main {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 60px;
  margin-bottom: 60px;
}

.sw-footer-logo-img {
  height: 24px;
  margin-bottom: 20px;
}

.sw-footer-tagline {
  font-size: 15px;
  line-height: 1.6;
  max-width: 280px;
  margin-bottom: 24px;
}

.sw-social-links {
  display: flex;
  gap: 16px;
}

.sw-social-links a {
  color: #111;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: #f8f9fa;
  border-radius: 50%;
}

.sw-social-links a:hover {
  background: #111;
  color: #fff;
  transform: translateY(-3px);
}

.sw-footer-links h4 {
  font-size: 14px;
  font-weight: 700;
  color: #111;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 24px;
}

.sw-footer-links a {
  display: block;
  font-size: 15px;
  color: #666;
  text-decoration: none !important;
  margin-bottom: 12px;
  transition: color 0.2s ease;
}

.sw-footer-links a:hover {
  color: #000;
}

.sw-footer-bottom {
  padding-top: 40px;
  border-top: 1px solid #f0f0f0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.sw-copyright {
  font-size: 14px;
  color: #999;
}

.sw-footer-locale .dropdown-toggle {
  background: #f8f9fa;
  border: 1px solid #eee;
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #111;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
}

.sw-footer-locale .dropdown-toggle:hover {
  border-color: #ddd;
}

/* Responsividade */
@media (max-width: 768px) {
  .sw-footer-main {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .sw-footer-bottom {
    flex-direction: column;
    gap: 20px;
    text-align: center;
  }
}

/* ==========================================
   PÁGINA DE CATEGORIA: GRID MODERNO
   ========================================== */

.sw-category-container {
  padding-top: 40px;
  padding-bottom: 80px;
}

.sw-sub-nav {
  margin-bottom: 40px;
}

.sw-sub-nav ol li,
.sw-sub-nav ol li a {
  font-size: 14px;
  color: #999;
  text-decoration: none !important;
}

.sw-sub-nav ol li:last-child {
  color: #111;
  font-weight: 600;
}

.sw-category-header {
  margin-bottom: 60px;
}

.sw-category-header h1 {
  font-size: 42px;
  font-weight: 800;
  color: #000;
  margin-bottom: 12px;
}

.sw-category-description {
  font-size: 18px;
  color: #666;
  max-width: 700px;
  line-height: 1.6;
}

.sw-sections-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 32px;
}

.sw-section-card {
  background: #fff;
  border: 1px solid #f0f0f0;
  border-radius: 24px;
  padding: 32px;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
}

.sw-section-card:hover {
  border-color: #000;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.06);
  transform: translateY(-4px);
}

.sw-section-title a {
  font-size: 22px;
  font-weight: 700;
  color: #000;
  text-decoration: none !important;
  display: block;
  margin-bottom: 24px;
}

.sw-article-list {
  list-style: none;
  padding: 0;
  margin: 0 0 24px 0;
  flex-grow: 1;
}

.sw-article-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 16px;
}

.sw-article-icon {
  color: #ccc;
  flex-shrink: 0;
  margin-top: 3px;
}

.sw-article-link {
  font-size: 15px;
  color: #444;
  text-decoration: none !important;
  line-height: 1.4;
  transition: color 0.2s ease;
}

.sw-article-item:hover .sw-article-link {
  color: #000;
}

.sw-see-all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: #000;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: gap 0.2s ease;
}

.sw-see-all:hover {
  gap: 12px;
}

/* Responsividade */
@media (max-width: 768px) {
  .sw-category-header h1 {
    font-size: 32px;
  }

  .sw-sections-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================
   CATEGORY PORTAL 2.0: LAYOUT PROFISSIONAL
   ========================================== */

.sw-category-portal {
  background: #fcfcfc;
}

.sw-category-hero {
  background: #fff;
  padding: 40px 0 60px 0;
  border-bottom: 1px solid #eee;
  margin-bottom: 40px;
}

.sw-hero-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
}

.sw-title-group h1 {
  font-size: 38px;
  font-weight: 800;
  color: #000;
  margin-bottom: 8px;
}

.sw-title-group p {
  font-size: 16px;
  color: #666;
}

.sw-local-search {
  position: relative;
  width: 100%;
  max-width: 350px;
}

.sw-local-search input[type="search"] {
  width: 100%;
  height: 48px;
  padding: 0 45px;
  border-radius: 12px;
  border: 1px solid #eee;
  background: #f8f9fa;
  font-size: 14px;
  transition: all 0.2s ease;
}

.sw-local-search input[type="search"]:focus {
  background: #fff;
  border-color: #A51CF1;
  box-shadow: 0 4px 12px rgba(165, 28, 241, 0.1);
  outline: none;
}

.sw-search-icon-mini {
  position: absolute;
  left: 15px;
  top: 14px;
  width: 18px;
  color: #999;
}

.sw-portal-layout {
  display: flex;
  gap: 48px;
}

.sw-sidebar {
  flex: 0 0 260px;
}

.sw-sidebar-box {
  position: sticky;
  top: 100px;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 16px;
  padding: 24px;
}

.sw-sidebar-box h3 {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #999;
  margin-bottom: 20px;
}

.sw-side-link {
  display: block;
  padding: 12px 0;
  color: #444;
  font-weight: 500;
  text-decoration: none !important;
  border-bottom: 1px solid #f8f9fa;
  transition: color 0.2s;
}

.sw-side-link:hover {
  color: #FF2055;
}

.sw-main-content {
  flex: 1;
}

.sw-sections-grid-v2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.sw-section-card-v2 {
  background: #fff;
  border-radius: 20px;
  padding: 24px;
  border: 1px solid #eee;
  display: flex;
  flex-direction: column;
}

.sw-section-header-v2 {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 20px;
}

.sw-section-header-v2 h2 {
  font-size: 20px;
  font-weight: 700;
  color: #000;
}

.sw-article-count {
  font-size: 12px;
  color: #999;
}

.sw-article-list-v2 {
  list-style: none;
  padding: 0;
  margin: 0 0 20px 0;
}

.sw-article-list-v2 li {
  margin-bottom: 12px;
}

.sw-article-list-v2 a {
  color: #555;
  text-decoration: none !important;
  font-size: 15px;
  line-height: 1.4;
}

.sw-article-list-v2 a:hover {
  color: #000;
}

.sw-view-all-v2 {
  margin-top: auto;
  font-size: 13px;
  font-weight: 700;
  color: #A51CF1;
  text-decoration: none !important;
}

/* Responsividade */
@media (max-width: 991px) {
  .sw-portal-layout {
    flex-direction: column;
  }

  .sw-sidebar {
    display: none;
  }

  .sw-hero-content {
    flex-direction: column;
    align-items: flex-start;
  }

  .sw-sections-grid-v2 {
    grid-template-columns: 1fr;
  }
}

/* ==========================================
   CATEGORY HERO PREMIUM - SWILE 2026
   ========================================== */

.sw-category-hero-premium {
  padding: 60px 0;
  background-color: #fbfbfb;
  border-bottom: 1px solid #eee;
}

.sw-category-header-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  margin-top: 30px;
}

.sw-badge-category {
  display: inline-block;
  background: rgba(165, 28, 241, 0.1);
  color: #A51CF1;
  padding: 4px 12px;
  border-radius: 100px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 15px;
}

.sw-category-title {
  font-size: 48px;
  font-weight: 800;
  color: #000;
  line-height: 1.1;
  margin-bottom: 15px;
}

.sw-category-desc {
  font-size: 18px;
  color: #666;
  max-width: 500px;
  line-height: 1.5;
}

.sw-category-search {
  flex: 0 0 400px;
}

.sw-search-local-inner {
  position: relative;
  display: flex;
  align-items: center;
}

.sw-search-local-inner input[type="search"] {
  width: 100%;
  height: 60px;
  padding: 0 25px 0 60px !important;
  background: #ffffff !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 16px !important;
  font-size: 16px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
  transition: all 0.3s ease;
}

.sw-search-local-inner input[type="search"]:focus {
  border-color: #000 !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
  outline: none;
}

.sw-mag-icon {
  position: absolute;
  left: 20px;
  width: 22px;
  color: #999;
  pointer-events: none;
}




/* Responsividade */
@media (max-width: 991px) {
  .sw-category-header-wrapper {
    flex-direction: column;
    align-items: flex-start;
  }

  .sw-category-search {
    width: 100%;
    flex: none;
  }

  .sw-category-title {
    font-size: 36px;
  }
}

/* ==========================================
   BARRA DE BUSCA CATEGORIA - TOP DESIGN LEVEL
   ========================================== */

.sw-category-search {
  flex: 0 0 420px;
  perspective: 1000px;
}

.sw-search-local-premium {
  position: relative;
  display: flex;
  align-items: center;
  background: #ffffff;
  border: 1px solid #e9ecef;
  border-radius: 20px;
  padding: 0 15px;
  height: 64px;
  box-shadow:
    0 4px 6px -1px rgba(0, 0, 0, 0.02),
    0 10px 15px -3px rgba(0, 0, 0, 0.05);
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.sw-search-local-premium:hover {
  border-color: #dee2e6;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

.sw-search-local-premium:focus-within {
  border-color: #111;
  box-shadow: 0 25px 30px -10px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
}

.sw-search-mag-v2 {
  width: 20px;
  height: 20px;
  color: #111;
  margin-left: 10px;
  flex-shrink: 0;
  opacity: 0.8;
}

.sw-search-local-premium input[type="search"] {
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  background: transparent !important;
  padding: 0 20px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #111 !important;
  outline: none !important;
  box-shadow: none !important;
}

.sw-search-local-premium input::placeholder {
  color: #adb5bd;
  font-weight: 400;
}

.sw-search-badge {
  background: #f8f9fa;
  color: #6c757d;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 6px 10px;
  border-radius: 8px;
  border: 1px solid #e9ecef;
  pointer-events: none;
  transition: all 0.3s ease;
}

.sw-search-local-premium:focus-within .sw-search-badge {
  background: #111;
  color: #fff;
  border-color: #111;
}

/* Limpeza de ícones fantasmas do Zendesk */
.sw-search-local-premium .icon-search {
  display: none !important;
}

/* ==========================================
   HERO CATEGORIA - ALINHAMENTO CENTRAL
   ========================================== */

.sw-category-hero-center {
  padding: 60px 0 80px 0;
  background-color: #fcfcfc;
  border-bottom: 1px solid #f0f0f0;
}






.sw-hero-center-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

.sw-hero-center-title {
  font-size: 48px;
  font-weight: 800;
  color: #000;
  margin-bottom: 16px;
  letter-spacing: -0.02em;
}

.sw-hero-center-desc {
  font-size: 18px;
  color: #666;
  line-height: 1.5;
  margin-bottom: 40px;
  max-width: 600px;
}

.sw-hero-center-search {
  width: 100%;
  max-width: 600px;
}

.sw-search-pill {
  display: flex;
  position: relative;
  height: 60px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 100px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
  transition: all 0.3s ease;
  overflow: hidden;
}

.sw-search-pill:focus-within {
  border-color: #A51CF1;
  box-shadow: 0 8px 30px rgba(165, 28, 241, 0.1);
}

.sw-search-pill input[type="search"] {
  flex-grow: 1;
  height: 100% !important;
  border: none !important;
  background: transparent !important;
  padding: 0 20px 0 30px !important;
  font-size: 16px !important;
  color: #000 !important;
  outline: none !important;
  box-shadow: none !important;
}

.sw-search-pill-btn {
  width: 48px;
  height: 48px;
  margin: 6px;
  background: #A51CF1;
  color: #fff;
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.2s ease, background 0.2s ease;
}

.sw-search-pill-btn svg {
  width: 20px;
  height: 20px;
}

.sw-search-pill-btn:hover {
  background: #FF2055;
  transform: scale(1.05);
}

/* Limpeza do Zendesk */
.sw-search-pill .icon-search {
  display: none !important;
}

/* Responsividade */
@media (max-width: 768px) {
  .sw-hero-center-title {
    font-size: 36px;
  }

  .sw-search-pill {
    height: 55px;
  }

  .sw-search-pill-btn {
    width: 43px;
    height: 43px;
  }
}

/* ==========================================
   A BARRA DE BUSCA PÍLULA (CORREÇÃO ZENDESK)
   ========================================== */

.sw-hero-center-search {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}

.sw-search-pill-wrapper {
  position: relative;
  width: 100%;
  height: 60px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 100px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
  transition: all 0.3s ease;
}

.sw-search-pill-wrapper:focus-within {
  border-color: #000;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}

.sw-search-pill-wrapper form {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

.sw-search-pill-wrapper input[type="search"] {
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  background: transparent !important;
  padding: 0 60px 0 30px !important;
  font-size: 16px !important;
  color: #000 !important;
  outline: none !important;
  box-shadow: none !important;
}

.sw-search-pill-icon {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.sw-search-pill-icon svg {
  width: 22px;
  height: 22px;
  color: #000;
}

.sw-search-pill-wrapper .icon-search,
.sw-search-pill-wrapper [type="submit"] {
  display: none !important;
}

.sw-search-pill-wrapper {
  position: relative;
  width: 100%;
  height: 60px;
  background: #ffffff;
  border: none;
  border-radius: 100px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
}

.sw-search-pill-wrapper:focus-within {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
}

.sw-search-pill-wrapper input[type="search"]:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* ==========================================
   HERO CATEGORIA - DARK MODE COM IMAGEM
   ========================================== */

.sw-category-hero-center.sw-hero-dark {
  position: relative;
  padding: 100px 0 120px 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-bottom: none;
  overflow: hidden;
}

.sw-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at center, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.7) 100%);
  z-index: 1;
}

.sw-hero-content-relative {
  position: relative;
  z-index: 2;
}

.sw-hero-center-title.sw-text-white {
  color: #ffffff !important;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}

.sw-hero-center-desc.sw-text-light {
  color: rgba(255, 255, 255, 0.85) !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}






.sw-hero-dark .sw-search-pill-wrapper {
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
}

.sw-hero-dark .sw-search-pill-wrapper:focus-within {
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.2), 0 15px 50px rgba(0, 0, 0, 0.6);
}

/* ==========================================
   HERO CATEGORIA - SPLIT LAYOUT (ESTILO HOME)
   ========================================== */

.sw-category-hero-split {
  padding: 80px 0 60px 0;
  background-color: #fdfdfd;
  overflow: hidden;
}

.sw-hero-split-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;
}

.sw-hero-text-column {
  flex: 1;
  max-width: 550px;
}

.sw-hero-text-column h1 {
  font-size: 46px;
  font-weight: 800;
  color: #000;
  margin-bottom: 16px;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.sw-hero-text-column p {
  font-size: 18px;
  color: #666;
  line-height: 1.5;
  margin-bottom: 40px;
}

.sw-hero-visual-column {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.sw-category-hero-img {
  width: 100%;
  max-width: 600px;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 20px 30px rgba(0, 0, 0, 0.15));
  transform: translateY(-10px);
}

/* -------------------------------------------
   A BARRA DE BUSCA PÍLULA (CORREÇÃO ZENDESK)
   ------------------------------------------- */
.sw-search-pill-wrapper {
  position: relative;
  width: 100%;
  max-width: 500px;
  height: 60px;
  background: #fff;
  border-radius: 100px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
}

.sw-search-pill-wrapper:focus-within {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
}

.sw-search-pill-wrapper form {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

.sw-search-pill-wrapper input[type="search"] {
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  background: transparent !important;
  padding: 0 60px 0 30px !important;
  font-size: 16px !important;
  color: #000 !important;
  outline: none !important;
  box-shadow: none !important;
}

.sw-search-pill-icon {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.sw-search-pill-icon svg {
  width: 22px;
  height: 22px;
  color: #000;
}

.sw-search-pill-wrapper .icon-search,
.sw-search-pill-wrapper [type="submit"] {
  display: none !important;
}

/* Responsividade do Split */
@media (max-width: 991px) {
  .sw-hero-split-inner {
    flex-direction: column;
    text-align: center;
  }

  .sw-hero-text-column {
    max-width: 100%;
  }

  .sw-search-pill-wrapper {
    margin: 0 auto;
  }

  .sw-category-hero-img {
    margin-top: 30px;
    max-width: 400px;
  }
}

/* ==========================================
   HERO CATEGORIA - CENTRALIZADO & TEXTURIZADO
   ========================================== */

.sw-category-hero-center.sw-hero-textured {
  position: relative;
  padding: 80px 0 100px 0;
  background-color: #fdfdfd;
  border-bottom: 1px solid #eaeaea;
  overflow: hidden;
}

/* 1. O Grid de Tecnologia (Linhas sutis) */
.sw-hero-bg-grid {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image:
    linear-gradient(to right, rgba(0, 0, 0, 0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0, 0, 0, 0.03) 1px, transparent 1px);
  background-size: 32px 32px;
  -webkit-mask-image: radial-gradient(circle at center, black 30%, transparent 80%);
  mask-image: radial-gradient(circle at center, black 30%, transparent 80%);
  z-index: 0;
}

/* 2. O Glow (Luz difusa com as cores da marca) */
.sw-hero-bg-glow {
  position: absolute;
  top: -200px;
  left: 50%;
  transform: translateX(-50%);
  width: 800px;
  height: 800px;
  background: radial-gradient(circle, rgba(165, 28, 241, 0.05) 0%, rgba(255, 32, 85, 0.03) 40%, rgba(253, 253, 253, 0) 70%);
  z-index: 0;
  pointer-events: none;
}

.sw-relative-z {
  position: relative;
  z-index: 2;
}

/* -------------------------------------------
   ESTRUTURA CENTRALIZADA (TOP-DOWN)
   ------------------------------------------- */








.sw-hero-center-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

.sw-hero-center-title {
  font-size: 48px;
  font-weight: 800;
  color: #000;
  margin-bottom: 16px;
  letter-spacing: -0.02em;
}

.sw-hero-center-desc {
  font-size: 18px;
  color: #666;
  line-height: 1.5;
  margin-bottom: 40px;
  max-width: 600px;
}

/* -------------------------------------------
   A BARRA DE BUSCA PÍLULA (CORRETA E SEM BORDA)
   ------------------------------------------- */

.sw-hero-center-search {
  width: 100%;
  max-width: 600px;
}

.sw-search-pill-wrapper {
  position: relative;
  width: 100%;
  height: 60px;
  background: #ffffff;
  border-radius: 100px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
}

.sw-search-pill-wrapper:focus-within {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
}

.sw-search-pill-wrapper form {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

.sw-search-pill-wrapper input[type="search"] {
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  background: transparent !important;
  padding: 0 60px 0 30px !important;
  font-size: 16px !important;
  color: #000 !important;
  outline: none !important;
  box-shadow: none !important;
}

.sw-search-pill-icon {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.sw-search-pill-wrapper .icon-search,
.sw-search-pill-wrapper [type="submit"] {
  display: none !important;
}

/* ==========================================
   MELHORIAS: DOBRA 1 - SPLIT COM CARTÃO 3D
   ========================================== */

/* 1. ESPAÇAMENTO DO TEXTO E HIERARQUIA */
.sw-hero-text-column h1 {
  font-size: 52px;
  margin-bottom: 12px;
}

.sw-hero-text-column p {
  font-size: 18px;
  color: #666;
  margin-bottom: 48px;
}

/* 2. FORÇANDO A PÍLULA FLUTUANTE (SEM BORDA) */
.sw-search-pill-wrapper {
  background: #ffffff;
  border: none !important;
  border-radius: 100px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
}

.sw-search-pill-wrapper:focus-within {
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}

/* 3. AURA E ANIMAÇÃO DO CARTÃO 3D */
.sw-hero-visual-column {
  position: relative;
  z-index: 1;
}

.sw-hero-visual-column::before {
  content: "";
  position: absolute;
  width: 350px;
  height: 350px;
  background: radial-gradient(circle, rgba(165, 28, 241, 0.15) 0%, rgba(255, 32, 85, 0.05) 50%, transparent 70%);
  filter: blur(40px);
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.sw-category-hero-img {
  width: 100%;
  max-width: 500px;
  animation: floatCard 6s ease-in-out infinite;
  filter: drop-shadow(0 30px 40px rgba(0, 0, 0, 0.15));
}

@keyframes floatCard {
  0% {
    transform: translateY(0px) rotate(0deg);
  }

  50% {
    transform: translateY(-15px) rotate(-1deg);
  }

  /* Sobe e inclina 1 grau */
  100% {
    transform: translateY(0px) rotate(0deg);
  }
}

/* ==========================================
   RESET NUCLEAR: REMOVENDO CONTORNO DA BUSCA
   ========================================== */

/* 1. Mata qualquer borda do container, do formulário e do input */
.sw-search-pill-wrapper,
.sw-search-pill-wrapper form,
.sw-search-pill-wrapper input[type="search"] {
  border: none !important;
  outline: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

/* 2. Mata o anel de foco (aquela linha que aparece quando clica) */
.sw-search-pill-wrapper input[type="search"]:focus,
.sw-search-pill-wrapper input[type="search"]:active,
.sw-search-pill-wrapper input[type="search"]:focus-visible {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* 3. Previne que o Zendesk injete pseudo-elementos como borda */
.sw-search-pill-wrapper form::before,
.sw-search-pill-wrapper form::after {
  display: none !important;
}

/* ==========================================
   DOBRA 2: CARDS E SIDEBAR PREMIUM
   ========================================== */

.sw-dobra-2-spacing {
  padding-top: 60px;
  padding-bottom: 100px;
}

.sw-portal-layout {
  display: flex;
  align-items: flex-start;
  gap: 60px;
}

.sw-sidebar {
  flex: 0 0 250px;
  position: sticky;
  top: 40px;
}

.sw-sidebar-box h3 {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #a0a0a0;
  margin-bottom: 24px;
  font-weight: 700;
}

.sw-side-link {
  display: block;
  padding: 12px 16px;
  color: #666;
  font-weight: 500;
  text-decoration: none !important;
  border-radius: 12px;
  margin-bottom: 8px;
  transition: all 0.2s ease;
}

.sw-side-link:hover {
  background: #f8f9fa;
  color: #111;
  transform: translateX(4px);
}

.sw-side-link.active {
  background: rgba(165, 28, 241, 0.08);
  color: #A51CF1;
  font-weight: 700;
}

.sw-main-content {
  flex: 1;
  min-width: 0;
}

.sw-sections-grid-premium {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 30px;
}

.sw-section-card-premium {
  background: #ffffff;
  border: 1px solid #eef0f2;
  border-radius: 24px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.sw-section-card-premium:hover {
  border-color: #d1d5db;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
  transform: translateY(-4px);
}

.sw-section-header-premium {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid #f3f4f6;
}

.sw-section-icon-box {
  width: 48px;
  height: 48px;
  background: #f8f9fa;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #A51CF1;
}

.sw-section-icon-box svg {
  width: 24px;
  height: 24px;
}

.sw-section-title-wrapper h2 {
  font-size: 20px;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 4px;
}

.sw-section-title-wrapper h2 a {
  color: #111;
  text-decoration: none !important;
}

.sw-article-count {
  font-size: 13px;
  color: #888;
}

.sw-article-list-premium {
  list-style: none;
  padding: 0;
  margin: 0;
  flex-grow: 1;
}

.sw-article-list-premium li {
  margin-bottom: 16px;
}

.sw-article-link {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: #4b5563;
  text-decoration: none !important;
  font-size: 15px;
  line-height: 1.5;
  transition: color 0.2s;
}

.sw-article-link:hover {
  color: #FF2055;
}

.sw-promoted-badge {
  color: #fbbf24;
  flex-shrink: 0;
  margin-top: 2px;
}

.sw-promoted-badge svg {
  width: 16px;
  height: 16px;
}

.sw-article-bullet {
  width: 6px;
  height: 6px;
  background: #d1d5db;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 8px;
  transition: background 0.2s;
}

.sw-article-link:hover .sw-article-bullet {
  background: #FF2055;
}

.sw-card-footer {
  margin-top: 24px;
  padding-top: 20px;
}

.sw-view-all-premium {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: #111;
  text-decoration: none !important;
  transition: all 0.2s;
}

.sw-view-all-premium svg {
  width: 16px;
  height: 16px;
  transition: transform 0.2s;
}

.sw-view-all-premium:hover {
  color: #A51CF1;
}

.sw-view-all-premium:hover svg {
  transform: translateX(4px);
}

/* RESPONSIVIDADE */
@media (max-width: 991px) {
  .sw-portal-layout {
    flex-direction: column;
    gap: 40px;
  }

  .sw-sidebar {
    position: relative;
    top: 0;
    width: 100%;
  }

  .sw-sections-grid-premium {
    grid-template-columns: 1fr;
  }
}

/* ==========================================
   GRID COMPACTO: CARTÕES DE SECÇÃO
   ========================================== */

.sw-sections-grid-compact {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 24px;
}

.sw-section-card-compact {
  background: #ffffff;
  border: 1px solid #eef0f2;
  border-radius: 20px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.sw-section-card-compact:hover {
  border-color: #A51CF1;
  box-shadow: 0 12px 30px rgba(165, 28, 241, 0.08);
  transform: translateY(-4px);
}

.sw-section-icon-emoji {
  font-size: 24px;
  margin-bottom: 16px;
  background: #f8f9fa;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  color: #A51CF1;
  transition: transform 0.3s ease;
}

.sw-section-card-compact:hover .sw-section-icon-emoji {
  transform: scale(1.1);
}

.sw-section-content-compact {
  flex-grow: 1;
  margin-bottom: 24px;
}

.sw-section-content-compact h2 {
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 8px;
  line-height: 1.3;
}

.sw-section-content-compact h2 a {
  color: #111;
  text-decoration: none !important;
}

.sw-section-desc {
  font-size: 14px;
  color: #666;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.sw-section-footer-compact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 16px;
  border-top: 1px solid #f3f4f6;
}

.sw-article-count-pill {
  font-size: 11px;
  font-weight: 700;
  color: #888;
  background: #f3f4f6;
  padding: 4px 10px;
  border-radius: 100px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.sw-section-cta-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 700;
  color: #111;
  text-decoration: none !important;
  transition: color 0.2s;
}

.sw-section-cta-link svg {
  width: 16px;
  height: 16px;
  transition: transform 0.2s;
}

.sw-section-card-compact:hover .sw-section-cta-link {
  color: #A51CF1;
}

.sw-section-card-compact:hover .sw-section-cta-link svg {
  transform: translateX(4px);
}

.sw-section-card-compact:hover {
  border-color: #111111;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
  transform: translateY(-4px);
}

.sw-section-icon-emoji {
  font-size: 24px;
  margin-bottom: 16px;
  background: #f8f9fa;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  color: #111111;
  transition: all 0.3s ease;
}

.sw-section-card-compact:hover .sw-section-icon-emoji {
  background: #111111;
  transform: scale(1.1);
  color: #ffffff;
}

.sw-section-card-compact:hover .sw-section-cta-link {
  color: #111111;
}

/* ==========================================
   CORREÇÃO BLACK/PREMIUM (ADEUS ROXO)
   ========================================== */

/* 1. Sidebar Link Ativo (Fundo preto, texto branco) */
.sw-side-link.active {
  background: #111111 !important;
  color: #ffffff !important;
  font-weight: 700;
}

/* 2. Hover da Sidebar (Cinza claro para não brigar com o ativo) */
.sw-side-link:hover:not(.active) {
  background: #f3f4f6;
  color: #111111;
  transform: translateX(4px);
}

/* 3. Ícone/Emoji Padrão (Sem roxo) */
.sw-section-icon-emoji {
  font-size: 24px;
  margin-bottom: 16px;
  background: #f8f9fa;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  color: #111111 !important;
  transition: all 0.3s ease;
}

.sw-section-card-compact:hover .sw-section-icon-emoji {
  background: #111111;
  color: #ffffff !important;
  transform: scale(1.1);
}

/* 4. O CTA de Explorar (Matando o roxo no Hover) */
.sw-section-cta-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 700;
  color: #111111 !important;
  text-decoration: none !important;
  transition: all 0.2s;
}

.sw-section-card-compact:hover .sw-section-cta-link {
  color: #000000 !important;
}

.sw-section-card-compact:hover .sw-section-cta-link svg {
  transform: translateX(4px);
}

/* ==========================================
   SIDEBAR CLEAN & FIX DOS EMOJIS
   ========================================== */

/* 1. Limpando a Sidebar (Adeus Roxo e Preto Pesado) */
.sw-side-link {
  color: #666666 !important;
  background: transparent !important;
  border-radius: 0 8px 8px 0 !important;
  border-left: 3px solid transparent;
}

.sw-side-link.active {
  background: #f8f9fa !important;
  color: #000000 !important;
  font-weight: 700;
  border-left: 3px solid #000000;
}

.sw-side-link:hover:not(.active) {
  background: #fafafa !important;
  color: #000000 !important;
  border-left: 3px solid #e5e7eb;
}

/* 2. Caixa do Emoji */
.sw-section-icon-emoji {
  font-size: 24px;
  margin-bottom: 16px;
  background: #f8f9fa;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  color: #000000 !important;
  transition: all 0.3s ease;
}

.sw-section-icon-emoji:empty::after {
  content: "✦";
}

.sw-section-card-compact:hover .sw-section-icon-emoji {
  background: #f0f0f0;
  transform: scale(1.1);
}

/* 3. CTA de Explorar sempre preto */
.sw-section-cta-link {
  color: #111111 !important;
}

.sw-section-card-compact:hover .sw-section-cta-link {
  color: #000000 !important;
}

/* ==========================================
   SECTION PAGE: DIRETÓRIO DE ARTIGOS
   ========================================== */

.sw-article-directory {
  background: #ffffff;
  border: 1px solid #eef0f2;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

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

.sw-premium-article-list li {
  border-bottom: 1px solid #f3f4f6;
}

.sw-premium-article-list li:last-child {
  border-bottom: none;
}

.sw-article-row {
  display: flex;
  align-items: center;
  padding: 20px 24px;
  text-decoration: none !important;
  transition: all 0.2s ease;
  background: transparent;
}

.sw-article-row:hover {
  background: #f8f9fa;
}

.sw-article-row-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  background: #f3f4f6;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 16px;
  color: #666;
  transition: all 0.2s;
}

.sw-article-row-icon svg {
  width: 18px;
  height: 18px;
}

.sw-article-row-icon.is-promoted {
  background: #fff8eb;
  color: #fbbf24;
}

.sw-article-row:hover .sw-article-row-icon:not(.is-promoted) {
  background: #111;
  color: #fff;
}

.sw-article-row-text {
  flex-grow: 1;
  display: flex;
  align-items: center;
  gap: 12px;
}

.sw-article-row-title {
  font-size: 16px;
  font-weight: 600;
  color: #111;
  line-height: 1.4;
}

.sw-article-row-arrow {
  flex-shrink: 0;
  color: #ccc;
  transition: all 0.2s;
}

.sw-article-row-arrow svg {
  width: 20px;
  height: 20px;
}

.sw-article-row:hover .sw-article-row-arrow {
  color: #111;
  transform: translateX(4px);
}

.sw-internal-badge {
  background: #fee2e2;
  color: #ef4444;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 6px;
  text-transform: uppercase;
}

/* ==========================================
   SIDEBAR: BOTÃO SEGUIR & VOLTAR
   ========================================== */

.sw-subscribe-wrapper .dropdown-toggle,
.sw-subscribe-wrapper button {
  width: 100%;
  background: #111111 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-align: center;
  transition: background 0.2s !important;
}

.sw-subscribe-wrapper .dropdown-toggle:hover,
.sw-subscribe-wrapper button:hover {
  background: #333333 !important;
}

.sw-sidebar-divider {
  height: 1px;
  background: #eee;
  margin: 20px 0;
}

.sw-back-link {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #666;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none !important;
  transition: color 0.2s;
}

.sw-back-link:hover {
  color: #111;
}

.sw-back-link svg {
  width: 16px;
  height: 16px;
}

.sw-search-pill-icon-btn {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 8px;
  z-index: 10;
  outline: none !important;
}

.searchbox-suggestions {
  z-index: 9999 !important;
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12) !important;
  border: 1px solid #eee !important;
  top: 100% !important;
  left: 0 !important;
  right: 0 !important;
  margin-top: 8px !important;
}

.sw-search-pill-wrapper input[type="submit"],
.sw-search-pill-wrapper .icon-search {
  display: none !important;
}

.sw-search-pill-icon-btn {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 8px;
  z-index: 10;
  outline: none !important;
}

.sw-search-pill-wrapper input[type="search"] {
  padding-right: 50px !important;
}

.sw-container {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
}

.sw-main-layout-v3 {
  display: flex !important;
  gap: 60px !important;
  align-items: flex-start !important;
}

.sw-sidebar-v3 {
  flex: 0 0 260px !important;
}

.sw-content-v3 {
  flex: 1 !important;
  max-width: 760px !important;
}

.sw-sidebar-card-v3 h3 {
  font-size: 13px !important;
  text-transform: uppercase !important;
  color: #999 !important;
  margin-bottom: 15px !important;
}

.sw-nav-link-v3 {
  display: block !important;
  padding: 10px 0 !important;
  color: #666 !important;
  text-decoration: none !important;
  font-size: 14px !important;
  border-bottom: 1px solid #f5f5f5 !important;
}

.sw-nav-link-v3.is-active {
  color: #000 !important;
  font-weight: 700 !important;
  border-left: 3px solid #000 !important;
  padding-left: 10px !important;
}

.sw-body-v3 {
  font-size: 17px !important;
  line-height: 1.7 !important;
}

.sw-footer-v3 {
  margin-top: 60px !important;
  padding-top: 40px !important;
  border-top: 1px solid #eee !important;
  text-align: center !important;
}

.sw-vote-actions-v3 {
  display: flex !important;
  justify-content: center !important;
  gap: 15px !important;
  margin: 20px 0 !important;
}

.sw-cta-box-v3 {
  background: #f8f9fa !important;
  padding: 30px !important;
  border-radius: 16px !important;
}

.sw-btn-black-v3 {
  display: inline-block !important;
  background: #000 !important;
  color: #fff !important;
  padding: 12px 25px !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  margin-top: 10px !important;
}

/* RESPONSIVO */
@media (max-width: 768px) {
  .sw-main-layout-v3 {
    flex-direction: column !important;
  }

  .sw-sidebar-v3 {
    display: none !important;
  }
}

.sw-sidebar-actions {
  margin-bottom: 25px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.sw-feedback-container {
  text-align: center;
  margin-top: 50px;
  padding-bottom: 30px;
}

.sw-vote-actions-v3 {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-bottom: 15px;
}

.sw-vote-count {
  font-size: 13px;
  color: #888;
}

.sw-cta-card-v3 {
  background-color: #f8f9fa !important;
  border-radius: 20px !important;
  padding: 40px 20px !important;
  text-align: center !important;
  margin-top: 20px !important;
}

.sw-cta-card-v3 p {
  font-size: 16px !important;
  font-weight: 500 !important;
  margin-bottom: 20px !important;
  color: #333 !important;
}

.sw-btn-black-v3 {
  display: inline-block !important;
  background: #000 !important;
  color: #fff !important;
  padding: 14px 40px !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  transition: transform 0.2s;
}

.sw-btn-black-v3:hover {
  transform: translateY(-2px);
  background: #222 !important;
}

.sw-sidebar-follow .subscribe-button {
  width: 100% !important;
  background: #000 !important;
  color: #fff !important;
  border-radius: 10px !important;
  padding: 10px !important;
  border: none !important;
}

/* 1. O botão principal */
.sw-sidebar-follow .subscribe-button,
.sw-sidebar-follow button,
.sw-sidebar-follow .dropdown-toggle {
  width: 100% !important;
  background-color: #000000 !important;
  color: #ffffff !important;
  border: none !important;
  padding: 12px 15px !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  -webkit-appearance: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

.sw-sidebar-follow button:hover,
.sw-sidebar-follow .dropdown-toggle:hover {
  background-color: #222 !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15) !important;
}

/* 2. Ajuste para o Dropdown (caso o usuário clique e abra as opções) */
.sw-sidebar-follow .dropdown-menu {
  border-radius: 12px !important;
  border: 1px solid #eee !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
  margin-top: 10px !important;
  padding: 8px !important;
}

.sw-sidebar-follow .dropdown-menu [role="menuitem"] {
  padding: 10px !important;
  border-radius: 8px !important;
  transition: background 0.2s !important;
}

.sw-sidebar-follow .dropdown-menu [role="menuitem"]:hover {
  background-color: #f5f5f5 !important;
}

.sw-btn-vote-v3 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  border: 1px solid #e0e0e0 !important;
  background: #f5f5f5 !important;
  color: #000 !important;
  padding: 10px 35px !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  min-width: 80px;

  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  cursor: pointer !important;
}

.sw-btn-vote-v3:hover {
  background: #ffffff !important;
  border-color: #000 !important;
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.08) !important;
}

.sw-btn-vote-v3:active {
  transform: translateY(-1px) scale(0.98);
}

.sw-btn-vote-v3.is-active {
  background: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
  transform: none !important;
  box-shadow: none !important;
}

.sw-feedback-title {
  font-weight: 600;
  margin-bottom: 20px;
  color: #111;
}

/* ==========================================
   ARTICLE PAGE V3 - FINAL & STABLE
   ========================================== */

.sw-main-layout-v3 {
  display: flex !important;
  gap: 60px !important;
  align-items: flex-start !important;
}

.sw-sidebar-v3 {
  flex: 0 0 280px !important;
  position: sticky !important;
  top: 40px !important;
}

.sw-content-v3 {
  flex: 1 !important;
  max-width: 780px !important;
}

.sw-nav-link-v3 {
  display: block !important;
  padding: 12px 15px !important;
  color: #555 !important;
  text-decoration: none !important;
  font-size: 14px !important;
  border-radius: 8px !important;
  transition: all 0.2s !important;
}

.sw-nav-link-v3:hover {
  background: #f8f9fa !important;
  color: #000 !important;
}

.sw-nav-link-v3.is-active {
  background: #f0f0f0 !important;
  color: #000 !important;
  font-weight: 700 !important;
  border-left: 4px solid #000 !important;
  border-radius: 0 8px 8px 0 !important;
}

.sw-sidebar-follow button,
.sw-sidebar-follow .subscribe-button {
  width: 100% !important;
  background: #000 !important;
  color: #fff !important;
  border-radius: 12px !important;
  padding: 12px !important;
  font-weight: 700 !important;
  border: none !important;
}

.sw-body-v3 {
  font-size: 17px !important;
  line-height: 1.8 !important;
  color: #333 !important;
}

.sw-body-v3 img {
  max-width: 100% !important;
  border-radius: 12px !important;
  margin: 30px 0 !important;
}

.sw-feedback-container {
  text-align: center;
  margin: 60px 0 40px;
}

.sw-vote-actions-v3 {
  display: flex !important;
  justify-content: center !important;
  gap: 15px !important;
  margin: 20px 0 !important;
}

.sw-cta-card-v3 {
  background: #f8f9fa !important;
  border-radius: 24px !important;
  padding: 50px 30px !important;
  text-align: center !important;
}

.sw-btn-black-v3 {
  display: inline-block !important;
  background: #000 !important;
  color: #fff !important;
  padding: 16px 45px !important;
  border-radius: 14px !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  margin-top: 15px !important;
}

/* REMOVED: Global override of .sw-header-floating was breaking the floating pill header on all pages */
/* ==========================================
   NEW REQUEST PAGE - SWILE DESIGN SYSTEM
   ========================================== */

.sw-new-request-portal {
  background-color: #ffffff;
  padding-bottom: 100px;
}

.sw-subtitle-v3 {
  color: #666;
  font-size: 16px;
  max-width: 600px;
  line-height: 1.5;
}

.sw-form-wrapper {
  display: flex;
  justify-content: center;
  margin-top: -20px;
}

.sw-form-container {
  width: 100%;
  max-width: 650px;
  background: #ffffff;
  padding: 40px;
  border: 1px solid #f0f0f0;
  border-radius: 24px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.03);
}


#new-request-form label {
  display: block;
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 8px;
  color: #111;
}

#new-request-form input[type="text"],
#new-request-form select,
#new-request-form textarea,
.upload-dropzone {
  width: 100%;
  padding: 12px 16px !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 12px !important;
  background-color: #fafafa !important;
  font-size: 15px !important;
  transition: all 0.2s ease !important;
  outline: none !important;
  margin-bottom: 5px;
}

#new-request-form input:focus,
#new-request-form textarea:focus,
#new-request-form select:focus {
  background-color: #fff !important;
  border-color: #000 !important;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.05) !important;
}

#new-request-form footer input[type="submit"] {
  width: 100%;
  background-color: #000 !important;
  color: #fff !important;
  padding: 16px !important;
  border: none !important;
  border-radius: 14px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  transition: transform 0.2s, background 0.2s !important;
  margin-top: 20px;
}

#new-request-form footer input[type="submit"]:hover {
  background-color: #222 !important;
  transform: translateY(-2px);
}

#new-request-form p {
  font-size: 13px;
  color: #888;
  margin-top: 4px;
  margin-bottom: 20px;
}

.upload-dropzone {
  border: 2px dashed #e0e0e0 !important;
  background: #fff !important;
  padding: 30px !important;
  text-align: center;
}

#new-request-form footer input[type="submit"] {
  width: 100% !important;
  height: 56px !important;
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 1px solid #000000 !important;
  border-radius: 12px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  margin-top: 30px !important;
  outline: none !important;
  -webkit-appearance: none;
}

#new-request-form footer input[type="submit"]:hover {
  background-color: #222222 !important;
  border-color: #222222 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15) !important;
}

#new-request-form footer input[type="submit"]:active {
  transform: translateY(0px) scale(0.98) !important;
  background-color: #000000 !important;
}

#new-request-form footer {
  margin-top: 20px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}

body #new-request-form footer input[type="submit"],
body .new_request footer input[type="submit"],
body #main-content.form footer input[type="submit"] {
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 1px solid #000000 !important;
  border-radius: 12px !important;
  padding: 16px 40px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  width: 100% !important;
  height: 56px !important;
  cursor: pointer !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transition: all 0.3s ease !important;
  -webkit-appearance: none !important;
}

body #new-request-form footer input[type="submit"]:hover,
body .new_request footer input[type="submit"]:hover {
  background-color: #222222 !important;
  border-color: #222222 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15) !important;
}

body #new-request-form footer input[type="submit"]:active {
  background-color: #000000 !important;
  transform: scale(0.98) !important;
}

/* ==========================================
   NEW REQUEST - SPLIT LAYOUT (FORM + VISUAL)
   ========================================== */

.sw-new-request-portal {
  background-color: #fff !important;
  padding: 60px 0;
}

.sw-split-grid {
  display: flex !important;
  gap: 80px !important;
  align-items: flex-start !important;
}

.sw-form-side {
  flex: 1 !important;
  max-width: 600px !important;
}

.sw-visual-side {
  flex: 1 !important;
  display: flex;
  justify-content: center;
}

.sw-sticky-visual {
  position: sticky;
  top: 40px;
  text-align: center;
  background: #f8f9fa;
  padding: 40px;
  border-radius: 32px;
  width: 100%;
}

.sw-animated-asset {
  max-width: 100%;
  height: auto;
  animation: float 4s ease-in-out infinite;
}

@keyframes float {
  0% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-20px);
  }

  100% {
    transform: translateY(0px);
  }
}

.sw-visual-text h3 {
  font-size: 24px;
  font-weight: 800;
  margin-top: 20px;
}

.sw-visual-text p {
  color: #666;
  font-size: 15px;
}

body #new-request-form footer input[type="submit"] {
  background-color: #000 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  height: 56px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  width: 100% !important;
  transition: all 0.3s ease !important;
  margin-top: 20px !important;
}

body #new-request-form footer input[type="submit"]:hover {
  background-color: #222 !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 992px) {
  .sw-split-grid {
    flex-direction: column !important;
  }

  .sw-visual-side {
    display: none !important;
  }

  /* Esconde o visual no celular para focar no form */
}

/* 1. REFINAMENTO DOS CAMPOS (INPUTS & DROPDOWNS) */
#new-request-form input[type="text"],
#new-request-form select,
#new-request-form textarea,
.upload-dropzone {
  border: 1.5px solid #f0f0f0 !important;
  background-color: #fafafa !important;
  border-radius: 14px !important;
  padding: 14px 18px !important;
  font-size: 15px !important;
  color: #111 !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

#new-request-form input:focus,
#new-request-form textarea:focus,
#new-request-form select:focus {
  background-color: #ffffff !important;
  border-color: #000000 !important;
  box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.04) !important;
  transform: translateY(-1px);
}

/* 2. LABELS E TEXTO DE APOIO */
#new-request-form label {
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: #000 !important;
  margin-bottom: 10px !important;
  font-weight: 700 !important;
}

#new-request-form p {
  /* Texto de ajuda abaixo dos campos */
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #777 !important;
  margin-bottom: 12px !important;
}

/* 3. REFINAMENTO DO CARD VISUAL (DIREITA) */
.sw-sticky-visual {
  background: #ffffff !important;
  border: 1px solid #f0f0f0 !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.04) !important;
  padding: 60px 40px !important;
  border-radius: 40px !important;
  transition: all 0.4s ease;
}

.sw-visual-text h3 {
  font-size: 28px !important;
  letter-spacing: -0.5px !important;
}

/* 4. ESCONDER O TEXTO "RICH TEXT EDITOR" */

/* 5. BOTÃO DE ENVIO (O toque final) */
body #new-request-form footer input[type="submit"] {
  height: 60px !important;
  font-size: 16px !important;
  letter-spacing: 0.5px !important;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1) !important;
}

#new-request-form footer input[type="submit"],
.new_request footer input[type="submit"] {
  background: #000000 !important;
  background-color: #000000 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 12px !important;
  height: 56px !important;
  width: 100% !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  text-transform: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
}

#new-request-form footer input[type="submit"]:hover {
  background: #222222 !important;
  background-color: #222222 !important;
  transform: translateY(-2px) !important;
}

/* 1. Container Principal */
.breadcrumbs,

.sw-article-breadcrumbs{
  margin-bottom: 20px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #888 !important;
}

/* 2. Estilo dos Links na trilha */
.breadcrumbs a,

.sw-article-breadcrumbs a {
  color: #888 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.breadcrumbs a:hover{
  color: #000 !important;
}

/* 3. O último item (onde o usuário está agora) */
.breadcrumbs li:last-child,
.breadcrumbs li:last-child a{
  color: #000 !important;
  font-weight: 600 !important;
  pointer-events: none;
}

/* 4. Estilizando o separador ( > ) */
/* Se o seu separador for texto puro, ele herda a cor do container. 
   Se quiser algo mais elegante (como uma barra /), podemos fazer assim: */
.breadcrumbs li+li::before {
  content: "/" !important;
  /* Troca o > por / */
  color: #ccc !important;
  margin: 0 10px !important;
}

.sw-internal-hub {
  background-color: #0c0c0c;
  padding: 80px 0;
  margin-top: 60px;
  border-radius: 40px 40px 0 0;
  color: #ffffff;
}

.sw-internal-header {
  margin-bottom: 40px;
}

.sw-internal-badge {
  display: inline-block;
  background: #FF2055;
  color: #fff;
  padding: 5px 12px;
  border-radius: 100px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 15px;
}

.sw-internal-hub h2 {
  color: #fff !important;
  font-size: 32px;
  font-weight: 800;
}

.sw-internal-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
}

.sw-internal-card {
  background: #1a1a1a;
  border: 1px solid #333;
  padding: 30px;
  border-radius: 24px;
  transition: all 0.3s ease;
  text-decoration: none !important;
}

.sw-internal-card:hover {
  background: #252525;
  border-color: #FF2055;
  transform: translateY(-5px);
}

.sw-internal-icon {
  font-size: 32px;
  margin-bottom: 20px;
  display: block;
}

.sw-internal-card h3 {
  color: #fff !important;
  font-size: 18px;
  margin-bottom: 10px;
}

.sw-internal-card p {
  color: #888;
  font-size: 14px;
  line-height: 1.4;
}

.sw-internal-compact-area {
  margin-top: 40px;
  padding-top: 30px;
  border-top: 1px solid #f3f3f3;
}

.sw-internal-divider {
  text-align: center;
  margin-bottom: 25px;
}

.sw-internal-divider span {
  background: #fff;
  padding: 0 15px;
  color: #bbb;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

.sw-mini-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.sw-mini-card {
  display: flex;
  align-items: center;
  padding: 15px;
  background: #f9f9f9;
  border-radius: 12px;
  text-decoration: none !important;
  transition: all 0.2s ease;
  border: 1px solid transparent;
}

.sw-mini-card:hover {
  background: #fff;
  border-color: #000;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.mini-icon {
  font-size: 18px;
  margin-right: 12px;
}

/* Responsividade para o grid interno */
@media (max-width: 992px) {
  .sw-mini-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .sw-mini-grid {
    grid-template-columns: 1fr;
  }
}

.sw-internal-hub-premium {
  margin-top: 50px;
  padding: 30px;
  background: #fcfcfc;
  border-radius: 24px;
  border: 1px solid #f0f0f0;
}

.sw-internal-header-compact {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 25px;
}

.sw-internal-badge {
  background: #000;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 6px;
  letter-spacing: 0.5px;
}

.sw-internal-title-compact {
  font-size: 16px;
  font-weight: 700;
  color: #111;
  margin: 0;
}

.sw-mini-grid-v2 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

@media (max-width: 992px) {
  .sw-mini-grid-v2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .sw-mini-grid-v2 {
    grid-template-columns: 1fr;
  }
}

.sw-mini-card-v2 {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 16px;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 16px;
  text-decoration: none !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.sw-mini-card-v2:hover {
  border-color: #000;
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
}

.sw-mini-icon-box {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f5f5f5;
  border-radius: 10px;
  color: #000;
  transition: all 0.3s;
}

.sw-mini-card-v2:hover .sw-mini-icon-box {
  background: #000;
  color: #fff;
}

.sw-mini-info {
  display: flex;
  flex-direction: column;
}

.sw-mini-label {
  font-size: 10px;
  text-transform: uppercase;
  font-weight: 700;
  color: #999;
  letter-spacing: 0.5px;
}

.sw-mini-name {
  font-size: 14px;
  font-weight: 700;
  color: #111;
}

/* ==========================================
   VERSÃO MINI DA DOBRA 4 (ARTICLE PAGE)
   ========================================== */

.sw-support-cta-mini {
  margin-top: 40px;
}

.sw-support-box-mini {
  background: #0a0a0a;
  border-radius: 24px;
  padding: 40px;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.sw-support-content-mini {
  position: relative;
  z-index: 10;
  width: 65%;
}

.sw-support-title-mini {
  color: #ffffff !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  margin-bottom: 8px !important;
}

.sw-support-text-mini {
  color: #999;
  font-size: 15px;
  line-height: 1.4;
  margin-bottom: 24px;
  max-width: 320px;
}

.sw-btn-premium-mini {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #ffffff;
  color: #000 !important;
  padding: 12px 24px;
  border-radius: 100px;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.sw-btn-premium-mini:hover {
  transform: translateY(-2px);
  background: #f0f0f0;
  box-shadow: 0 8px 15px rgba(255, 255, 255, 0.1);
}

.sw-support-visual-mini {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 40%;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.sw-support-gif-mini {
  height: 120%;
  width: auto;
  mix-blend-mode: screen;
  opacity: 0.7;
  filter: contrast(1.1);
  -webkit-mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0) 100%);
  mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0) 100%);
}

.sw-blob-mini {
  position: absolute;
  width: 150px;
  height: 150px;
  background: radial-gradient(circle, #FF2055 0%, #A51CF1 100%);
  filter: blur(50px);
  opacity: 0.3;
  right: -20px;
  z-index: 0;
}

@media (max-width: 768px) {
  .sw-support-box-mini {
    flex-direction: column;
    text-align: center;
    padding: 30px 20px;
  }

  .sw-support-content-mini {
    width: 100%;
  }

  .sw-support-visual-mini {
    position: relative;
    width: 100%;
    height: 150px;
    margin-top: 10px;
  }
}

/* 1. Prepara o botão para receber a luz sem vazar pelas bordas */
.sw-pill-cta {
  position: relative !important;
  overflow: hidden !important;
}

/* 2. Cria o "feixe de luz" usando um pseudo-elemento */
.sw-pill-cta::after {
  content: "";
  position: absolute;
  top: 0;
  left: -150%;
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0) 100%);
  transform: skewX(-25deg);
  animation: sw-shine 5s infinite;
}

/* 3. A regra de movimento */
@keyframes sw-shine {
  0% {
    left: -150%;
  }

  15% {
    left: 150%;
  }

  /* Passa rapidinho nos primeiros 15% do tempo */
  100% {
    left: 150%;
  }

  /* Fica parado invisível esperando o próximo ciclo */
}

.sw-pill-cta {
  animation: sw-pulse-shadow 3s infinite;
}

@keyframes sw-pulse-shadow {
  0% {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  }

  50% {
    box-shadow: 0 8px 24px rgba(165, 28, 241, 0.3);
  }

  /* Brilha com um tom leve de roxo/rosa */
  100% {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  }
}

/* ==========================================
   CORREÇÃO DA SIDEBAR DO ARTIGO (UI PREMIUM)
   ========================================== */

/* 1. Alinhamento e Espaçamento das Ações Iniciais */
.sw-sidebar-actions {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 35px;
}

/* 2. Botão Voltar: Alinhado à esquerda e sutil */
.sw-back-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #666666 !important;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none !important;
  padding: 0;
  margin: 0;
  transition: color 0.2s ease;
}

.sw-back-button:hover {
  color: #111111 !important;
  transform: translateX(-2px);
}

/* 3. Botão Seguir: Ghost Button (Secundário e Elegante) */
.sw-sidebar-follow button,
.sw-sidebar-follow .dropdown-toggle,
.sw-sidebar-follow .subscribe-button {
  width: 100% !important;
  background-color: #ffffff !important;
  color: #111111 !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 12px !important;
  padding: 10px 16px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02) !important;
  transition: all 0.2s ease !important;
  display: flex;
  justify-content: center;
  align-items: center;
}

.sw-sidebar-follow button:hover,
.sw-sidebar-follow .dropdown-toggle:hover {
  background-color: #f8f9fa !important;
  border-color: #111111 !important;
  transform: translateY(-1px);
}

/* 4. Lista de Navegação "Nesta Seção" */
.sw-sidebar-label {
  font-size: 11px !important;
  text-transform: uppercase !important;
  color: #999999 !important;
  letter-spacing: 1px !important;
  margin-bottom: 12px !important;
  padding-left: 4px;
}

.sw-nav-link-v3 {
  display: block !important;
  padding: 10px 12px !important;
  color: #555555 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  border-radius: 8px !important;
  transition: all 0.2s ease !important;
  margin-bottom: 4px !important;
  border-left: 3px solid transparent !important;
}

.sw-nav-link-v3:hover {
  color: #111111 !important;
  background-color: #f8f9fa !important;
}

.sw-nav-link-v3.is-active {
  background-color: #fcfcfc !important;
  color: #111111 !important;
  font-weight: 700 !important;
  border-left: 3px solid #111111 !important;
  border-radius: 0 8px 8px 0 !important;
}

/* ==========================================
   HERO DO ARTIGO (DOBRA 1 PREMIUM)
   ========================================== */

.sw-article-hero-premium {
  padding: 50px 0 40px;
  background-color: #ffffff;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 50px;
}












.sw-article-title-premium {
  font-size: 44px !important;
  font-weight: 800 !important;
  color: #111111 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.03em !important;
  margin-bottom: 30px !important;
  max-width: 900px;
}

.sw-article-meta-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}

.sw-author-pill {
  display: flex;
  align-items: center;
  background: #f8f9fa;
  padding: 8px 16px 8px 8px;
  border-radius: 100px;
  border: 1px solid #f0f0f0;
}

.sw-author-avatar-premium {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  margin-right: 12px;
  border: 2px solid #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.sw-author-details {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.sw-author-name {
  font-size: 14px;
  color: #444;
  line-height: 1.2;
  margin-bottom: 2px;
}

.sw-author-name strong {
  color: #111;
  font-weight: 700;
}

.sw-article-date-time {
  display: flex;
  align-items: center;
  font-size: 12px;
  color: #888;
  font-weight: 500;
}

.sw-dot-divider {
  margin: 0 6px;
  color: #ccc;
}

.sw-read-time-badge {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #666;
}

.sw-article-quick-actions {
  display: flex;
  gap: 8px;
}

.sw-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #ffffff;
  color: #555;
  border: 1px solid #e0e0e0;
  padding: 8px 16px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  outline: none;
}

.sw-action-btn.icon-only {
  padding: 8px;
  border-radius: 50%;
}

.sw-action-btn:hover {
  background: #f8f9fa;
  color: #111;
  border-color: #111;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.sw-copy-toast {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%) translateY(12px);
  background: #111;
  color: #fff;
  padding: 10px 20px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease;
  z-index: 9999;
}

.sw-copy-toast--visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* Responsividade */
@media (max-width: 768px) {
  .sw-article-title-premium {
    font-size: 32px !important;
  }

  .sw-article-meta-bar {
    flex-direction: column;
    align-items: flex-start;
  }

  .sw-article-quick-actions {
    width: 100%;
    justify-content: flex-start;
  }
}

/* ==========================================
   ARTICLE PAGE — PRINT STYLES
   ========================================== */
@media print {

  .sw-article-hero-premium .sw-article-quick-actions,
  .sw-sidebar-v3,
  .sw-feedback-container,
  .sw-support-cta-mini,
  .sw-copy-toast {
    display: none !important;
  }

  .sw-article-hero-premium,
  .sw-main-layout-v3 {
    padding: 0 !important;
    margin: 0 !important;
  }

  .sw-main-layout-v3 {
    display: block !important;
  }

  .sw-content-v3 {
    max-width: 100% !important;
  }

  
  .sw-article-title-premium,
  .sw-body-v3 {
    color: #000 !important;
  }
}

/* ==========================================
   PÁGINA DE PESQUISA (SEARCH RESULTS)
   ========================================== */

/* --- 1. Header e Título dos Resultados --- */
.sw-results-header {
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
}

.sw-results-count-title {
  font-size: 20px;
  font-weight: 700;
  color: #111;
  margin: 0;
}

/* --- 2. Cards de Resultado --- */
.sw-search-results-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.sw-search-card {
  background: #ffffff;
  border: 1px solid #eef0f2;
  border-radius: 20px;
  padding: 24px;
  margin-bottom: 20px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.sw-search-card:hover {
  border-color: #111;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06);
  transform: translateY(-2px);
}

.sw-search-card-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
}

.sw-search-card-title a {
  color: #111;
  text-decoration: none !important;
}

.sw-search-card-title a:hover {
  color: #A51CF1;
}

.sw-search-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 13px;
  color: #888;
  margin-bottom: 16px;
}

.sw-search-card-meta span {
  display: flex;
  align-items: center;
  gap: 6px;
}

.sw-search-card-desc {
  font-size: 15px;
  line-height: 1.6;
  color: #555;
  margin-bottom: 20px;
}

.sw-search-card-desc em {
  font-style: normal;
  font-weight: 700;
  background: rgba(165, 28, 241, 0.1);
  color: #A51CF1;
  padding: 2px 6px;
  border-radius: 4px;
}

.sw-search-card-path {
  padding-top: 16px;
  border-top: 1px solid #f5f5f5;
}

.sw-path-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 12px;
  font-weight: 600;
}

.sw-path-breadcrumbs li a {
  color: #999;
  text-decoration: none;
  transition: color 0.2s;
}

.sw-path-breadcrumbs li a:hover {
  color: #111;
}

.sw-path-breadcrumbs li+li::before {
  content: "/";
  margin: 0 8px;
  color: #ddd;
}

/* --- 3. Sidebar de Filtros Refinada --- */
.sw-filter-box {
  background: #fcfcfc;
  padding: 24px;
}

.sw-filter-section {
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid #eee;
}

.sw-filter-section:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.sw-filter-title {
  font-size: 12px !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #999 !important;
  margin-bottom: 16px;
}

.sw-filter-link {
  display: flex !important;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px !important;
  color: #555 !important;
  font-size: 14px !important;
  border-radius: 8px !important;
  margin-bottom: 4px;
  text-decoration: none !important;
  transition: background 0.2s;
}

.sw-filter-link:hover {
  background: #f0f0f0 !important;
  color: #111 !important;
}

.sw-filter-link.current {
  background: #111 !important;
  color: #fff !important;
  font-weight: 600 !important;
}

.sw-count-badge {
  font-size: 11px;
  background: #eee;
  color: #666;
  padding: 2px 8px;
  border-radius: 100px;
}

.sw-filter-link.current .sw-count-badge {
  background: #333;
  color: #fff;
}

.sw-view-more-btn {
  background: none;
  border: none;
  color: #A51CF1;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  padding: 8px 12px;
  margin-top: 8px;
}

.collapsible-sidebar-toggle {
  background: none;
  border: none;
  float: right;
  margin-top: -30px;
  cursor: pointer;
  color: #999;
}

@media (min-width: 1024px) {
  .collapsible-sidebar-toggle {
    display: none;
  }
}

/* --- 4. Empty State (Nenhum Resultado) --- */
.sw-empty-state-card {
  text-align: center;
  padding: 60px 40px;
  background: #f8f9fa;
  border-radius: 24px;
  border: 1px dashed #ddd;
}

.sw-empty-icon {
  width: 64px;
  height: 64px;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px auto;
  color: #999;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.sw-empty-icon svg {
  width: 32px;
  height: 32px;
}

.sw-empty-state-card h3 {
  font-size: 24px;
  font-weight: 800;
  margin-bottom: 12px;
}

.sw-empty-state-card p {
  color: #666;
  margin-bottom: 30px;
}

/* ==========================================
   PERFIL ULTIMATE: BANNER & XP BAR
   ========================================== */

.sw-profile-hero-ultimate {
  background-color: #f5f6f8;
  padding: 60px 0;
  border-bottom: 1px solid #eef0f2;
}

.sw-ultimate-card {
  background: #ffffff;
  border-radius: 32px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  border: 1px solid #eaeaea;
}

/* 1. COVER BANNER (O Fundo do topo) */
.sw-profile-cover {
  height: 160px;
  width: 100%;
  background: linear-gradient(135deg, #111111 0%, #2a2a2a 100%);
  position: relative;
}

.sw-cover-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px);
  background-size: 20px 20px;
  opacity: 0.5;
}

.sw-ultimate-body {
  display: flex;
  padding: 0 50px 50px 50px;
  gap: 60px;
}

/* 2. COLUNA ESQUERDA (Sobreposição) */
.sw-identity-column {
  flex: 0 0 300px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-top: -80px;
}

.sw-avatar-overlap {
  background: #ffffff;
  padding: 8px;
  border-radius: 50%;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
  margin-bottom: 20px;
}

.sw-avatar-ring-v3 {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  padding: 4px;
  background: linear-gradient(135deg, #FF2055, #A51CF1);
  position: relative;
}

.sw-avatar-img-v3 {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 4px solid #ffffff;
  object-fit: cover;
}

.sw-agent-shield {
  position: absolute;
  bottom: 0;
  right: 0;
  background: #111;
  color: #fff;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 4px solid #fff;
}

.sw-player-name-v3 {
  font-size: 26px;
  font-weight: 800;
  margin-bottom: 4px;
  color: #111;
}

.sw-role-badge {
  font-size: 13px;
  color: #666;
  font-weight: 600;
  margin-bottom: 30px;
}

/* 3. A BARRA DE ENERGIA (XP) */
.sw-energy-container {
  width: 100%;
  background: #f8f9fa;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid #eee;
  margin-bottom: 30px;
}

.sw-energy-header {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  margin-bottom: 10px;
}

.sw-energy-header span {
  color: #888;
  font-weight: 700;
  text-transform: uppercase;
}

.sw-energy-header strong {
  color: #A51CF1;
  font-weight: 800;
}

.sw-energy-track {
  height: 8px;
  background: #e0e0e0;
  border-radius: 100px;
  overflow: hidden;
  position: relative;
}

.sw-energy-fill {
  height: 100%;
  width: 100%;
  background: linear-gradient(90deg, #FF2055, #A51CF1);
  border-radius: 100px;
  animation: loadXP 2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes loadXP {
  0% {
    transform: translateX(-100%);
  }

  100% {
    transform: translateX(0);
  }
}

.sw-profile-actions-v3 {
  width: 100%;
}

.sw-follow-wrapper button {
  width: 100% !important;
  background: #111 !important;
  color: #fff !important;
  border-radius: 12px !important;
  padding: 14px !important;
  font-weight: 700 !important;
  border: none !important;
  transition: 0.3s !important;
}

.sw-follow-wrapper button:hover {
  background: #333 !important;
  transform: translateY(-2px);
}

/* 4. COLUNA DIREITA (Dashboard) */
.sw-dashboard-column {
  flex: 1;
  padding-top: 40px;
}

.sw-stats-vip {
  display: flex;
  align-items: center;
  background: #ffffff;
  border: 1px solid #eee;
  border-radius: 20px;
  padding: 24px;
  margin-bottom: 30px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

.sw-stat-vip-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.sw-stat-num {
  font-size: 32px;
  font-weight: 800;
  color: #111;
  line-height: 1;
  margin-bottom: 4px;
}

.sw-stat-lbl {
  font-size: 12px;
  font-weight: 700;
  color: #999;
  text-transform: uppercase;
}

.sw-stat-vip-divider {
  width: 1px;
  height: 40px;
  background: #eee;
}

.sw-trophy-room {
  background: #111111;
  border-radius: 20px;
  padding: 30px;
  margin-bottom: 24px;
  position: relative;
  overflow: hidden;
}

.sw-trophy-room::before {
  content: '';
  position: absolute;
  top: -50px;
  left: -50px;
  width: 150px;
  height: 150px;
  background: radial-gradient(circle, rgba(255, 32, 85, 0.2) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.sw-trophy-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}

.sw-trophy-header h3 {
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.sw-trophy-showcase {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
}

.sw-title-tag {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
}

.sw-medal-spotlight {
  width: 50px;
  height: 50px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 50%;
  padding: 8px;
  transition: all 0.3s;
}

.sw-medal-spotlight:hover {
  background: rgba(255, 255, 255, 0.15);
  transform: scale(1.15) rotate(5deg);
}

.sw-medal-art {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.4));
}

.sw-medal-overflow {
  width: 50px;
  height: 50px;
  background: #333;
  color: #fff !important;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.2s;
}

.sw-medal-overflow:hover {
  background: #A51CF1;
}

.sw-player-timeline {
  font-size: 13px;
  color: #888;
  text-align: center;
}

.sw-player-timeline strong {
  color: #444;
}

/* Responsivo */
@media (max-width: 991px) {
  .sw-ultimate-body {
    flex-direction: column;
    padding: 0 20px 40px;
    gap: 30px;
  }

  .sw-identity-column {
    flex: auto;
    border-right: none;
    margin-top: -60px;
  }

  .sw-dashboard-column {
    padding-top: 0;
  }

  .sw-avatar-ring-v3 {
    width: 110px;
    height: 110px;
  }

  .sw-stats-vip {
    flex-direction: column;
    gap: 20px;
  }

  .sw-stat-vip-divider {
    width: 100%;
    height: 1px;
  }
}

/* ==========================================
   PERFIL PREMIUM: HIGH-FIDELITY DASHBOARD
   ========================================== */

.sw-profile-hero-premium {
  background-color: #f8f9fa;
  padding: 60px 0;
}

.sw-premium-card {
  background: #ffffff;
  border-radius: 24px;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.04);
  border: 1px solid #eef0f2;
  overflow: hidden;
}

/* --- BANNER --- */
.sw-profile-cover {
  height: 140px;
  width: 100%;
  background: #111111;
  position: relative;
}

.sw-cover-pattern {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255, 255, 255, 0.15) 1px, transparent 1px);
  background-size: 24px 24px;
  opacity: 0.6;
}

/* --- ESTRUTURA PRINCIPAL --- */
.sw-premium-body {
  display: flex;
  padding: 0 40px 40px 40px;
  gap: 50px;
}

/* --- COLUNA ESQUERDA (SIDEBAR) --- */
.sw-profile-sidebar {
  flex: 0 0 260px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-top: -70px;
}

.sw-avatar-container {
  background: #ffffff;
  padding: 6px;
  border-radius: 50%;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
  margin-bottom: 16px;
}

.sw-avatar-ring {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  padding: 3px;
  background: linear-gradient(135deg, #A51CF1, #FF2055);
  position: relative;
}

.sw-avatar-image {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 3px solid #ffffff;
  object-fit: cover;
}

.sw-agent-shield {
  position: absolute;
  bottom: 0;
  right: 0;
  background: #111;
  color: #fff;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 3px solid #fff;
}

.sw-profile-name {
  font-size: 24px;
  font-weight: 800;
  margin-bottom: 4px;
  letter-spacing: -0.5px;
}

.sw-profile-name a,
.sw-profile-name a:visited,
.sw-profile-name a:hover {
  color: #111111 !important;
  text-decoration: none !important;
}

.sw-profile-role {
  font-size: 14px;
  font-weight: 500;
  color: #666;
  margin-bottom: 24px;
}

.sw-xp-card {
  width: 100%;
  background: #f8f9fa;
  padding: 16px;
  border-radius: 12px;
  border: 1px solid #f0f0f0;
  margin-bottom: 24px;
}

.sw-xp-header {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.sw-xp-header span {
  color: #888;
  font-weight: 700;
  letter-spacing: 0.5px;
}

.sw-xp-header strong {
  color: #A51CF1;
  font-weight: 800;
}

.sw-xp-bar-bg {
  height: 6px;
  background: #e5e7eb;
  border-radius: 100px;
  overflow: hidden;
}

.sw-xp-bar-fill {
  height: 100%;
  width: 100%;
  background: linear-gradient(90deg, #FF2055, #A51CF1);
  border-radius: 100px;
  transform-origin: left;
  animation: fillXP 1.5s ease-out forwards;
}

@keyframes fillXP {
  0% {
    transform: scaleX(0);
  }

  100% {
    transform: scaleX(1);
  }
}

.sw-profile-actions {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.sw-action-btn-wrapper button,
.sw-action-btn-wrapper .dropdown-toggle,
.sw-edit-btn a,
.sw-edit-btn button {
  width: 100% !important;
  background: #111111 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-align: center !important;
  display: block !important;
  cursor: pointer;
  transition: all 0.2s !important;
  box-shadow: none !important;
}

.sw-action-btn-wrapper button:hover,
.sw-edit-btn a:hover {
  background: #333333 !important;
  transform: translateY(-2px);
}

/* --- COLUNA DIREITA (DASHBOARD) --- */
.sw-profile-dashboard {
  flex: 1;
  padding-top: 30px;
}

.sw-stats-row {
  display: flex;
  align-items: center;
  border: 1px solid #f0f0f0;
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 24px;
  background: #ffffff;
}

.sw-stat-block {
  flex: 1;
  text-align: center;
}

.sw-stat-number {
  display: block;
  font-size: 28px;
  font-weight: 800;
  color: #111;
  margin-bottom: 4px;
  line-height: 1;
}

.sw-stat-text {
  font-size: 11px;
  font-weight: 700;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.sw-stat-divider {
  width: 1px;
  height: 30px;
  background: #f0f0f0;
}

.sw-trophy-room {
  background: linear-gradient(135deg, #161616 0%, #0a0a0a 100%);
  border: 1px solid #2a2a2a;
  border-radius: 16px;
  padding: 24px 30px;
  margin-bottom: 24px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.sw-trophy-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}

.sw-trophy-header h3 {
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.sw-trophy-content {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.sw-badge-title {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.sw-badge-icon {
  width: 44px;
  height: 44px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 50%;
  padding: 8px;
  transition: transform 0.2s;
}

.sw-badge-icon:hover {
  transform: scale(1.1);
  background: rgba(255, 255, 255, 0.1);
}

.sw-badge-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sw-empty-trophies {
  color: #a0a0a0 !important;
  font-size: 13px;
  font-weight: 500;
  margin: 0;
}

.sw-profile-footer {
  font-size: 13px;
  color: #888;
  text-align: center;
}

.sw-profile-footer strong {
  color: #111;
}

.sw-dot {
  margin: 0 8px;
  color: #ccc;
}

/* Mobile */
@media (max-width: 768px) {
  .sw-premium-body {
    flex-direction: column;
    padding: 0 20px 30px 20px;
    gap: 30px;
  }

  .sw-profile-sidebar {
    flex: auto;
    margin-top: -60px;
  }

  .sw-profile-dashboard {
    padding-top: 0;
  }

  .sw-stats-row {
    flex-direction: column;
    gap: 20px;
    padding: 20px;
  }

  .sw-stat-divider {
    width: 100%;
    height: 1px;
  }
}

.sw-article-row {
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.sw-article-row:hover {
  background-color: #fafafa;
}

.sw-article-row-arrow .sw-arrow-icon {
  transition: transform 0.25s ease;
}

.sw-article-row:hover .sw-article-row-arrow .sw-arrow-icon {
  transform: translateX(4px);
}

/* ============================================================
   ARTIGOS RELACIONADOS (article_page)
   ============================================================ */
.sw-related-articles {
  margin: 40px 0 32px;
  padding: 28px 32px;
  background: #fafafa;
  border: 1px solid #ececec;
  border-radius: 16px;
}

.sw-related-title {
  margin: 0 0 16px;
  font-size: 18px;
  font-weight: 700;
  color: #111;
  letter-spacing: -0.01em;
}

/* Estiliza o markup nativo do helper {{related_articles}} (ul > li > a) */
.sw-related-articles ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 4px;
}

.sw-related-articles li {
  margin: 0;
}

.sw-related-articles a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 10px;
  color: #1a1a1a;
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
  transition: background-color 0.18s ease, color 0.18s ease;
}

.sw-related-articles a:hover,
.sw-related-articles a:focus-visible {
  background: #fff;
  color: #6F2DA8;
}

.sw-related-articles a::before {
  content: "";
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  background: currentColor;
  opacity: 0.55;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/><polyline points='14 2 14 8 20 8'/></svg>") center/contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/><polyline points='14 2 14 8 20 8'/></svg>") center/contain no-repeat;
}

.sw-related-articles a::after {
  content: "→";
  margin-left: auto;
  color: #bbb;
  font-weight: 400;
  transition: transform 0.2s ease, color 0.2s ease;
}

.sw-related-articles a:hover::after {
  color: #6F2DA8;
  transform: translateX(3px);
}

@media (max-width: 768px) {
  .sw-related-articles {
    padding: 20px;
    margin: 28px 0 24px;
  }

  .sw-related-articles a {
    padding: 10px 12px;
    font-size: 14px;
  }
}

/* ============================================================
   ARTICLE PAGE — NOVO LAYOUT (Zendesk-style)
   ============================================================ */

/* --- Barra de Busca do Artigo --- */
.sw-article-search-bar {
  background: #f8f8f8;
  padding: 20px 0;
  border-bottom: 1px solid #eee;
}

.sw-article-search-bar .sw-clean-search {
  position: relative;
  max-width: 600px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fff;
  transition: border-color 0.2s ease;
}

.sw-article-search-bar .sw-clean-search:focus-within {
  border-color: #333;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.05);
}

.sw-search-icon-article {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #999;
  pointer-events: none;
  z-index: 1;
}

.sw-article-search-bar .sw-clean-search input[type="search"] {
  flex: 1;
  width: 100%;
  height: 48px;
  background-color: transparent !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 0 16px 0 48px !important;
  font-size: 15px;
  color: #333;
  box-shadow: none !important;
  outline: none !important;
}

.sw-article-search-bar .sw-clean-search .clear-button {
  flex-shrink: 0;
  background: transparent;
  border: none;
  padding: 0 12px;
  cursor: pointer;
  color: #999;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* --- Header Block do Artigo --- */
.sw-article-header-block {
  padding: 40px 0 30px;
  border-bottom: 1px solid #eee;
  margin-bottom: 0;
}

/* --- Linha: Seguir + Redes Sociais --- */
.sw-article-actions-row {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 24px 0 20px;
  flex-wrap: wrap;
}

/* Botão Seguir inline */
.sw-follow-inline {
  flex-shrink: 0;
}

.sw-follow-inline button,
.sw-follow-inline .subscribe-button,
.sw-follow-inline .dropdown-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: #ffffff !important;
  color: #333 !important;
  border: 1px solid #d0d0d0 !important;
  border-radius: 100px !important;
  padding: 8px 18px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  width: auto !important;
  min-width: 0 !important;
  box-shadow: none !important;
  line-height: 1.4 !important;
}

.sw-follow-inline button:hover,
.sw-follow-inline .dropdown-toggle:hover {
  background: #f5f5f5 !important;
  border-color: #999 !important;
}

.sw-follow-inline .dropdown-menu {
  border-radius: 10px !important;
  border: 1px solid #eee !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1) !important;
  margin-top: 8px !important;
  padding: 6px !important;
}

.sw-follow-inline .dropdown-menu [role="menuitem"] {
  padding: 8px 12px !important;
  border-radius: 6px !important;
}

/* Ícones de compartilhamento */
.sw-share-icons {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* O helper {{share}} gera um wrapper .share com <ul><li><a> */
.sw-share-icons .share {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
}

.sw-share-icons .share ul {
  display: flex;
  align-items: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.sw-share-icons .share li {
  margin: 0;
  padding: 0;
}

.sw-share-icons .share a,
.sw-share-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  border: 1px solid #e0e0e0 !important;
  background: #fff !important;
  color: #555 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  padding: 0 !important;
  text-decoration: none !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
}

.sw-share-icons .share a:hover,
.sw-share-btn:hover {
  background: #f5f5f5 !important;
  border-color: #111 !important;
  color: #111 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.06) !important;
}

.sw-share-icons .share a svg,
.sw-share-btn svg {
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0;
}

/* --- Linha do Autor --- */
.sw-article-author-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.sw-author-avatar-small {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 2px solid #eee;
  flex-shrink: 0;
}

.sw-author-info-inline {
  display: flex;
  flex-direction: column;
}

.sw-author-name-inline {
  font-size: 14px;
  font-weight: 600;
  color: #333;
  line-height: 1.3;
}

.sw-article-meta-inline {
  font-size: 13px;
  color: #888;
  line-height: 1.3;
}

.sw-dot-sep {
  margin: 0 5px;
  color: #ccc;
}

.sw-read-time-inline {
  color: #888;
}

/* --- Layout: Artigo + Sidebar Relacionados --- */
.sw-article-layout {
  display: flex;
  gap: 50px;
  align-items: flex-start;
  padding: 40px 0 60px;
}

.sw-article-main {
  flex: 1;
  min-width: 0;
  max-width: 760px;
}

/* --- Sidebar Direita (Artigos Relacionados) --- */
.sw-article-sidebar-right {
  flex: 0 0 300px;
  position: sticky;
  top: 120px;
}

.sw-sidebar-card-related {
  background: #ffffff;
  border: 1px solid #e8e8e8;
  border-radius: 12px;
  padding: 24px;
}

.sw-sidebar-card-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #888;
  margin: 0 0 8px;
}

.sw-sidebar-card-title {
  font-size: 18px;
  font-weight: 700;
  color: #111;
  margin: 0 0 16px;
  letter-spacing: -0.01em;
}

/* Links de artigos relacionados na sidebar */
.sw-related-links ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sw-related-links li {
  margin: 0;
  border-bottom: 1px solid #f5f5f5;
}

.sw-related-links li:last-child {
  border-bottom: none;
}

.sw-related-links a {
  display: block;
  padding: 12px 0;
  color: #1F73B7;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  transition: color 0.18s ease;
}

.sw-related-links a:visited {
  color: #1F73B7;
}

.sw-related-links a:hover {
  color: #0F3554;
  text-decoration: underline;
}

/* --- Mobile --- */
@media (max-width: 900px) {
  .sw-article-layout {
    flex-direction: column;
    gap: 30px;
  }

  .sw-article-sidebar-right {
    flex: auto;
    width: 100%;
    position: static;
  }

  .sw-article-header-block {
    padding: 24px 0 20px;
  }

  .sw-article-title-premium {
    font-size: 28px !important;
  }

  .sw-article-actions-row {
    gap: 12px;
  }
}

@media (max-width: 480px) {
  .sw-article-search-bar {
    padding: 12px 0;
  }

  .sw-article-search-bar .sw-clean-search input[type="search"] {
    height: 42px;
    font-size: 14px;
  }

  .sw-article-title-premium {
    font-size: 24px !important;
  }
}

/* ============================================================
   PRINT — artigo limpo (oculta header, sidebar, ações, CTA)
   ============================================================ */
@media print {

  /* Oculta elementos interativos */
  .sw-article-search-bar,
  .sw-article-actions-row,
  .sw-article-sidebar-right,
  .sw-support-cta-mini,
  .sw-feedback-container,
  .sw-header,
  .sw-site-header,
  .sw-footer-premium,
  .sw-header-floating,
  .sw-header-spacer,
  body>header,
  body>footer {
    display: none !important;
  }

  /* Reset de fundo e cor para impressão */
  html,
  body {
    background: #fff !important;
    color: #000 !important;
    font-size: 12pt;
  }

  /* Layout linear */
  .sw-article-layout {
    display: block !important;
  }

  .sw-article-main,
  .sw-body-v3 {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Header enxuto */
  

  .sw-article-title-premium {
    font-size: 22pt !important;
    color: #000 !important;
    margin: 0 0 16px !important;
  }

  /* Tipografia do corpo para papel */
  .sw-body-v3 {
    font-size: 12pt;
    line-height: 1.55;
    color: #000 !important;
  }

  .sw-body-v3 h2 {
    font-size: 16pt;
    margin-top: 20pt;
  }

  .sw-body-v3 h3 {
    font-size: 13pt;
  }

  .sw-body-v3 a {
    color: #000 !important;
    text-decoration: underline;
  }

  .sw-body-v3 a[href^="http"]:after {
    content: " (" attr(href) ")";
    font-size: 9pt;
    color: #555;
    word-break: break-all;
  }

  /* Evita cortes ruins */
  .sw-body-v3 img,
  .sw-body-v3 pre,
  .sw-body-v3 table {
    page-break-inside: avoid;
  }

  .sw-body-v3 h2,
  .sw-body-v3 h3 {
    page-break-after: avoid;
  }
}

/* ==========================================
   ESTRUTURA DE LISTA DE ARTIGOS (TIPO ZENDESK PADRÃO)
   ========================================== */

.sw-zd-article-list {
  display: flex;
  flex-direction: column;
  margin-top: 32px;
  border-top: 1px solid #eaeaea;
}

.sw-zd-article-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 0;
  border-bottom: 1px solid #eaeaea;
  transition: background-color 0.2s ease;
}

.sw-zd-article-item:hover {
  background-color: #fafafa;
}

.sw-zd-article-content {
  flex: 1;
  padding-right: 40px;
}

.sw-zd-article-title {
  display: block;
  font-size: 16px;
  font-weight: 700;
  color: #111;
  margin-bottom: 8px;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

.sw-zd-article-title:hover {
  color: #A51CF1;
}

.sw-zd-article-excerpt {
  font-size: 14px;
  color: #555;
  line-height: 1.5;
  margin-bottom: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sw-zd-article-meta {
  font-size: 12px;
  color: #888;
}

.sw-zd-article-stats {
  display: flex;
  gap: 32px;
  align-items: center;
  flex-shrink: 0;
}

.sw-zd-stat-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-width: 60px;
}

.sw-zd-stat-value {
  font-size: 22px;
  color: #555;
  line-height: 1;
  margin-bottom: 4px;
}

.sw-zd-stat-label {
  font-size: 11px;
  color: #888;
}

@media (max-width: 768px) {
  .sw-zd-article-item {
    flex-direction: column;
    align-items: flex-start;
  }
  
  .sw-zd-article-content {
    padding-right: 0;
    margin-bottom: 16px;
  }
  
  .sw-zd-article-stats {
    width: 100%;
    justify-content: flex-start;
  }
}

/* ==========================================
   GLOBAL BREADCRUMBS
   ========================================== */
.sw-breadcrumbs {
  margin-bottom: 24px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.sw-breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
}

.sw-breadcrumbs ol li,
.sw-breadcrumbs ol li a {
  font-size: 13px;
  color: #888;
  font-weight: 500;
  text-decoration: none !important;
  transition: color 0.2s;
}

.sw-breadcrumbs ol li a:hover {
  color: #111;
}

.sw-breadcrumbs ol li:last-child {
  color: #111;
  font-weight: 700;
  pointer-events: none;
}

.sw-breadcrumbs ol li + li::before {
  content: "/";
  margin: 0 10px;
  color: #ccc;
}
