.top-nav {
  background-color: #fff;
}

.top-nav-content {
  padding-block: 19px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
}
@media (max-width: 767px) {
  .top-nav-content {
    flex-direction: column;
  }
}

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

.button-with-icon span {
  font-weight: 500;
  font-size: clamp(14px, 2vw, 18px);
  color: #2a2a2a;
}

.top-nav-items {
  display: flex;
  align-items: center;
  gap: 45px;
  margin-bottom: 0px;
}
@media (max-width: 767px) {
  .top-nav-items {
    gap: 16px;
  }
}

.top-nav-item.active span {
  color: var(--wine);
  font-weight: 600;
}

.subscription-banner-img {
  width: 100%;
  height: 454px;
}
.subscription-banner-img img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
}

.company-img {
  width: 106px;
  height: 106px;
  border: 1.5px solid #e0e0e0;
  padding: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  margin-top: -53px;
  position: relative;
}
.company-img img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.company-title {
  font-weight: 500;
  font-size: clamp(34px, 3vw, 55px);
  color: var(--wine);
}

.subscription-intro {
  display: flex;
  gap: 65px;
  justify-content: space-between;
  padding-top: 40px;
}
@media (max-width: 1100px) {
  .subscription-intro {
    flex-direction: column;
  }
}

.company-desc {
  font-weight: 500;
  font-size: clamp(16px, 2vw, 18px);
  color: #313131;
  margin-bottom: 41px;
}

.subscription-intro .btn {
  opacity: 1;
  width: 270px;
  font-weight: 600;
}
@media (max-width: 767px) {
  .subscription-intro .btn {
    width: 100%;
    max-width: unset;
  }
}

.subscription-intro-wrapper {
  margin-bottom: 60px;
}
@media (max-width: 778px) {
  .subscription-intro-wrapper {
    margin-bottom: 20px;
  }
}

.checkpoints {
  margin-bottom: 120px;
}
@media (max-width: 778px) {
  .checkpoints {
    margin-bottom: 40px;
  }
}

.checkpoint-items {
  display: flex;
}

.checkpoint-item {
  flex: 1 1 0px;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.checkpoint-item .circle {
  width: 85px;
  height: 85px;
  border-radius: 50%;
  background-color: #fff;
  border: 1.5px solid #e0e0e0;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 27px;
  flex-shrink: 0;
}

.checkpoint-item.checked .circle {
  border-color: var(--wine);
  background-color: var(--wine);
}

.checkpoint-item.active .circle {
  border-color: var(--wine);
}

.checkpoint-item .circle span {
  font-weight: 600;
  font-size: clamp(16px, 2vw, 20px);
  color: var(--wine);
}

.checkpoint-item .checkpoint-title {
  font-weight: 500;
  font-size: clamp(16px, 2vw, 18px);
  text-align: center;
  color: var(--wine);
  margin-bottom: 8px;
}

.checkpoint-item .checkpoint-date {
  font-weight: 500;
  font-size: clamp(16px, 2vw, 18px);
  text-align: center;
  color: #3b3b3b;
}

.checkpoint-item::after {
  position: absolute;
  content: "";
  top: 40px;
  transform: translate(0, -50%);
  width: 100%;
  height: 1px;
  display: block;
  background: rgba(0, 0, 0, 0.4);
  z-index: -1;
}

.checkpoint-item:first-child:after {
  transform: translate(50%, -50%);
}

.checkpoint-item:last-child:after {
  transform: translate(-50%, -50%);
}

.checkpoint-item.checked::after {
  background: var(--wine);
  height: 2px;
}

.checkpoint-item.active::after {
  background: var(--wine);
  height: 2px;
}

.key-facts-container {
  display: flex;
  align-items: center;
  gap: 60px;
}
@media (max-width: 1100px) {
  .key-facts-container {
    flex-direction: column;
  }
}

.key-facts-img {
  width: 375px;
  height: 532px;
  position: relative;
}
@media (max-width: 767px) {
  .key-facts-img {
    width: 100%;
    height: 532px;
    position: relative;
  }
}

.key-facts-img .front-img {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  z-index: 2;
  position: relative;
  background: #ffffffb2;
  box-shadow: 0px 4px 36.2px 0px #0000001f;
  backdrop-filter: blur(8.5px);
}

.key-facts-img .front-img img {
  display: block;
  width: 80%;
  height: 80%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.key-facts-img .background-img {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.key-facts-img .background-img img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
}

.key-facts-container .heading {
  font-weight: 600;
  font-size: clamp(24px, 3vw, 35px);
  color: var(--wine);
  margin-bottom: 24px;
}

.key-facts-table {
  width: 100%;
  border-collapse: collapse;
  color: #4b4b4b;
  padding-inline-end: 6px;
}

.key-facts-table td {
  padding-block: 13px;
  vertical-align: top;
  font-size: clamp(16px, 2vw, 18px);
}

.key-facts-table td:first-child {
  font-weight: 600;
  color: var(--wine);
  width: 30%;
}

.subscription {
  margin-bottom: 80px;
}

.subscription-account-item {
  border-radius: 14px;
  border: 1px solid #ffffff;
  box-shadow: 2px 2px 6.1px 3px #00000017;
  padding-top: 26px;
  width: 100%;
}

.subscription-account-item:not(:last-child) {
  margin-bottom: 50px;
}
@media (max-width: 778px) {
  .subscription-account-item:not(:last-child) {
    margin-bottom: 20px;
  }
}

.subscription-account-top {
  display: flex;
  gap: 11px;
}

.subscription-account-top .account-type {
  padding: 2px 6px;
  background-color: #74324117;
  font-weight: 500;
  font-size: 10px;
  color: var(--wine);
  margin-bottom: 0px;
  width: fit-content;
}

.subscription-account-top .account-name {
  font-weight: 600;
  font-size: 20px;
  font-size: clamp(16px, 2vw, 20px);
  color: #400d18;
  margin-bottom: 0px;
}

.subscription-account-item .subscription-account-top {
  padding-inline-start: 30px;
  margin-bottom: 34px;
}

table.dataTable.subscription-account-table {
  width: 100%;
  border-collapse: collapse;
}

table.dataTable.subscription-account-table td {
  padding: 12px 8px;
  text-align: center;
  border-top: 0.5px solid #70707070;
  color: #4b4b4b;
}

table.dataTable.subscription-account-table th,
table.dataTable.subscription-account-table th span {
  font-weight: 500;
  font-size: clamp(16px, 2vw, 18px);
  text-align: center;
  color: var(--wine);
  padding-bottom: 20px;
}

table.dataTable.subscription-account-table td:first-child {
  color: var(--wine);
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 600;
  text-align: start;
}

table.dataTable.subscription-account-table td:not(:last-child) {
  border-inline-end: 0.5px solid #70707070;
}

table.dataTable.subscription-account-table th {
  border-bottom: 2px solid #70707070;
}
table.dataTable.subscription-account-table td span {
  padding: 2px 8px;
  display: inline-block;
  background-color: #f0f0f0;
}

.total-subscription-table-wrapper {
  border-radius: 14px;
  border: 1px solid #ffffff;
  box-shadow: 2px 2px 6.1px 3px #00000017;
  max-width: 985px;
  margin-inline: auto;
  padding-inline: 53px;
  padding-block: 22px;
  background: linear-gradient(90deg, var(--wine) 0%, #400d18 50%, #fff 50%);
}
@media (max-width: 778px) {
  .total-subscription-table-wrapper {
    padding-inline: 14px;
    padding-block: 4px;
  }
}

.total-subscription-table {
  width: 100%;
  border-collapse: collapse;
}

.total-subscription-table td {
  padding-block: 12px;
  width: 50%;
}

.total-subscription-table tr:not(:last-child) td {
  border-bottom: 0.5px solid #70707070;
}

.total-subscription-table td:first-child {
  font-weight: 600;
  font-size: clamp(16px, 2vw, 20px);
  color: #fff;
  text-align: start;
  width: 50%;
  padding-inline-end: 4px;
}

.total-subscription-table td:last-child {
  font-size: clamp(16px, 2vw, 20px);
  color: #4b4b4b;
  text-align: end;
}

.total-subscription-table .total-row td {
  font-size: clamp(18px, 2vw, 22px);
  border-top: 2px solid #70707070;
  font-weight: 700;
}

.total-subscription {
  padding-inline: 53px;
  margin-top: 26px;
  font-size: 16px;
  color: #4b4b4b;
}
@media (max-width: 778px) {
  .total-subscription {
    padding-inline: 0px;
  }
}

.full-buttons {
  display: flex;
  justify-content: center;
  gap: 34px;
}
@media (max-width: 778px) {
  .full-buttons {
    flex-direction: column;
    align-items: center;
    gap: 15px;
  }
}

.full-buttons .btn {
  max-width: 300px;
  flex: 1;
  width: 100%;
}

.full-buttons .btn.btn-wine {
  opacity: 1;
}

.header-status .description .strong {
  font-weight: 700;
  display: block;
}

.completed-form .heading {
  font-weight: 500;
  font-size: clamp(24px, 2vw, 28px);
  color: var(--wine);
  text-align: center;
}

.completed-form-items {
  margin-block: 36px;
}

.completed-form .btn {
  max-width: unset;
  width: 100%;
}

.completed-form-item {
  display: flex;
  gap: 14px;
  align-items: center;
  padding-block: 14px;
  text-decoration: none;
}

.completed-form-item:not(:last-child) {
  border-bottom: 1px solid #70707070;
}

.completed-form-item .item-title {
  font-weight: 600;
  font-size: clamp(16px, 2vw, 20px);
  color: #313131;
}

.subscription-pages.status-request .container .content .header-status {
  max-width: unset;
}

.payments-item {
  padding: 20px 30px;
  box-shadow: 0px 4px 16.3px 0px #00000029;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
@media (max-width: 767px) {
  .payments-item {
    padding: 20px;
    flex-direction: column;
  }
}

.payments-item .right-side {
  width: 220px;
}

.payments-item .payments-value {
  font-weight: 700;
  font-size: clamp(20px, 2vw, 20px);
  color: var(--wine);
}

.payments-item .account-name ~ .payments-value {
  margin-top: 15px;
}

.payments-item .payments-status {
  font-weight: 600;
  font-size: clamp(16px, 2vw, 18px);
  text-align: center;
}

.payments-item .payments-status.pending-status {
  color: #eaa947;
}
.payments-item .payments-status.completed-status {
  color: #47a238;
  margin-bottom: 0px;
}

.payments-item .btn {
  opacity: 1;
  width: 100%;
  font-weight: 600;
}

.payments-items {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.payments-gate {
  padding: 47px 37px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 26px;
  box-shadow: 0px 4px 16.3px 0px #00000029;
  width: 357px;
  text-decoration: none;
}

@media (max-width: 767px) {
  .payments-gate {
    padding: 25px;
    width: 100%;
  }
}

.payments-gate span {
  font-weight: 600;
  font-size: clamp(18px, 2vw, 22px);
  text-align: center;
  color: var(--wine);
}

.payments-gates {
  display: flex;
  justify-content: center;
  gap: 51px;
  flex-wrap: wrap;
}

.payments-accounts {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.payments-accounts .btn {
  align-self: center;
  width: 100%;
  max-width: 300px;
}
@media (min-width: 779px) {
  .payments-accounts .btn {
    width: 356px;
    max-width: unset;
    align-self: flex-end;
  }
}

.payments-account {
  box-shadow: 0px 4px 16.3px 0px #00000029;
  padding: 28px 14px;
  display: flex;
  align-items: center;
  gap: 22px;
  text-decoration: none;
}
@media (max-width: 767px) {
  .payments-account {
    flex-direction: column;
  }
}

.payments-account .account-icon {
  width: 101px;
  max-height: 50px;
}

.payments-account .account-icon img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.payments-account .account-name {
  font-weight: 600;
  font-size: clamp(16px, 2vw, 20px);
  color: var(--wine);
  margin-bottom: 6px;
}

.payments-account .account-code {
  font-size: clamp(14px, 2vw, 20px);
  color: #4b4b4b;
  margin-bottom: 0px;
}

.payments-documents {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.payments-document {
  display: flex;
  gap: 34px;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0px 4px 16.3px 0px #00000029;
  padding: 32px 50px;
}
@media (max-width: 767px) {
  .payments-document {
    padding: 20px;
    gap: 16px;
  }
}

.payments-document .payments-document-name {
  font-weight: 600;
  font-size: clamp(16px, 2vw, 20px);
  color: var(--wine);
  display: block;
  flex: 1;
}

.payments-document a {
  display: flex;
  gap: 10px;
  text-decoration: none;
}

.payments-document a span {
  font-weight: 500;
  font-size: clamp(16px, 2vw, 18px);
  color: var(--wine);
}

.form-group .wrapper-input textarea {
  width: 100%;
  outline: none;
  border: none;
  padding: 20px;
}

table.requests-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 18px; /* spacing between rows */
  font-size: clamp(16px, 2vw, 18px);
}

table.requests-table .icon-cell img {
  width: 40px;
  min-width: 40px;
  height: 32px;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

table.requests-table thead tr th {
  text-align: start;
  padding: 18px;
  padding-bottom: 30px;
  font-weight: 500;
  color: #313131;
  background-color: transparent;
}

table.requests-table thead tr th,
table.requests-table tbody > tr:last-child > * {
  border-bottom: unset !important;
}
table.requests-table tbody tr td {
  padding: 18px;
  vertical-align: middle;
  color: #313131;
  background-color: #fff;
}

table.requests-table tbody tr {
  box-shadow: 0px 4px 16.3px 0px #00000029;
}

.requests-header {
  margin-top: 27px;
}

.requests-header .heading {
  font-weight: 600;
  font-size: clamp(24px, 3vw, 35px);
  color: var(--wine);
  margin-bottom: 27px;
}

.requests-tabs {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 0;
  margin: 0;
  font-size: 14px;
}

.requests-tab {
  font-weight: 500;
  font-size: clamp(16px, 2vw, 18px);
  color: #313131;
  text-decoration: none;
}

.requests-tab.active,
.requests-tab:hover {
  color: var(--wine);
}

.requests-tabs .divider {
  color: #000000;
}

table.requests-table tbody tr td:nth-child(2) {
  font-weight: 600;
  font-size: clamp(16px, 2vw, 18px);
  color: var(--wine);
}

table.requests-table tbody tr td.pending-status {
  color: #dc8e19;
}

@media (max-width: 767px) {
  .checkpoint-items {
    flex-direction: column;
  }
  .checkpoint-item {
    flex-direction: row;
    align-items: flex-start;
    gap: 15px;
  }
  .checkpoint-item > :not(.circle) {
    align-items: flex-start;
    margin-top: 29px;
    text-align: start;
  }
  .checkpoint-item::after {
    top: 0px;
    transform: translate(-50%, 0);
    width: 1px;
    height: 100%;
    margin-inline-start: 42px;
  }
  .checkpoint-item:first-child:after {
    transform: translate(-50%, 50%);
  }
  .checkpoint-item.checked::after {
    height: 100%;
    width: 2px;
  }
}

div.dt-container:has(.subscription-account-table) div.dt-layout-row {
  margin: 0px;
}

div.dt-container.dt-empty-footer
  .subscription-account-table
  tbody
  > tr:last-child
  > * {
  border-bottom: none;
}

table.dataTable.subscription-account-table td:has(~ td.dtr-hidden) {
  border-inline-end: none;
}

table.dataTable.subscription-account-table > tbody > tr > th,
table.dataTable.subscription-account-table > tbody > tr > td {
  text-align: center;
}

@media (max-width: 767px) {
  table.dataTable.subscription-account-table > tbody > tr > th,
  table.dataTable.subscription-account-table > tbody > tr > td {
    padding: 6px;
  }
}

table.dataTable.subscription-account-table td:first-child {
  min-width: 40px;
}

.registration.no-grid {
  display: block;
}

.payment-form button.btn {
  font-weight: 600;
}

.agreement-checkbox-label {
  display: flex;
  align-items: center;
  gap: 15px;
  font-size: clamp(16px, 2vw, 18px);
  cursor: pointer;
  margin-inline: auto;
}

.agreement-checkbox-label input[type="checkbox"] {
  width: 22px;
  height: 22px;
  accent-color: var(--wine);
  cursor: pointer;
}

.agreement-checkbox-label span {
  color: #4b4b4b;
}

.agreement-checkbox-label a {
  color: var(--wine);
  font-weight: 600;
  text-decoration: underline;
}

@media (min-width: 768px) {
  .payments-gates + .agreement-checkbox-label{
    margin-top: -22px;
  }
}

.status-request.subscription-pages .completed-form{
  display: flex;
  flex-direction: column;
}

.status-request.subscription-pages .completed-form .btn{
  max-width: 365px;
  margin-inline: auto;
}

@media (max-width: 767px) {
  .status-request.subscription-pages .container .completed-form{
      min-width: 100%;
}
}

.status-request.subscription-pages .header-status + .buttons .btn{
  font-weight: 600;
}

.payments-documents ~ .full-buttons .btn,
.payments-items ~ .full-buttons .btn{
  font-weight: 600;
}

.registration .form-uploads .form-group .wrapper-input .btn.btn-wine-secondary{
  font-weight: 600;
}