@import url('https://fonts.googleapis.com/css2?family=Mona+Sans:wght@300..700&display=swap');

:root {
  /*----- Font family -----*/
  --bs-body-font-family: "Mona Sans", sans-serif;
  --in-heading-font-family: "Mona Sans", sans-serif;

  /*----- Border -----*/
  --in-item-border: 1px solid rgba(var(--bs-body-color-rgb), 0.15);
  --in-input-border: 1px solid rgba(var(--bs-body-color-rgb), 0.2);

  /*----- Border radius -----*/
  --in-item-border-radius: 12px;
  --in-btn-border-radius: 6px;
  --in-input-border-radius: 6px;

  /*----- Box shadow -----*/
  --in-item-box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.03), 0 2px 4px -2px rgb(0 0 0 / 0.03); 

  /*----- Text color -----*/
  --in-body-color: color-mix(in hsl, var(--bs-body-color), var(--bs-body-bg) 25%);

  /*----- Background color -----*/
  --in-item-bg-color: var(--bs-body-bg);
  --in-input-bg-color: var(--bs-body-bg);
  --in-body-bg-color: rgba(var(--bs-black-rgb), 0.02);

  /*----- Background image -----*/
  --in-input-bg-img: linear-gradient(rgba(var(--bs-body-color-rgb), 0), rgba(var(--bs-body-color-rgb), 0)), linear-gradient(var(--bs-body-bg), var(--bs-body-bg));
  --in-item-bg-img: linear-gradient(rgba(var(--bs-white-rgb), 0.08), rgba(var(--bs-white-rgb), 0.08)), linear-gradient(var(--bs-body-bg), var(--bs-body-bg));

  --in-item-category-img-margin: -24px 1rem -24px -24px;
  --in-item-img-margin: -24px -24px 0 -24px;
  --in-item-padding: 1.5rem;
}

.nav-tabs .nav-link.active {
  background-color: transparent;
}

.pre-heading {
  color: rgb(235, 12, 12);
  font-weight: 700;
  letter-spacing: 0.15rem;
  text-transform: uppercase;
  font-size: 14px;
}

/*----------------------------------*/
.nav-tabs .nav-link, .nav-tabs .section-tabs .item a, .nav-tabs .section-tabs .item .eshop-menu__link--button, .section-tabs .item .nav-tabs a, .section-tabs .item .nav-tabs .eshop-menu__link--button, .nav-tabs .section-tabs .item button.navbar__menu-link, .section-tabs .item .nav-tabs button.navbar__menu-link {
  margin-bottom: 0;
  color: rgba(var(--bs-body-color-rgb), 0.6);
  background-color: var(--in-item-bg-color);
  background-image: var(--in-item-bg-img);
  border: var(--in-item-border);
  border-radius: var(--in-btn-border-radius);
  font-weight: 500;
  font-size: 16px;
  padding: 10px 16px;
}

.section-tabs .nav-link.active, .section-tabs .item a.active, .section-tabs .item .active.eshop-menu__link--button, .section-tabs .item button.active.navbar__menu-link, .section--tabs .nav-link.active {
  color: var(--bs-body-bg);
  background-color: var(--bs-primary);
  background-image: var(--bs-primary);
  border: 0;
}

.nav-tabs .nav-link:not(.active):hover, .nav-tabs .section-tabs .item a:not(.active):hover, .section-tabs .item .nav-tabs a:not(.active):hover, .nav-tabs .section-tabs .item button.navbar__menu-link:not(.active):hover, .section-tabs .item .nav-tabs button.navbar__menu-link:not(.active):hover, .nav-tabs .section-tabs .item .eshop-menu__link--button:not(.active):hover, .section-tabs .item .nav-tabs .eshop-menu__link--button:not(.active):hover {
  color: rgba(var(--bs-body-color-rgb), 1);
  border: 1px solid rgba(var(--bs-body-color-rgb), 0.4);
  /*background-color: rgba(var(--bs-body-color-rgb), 0.005);
  background-image: rgba(var(--bs-body-color-rgb), 0.005);*/
}

.section-tabs .nav {
  gap: 6px;
}

.nav-tabs {
  border-bottom: var(--in-item-border);
  padding-bottom: 1rem;
}

.container--article .col-text, .container--article .section--header, .container--article .section--text, .container--article .section-blank, .container--article .section-title, .container--article .section-header, .container--article .section-cta, .container--article .col-text.section-bg-light>*, .container--article .col-text.section-bg>*, .container--article .section--header.section-bg-light>*, .container--article .section--header.section-bg>*, .container--article .section--text.section-bg-light>*, .container--article .section--text.section-bg>*, .container--article .section-blank.section-bg-light>*, .container--article .section-blank.section-bg>*, .container--article .section-title.section-bg-light>*, .container--article .section-title.section-bg>*, .container--article .section-header.section-bg-light>*, .container--article .section-header.section-bg>*, .container--article .section-cta.section-bg-light>*, .container--article .section-cta.section-bg>* {
  max-width: 40rem;
}

body, .table tbody, .table-striped>tbody>tr:nth-of-type(odd)>* {
  color: var(--in-body-color);
}

b, strong {
  font-weight: 600;
}

#main, .breadcrumb {
  background-color: var(--in-body-bg-color);
}

.article-detail .container--article .section-container:not(.section-dynamic) img:not(.img-circle):not(.img-square), #index .container--article .section-container:not(.section-dynamic) img:not(.img-circle):not(.img-square) {
  border-radius: var(--in-item-border-radius);
}

/* MAIN PADDING & MARGIN
===========================================*/
#main {
  padding-bottom: 0;
  padding-top: 0;
}

.article-detail .main>.container:first-child, .article-detail .main>.motive__motto:first-child, .article-detail .container--article, .article-detail #main {
  padding-bottom: 0;
}

.main>.container:first-child, .main>.motive__motto:first-child, .container--article {
  padding-bottom: clamp(4rem, 7vw, 8rem);
  padding-top: 0;
}

#index .main,
#index .container--article,
#index .main>.container:first-child {
  padding-bottom: 0;
}

#galleries #main {
  padding-top: clamp(4rem, 7vw, 8rem);
}

/* TYPOGRAPHY
===========================================*/
h6, .h6, h5, .h5, h4, .cart-form__title, .account-form__title, .h4, h3, .h3, h2, .h2, h1, .h1 {
  font-family: var(--in-heading-font-family);
  color: var(--bs-body-color);
  margin-top: 0;
  margin-bottom: .5em;
  font-weight: 600;
  line-height: 1.3;
  text-wrap: balance;
}

h1, .h1, .section--header h1, .section--header .h1, .section-title h1, .section-title .h1 {
  font-size: 2.25rem;
}

@media (min-width: 1200px) {
  h1, .h1, .section--header h1, .section--header .h1, .section-title h1, .section-title .h1 {
    font-size: 3rem;
  }
}

.container--article h1+p, .container--article .h1+p {
  margin-top: clamp(1rem, 4vw, 2rem);
}

h2, .h2 {
  font-size: 1.75rem;
}

@media(min-width: 1200px) {
  h2, .h2 {
    font-size: 2rem;
  }
}

h3, .h3 {
  font-size: 1.5rem;
}

@media(min-width: 1200px) {
  h3, .h3 {
    font-size: 1.75rem;
  }
}

.section-3-col-bottom-text h3,
.section-3-col-bottom-text .h3,
.section-3-col-top-text h3,
.section-3-col-top-text .h3 {
  font-size: 1.5rem;
  font-weight: 600;
}

h4, .cart-form__title, .account-form__title, .h4 {
  font-size: 1.25rem;
}

@media(min-width: 1200px) {
  h4, .cart-form__title, .account-form__title, .h4 {
    font-size: 1.5rem;
  }
}

h5,.h5 {
  font-size: 1.25rem;
}

h6,.h6 {
  font-size: 1.125rem;
}

@media(min-width: 768px) {
  .font-size-fluid,.col-text,.section--header,.section--text,.section-blank,.section-title,.section-header,.section-cta,.section-2-col-right-text,.section-2-col-left-text {
    font-size: var(--bs-body-font-size);
    line-height: var(--bs-body-line-height);
  }
}

.container--article p+h2, .container--article p+.h2, .container--article ol+h2, .container--article ol+.h2, .container--article ul+h2, .container--article ul+.h2  {
  margin-top: clamp(2rem, 4vw, 3rem);
}

.container--article p+h3, .container--article p+.h3, .container--article ol+h3, .container--article ol+.h3, .container--article ul+h3, .container--article ul+.h3 {
  margin-top: clamp(1.75rem, 4vw, 2.5rem);
}

.container--article p+h4, .container--article p+.h4, .container--article ol+h4, .container--article ol+.h4, .container--article ul+h4, .container--article ul+.h4 {
  margin-top: clamp(1.5rem, 4vw, 2rem);
}

.container--article p+h5, .container--article p+.h5, .container--article ol+h5, .container--article ol+.h5, .container--article ul+h5, .container--article ul+.h5 {
  margin-top: clamp(1.25rem, 4vw, 1.75rem);
}

.container--article p+h6, .container--article p+.h6, .container--article ol+h6, .container--article ol+.h6, .container--article ul+h6, .container--article ul+.h6 {
  margin-top: clamp(1.15rem, 4vw, 1.5rem);
}

ol, ul {
  padding-left: 1.25rem;
}

/* BUTTONS
===========================================*/
.btn-primary, .comment__reply:hover, .add-comment__button--submit, .product-page__cart-button, .cart-button, .promo-code__submit, .account-button, .minicart__button-cart, .search-form__search-button, .locked__submit, .motto__button-link, .btn-default {
  padding: 8px 24px;
  font-size: 16px;
  border-radius: var(--in-btn-border-radius);
  font-weight: 600;
  letter-spacing: 0.2px;
}

.btn-sm, .btn-group-sm>.btn, .btn-group-sm>.cookies__button, .btn-group-sm>.comment__reply, .btn-group-sm>.comment__hide, .btn-group-sm>.add-comment__button--close, .btn-group-sm>.add-comment__button--submit, .btn-group-sm>.product-page__cart-button, .btn-group-sm>.product-item__cart-button, .btn-group-sm>.cart-button, .btn-group-sm>.promo-code__submit, .btn-group-sm>.account-button, .btn-group-sm>.minicart__button-cart, .btn-group-sm>.minicart__button-close, .btn-group-sm>.search-form__search-button, .btn-group-sm>.locked__submit, .btn-group-sm>.eshop-filters__submit, .btn-group-sm>.motto__button-link, .btn-group-sm>.navbar__search-button {
  padding: 6px 20px;
  font-size: 14px;
  border-radius: var(--in-btn-border-radius);
}

.btn-lg, .btn-group-lg>.btn, .btn-group-lg>.cookies__button, .btn-group-lg>.comment__reply, .btn-group-lg>.comment__hide, .btn-group-lg>.add-comment__button--close, .btn-group-lg>.add-comment__button--submit, .btn-group-lg>.product-page__cart-button, .btn-group-lg>.product-item__cart-button, .btn-group-lg>.cart-button, .btn-group-lg>.promo-code__submit, .btn-group-lg>.account-button, .btn-group-lg>.minicart__button-cart, .btn-group-lg>.minicart__button-close, .btn-group-lg>.search-form__search-button, .btn-group-lg>.locked__submit, .btn-group-lg>.eshop-filters__submit, .btn-group-lg>.motto__button-link, .btn-group-lg>.navbar__search-button {
  padding: 12px 30px;
  font-size: 18px;
  border-radius: var(--in-btn-border-radius);
}

/* HEADER
===========================================*/
.header {
  box-shadow: 0px 3px 10px #0000000d;
  border-bottom: 1px solid rgba(var(--bs-body-color-rgb), 0.15);
  background-color: var(--in-item-bg-color);
  background-image: var(--in-item-bg-img);
}

/*----- contactus -----*/
.contactus-wrap {
  background-color: var(--in-input-bg-color);
  background-image: var(--in-input-bg-img);
  border-bottom: 1px solid rgba(var(--bs-body-color-rgb), 0.02);
}

.contactus__phone, .contactus__email {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

.contactus__phone-icon, .contactus__email-icon {
  font-size: 14px;
  color: var(--bs-primary);
}

.contactus__phone-link, .contactus__email-link {
  font-size: 14px;
  color: var(--bs-body-color);
  font-weight: 400;
}

@media (max-width: 991.98px) {
  .contactus::after {
    background-color: transparent;
  }
}

/*----- navbar -----*/
.navbar {
  max-width: 1320px;
  margin: auto;
}

.navbar__menu-item.active .navbar__menu-item.active {
  background-color: rgba(var(--bs-primary-rgb), 0.015);
}

@media (min-width: 992px) {
  .navbar__menu-item--has-childs .navbar__menu-list {
    border: var(--in-item-border);
    border-radius: var(--in-input-border-radius);
  }
}

.navbar__menu-link {
  font-size: 17px;
  font-weight: 500;
}

.navbar__menu-item .navbar__menu-item .navbar__menu-link {
  border-left: 2px solid transparent;
}

.navbar__menu-item .navbar__menu-item .navbar__menu-link:hover {
  border-left: 2px solid rgba(var(--bs-secondary-rgb), 0.5);
  background: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0)), to(rgba(var(--bs-secondary-rgb), 0.05)));
  background: -o-linear-gradient(right, rgba(0, 0, 0, 0), rgba(var(--bs-secondary-rgb), 0.05));
  background: linear-gradient(270deg, rgba(0, 0, 0, 0), rgba(var(--bs-secondary-rgb), 0.05));
  color: var(--bs-dark);
}

.navbar__menu-item .navbar__menu-item.active .navbar__menu-link {
  border-left: 2px solid var(--bs-primary);
  background: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0)), to(rgba(var(--bs-primary-rgb), 0.05)));
  background: -o-linear-gradient(right, rgba(0, 0, 0, 0), rgba(var(--bs-primary-rgb), 0.05));
  background: linear-gradient(270deg, rgba(0, 0, 0, 0), rgba(var(--bs-primary-rgb), 0.05));
  color: var(--bs-primary);
}

.navbar__menu-item .navbar__menu-item .navbar__menu-link:hover:after, .navbar__menu-item .navbar__menu-item.active .navbar__menu-link:after {
  width: 0;
}
.navbar__menu-item .navbar__menu-item {
  border-left: 0;
}

.navbar__menu-item--has-childs .navbar__menu-list {
  row-gap: 5px;
}

@media (min-width: 991.98px) {
  .navbar__menu-link:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: -8px;
    width: 0%;
    border-bottom: 3px solid transparent;
    transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
  }

  .navbar__menu-link:hover:after {
    border-color: rgba(var(--bs-primary-rgb), 0.25);
  }

  .navbar__menu-item.active > .navbar__menu-link:after {
    border-color: var(--bs-primary);
  }

  .navbar__menu-link:hover:after,
  .navbar__menu-item.active > .navbar__menu-link:after {
    width: 100%;
  }
}

@media(min-width: 1200px) {
  .navbar__menu-link:after {
    bottom: -11px;
  }
}

/* MOTIV
===========================================*/
body:not(#index) .motive, body:not(#index) .motive.fullscreen {
  display: none;
}

/* SECTION HEADER - PEREX
===========================================*/
.section.section--header {
  padding-bottom: 0;
}

.section--header h1, .section--header .h1, .section-title h1, .section-title .h1 {
  text-align: left;
}

@media (min-width: 768px) {
  .section--header, .section--text {
    padding-left: 0;
    padding-right: 0;
  }
}

.section--header~.perex, .section--header~.section-perex {
  margin-top: 0;
  margin-bottom: 2.5rem;
}

.perex__text-wrapper, .section-perex__text-wrapper {
  text-align: left;
  margin-left: 0;
  margin-right: 0;
  text-wrap: balance;
}

.perex, .section-perex {
  max-width: unset;
  text-align: left;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0
}

/* SECTIONS
===========================================*/
section, .section {
  padding-top: clamp(4rem, 5vw, 6rem);
  padding-bottom: clamp(4rem, 5vw, 6rem);
}

.section-container:not(.section-bg)+p+.section-container:not(.section-bg) {
  padding-top: 4rem;
}

.container--article .section-blank, .container--article .section-blank.section-bg>* {
  max-width: unset;
}

.container--article .section-blank.section-bg>* {
  margin-left: 0;
  margin-right: 0;
}

@media (min-width: 576px) {
  .section-2-col-right-text>.row, .section-2-col-left-text>.row {
    --bs-gutter-x: 4rem;
  }
}

@media (max-width: 575.98px) {
  .section-2-col-right-text > .row,
  .section-2-col-left-text > .row {
    flex-direction: column-reverse;
    --bs-gutter-y: 2rem;
  }
}

/*----- section 3 col -----*/
.section-3-col-bottom-text h3, .section-3-col-bottom-text .h3, .section-3-col-bottom-text p, .section-3-col-top-text h3, .section-3-col-top-text .h3, .section-3-col-top-text p {
  max-width: unset;
  margin-left: unset;
  margin-right: unset;
}

.section-3-col-bottom-text img {
  margin-bottom: 0;
}

.section-3-col-bottom-text .section-cell-img {
  margin-bottom: 1.5rem;
}

.section-3-col-bottom-text.cell-borders .section-cell-item, .section-3-col-top-text.cell-borders .section-cell-item {
  --section-item-margin: 15px;
  padding: 1.5rem;
  background-color: var(--in-item-bg-color);
  background-image: var(--in-item-bg-img);
  border-radius: var(--in-item-border-radius);
  border: var(--in-item-border);
  box-shadow: var(--in-item-box-shadow);
}

.section-3-col-bottom-text.cell-img-borders .section-cell-item {
  --section-item-margin: 15px;
  overflow: unset;
  padding: 1.5rem;
  background-color: var(--in-item-bg-color);
  background-image: var(--in-item-bg-img);
  border-radius: var(--in-item-border-radius);
  border: var(--in-item-border);
  box-shadow: var(--in-item-box-shadow);
  margin-top: 100px;
}

.section-3-col-bottom-text.cell-img-borders .section-cell-img {
  outline: 1px solid rgba(var(--bs-body-color-rgb), 0.2);
  width: 120px;
  height: 70px;
  border: 0;
  background-color: var(--bs-primary);
  margin-top: -55px;
  border-radius: var(--in-item-border-radius);
  margin-bottom: 2rem;
}

.section-3-col-bottom-text .row {
  --bs-gutter-x: 2rem;
}

/*.section-container.section-3-col-bottom-text.cell-borders .section-cell-img {
text-align: left;
}
.section-container.section-3-col-bottom-text.cell-borders {
align-items: stretch;
}*/

/*----- services -----*/
.section-services li, .section--services li {
  background-color: var(--in-item-bg-color);
  background-image: var(--in-item-bg-img);
  border: var(--in-item-border);
  border-radius: var(--in-input-border-radius);
  box-shadow: var(--in-item-box-shadow);
  border-left: 4px solid var(--bs-primary);
}

/*----- accordion -----*/
.accordion {
  border-radius: var(--in-item-border-radius);
  box-shadow: var(--in-item-box-shadow);
}

.accordion-button {
  font-weight: 500;
  padding: 1.5rem;
}
.accordion-body {
  padding: 0 1.5rem 1rem 1.5rem;
}

.accordion-button, .accordion-button:not(.collapsed) {
  background-color: var(--in-item-bg-color);
  background-image: var(--in-item-bg-img);
}

.accordion-item {
  background-color: var(--in-item-bg-color);
  background-image: var(--in-item-bg-img);
}

.accordion-item:first-of-type .accordion-button, .accordion-item:first-of-type {
  border-top-left-radius: var(--in-item-border-radius);
  border-top-right-radius: var(--in-item-border-radius);
}

.accordion-item:last-of-type .accordion-button.collapsed, .accordion-item:last-of-type {
  border-bottom-right-radius: var(--in-item-border-radius);
  border-bottom-left-radius: var(--in-item-border-radius);
}

/*----- accordion base -----*/
.accordion-base .accordion {
  border-radius: 0;
  box-shadow: unset;
}
.accordion-base .accordion-button { 
  padding: 1.5rem 0;
}
.accordion-base .accordion-body {
  padding: 0 0 1rem 0;
}
.accordion-base .accordion-button, .accordion-base .accordion-button:not(.collapsed) {
  background-color: transparent;
  background-image: unset;
}
.accordion-base .accordion-item {
  background-color: transparent;
  background-image: unset;
  border: 0;
  border-bottom: var(--in-item-border);
}
.accordion-base .accordion-item:last-of-type {
  border-bottom: 0;
}


/* CATEGORY - ARTICLE - ITEMS - GALLERY
===========================================*/
@media (min-width: 1400px) {
  .categories.categories--root .category-wrapper, .article-item-wrapper, .file-item-wrapper, .comment-item-wrapper {
    width: 25%;
  }
}

/* ARTICLE ITEM
===========================================*/
.article-item {
  background-color: var(--in-item-bg-color);
  background-image: var(--in-item-bg-img);
  border-radius: var(--in-item-border-radius);
  border: var(--in-item-border);
  box-shadow: var(--in-item-box-shadow);
  padding: var(--in-item-padding);
  padding-bottom: 1.5rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.article-item__title {
  margin-top: 1rem;
  padding: 4px 0;
  font-size: 1.25rem;
}

.article-item__details, .comment__details {
  order: 1;
  /*padding: 0 1.25rem;*/
}

.article-item__perex {
  /*padding: 0 1.25rem;*/
  margin-top: 0;
  font-size: 16px;
}

/*----- article img -----*/
.article-item__thumbnail {
  overflow: hidden;
  margin: var(--in-item-img-margin);
  /*border-radius: 1rem;*/
}

.article-item__img-wrapper {
  transition: all 0.5s ease 0s;
  transform: scale(1);
}

.article-item:hover .article-item__img-wrapper {
  transform: scale(1.1);
}

/* CATEGORY
===========================================*/
/*----- category -----*/
.category {
  background-color: var(--in-item-bg-color);
  background-image: var(--in-item-bg-img);
  border: var(--in-item-border);
  border-radius: var(--in-item-border-radius);
  box-shadow: var(--in-item-box-shadow);
  overflow: hidden;
  padding: var(--in-item-padding);
  height: 100%;
}

.category__thumbnail {
  margin: var(--in-item-category-img-margin);
  /*border-radius: 1rem;
  overflow: hidden;*/
}

/*----- categories root -----*/
.categories--root .category {
  padding: var(--in-item-padding);
  padding-bottom: 1.5rem;
}

.categories--root .category__thumbnail {
  margin: var(--in-item-img-margin);
  /*border-radius: 1rem;*/
  /*overflow: hidden;*/
}

.categories--root .category__thumbnail .category__img-wrapper {
  padding-bottom: 80%;
}

.categories--root .category__info {
  margin-top: 0.5rem;
}

/* FILE
===========================================*/
.file-item {
  padding: 1.25rem; 
  background-color: var(--in-item-bg-color);
  background-image: var(--in-item-bg-img);
  border: var(--in-item-border);
  border-radius: var(--in-item-border-radius);
  box-shadow: var(--in-item-box-shadow);
}

.file-item__header {
  margin-bottom: 1rem;
}

.file-item__title {
  font-size: 16px;
}

.file-item__details {
  font-size: 14px;
}

/* GALLERY
===========================================*/
/*----- gallery img -----*/
.gallery__item-link {
  border-radius: var(--in-item-border-radius);
}

.gallery__item .gallery__item-img {
  -webkit-filter: unset;
  filter: unset;
  transform: scale(1);
  transition: all 0.5s ease 0s;
}

.gallery__item-link:hover .gallery__item-img {
  transform: scale(1.1) !important;
}

/* FORM
===========================================*/
/*----- user form -----*/
.user-form {
  background-color: var(--in-item-bg-color);
  background-image: var(--in-item-bg-img);
  border: var(--in-item-border);
  border-radius: var(--in-item-border-radius);
  box-shadow: var(--in-item-box-shadow);
}

/*----- search form -----*/
.search-form-wrapper { 
  background-color: var(--in-item-bg-color);
  background-image: var(--in-item-bg-img);
  border: var(--in-item-border);
  border-radius: var(--in-item-border-radius);
  box-shadow: var(--in-item-box-shadow);
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}

@media (min-width: 768px) {
  .search-form-wrapper {
    padding: 1.25rem;
    max-width: fit-content;
  }
}

/* INPUT
===========================================*/
.form-control, .add-comment__input, .cart-form__input, .promo-code__input, .account-form__input, .search-form__input, .user-form__input, .locked__input, .navbar__search-input {
  background-color: var(--in-input-bg-color);
  background-image: var(--in-input-bg-img);
  border: var(--in-input-border);
  border-radius: var(--in-input-border-radius);
}

.navbar__search-input {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

/* TABLE
===========================================*/
.table {
  --bs-table-striped-bg: rgba(var(--bs-body-color-rgb), 0.025);
}

/* FOOTER
===========================================*/
.footer {
  padding-top: 0;
}

.footer {
  background-color: var(--bs-gray-900);
  /*background-image: var(--in-item-bg-img);*/
  border-top: var(--in-item-border);
}

.footer p {
  margin: 0;
}

.footer .h6, .footer h4 {
  color: var(--bs-body-bg);
  font-weight: 600;
}

.footer, .footer a {
  color: rgba(var(--bs-body-bg-rgb), 0.6);
  font-size: 15px;
}

.footer a:hover {
  color: var(--bs-body-bg);
  text-decoration: underline;
  text-decoration-color: var(--bs-primary);
  text-underline-offset: 3px;
}

/*.footer .social-icons > li > a > img {
filter: saturate(0%) brightness(0%) invert(100%) opacity(0.6);
transition: all 100ms ease-in;
}

.footer .social-icons > li > a:hover > img {
filter: saturate(0%) brightness(0%) invert(100%) opacity(1);
}*/

/* SITEMAP
===========================================*/
.sitemap {
  max-width: 40rem;
  margin-left: unset;
  margin-right: unset;
  background-color: var(--in-item-bg-color);
  background-image: var(--in-item-bg-img);
  border: var(--in-item-border);
  border-radius: var(--in-item-border-radius);
  box-shadow: var(--in-item-box-shadow);
}

/* UTILS
===========================================*/
.border-item {
  border: var(--in-item-border);
}

.border-item-primary {
  border: 1px solid rgba(var(--bs-primary-rgb), 0.125)
}

.rounded-item {
  border-radius: var(--in-item-border-radius);
}

.rounded-btn {
  border-radius: var(--in-btn-border-radius);
}

.rounded-input {
  border-radius: var(--in-input-border-radius);
}

.shadow-item {
  box-shadow: var(--in-item-box-shadow);
}

.bg-color-item {
  background-color: var(--in-item-bg-color);
}

.bg-img-item {
  background-image: var(--in-item-bg-img);
}

.p-item {
  padding: 2rem;
}

.shadow-md {
  -webkit-box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, .175) !important;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, .175) !important;
}

.text-body-color {
  color: var(--in-body-color);
}

.bg-body-color {
  background-color: rgba(var(--bs-body-color-rgb), var(--bs-bg-opacity)) !important;
}

.border-base {
  border-color: rgba(var(--bs-body-color-rgb), 0.10) !important;
}

.bg-opacity-5 {
  --bs-bg-opacity: 0.05;
}

.bg-opacity-4 {
  --bs-bg-opacity: 0.04;
}

.bg-opacity-3 {
  --bs-bg-opacity: 0.03;
}

.bg-opacity-2 {
  --bs-bg-opacity: 0.02;
}

.bg-opacity-1 {
  --bs-bg-opacity: 0.01;
}

.text-balance {
  text-wrap: balance;
}

.text-pretty {
  text-wrap: pretty;
}

.rounded-4 {
  border-radius: 0.5rem !important;
}

.rounded-5 {
  border-radius: 1rem !important;
}

.fw-medium {
  font-weight: 500;
}

.fw-bolder {
  font-weight: 600 !important;
}

.fs-18 {
  font-size: 18px; 
}

/*.p-5 {
padding: 2rem !important;
}
.p-6 {
padding: 2.5rem !important;
}
.p-7 {
padding: 3rem !important;
}
.pb-5, .py-5 {
padding-bottom: 2rem !important;
}

.pb-6, .py-6 {
padding-bottom: 2.5rem !important;
}

.pb-7, .py-7 {
padding-bottom: 3rem !important;
}

.pt-5, .py-5 {
padding-bottom: 2rem !important;
}

.pt-6, .py-6 {
padding-bottom: 2.5rem !important;
}

.pt-7, .py-7 {
padding-bottom: 3rem !important;
}*/

.section-custom {
  padding-top: 0;
  padding-bottom: 0;
}

.article-item__perex {
  display: -webkit-box;
  -webkit-line-clamp: 3; /* Určuje počet řádků */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis; /* Přidá tři tečky na konec */
}

.article-item__details, .comment__details {
  order: 1;
  /* padding: 0 1.25rem; */
  margin-top: 1rem;
  color: black;
}

/* ASOME upravy
======================*/

.breadcrumb {
  display: none;
}

#eshop .breadcrumb, .category-detail .breadcrumb, .product-detail .breadcrumb {
  display: flex;
} 

.container.container--eshop {
  padding-top: clamp(2rem, 3vw, 3rem) !important;
}

.product-detail section {
  padding-top: clamp(2rem, 3vw, 3rem) !important;
  padding-bottom: clamp(2rem, 3vw, 3rem) !important;
}

.eshop-header {
  padding-bottom: 1.5rem;
} 

@media (min-width: 992px) {
  .container--eshop, .container--product {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}

h2 > span {
  color: black !important;
}

h1 > span {
  color: black !important;
}

.user-form__checkbox-label {
  font-size: 14px;
}

.product-item__img, .category__img {
  object-fit: contain;
}

.article-item__img-wrapper, .product-item__img-wrapper, .category__img-wrapper {
  background-color: transparent;
}

/* ----- kategorie -----*/
.category__title {
  font-size: 1rem;
}

#index .categories.categories--root .category-wrapper {
  width: 50%;
}

@media (min-width: 1400px) {
  #index .categories.categories--root .category-wrapper {
    width: 16.66666666666667%;
  }
}

/* ----- karta produktu -----*/
#index .product-item__cart-cart {
  display: none !important;
}

#index .product-item__cart-button {
  display: none !important;
}

.product-item__title {
  font-weight: 600;
  flex-grow: 0;
  font-size: 1rem;
  line-height: 1.6;
}

.product-item__description {
  font-size: 14px;
  margin-bottom: 1.5rem;
}

.product-item__stock .label {
  font-size: 14px;
}

.product-item__cart-button {
  padding: 6px 12px;
  color: white;
  background-color: var(--bs-body-color);
  border-color: var(--bs-body-color);
  font-size: 14px;
}

.product-item {
  background-color: var(--in-item-bg-color);
  background-image: var(--in-item-bg-img);
  border-radius: var(--in-item-border-radius);
  border: var(--in-item-border);
  box-shadow: var(--in-item-box-shadow);
  padding: var(--in-item-padding);
}

.product-item__price-current, .product-page__price-value {
  color: var(--bs-body-color);
}

.cart-modal__info-col h2 {
  font-size: 1.5rem;
}

.product-item__label, .product-page__label {
  border-radius: 50rem;
  padding: 4px 14px;
  font-weight: 500;
}

.product-item__label--favourite, .product-page__label--favourite {
  color: #fff;
  background-color: var(--bs-primary);
}

.product-item__label--variants {
  color: black;
  background-color: white;
}

.product-item__stock, .product-page__stock {
  position: relative;
  font-weight: 600;
  margin-bottom: 1rem;
}

@media (min-width: 1200px) {
  .container--eshop .category-wrapper {
    width: 25%;
  }
}

.eshop-header .search-form-wrapper.search-form-p {
  display: none;
}


.section-container.section-bg-gradient:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, rgba(246,247,251,0.97) 0%, rgba(246,247,251,0.9) 35%, rgba(246,247,251,0.55) 70%, rgba(246,247,251,0) 100%);
  -webkit-transition: background 0.5s ease;
  -o-transition: background 0.5s ease;
  transition: background 0.5s ease;
}

.text-gradient {
  background: linear-gradient(135deg, #6d28d9 0%, #22d3ee 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}

.section-contact .social-icons>.section-cell-item a img {
  -webkit-filter: saturate(0%) brightness(0%) invert(100%) opacity(1);
  filter: saturate(0%) brightness(0%) invert(100%) opacity(1);
  filter: url(data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg"> <filter id="recolor" color-interpolation-filters="sRGB"> <feColorMatrix type="matrix" values=" 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 "/> </filter> </svg> #recolor);
  -webkit-transition: .15s;
  transition: .15s;
}

#order .container--cart, #profile .container--cart, #finish .container--cart  {
  padding-bottom: 4rem;
}

/* bannery - homepage */
.linux-gaming-banner {
  min-height: 475px;
  background-position: 45%;
}

@media (min-width: 768px) {
  .linux-gaming-banner {
    min-height: 400px;
    /*background-position: left top;*/
    background-position: 65%;
  }
}

.product-detail .gallery__item-img {
  object-fit: contain;
  background: white;
}

/* H1 - hidden */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}


/* --- Gift-badge --- */
.asome-gift-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:#fff8ec;
  border:1px solid #f0d9a6;
  color:#8a6417;
  font-size:12.5px;
  font-weight:700;
  padding:5px 12px 5px 12px;
  border-radius:999px;
  /*white-space:nowrap;*/
}
.asome-gift-badge svg{width:15px;height:15px;flex:0 0 auto;}

.asome-gift-box{
  display:flex;
  align-items:flex-start;
  gap:20px;
  background:#fff8ec;
  border:1px solid #f0d9a6;
  border-radius:14px;
  padding:20px 24px;
  margin:32px 0;
  box-shadow:0 2px 10px rgba(0,0,0,0.04);
}
.asome-gift-box__icon{
  flex:0 0 auto;
  width:48px;
  height:48px;
  color:#b8862b;
}
.asome-gift-box__icon svg{width:100%;height:100%;display:block;}
.asome-gift-box__content{flex:1 1 auto;}
.asome-gift-box__eyebrow{
  display:inline-block;
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#926a22;
  margin-bottom:6px;
}
.asome-gift-box__title{
  margin:0 0 8px;
  font-size:18px;
  line-height:1.3;
  color:#1a1a1a;
}
.asome-gift-box__text{
  margin:0 0 12px;
  font-size:14px;
  line-height:1.55;
  color:#4a4a4a;
}
.asome-gift-box__link{
  font-size:14px;
  font-weight:600;
  color:#b8862b;
  text-decoration:none;
}
.asome-gift-box__link:hover{text-decoration:underline;}
@media (max-width:520px){
  .asome-gift-box{flex-direction:column;padding:20px;}
  .asome-gift-box__icon{width:40px;height:40px;}
}

/* =========================================================
GIFT BADGE + GIFT CARD – společný základ
========================================================= */
.gift-badge,
.gift-card {
  --gb-bg: #fffaf0;
  --gb-gold-light: #f6e0ab;
  --gb-gold: #c9963f;
  --gb-gold-dark: #8a5a1c;
  --gb-label-from: #a8742a;
  --gb-label-to: #6b4411;
  --gb-title: #2b2016;
  --gb-text: #5e4d3b;
  /*--gb-shadow: rgba(138, 90, 28, .35);*/
  /* --gb-inset: rgba(255, 255, 255, .85);*/
  --gb-shine: rgba(255, 255, 255, .7);
  /*--gb-logo-shadow: 0 1px 1px rgba(60, 35, 5, .2);*/

  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid transparent;
  background:
    linear-gradient(var(--gb-bg), var(--gb-bg)) padding-box,
    linear-gradient(135deg,
      var(--gb-gold-light) 0%,
      var(--gb-gold) 35%,
      var(--gb-gold-dark) 55%,
      var(--gb-gold-light) 80%,
      var(--gb-gold) 100%) border-box;
  box-shadow:
    inset 0 1px 0 var(--gb-inset),
    0 8px 20px -10px var(--gb-shadow),
    0 2px 4px -2px var(--gb-shadow);
  text-decoration: none;
}

/* Tmavá varianta – mění jen proměnné */
.gift-badge--dark,
.gift-card--dark {
  --gb-bg: #1d1712;
  --gb-label-from: #f8e3b0;
  --gb-label-to: #c9963f;
  --gb-title: #f8ecd4;
  --gb-text: #c9b89a;
  /* --gb-shadow: rgba(0, 0, 0, .6);*/
  /* --gb-inset: rgba(246, 224, 171, .15);*/
  --gb-shine: rgba(246, 224, 171, .18);
  /*--gb-logo-shadow: 0 1px 2px rgba(0, 0, 0, .6);*/
}

/* Zlaté kolečko s ikonou */
.gift-badge__icon,
.gift-card__icon {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: var(--gb-icon);
  height: var(--gb-icon);
  border-radius: 50%;
  color: #fffaf0;
  background: linear-gradient(180deg, #ebb15d, #6b4411);
}

.gift-badge__icon svg,
.gift-card__icon svg {
  width: 52%;
  height: 52%;
}

/* Text „Dárek zdarma“ se zlatým přelivem */
.gift-badge__label,
.gift-card__label {
  font-size: var(--gb-label-size);
  font-weight: 700;
  line-height: 1;
  letter-spacing: .09em;
  font-size: 0.875rem;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--gb-label-to);
  background: linear-gradient(180deg, var(--gb-label-from), var(--gb-label-to));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Logo hry */
.gift-badge__logo,
.gift-card__logo {
  display: block;
  flex-shrink: 0;
  height: var(--gb-logo);
  width: auto;
  object-fit: contain;
}

/* Světelný odlesk – vrstva */
.gift-badge::after,
.gift-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(110deg, transparent 35%, var(--gb-shine) 50%, transparent 65%);
  transform: translateX(-120%);
  pointer-events: none;
}

.gift-badge:focus-visible,
.gift-card:focus-visible {
  outline: 2px solid var(--gb-gold-dark);
  outline-offset: 3px;
}

/* =========================================================
MALÝ BADGE (logo pod textem)
========================================================= */
.gift-badge {
  --gb-icon: 1.75rem;
  --gb-logo: 4rem;
  --gb-label-size: 15px;

  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: .5rem;
  padding: .5rem 1rem .625rem;
  border-radius: 1rem;
  vertical-align: middle;
}

/* Odlesk běží automaticky, bez hoveru */
.gift-badge::after {
  animation: gift-shine 4s ease-in-out infinite;
}

@keyframes gift-shine {
  0%        { transform: translateX(-120%); }
  30%, 100% { transform: translateX(120%); }
}

.gift-badge__head {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.gift-badge__divider {
  align-self: stretch;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gb-gold) 50%, transparent);
}

.gift-badge__logo {
  max-width: 100%;
}

/* =========================================================
ŘÁDKOVÝ BADGE (vše v jednom řádku)
========================================================= */
.gift-badge--inline {
  --gb-icon: 2rem;
  --gb-logo: 3rem;

  flex-direction: row;
  gap: .75rem;
  padding: .3125rem 1.3125rem .3125rem 1.3125rem;
  border-radius: 50rem;
}

.gift-badge--inline .gift-badge__head {
  gap: .625rem;
}

.gift-badge--inline .gift-badge__divider {
  width: 1px;
  height: auto;
  margin: .25rem 0;
  background: linear-gradient(180deg, transparent, var(--gb-gold) 50%, transparent);
}

.gift-badge--inline .gift-badge__logo {
  max-width: 10rem;
}

/* =========================================================
VELKÁ KARTA
========================================================= */
.gift-card {
  --gb-icon: 3rem;
  --gb-logo: 5rem;
  --gb-label-size: 1rem;

  display: flex;
  align-items: center;
  gap: 1.75rem;
  padding: 1rem 2rem;
  border-radius: 1rem;
}

/* Karta jako odkaz: odlesk a nadzvednutí při najetí */
a.gift-card:hover {
  transform: translateY(-1px);
  box-shadow:
    inset 0 1px 0 var(--gb-inset),
    0 12px 24px -10px var(--gb-shadow),
    0 3px 6px -3px var(--gb-shadow);
}

a.gift-card:hover::after {
  transform: translateX(120%);
  transition: transform .9s ease;
}

.gift-card__body {
  flex: 1 1 auto;
  min-width: 0;
}

.gift-card__label {
  display: inline-block;
  margin-bottom: .625rem;
}

.gift-card__title {
  margin: 0 0 .5rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--gb-title);
}

.gift-card__text {
  max-width: 40rem;
  margin: 0;
  line-height: 1.6;
  color: var(--gb-text);
  font-size: 14px;
}

.gift-card__divider {
  flex-shrink: 0;
  align-self: stretch;
  width: 1px;
  background: linear-gradient(180deg, transparent, var(--gb-gold) 50%, transparent);
}

.gift-card__logo {
  max-width: 14rem;
}

/* Mobil: ikona + text nahoře, logo pod nimi */
@media (max-width: 767.98px) {
  .gift-card {
    --gb-icon: 2.75rem;
    --gb-logo: 5rem;

    flex-wrap: wrap;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.25rem;
  }

  .gift-card__body {
    flex-basis: calc(100% - 3.75rem);
  }

  .gift-card__title {
    font-size: 1.1875rem;
  }

  .gift-card__divider {
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gb-gold) 50%, transparent);
  }

  .gift-card__logo {
    max-width: 100%;
    margin: 0 auto;
  }
}

/* Přístupnost: bez animací pro uživatele s omezeným pohybem */
@media (prefers-reduced-motion: reduce) {
  .gift-badge::after {
    animation: none;
  }
  .gift-card,
  .gift-card::after {
    transition: none !important;
  }
  a.gift-card:hover {
    transform: none;
  }
}

/* =========================================================
DÁREK: PRÉMIOVÁ KOVOVÁ KLÁVESA LINUX
Rozšíření bloků .gift-card a .gift-badge (styl 3).
Vložit na konec stylu 3, ZA stávající sekci „GIFT BADGE + GIFT CARD“.
========================================================= */

/* Více karet s dárky pod sebou */
.gift-card + .gift-card {
  margin-top: 1rem;
}

/* =========================================================
VELKÁ KARTA – fotka produktu místo loga
========================================================= */
.gift-card--product {
  --gb-logo: 7.25rem;
}

.gift-card__logo--product {
  max-width: 10rem;
  margin: -.5rem 0;
  filter: drop-shadow(0 12px 10px rgba(60, 35, 5, .2));
}

.gift-card--dark .gift-card__logo--product {
  filter: drop-shadow(0 12px 12px rgba(0, 0, 0, .55));
}

/* Krátké vlastnosti pod textem */
.gift-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: .375rem;
  margin: .75rem 0 0;
  padding: 0;
}

.gift-card__tag {
  display: inline-flex;
  align-items: center;
  gap: .375rem;
  padding: .3125rem .6875rem;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  color: var(--gb-label-to);
  background: rgba(201, 150, 63, .08);
  border: 1px solid rgba(201, 150, 63, .35);
  border-radius: 50rem;
}

.gift-card__tag svg {
  flex-shrink: 0;
  width: 15px;
  height: 10px;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .08);
}

@media (max-width: 767.98px) {
  .gift-card--product {
    --gb-logo: 6rem;
  }

  .gift-card__logo--product {
    margin: 0 auto;
  }
}

/* =========================================================
KARTA SE DVĚMA DÁRKY (.gift-card--pair) – stejná jako karta Heroes
Text vlevo, vpravo za oddělovačem obě loga spojená „+“.
Místo jednoho .gift-card__logo se vloží .gift-card__logos.
========================================================= */
.gift-card__logos {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 1rem;
}

.gift-card__logos .gift-card__logo {
  max-width: 10rem;
  margin: 0;
}

/* Stejné „+“ jako v malém badge, jen větší */
.gift-card__logos-plus {
  flex-shrink: 0;
  font-size: 1.75rem;
  font-weight: 300;
  line-height: 1;
  color: var(--gb-gold);
}

/* Užší desktop / tablet: menší loga, ať textu zůstane místo a karta nenaroste */
@media (max-width: 1199.98px) {
  .gift-card__logos {
    --gb-logo: 4.25rem;

    gap: .75rem;
  }
}

/* Tablet: loga pod text (jako na mobilu), jinak by textu zbyl úzký sloupec */
@media (min-width: 768px) and (max-width: 991.98px) {
  .gift-card--pair {
    flex-wrap: wrap;
    row-gap: 1rem;
  }

  .gift-card--pair .gift-card__body {
    flex-basis: calc(100% - var(--gb-icon) - 1.75rem);
  }

  .gift-card--pair .gift-card__divider {
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gb-gold) 50%, transparent);
  }

  .gift-card--pair .gift-card__logos {
    margin: 0 auto;
  }
}

/* Telefon: ikona nad textem, text přes celou šířku karty */
@media (max-width: 767.98px) {
  .gift-card--pair {
    row-gap: .875rem;
  }

  .gift-card--pair .gift-card__body {
    flex-basis: 100%;
  }

  .gift-card__logos {
    --gb-logo: 4.5rem;

    margin: 0 auto;
  }
}

/* =========================================================
BADGE SE DVĚMA DÁRKY (Heroes + klávesa)
Přidává se modifikátor .gift-badge--duo; loga dárků jsou
zabalená v .gift-badge__gifts.
========================================================= */
.gift-badge__gifts {
  display: flex;
  align-items: center;
  gap: .625rem;
}

.gift-badge__plus {
  flex-shrink: 0;
  font-size: 1.375rem;
  font-weight: 300;
  line-height: 1;
  color: var(--gb-gold);
}

/* Fotka klávesy */
.gift-badge__keycap {
  display: block;
  flex-shrink: 0;
  height: 2.875rem;
  width: auto;
  filter: drop-shadow(0 3px 3px rgba(60, 35, 5, .25));
}

.gift-badge--dark .gift-badge__keycap {
  filter: drop-shadow(0 3px 4px rgba(0, 0, 0, .6));
}

/* Když se badge do řádku nevejde, přeskládá se pod sebe (hlavička / čára / dárky).
Rozhoduje šířka rodiče, ne okna – řeší mobil i užší kontejnery.
Rodič musí být blokový <p> nebo <div>
(na webu je to <p class="py-3"> u produktu a <div> v carouselu). */
:is(p, div):has(> .gift-badge--duo) {
  container-type: inline-size;
}

@container (max-width: 24rem) {
  .gift-badge--inline.gift-badge--duo {
    flex-direction: column;
    gap: .5rem;
    padding: .625rem 1.125rem .75rem;
    border-radius: 1rem;
  }

  .gift-badge--inline.gift-badge--duo .gift-badge__divider {
    width: auto;
    height: 1px;
    margin: 0;
    background: linear-gradient(90deg, transparent, var(--gb-gold) 50%, transparent);
  }
}

/* Záloha pro starší prohlížeče bez container queries */
@media (max-width: 399.98px) {
  .gift-badge--inline.gift-badge--duo {
    flex-direction: column;
    gap: .5rem;
    padding: .625rem 1.125rem .75rem;
    border-radius: 1rem;
  }

  .gift-badge--inline.gift-badge--duo .gift-badge__divider {
    width: auto;
    height: 1px;
    margin: 0;
    background: linear-gradient(90deg, transparent, var(--gb-gold) 50%, transparent);
  }
}

/* ===== Moderní carousel ===== */
.modern-carousel {
  /* Rozměry */
  --carousel-height: clamp(320px, 65vh, 570px);
  --carousel-radius: 1.5rem;

  /* Společné boční odsazení – popisek i ovládání začínají na stejné linii */
  --side: clamp(1.25rem, 6%, 7rem);

  /* Ovládací lišta dole: šipky + indikátory */
  --ctrl-size: clamp(2.5rem, 4vw, 3rem);     /* průměr kulatých šipek */
  --ctrl-icon: calc(var(--ctrl-size) * .4);  /* velikost ikony v šipce */
  --ctrl-gap: .5rem;                         /* mezera mezi šipkami */
  --ctrl-bottom: clamp(1.25rem, 3vw, 2rem);  /* odsazení od spodního okraje */
  --dots-offset: 1.5rem;                     /* mezera mezi šipkami a indikátory */
  --dot-width: clamp(28px, 4.5vw, 60px);
  --dot-height: 5px;

  /* Délka plnění indikátoru – musí odpovídat data-bs-interval (6000 = 6s) */
  --slide-duration: 8000ms;

  /* Popisek */
  --caption-top: clamp(1.5rem, 12%, 5rem);

  position: relative;
  border-radius: var(--carousel-radius);
  overflow: hidden;
}

/* ---------- Slide + obrázek ---------- */
.modern-carousel .carousel-item {
  height: var(--carousel-height);
  overflow: hidden;
  background: #111;
}

.modern-carousel .carousel-item .carousel-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.2);
}

.modern-carousel .carousel-item.active .carousel-img {
  animation: kenburns 8s ease-out both;
}

@keyframes kenburns {
  from { transform: scale(1.2); }
  to   { transform: scale(1); }
}

/* Ztmavení spodní části kvůli čitelnosti textu a ovládání */
.modern-carousel .carousel-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top,
    rgba(0, 0, 0, .6) 0%,
    rgba(0, 0, 0, .1) 45%,
    transparent 70%);
  pointer-events: none;
}

/* ---------- Popisek ---------- */
.modern-carousel .carousel-caption {
  z-index: 2;
  top: var(--caption-top);
  left: var(--side);
  right: var(--side);
  /* končí nad ovládací lištou, takže do ní obsah nikdy nezajede */
  bottom: calc(var(--ctrl-bottom) + var(--ctrl-size) + 1rem);
  max-width: 600px;
  padding: 0;
  text-align: left;
}

.modern-carousel .carousel-caption h2 {
  font-size: clamp(1.75rem, 3vw, 2.75rem);
  font-weight: 500;
  margin-bottom: clamp(1rem, 2vw, 1.5rem);
}

.modern-carousel .carousel-caption p {
  font-size: clamp(1rem, 1.3vw, 1.2rem);
  font-weight: 300;
  margin-bottom: clamp(1.25rem, 2.5vw, 2rem);
  text-wrap: balance;
}

.modern-carousel .carousel-caption a {
  font-weight: 600;

}

/* Postupný nájezd obsahu popisku */
.modern-carousel .carousel-caption > * {
  opacity: 0;
}
.modern-carousel .carousel-item.active .carousel-caption > * {
  animation: captionIn .8s ease both;
}
.modern-carousel .carousel-item.active .carousel-caption > *:nth-child(2) { animation-delay: .15s; }
.modern-carousel .carousel-item.active .carousel-caption > *:nth-child(3) { animation-delay: .3s; }
.modern-carousel .carousel-item.active .carousel-caption > *:nth-child(4) { animation-delay: .45s; }

@keyframes captionIn {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ---------- Šipky – dole vlevo, zarovnané s popiskem ---------- */
.modern-carousel .carousel-control-prev,
.modern-carousel .carousel-control-next {
  top: auto;
  right: auto;
  bottom: var(--ctrl-bottom);
  z-index: 3;
  width: var(--ctrl-size);
  height: var(--ctrl-size);
  margin: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .15);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  opacity: 1;
  transition: background .3s ease;
}

.modern-carousel .carousel-control-prev {
  left: var(--side);
}
.modern-carousel .carousel-control-next {
  left: calc(var(--side) + var(--ctrl-size) + var(--ctrl-gap));
}

.modern-carousel .carousel-control-prev:hover,
.modern-carousel .carousel-control-next:hover,
.modern-carousel .carousel-control-prev:focus-visible,
.modern-carousel .carousel-control-next:focus-visible {
  background: rgba(255, 255, 255, .3);
  opacity: 1;
}

.modern-carousel .carousel-control-prev:focus-visible,
.modern-carousel .carousel-control-next:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.modern-carousel .carousel-control-prev-icon,
.modern-carousel .carousel-control-next-icon {
  width: var(--ctrl-icon);
  height: var(--ctrl-icon);
}

/* ---------- Indikátory – hned za šipkami, na stejné linii ---------- */
.modern-carousel .carousel-indicators {
  left: calc(var(--side) + 2 * var(--ctrl-size) + var(--ctrl-gap) + var(--dots-offset));
  right: auto;
  bottom: var(--ctrl-bottom);
  z-index: 3;
  height: var(--ctrl-size); /* stejná výška jako šipky → svislý střed sedí */
  margin: 0;
  align-items: center;
  justify-content: flex-start;
}

/* Indikátor = poloprůhledná dráha, do které se plní bílý průběh */
.modern-carousel .carousel-indicators [data-bs-target] {
  position: relative;
  overflow: hidden;
  width: var(--dot-width);
  height: var(--dot-height);
  margin: 0 4px;
  border: 0;
  border-radius: 999px;
  background-color: rgba(255, 255, 255, .35);
  opacity: 1;
  transition: background-color .3s ease;
}

.modern-carousel .carousel-indicators [data-bs-target]:hover {
  background-color: rgba(255, 255, 255, .55);
}

.modern-carousel .carousel-indicators [data-bs-target]::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 0;
  border-radius: inherit;
  background: #fff;
}

/* Aktivní indikátor se plní po dobu zobrazení slidu.
Bootstrap při přepnutí přesune .active na další indikátor,
takže se animace spustí znovu od nuly. */
.modern-carousel .carousel-indicators .active::after {
  animation: indicatorProgress var(--slide-duration) linear forwards;
}

@keyframes indicatorProgress {
  from { width: 0; }
  to   { width: 100%; }
}

.modern-carousel .carousel-indicators [data-bs-target]:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

/* ---------- Mobil – mění se jen hodnoty proměnných ---------- */
@media (max-width: 767.98px) {
  .modern-carousel {
    --carousel-height: 500px;
    --carousel-radius: 1rem;
    --caption-top: 2.5rem;
    --dots-offset: 1rem;
    --dot-height: 4px;
  }
}

/* ---------- Uživatelé s omezenými animacemi ---------- */
@media (prefers-reduced-motion: reduce) {
  .modern-carousel .carousel-item .carousel-img,
  .modern-carousel .carousel-item.active .carousel-img {
    transform: none;
    animation: none;
  }
  .modern-carousel .carousel-caption > *,
  .modern-carousel .carousel-item.active .carousel-caption > * {
    opacity: 1;
    animation: none;
  }
  /* Bez animace je aktivní indikátor rovnou plný */
  .modern-carousel .carousel-indicators .active::after {
    width: 100%;
    animation: none;
  }
}


.marketplace-link {
  transition: transform .2s ease, box-shadow .2s ease;
}

.marketplace-link:hover {
  transform: translateY(-3px);
  box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .12) !important;
}

/* --- -------- breadcrumb ------------ -----*/
.breadcrumb {
  display: none;
}

[class*="rubric-"] .breadcrumb, #eshop .breadcrumb, .category-detail .breadcrumb, .product-detail .breadcrumb, .gallery-detail .breadcrumb, .folder-detail .breadcrumb {
  display: flex;
}
/* Celoplošný bílý pruh se stínem */
/*nav.breadcrumb {
width: 100%;
}*/
/* Vycentrování a mřížka uvnitř bílého pruhu */
nav.breadcrumb .breadcrumb__list {
  /* Chování BOOTSTRAP CONTAINERU */
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  @media (min-width: 1400px) { 
    max-width: 1320px; 
  }
}
/* Položky jako col-auto */
nav.breadcrumb .breadcrumb__item {
  flex: 0 0 auto;
  width: auto;
  /* Odstraněno záporné odsazení, aby text lícoval přesně s mřížkou webu */
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}