/* APOLL: account overview only. */
body#my-account #main {
  font-family: 'Fixel Display', Fixel, Arial, sans-serif;
}
body#my-account #main .page-header { margin-bottom: 28px; }
body#my-account #main .page-header h1 { color: #111; font-size: 28px; font-weight: 800; line-height: 1.2; }
body#my-account #main .links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
  padding: 0 15px;
  box-sizing: border-box;
}
body#my-account #main .links::before,
body#my-account #main .links::after { display: none; }
body#my-account #main .links > a {
  float: none;
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  color: #111;
  text-decoration: none !important;
}
body#my-account #main .links > a .link-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  height: 100%;
  min-height: 160px;
  margin: 0;
  padding: 28px 24px;
  box-sizing: border-box;
  border: 0;
  border-radius: 0;
  background: #e8e8e8;
  box-shadow: none;
  color: #111;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  clip-path: polygon(18px 0, calc(100% - 18px) 0, 100% 18px, 100% calc(100% - 18px), calc(100% - 18px) 100%, 18px 100%, 0 calc(100% - 18px), 0 18px);
  transition: background-color 160ms ease;
}
body#my-account #main .links > a .link-item i {
  display: block;
  margin: 0;
  padding: 0;
  color: #e94e36;
  font-size: 36px;
  line-height: 1;
}
body#my-account #main .links > a:hover .link-item,
body#my-account #main .links > a:focus-visible .link-item { background: #dedede; }
body#my-account #main .links > a:focus-visible { outline: 2px solid #e94e36; outline-offset: 4px; }
body#my-account #main .page-footer { margin-top: 32px; text-align: center; }
body#my-account #main .page-footer a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 12px 32px;
  box-sizing: border-box;
  border: 0;
  border-radius: 0;
  background: #e94e36;
  box-shadow: none;
  color: #111;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  text-decoration: none !important;
  clip-path: polygon(5.102% 0, 94.898% 0, 100% 100%, 0 100%);
}
body#my-account #main .page-footer a:hover { background: #d9442f; }
@media (max-width: 991px) {
  body#my-account #main .links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
}
@media (max-width: 575px) {
  body#my-account #main .links { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  body#my-account #main .links > a .link-item { min-height: 140px; }
}
@media (prefers-reduced-motion: reduce) {
  body#my-account #main .links > a .link-item { transition: none; }
}

/* APOLL: login and cart only. */
body#authentication #main,
body#cart #main {
  font-family: 'Fixel Display', Fixel, Arial, sans-serif;
  color: #111;
}
body#authentication #main .page-header { max-width: 660px; margin: 0 auto 24px; }
body#authentication #main .page-header h1,
body#cart #main .cart-container h1 { font-size: 28px; font-weight: 800; line-height: 1.2; color: #111; }
body#authentication #main #content {
  width: 100%; max-width: 660px; margin: 0 auto; padding: 32px;
  box-sizing: border-box; background: #e8e8e8; border: 0; border-radius: 0; box-shadow: none;
  clip-path: polygon(18px 0, calc(100% - 18px) 0, 100% 18px, 100% calc(100% - 18px), calc(100% - 18px) 100%, 18px 100%, 0 calc(100% - 18px), 0 18px);
}
body#authentication #main #login-form { width: 100%; max-width: none; margin: 0; }
body#authentication #main .login-form .form-group { margin-bottom: 22px; }
body#authentication #main .login-form .form-group > .form-control-label {
  display: block; float: none; width: 100%; padding-top: 0; padding-bottom: 8px;
  color: #111; font-size: 14px; font-weight: 700; text-align: left;
}
body#authentication #main .login-form .form-group > .col-md-6 {
  float: none; width: 100%; max-width: none;
}
body#authentication #main .login-form .form-control {
  height: 46px; border: 1px solid #d0d0d0; border-radius: 0;
  background: #fff; color: #111; font-size: 15px; box-shadow: none;
}
body#authentication #main .login-form .form-control:focus {
  border-color: #e94e36; outline: 2px solid #e94e36; outline-offset: 1px;
}
body#authentication #main .login-form .form-control-danger { border-color: #d32f2f; }
body#authentication #main .login-form .input-group-btn .btn {
  min-height: 46px; padding: 0 18px; border: 0; border-radius: 0;
  background: #d6d6d6; color: #111; font-size: 11px; font-weight: 700; box-shadow: none;
}
body#authentication #main .login-form .input-group-btn .btn:hover { background: #c9c9c9; }
body#authentication #main .login-form .forgot-password { margin: 8px 0 24px; }
body#authentication #main .login-form .form-footer { padding: 0; background: transparent; text-align: center; }
body#authentication #main .forgot-password a,
body#authentication #main .no-account a { color: #111; text-decoration: none; }
body#authentication #main .forgot-password a:hover,
body#authentication #main .no-account a:hover { color: #d9442f; text-decoration: underline; }
body#authentication #main #content > hr { margin: 26px 0; border-top: 1px solid #d0d0d0; }
body#authentication #main .no-account { text-align: center; font-size: 14px; }
body#authentication #main .form-footer .btn-primary,
body#cart #main .cart-detailed-actions .btn-primary {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 46px; max-width: 100%; padding: 12px 28px;
  border: 0; border-radius: 0; background: #e94e36; box-shadow: none; color: #111;
  font-family: inherit; font-size: 12px; font-weight: 800; line-height: 1.4;
  text-align: center; text-transform: uppercase; text-decoration: none;
  white-space: normal; clip-path: polygon(5.102% 0, 94.898% 0, 100% 100%, 0 100%);
}
body#authentication #main .form-footer .btn-primary:hover,
body#cart #main .cart-detailed-actions .btn-primary:hover { background: #d9442f; color: #111; }
body#authentication #main .form-footer .btn-primary:disabled,
body#cart #main .cart-detailed-actions .btn-primary.disabled,
body#cart #main .cart-detailed-actions .btn-primary:disabled { opacity: .45; cursor: not-allowed; }
body#cart #main .cart-container,
body#cart #main .cart-summary {
  background: #e8e8e8; border: 0; border-radius: 0; box-shadow: none;
  clip-path: polygon(16px 0, calc(100% - 16px) 0, 100% 16px, 100% calc(100% - 16px), calc(100% - 16px) 100%, 16px 100%, 0 calc(100% - 16px), 0 16px);
}
body#cart #main .cart-container .card-block,
body#cart #main .cart-summary .card-block { padding: 24px; }
body#cart #main .cart-container .separator,
body#cart #main .cart-summary .separator { border-color: #d0d0d0; }
body#cart #main .cart-container .cart-item { padding: 22px 24px; }
body#cart #main .cart-container .product-line-info a { color: #111; text-decoration: none; font-weight: 700; }
body#cart #main .cart-container .product-line-info a:hover { color: #d9442f; }
body#cart #main .cart-grid-body > a.label {
  display: inline-flex; align-items: center; gap: 6px; margin-top: 12px;
  color: #111; font-size: 14px; text-decoration: none;
}
body#cart #main .cart-grid-body > a.label:hover { color: #d9442f; }
body#cart #main .cart-summary .cart-total { background: transparent; }
body#cart #main .cart-summary .cart-total .value { font-weight: 800; }
body#cart #main #block-reassurance {
  margin-top: 22px; padding: 8px 0; background: #f2f2f2; border: 0; border-radius: 0; box-shadow: none;
}
body#cart #main #block-reassurance ul { margin-bottom: 0; }
body#cart #main #block-reassurance li { border-color: #dcdcdc; }
body#cart #main #block-reassurance li:last-child { border-bottom: 0; }
body#cart #main #block-reassurance .block-reassurance-item { padding: 16px 20px; }
body#cart #main #block-reassurance .block-reassurance-item span { color: #111; font-size: 12px; line-height: 1.5; }
@media (max-width: 575px) {
  body#authentication #main #content { padding: 24px 20px; }
  body#authentication #main .page-header h1,
  body#cart #main .cart-container h1 { font-size: 23px; }
  body#cart #main .cart-container .card-block,
  body#cart #main .cart-summary .card-block { padding: 20px; }
  body#cart #main .cart-container .cart-item { padding: 18px 16px; }
}
