/* MK Cable customer account — v3
   Scoped to Shoptet customer-account and login pages only. */

body.customer-page {
  --mkcc-blue: #0266ff;
  --mkcc-blue-dark: #0054d6;
  --mkcc-navy: #141e31;
  --mkcc-text: #2f394a;
  --mkcc-muted: #667085;
  --mkcc-line: #e2e7f0;
  --mkcc-soft: #f6f8fc;
  --mkcc-blue-soft: #edf3ff;
  --mkcc-white: #fff;
}

/* Account canvas and breadcrumb */
body.customer-page #content-wrapper {
  width: min(1180px, calc(100% - 40px));
  max-width: 1180px;
  padding-top: 14px;
  padding-bottom: 54px;
}

body.customer-page .breadcrumbs {
  margin-bottom: 18px;
  color: var(--mkcc-muted);
  font-size: 12px;
}

/* Two-column account layout */
body.customer-page #content-wrapper > .content-wrapper-in {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

body.customer-page #content-wrapper .sidebar {
  float: none;
  width: auto;
  margin: 0;
  padding: 0;
}

body.customer-page #content-wrapper .sidebar-inner,
body.customer-page #content-wrapper .sidebar .box {
  width: 100%;
}

body.customer-page #content-wrapper .sidebar-inner {
  display: block;
  padding: 0;
}

body.customer-page #content-wrapper .sidebar .box {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 18px 14px 14px;
  border: 1px solid var(--mkcc-line);
  border-radius: 12px;
  background: var(--mkcc-white);
  box-shadow: 0 10px 30px rgba(20, 30, 49, .07);
}

body.customer-page #content-wrapper .sidebar .box::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  background: var(--mkcc-blue);
  content: "";
}

body.customer-page #content-wrapper .sidebar h4,
body.customer-page #content-wrapper .sidebar .box > strong:first-child {
  display: block;
  margin: 0 0 14px;
  color: var(--mkcc-navy);
  font-size: 17px;
  font-weight: 800;
  line-height: 1.3;
}

body.customer-page #content-wrapper .sidebar ul {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}

body.customer-page #content-wrapper .sidebar li {
  position: relative;
  margin: 2px 0;
  padding: 0;
  list-style: none;
}

body.customer-page #content-wrapper .sidebar li::before {
  display: none;
}

body.customer-page #content-wrapper .sidebar li > a {
  display: flex;
  min-height: 36px;
  align-items: center;
  padding: 8px 10px 8px 25px;
  border-radius: 7px;
  color: var(--mkcc-text);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

body.customer-page #content-wrapper .sidebar li:first-child > a {
  min-height: 42px;
  padding-top: 10px;
  padding-bottom: 10px;
  background: var(--mkcc-blue-soft);
  color: var(--mkcc-navy);
  font-size: 14px;
  font-weight: 800;
}

body.customer-page #content-wrapper .sidebar li > a::before {
  position: absolute;
  left: 10px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #b7c4d8;
  content: "";
  transition: background-color .18s ease, transform .18s ease;
}

body.customer-page #content-wrapper .sidebar li > a:hover,
body.customer-page #content-wrapper .sidebar li.active > a,
body.customer-page #content-wrapper .sidebar li > a[aria-current="page"] {
  background: var(--mkcc-blue-soft);
  color: var(--mkcc-blue-dark);
  transform: translateX(2px);
}

body.customer-page #content-wrapper .sidebar li > a:hover::before,
body.customer-page #content-wrapper .sidebar li.active > a::before,
body.customer-page #content-wrapper .sidebar li > a[aria-current="page"]::before {
  background: var(--mkcc-blue);
  transform: scale(1.25);
}

body.customer-page #content-wrapper .sidebar li.logout {
  margin: 8px 0 14px;
  padding: 0 0 14px;
  border-bottom: 1px solid var(--mkcc-line);
}

body.customer-page #content-wrapper .sidebar li.logout > a {
  width: 100%;
  min-height: 38px;
  padding: 9px 12px;
  transform: none;
}

body.customer-page #content-wrapper .sidebar li.logout > a::before {
  display: none;
}

body.customer-page #content-wrapper .sidebar .btn,
body.customer-page #content-wrapper .sidebar a[href*="logout"] {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border: 1px solid var(--mkcc-blue);
  border-radius: 6px;
  background: var(--mkcc-white);
  color: var(--mkcc-blue) !important;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  box-shadow: none;
}

body.customer-page #content-wrapper .sidebar .btn:hover,
body.customer-page #content-wrapper .sidebar a[href*="logout"]:hover {
  background: var(--mkcc-blue);
  color: var(--mkcc-white) !important;
}

/* Main account card */
body.customer-page #content-wrapper #content {
  float: none;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
}

body.customer-page #content-wrapper #content .content-inner {
  min-height: 300px;
  padding: 30px 32px 34px;
  border: 1px solid var(--mkcc-line);
  border-radius: 12px;
  background: var(--mkcc-white);
  box-shadow: 0 10px 30px rgba(20, 30, 49, .07);
}

body.customer-page #content-wrapper #content .content-inner > :last-child {
  margin-bottom: 0;
}

body.customer-page #content-wrapper #content h1 {
  position: relative;
  margin: 0 0 26px;
  padding-bottom: 15px;
  color: var(--mkcc-navy);
  font-size: clamp(27px, 3vw, 34px);
  font-weight: 800;
  line-height: 1.15;
}

body.customer-page #content-wrapper #content h1::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 46px;
  height: 3px;
  border-radius: 3px;
  background: var(--mkcc-blue);
  content: "";
}

body.customer-page #content-wrapper #content h2,
body.customer-page #content-wrapper #content h3 {
  margin: 26px 0 14px;
  color: var(--mkcc-navy);
  font-weight: 800;
  line-height: 1.25;
}

body.customer-page #content-wrapper #content h2:first-child,
body.customer-page #content-wrapper #content h3:first-child,
body.customer-page #content-wrapper #content h1 + h2,
body.customer-page #content-wrapper #content h1 + h3 {
  margin-top: 0;
}

/* Customer tables */
body.customer-page .customer-page .table,
body.customer-page #content-wrapper #content table {
  width: 100%;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--mkcc-line);
  border-spacing: 0;
  border-collapse: separate;
  border-radius: 10px;
  background: var(--mkcc-white);
  font-size: 13px;
}

body.customer-page .customer-page .table thead,
body.customer-page #content-wrapper #content table thead {
  position: static;
}

body.customer-page .customer-page .table thead tr,
body.customer-page #content-wrapper #content table thead tr {
  background: var(--mkcc-navy);
}

body.customer-page .customer-page .table th,
body.customer-page #content-wrapper #content table th {
  padding: 12px 13px;
  border: 0;
  background: transparent;
  color: var(--mkcc-white);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .015em;
  line-height: 1.35;
  text-transform: none;
  vertical-align: middle;
}

body.customer-page .customer-page .table td,
body.customer-page #content-wrapper #content table td {
  padding: 13px;
  border: 0;
  border-bottom: 1px solid var(--mkcc-line);
  color: var(--mkcc-text);
  line-height: 1.45;
  vertical-align: middle;
}

body.customer-page .customer-page .table tbody tr:nth-child(even),
body.customer-page #content-wrapper #content table tbody tr:nth-child(even) {
  background: var(--mkcc-soft);
}

body.customer-page .customer-page .table tbody tr:last-child td,
body.customer-page #content-wrapper #content table tbody tr:last-child td {
  border-bottom: 0;
}

body.customer-page .customer-page .table tbody tr:hover,
body.customer-page #content-wrapper #content table tbody tr:hover {
  background: var(--mkcc-blue-soft);
}

body.customer-page #content-wrapper #content table a {
  color: var(--mkcc-blue-dark);
  font-weight: 700;
  text-decoration: none;
}

body.customer-page #content-wrapper #content table a:hover {
  text-decoration: underline;
}

body.customer-page #content-wrapper #content .status {
  display: inline-flex;
  min-height: 25px;
  align-items: center;
  padding: 4px 9px;
  border-radius: 999px;
  background: #eef2f7;
  color: #42526a;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
}

body.customer-page #content-wrapper #content .status.status-4 {
  background: #fff1f1;
  color: #b42318;
}

/* Forms, information boxes and account actions */
body.customer-page #content-wrapper #content .form-control,
body.customer-page #content-wrapper #content select {
  min-height: 44px;
  border: 1px solid #cdd5e1;
  border-radius: 7px;
  background: var(--mkcc-white);
  box-shadow: none;
}

/* Keep Shoptet floating labels and entered values fully visible. */
body.customer-page #content-wrapper #content input.form-control:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.customer-page #content-wrapper #content select {
  min-height: 60px;
}

/* Match the specificity of Shoptet's .form-control rule for native selects. */
body.customer-page #content-wrapper #content select.form-control {
  height: 60px;
  min-height: 60px;
}

body.customer-page #content-wrapper #content .form-control:focus,
body.customer-page #content-wrapper #content select:focus {
  border-color: var(--mkcc-blue);
  outline: 3px solid rgba(2, 102, 255, .12);
}

body.customer-page #content-wrapper #content .btn-primary {
  min-height: 42px;
  padding: 10px 18px;
  border: 1px solid var(--mkcc-blue);
  border-radius: 6px;
  background: var(--mkcc-blue);
  color: var(--mkcc-white);
  font-weight: 800;
  box-shadow: none;
}

body.customer-page #content-wrapper #content .btn-primary:hover {
  border-color: var(--mkcc-blue-dark);
  background: var(--mkcc-blue-dark);
}

body.customer-page #content-wrapper #content .box,
body.customer-page #content-wrapper #content .msg,
body.customer-page #content-wrapper #content .information {
  padding: 20px;
  border: 1px solid var(--mkcc-line);
  border-color: var(--mkcc-line);
  border-radius: 9px;
  background: var(--mkcc-soft);
}

/* Login page uses the same MK Cable visual language. */
body.in-login #content-wrapper {
  width: min(620px, calc(100% - 32px));
  max-width: 620px;
  padding-top: 24px;
  padding-bottom: 58px;
}

body.in-login #content-wrapper .content-wrapper-in {
  display: block;
}

body.in-login #content-wrapper #content .content-inner {
  padding: 34px 38px 36px;
  border: 1px solid #e2e7f0;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(20, 30, 49, .08);
}

body.in-login #content-wrapper h1 {
  margin: 0 0 26px;
  color: #141e31;
  font-size: 32px;
  font-weight: 800;
}

body.in-login #content-wrapper .login-form {
  width: 100%;
  max-width: none;
}

body.in-login #content-wrapper .form-control {
  min-height: 46px;
  border: 1px solid #cdd5e1;
  border-radius: 7px;
  box-shadow: none;
}

body.in-login #content-wrapper .form-control:focus {
  border-color: #0266ff;
  outline: 3px solid rgba(2, 102, 255, .12);
}

body.in-login #content-wrapper .btn-primary {
  min-height: 44px;
  padding: 10px 20px;
  border-radius: 6px;
  background: #0266ff;
  font-weight: 800;
}

body.in-login #content-wrapper .alternative-links {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid #e2e7f0;
}

body.in-login #content-wrapper .alternative-links a {
  color: #0266ff;
  font-weight: 700;
}

/* Shoptet switches customer tables to labelled rows below 1200px. */
@media (max-width: 1199px) {
  body.customer-page #content-wrapper > .content-wrapper-in {
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 20px;
  }

  body.customer-page .customer-page .table-mobile-enriched,
  body.customer-page #content-wrapper #content table.table-mobile-enriched {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  body.customer-page .customer-page .table-mobile-enriched tr,
  body.customer-page #content-wrapper #content table.table-mobile-enriched tr {
    margin-bottom: 12px;
    padding: 14px 16px;
    border: 1px solid var(--mkcc-line);
    border-radius: 9px;
    background: var(--mkcc-white);
  }

  body.customer-page .customer-page .table-mobile-enriched td,
  body.customer-page #content-wrapper #content table.table-mobile-enriched td {
    border: 0;
  }

  body.customer-page .customer-page .table-mobile-enriched .client-table-heading,
  body.customer-page #content-wrapper #content table.table-mobile-enriched .client-table-heading {
    color: var(--mkcc-muted);
    font-weight: 700;
  }
}

@media (max-width: 850px) {
  body.customer-page #content-wrapper {
    width: min(calc(100% - 28px), 760px);
    padding-bottom: 38px;
  }

  body.customer-page #content-wrapper > .content-wrapper-in {
    display: block;
  }

  body.customer-page #content-wrapper .sidebar {
    margin-bottom: 20px;
  }

  body.customer-page #content-wrapper .sidebar ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3px 8px;
  }

  body.customer-page #content-wrapper #content .content-inner {
    padding: 26px 24px 28px;
  }
}

@media (max-width: 540px) {
  body.customer-page #content-wrapper {
    width: calc(100% - 20px);
  }

  body.customer-page #content-wrapper .sidebar .box {
    padding: 21px 16px 16px;
  }

  body.customer-page #content-wrapper .sidebar ul {
    grid-template-columns: 1fr;
  }

  body.customer-page #content-wrapper #content .content-inner {
    padding: 22px 17px 24px;
  }

  body.in-login #content-wrapper {
    width: calc(100% - 20px);
  }

  body.in-login #content-wrapper #content .content-inner {
    padding: 26px 20px 28px;
  }
}
