@charset "UTF-8";
/**
 * Mikaeljansson Unified Theme - Main SCSS
 * 
 * Compiled from Angular frontend and original WordPress themes
 */
/**
 * Theme Variables
 */
/**
 * Font Faces
 */
@font-face {
  font-family: "AvenirNextLTPro-Medium";
  src: url("/wp-content/themes/mikaeljansson-unified/fonts/AvenirNextLTPro-Medium.otf") format("opentype");
}
@font-face {
  font-family: "AvenirNextLTPro-Regular";
  src: url("/wp-content/themes/mikaeljansson-unified/fonts/AvenirNextLTPro-Regular.otf") format("opentype");
}
/**
 * Mikaeljansson Unified Theme - Main SCSS
 * 
 * Compiled from Angular frontend and original WordPress themes
 */
/**
 * Reset & Base Styles
 */
* {
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

body {
  background: #ffffff;
  color: #797979;
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.25;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  overflow-x: hidden;
}

button,
input,
select,
textarea {
  color: #797979;
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif;
  font-size: 14px;
}

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

table {
  border-collapse: collapse;
  border-spacing: 0;
  border: 0;
}
table td {
  padding-right: 20px;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
  border: 0;
}
table th {
  padding: 0;
  border: 0;
}

/**
 * Mikaeljansson Unified Theme - Main SCSS
 * 
 * Compiled from Angular frontend and original WordPress themes
 */
/**
 * Typography
 */
h1,
h2,
h3 {
  font-weight: normal;
  text-align: center;
  font-size: 21px;
  line-height: 21px;
}

strong,
.strong {
  color: #222222 !important;
}

input {
  font-size: inherit;
}

/**
 * Mikaeljansson Unified Theme - Main SCSS
 * 
 * Compiled from Angular frontend and original WordPress themes
 */
/**
 * Links
 */
a {
  color: #797979;
  text-decoration: none;
  transition: all 0.25s ease-in-out;
}
a:visited {
  color: #797979;
}
a:hover {
  color: #222222;
}
a:focus {
  outline: none;
}
a.active {
  color: #222222;
}

nav a {
  display: inline-block;
}

.disabled a {
  color: #797979 !important;
}

/**
 * Mikaeljansson Unified Theme - Main SCSS
 * 
 * Compiled from Angular frontend and original WordPress themes
 */
/**
 * Layout & Page Structure
 */
#page {
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

#content {
  flex: 1;
  position: relative;
  width: 100%;
  padding: 0;
}

main {
  position: relative;
  width: 100%;
}

.wrapper {
  width: 100%;
  max-width: 800px;
  margin: 0 auto 40px auto;
  text-align: left;
}
.wrapper.article-contact {
  max-width: 535px;
  text-align: center;
}
.wrapper .media {
  margin: 0 20px;
  max-width: 100%;
}
.wrapper h1, .wrapper h2, .wrapper h3, .wrapper h4, .wrapper h5, .wrapper h6 {
  color: #222222;
}
.wrapper h2 {
  margin: 18px 0;
  margin-top: 41px;
}
.wrapper h2:first-child {
  margin-top: 18px;
}
.wrapper h3 {
  font-size: 14px;
  line-height: 125%;
  text-align: center;
}
.wrapper p,
.wrapper blockquote {
  margin-bottom: 0.75em;
  margin-left: 20px;
  margin-right: 20px;
  color: #222222;
}
.wrapper blockquote {
  text-align: center;
}
.wrapper table {
  margin-bottom: 0.75em;
  margin-left: 20px;
  margin-right: 20px;
  color: #222222;
  width: auto !important;
}

ul.media-list {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto 23px auto;
  padding: 0;
  text-align: center;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
}
ul.media-list li {
  margin: 0;
  display: block;
  list-style: none;
  position: relative;
  text-align: center;
  flex: 0 0 auto;
}
ul.media-list li img {
  margin: 0 30px 50px;
}
ul.media-list li:hover img {
  opacity: 0.75;
}

#subnav {
  text-align: center;
  margin: 0 auto 13px;
  max-width: 800px;
}
#subnav a {
  padding: 0 1px;
  margin-right: 3px;
}

.mj-project-item .media-list > li.media-item {
  display: block !important;
  list-style-type: none;
  width: auto !important;
  float: none !important;
  flex: 0 0 auto;
}

.special-image {
  height: 180px;
  max-height: 180px;
  width: auto !important;
  max-width: 100%;
  object-fit: cover;
}

.hide {
  display: none;
}
.hide.in {
  display: block;
}

.wrapper.error404 {
  padding-top: 100px;
}

/**
 * Mikaeljansson Unified Theme - Main SCSS
 * 
 * Compiled from Angular frontend and original WordPress themes
 */
/**
 * Gutenberg / WP Block Styles
 */
.wp-block-table table {
  box-sizing: content-box;
  color: #222222;
  width: auto !important;
  text-indent: 0;
  border-collapse: separate;
  border-spacing: 2px;
  border: 0 none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.wp-block-table table td {
  box-sizing: content-box;
  padding: 0 10px 0 0;
  border: 0;
  vertical-align: top;
}
.wp-block-table table th {
  box-sizing: content-box;
  padding: 0;
  border: 0;
  vertical-align: top;
}

.wp-block-table tr {
  box-sizing: content-box;
}

.editor-styles-wrapper,
.editor-styles-wrapper .block-editor-block-list__layout,
.editor-styles-wrapper .wp-block,
.editor-styles-wrapper .wp-block-heading,
.editor-styles-wrapper p,
.editor-styles-wrapper h1,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3,
.editor-styles-wrapper h4,
.editor-styles-wrapper h5,
.editor-styles-wrapper h6,
.editor-styles-wrapper a {
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
}

.editor-styles-wrapper {
  color: #797979;
  font-size: 14px;
  line-height: 1.25;
}
.editor-styles-wrapper .wp-block-table table {
  box-sizing: content-box;
  color: #222222;
  width: auto !important;
  text-indent: 0;
  border-collapse: separate;
  border-spacing: 2px;
  border: 0 none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.editor-styles-wrapper .wp-block-table table td {
  box-sizing: content-box;
  padding: 0 10px 0 0;
  border: 0;
  vertical-align: top;
}
.editor-styles-wrapper .wp-block-table table th {
  box-sizing: content-box;
  padding: 0;
  border: 0;
  vertical-align: top;
}
.editor-styles-wrapper .wp-block-table {
  margin-bottom: 0.75em;
  margin-left: 20px;
  margin-right: 20px;
}
.editor-styles-wrapper .wp-block-table tr {
  box-sizing: content-box;
}

/**
 * Mikaeljansson Unified Theme - Main SCSS
 * 
 * Compiled from Angular frontend and original WordPress themes
 */
/**
 * Header & Navigation
 */
.header {
  background: #ffffff;
  padding: 21px 20px 0 20px;
  z-index: 40;
  position: sticky;
  top: 0;
}

.admin-bar .header {
  top: 32px;
}

@media screen and (max-width: 782px) {
  .admin-bar .header {
    top: 46px;
  }
}
.mj-cart-icon {
  position: absolute;
  right: 20px;
  top: 21px;
  z-index: 5;
}
.mj-cart-icon .cart-icon-link {
  position: relative;
  cursor: pointer;
  text-decoration: none;
  color: #222222;
  display: block;
}
.mj-cart-icon .cart-badge {
  position: absolute;
  top: -6px;
  right: -8px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background: #222222;
  color: #ffffff;
  font-size: 10px;
  line-height: 16px;
  text-align: center;
}

.header h3,
.header p {
  text-align: center;
  margin: 0 auto;
  max-width: 800px;
}

.header .nav h3 {
  margin-top: -12px;
  margin-bottom: 13px;
}

.header .nav h3 ul {
  display: inline;
  list-style: none;
  margin: 0;
  padding: 0;
}

.header #primary-menu,
.header .menu-primary-container ul,
.header .nav-phone ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.header .nav h3 ul li,
.header .nav h3 ul span {
  display: inline;
}

.header h3 > a {
  display: inline-block;
}

.header .nav h3 a {
  margin-left: 6px;
  margin-top: 12px;
  color: #797979;
  transition: all 0.25s ease-in-out;
}
.header .nav h3 a:hover, .header .nav h3 a.active, .header .nav h3 a.active-node {
  color: #222222;
}

.header .nav h3 > a:first-child {
  margin-left: 0;
  color: #222222;
}

.header .nav-phone {
  margin-top: -10px;
  margin-bottom: 10px;
}

.header .nav-phone h3 {
  margin-bottom: 0;
  line-height: 1.3em;
  margin-top: 0;
}
.header .nav-phone h3 a {
  display: block;
  color: #797979;
  transition: all 0.25s ease-in-out;
}
.header .nav-phone h3 a:hover, .header .nav-phone h3 a.active, .header .nav-phone h3 a.active-node {
  color: #222222;
}

.header p {
  margin-bottom: 13px;
}

.header #results {
  color: #797979;
  font-size: 12px;
  line-height: 1.25;
  margin-top: 8px;
  margin-bottom: 13px;
}

.mj-search {
  text-align: center;
  position: relative;
  z-index: 4;
}

.mj-search.visible-phone,
.mj-search.visible-phone form,
.mj-search.visible-phone .searchbox {
  width: 100%;
}

.mj-search--mobile {
  margin-bottom: 13px;
  padding: 0 12px;
}
.mj-search--mobile .searchbox {
  column-gap: 8px;
  row-gap: 4px;
}

.header .nav-phone.in {
  overflow: visible;
}

.searchbox {
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}

.mj-search-tags {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}

.mj-search-tags[hidden] {
  display: none;
}

.mj-search-tag {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #222222;
  cursor: pointer;
  font: inherit;
  line-height: inherit;
  margin: 0;
  padding: 0 2px;
  width: auto;
  flex: 0 0 auto;
  white-space: nowrap;
}
.mj-search-tag:hover, .mj-search-tag:focus-visible {
  color: #797979;
  outline: none;
  text-decoration: line-through;
}

#search,
#search-mobile {
  background: transparent;
  width: auto;
  min-width: 5px;
  max-width: none;
  text-align: center;
  border: none;
  padding: 0;
  margin-top: -1px;
  color: #797979;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 0;
}
#search:hover, #search:focus, #search:active,
#search-mobile:hover,
#search-mobile:focus,
#search-mobile:active {
  color: #222222;
  border: none;
  outline: none;
  box-shadow: none;
}

#search-mobile {
  display: block;
  flex: 1 1 120px;
}

.ui-autocomplete {
  list-style: none;
  list-style-position: outside;
  padding: 0;
  margin: 0 auto;
  overflow: visible;
  height: 0;
  left: 0 !important;
  position: relative;
  z-index: 99999;
}
.ui-autocomplete li {
  overflow: hidden;
  cursor: pointer;
  text-align: center;
}
.ui-autocomplete a {
  line-height: 12px;
  display: inline-block;
  padding: 2px;
}
.ui-autocomplete .ui-state-hover,
.ui-autocomplete [aria-selected=true],
.ui-autocomplete a:hover {
  color: #222222;
}

.mj-search.visible-phone .ui-autocomplete:not([hidden]) {
  height: auto;
  margin-top: 4px;
}

#fade {
  width: 100%;
  display: none;
  height: 100%;
  background: rgba(255, 255, 255, 0.85);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.nav-collapse-toggle {
  cursor: pointer;
  color: #797979;
  transition: all 0.25s ease-in-out;
}
.nav-collapse-toggle:hover {
  color: #222222;
}

.nav-collapsed {
  display: none;
}

.nav-expanded {
  display: block;
}

.collapsed .nav-collapsed {
  display: block;
}

.collapsed .nav-expanded {
  display: none;
}

/**
 * Mikaeljansson Unified Theme - Main SCSS
 * 
 * Compiled from Angular frontend and original WordPress themes
 */
body.mj-archive-modal-open {
  overflow: hidden;
}
body.mj-archive-route .header,
body.mj-archive-route #fade, body.mj-archive-item-route .header,
body.mj-archive-item-route #fade, body.mj-archive-share-route .header,
body.mj-archive-share-route #fade, body.mj-archive-share-item-route .header,
body.mj-archive-share-item-route #fade {
  display: none;
}

.mj-archive-page {
  margin: 0;
  padding: 40px 0 60px;
  width: 100%;
}

.mj-archive-bar,
.mj-archive-controls,
.mj-archive-gallery,
.mj-archive-list {
  padding-left: 32px;
  padding-right: 32px;
}

.mj-archive-bar {
  align-items: flex-start;
  display: flex;
  gap: 24px;
  margin-bottom: 22px;
  position: relative;
}
.mj-archive-bar__title {
  flex: 1 1 auto;
  left: auto;
  max-width: 760px;
  position: static;
  text-align: left;
  transform: none;
}
.mj-archive-bar__title h1 {
  margin: 0;
  text-align: left;
}
.mj-archive-bar__title p {
  color: #222222;
  margin: 4px 0 0;
}
.mj-archive-bar__meta {
  align-items: center;
  display: flex;
  gap: 10px;
  margin-left: auto;
}

.mj-archive-stats {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
}
.mj-archive-stats li {
  border-top: 1px solid #d7d7d7;
  min-width: 112px;
  padding-top: 8px;
}
.mj-archive-stats strong,
.mj-archive-stats span {
  display: block;
}
.mj-archive-stats strong {
  color: #222222;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.2;
}
.mj-archive-stats span {
  color: #797979;
  font-size: 11px;
  letter-spacing: 0.08em;
  margin-top: 2px;
  text-transform: uppercase;
}

.mj-archive-role-switcher select {
  appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='9' viewBox='0 0 9 9'%3E%3Cpath d='M2 1.5 6 4.5 2 7.5' fill='none' stroke='%23222222' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round' transform='rotate(90 4.5 4.5)'/%3E%3C/svg%3E");
  background-position: right 13px center;
  background-repeat: no-repeat;
  background-size: 9px 9px;
  border: 1px solid #d7d7d7;
  border-radius: 0;
  color: #222222;
  font-family: inherit;
  font-size: 12px;
  min-height: 32px;
  padding: 0 34px 0 10px;
}

.mj-archive-role,
.mj-archive-logout {
  border-radius: 0;
  color: #222222;
  display: inline-block;
  font-size: 11px;
  letter-spacing: 0.08em;
  padding: 0;
  text-decoration: none;
  text-transform: uppercase;
}

.mj-archive-controls {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  margin-bottom: 10px;
}

.mj-archive-controls__primary {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  gap: 12px;
}

.mj-archive-result-meta {
  color: #797979;
  font-size: 12px;
  letter-spacing: 0.06em;
  margin: 0 32px 24px;
  text-transform: uppercase;
}

.mj-archive-share-toggle {
  align-items: center;
  background: #fff;
  border: 1px solid #d7d7d7;
  border-radius: 0;
  color: #222222;
  cursor: pointer;
  display: inline-flex;
  font-family: inherit;
  font-size: 11px;
  justify-content: center;
  min-height: 32px;
  padding: 0 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.mj-archive-share-toggle.is-active {
  background: #222222;
  color: #fff;
}
.mj-archive-share-toggle:hover, .mj-archive-share-toggle:focus-visible {
  color: #fff;
}

.mj-archive-share-tools {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
  margin-left: auto;
}

.mj-archive-share-tools[hidden] {
  display: none !important;
}

.mj-archive-share-name {
  align-items: center;
  display: flex;
}

.mj-archive-share-level {
  align-items: center;
  display: flex;
}

.mj-archive-share-tools__count {
  color: #797979;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.mj-archive-share-tools__button {
  background: #222222;
  border: 0;
  border-radius: 0;
  color: #fff;
  cursor: pointer;
  font-family: inherit;
  font-size: 12px;
  letter-spacing: 0.08em;
  min-height: 40px;
  padding: 0 14px;
  text-transform: uppercase;
}
.mj-archive-share-tools__button[disabled] {
  cursor: default;
  opacity: 0.45;
}
.mj-archive-share-tools__button.is-secondary {
  background: #fff;
  border: 1px solid #d7d7d7;
  color: #222222;
}

.mj-archive-share-result {
  align-items: center;
  display: flex;
  gap: 10px;
}

.mj-archive-share-result[hidden] {
  display: none !important;
}

.mj-archive-share-result__input {
  background: #fff;
  border: 1px solid #d7d7d7;
  border-radius: 0;
  color: #222222;
  font-family: inherit;
  font-size: 12px;
  min-height: 40px;
  min-width: 320px;
  padding: 0 12px;
}

.mj-archive-share-name__input {
  background: #fff;
  border: 1px solid #d7d7d7;
  border-radius: 0;
  color: #222222;
  font-family: inherit;
  font-size: 12px;
  min-height: 40px;
  min-width: 180px;
  padding: 0 12px;
}

.mj-archive-share-level__select {
  appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='9' viewBox='0 0 9 9'%3E%3Cpath d='M2 1.5 6 4.5 2 7.5' fill='none' stroke='%23222222' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round' transform='rotate(90 4.5 4.5)'/%3E%3C/svg%3E");
  background-position: right 13px center;
  background-repeat: no-repeat;
  background-size: 9px 9px;
  border: 1px solid #d7d7d7;
  border-radius: 0;
  color: #222222;
  font-family: inherit;
  font-size: 12px;
  min-height: 40px;
  min-width: 210px;
  padding: 0 34px 0 12px;
}

.mj-archive-search input,
.mj-archive-search select,
.mj-archive-search button,
.mj-archive-filter input,
.mj-archive-filter select,
.mj-archive-filter button,
.mj-login-form input,
.mj-login-form select,
.mj-login-form button {
  font-family: inherit;
  font-size: 14px;
}

.mj-archive-search input,
.mj-archive-search select,
.mj-archive-filter input,
.mj-archive-filter select,
.mj-login-form input,
.mj-login-form select {
  border: 1px solid #d7d7d7;
  border-radius: 0;
  min-height: 40px;
  padding: 0 12px;
}
.mj-archive-search select,
.mj-archive-filter select,
.mj-login-form select {
  appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='9' viewBox='0 0 9 9'%3E%3Cpath d='M2 1.5 6 4.5 2 7.5' fill='none' stroke='%23222222' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round' transform='rotate(90 4.5 4.5)'/%3E%3C/svg%3E");
  background-position: right 13px center;
  background-repeat: no-repeat;
  background-size: 9px 9px;
  padding: 0 34px 0 12px;
}

.mj-archive-search input {
  min-width: 320px;
}

.mj-archive-view-toggle {
  border: 1px solid #d7d7d7;
  border-radius: 0;
  display: flex;
}
.mj-archive-view-toggle button {
  background: #fff;
  border: 0;
  border-radius: 0;
  color: #222222;
  cursor: pointer;
  font-family: inherit;
  font-size: 12px;
  letter-spacing: 0.08em;
  min-height: 40px;
  padding: 0 14px;
  text-transform: uppercase;
}
.mj-archive-view-toggle button.is-active {
  background: #222222;
  color: #fff;
}
.mj-archive-view-toggle button:hover, .mj-archive-view-toggle button:focus-visible {
  color: #fff;
}
.mj-archive-view-toggle button.is-active:hover, .mj-archive-view-toggle button.is-active:focus-visible {
  background: #222222;
  color: #fff;
}

.mj-archive-gallery {
  list-style: none;
  margin: 0;
  padding-bottom: 0;
  padding-top: 0;
  position: relative;
}
.mj-archive-gallery .media-li {
  cursor: pointer;
  padding: 0;
  position: relative;
  width: 318px;
}
.mj-archive-gallery .media-li a {
  color: inherit;
  text-decoration: none;
}
.mj-archive-gallery .media-li .mj-archive-card-link {
  display: block;
}
.mj-archive-gallery .media-li .mj-archive-card-title-link {
  color: inherit;
}
.mj-archive-gallery .media-li img {
  display: block;
  height: auto;
  width: 100%;
}
.mj-archive-gallery .media-li p {
  margin: 0;
  padding: 16px 0;
  text-align: left;
  width: 100%;
}
.mj-archive-gallery .media-li .archive-meta {
  color: #797979;
  display: block;
  font-size: 12px;
  line-height: 1.25;
}
.mj-archive-gallery .media-li .archive-title {
  color: #222222;
}
.mj-archive-gallery .media-li .mj-archive-gallery-status {
  display: block;
  margin-top: 7px;
}

.mj-archive-share-select {
  align-items: center;
  color: #222222;
  cursor: pointer;
  display: none;
  flex: 0 0 auto;
  font-size: 11px;
  gap: 6px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.mj-archive-share-select input {
  accent-color: #222222;
  margin: 0;
}
.mj-archive-share-select--gallery {
  background: rgba(255, 255, 255, 0.94);
  left: 10px;
  padding: 6px 8px;
  position: absolute;
  top: 10px;
  z-index: 2;
}

.mj-archive-page.is-share-mode [data-archive-item] {
  cursor: pointer;
}
.mj-archive-page.is-share-mode .mj-archive-share-select {
  display: inline-flex;
}

.mj-archive-page:not(.is-share-mode) .mj-archive-share-tools {
  display: none;
}

[data-archive-item].is-share-selected {
  outline: 1px solid #222222;
  outline-offset: 6px;
}

.mj-archive-title-row {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: flex-start;
}
.mj-archive-title-row h2 {
  flex: 0 1 auto;
}

.mj-archive-edit-link {
  display: inline-block;
  flex: 0 0 auto;
  line-height: 1;
  text-decoration: none;
}
.mj-archive-edit-link--gallery {
  margin-left: 6px;
  vertical-align: top;
}

.mj-archive-media-actions {
  display: flex;
  justify-content: center;
  margin-top: 12px;
}

.mj-archive-download-link {
  align-items: center;
  color: #222222;
  display: inline-flex;
  font-size: 12px;
  gap: 6px;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}
.mj-archive-download-link:hover, .mj-archive-download-link:focus-visible {
  text-decoration: underline;
}

.mj-archive-status-dots {
  align-items: center;
  display: inline-flex;
  gap: 8px;
  margin: 7px 0 3px;
}

.mj-archive-status-dot {
  border: 1px solid rgba(34, 34, 34, 0.38);
  border-radius: 50%;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.92);
  display: inline-block;
  flex: 0 0 auto;
  height: 15px;
  width: 15px;
}
.mj-archive-status-dot--available_printed {
  background: #229343;
}
.mj-archive-status-dot--available_not_printed {
  background: #1f72e0;
}
.mj-archive-status-dot--sold {
  background: #d82626;
}
.mj-archive-status-dot--artist_proof_archive_not_for_sale {
  background: #d9a900;
}
.mj-archive-status-dot--other {
  background: #8b45d9;
}

.mj-archive-po-cost {
  cursor: help;
  display: inline-block;
  position: relative;
}
.mj-archive-po-cost > .mj-archive-po-cost-tooltip {
  display: none;
}

.mj-archive-po-cost__value {
  text-decoration: underline dotted;
  text-underline-offset: 2px;
}

.mj-archive-status-tooltip {
  display: inline-flex;
  justify-content: center;
}
.mj-archive-status-tooltip .mj-archive-status-dots {
  margin: 0;
}
.mj-archive-status-tooltip .mj-archive-po-cost-tooltip {
  display: none;
}

.mj-archive-summary-label {
  color: #797979;
  display: block;
  font-size: 12px;
  line-height: 1.2;
  margin-bottom: 2px;
}

.mj-archive-meta-items {
  display: block;
  max-width: 520px;
  width: 100%;
}

.mj-archive-modal__summary .mj-archive-meta-items {
  max-width: 760px;
}

.mj-archive-summary-item {
  margin: 0;
  width: 100%;
}
.mj-archive-summary-item + .mj-archive-summary-item {
  margin-top: 12px;
}
.mj-archive-summary-item--editions + .mj-archive-summary-item {
  margin-top: 22px;
}

.mj-archive-summary-value {
  display: block;
}
.mj-archive-summary-value a {
  color: inherit;
  text-decoration: none;
}
.mj-archive-summary-value a:hover, .mj-archive-summary-value a:focus-visible {
  text-decoration: underline;
}

.mj-archive-po-cost-tooltip__inner,
.mj-archive-floating-tooltip__content > .mj-archive-po-cost-tooltip__inner {
  background: rgba(34, 34, 34, 0.96);
  color: #fff;
  font-size: 12px;
  line-height: 1.35;
  min-width: 0;
  padding: 10px 12px;
  text-align: left;
  white-space: normal;
}

.mj-archive-po-cost-tooltip__inner {
  max-width: min(280px, 100vw - 32px);
}
.mj-archive-po-cost-tooltip__inner ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mj-archive-po-cost-tooltip__inner li {
  align-items: baseline;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  white-space: nowrap;
}
.mj-archive-po-cost-tooltip__inner li + li {
  margin-top: 4px;
}

.mj-archive-po-cost-tooltip__label {
  color: rgba(255, 255, 255, 0.82);
}

.mj-archive-po-cost-tooltip__amount {
  color: #fff;
  flex: 0 0 auto;
}

.mj-archive-floating-tooltip {
  left: 0;
  max-width: min(280px, 100vw - 32px);
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  transition: opacity 0.12s ease;
  visibility: hidden;
  width: max-content;
  z-index: 1200;
}
.mj-archive-floating-tooltip.is-visible {
  opacity: 1;
  visibility: visible;
}

.mj-archive-list {
  border-top: 1px solid #ececec;
}

.mj-archive-list-item {
  border-bottom: 1px solid #ececec;
  margin: 0 24px;
  padding: 24px 0;
}
.mj-archive-list-item__header {
  display: grid;
  gap: 24px;
  grid-template-columns: 160px 1fr;
  margin-bottom: 18px;
}
.mj-archive-list-item__media {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: 160px;
  overflow: hidden;
}
.mj-archive-list-item__media img {
  display: block;
  height: auto;
  width: 100%;
}
.mj-archive-list-item__media span {
  color: #888;
  font-size: 12px;
  padding: 20px;
  text-align: center;
}
.mj-archive-list-item__summary {
  text-align: left;
}
.mj-archive-list-item__summary h2 {
  margin: 0;
  text-align: left;
}
.mj-archive-list-item__summary p {
  color: #222222;
  margin: 3px 0 0;
}

.mj-archive-table-wrap {
  -webkit-overflow-scrolling: touch;
  overflow-x: auto;
}

.mj-archive-detail-notes {
  margin-top: 16px;
}
.mj-archive-detail-notes p {
  color: #222222;
  margin: 0 0 8px;
}

.mj-archive-summary-item--related-variants .mj-archive-summary-value,
.mj-archive-summary-item--related-variants a {
  color: #222222;
}

.mj-archive-table {
  --archive-sticky-availability-width: 42px;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 1200px;
  width: 100%;
}
.mj-archive-table.is-storage-collapsed .mj-archive-table__cell--expandable {
  display: none;
}
.mj-archive-table.is-storage-expanded .mj-archive-table__cell--expandable {
  display: table-cell;
}
.mj-archive-table th,
.mj-archive-table td {
  background: #fff;
  border-bottom: 1px solid #efefef;
  color: #222222;
  font-size: 12px;
  padding: 10px 12px 10px 0;
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}
.mj-archive-table th {
  color: #222222;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.mj-archive-table__toggle {
  align-items: center;
  background: none;
  border: 0;
  color: #222222;
  cursor: pointer;
  display: inline-flex;
  font-size: 14px;
  justify-content: center;
  line-height: 1;
  margin-left: 6px;
  min-height: 0;
  padding: 0;
  text-transform: none;
  vertical-align: middle;
}
.mj-archive-table__toggle:hover, .mj-archive-table__toggle:focus-visible {
  background: none;
  color: #222222;
}
.mj-archive-table th:first-child,
.mj-archive-table td:first-child {
  box-shadow: 1px 0 0 #efefef;
  left: 0;
  min-width: var(--archive-sticky-availability-width);
  padding-left: 12px;
  padding-right: 8px;
  position: sticky;
  text-align: center;
  z-index: 2;
}
.mj-archive-table thead th:first-child {
  z-index: 3;
}
.mj-archive-table thead th:nth-child(2) {
  z-index: 3;
}
.mj-archive-table th:nth-child(2),
.mj-archive-table td:nth-child(2) {
  background: #fff;
  left: var(--archive-sticky-availability-width);
  min-width: 110px;
  padding-left: 12px;
  position: sticky;
  z-index: 2;
}
.mj-archive-table td:first-child .mj-archive-status-dots {
  justify-content: center;
  margin: 0;
  width: 100%;
}

.mj-archive-modal {
  inset: 0;
  position: fixed;
  z-index: 1000;
}
.mj-archive-modal[hidden] {
  display: none;
}
.mj-archive-modal__backdrop {
  background: rgba(0, 0, 0, 0.72);
  inset: 0;
  position: absolute;
}
.mj-archive-modal__panel {
  background: #fff;
  border-radius: 0;
  left: 50%;
  max-height: calc(100vh - 32px);
  max-width: 1800px;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100vw - 16px);
}
.mj-archive-modal__close {
  background: none;
  border: 0;
  color: #222222;
  cursor: pointer;
  font-size: 34px;
  position: absolute;
  right: 18px;
  top: 10px;
  z-index: 2;
}
.mj-archive-modal__close:hover, .mj-archive-modal__close:focus-visible {
  background: none;
  color: #222222;
}
.mj-archive-modal__content {
  display: grid;
  gap: 24px;
  padding: 42px 24px 24px;
}
.mj-archive-modal__top {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(320px, 520px) 1fr;
}
.mj-archive-modal__media {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 320px;
  overflow: visible;
}
.mj-archive-modal__media img {
  display: block;
  height: auto;
  max-height: 460px;
  object-fit: contain;
  width: 100%;
}
.mj-archive-modal__media .mj-archive-media-actions {
  align-self: center;
  flex: 0 0 auto;
}
.mj-archive-modal__body {
  align-self: start;
  text-align: left;
}
.mj-archive-modal__body .mj-archive-title-row {
  margin-bottom: 10px;
}
.mj-archive-modal__body .mj-archive-title-row h2 {
  color: #222222;
  margin: 0;
  text-align: left;
}
.mj-archive-modal__body p {
  color: #222222;
  margin: 4px 0 0;
}
.mj-archive-modal__summary p {
  margin: 0 0 4px;
}

.mj-archive-detail-page .mj-archive-bar__title {
  text-align: center;
}
.mj-archive-detail-page .mj-archive-bar__title h1,
.mj-archive-detail-page .mj-archive-bar__title p {
  text-align: center;
}
.mj-archive-detail-page .mj-archive-modal__media img {
  height: auto;
  object-fit: contain;
}

.mj-archive-detail-panel {
  background: #fff;
  margin: 0 8px 32px;
}

.mj-login-page {
  display: flex;
  justify-content: center;
  padding: 24px 20px 60px;
}

.mj-login-card {
  border: 1px solid #e8e8e8;
  border-radius: 0;
  margin-top: 40px;
  max-width: 440px;
  padding: 28px;
  width: 100%;
}
.mj-login-card__brand {
  margin-bottom: 24px;
  text-align: center;
}
.mj-login-card__brand h1 {
  margin: 0;
}

.mj-login-form {
  display: grid;
  gap: 10px;
}
.mj-login-form label {
  color: #555;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.mj-login-form button {
  background: #222222;
  border: 0;
  border-radius: 0;
  color: #fff;
  cursor: pointer;
  letter-spacing: 0.08em;
  margin-top: 8px;
  min-height: 42px;
  text-transform: uppercase;
}

.mj-login-checkbox {
  align-items: center;
  display: flex;
  gap: 8px;
  margin-top: 2px;
}
.mj-login-checkbox span {
  color: #555;
  font-size: 13px;
  letter-spacing: 0;
  text-transform: none;
}

.mj-login-links {
  margin: 16px 0 0;
  text-align: center;
}
.mj-login-links a {
  color: #555;
  font-size: 13px;
}

.mj-login-reset-success {
  text-align: center;
}

.mj-login-notice {
  border: 1px solid #e0e0e0;
  border-radius: 0;
  font-size: 13px;
  margin-bottom: 18px;
  padding: 12px 14px;
}
.mj-login-notice.is-error {
  border-color: #d7b7b7;
}
.mj-login-notice.is-success {
  border-color: #bcd2bc;
}

@media (max-width: 900px) {
  .mj-archive-bar {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }
  .mj-archive-bar__title {
    left: auto;
    position: static;
    transform: none;
  }
  .mj-archive-bar__meta {
    margin-left: 0;
  }
  .mj-archive-controls {
    align-items: stretch;
  }
  .mj-archive-controls__primary {
    align-items: stretch;
    width: 100%;
  }
  .mj-archive-filter {
    flex: 1 1 220px;
  }
  .mj-archive-filter select {
    width: 100%;
  }
  .mj-archive-search {
    flex: 1 1 280px;
  }
  .mj-archive-search input {
    min-width: 0;
    width: 100%;
  }
  .mj-archive-list-item__header,
  .mj-archive-modal__top {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) {
  .mj-archive-gallery {
    margin-left: 40px;
    margin-right: 40px;
  }
  .mj-archive-gallery .media-li {
    width: 42.5%;
  }
}
@media (max-width: 480px) {
  .mj-archive-bar,
  .mj-archive-controls,
  .mj-archive-gallery,
  .mj-archive-list {
    padding-left: 20px;
    padding-right: 20px;
  }
  .mj-archive-result-meta {
    margin-left: 20px;
    margin-right: 20px;
  }
  .mj-archive-gallery {
    margin-left: 40px;
    margin-right: 40px;
  }
  .mj-archive-gallery .media-li {
    width: 100%;
  }
  .mj-archive-modal__panel {
    max-height: calc(100vh - 24px);
    top: 50%;
    width: calc(100vw - 24px);
  }
  .mj-archive-modal__content {
    padding: 42px 16px 16px;
  }
}
/**
 * Mikaeljansson Unified Theme - Main SCSS
 * 
 * Compiled from Angular frontend and original WordPress themes
 */
/**
 * Gallery & Grid Styles
 */
.mj-gallery {
  list-style-type: none;
  position: relative;
  margin: 0 auto;
  padding: 0;
  max-width: 1400px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(212px, 1fr));
  gap: 30px;
}

#tiles {
  list-style-type: none;
  position: relative;
  margin: 0 auto;
  padding: 0;
}
#tiles li {
  width: 212px;
  cursor: pointer;
  padding: 0;
  opacity: 0;
  transition: opacity 0.25s ease-in-out;
}
#tiles li.loaded {
  opacity: 1;
}
#tiles li a {
  display: block;
}
#tiles li img {
  display: block;
  width: 100%;
}
#tiles li p {
  margin: 0;
  padding: 16px 0;
  width: 100%;
  text-align: center;
}
#tiles li:hover p {
  color: #222222;
}

.mj-gallery-item {
  width: 100%;
  cursor: pointer;
  padding: 0;
  opacity: 0;
  transition: all 0.25s ease-in-out;
  position: relative;
  overflow: hidden;
  border: 2px solid transparent;
}
.mj-gallery-item.loaded {
  opacity: 1;
}
.mj-gallery-item.highlighted {
  border: 2px solid #222222;
  box-shadow: 0 0 10px rgba(34, 34, 34, 0.3);
}
.mj-gallery-item a {
  display: block;
  width: 100%;
  height: 100%;
}
.mj-gallery-item img {
  display: block;
  width: 100%;
  height: auto;
  transition: all 0.25s ease-in-out;
}
.mj-gallery-item:hover img {
  opacity: 0.85;
}
.mj-gallery-item:hover p {
  color: #222222;
}
.mj-gallery-item p {
  margin: 0;
  padding: 20px 0;
  width: 100%;
  text-align: center;
  transition: all 0.25s ease-in-out;
}
.mj-gallery-item figcaption {
  padding: 8px;
  text-align: center;
  font-size: 12px;
  color: #797979;
}

.mj-album-item .mj-album-thumbnail {
  overflow: hidden;
  border: 1px solid #f0f0f0;
}
.mj-album-item .mj-album-meta {
  padding: 20px;
  font-size: 12px;
  color: #797979;
}
.mj-album-item .mj-album-meta-label {
  font-weight: 600;
  color: #222222;
}

.mj-gallery-grid {
  padding: 40px 20px;
}
.mj-gallery-grid .wp-block-image {
  margin: 0;
}

@media (min-width: 1200px) {
  .mj-gallery {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  }
}
@media (max-width: 768px) {
  .mj-gallery {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    padding: 30px 20px;
  }
}
@media (max-width: 480px) {
  .mj-gallery {
    grid-template-columns: 1fr;
    padding: 20px;
  }
}
/**
 * Full-height Image Detail Page (Carousel View)
 * Exact match to old mikaeljansson.com carousel styling
 */
html.mj-image-detail-page,
body.mj-image-detail-page {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #fff;
}

.carousel {
  width: 100%;
  height: 100%;
  margin: 0 auto 20px;
  z-index: 50;
  position: fixed;
  top: 0;
  background: #fff;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.admin-bar .carousel {
  top: 32px;
  height: calc(100% - 32px);
}

@media screen and (max-width: 782px) {
  .admin-bar .carousel {
    top: 46px;
    height: calc(100% - 46px);
  }
}
body.attachment-detail {
  overflow: hidden;
}

.carousel-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: transparent;
}

.carousel-container img {
  -moz-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
}

.carousel-stage {
  position: relative;
  top: 0;
  height: 93%;
  width: 100%;
  overflow: hidden;
  z-index: 1;
}

.carousel-images {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
}

.carousel-image {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 38px;
}

.carousel-image.current {
  opacity: 1;
  transition: none;
}

.carousel-image.prev {
  opacity: 0;
}

.carousel-image.next {
  opacity: 0;
}

.carousel-image-inner {
  position: relative;
  width: 100%;
  height: 100%;
}

.carousel-image img {
  position: absolute;
  z-index: 2;
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.carousel-image iframe {
  border: none;
  position: absolute;
  z-index: 2;
  display: block;
}

.carousel-loader {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  height: 32px;
  width: 32px;
  margin: -16px 0 0 -16px;
  background: url("/wp-content/themes/mikaeljansson-unified/assets/img/indicator.gif") no-repeat 0 transparent;
}

.carousel-info {
  z-index: 2;
  position: relative;
  margin-bottom: -15px;
  -webkit-transition: opacity 0.25s ease-in-out;
  -moz-transition: opacity 0.25s ease-in-out;
  -o-transition: opacity 0.25s ease-in-out;
  transition: opacity 0.25s ease-in-out;
  opacity: 1;
}

.carousel-info-text {
  background-color: transparent;
  padding: 0;
}

.carousel-info-title {
  padding: 18px 20px 6px 20px;
  font-size: 21px;
  line-height: 1.3em;
  text-align: center;
  color: #797979;
}

.carousel-info-title a:hover {
  color: #222;
}

.carousel-info-description {
  text-align: center;
  margin: 4px auto 6px;
  max-width: 660px;
}

.carousel-share-links {
  cursor: pointer;
  text-align: center;
  z-index: 2;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 32px;
  -webkit-transition: opacity 0.25s ease-in-out;
  -moz-transition: opacity 0.25s ease-in-out;
  -o-transition: opacity 0.25s ease-in-out;
  transition: opacity 0.25s ease-in-out;
  opacity: 1;
}

.carousel-share-links a {
  display: inline-block;
  margin: 0 8px;
  color: #797979;
  text-decoration: none;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
  font-size: 14px;
}

.carousel-share-links a:hover {
  color: #222;
}

.mj-back-to-album {
  margin: 0 !important;
}

/**
 * Mikaeljansson Unified Theme - Main SCSS
 * 
 * Compiled from Angular frontend and original WordPress themes
 */
/**
 * Image Carousel/Detail View
 */
.carousel {
  width: 100%;
  height: 100%;
  margin: 0;
  z-index: 50;
  position: fixed;
  top: 0;
  background: #ffffff;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}

.carousel-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: transparent;
  user-select: none;
  display: flex;
  flex-direction: column;
}
.carousel-container img {
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

.carousel-stage {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  width: 100%;
  overflow: hidden;
  z-index: 1;
}

.carousel-images {
  z-index: 2;
}

.carousel-image {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 40px;
  opacity: 0;
  transition: opacity 0.25s ease-in-out;
  user-select: none;
}
.carousel-image.current {
  opacity: 1;
  transition: none;
}
.carousel-image.prev, .carousel-image.next {
  opacity: 0;
}
.carousel-image img,
.carousel-image iframe {
  border: none;
  position: absolute;
  z-index: 2;
  display: block;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
}

.carousel-image-inner {
  position: relative;
  width: 100%;
  height: 100%;
}

.carousel-info {
  z-index: 2;
  position: relative;
  margin-bottom: -15px;
  transition: opacity 0.25s ease-in-out;
  opacity: 1;
}

.carousel-info-text {
  background-color: transparent;
  padding: 0;
}

.carousel-info-title {
  margin: 0;
  padding: 18px 20px 6px 20px;
  font-size: 21px;
  line-height: 1.3em;
  text-align: center;
  color: #797979;
}
.carousel-info-title a {
  transition: all 0.25s ease-in-out;
}
.carousel-info-title a:hover {
  color: #222222;
}
.carousel-info-title > a:last-of-type {
  color: #222222;
}

.carousel-info-description {
  text-align: center;
  margin: 4px auto 6px;
  max-width: 660px;
  color: #222222;
}

.mj-detail-footer {
  position: relative;
  z-index: 4;
  opacity: 1;
  pointer-events: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  gap: 0;
  padding: 0 0 6px;
}

.mj-detail-taxonomies {
  max-width: 900px;
  margin: 0 auto 6px;
  padding: 8px 20px 0;
  text-align: left;
  pointer-events: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}
.mj-detail-taxonomies .mj-detail-taxonomy-item {
  display: grid;
  gap: 2px 12px;
  grid-template-columns: minmax(80px, auto) minmax(0, 1fr);
  color: #222222;
  font-size: 14px;
  line-height: 1.25;
}
.mj-detail-taxonomies .mj-detail-taxonomy-label {
  color: #222222;
}
.mj-detail-taxonomies .mj-detail-taxonomy-terms {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.mj-detail-taxonomies .mj-detail-taxonomy-term {
  display: block;
}
.mj-detail-taxonomies a {
  color: #797979;
}
.mj-detail-taxonomies a:hover {
  color: #222222;
}

.mj-detail-public-models {
  max-width: 900px;
  margin: 0 auto 10px;
  padding: 12px 20px 0;
  text-align: center;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}
.mj-detail-public-models a {
  color: #797979;
}
.mj-detail-public-models a:hover {
  color: #222222;
}

.carousel-stage:hover + .mj-detail-footer .mj-detail-public-models,
.carousel-stage:focus-within + .mj-detail-footer .mj-detail-public-models {
  opacity: 1;
  pointer-events: auto;
}

.carousel-image-nav {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 3;
  transition: opacity 0.25s ease-in-out;
  opacity: 1;
  pointer-events: none;
}
.carousel-image-nav-left, .carousel-image-nav-right {
  cursor: pointer;
  width: 50%;
  height: 100%;
  position: absolute;
  left: 15px;
  z-index: 2;
  background-repeat: no-repeat;
  transition: all 0.25s ease-in-out;
  pointer-events: auto;
}
.carousel-image-nav-left {
  background-position: left center;
  background-image: url("/wp-content/themes/mikaeljansson-unified/assets/img/Arrow_Back_Grey.jpg");
}
.carousel-image-nav-left:hover {
  background-image: url("/wp-content/themes/mikaeljansson-unified/assets/img/Arrow_Back_Black.jpg");
}
.carousel-image-nav-right {
  left: auto;
  right: 15px;
  background-position: right center;
  background-image: url("/wp-content/themes/mikaeljansson-unified/assets/img/Arrow_Forward_Grey.jpg");
}
.carousel-image-nav-right:hover {
  background-image: url("/wp-content/themes/mikaeljansson-unified/assets/img/Arrow_Forward_Black.jpg");
}

.carousel-stage--film .carousel-image-nav,
.carousel-stage--film .carousel-image-nav-left,
.carousel-stage--film .carousel-image-nav-right {
  pointer-events: none;
}

.carousel-share,
.carousel-share-links {
  text-align: center;
  transition: opacity 0.25s ease-in-out;
  opacity: 1;
  pointer-events: auto;
  position: static;
  bottom: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 8px;
  width: 100%;
  min-height: 32px;
  height: auto;
}
.carousel-share a,
.carousel-share-links a {
  display: inline-flex;
  align-items: center;
  transition: all 0.25s ease-in-out;
}

.share-label {
  margin-left: 4px;
}

.inactive .carousel-info,
.inactive .carousel-share,
.inactive .carousel-share-links,
.inactive .carousel-image-nav {
  opacity: 0;
  pointer-events: none;
}

.video .carousel-images {
  z-index: 2;
  pointer-events: none;
}
.video .carousel-image-nav {
  z-index: 1;
}
.video iframe {
  pointer-events: all;
}

.touch .carousel-stage {
  top: 0;
  height: 100%;
}
.touch .carousel-images {
  width: 100%;
  height: 100%;
  -webkit-perspective: 1000;
  -webkit-backface-visibility: hidden;
  perspective: 1000;
  backface-visibility: hidden;
}
.touch .carousel-image {
  margin: 0;
}
.touch .carousel-image.prev, .touch .carousel-image.next {
  opacity: 1;
}
.touch .carousel-info {
  position: absolute;
  top: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  opacity: 0;
  background: #ffffff;
  padding-top: 1px;
  pointer-events: none;
  transition: opacity 0.25s ease-in-out;
}
.touch .carousel-info-text,
.touch .carousel-share-links {
  display: none;
  pointer-events: none;
}
.touch.touched .carousel-info {
  opacity: 0.85;
  pointer-events: auto;
}
.touch.touched .carousel-info-text,
.touch.touched .carousel-share-links {
  display: flex;
  pointer-events: auto;
}

.animate {
  -webkit-transition: -webkit-transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out;
}

.noanimate {
  -webkit-transition: none;
  transition: none;
}

@media (max-width: 480px) {
  .carousel-image-nav-left {
    left: -20px;
  }
  .carousel-image-nav-right {
    right: -20px;
  }
  .carousel-share .share-label,
  .carousel-share-links .share-label {
    display: none;
  }
  .mj-detail-taxonomies,
  .mj-detail-public-models {
    font-size: 12px;
  }
}
/**
 * Mikaeljansson Unified Theme - Main SCSS
 * 
 * Compiled from Angular frontend and original WordPress themes
 */
/**
 * Forms & Inputs
 */
.form-wrapper {
  width: 200px;
  margin: 0 auto;
}

legend,
.control-group {
  margin: 20px 0;
}

input,
textarea,
select {
  border: 1px solid #f0f0f0;
  padding: 8px;
  border-radius: 3px;
  transition: all 0.25s ease-in-out;
}
input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: #797979;
  box-shadow: 0 0 5px rgba(121, 121, 121, 0.3);
}

button {
  background: #797979;
  color: #ffffff;
  border: none;
  padding: 8px 20px;
  border-radius: 3px;
  cursor: pointer;
  transition: all 0.25s ease-in-out;
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif;
  font-size: 14px;
}
button:hover {
  background: #222222;
  color: #ffffff;
}
button:active {
  transform: scale(0.98);
}

#search {
  background: #ffffff;
  width: auto;
  text-align: center;
  border: none;
  margin-top: -1px;
}
#search:hover, #search:focus, #search:active {
  color: #222222;
  border: none;
  outline: none;
}

/**
 * Mikaeljansson Unified Theme - Main SCSS
 * 
 * Compiled from Angular frontend and original WordPress themes
 */
/**
 * Utility Classes & Helpers
 */
.loader {
  z-index: 1;
  height: 32px;
  width: 100%;
  background: url("/wp-content/themes/mikaeljansson-unified/assets/img/indicator.gif") no-repeat center;
}

.carousel-loader {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  height: 32px;
  width: 32px;
  margin: -16px 0 0 -16px;
  background: url("/wp-content/themes/mikaeljansson-unified/assets/img/indicator.gif") no-repeat 0;
}

.playicon {
  position: relative;
}
.playicon::before {
  content: "";
  background: url("/wp-content/themes/mikaeljansson-unified/assets/img/playicon.png") transparent scroll center center no-repeat;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  pointer-events: none;
}

#tiles .playicon::before {
  bottom: 50px;
  height: auto;
}

.icon-cog {
  width: 12px;
  height: 14px;
  background: url("/wp-content/themes/mikaeljansson-unified/assets/img/icon-cog.png") transparent center center no-repeat;
  display: inline-block;
}

.inline-edit {
  display: inline-block;
  margin-left: 6px;
  vertical-align: middle;
}

.collapse {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease-in-out;
}
.collapse.in {
  max-height: 500px;
}

.article .collapse {
  transition: max-height 0.5s ease-in-out;
}
.article .collapse.in {
  max-height: 1500px;
}

.collapse-toggle {
  cursor: pointer;
  user-select: none;
}
.collapse-toggle::before {
  content: "▾";
  display: inline;
  padding-right: 2px;
}
.collapse-toggle.collapsed::before {
  content: "▸";
  display: inline;
}

h3.collapse-toggle {
  margin-bottom: 0;
  margin-top: 40px;
}

.single-media {
  text-align: center;
  margin: 0 auto 40px;
  width: 100%;
}
.single-media img {
  height: auto;
  max-height: 660px;
}

.single-media-info-text {
  margin: 16px 0 0 8px;
  text-align: center;
}

#fade {
  width: 100%;
  display: none;
  height: 100%;
  background: rgba(255, 255, 255, 0.85);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

#page-comments {
  bottom: 38px;
  color: #222222;
  height: 12px;
  position: fixed;
  left: 0;
  margin-left: 5px;
  width: 10px;
  z-index: 10000;
}

.collapse {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease-in-out;
}
.collapse.in {
  max-height: 500px;
}

.article .collapse {
  transition: max-height 0.5s ease-in-out;
}
.article .collapse.in {
  max-height: 1500px;
}

.collapse-toggle {
  margin-bottom: 0;
  margin-top: 40px;
  cursor: pointer;
  user-select: none;
}
.collapse-toggle::before {
  content: "▾";
  display: inline;
  padding-right: 2px;
  transition: all 0.25s ease-in-out;
}
.collapse-toggle.collapsed::before {
  content: "▸";
}

.visible-phone {
  display: none;
}

.nav-collapsed {
  display: none;
}

.collapsed .nav-collapsed {
  display: block;
}
.collapsed .nav-expanded {
  display: none;
}

.nav-expanded {
  display: block;
}

.cookie-banner {
  position: fixed;
  bottom: 0;
  width: 100%;
  text-align: center;
  padding: 25px 0;
  background: #ffffff;
  z-index: 1;
  border-top: 1px solid #f0f0f0;
  animation: slideUp 0.3s ease-in-out;
}
.cookie-banner .text-container {
  display: flex;
  max-width: 80%;
  justify-content: center;
  margin: 0 auto;
  align-items: flex-end;
}
.cookie-banner .button-click {
  cursor: pointer;
  user-select: none;
}
.cookie-banner a {
  text-decoration: underline;
  transition: all 0.25s ease-in-out;
}
.cookie-banner p {
  margin: 0;
}
.cookie-banner span {
  margin-left: 30px;
}

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}

/**
 * Mikaeljansson Unified Theme - Main SCSS
 * 
 * Compiled from Angular frontend and original WordPress themes
 */
/**
 * WooCommerce Styles
 */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering,
.woocommerce .woocommerce-products-header,
.woocommerce .product_meta,
.woocommerce .woocommerce-tabs,
.woocommerce .related.products,
.woocommerce .up-sells {
  display: none !important;
}
.woocommerce .products {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(212px, 1fr));
  gap: 30px;
}
.woocommerce .products li.product {
  padding: 0;
  text-align: center;
}
.woocommerce .products li.product .woocommerce-loop-product__title {
  font-size: 14px;
  line-height: 1.3em;
  margin: 8px 0;
}
.woocommerce .products li.product .price {
  color: #222222;
  font-weight: 600;
  margin: 8px 0;
}
.woocommerce .products li.product a {
  text-decoration: none;
}
.woocommerce .woocommerce-loop-product__link {
  display: block;
  overflow: hidden;
}
.woocommerce .woocommerce-loop-product__link img {
  width: 100%;
  height: auto;
  transition: all 0.25s ease-in-out;
}
.woocommerce .woocommerce-loop-product__link:hover img {
  opacity: 0.85;
}
.woocommerce .button {
  background: #797979;
  color: #ffffff;
  border: none;
  padding: 8px 20px;
  border-radius: 3px;
  cursor: pointer;
  transition: all 0.25s ease-in-out;
}
.woocommerce .button:hover {
  background: #222222;
}
.woocommerce .button.add_to_cart_button {
  width: 100%;
  margin-top: 8px;
}
.woocommerce .product .images {
  margin-bottom: 40px;
}
.woocommerce .product .summary {
  max-width: 600px;
  margin: 0 auto;
}
.woocommerce table {
  width: 100%;
  border-collapse: collapse;
}
.woocommerce table th,
.woocommerce table td {
  padding: 20px;
  text-align: left;
  border-bottom: 1px solid #f0f0f0;
}
.woocommerce table th {
  background: #f0f0f0;
  font-weight: 600;
  color: #222222;
}

.shop-content {
  margin: 80px auto !important;
  padding: 0 40px !important;
  box-sizing: border-box !important;
  max-width: none !important;
}

.product-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 40px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

.product-item {
  position: relative !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  text-align: center;
}

.product-link {
  display: block !important;
  position: relative !important;
  text-decoration: none !important;
  color: #222222 !important;
}

.product-image-wrapper {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.product-image {
  height: clamp(220px, 28vw, 450px) !important;
  width: auto !important;
  display: block !important;
  transition: opacity 0.3s ease !important;
}

.product-overlay {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: rgba(255, 255, 255, 0.95) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
  pointer-events: none !important;
  text-align: center;
  padding: 20px;
}

.product-link:hover .product-overlay {
  opacity: 1 !important;
}

.product-link:hover .product-image {
  opacity: 0.7 !important;
}

.product-overlay-title,
.product-title {
  color: #222222;
  margin-bottom: 6px;
}

.product-overlay-price,
.product-price {
  color: #797979;
}

.product-overlay-link {
  margin-top: 10px;
}

.product-info-mobile {
  display: none !important;
  text-align: center !important;
  margin-top: 20px !important;
}

.product-thumbnails {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.product-thumbnail-image {
  width: 100%;
  height: auto;
  display: block;
}

.cart-overlay {
  position: fixed;
  inset: 0;
  background: rgba(255, 255, 255, 0.7);
  opacity: 0;
  pointer-events: none;
  transition: all 0.25s ease-in-out;
  z-index: 90;
}
.cart-overlay.active {
  opacity: 1;
  pointer-events: auto;
}

.cart-sidebar {
  position: fixed;
  top: 0;
  right: 0;
  width: min(420px, 100%);
  height: 100vh;
  background: #ffffff;
  transform: translateX(100%);
  transition: all 0.25s ease-in-out;
  z-index: 100;
  display: flex;
  flex-direction: column;
  border-left: 1px solid #f0f0f0;
}
.cart-sidebar.active {
  transform: translateX(0);
}

.admin-bar .cart-overlay {
  top: 32px;
  height: calc(100vh - 32px);
}
.admin-bar .cart-sidebar {
  top: 32px;
  height: calc(100vh - 32px);
}

@media screen and (max-width: 782px) {
  .admin-bar .cart-overlay {
    top: 46px;
    height: calc(100vh - 46px);
  }
  .admin-bar .cart-sidebar {
    top: 46px;
    height: calc(100vh - 46px);
  }
}
.cart-header,
.cart-footer {
  padding: 20px;
  border-bottom: 1px solid #f0f0f0;
}

.cart-footer {
  border-bottom: 0;
  border-top: 1px solid #f0f0f0;
  margin-top: auto;
}

.cart-items {
  padding: 20px;
  overflow-y: auto;
}

.cart-item {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 16px;
  margin-bottom: 20px;
}

.cart-item-image img {
  width: 100%;
  height: auto;
}

.cart-item-title {
  color: #222222;
  margin-bottom: 4px;
}

.cart-item-price {
  margin-bottom: 8px;
}

.cart-item-quantity {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 8px;
  width: fit-content;
}

.cart-sidebar .qty-btn {
  width: 28px;
  height: 28px;
  border: 1px solid #ddd;
  background: #fff;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  color: #222;
  transition: all 0.2s;
  padding: 0;
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif;
}

.cart-sidebar .qty-value {
  min-width: 32px;
  text-align: center;
  font-size: 14px;
  color: #222;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  height: 28px;
  line-height: 28px;
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif;
}

.cart-sidebar .qty-btn:hover {
  background: #f5f5f5;
  border-color: #222;
}

.close-cart {
  border: 0;
  background: transparent;
  color: #222222;
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
  padding: 0;
}
.close-cart:hover {
  background: transparent;
  color: #222222;
}

.cart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.cart-header h3 {
  margin: 0;
}

.cart-item-remove,
.checkout-btn {
  color: #222222;
}

.cart-total {
  display: flex;
  justify-content: space-between;
  margin-bottom: 16px;
}

.checkout-btn,
.checkout-btn:link,
.checkout-btn:visited {
  display: block;
  text-align: center;
  padding: 14px 16px;
  border: 1px solid #222222;
  background: #222222;
  color: #ffffff !important;
}
.checkout-btn:hover,
.checkout-btn:link:hover,
.checkout-btn:visited:hover {
  background: #ffffff;
  color: #222222 !important;
}

@media (max-width: 768px) {
  .product-grid {
    gap: 24px !important;
  }
  .product-item {
    width: 100% !important;
  }
  .product-image-wrapper {
    height: auto !important;
  }
  .product-image {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
  }
  .product-overlay {
    display: none !important;
  }
  .product-info-mobile {
    display: block !important;
  }
}
.single-product .site-content,
.single-product #content,
.single-product .content-area,
.single-product #primary,
.single-product .site-main,
.single-product .site-content > .col-full,
.single-product .hentry,
.single-product article,
.single-product article.product,
.single-product article.type-product {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.single-product-page {
  padding: 0;
}
.single-product-page .product-container {
  max-width: 1200px;
  margin: 0 auto 40px;
  padding: 0 40px;
  text-align: center;
}
.single-product-page .product-gallery {
  position: relative;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  height: calc(100vh - 250px);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}
.single-product-page .gallery-main-image {
  max-width: 80vw;
  max-height: 100%;
  width: auto;
  height: auto;
  display: block;
  object-fit: contain;
}
.single-product-page .gallery-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: transparent !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: 9px 23px !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  width: 44px;
  height: 44px;
  padding: 0;
  cursor: pointer;
  z-index: 10;
  font-size: 0;
  color: transparent !important;
  -webkit-appearance: none;
  appearance: none;
}
.single-product-page .gallery-arrow.prev {
  left: 18px;
  background-image: url("/wp-content/themes/mikaeljansson-unified/assets/img/Arrow_Back_Grey.jpg") !important;
}
.single-product-page .gallery-arrow.prev:hover {
  background-image: url("/wp-content/themes/mikaeljansson-unified/assets/img/Arrow_Back_Black.jpg") !important;
}
.single-product-page .gallery-arrow.next {
  right: 18px;
  background-image: url("/wp-content/themes/mikaeljansson-unified/assets/img/Arrow_Forward_Grey.jpg") !important;
}
.single-product-page .gallery-arrow.next:hover {
  background-image: url("/wp-content/themes/mikaeljansson-unified/assets/img/Arrow_Forward_Black.jpg") !important;
}
.single-product-page .product-price {
  font-size: 14px !important;
  color: #222222 !important;
  margin: 25px 0 30px !important;
  text-align: center !important;
}
.single-product-page .product-price .woocs_preloader_ajax::after {
  content: none !important;
  display: none !important;
}
.single-product-page .product-price .woocs_price_code.woocs_preloader_ajax .woocommerce-Price-amount,
.single-product-page .product-price .woocs_price_code.woocs_preloader_ajax .woocommerce-Price-currencySymbol {
  display: inline !important;
}
.single-product-page .product-add-to-cart {
  margin-bottom: 40px;
}
.single-product-page .product-add-to-cart form.cart {
  display: flex;
  justify-content: center;
  margin: 0;
}
.single-product-page .product-add-to-cart .quantity,
.single-product-page .product-add-to-cart .added_to_cart {
  display: none !important;
}
.single-product-page .product-add-to-cart .single_add_to_cart_button {
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #222222 !important;
  background: #ffffff !important;
  border: 1px solid #222222 !important;
  padding: 12px 40px !important;
  cursor: pointer;
  text-transform: none !important;
  letter-spacing: 0 !important;
  border-radius: 0 !important;
}
.single-product-page .product-add-to-cart .single_add_to_cart_button:hover {
  background: #222222 !important;
  color: #ffffff !important;
}
.single-product-page .product-add-to-cart .stock,
.single-product-page .product-add-to-cart .woocommerce-variation-availability,
.single-product-page .product-add-to-cart .availability {
  display: none !important;
}
.single-product-page .product-title {
  font-size: 24px !important;
  line-height: 28px !important;
  color: #222222 !important;
  margin: 0 0 30px !important;
  font-weight: 400 !important;
  text-align: center !important;
}
.single-product-page .product-description {
  font-size: 14px;
  line-height: 21px;
  color: #797979;
  max-width: 900px;
  margin: 0 auto 30px;
}

/* Hide ALL express checkout buttons (Apple Pay, Google Pay, Link) on product pages */
.single-product-page .wc-stripe-payment-request-wrapper,
.single-product-page #wc-stripe-payment-request-wrapper,
.single-product-page .woocommerce-variation-add-to-cart .wc-stripe-payment-request-button-wrapper,
.woocommerce div.product .wc-stripe-payment-request-wrapper,
#wc-stripe-payment-request-wrapper,
.wc-stripe-payment-request-wrapper,
.wc-stripe-payment-request-button-wrapper,
#wc-stripe-payment-request-button-separator,
.woocommerce-checkout-review-order .wc-stripe-payment-request-wrapper,
.product-add-to-cart .wc-stripe-payment-request-wrapper,
.product-add-to-cart #wc-stripe-payment-request-wrapper,
#payment-request-button,
.payment-request-button-wrapper,
[id*=stripe-payment-request],
[class*=stripe-payment-request],
.wc-stripe-upe-element,
#express-checkout-element,
.wc-stripe-express-checkout-element,
#wc-stripe-express-checkout-element,
.wc-stripe-express-checkout-wrapper,
#wc-stripe-express-checkout-wrapper,
.woocommerce div.product form.cart .wc-stripe-express-checkout-element,
.single-product .wc-stripe-express-checkout-element,
.single-product-page .blockUI,
.single-product-page .blockOverlay,
[id*=express-checkout],
[class*=express-checkout],
.stripe-payment-request-button-element,
#stripe-payment-request-button-element,
[class*=stripe-link],
.wc-stripe-link-button,
#wc-stripe-link-button {
  display: none !important;
}

/* ========================================
   CART PAGE
   ======================================== */
.woocommerce-cart .site-main {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 60px 40px !important;
}

.woocommerce-cart .woocommerce {
  max-width: 900px;
  margin: 0 auto 60px;
  padding: 0;
  text-align: center;
}

/* Remove WooCommerce empty cart icon (Blocks) */
.wp-block-woocommerce-empty-cart-block .with-empty-cart-icon::before,
.wp-block-woocommerce-empty-cart-block svg {
  display: none !important;
}

/* Empty cart title styling */
.wc-block-cart__empty-cart__title {
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: normal !important;
  color: #797979 !important;
}

/* "Back to Shop" link (injected via JS) */
.empty-cart-back-link {
  display: block;
  text-align: center;
  margin-top: 20px;
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif;
  font-size: 14px;
  color: #797979;
  text-decoration: underline;
}

.empty-cart-back-link:hover {
  color: #222222;
}

/* Classic cart fallback */
.woocommerce-cart .return-to-shop {
  text-align: center !important;
  margin: 30px 0 !important;
}

.woocommerce-cart .return-to-shop a {
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  color: #797979 !important;
  text-decoration: underline !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
}

.woocommerce-cart .return-to-shop a:hover {
  color: #222222 !important;
}

/* Also hide classic cart elements if they show */
.woocommerce-cart .woocommerce-info {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

.woocommerce-cart .woocommerce-info::before {
  display: none !important;
}

.woocommerce-cart .cart-empty {
  text-align: center !important;
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  color: #797979 !important;
}

/* Hide "New in store" / promoted products on cart page */
.woocommerce-cart .storefront-product-section,
.woocommerce-cart .cross-sells,
.woocommerce-cart .products {
  display: none !important;
}

.woocommerce-cart .cross-sells > h2,
.woocommerce-cart .related > h2 {
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif !important;
  font-size: 21px !important;
  font-weight: normal !important;
  color: #222222 !important;
  text-align: center !important;
  margin-bottom: 40px !important;
}

/* Product grid on cart page - same as shop page */
.woocommerce-cart ul.products {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 40px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-cart ul.products li.product {
  width: auto !important;
  max-width: 300px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  float: none !important;
}

/* Product images - NEVER crop or squish */
.woocommerce-cart ul.products li.product a img {
  width: auto !important;
  height: 300px !important;
  max-width: 100% !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  display: block !important;
}

.woocommerce-cart ul.products li.product .woocommerce-loop-product__title {
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: normal !important;
  color: #222222 !important;
  margin: 15px 0 8px !important;
}

.woocommerce-cart ul.products li.product .price {
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  color: #222222 !important;
}

.woocommerce-cart ul.products li.product .button {
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  background: #ffffff !important;
  color: #222222 !important;
  border: 1px solid #222222 !important;
  padding: 10px 20px !important;
  border-radius: 0 !important;
  margin-top: 15px !important;
}

.woocommerce-cart ul.products li.product .button:hover {
  background: #222222 !important;
  color: #ffffff !important;
}

.woocommerce table.shop_table {
  border: none !important;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  border: none !important;
  border-bottom: 1px solid #e8e8e8 !important;
  padding: 20px 10px !important;
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif !important;
}

.woocommerce .cart-collaterals .cart_totals {
  float: none !important;
  width: 100% !important;
  max-width: 400px !important;
  margin: 40px auto 0 !important;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button {
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif !important;
  font-size: 16px !important;
  background: #ffffff !important;
  color: #222222 !important;
  border: 1px solid #222222 !important;
  padding: 15px 40px !important;
  border-radius: 0 !important;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
  background: #222222 !important;
  color: #ffffff !important;
}

/* ========================================
   CHECKOUT PAGE - Matching mockup
   ======================================== */
.woocommerce-checkout .woocommerce {
  max-width: 900px !important;
  margin: 30px auto !important;
  padding: 0 40px !important;
}

/* Checkout page title */
.woocommerce-checkout .entry-title {
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif !important;
  font-size: 21px !important;
  color: #222222 !important;
  text-align: center !important;
  margin-bottom: 40px !important;
  font-weight: normal !important;
}

/* Section headings — exclude nav h3 */
.woocommerce-checkout .woocommerce h3:not(.nav-desktop),
.woocommerce-checkout .wc-block-checkout h3:not(.nav-desktop),
.woocommerce-checkout .wc-block-components-title,
.woocommerce-checkout .wc-block-components-checkout-step__title,
.woocommerce-checkout .wc-block-components-checkout-step__heading {
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  color: #222222 !important;
  font-weight: normal !important;
}

/* Form labels */
.woocommerce form .form-row label {
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  color: #222222 !important;
}

/* Form fields */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  color: #222222 !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 0 !important;
  padding: 12px !important;
  background: #ffffff !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
  border-color: #222222 !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Order review */
.woocommerce-checkout-review-order-table {
  border: none !important;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  border: none !important;
  border-bottom: 1px solid #e8e8e8 !important;
  padding: 15px 10px !important;
}

/* Payment section */
.woocommerce-checkout #payment {
  background: #f9f9f9 !important;
  border-radius: 0 !important;
  padding: 30px !important;
  margin-top: 30px !important;
}

.woocommerce-checkout #payment ul.payment_methods {
  border: none !important;
  padding: 0 !important;
}

.woocommerce-checkout #payment .place-order .button {
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif !important;
  font-size: 16px !important;
  background: #222222 !important;
  color: #ffffff !important;
  border: 1px solid #222222 !important;
  padding: 15px 40px !important;
  border-radius: 0 !important;
  width: 100% !important;
  transition: all 0.2s !important;
}

.woocommerce-checkout #payment .place-order .button:hover {
  background: #ffffff !important;
  color: #222222 !important;
}

/* Hide express checkout on checkout page (WooCommerce Blocks) */
.woocommerce-checkout .wc-stripe-payment-request-wrapper,
.woocommerce-checkout #wc-stripe-payment-request-wrapper,
.woocommerce-checkout .express-checkout-separator,
.wc-block-checkout__express-checkout,
.wc-block-components-express-payment,
.wc-block-components-express-payment-continue-rule,
.wc-block-components-express-payment__title-container,
[class*=express-payment],
.wp-block-woocommerce-checkout-express-payment-block,
fieldset.wc-block-checkout__express-checkout {
  display: none !important;
}

/* Checkout & Cart page - hide sidebar and make content full-width */
.woocommerce-checkout #secondary.widget-area,
.woocommerce-cart #secondary.widget-area {
  display: none !important;
}

.woocommerce-checkout #primary.content-area,
.woocommerce-cart #primary.content-area {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}

.woocommerce-checkout .site-main,
.woocommerce-cart .site-main {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 20px 40px !important;
  float: none !important;
  width: 100% !important;
}

.woocommerce-checkout article,
.woocommerce-cart article {
  max-width: 1100px !important;
  margin: 0 auto !important;
}

/* Checkout page styling - WooCommerce Blocks
   Unified typography: AvenirNextLTPro, 14px base, #222 primary, #797979 secondary */
.wc-block-checkout,
.wc-block-checkout * {
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif !important;
}

/* Center the entire checkout block */
.wp-block-woocommerce-checkout {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

/* Checkout page title */
.woocommerce-checkout .wp-block-post-title,
.woocommerce-checkout h1 {
  text-align: center !important;
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif !important;
  font-size: 21px !important;
  font-weight: normal !important;
  color: #222222 !important;
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ALL headings inside checkout — consistent, no bold */
.wc-block-checkout h2,
.wc-block-checkout h3,
.wc-block-checkout h4,
.wc-block-components-title,
.wc-block-components-checkout-step__title,
.wc-block-checkout__sidebar .wc-block-components-panel__button,
.wc-block-checkout__sidebar .wc-block-components-title {
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: normal !important;
  color: #222222 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Step numbers in checkout (Contact information, Billing address, etc.) */
.wc-block-components-checkout-step__heading {
  font-size: 14px !important;
  font-weight: normal !important;
  color: #222222 !important;
  margin: 0 !important;
}

/* Step descriptions / helper text */
.wc-block-components-checkout-step__description {
  font-size: 14px !important;
  color: #797979 !important;
}

/* Form labels */
.wc-block-checkout label,
.wc-block-components-text-input label,
.wc-block-components-country-input label,
.wc-block-components-state-input label {
  font-size: 14px !important;
  font-weight: normal !important;
  color: #797979 !important;
}

/* Form inputs and selects */
.wc-block-checkout input[type=text],
.wc-block-checkout input[type=email],
.wc-block-checkout input[type=tel],
.wc-block-checkout input[type=number],
.wc-block-checkout select,
.wc-block-checkout textarea,
.wc-block-components-text-input input,
.wc-block-components-text-input textarea {
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  color: #222222 !important;
  border-radius: 0 !important;
}

/* Checkout step borders */
.wc-block-components-checkout-step {
  border: none !important;
}

/* Guest checkout notice text */
.wc-block-checkout__login-prompt {
  font-size: 14px !important;
  color: #797979 !important;
}

/* Force Order Summary to always be expanded */
.wc-block-components-order-summary__button {
  pointer-events: none !important;
}

.wc-block-components-order-summary__button svg {
  display: none !important;
}

.wc-block-components-order-summary__content {
  display: block !important;
  height: auto !important;
  overflow: visible !important;
}

/* Hide duplicate Order Summary at bottom */
.wc-block-checkout__sidebar ~ .wc-block-components-order-summary,
.wc-block-checkout__actions ~ .wc-block-components-order-summary {
  display: none !important;
}

/* Order summary heading */
.wc-block-checkout__sidebar .wc-block-components-panel__button span,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title {
  font-size: 14px !important;
  font-weight: normal !important;
  color: #222222 !important;
}

/* Order summary items */
.wc-block-components-order-summary-item {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
  padding: 15px 0 !important;
  border-bottom: 1px solid #e5e5e5 !important;
}

.wc-block-components-order-summary-item:last-child {
  border-bottom: none !important;
}

.wc-block-components-order-summary-item__image {
  width: 80px !important;
  flex-shrink: 0 !important;
}

.wc-block-components-order-summary-item__image img {
  width: 80px !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Remove quantity bubble styling in order summary */
.wc-block-components-order-summary-item__quantity {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: normal !important;
  color: #797979 !important;
  min-width: 0 !important;
  width: auto !important;
  height: auto !important;
  line-height: normal !important;
  padding: 0 !important;
  border-radius: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  right: -15px !important;
}

/* Hide product description in order summary */
.wc-block-components-order-summary-item .wc-block-components-product-metadata,
.wc-block-components-order-summary-item__individual-prices,
.wc-block-components-order-summary-item .wc-block-components-product-details {
  display: none !important;
}

/* Product name in order summary */
.wc-block-components-order-summary-item .wc-block-components-product-name {
  font-size: 14px !important;
  font-weight: normal !important;
  color: #222222 !important;
  margin: 0 !important;
}

.wc-block-components-order-summary-item__description {
  flex: 1 !important;
}

.wc-block-components-order-summary-item__total-price {
  font-size: 14px !important;
  font-weight: normal !important;
  color: #222222 !important;
}

/* Subtotal, shipping, total rows */
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 14px !important;
  font-weight: normal !important;
  color: #222222 !important;
}

/* Shipping method labels */
.wc-block-components-radio-control__label,
.wc-block-components-radio-control__description,
.wc-block-components-radio-control__secondary-label,
.wc-block-components-radio-control__secondary-description {
  font-size: 14px !important;
  font-weight: normal !important;
  color: #222222 !important;
}

/* Payment method labels */
.wc-block-components-payment-method-label,
.wc-block-components-payment-method-icons {
  font-size: 14px !important;
  font-weight: normal !important;
  color: #222222 !important;
}

/* Place order button */
.wc-block-components-checkout-place-order-button {
  font-family: "AvenirNextLTPro-Regular", Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: normal !important;
  background: #222222 !important;
  color: #ffffff !important;
  border: 1px solid #222222 !important;
  border-radius: 0 !important;
  padding: 15px 40px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.wc-block-components-checkout-place-order-button,
.wc-block-components-checkout-place-order-button .wc-block-components-button__text,
.wc-block-components-checkout-place-order-button .wc-block-components-checkout-place-order-button__text {
  color: #ffffff !important;
}

.wc-block-components-checkout-place-order-button:hover {
  background: #ffffff !important;
  color: #222222 !important;
}

.wc-block-components-checkout-place-order-button:hover .wc-block-components-button__text,
.wc-block-components-checkout-place-order-button:hover .wc-block-components-checkout-place-order-button__text {
  color: #222222 !important;
}

/* Terms and conditions, privacy policy links */
.wc-block-checkout__terms,
.wc-block-checkout__terms a {
  font-size: 12px !important;
  color: #797979 !important;
}

.woocommerce button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce input[type=submit],
.woocommerce input[type=button],
.woocommerce input[type=reset],
.woocommerce .button,
.wc-block-components-button,
.cart-sidebar button,
.cart-sidebar a {
  border-radius: 0 !important;
}

/**
 * Mikaeljansson Unified Theme - Main SCSS
 * 
 * Compiled from Angular frontend and original WordPress themes
 */
/**
 * Responsive Styles
 */
.visible-phone {
  display: none;
}

.hidden-phone {
  display: block;
}

@media (max-width: 768px) {
  .visible-phone {
    display: block;
  }
  .hidden-phone {
    display: none !important;
  }
  #search {
    width: auto !important;
  }
  #search-mobile {
    width: 100% !important;
  }
  .wrapper .media {
    margin-left: 20px;
    margin-right: 20px;
  }
  .wrapper p,
  .wrapper blockquote,
  .wrapper table {
    margin-left: 20px;
    margin-right: 20px;
  }
  .mj-gallery {
    margin-left: 40px;
    margin-right: 40px;
  }
  #tiles {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 60px;
    row-gap: 0;
    width: auto !important;
    height: auto !important;
    margin-left: 40px;
    margin-right: 40px;
  }
  ul.media-list {
    margin-top: -43px;
    margin-left: 20px;
    margin-right: 20px;
    width: auto;
  }
  ul.media-list li img {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    height: auto;
  }
  #tiles li {
    width: 100%;
  }
  #tiles li img {
    height: auto;
  }
}
@media (max-width: 480px) {
  .wrapper {
    padding: 0 20px;
  }
  button,
  .button {
    width: 100%;
  }
  .carousel .carousel-image {
    margin: 20px;
  }
  .mj-gallery {
    margin-left: 40px;
    margin-right: 40px;
  }
  #tiles {
    grid-template-columns: 1fr;
    column-gap: 0;
    margin-left: 40px;
    margin-right: 40px;
  }
  #tiles li {
    width: 100%;
  }
  .cookie-banner .text-container {
    flex-direction: column;
    max-width: 100%;
  }
  .cookie-banner span {
    margin-left: 0;
    margin-top: 8px;
    display: block;
  }
}
@media print {
  body {
    background: white;
    color: black;
  }
  a {
    text-decoration: underline;
  }
  .no-print {
    display: none;
  }
}

/*# sourceMappingURL=style.css.map */
