/* Kosmika — faza 1: hitri popravki izgleda (OCMOD kosmika_category_tools) */
:root {
  --kos-purple: #91298C;
  --kos-purple-dark: #592557;
  --kos-text: #333333;
  --kos-muted: #777777;
}

/* 1) Logo: menija ga ne sme več stisniti na 0 px */
header .navbar-header {
  flex: 0 0 auto !important;
  min-width: 150px;
}
header .navbar-brand {
  display: flex;
  align-items: center;
  padding-right: 12px;
}
header .navbar-brand img {
  width: 150px !important;
  max-width: none !important;
  height: auto !important;
}
/* manj prostora: meni malo tesnejši, da gre logotip v isto vrstico (tema strne meni pod 1025 px) */
@media (min-width: 1025px) and (max-width: 1399px) {
  header .navbar-header { min-width: 124px; }
  header .navbar-brand img { width: 120px !important; }
  header #navbar-collapse-header .navbar-nav > li > a {
    padding-left: 6px !important;
    padding-right: 6px !important;
    font-size: 13px !important;
  }
}
@media (min-width: 1025px) and (max-width: 1279px) {
  header .navbar-header { min-width: 104px !important; }
  header .navbar-brand { padding-right: 6px !important; }
  header .navbar-brand img { width: 100px !important; }
  header #navbar-collapse-header .navbar-nav > li > a {
    padding-left: 5px !important;
    padding-right: 5px !important;
    font-size: 12.5px !important;
  }
  header #navbar-collapse-header .navbar-nav > li:first-child > a {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}
@media (min-width: 1025px) and (max-width: 1099px) {
  header .navbar-header { min-width: 94px !important; }
  header .navbar-brand img { width: 90px !important; }
  header #navbar-collapse-header .navbar-nav > li > a {
    padding-left: 4px !important;
    padding-right: 4px !important;
    font-size: 12px !important;
  }
  header #navbar-collapse-header .navbar-nav > li:first-child > a {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}

/* 2) Stran izdelka: polna širina namesto 632 px */
#product-product.container {
  max-width: 1170px;
}
#product-product .product-section,
#product-product .product-details-tabs,
#product-product .related-products,
#product-product .product-detail-box,
#product-product .product-details-tabs > .row {
  max-width: 100% !important;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  #product-product .product-detail-box {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
  }
  /* glavna slika levo, podatki desno, sličice vodoravno pod sliko */
  #product-product .product-detail-box > div:has(#main-product-image) {
    order: 1;
    width: 50%;
    flex: 0 0 50%;
  }
  #product-product .product-detail-box > div:has(#form-product) {
    order: 2;
    width: 50%;
    flex: 0 0 50%;
    padding-left: 32px;
  }
  #product-product .product-detail-box > div:has(.product-thumbnails) {
    order: 3;
    display: block !important;
    width: 50%;
    flex: 0 0 50%;
    margin-top: 12px;
  }
  #product-product .product-thumbnails {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
    width: auto !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  #product-product .product-thumbnails > .d-flex,
  #product-product .product-thumbnails > div {
    flex-direction: row !important;
    flex-wrap: wrap;
    gap: 8px;
    align-items: flex-start !important;
  }
  #product-product .product-thumbnails img {
    width: 64px !important;
    height: 64px !important;
    margin: 0 !important;
    object-fit: cover;
    border-radius: 6px;
    cursor: pointer;
  }
  #product-product #main-product-image {
    max-width: 500px;
    height: auto !important;
    display: block;
    margin: 0 auto;
  }
  /* opis čez celo širino, gumb "Opis" nad njim */
  #product-product .product-details-tabs > .row > .col-md-3,
  #product-product .product-details-tabs > .row > .col-md-9 {
    width: 100% !important;
    flex: 0 0 100%;
    max-width: 100%;
  }
  #product-product .product-details-tabs #v-pills-tab {
    flex-direction: row !important;
    margin-bottom: 8px;
    border: 0;
  }
}
#product-product .product-details-tabs {
  margin-top: 8px;
}
/* gumb "Opis" kot naslov razdelka, ne kot črn trak */
#product-product #v-pills-tab > li { width: auto !important; float: none; }
#product-product #v-pills-tab > li > a {
  background: none !important;
  color: var(--kos-purple-dark) !important;
  font-size: 22px;
  font-weight: 700;
  padding: 0 0 6px !important;
  border: 0 !important;
  border-bottom: 3px solid var(--kos-purple) !important;
  border-radius: 0 !important;
}

/* glavna slika: čez širino stolpca (tudi na telefonu) */
#product-product #main-product-image {
  width: 100% !important;
  max-width: 500px;
  height: auto !important;
  display: block;
  margin: 0 auto;
}

/* 3) Opis izdelka: ignoriraj ročne pisave, velikosti in barve iz urejevalnika / Worda */
#product-product #v-pills-tabContent {
  font-size: 16px;
  line-height: 1.65;
  color: var(--kos-text);
  max-width: 820px;
}
#product-product #v-pills-tabContent *:not(h1):not(h2):not(h3):not(h4):not(h5):not(.badge):not(a):not(p.mt-3) {
  font-family: inherit !important;
  font-size: inherit !important;
  color: inherit !important;
  line-height: inherit !important;
  background-color: transparent !important;
}
#product-product #v-pills-tabContent a:not(.badge) { color: var(--kos-purple) !important; font-size: inherit !important; font-family: inherit !important; }
#product-product #v-pills-tabContent h1,
#product-product #v-pills-tabContent h2 { font-size: 22px !important; line-height: 1.3 !important; color: var(--kos-purple-dark) !important; font-family: inherit !important; margin: 24px 0 10px; }
#product-product #v-pills-tabContent h3,
#product-product #v-pills-tabContent h4,
#product-product #v-pills-tabContent h5 { font-size: 18px !important; line-height: 1.35 !important; color: var(--kos-purple-dark) !important; font-family: inherit !important; margin: 20px 0 8px; }
#product-product #v-pills-tabContent p { margin: 0 0 12px; }
#product-product #v-pills-tabContent ul,
#product-product #v-pills-tabContent ol { margin: 0 0 14px; padding-left: 22px; }
#product-product #v-pills-tabContent li { margin-bottom: 4px; }
#product-product #v-pills-tabContent img { max-width: 100%; height: auto; }
#product-product #v-pills-tabContent .kos-empty { display: none !important; }

/* 4) Količina: gumba + in − dovolj velika za prst */
#product-product .quantity-selector .btn {
  min-width: 44px;
  height: 44px;
  font-size: 18px;
  line-height: 1;
}

/* 5) Kategorija s filtrom levo: 3 izdelki v vrsti namesto 4 */
@media (min-width: 992px) {
  #column-left ~ #content .product-layout.product-grid {
    width: 33.3333% !important;
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
}

/* 6) Glava, ko je meni strnjen (tema: do 1024 px): logotip levo, košarica in meni desno, vse v isti višini */
@media (max-width: 991px) {
  header .navbar-header {
    display: flex !important;
    align-items: center;
    min-height: 72px;
    float: none !important;
    margin: 0 !important;
    width: 100%;
  }
  header .navbar-header::before,
  header .navbar-header::after { display: none !important; }
  header .navbar-header .navbar-brand {
    order: 0;
    margin: 0 auto 0 0 !important;
    float: none !important;
    height: auto !important;
    padding: 10px 0 !important;
  }
  header .navbar-header .navbar-brand img { width: 140px !important; }
  header .navbar-header #cart-toggle-mobile {
    order: 1;
    float: none !important;
    margin: 0 10px 0 0 !important;
    width: 44px;
    height: 44px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    position: relative !important;
  }
  header .navbar-header .navbar-toggle {
    order: 2;
    float: none !important;
    margin: 0 !important;
    width: 44px;
    height: 44px;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    position: static !important;
  }
  header .navbar-header .navbar-toggle .icon-bar { margin: 0 !important; width: 20px; }
}

/* 7) Prijava, registracija in ostale strani računa: barve, gumbi in polja trgovine namesto osnovnega OpenCarta */
.container[id^="account-"] h1,
.container[id^="account-"] h2,
#error-not-found #content > h1 {
  font-family: inherit;
  color: var(--kos-purple-dark);
  text-transform: none !important;
  letter-spacing: 0;
}
.container[id^="account-"] h1 { font-size: 32px; font-weight: 700; margin: 0 0 16px; }
.container[id^="account-"] h2 { font-size: 24px; font-weight: 700; margin: 0 0 12px; }
.container[id^="account-"] .well {
  background: #fff;
  border: 1px solid #6E266E;
  border-radius: 15px;
  box-shadow: none;
  padding: 28px;
}
/* login: "Novi uporabnik" v roza okvirju, obe kartici enako visoki */
#account-login #content > .row { display: flex; flex-wrap: wrap; }
#account-login #content > .row > [class*="col-"] { float: none; }
#account-login #content > .row > [class*="col-"]:first-child .well { background: #FEF0FF; }
#account-login .well p { line-height: 1.6; }
.container[id^="account-"] label,
.container[id^="account-"] .control-label { color: var(--kos-purple-dark); font-weight: 700; }
.container[id^="account-"] .form-control {
  height: 44px;
  padding: 0 18px;
  border: 1px solid #dcc3da;
  border-radius: 30px;
  box-shadow: none;
  font-size: 15px;
  font-family: inherit;
  color: #333;
  background-color: #fff;
}
.container[id^="account-"] textarea.form-control { height: auto; padding: 12px 18px; border-radius: 15px; }
.container[id^="account-"] select.form-control { padding-right: 36px; }
.container[id^="account-"] .form-control:focus {
  border-color: var(--kos-purple);
  box-shadow: 0 0 0 3px #f6e3f5;
  outline: 0;
}
.container[id^="account-"] input[type="radio"],
.container[id^="account-"] input[type="checkbox"] { accent-color: var(--kos-purple); width: 18px; height: 18px; vertical-align: -3px; margin-right: 4px; }
.container[id^="account-"] .required .control-label:after,
.container[id^="account-"] .form-group.required > label:after { content: " *"; color: var(--kos-purple); }
.container[id^="account-"] .required .control-label:before { content: none !important; }
.container[id^="account-"] legend {
  font-size: 20px;
  font-weight: 700;
  color: var(--kos-purple-dark);
  border-bottom: 1px solid #f0dcef;
  padding-bottom: 8px;
  margin: 28px 0 18px;
}
.container[id^="account-"] fieldset:first-of-type legend { margin-top: 8px; }
.container[id^="account-"] .text-danger { color: #c0392b; font-size: 13px; padding-left: 18px; }
.container[id^="account-"] .alert { border-radius: 12px; }

/* gumbi: glavni vijoličen, drugotni z obrobo (kot drugje v trgovini) */
.container[id^="account-"] .btn,
#error-not-found .btn {
  border-radius: 30px !important;
  padding: 11px 28px;
  font-size: 15px;
  font-weight: 700;
  font-family: inherit;
  text-shadow: none;
  box-shadow: none;
  background-image: none;
  transition: background .15s, border-color .15s, color .15s;
}
.container[id^="account-"] .btn-primary,
#error-not-found .btn-primary {
  background: var(--kos-purple) !important;
  border: 1px solid var(--kos-purple) !important;
  color: #fff !important;
}
.container[id^="account-"] .btn-primary:hover,
.container[id^="account-"] .btn-primary:focus,
#error-not-found .btn-primary:hover,
#error-not-found .btn-primary:focus {
  background: var(--kos-purple-dark) !important;
  border-color: var(--kos-purple-dark) !important;
}
.container[id^="account-"] .btn-default {
  background: #fff !important;
  border: 1px solid #6E266E !important;
  color: var(--kos-purple-dark) !important;
}
.container[id^="account-"] .btn-default:hover { color: var(--kos-purple) !important; border-color: var(--kos-purple) !important; }
.container[id^="account-"] .buttons { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 24px; }
.container[id^="account-"] .buttons::before,
.container[id^="account-"] .buttons::after { display: none; }
.container[id^="account-"] .buttons .pull-right { float: none !important; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 12px; margin-left: auto; }
.container[id^="account-"] .buttons .pull-left { float: none !important; }

/* registracija: oznake nad polji, obrazec v kartici, ne raztegnjen čez ves zaslon */
#account-register #content > form,
#account-forgotten #content > form,
#account-edit #content > form,
#account-password #content > form,
#account-address #content > form {
  border: 1px solid #6E266E;
  border-radius: 15px;
  padding: 8px 28px 28px;
  max-width: 760px;
}
#account-register .form-horizontal .form-group { margin-left: 0; margin-right: 0; margin-bottom: 16px; }
#account-register .form-horizontal .control-label {
  width: 100%;
  float: none;
  padding: 0 0 6px 18px;
  text-align: left;
}
#account-register .form-horizontal .form-group > [class*="col-sm-"] { width: 100%; float: none; padding: 0; }
@media (min-width: 768px) {
  /* ime + priimek, e-mail + telefon, geslo + potrditev: dva stolpca */
  #account-register fieldset { display: flex; flex-wrap: wrap; column-gap: 20px; }
  #account-register fieldset > legend { flex: 0 0 100%; width: 100%; }
  #account-register fieldset > .form-group { flex: 1 1 calc(50% - 10px); min-width: 0; }
  #account-register fieldset > .form-group:has(.radio),
  #account-register fieldset > .form-group:has(textarea),
  #account-register fieldset > .form-group:has(.checkbox) { flex-basis: 100%; }
}
#account-register .radio,
#account-register .checkbox,
#account-register .radio-inline { padding-left: 18px; }
#account-register .radio-inline { padding-left: 0; margin: 0 18px 0 0; font-weight: 500; color: #333; }
#account-register .form-group > [class*="col-sm-"] > .radio-inline:first-child { margin-left: 18px; }
#account-register .radio-inline input,
#account-register .radio input,
#account-register .checkbox input { position: static; margin: 0 6px 0 0; }
#account-register .radio label,
#account-register .checkbox label { padding-left: 0; font-weight: 500; color: #333; }
#account-register #content > p { font-size: 15px; }

/* desni stolpec (Prijava, Registracija …): kartica v slogu trgovine */
.container[id^="account-"] #column-right .list-group {
  border: 1px solid #6E266E;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: none;
}
.container[id^="account-"] #column-right .list-group-item {
  border: 0;
  border-bottom: 1px solid #f0dcef;
  border-radius: 0 !important;
  margin: 0;
  padding: 12px 18px;
  color: #333;
  background: #fff;
  font-size: 14px;
}
.container[id^="account-"] #column-right .list-group-item:last-child { border-bottom: 0; }
.container[id^="account-"] #column-right .list-group-item:hover,
.container[id^="account-"] #column-right .list-group-item:focus { background: #FEF0FF; color: var(--kos-purple); }
.container[id^="account-"] #column-right .list-group-item.kos-current {
  background: #FEF0FF;
  color: var(--kos-purple);
  box-shadow: inset 4px 0 0 var(--kos-purple);
}
/* neprijavljen kupec: samo Prijava, Registracija in Pozabljeno geslo */
.container[id^="account-"] #column-right .list-group-item.kos-hide { display: none; }

@media (max-width: 767px) {
  #account-register #content > form,
  #account-forgotten #content > form,
  #account-edit #content > form,
  #account-password #content > form,
  #account-address #content > form,
  .container[id^="account-"] .well { padding: 6px 16px 20px; }
  .container[id^="account-"] .well { padding-top: 20px; }
  .container[id^="account-"] h1 { font-size: 26px; }
  .container[id^="account-"] .buttons .pull-right { justify-content: flex-start; margin-left: 0; }
}

/* kratke strani: noga ne sme "viseti" na sredini zaslona */
#error-not-found { min-height: 55vh; }
/* enak razmak do noge na vseh straneh računa (prijava, registracija …) */
.container[id^="account-"] { padding-bottom: 92px; }
.container[id^="account-"] #content > :last-child,
.container[id^="account-"] #content > form > :last-child { margin-bottom: 0 !important; }
#account-login #content > .row { row-gap: 20px; }
#account-login #content > .row > [class*="col-"] { margin-bottom: 0; }
.container[id^="account-"] .well { height: 100%; margin-bottom: 0; }

/* 8) Stran 404 (če naš blok iz kakršnegakoli razloga manjka, je vsaj osnovna stran v barvah trgovine) */
#error-not-found #content > h1 { font-size: 32px; font-weight: 700; margin: 10px 0 12px; }
#error-not-found #content > p { font-size: 16px; }
#error-not-found #content > .buttons .pull-right { float: none !important; }

/* 9) Košarica, ki se odpre z desne (ikona košarice v glavi) */
.cart-slider-overlay { background: rgba(22, 13, 51, .5) !important; }
.cart-slider {
  width: 400px !important;
  max-width: 100vw;
  height: 100vh !important;
  height: 100dvh !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 20px 0 0 20px !important;
  box-shadow: -10px 0 40px rgba(22, 13, 51, .25) !important;
  display: flex !important;
  flex-direction: column;
  overflow: hidden !important;
  font-family: inherit;
  color: #333;
  right: calc(-1 * min(400px, 100vw) - 50px) !important;
}
.cart-slider.show { right: 0 !important; }
.cart-slider .cart-header {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  flex: 0 0 auto;
  min-height: 72px;
  margin: 0 !important;
  padding: 12px 16px 12px 22px !important;
  background: #FEF0FF !important;
  border: 0 !important;
  border-bottom: 1px solid #f0dcef !important;
  border-radius: 0 !important;
}
.cart-slider .cart-header::before,
.cart-slider .cart-header::after { display: none !important; }
.cart-slider .cart-header .panel-title {
  float: none !important;
  margin: 0;
  font-size: 19px;
  font-weight: 700;
  color: var(--kos-purple-dark);
}
.cart-slider .close-cart {
  float: none !important;
  width: 44px;
  height: 44px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: var(--kos-purple) !important;
  color: #fff !important;
  font-size: 26px !important;
  line-height: 1 !important;
  opacity: 1;
  text-shadow: none;
  box-shadow: none !important;
}
.cart-slider .close-cart:hover { background: var(--kos-purple-dark) !important; }
.cart-slider .cart-content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 0 !important;
  overflow: hidden;
}
/* izdelki */
.cart-slider .cart-item {
  display: flex !important;
  align-items: flex-start;
  gap: 14px;
  margin: 0 !important;
  padding: 16px 22px !important;
  border-bottom: 1px solid #f0dcef;
}
.cart-slider .cart-item::before,
.cart-slider .cart-item::after { display: none !important; }
.cart-slider .cart-item > [class*="col-"] { float: none !important; width: auto !important; padding: 0 !important; }
.cart-slider .cart-item-image { flex: 0 0 72px; }
.cart-slider .cart-item-image img {
  width: 72px !important;
  height: 72px !important;
  object-fit: cover;
  border: 1px solid #6E266E;
  border-radius: 12px;
  background: #fff;
}
.cart-slider .cart-item-details { flex: 1 1 auto; min-width: 0; }
.cart-slider .cart-item-details h6 { margin: 0 0 4px; font-size: 15px; line-height: 1.3; }
.cart-slider .cart-item-details h6 a { color: #333 !important; }
.cart-slider .cart-item-details h6 a:hover { color: var(--kos-purple) !important; }
.cart-slider .cart-item-details p { margin: 0 0 2px; font-size: 13px; line-height: 1.45; color: #8a7a89; }
.cart-slider .cart-item-details p:first-of-type { font-size: 15px; font-weight: 700; color: var(--kos-purple); margin-bottom: 4px; }
.cart-slider .cart-item-details small { color: #8a7a89; }
.cart-slider .cart-item-remove { flex: 0 0 auto; }
.cart-slider .cart-item-remove .btn {
  width: 34px;
  height: 34px;
  padding: 0 !important;
  border: 1px solid #dcc3da !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: var(--kos-purple) !important;
  font-size: 14px !important;
  box-shadow: none !important;
}
.cart-slider .cart-item-remove .btn:hover { background: #FEF0FF !important; border-color: var(--kos-purple) !important; }
/* seznam izdelkov se pomika, vsota in gumba ostaneta spodaj */
.cart-slider .cart-content > .cart-item:first-child { margin-top: 0; }
.cart-slider .cart-content { overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
.cart-slider .cart-totals {
  margin: auto 22px 0 !important;
  padding: 14px 16px !important;
  border-radius: 15px;
  background: #FEF0FF;
}
.cart-slider .cart-totals .row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 0 !important;
  padding: 3px 0;
  font-size: 14px;
}
.cart-slider .cart-totals .row::before,
.cart-slider .cart-totals .row::after { display: none !important; }
.cart-slider .cart-totals .row > [class*="col-"] { float: none !important; width: auto !important; padding: 0 !important; }
.cart-slider .cart-totals .row > span { color: #6b5d6a; }
.cart-slider .cart-totals .row:last-child {
  margin-top: 6px !important;
  padding-top: 9px;
  border-top: 1px solid #ecd3ea;
  font-size: 17px;
}
.cart-slider .cart-totals .row:last-child > span { color: var(--kos-purple-dark); font-weight: 700; text-transform: none; }
.cart-slider .cart-totals .row:last-child > strong { color: var(--kos-purple); }
.cart-slider .cart-actions {
  position: sticky;
  bottom: 0;
  display: flex;
  flex-direction: column-reverse;
  gap: 10px;
  margin-top: 14px;
  padding: 0 22px calc(18px + env(safe-area-inset-bottom));
  background: #fff;
}
.cart-slider .cart-actions .btn {
  display: flex !important;
  align-items: center;
  justify-content: center;
  height: 50px;
  margin: 0 !important;
  border-radius: 30px !important;
  font-size: 16px;
  font-weight: 700;
  font-family: inherit;
  text-shadow: none;
  box-shadow: none !important;
  background-image: none !important;
}
.cart-slider .cart-actions .btn-primary {
  background: var(--kos-purple) !important;
  border: 1px solid var(--kos-purple) !important;
  color: #fff !important;
}
.cart-slider .cart-actions .btn-primary:hover { background: var(--kos-purple-dark) !important; border-color: var(--kos-purple-dark) !important; }
.cart-slider .cart-actions .btn-default {
  background: #fff !important;
  border: 1px solid #6E266E !important;
  color: var(--kos-purple-dark) !important;
}
.cart-slider .cart-actions .btn-default:hover { color: var(--kos-purple) !important; border-color: var(--kos-purple) !important; }
/* prazna košarica */
.cart-slider .cart-content > .text-center {
  margin: auto 0;
  padding: 40px 30px;
}
.cart-slider .cart-content > .text-center .fa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 84px;
  height: 84px;
  margin-bottom: 16px;
  border-radius: 50%;
  background: #FEF0FF;
  color: var(--kos-purple) !important;
  font-size: 34px !important;
}
.cart-slider .cart-content > .text-center p { font-size: 17px; font-weight: 700; color: var(--kos-purple-dark); margin: 0 0 18px; }
.cart-slider .kos-cart-continue {
  display: inline-flex;
  align-items: center;
  height: 46px;
  padding: 0 24px;
  border: 1px solid var(--kos-purple);
  border-radius: 30px;
  background: var(--kos-purple);
  color: #fff !important;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none !important;
  cursor: pointer;
}
.cart-slider .kos-cart-continue:hover { background: var(--kos-purple-dark); border-color: var(--kos-purple-dark); }
@media (max-width: 480px) {
  .cart-slider { width: 100vw !important; border-radius: 0 !important; }
  .cart-slider .cart-item { padding: 14px 16px !important; }
  .cart-slider .cart-totals { margin: auto 16px 0 !important; }
  .cart-slider .cart-actions { padding: 0 16px calc(16px + env(safe-area-inset-bottom)); }
}

/* 10) Opis izdelka: kratek uvod + razdelki, ki se odprejo */
#product-product #v-pills-tabContent .kos-not-heading,
#product-product #v-pills-tabContent .kos-not-heading * {
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  color: #333 !important;
  font-family: inherit !important;
  margin-top: 0;
}
#product-product #v-pills-tabContent .kos-not-heading { margin: 0 0 12px !important; }
#product-product #v-pills-tabContent .kos-not-heading b,
#product-product #v-pills-tabContent .kos-not-heading strong { font-weight: 700 !important; }
#product-product .kos-desc__intro { position: relative; }
#product-product .kos-clamp { overflow: hidden; transition: max-height .3s ease; }
#product-product .kos-clamp:not(.is-open)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 96px;
  background: linear-gradient(rgba(255, 255, 255, 0), #fff);
  pointer-events: none;
}
#product-product #v-pills-tabContent .kos-more {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  height: 42px;
  margin: 10px 0 6px;
  padding: 0 20px;
  border: 1px solid #6E266E;
  border-radius: 30px;
  background: #fff !important;
  color: var(--kos-purple) !important;
  font-size: 15px !important;
  font-weight: 700;
  font-family: inherit !important;
  line-height: 1 !important;
  cursor: pointer;
}
#product-product #v-pills-tabContent .kos-more * { color: inherit !important; font-size: inherit !important; }
#product-product #v-pills-tabContent .kos-more:hover { background: #FEF0FF !important; }
#product-product #v-pills-tabContent .kos-more svg { transition: transform .2s; }
#product-product #v-pills-tabContent .kos-more[aria-expanded="true"] svg { transform: rotate(180deg); }
#product-product .kos-accs { margin-top: 18px; border-top: 1px solid #f0dcef; }
#product-product .kos-acc { border-bottom: 1px solid #f0dcef; }
#product-product .kos-acc > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 58px;
  padding: 10px 0;
  list-style: none;
  cursor: pointer;
}
#product-product .kos-acc > summary::-webkit-details-marker { display: none; }
#product-product .kos-acc > summary::marker { content: ""; }
#product-product #v-pills-tabContent .kos-acc__h,
#product-product #v-pills-tabContent .kos-acc__h * {
  margin: 0 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: var(--kos-purple-dark) !important;
  font-style: normal !important;
  text-align: left !important;
}
#product-product #v-pills-tabContent .kos-acc__h br { display: none; }
#product-product .kos-acc > summary:hover .kos-acc__h,
#product-product .kos-acc > summary:hover .kos-acc__h * { color: var(--kos-purple) !important; }
#product-product .kos-acc__ico {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #FEF0FF;
  color: var(--kos-purple);
  transition: transform .2s, background .2s;
}
#product-product #v-pills-tabContent .kos-acc__ico { background-color: #FEF0FF !important; color: var(--kos-purple) !important; }
#product-product #v-pills-tabContent .kos-acc[open] .kos-acc__ico { transform: rotate(180deg); background-color: var(--kos-purple) !important; color: #fff !important; }
#product-product .kos-acc__body { padding: 0 0 18px; }
#product-product .kos-acc__body > :last-child { margin-bottom: 0; }
@media (max-width: 767px) {
  #product-product #v-pills-tabContent .kos-acc__h,
  #product-product #v-pills-tabContent .kos-acc__h * { font-size: 17px !important; }
  #product-product .kos-acc > summary { min-height: 54px; }
}

/* 11) Zasloni: tablice, prepogljivi telefoni, Nest Hub, Surface … */
/* stran izdelka: gumba + in − imata v temi vgrajeno 35 px */
#product-product .quantity-selector .btn {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px;
  border-radius: 50% !important;
  border: 1px solid #dcc3da !important;
  background: #fff !important;
  color: var(--kos-purple-dark) !important;
  font-size: 20px !important;
}
#product-product .quantity-selector .btn:hover { border-color: var(--kos-purple) !important; color: var(--kos-purple) !important; }
#product-product .quantity-selector input { height: 44px; min-width: 44px; text-align: center; font-weight: 700; font-size: 16px; }
/* izbira možnosti (Dodatki, Izberite kristal): polja kot drugje v trgovini */
#product-product #form-product select.form-control,
#product-product #form-product input.form-control[type="text"],
#product-product #form-product textarea.form-control {
  height: 46px;
  padding: 0 40px 0 18px;
  border: 1px solid #dcc3da;
  border-radius: 30px;
  box-shadow: none;
  font-size: 15px;
  font-family: inherit;
  color: #333;
  background-color: #fff;
}
#product-product #form-product select.form-control {
  -webkit-appearance: none;
  appearance: none;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%2391298C' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat right 16px center;
  cursor: pointer;
}
#product-product #form-product textarea.form-control { height: auto; padding: 12px 18px; border-radius: 15px; }
#product-product #form-product .form-control:focus { border-color: var(--kos-purple); box-shadow: 0 0 0 3px #f6e3f5; outline: 0; }
#product-product #form-product .control-label,
#product-product #form-product label { color: var(--kos-purple-dark); font-weight: 700; }
#product-product #button-cart { height: 48px; border-radius: 30px !important; }
@media (max-width: 767px) {
  #product-product #form-product .d-flex.align-items-center { flex-wrap: wrap; gap: 12px; }
  #product-product #form-product .quantity-selector { margin-right: 0 !important; }
  #product-product #button-cart { flex: 1 1 160px; }
}

/* iskanje (Išči): obrazec v kartici, polja in gumb kot drugje */
#product-search #content > .row:first-of-type,
#product-search #content > label.control-label + .row { margin-bottom: 10px; }
#product-search #content > label.control-label { display: block; margin: 6px 0 8px; color: var(--kos-purple-dark); font-weight: 700; }
#product-search #content > .row > [class*="col-"] { margin-bottom: 10px; }
#product-search #input-search,
#product-search #content > .row select.form-control {
  height: 46px;
  padding: 0 18px;
  border: 1px solid #dcc3da;
  border-radius: 30px;
  box-shadow: none;
  font-size: 15px;
  font-family: inherit;
}
#product-search #content > .row select.form-control {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 40px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%2391298C' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat right 16px center;
}
#product-search #input-search:focus,
#product-search #content > .row select.form-control:focus { border-color: var(--kos-purple); box-shadow: 0 0 0 3px #f6e3f5; outline: 0; }
#product-search #content .checkbox-inline { padding-left: 0; margin: 12px 0 0; font-weight: 500; color: #333; }
#product-search #content .checkbox-inline input { position: static; margin: 0 6px 0 0; accent-color: var(--kos-purple); width: 18px; height: 18px; vertical-align: -3px; }
#product-search #button-search {
  height: 46px;
  min-width: 160px;
  margin: 4px 0 28px;
  padding: 0 28px;
  border: 1px solid var(--kos-purple) !important;
  border-radius: 30px !important;
  background: var(--kos-purple) !important;
  color: #fff !important;
  font-size: 15px;
  font-weight: 700;
  box-shadow: none;
}
#product-search #button-search:hover { background: var(--kos-purple-dark) !important; border-color: var(--kos-purple-dark) !important; }
#product-search #content h2 { font-size: 24px; font-weight: 700; color: var(--kos-purple-dark); }
@media (max-width: 767px) {
  #product-search #content h1 { font-size: 28px; }
  #product-search #content h2 { font-size: 20px; }
  #product-search #content > .row > [class*="col-"] { width: 100%; }
  #product-search #button-search { width: 100%; }
}

/* tablice (768–991 px, npr. iPad Mini, iPad Air, Surface Pro pokončno): 3 izdelki v vrsti, ko filtra ni levo */
@media (min-width: 600px) and (max-width: 991px) {
  #content.kfl-full .product-layout.product-grid { width: 33.3333% !important; }
}
/* zelo ozki zasloni (Galaxy Fold 344 px): manjši razmiki, nič ne gre čez rob */
@media (max-width: 360px) {
  .container { padding-left: 12px; padding-right: 12px; }
  header .navbar-header .navbar-brand img { width: 120px !important; }
  header .navbar-header #cart-toggle-mobile { margin-right: 8px !important; }
  #product-product #form-product .d-flex.align-items-center { gap: 10px; }
}
@media (max-width: 767px) {
  #product-search #content > .row:not(:has(.product-layout)) > [class*="col-"] { padding-left: 0; padding-right: 0; }
  #product-search #content > .row:not(:has(.product-layout)) { margin-left: 0; margin-right: 0; }
}

/* 12) Enak razmak med vsebino in nogo na vseh straneh */
footer.footer-section { margin-top: 92px !important; }
.container[id^="account-"] { padding-bottom: 0 !important; }
#container > .container > .row > #content > :last-child,
#container > .container > .row > #content > form > :last-child,
#container > .container > .row > #content > :last-child > :last-child { margin-bottom: 0 !important; }
#container > .container > .row > #content { padding-bottom: 0; }
#container > .container,
#container > .container > .row { margin-bottom: 0 !important; padding-bottom: 0 !important; }

/* 13) Informacijske strani (Impressum, Dostava, Splošni pogoji, Piškotki …): pisava in barve trgovine
   namesto pisav, prenesenih iz Worda */
#information-information #content { max-width: 880px; font-size: 16px; line-height: 1.7; color: #333; }
#information-information #content > h1,
#information-contact #content > h1,
#information-sitemap #content > h1,
#product-manufacturer #content > h1,
#product-special #content > h1,
#account-return #content > h1 { font-size: 36px; font-weight: 700; line-height: 1.2; color: var(--kos-purple-dark); margin: 0 0 22px; }
#information-information #content *:not(h1):not(h2):not(h3):not(h4):not(a):not(.kos-subhead):not(.kos-subhead *) {
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
  background-color: transparent !important;
  text-indent: 0 !important;
  text-align: left !important;
}
#information-information #content p { margin: 0 0 14px; }
#information-information #content p.kos-empty { display: none; }
#information-information #content strong,
#information-information #content b { color: var(--kos-purple-dark) !important; font-weight: 700; }
#information-information #content a { color: var(--kos-purple) !important; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
#information-information #content h2,
#information-information #content h3,
#information-information #content h4,
#information-information #content .kos-subhead,
#information-information #content .kos-subhead * {
  font-family: inherit !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: var(--kos-purple-dark) !important;
}
#information-information #content h2,
#information-information #content h3,
#information-information #content h4,
#information-information #content .kos-subhead { margin: 30px 0 10px !important; }
#information-information #content > h1 + .kos-subhead,
#information-information #content > h1 + p .kos-subhead { margin-top: 0 !important; }
#information-information #content ul,
#information-information #content ol { margin: 0 0 16px; padding-left: 22px; }
#information-information #content li { margin-bottom: 6px; }
#information-information #content table { width: 100%; margin: 0 0 18px; border-collapse: collapse; }
#information-information #content td,
#information-information #content th { padding: 8px 12px; border: 1px solid #f0dcef; }
@media (max-width: 767px) {
  #information-information #content > h1,
  #information-contact #content > h1 { font-size: 28px; }
  #information-information #content .kos-subhead,
  #information-information #content .kos-subhead *,
  #information-information #content h2,
  #information-information #content h3 { font-size: 18px !important; }
}

/* 14) Kontakt */
#information-contact .kos-contact { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 28px; align-items: start; }
#information-contact .kos-contact > * { min-width: 0; }
#information-contact .kos-contact__lead { margin: -8px 0 26px; font-size: 16px; color: #555; max-width: 640px; }
#information-contact .kos-contact__cards { display: grid; gap: 14px; }
#information-contact .kos-ccard {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 22px;
  border: 1px solid #6E266E;
  border-radius: 15px;
  background: #fff;
}
#information-contact .kos-ccard--pink { background: #FEF0FF; }
#information-contact .kos-ccard__ico {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--kos-purple);
  color: #fff;
}
#information-contact .kos-ccard__t { display: block; margin: 0 0 4px; font-size: 13px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--kos-purple); }
#information-contact .kos-ccard__v { display: block; font-size: 17px; font-weight: 700; line-height: 1.4; color: var(--kos-purple-dark); }
#information-contact .kos-ccard__v address { margin: 0; font-style: normal; }
#information-contact .kos-ccard a.kos-ccard__v:hover { color: var(--kos-purple); }
#information-contact .kos-ccard__s { display: block; margin-top: 6px; font-size: 14px; color: #777; }
#information-contact .kos-ccard__s a { color: var(--kos-purple); font-weight: 700; }
#information-contact .kos-map {
  overflow: hidden;
  border: 1px solid #6E266E;
  border-radius: 15px;
  aspect-ratio: 4 / 3;
  background: #FEF0FF;
}
#information-contact .kos-map iframe { width: 100%; height: 100%; border: 0; display: block; }
#information-contact .kos-contact__form {
  padding: 26px 30px 30px;
  border: 1px solid #6E266E;
  border-radius: 15px;
  background: #fff;
}
#information-contact .kos-contact__form legend {
  margin: 0 0 6px;
  padding: 0;
  border: 0;
  font-size: 24px;
  font-weight: 700;
  color: var(--kos-purple-dark);
}
#information-contact .kos-contact__hint { margin: 0 0 20px; font-size: 15px; color: #777; }
#information-contact .kos-contact__form .form-group { margin: 0 0 16px; }
#information-contact .kos-contact__form .control-label {
  width: 100%;
  float: none;
  padding: 0 0 6px 18px;
  text-align: left;
  color: var(--kos-purple-dark);
  font-weight: 700;
}
#information-contact .kos-contact__form .required .control-label:before { content: none !important; }
#information-contact .kos-contact__form .required .control-label:after { content: " *"; color: var(--kos-purple); }
#information-contact .kos-contact__form .form-group > [class*="col-sm-"] { width: 100%; float: none; padding: 0; }
#information-contact .kos-contact__form .form-horizontal .form-group,
#information-contact .kos-contact__form .form-group { margin-left: 0; margin-right: 0; }
#information-contact .kos-contact__form .form-control {
  height: 46px;
  padding: 0 18px;
  border: 1px solid #dcc3da;
  border-radius: 30px;
  box-shadow: none;
  font-size: 15px;
  font-family: inherit;
  color: #333;
}
#information-contact .kos-contact__form textarea.form-control { height: auto; min-height: 150px; padding: 14px 18px; border-radius: 15px; resize: vertical; }
#information-contact .kos-contact__form .form-control:focus { border-color: var(--kos-purple); box-shadow: 0 0 0 3px #f6e3f5; outline: 0; }
#information-contact .kos-contact__form .text-danger { padding-left: 18px; font-size: 13px; }
#information-contact .kos-contact__form .buttons { margin: 8px 0 0; }
#information-contact .kos-contact__form .buttons .pull-right { float: none !important; }
#information-contact .kos-contact__form input[type="submit"],
#information-contact .kos-contact__form .btn-primary {
  width: 100%;
  height: 50px;
  border: 1px solid var(--kos-purple) !important;
  border-radius: 30px !important;
  background: var(--kos-purple) !important;
  color: #fff !important;
  font-size: 16px;
  font-weight: 700;
  font-family: inherit;
  box-shadow: none;
  text-shadow: none;
}
#information-contact .kos-contact__form input[type="submit"]:hover,
#information-contact .kos-contact__form .btn-primary:hover { background: var(--kos-purple-dark) !important; border-color: var(--kos-purple-dark) !important; }
#information-contact .kos-hidden { display: none !important; }
@media (max-width: 991px) {
  #information-contact .kos-contact { grid-template-columns: 1fr; }
  #information-contact .kos-contact__form { order: -1; }
}
@media (max-width: 767px) {
  #information-contact .kos-contact__form { padding: 20px 16px 22px; }
  #information-contact .kos-ccard { padding: 16px; }
}

/* 15) Številke strani (1 2 3 … >) */
.pagination { display: inline-flex !important; flex-wrap: wrap; gap: 6px; margin: 10px 0 !important; padding: 0; border-radius: 0; }
.pagination > li { display: block; }
.pagination > li > a,
.pagination > li > span {
  float: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 1px solid #dcc3da !important;
  border-radius: 30px !important;
  background: #fff !important;
  color: var(--kos-purple-dark) !important;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: background .15s, border-color .15s, color .15s;
}
.pagination > li > a:hover,
.pagination > li > a:focus { background: #FEF0FF !important; border-color: var(--kos-purple) !important; color: var(--kos-purple) !important; }
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover {
  background: var(--kos-purple) !important;
  border-color: var(--kos-purple) !important;
  color: #fff !important;
  cursor: default;
}
#content .pagination + *,
.pagination { vertical-align: middle; }
.row:has(> .col-sm-6 > .pagination) { display: flex; flex-wrap: wrap; align-items: center; row-gap: 10px; margin-top: 10px; }
.row:has(> .col-sm-6 > .pagination)::before,
.row:has(> .col-sm-6 > .pagination)::after { display: none; }
.row:has(> .col-sm-6 > .pagination) > .text-right { color: #8a7a89; font-size: 14px; }
@media (max-width: 767px) {
  .row:has(> .col-sm-6 > .pagination) > [class*="col-"] { width: 100%; text-align: center !important; }
  .pagination { justify-content: center; }
}

/* 16) Noga v barvah glave: roza podlaga kot glava, vijolične povezave,
   spodnja temno vijolična vrstica kot zgornja vrstica s telefonom */
footer.footer-section {
  position: relative;
  padding: 60px 0 0 !important;
  color: #333 !important;
  background: #FEF0FF !important;
  background-image: none !important;
  border-top: 1px solid #f0d4ee;
  box-shadow: none;
}
footer.footer-section h3:empty { display: none; }
footer.footer-section h5 {
  margin: 0 0 18px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--kos-purple-dark) !important;
}
footer.footer-section ul.list-unstyled li { margin: 0 0 10px; }
footer.footer-section ul.list-unstyled a,
footer.footer-section a:not(.btn) {
  color: var(--kos-purple) !important;
  font-size: 14px;
  font-weight: 600 !important;
  text-decoration: none;
  transition: color .15s;
}
footer.footer-section ul.list-unstyled a:hover,
footer.footer-section ul.list-unstyled a:focus { color: var(--kos-purple-dark) !important; text-decoration: underline; text-underline-offset: 3px; }
footer.footer-section .kos-foot-intro { margin: 0 0 18px; max-width: 360px; font-size: 14px; line-height: 1.6; color: #555; }
footer.footer-section .newsletter-form .input-group { display: flex; width: 100%; max-width: 420px; }
footer.footer-section .newsletter-form .form-control {
  flex: 1 1 auto;
  height: 48px;
  padding: 0 20px;
  border: 1px solid #dcc3da !important;
  border-right: 0 !important;
  border-radius: 30px 0 0 30px !important;
  background: #fff !important;
  color: #333 !important;
  box-shadow: none !important;
  font-size: 15px;
}
footer.footer-section .newsletter-form .form-control::placeholder { color: #9a8a99; }
footer.footer-section .newsletter-form .form-control:focus { border-color: var(--kos-purple) !important; }
footer.footer-section .newsletter-form .input-group-btn { width: auto; display: block; }
footer.footer-section .newsletter-form .btn {
  width: 56px;
  height: 48px;
  padding: 0 !important;
  border: 1px solid var(--kos-purple) !important;
  border-radius: 0 30px 30px 0 !important;
  background: var(--kos-purple) !important;
  color: #fff !important;
  font-size: 16px;
  box-shadow: none !important;
}
footer.footer-section .newsletter-form .btn:hover { background: var(--kos-purple-dark) !important; border-color: var(--kos-purple-dark) !important; }
footer.footer-section #newsletter-message { margin-top: 8px; font-size: 14px; color: var(--kos-purple-dark); }
footer.footer-section .social-icons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
footer.footer-section .social-icons a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0 !important;
  border: 0;
  border-radius: 50%;
  background: var(--kos-purple) !important;
  color: #fff !important;
  font-size: 18px;
  transition: background .15s;
}
footer.footer-section .social-icons a:hover,
footer.footer-section .social-icons a:focus { background: var(--kos-purple-dark) !important; color: #fff !important; }
footer.footer-section .social-icons a svg { width: 20px; height: 20px; display: block; }
footer.footer-section .social-icons a.kos-hide { display: none !important; }
footer.footer-section .kos-foot-bottom {
  position: relative;
  margin-top: 40px;
  padding: 14px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px 24px;
  font-size: 14px;
  color: #fff;
}
/* temno vijolična vrstica čez vso širino, kot zgornja vrstica s telefonom */
footer.footer-section .kos-foot-bottom::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  background: #592557;
  z-index: -1;
}
footer.footer-section { overflow: hidden; z-index: 0; }
footer.footer-section .kos-foot-bottom a { font-size: 14px !important; color: #fff !important; }
@media (max-width: 991px) {
  footer.footer-section .row > [class*="col-md-"] { margin-left: 0 !important; margin-bottom: 30px; }
  footer.footer-section .row { display: flex; flex-wrap: wrap; }
  footer.footer-section .row > .col-md-4 { flex: 0 0 100%; width: 100%; }
  footer.footer-section .row > .col-md-2 { flex: 0 0 33.333%; width: 33.333%; }
}
@media (max-width: 600px) {
  footer.footer-section { padding-top: 44px !important; }
  footer.footer-section .row > .col-md-2 { flex: 0 0 100%; width: 100%; margin-bottom: 26px; }
  footer.footer-section .kos-foot-bottom { margin-top: 10px; flex-direction: column; align-items: center; text-align: center; }
}

/* 17) (odstranjeno v v7.0: glava ima zdaj eno vrsto z iskanjem) */

/* 18) Stran izdelka na telefonu: galerija s potegom, sličice s puščicami, razmiki */
.kos-gal { display: none; }
@media (max-width: 767px) {
  #product-product .product-detail-box > div:has(#main-product-image).kos-gal-on > :not(.kos-gal) { display: none !important; }
  #product-product .kos-gal { display: block; margin: 4px 0 0; }
  #product-product .kos-gal__stage { position: relative; }
  #product-product .kos-gal__track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    border: 1px solid #6E266E;
    border-radius: 15px;
    background: #fff;
  }
  #product-product .kos-gal__track::-webkit-scrollbar { display: none; }
  #product-product .kos-gal__slide { flex: 0 0 100%; scroll-snap-align: center; aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; overflow: hidden; }
  #product-product .kos-gal__slide img { width: 100%; height: 100%; object-fit: contain; display: block; }
  #product-product .kos-gal__count {
    position: absolute;
    right: 12px;
    bottom: 12px;
    padding: 4px 10px;
    border-radius: 20px;
    background: rgba(36, 22, 79, .72);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    pointer-events: none;
  }
  #product-product .kos-gal__nav {
    position: absolute;
    top: 50%;
    width: 38px;
    height: 38px;
    margin-top: -19px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    color: var(--kos-purple);
    box-shadow: 0 2px 8px rgba(36, 22, 79, .18);
    cursor: pointer;
  }
  #product-product .kos-gal__nav--prev { left: 10px; }
  #product-product .kos-gal__nav--next { right: 10px; }
  #product-product .kos-gal__nav[disabled] { opacity: 0; pointer-events: none; }
  #product-product .kos-gal__thumbs { display: flex; align-items: center; gap: 6px; margin-top: 10px; }
  #product-product .kos-gal__strip {
    flex: 1 1 auto;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    padding: 2px;
  }
  #product-product .kos-gal__strip::-webkit-scrollbar { display: none; }
  #product-product .kos-gal__thumb {
    flex: 0 0 60px;
    width: 60px;
    height: 60px;
    padding: 0;
    border: 1px solid #dcc3da;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    cursor: pointer;
  }
  #product-product .kos-gal__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
  #product-product .kos-gal__thumb.is-active { border: 2px solid var(--kos-purple); }
  #product-product .kos-gal__arrow {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #dcc3da;
    border-radius: 50%;
    background: #fff;
    color: var(--kos-purple);
    cursor: pointer;
  }
  #product-product .kos-gal__arrow[disabled] { opacity: .35; cursor: default; }
  #product-product .kos-gal--single .kos-gal__thumbs,
  #product-product .kos-gal--single .kos-gal__nav,
  #product-product .kos-gal--single .kos-gal__count { display: none; }
  /* razmiki in naslov */
  #product-product .product-section { padding-top: 0 !important; }
  #product-product .product-detail-box > div:has(#form-product) { margin-top: 20px; }
  #product-product .product-detail-box h1 { margin: 0 0 8px !important; font-size: 26px !important; line-height: 1.2 !important; }
  #product-product .product-detail-box .sifraIzdelka { margin-bottom: 4px !important; font-size: 13px; }
  #product-product .product-detail-box h3.fw-bold { margin: 14px 0 18px !important; font-size: 28px; }
  #product-product .product-detail-box h6.fw-bold { margin-bottom: 8px; color: var(--kos-purple-dark); }
  #product-product .product-details-tabs { margin-top: 28px; }
}

/* 19) Registracija: soglasje kot prava kljukica nad gumbom */
.kos-agree {
  display: flex !important;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  margin: 6px 0 20px;
  padding: 14px 18px;
  border-radius: 15px;
  background: #FEF0FF;
  color: #333;
  font-size: 15px;
  font-weight: 500 !important;
  line-height: 1.5;
  cursor: pointer;
}
.kos-agree a { color: var(--kos-purple) !important; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.kos-agree a b { font-weight: 700; }
.kos-check {
  flex: 0 0 24px;
  width: 24px !important;
  height: 24px !important;
  margin: 0 !important;
  -webkit-appearance: none;
  appearance: none;
  border: 2px solid #c9a6c7;
  border-radius: 7px;
  background: #fff center / 14px no-repeat;
  cursor: pointer;
  transition: background-color .15s, border-color .15s;
  position: static !important;
}
.kos-check:hover { border-color: var(--kos-purple); }
.kos-check:focus-visible { outline: 2px solid var(--kos-purple); outline-offset: 2px; }
.kos-check:checked {
  border-color: var(--kos-purple);
  background-color: var(--kos-purple);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-5' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E");
}
.container[id^="account-"] .buttons.kos-buttons { display: block; margin-top: 22px; }
.container[id^="account-"] .buttons.kos-buttons .pull-right { justify-content: flex-start; margin-left: 0; }
.container[id^="account-"] .buttons.kos-buttons input[type="submit"] { min-width: 200px; }
@media (max-width: 767px) {
  .container[id^="account-"] .buttons.kos-buttons input[type="submit"] { width: 100%; }
}
/* tudi ostali potrditveni kvadratki na računu */
.container[id^="account-"] input[type="checkbox"]:not(.kos-check),
#information-contact input[type="checkbox"] { accent-color: var(--kos-purple); }
#information-contact .kos-map .kos-more {
  display: inline-flex;
  align-items: center;
  height: 44px;
  padding: 0 22px;
  border: 1px solid var(--kos-purple);
  border-radius: 30px;
  background: #fff;
  color: var(--kos-purple);
  font-size: 15px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
}
#information-contact .kos-map .kos-more:hover { background: var(--kos-purple); color: #fff; }
/* pokončne pasice na telefonu */
.kos-mbanners .slideshow img.kos-mbanner,
.kos-mbanners .swiper-slide img.kos-mbanner { width: 100% !important; height: auto !important; max-width: 100%; border-radius: 15px; }

/* 20) Ikone desno v glavi (iskanje, račun, košarica): pravi krog in večje ikone */
@media (min-width: 992px) {
  header #navbar-collapse-header > .navbar-right { display: flex; align-items: center; gap: 6px; }
  header #navbar-collapse-header > .navbar-right > li > a#search-toggle,
  header #navbar-collapse-header > .navbar-right > li > a.dropdown-toggle,
  header #navbar-collapse-header > .navbar-right > li > a#cart-toggle {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0 !important;
    border-radius: 50% !important;
    font-size: 17px !important;
    transition: background .15s, color .15s;
  }
  header #navbar-collapse-header > .navbar-right > li > a i { font-size: 17px !important; }
  header #navbar-collapse-header > .navbar-right > li > a.dropdown-toggle .caret { display: none; }
  header #navbar-collapse-header > .navbar-right > li > a.dropdown-toggle,
  header #navbar-collapse-header > .navbar-right > li > a#cart-toggle { color: var(--kos-purple) !important; background: transparent !important; }
  header #navbar-collapse-header > .navbar-right > li > a.dropdown-toggle:hover,
  header #navbar-collapse-header > .navbar-right > li > a.dropdown-toggle:focus,
  header #navbar-collapse-header > .navbar-right > li.open > a.dropdown-toggle,
  header #navbar-collapse-header > .navbar-right > li > a#cart-toggle:hover,
  header #navbar-collapse-header > .navbar-right > li > a#cart-toggle:focus {
    background: #fff !important;
    color: var(--kos-purple) !important;
    box-shadow: 0 0 0 1px #f0d4ee;
  }
  header #navbar-collapse-header > .navbar-right > li > a.dropdown-toggle i,
  header #navbar-collapse-header > .navbar-right > li > a#cart-toggle i { color: inherit !important; }
  header #navbar-collapse-header > .navbar-right > li > a#search-toggle:hover { background: var(--kos-purple-dark) !important; }
  header #navbar-collapse-header > .navbar-right .cart-badge { top: -2px !important; right: -2px !important; }
}


/* 21) Blagajna (Quick Checkout) v slogu trgovine: kartice, roza glave, okrogla polja, vijolični gumbi */
#quickcheckoutconfirm { max-width: 1170px; color: #333; }
#quickcheckoutconfirm #quickcheckout-disable::after { content: ""; display: table; clear: both; }
@media (min-width: 992px) {
  #quickcheckoutconfirm #quickcheckout-disable {
    display: grid !important;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    column-gap: 28px;
    align-items: start;
  }
  #quickcheckoutconfirm #quickcheckout-disable > * { width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; min-width: 0; }
  #quickcheckoutconfirm #quickcheckout-disable > .quickcheckoutleft:has(#payment-address) { grid-column: 1; grid-row: 1; }
  #quickcheckoutconfirm #quickcheckout-disable > .quickcheckoutright { grid-column: 2; grid-row: 1 / span 3; }
  #quickcheckoutconfirm #quickcheckout-disable > .quickcheckoutleft:has(#cart1) { grid-column: 1; grid-row: 2; }
  #quickcheckoutconfirm #quickcheckout-disable > div:empty { display: none; }
  #quickcheckoutconfirm .quickcheckoutmid { max-width: none; }
}
#quickcheckoutconfirm #payment-address,
#quickcheckoutconfirm #shipping-address:has(.quickcheckout-content:not(:empty)),
#quickcheckoutconfirm #shipping-method,
#quickcheckoutconfirm #payment-method,
#quickcheckoutconfirm #cart1,
#quickcheckoutconfirm #voucher,
#quickcheckoutconfirm #terms {
  margin: 0 0 22px;
  border: 1px solid #6E266E;
  border-radius: 15px;
  overflow: hidden;
  background: #fff;
}
#quickcheckoutconfirm .quickcheckout-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 15px 20px !important;
  border: 0 !important;
  border-bottom: 1px solid #f0dcef !important;
  border-radius: 0 !important;
  background: #FEF0FF !important;
  color: var(--kos-purple-dark) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
}
#quickcheckoutconfirm .quickcheckout-heading .fa,
#quickcheckoutconfirm .quickcheckout-heading i { color: var(--kos-purple); font-size: 16px; }
#quickcheckoutconfirm .quickcheckout-content { padding: 18px 20px !important; border: 0 !important; border-radius: 0 !important; background: #fff !important; }
#quickcheckoutconfirm .quickcheckout-content > p:first-child { color: #777; font-size: 14px; margin: 0 0 12px; }
#quickcheckoutconfirm label,
#quickcheckoutconfirm .control-label { color: var(--kos-purple-dark); font-weight: 700; font-size: 14px; }
#quickcheckoutconfirm .form-control {
  height: 46px;
  padding: 0 18px;
  border: 1px solid #dcc3da !important;
  border-radius: 30px !important;
  box-shadow: none !important;
  font-size: 15px;
  font-family: inherit;
  color: #333;
  background-color: #fff;
}
#quickcheckoutconfirm select.form-control {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 40px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%2391298C' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat right 16px center;
}
#quickcheckoutconfirm textarea.form-control { height: auto; min-height: 110px; padding: 12px 18px; border-radius: 15px !important; }
#quickcheckoutconfirm .form-control:focus { border-color: var(--kos-purple) !important; box-shadow: 0 0 0 3px #f6e3f5 !important; outline: 0; }
#quickcheckoutconfirm .has-error .form-control { border-color: #c0392b !important; }
#quickcheckoutconfirm .text-danger { font-size: 13px; padding-left: 18px; }
#quickcheckoutconfirm input[type="radio"],
#quickcheckoutconfirm input[type="checkbox"] { accent-color: var(--kos-purple); width: 18px; height: 18px; vertical-align: -3px; margin: 0 8px 0 0; cursor: pointer; }
#quickcheckoutconfirm .checkbox label,
#quickcheckoutconfirm .radio label,
#quickcheckoutconfirm label[for^="create"],
#quickcheckoutconfirm .quickcheckout-content > label { font-weight: 500; color: #333; }
/* izbira dostave in plačila: vrstice kot izbirne kartice */
#quickcheckoutconfirm #shipping-method table,
#quickcheckoutconfirm #payment-method table { width: 100%; margin: 0; border-collapse: separate; border-spacing: 0 8px; background: none; }
#quickcheckoutconfirm #shipping-method table tr,
#quickcheckoutconfirm #payment-method table tr { background: none !important; }
#quickcheckoutconfirm #shipping-method table td,
#quickcheckoutconfirm #payment-method table td {
  padding: 12px 10px !important;
  border: 1px solid #f0dcef !important;
  border-width: 1px 0 !important;
  background: #fff !important;
  vertical-align: middle;
}
#quickcheckoutconfirm #shipping-method table td:first-child,
#quickcheckoutconfirm #payment-method table td:first-child { width: 36px; border-left-width: 1px !important; border-radius: 12px 0 0 12px; padding-left: 14px !important; }
#quickcheckoutconfirm #shipping-method table td:last-child,
#quickcheckoutconfirm #payment-method table td:last-child { border-right-width: 1px !important; border-radius: 0 12px 12px 0; }
#quickcheckoutconfirm #shipping-method table td[colspan] { border: 0 !important; padding: 4px 2px !important; color: var(--kos-purple-dark); }
#quickcheckoutconfirm #shipping-method table tr:has(input:checked) td,
#quickcheckoutconfirm #payment-method table tr:has(input:checked) td { background: #FEF0FF !important; border-color: var(--kos-purple) !important; }
#quickcheckoutconfirm #shipping-method table label,
#quickcheckoutconfirm #payment-method table label { margin: 0; font-weight: 600; color: #333; cursor: pointer; }
#quickcheckoutconfirm #shipping-method table td:last-child label { color: var(--kos-purple); font-weight: 700; }
/* košarica */
#quickcheckoutconfirm #cart1 .quickcheckout-content { padding: 6px 20px 18px !important; }
#quickcheckoutconfirm .quickcheckout-cart { width: 100%; margin: 0; border: 0 !important; }
#quickcheckoutconfirm .quickcheckout-cart thead td,
#quickcheckoutconfirm .quickcheckout-cart thead th {
  padding: 12px 8px !important;
  border: 0 !important;
  border-bottom: 1px solid #f0dcef !important;
  background: none !important;
  color: #8a7a89;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}
#quickcheckoutconfirm .quickcheckout-cart tbody td { padding: 14px 8px !important; border: 0 !important; border-bottom: 1px solid #f0dcef !important; vertical-align: middle; }
#quickcheckoutconfirm .quickcheckout-cart img { width: 64px; height: 64px; object-fit: cover; border: 1px solid #6E266E; border-radius: 12px; }
#quickcheckoutconfirm .quickcheckout-cart a { color: #333; font-weight: 700; }
#quickcheckoutconfirm .quickcheckout-cart a:hover { color: var(--kos-purple); }
#quickcheckoutconfirm .quickcheckout-cart .input-group { display: inline-flex; align-items: center; gap: 6px; max-width: 170px; }
#quickcheckoutconfirm .quickcheckout-cart .input-group .form-control { width: 64px; height: 40px; padding: 0 10px; text-align: center; font-weight: 700; border-radius: 30px !important; }
#quickcheckoutconfirm .quickcheckout-cart .input-group-btn { display: inline-flex; gap: 6px; width: auto; }
#quickcheckoutconfirm .quickcheckout-cart .button-update,
#quickcheckoutconfirm .quickcheckout-cart .button-remove {
  width: 36px;
  height: 36px;
  padding: 0 !important;
  border-radius: 50% !important;
  background: #fff !important;
  border: 1px solid #dcc3da !important;
  color: var(--kos-purple) !important;
  box-shadow: none !important;
}
#quickcheckoutconfirm .quickcheckout-cart .button-remove { color: #c0392b !important; }
#quickcheckoutconfirm .quickcheckout-cart .button-update:hover,
#quickcheckoutconfirm .quickcheckout-cart .button-remove:hover { background: #FEF0FF !important; border-color: var(--kos-purple) !important; }
#quickcheckoutconfirm .quickcheckout-cart tfoot td,
#quickcheckoutconfirm .quickcheckout-cart tbody tr:has(td[colspan]) td { padding: 6px 8px !important; border: 0 !important; color: #555; }
#quickcheckoutconfirm .quickcheckout-cart tr:last-child td { padding-top: 12px !important; font-size: 18px; color: var(--kos-purple-dark); }
#quickcheckoutconfirm .quickcheckout-cart tr:last-child td:last-child { color: var(--kos-purple); font-weight: 700; }
/* koda za popust */
#quickcheckoutconfirm #voucher .quickcheckout-heading { cursor: pointer; font-size: 15px !important; }
#quickcheckoutconfirm #voucher .input-group { display: flex; gap: 8px; }
#quickcheckoutconfirm #voucher .input-group .form-control { flex: 1 1 auto; }
#quickcheckoutconfirm #voucher .input-group-btn { width: auto; }
/* soglasje in gumb za oddajo */
#quickcheckoutconfirm #terms .quickcheckout-content {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px 20px;
  text-align: left !important;
  padding: 18px 20px !important;
}
#quickcheckoutconfirm #terms .terms { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; width: 100%; justify-content: space-between; font-size: 15px; }
#quickcheckoutconfirm #terms .terms a { color: var(--kos-purple); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
#quickcheckoutconfirm .btn,
#quickcheckoutconfirm .btn-primary { border-radius: 30px !important; font-weight: 700; font-family: inherit; text-shadow: none; box-shadow: none; background-image: none; }
#quickcheckoutconfirm .btn-primary:not(.button-update) {
  height: 46px;
  padding: 0 26px !important;
  border: 1px solid var(--kos-purple) !important;
  background: var(--kos-purple) !important;
  color: #fff !important;
}
#quickcheckoutconfirm .btn-primary:not(.button-update):hover { background: var(--kos-purple-dark) !important; border-color: var(--kos-purple-dark) !important; }
#quickcheckoutconfirm #button-payment-method,
#quickcheckoutconfirm #button-confirm { height: 54px; min-width: 240px; font-size: 17px; }
@media (max-width: 767px) {
  #quickcheckoutconfirm .quickcheckout-heading { padding: 13px 16px !important; font-size: 16px !important; }
  #quickcheckoutconfirm .quickcheckout-content { padding: 16px !important; }
  #quickcheckoutconfirm .quickcheckout-cart thead { display: none; }
  #quickcheckoutconfirm .quickcheckout-cart img { width: 52px; height: 52px; }
  #quickcheckoutconfirm #terms .terms { flex-direction: column; align-items: stretch; }
  #quickcheckoutconfirm #button-payment-method,
  #quickcheckoutconfirm #button-confirm { width: 100%; min-width: 0; }
  #quickcheckoutconfirm .table-responsive { border: 0; }
}
#quickcheckoutconfirm #coupon-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: var(--kos-purple-dark) !important;
  font-size: 15px !important;
  font-weight: 700;
  cursor: pointer;
}
#quickcheckoutconfirm #coupon-heading .fa { color: var(--kos-purple); }
#quickcheckoutconfirm #coupon-content { margin-top: 14px; }
#quickcheckoutconfirm #voucher .quickcheckout-content { padding: 16px 20px !important; }
#quickcheckoutconfirm .quickcheckout-cart thead td,
#quickcheckoutconfirm .quickcheckout-cart thead th { font-size: 12px !important; line-height: 1.3 !important; }
#quickcheckoutconfirm #terms .kos-agree--co { flex: 1 1 320px; width: auto; margin: 0; }
#quickcheckoutconfirm #terms .kos-agree--co .kos-check { margin: 0 !important; }

/* 22) Glava na telefonu: številka izdelkov stoji na ikoni košarice */
.cart-toggle-btn { position: relative !important; }
.cart-toggle-btn .cart-badge { top: -4px !important; right: -6px !important; left: auto !important; }

/* 23) Blagajna na telefonu: brez "Please wait", izdelki kot kartice brez drsenja, manj praznega prostora pri pogojih */
.blockUI.blockOverlay { background: transparent !important; opacity: 0 !important; }
.blockUI.blockMsg { display: none !important; }
@media (max-width: 767px) {
  #quickcheckoutconfirm #terms .kos-agree--co { flex: 0 0 auto; }
  #quickcheckoutconfirm #cart1 .quickcheckout-content { overflow: visible !important; padding: 4px 16px 14px !important; }
  #quickcheckoutconfirm .quickcheckout-cart,
  #quickcheckoutconfirm .quickcheckout-cart tbody { display: block; width: 100% !important; min-width: 0 !important; }
  #quickcheckoutconfirm .quickcheckout-cart tbody tr:has(> td.image) {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) auto;
    grid-template-areas: "img name name" "img qty total";
    gap: 10px 12px;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid #f0dcef;
  }
  #quickcheckoutconfirm .quickcheckout-cart tbody tr:has(> td.image) > td { display: block; width: auto !important; min-width: 0 !important; padding: 0 !important; border: 0 !important; white-space: normal !important; text-align: left !important; }
  #quickcheckoutconfirm .quickcheckout-cart td.image { grid-area: img; align-self: start; }
  #quickcheckoutconfirm .quickcheckout-cart td.image img { width: 56px !important; height: 56px !important; }
  #quickcheckoutconfirm .quickcheckout-cart td.name { grid-area: name; font-size: 15px; line-height: 1.35; }
  #quickcheckoutconfirm .quickcheckout-cart td.name small,
  #quickcheckoutconfirm .quickcheckout-cart td.name .small { display: block; color: #777; font-size: 12.5px; line-height: 1.4; }
  #quickcheckoutconfirm .quickcheckout-cart td.name br { display: none; }
  #quickcheckoutconfirm .quickcheckout-cart td.quantity { grid-area: qty; }
  #quickcheckoutconfirm .quickcheckout-cart td.price1 { display: none !important; }
  #quickcheckoutconfirm .quickcheckout-cart td.total { grid-area: total; text-align: right !important; font-weight: 700; color: var(--kos-purple); font-size: 16px; white-space: nowrap !important; }
  #quickcheckoutconfirm .quickcheckout-cart .input-group { max-width: none; }
  #quickcheckoutconfirm .quickcheckout-cart .input-group .form-control { width: 52px; height: 38px; }
  #quickcheckoutconfirm .quickcheckout-cart .button-update,
  #quickcheckoutconfirm .quickcheckout-cart .button-remove { width: 34px; height: 34px; }
  #quickcheckoutconfirm .quickcheckout-cart tbody tr:not(:has(> td.image)) { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 4px 0; }
  #quickcheckoutconfirm .quickcheckout-cart tbody tr:not(:has(> td.image)) > td { display: block; padding: 0 !important; border: 0 !important; white-space: nowrap !important; }
  #quickcheckoutconfirm .quickcheckout-cart tbody tr:not(:has(> td.image)) > td:first-child { text-align: left !important; }
  #quickcheckoutconfirm .quickcheckout-cart tbody tr:has(> td.image) + tr:not(:has(> td.image)) { padding-top: 12px; }
  #quickcheckoutconfirm .quickcheckout-cart tbody tr:last-child { padding-top: 10px !important; margin-top: 6px; border-top: 1px solid #f0dcef; }
}

/* 24) Košarica: izdelki levo, povzetek z gumbom "Na blagajno" desno, na telefonu kartice */
#checkout-cart.kos-cart h1 { margin-bottom: 22px; }
.kos-cgrid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; grid-template-areas: "main side" "extra side"; gap: 26px 32px; align-items: start; margin-bottom: 10px; }
.kos-cmain { grid-area: main; min-width: 0; }
.kos-cside { grid-area: side; position: sticky; top: 20px; }
.kos-cextra { grid-area: extra; min-width: 0; }
.kos-cmain form { margin: 0; }
.kos-cmain .table-responsive { margin: 0; border: 1px solid #6E266E !important; border-radius: 15px; overflow: hidden; background: #fff; }
.kos-cmain table.kos-ctable { margin: 0; border: 0; }
.kos-ctable thead td { padding: 13px 14px !important; border: 0 !important; border-bottom: 1px solid #f0dcef !important; background: #FEF0FF; color: var(--kos-purple-dark); font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.kos-ctable tbody td { padding: 16px 14px !important; border: 0 !important; border-bottom: 1px solid #f0dcef !important; vertical-align: middle !important; }
.kos-ctable tbody tr:last-child td { border-bottom: 0 !important; }
.kos-ctable .kos-c-img { width: 100px; }
.kos-ctable .kos-c-img img { width: 72px; height: 72px; padding: 0; object-fit: cover; border: 1px solid #6E266E; border-radius: 12px; }
.kos-ctable .kos-c-name a { color: #333; font-size: 16px; font-weight: 700; }
.kos-ctable .kos-c-name a:hover { color: var(--kos-purple); }
.kos-ctable .kos-c-name small { display: block; margin-top: 3px; color: #777; font-size: 13px; line-height: 1.4; }
.kos-ctable .kos-c-name br { display: none; }
.kos-ctable .kos-c-name .text-danger { display: inline; font-size: 14px; }
.kos-ctable .kos-c-model { color: #888; font-size: 13px; }
.kos-ctable .kos-c-unit { color: #555; white-space: nowrap; }
.kos-ctable .kos-c-total { color: var(--kos-purple); font-weight: 700; font-size: 16px; white-space: nowrap; }
.kos-ctable .input-group { display: inline-flex !important; align-items: center; gap: 6px; width: auto !important; }
.kos-ctable .input-group .form-control { float: none; width: 56px !important; height: 40px; padding: 0 8px; border: 1px solid #dcc3da !important; border-radius: 30px !important; box-shadow: none !important; text-align: center; font-weight: 700; }
.kos-ctable .input-group-btn { display: inline-flex; gap: 6px; width: auto; white-space: nowrap; }
.kos-ctable .input-group-btn .btn { width: 36px; height: 36px; padding: 0 !important; margin: 0 !important; border: 1px solid #dcc3da !important; border-radius: 50% !important; background: #fff !important; background-image: none !important; color: var(--kos-purple) !important; box-shadow: none !important; text-shadow: none; }
.kos-ctable .input-group-btn .btn-danger { color: #c0392b !important; }
.kos-ctable .input-group-btn .btn:hover { background: #FEF0FF !important; border-color: var(--kos-purple) !important; }

.kos-csum { border: 1px solid #6E266E; border-radius: 15px; overflow: hidden; background: #fff; }
.kos-csum__h { margin: 0 !important; padding: 15px 20px !important; font-size: 17px !important; line-height: 1.3 !important; font-family: inherit !important; text-transform: none !important; letter-spacing: 0 !important; border-bottom: 1px solid #f0dcef; background: #FEF0FF; color: var(--kos-purple-dark); font-size: 17px; font-weight: 700; }
.kos-csum table { width: 100%; margin: 10px 0 0 !important; border: 0 !important; }
.kos-csum table td { padding: 7px 20px !important; border: 0 !important; background: none !important; text-align: right; }
.kos-csum table td:first-child { text-align: left !important; color: #555; }
.kos-csum table td:first-child strong { font-weight: 600; }
.kos-csum table tr:last-child td { padding-top: 14px !important; padding-bottom: 14px !important; border-top: 1px solid #f0dcef !important; color: var(--kos-purple-dark); font-size: 19px; font-weight: 700; }
.kos-csum table tr:last-child td:first-child { color: var(--kos-purple-dark); }
.kos-csum table tr:last-child td:last-child { color: var(--kos-purple); }
.kos-csum__go { padding: 6px 20px 20px; text-align: center; }
.kos-csum__go .btn-primary { display: flex !important; align-items: center; justify-content: center; width: 100%; height: 52px; padding: 0 20px !important; border: 1px solid var(--kos-purple) !important; border-radius: 30px !important; background: var(--kos-purple) !important; background-image: none !important; color: #fff !important; font-size: 17px; font-weight: 700; box-shadow: none !important; text-shadow: none; }
.kos-csum__go .btn-primary:hover { background: var(--kos-purple-dark) !important; border-color: var(--kos-purple-dark) !important; }
.kos-csum__go .kos-csum__back { display: inline-block; margin-top: 14px; color: var(--kos-purple); font-weight: 700; font-size: 15px; text-decoration: underline; text-underline-offset: 3px; }

.kos-cextra h2 { margin: 6px 0 12px; color: var(--kos-purple-dark); font-size: 18px; font-weight: 700; }
.kos-cextra .panel-group { margin: 0; }
.kos-cextra .panel { margin: 0 0 10px !important; border: 1px solid #dcc3da !important; border-radius: 12px !important; box-shadow: none !important; overflow: hidden; }
.kos-cextra .panel-heading { padding: 0 !important; border: 0 !important; background: #fff !important; }
.kos-cextra .panel-title a { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; color: var(--kos-purple-dark) !important; font-size: 15px; font-weight: 700; text-decoration: none; }
.kos-cextra .panel-title a:hover { background: #FEF0FF; }
.kos-cextra .panel-body { border-top: 1px solid #f0dcef !important; }
#checkout-cart .akcija-block { margin-top: 90px; padding-top: 40px; border-top: 1px solid #f0dcef; }

@media (max-width: 991px) {
  .kos-cgrid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "main" "side" "extra"; gap: 20px; }
  .kos-cside { position: static; }
}
@media (max-width: 767px) {
  .kos-cmain .table-responsive { overflow: visible; }
  .kos-ctable thead { display: none; }
  .kos-ctable, .kos-ctable tbody { display: block; width: 100%; }
  .kos-ctable tbody tr { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; grid-template-areas: "img name name" "img qty total"; gap: 10px 12px; align-items: center; padding: 14px; border-bottom: 1px solid #f0dcef; }
  .kos-ctable tbody tr:last-child { border-bottom: 0; }
  .kos-ctable tbody td { display: block; padding: 0 !important; border: 0 !important; white-space: normal !important; text-align: left !important; }
  .kos-ctable .kos-c-img { grid-area: img; width: auto; align-self: start; }
  .kos-ctable .kos-c-name { grid-area: name; }
  .kos-ctable .kos-c-name a { font-size: 15px; }
  .kos-ctable .kos-c-qty { grid-area: qty; }
  .kos-ctable .kos-c-total { grid-area: total; text-align: right !important; white-space: nowrap !important; }
  .kos-ctable .kos-c-model, .kos-ctable .kos-c-unit { display: none !important; }
  #checkout-cart .akcija-block { margin-top: 60px; padding-top: 30px; }
}

/* 25) v6.1: enotni naslovi, oznake, kartice na telefonu, blog, iskanje, akcija, prijava, test čaker */
/* Naslovi sekcij kot "Najbolj prodajano" in "Znižano" */
.faq-section h2,
.testimonials-section h2,
.bm-module > .h2,
.bm > .h2,
#product-category #content > .row > .col-sm-12 > h2,
#product-search #content .row h2 {
  margin: 0 0 18px !important;
  color: var(--kos-purple) !important;
  font-family: inherit !important;
  font-size: 30px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-transform: none !important;
}
.bm-module > .h2::before, .bm-module > .h2::after, .bm > .h2::before, .bm > .h2::after,
.testimonials-section h2::before, .testimonials-section h2::after { display: none !important; }
#product-category #content > .row > .col-sm-12 > h2 { margin-top: 28px !important; }
.bm-module > .h2 span, .bm > .h2 span { font: inherit !important; color: inherit !important; border: 0 !important; padding: 0 !important; margin: 0 !important; }
.bm-module > .h2 span::before, .bm-module > .h2 span::after, .bm > .h2 span::before, .bm > .h2 span::after { display: none !important; }
#product-category #content > .row > .col-sm-12 > h3 { color: var(--kos-purple-dark) !important; font-size: 21px !important; font-weight: 800 !important; }
@media (max-width: 767px) {
  .faq-section h2, .testimonials-section h2, .bm-module > .h2, .bm > .h2,
  #product-category #content > .row > .col-sm-12 > h2, #product-search #content .row h2 { font-size: 26px !important; }
}

/* Naslov strani "Akcija!" kot ostali naslovi strani */
.kos-page-title { margin: 0 0 14px !important; color: var(--kos-purple-dark) !important; font-size: 36px !important; font-weight: 700 !important; line-height: 1.2 !important; }
@media (max-width: 767px) { .kos-page-title { font-size: 30px !important; } }

/* Oznake na strani izdelka: vijolične pilule */
#content a.badge.bg-secondary,
.bm .tag a, .bm-post-content .tag a, .bm-post .tag a {
  display: inline-block;
  margin: 0 4px 6px 0 !important;
  padding: 5px 13px !important;
  border: 1px solid #e9cfe7 !important;
  border-radius: 30px !important;
  background: #FEF0FF !important;
  color: var(--kos-purple) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
#content a.badge.bg-secondary:hover, .bm .tag a:hover { background: var(--kos-purple) !important; border-color: var(--kos-purple) !important; color: #fff !important; }

/* Blok z dostavo, plačilom in vračilom na strani izdelka */
.kos-pinfo { list-style: none; margin: 26px 0 8px; padding: 6px 20px; border: 1px solid #f0dcef; border-radius: 15px; background: #FEF0FF; }
.kos-pinfo li { display: flex; align-items: center; gap: 14px; padding: 12px 0; border-bottom: 1px solid #f0dcef; }
.kos-pinfo li:last-child { border-bottom: 0; }
.kos-pinfo__ico { flex: 0 0 40px; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #fff; color: var(--kos-purple); }
.kos-pinfo__ico svg { width: 21px; height: 21px; }
.kos-pinfo b { display: block; color: var(--kos-purple-dark); font-size: 15px; font-weight: 700; line-height: 1.3; }
.kos-pinfo small { display: block; margin-top: 2px; color: #666; font-size: 13.5px; line-height: 1.4; }

/* Kartice izdelkov na telefonu: krajše, naslov v največ treh vrsticah, opis v dveh */
.product-thumb .caption > p.kos-empty-desc.kos-empty-desc { display: none !important; }
@media (max-width: 767px) {
  .product-thumb .caption { padding-left: 10px !important; padding-right: 10px !important; }
  .product-thumb .caption h4 { margin: 6px 0 6px !important; font-size: 15px !important; line-height: 1.3 !important; min-height: 0 !important; overflow-wrap: break-word; hyphens: manual; }
  .product-thumb .caption h4 a { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
  .product-thumb .caption > p:not(.price) { display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0 0 8px !important; font-size: 13px !important; line-height: 1.4 !important; min-height: 0 !important; }
}

/* Blog v barvah trgovine (velja tudi za vse nove članke) */
.bm h1, .bm .h1, .bm-post-info .title { color: var(--kos-purple-dark) !important; }
.bm .post-thumb-heading .title a { color: var(--kos-purple-dark) !important; font-weight: 800 !important; }
.bm .post-thumb-heading .title { margin: 10px 0 8px !important; font-size: 20px !important; line-height: 1.3 !important; }
.bm .post-layout .tag { display: none !important; }
.bm-categories > .h3 { margin: 0 0 16px !important; color: var(--kos-purple) !important; font-size: 30px !important; font-weight: 900 !important; line-height: 1.15 !important; text-transform: none !important; }
@media (max-width: 767px) { .bm-categories > .h3 { font-size: 26px !important; } }
.bm .post-thumb-heading .title a:hover { color: var(--kos-purple) !important; }
.bm .category a, .bm-post-info .category a {
  display: inline-block; padding: 4px 12px !important; border-radius: 30px !important;
  background: #FEF0FF !important; color: var(--kos-purple) !important;
  font-size: 12px !important; font-weight: 700 !important; text-decoration: none !important;
}
.bm .short-description { color: #555 !important; }
.bm .author, .bm .date-published, .bm-post-info .details { color: #888 !important; font-style: normal !important; }
.bm .author .fa, .bm .date-published .fa { color: var(--kos-purple); }
.bm-post-info .details { padding: 0 !important; text-align: center; }
.bm-post-info .details a, .bm .author a { color: var(--kos-purple) !important; font-weight: 700 !important; }
.bm .read-more { color: var(--kos-purple) !important; font-weight: 700 !important; font-style: normal !important; }
.bm .tag .tag-title { color: var(--kos-purple-dark); font-weight: 700; margin-right: 4px; }
.bm a:not(.btn):not([class*="title"]) { color: var(--kos-purple); }
.post-nav { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 !important; }
.post-nav > div { flex: 1 1 300px; min-width: 0; width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; }
.row.post-nav::before, .row.post-nav::after { display: none !important; }
div.bm-post-content div.row.post-nav, body div.row.post-nav { margin: 24px 0 0 !important; }
.row.post-nav > [class*="post-nav-"] { position: static !important; left: auto !important; right: auto !important; transform: none !important; border: 0 !important; }
.post-nav .media-right { order: -1; flex: 0 0 72px; padding: 0 !important; }
.post-nav .media-right img { width: 72px !important; height: 72px !important; object-fit: cover; border-radius: 10px; }
.bm .tag a::before, .bm .tag a::after, .tag a::after { content: none !important; display: none !important; }
.post-nav .media {
  display: flex !important; align-items: center; gap: 14px; height: 100%;
  margin: 0 !important; padding: 14px !important; border: 1px solid #f0dcef !important; border-radius: 15px !important;
  background: #fff; text-decoration: none !important; overflow: hidden;
}
.post-nav .media:hover { border-color: var(--kos-purple) !important; background: #FEF0FF; }
.post-nav .media-left { flex: 0 0 72px; padding: 0 !important; }
.post-nav .media-left img { width: 72px !important; height: 72px !important; object-fit: cover; border-radius: 10px; }
.post-nav .media-body { display: block !important; width: auto !important; min-width: 0; overflow: hidden; white-space: normal !important; }
.post-nav .media-heading { margin: 0 0 4px !important; color: var(--kos-purple-dark) !important; font-size: 15px !important; font-weight: 800 !important; font-style: normal !important; line-height: 1.3 !important; white-space: normal !important; }
.post-nav .media-body .media-body { display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: #777 !important; font-size: 13px !important; font-style: normal !important; line-height: 1.4; }
.bm-author .author-image img { width: 72px !important; height: 72px !important; max-width: none; padding: 8px; object-fit: contain !important; border: 1px solid #f0dcef; border-radius: 50% !important; background: #fff; }

/* Iskanje: vse v eni vrsti pod "Iskalni kriterij" */
.kos-sform { margin: 0 0 30px; }
.kos-sform > label { display: block; margin: 0 0 8px !important; padding: 0 !important; color: var(--kos-purple-dark); font-size: 14px; font-weight: 700; }
.kos-sform__fields { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) auto; gap: 12px; align-items: center; max-width: 940px; }
.kos-sform__fields .form-control { width: 100% !important; height: 46px !important; margin: 0 !important; }
.kos-sform__fields #button-search { height: 46px; min-width: 140px; margin: 0 !important; }
.kos-sform__opts { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 14px; }
.kos-sform__opts label { display: inline-flex !important; align-items: center; gap: 8px; margin: 0 !important; padding: 0 !important; color: #444; font-weight: 500; cursor: pointer; }
.kos-sform__opts input[type="checkbox"] { position: static !important; width: 18px; height: 18px; margin: 0 !important; accent-color: var(--kos-purple); }
@media (max-width: 767px) {
  .kos-sform__fields { grid-template-columns: minmax(0, 1fr); }
  .kos-sform__fields #button-search { width: 100%; }
}

/* Iskanje in Akcija: razvrščanje kot okrogli izbirniki, brez sivih nalepk */
.kos-sortbar .btn-group, .kos-sortbar #compare-total, .kos-sortbar > .hidden-xs { display: none !important; }
.kos-sortbar > [class*="col-"]:has(#compare-total), .kos-sortbar > [class*="col-"]:has(.btn-group) { display: none !important; }
.row.kos-sortbar { margin: 0 0 22px !important; }
.row.kos-sortbar::before, .row.kos-sortbar::after { display: none !important; }
.row.kos-sortbar > [class*="col-"] { width: auto !important; float: none !important; padding: 0 !important; }
.kos-sortbar .form-group { margin: 0 !important; }
.kos-sortbar { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px 16px; }
.kos-sortbar .input-group-sm { display: inline-flex !important; align-items: center; gap: 8px; width: auto !important; margin: 0 !important; }
.kos-sortbar .input-group-addon { display: flex !important; align-items: center; height: 42px; margin: 0 !important; width: auto !important; padding: 0 !important; border: 0 !important; background: none !important; color: var(--kos-purple-dark) !important; font-size: 14px !important; font-weight: 700 !important; }
.kos-sortbar .form-control {
  width: auto !important; min-width: 150px; height: 42px !important; padding: 0 38px 0 16px !important;
  border: 1px solid #dcc3da !important; border-radius: 30px !important; box-shadow: none !important; font-size: 14px !important;
  -webkit-appearance: none; appearance: none;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%2391298C' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat right 14px center !important;
}
@media (max-width: 991px) {
  .kos-sortbar { justify-content: flex-start; margin-top: 10px; }
}
@media (max-width: 480px) {
  .kos-sortbar .input-group-sm { width: 100% !important; }
  .kos-sortbar .input-group-addon { flex: 0 0 96px; text-align: left; }
  .kos-sortbar .form-control { flex: 1 1 auto; min-width: 0; }
}

.kos-sortbar .input-group-sm { padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
.kos-sortbar .form-control { min-width: 128px !important; }
#product-search #content .row h2 { font-size: 26px !important; }
.kos-sform__fields select.form-control {
  padding: 0 40px 0 18px !important; border: 1px solid #dcc3da !important; border-radius: 30px !important; box-shadow: none !important; color: #333;
  -webkit-appearance: none; appearance: none;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%2391298C' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat right 16px center !important;
}

/* Prijava: obe kartici enako široki in visoki */
#account-login #content > .row { display: flex; flex-wrap: wrap; row-gap: 20px; }
#account-login #content > .row > [class*="col-sm-6"] { display: flex; }
#account-login #content > .row .well { flex: 1 1 auto; width: 100% !important; max-width: none !important; margin: 0 !important; }
@media (max-width: 767px) { #account-login #content > .row > [class*="col-sm-6"] { flex: 0 0 100%; width: 100%; } }

/* Test čaker: kljukice in gumb v slogu trgovine */
.answers > .kos-answer { display: flex; align-items: center; gap: 10px; padding: 5px 0; cursor: pointer; font-size: 16px; }
.answers input[type="checkbox"], .answers input[type="radio"] { flex: 0 0 20px; width: 20px; height: 20px; margin: 0 !important; accent-color: var(--kos-purple); cursor: pointer; }
input#submit.btn-primary {
  height: 54px; border: 1px solid var(--kos-purple) !important; border-radius: 30px !important;
  background: var(--kos-purple) !important; background-image: none !important; color: #fff !important;
  font-weight: 700; letter-spacing: .5px; box-shadow: none !important; text-shadow: none;
}
#form_check input[type="text"], #form_check input[type="email"], #form_check input[type="tel"], #form_check select {
  width: 100%; max-width: 420px; height: 46px; margin: 4px 0 12px; padding: 0 18px;
  border: 1px solid #dcc3da; border-radius: 30px; background-color: #fff; box-shadow: none; font-size: 15px; color: #333;
}
#form_check select { width: auto; min-width: 96px; margin-right: 8px; padding: 0 34px 0 16px; -webkit-appearance: none; appearance: none;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%2391298C' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat right 12px center; }
#form_check select + input[name="mobile_number"] { width: calc(100% - 112px); max-width: 304px; }
#form_check input:focus, #form_check select:focus { border-color: var(--kos-purple); outline: 0; box-shadow: 0 0 0 3px #f6e3f5; }
#form_check input[type="checkbox"] { width: 18px; height: 18px; margin: 0 8px 0 0; vertical-align: -3px; accent-color: var(--kos-purple); }
input#submit.btn-primary:hover { background: var(--kos-purple-dark) !important; border-color: var(--kos-purple-dark) !important; }

/* Blagajna, registracija: kljukica in besedilo v isti vrsti */
#quickcheckoutconfirm .kos-cline { display: flex; align-items: flex-start; gap: 10px; margin: 8px 0; }
#quickcheckoutconfirm .kos-cline input[type="checkbox"] { flex: 0 0 18px; margin: 2px 0 0 !important; }
#quickcheckoutconfirm .kos-cline label { margin: 0 !important; font-weight: 600 !important; line-height: 1.45; }

/* 26) Meni na telefonu: odprta kategorija in podkategorije v barvah trgovine */
@media (max-width: 991px) {
  header .navbar-collapse .navbar-nav > .open > a,
  header .navbar-collapse .navbar-nav > .open > a:hover,
  header .navbar-collapse .navbar-nav > .open > a:focus,
  header .navbar-collapse .navbar-nav > li > a:focus {
    background: #fff !important;
    color: var(--kos-purple-dark) !important;
    border-radius: 12px;
  }
  header .navbar-collapse .navbar-nav .open .dropdown-menu {
    position: static !important; float: none !important;
    margin: 4px 0 10px 16px !important; padding: 2px 0 2px 12px !important;
    border: 0 !important; border-left: 2px solid #e9cfe7 !important; border-radius: 0 !important;
    background: none !important; box-shadow: none !important;
  }
  header .navbar-collapse .navbar-nav .open .dropdown-menu > li > a {
    display: block; padding: 9px 12px !important; border-radius: 10px;
    background: none !important; color: var(--kos-purple) !important;
    font-size: 14px !important; font-weight: 600 !important; line-height: 1.35 !important; white-space: normal !important;
  }
  header .navbar-collapse .navbar-nav .open .dropdown-menu > li > a:hover,
  header .navbar-collapse .navbar-nav .open .dropdown-menu > li > a:focus { background: #fff !important; color: var(--kos-purple-dark) !important; }
  header .navbar-collapse .navbar-nav .open .dropdown-menu > .divider { display: none !important; }
  header .navbar-collapse .navbar-nav .open .dropdown-menu > li:last-child > a { color: var(--kos-purple-dark) !important; font-weight: 700 !important; }
  header .navbar-collapse .navbar-nav .open .dropdown-menu > li:last-child > a::after { content: " \2192"; }
}

/* 27) Nova glava: Vedeževanje, Kategorije, veliko iskanje, račun, košarica; police levo; iskanje na telefonu */
.kos-hsearch { position: relative; display: flex; align-items: center; margin: 0; }
.kos-hsearch input[type="search"] {
  width: 100%; height: 46px; margin: 0; padding: 0 56px 0 22px;
  border: 1px solid #e3c9e1; border-radius: 30px; background: #fff; box-shadow: none; outline: 0;
  color: #333; font-family: inherit; font-size: 15px; -webkit-appearance: none; appearance: none;
}
.kos-hsearch input[type="search"]::placeholder { color: #9a8a99; }
.kos-hsearch input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
.kos-hsearch input[type="search"]:focus { border-color: var(--kos-purple); box-shadow: 0 0 0 3px #f6e3f5; }
.kos-hsearch button {
  position: absolute; top: 4px; right: 4px; width: 38px; height: 38px; padding: 0;
  display: flex; align-items: center; justify-content: center;
  border: 0; border-radius: 50%; background: var(--kos-purple); color: #fff; cursor: pointer;
}
.kos-hsearch button:hover { background: var(--kos-purple-dark); }
.kos-hbar { display: none; }
.kos-msearch { display: none; }

@media (min-width: 992px) {
  header.kos-hdr2 > .container { display: flex !important; align-items: center; gap: 22px; height: auto !important; min-height: 80px; padding-top: 10px; padding-bottom: 10px; }
  header.kos-hdr2 > .container::before, header.kos-hdr2 > .container::after { display: none !important; }
  header.kos-hdr2 .navbar-header { float: none !important; flex: 0 0 auto; margin: 0 !important; }
  header.kos-hdr2 #navbar-collapse-header { display: flex !important; align-items: center; gap: 16px; flex: 1 1 auto; min-width: 0; height: auto !important; margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; overflow: visible !important; }
  header.kos-hdr2 #navbar-collapse-header > ul.navbar-nav { display: flex !important; align-items: center; float: none !important; margin: 0 !important; flex-wrap: nowrap; }
  header.kos-hdr2 #navbar-collapse-header > ul.navbar-nav:not(.navbar-right) { order: 0 !important; flex: 0 0 auto !important; width: auto !important; padding: 0 !important; border: 0 !important; }
  header.kos-hdr2 #navbar-collapse-header > ul.navbar-nav:not(.navbar-right) > li:not(:first-child) { display: none !important; }
  header.kos-hdr2 #navbar-collapse-header > ul.navbar-right { order: 2 !important; margin-left: auto !important; flex: 0 0 auto; }
  header.kos-hdr2 #navbar-collapse-header > ul.navbar-right > li:has(#search-toggle) { display: none !important; }
  header.kos-hdr2 #navbar-collapse-header > ul.navbar-right > li:empty { display: none !important; }
  header.kos-hdr2 .kos-hbar { order: 1; display: flex; align-items: center; gap: 14px; flex: 1 1 auto; min-width: 0; }
  header.kos-hdr2 .kos-hbar .kos-hsearch { flex: 1 1 auto; max-width: 640px; }

  header.kos-hdr2 > .container { position: relative; }
  /* Vedeževanje, Kategorije in iskanje: enaka višina (40px) in enak razmik (14px) */
  header.kos-hdr2 #navbar-collapse-header { gap: 14px !important; margin-left: 14px !important; }
  header.kos-hdr2 #navbar-collapse-header::before, header.kos-hdr2 #navbar-collapse-header::after { display: none !important; content: none !important; }
  header.kos-hdr2 #navbar-collapse-header > ul.navbar-nav:not(.navbar-right) > li:first-child { margin: 0 !important; padding: 0 !important; }
  header.kos-hdr2 #navbar-collapse-header > ul.navbar-nav:not(.navbar-right) > li:first-child > a { display: flex !important; align-items: center; height: 40px !important; margin: 0 !important; box-sizing: border-box; }
  header.kos-hdr2 .kos-hbar { gap: 14px !important; }
  header.kos-hdr2 .kos-hcats__btn { height: 40px; }
  header.kos-hdr2 .kos-hbar .kos-hsearch input[type="search"] { height: 40px; padding-right: 48px; }
  header.kos-hdr2 .kos-hbar .kos-hsearch button { top: 4px; right: 4px; width: 32px; height: 32px; }
  header.kos-hdr2 .kos-hbar .kos-hsearch button svg { width: 17px; height: 17px; }
  .kos-hcats { position: static; flex: 0 0 auto; }
  .kos-hcats__btn {
    display: inline-flex; align-items: center; gap: 10px; height: 46px; padding: 0 18px;
    border: 1px solid #e3c9e1; border-radius: 30px; background: #fff; color: var(--kos-purple-dark);
    font-family: inherit; font-size: 15px; font-weight: 700; cursor: pointer; white-space: nowrap;
  }
  .kos-hcats__btn:hover, .kos-hcats.is-open .kos-hcats__btn { border-color: var(--kos-purple); color: var(--kos-purple); }
  .kos-hcats__btn svg { transition: transform .2s; }
  .kos-hcats.is-open .kos-hcats__btn svg { transform: rotate(180deg); }
  .kos-hcats__ico { display: inline-flex; flex-direction: column; gap: 3px; }
  .kos-hcats__ico i { display: block; width: 16px; height: 2px; border-radius: 2px; background: currentColor; }
  .kos-hcats__panel {
    position: absolute; top: calc(100% - 4px); left: 15px; z-index: 1000; display: none;
    width: 860px; max-width: calc(100% - 30px); min-height: 360px; padding: 0; overflow: hidden;
    border: 1px solid #f0dcef; border-radius: 20px; background: #fff; box-shadow: 0 22px 60px rgba(89, 37, 87, .2);
  }
  .kos-hcats.is-open .kos-hcats__panel { display: flex; }
  .kos-hcats__side { flex: 0 0 270px; margin: 0; padding: 14px; list-style: none; background: #FEF0FF; }
  .kos-hcats__sl {
    display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px; border-radius: 12px;
    color: var(--kos-purple-dark) !important; font-size: 15px; font-weight: 700 !important; text-decoration: none !important;
  }
  .kos-hcats__sl svg { transform: rotate(-90deg); opacity: .6; }
  .kos-hcats__side li.is-active .kos-hcats__sl, .kos-hcats__sl:hover { background: #fff; color: var(--kos-purple) !important; box-shadow: 0 4px 14px rgba(145, 41, 140, .08); }
  .kos-hcats__main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; padding: 22px 26px; }
  .kos-hcats__mh { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid #f0dcef; }
  .kos-hcats__mt { color: var(--kos-purple) !important; font-size: 22px; font-weight: 900 !important; text-decoration: none !important; }
  .kos-hcats__all { color: var(--kos-purple-dark) !important; font-size: 14px; font-weight: 700 !important; text-decoration: none !important; white-space: nowrap; }
  .kos-hcats__all:hover { color: var(--kos-purple) !important; }
  .kos-hcats__chips { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 8px 10px; align-content: start; }
  .kos-hcats__chip {
    display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 14px;
    border: 1px solid #f0dcef; border-radius: 30px; background: #fff;
    color: #4a3b49 !important; font-size: 14px; font-weight: 600 !important; text-decoration: none !important;
  }
  .kos-hcats__chip small { padding: 1px 8px; border-radius: 20px; background: #FEF0FF; color: var(--kos-purple); font-size: 11px; font-weight: 700; }
  .kos-hcats__chip:hover { border-color: var(--kos-purple); background: #FEF0FF; color: var(--kos-purple) !important; }
  .kos-hcats__empty { margin: 0; color: #777; }
  .kos-hcats__blog { margin-top: auto; padding-top: 16px; color: var(--kos-purple) !important; font-size: 14px; font-weight: 700 !important; text-decoration: none !important; }
}

@media (max-width: 991px) {
  header.kos-hdr2 .kos-msearch { display: block; clear: both; padding: 2px 0 12px; }
  header.kos-hdr2 .kos-msearch input[type="search"] { height: 44px; font-size: 16px; }
  header.kos-hdr2 .kos-msearch button { width: 36px; height: 36px; }
}

/* Police v levem stolpcu */
.kos-police { margin: 0 0 24px; padding: 18px 16px 12px; border: 1px solid #f0dcef; border-radius: 18px; background: #fff; }
.kos-police__h { margin: 0 4px 10px; color: var(--kos-purple); font-size: 22px; font-weight: 900; line-height: 1.2; }
.kos-police__list, .kos-shelf__sub { list-style: none; margin: 0; padding: 0; }
.kos-shelf { border-bottom: 1px solid #f6e8f5; }
.kos-shelf:last-child { border-bottom: 0; }
.kos-shelf__row { display: flex; align-items: center; gap: 6px; }
.kos-shelf__name { flex: 1 1 auto; min-width: 0; padding: 10px 6px; color: var(--kos-purple-dark) !important; font-size: 15px; font-weight: 700; text-decoration: none !important; }
.kos-shelf__name:hover, .kos-shelf.is-current > .kos-shelf__row .kos-shelf__name { color: var(--kos-purple) !important; }
.kos-shelf__tog { flex: 0 0 30px; width: 30px; height: 30px; padding: 0; display: flex; align-items: center; justify-content: center; border: 0; border-radius: 50%; background: none; color: var(--kos-purple); cursor: pointer; }
.kos-shelf__tog:hover { background: #FEF0FF; }
.kos-shelf__tog svg { transition: transform .2s; }
.kos-shelf.is-open .kos-shelf__tog svg { transform: rotate(180deg); }
.kos-shelf__sub { display: none; margin: 2px 0 10px; padding: 6px; border-radius: 14px; background: #FEF0FF; }
.kos-shelf.is-open .kos-shelf__sub { display: block; }
.kos-shelf.is-open > .kos-shelf__row .kos-shelf__name { color: var(--kos-purple) !important; }
.kos-shelf__sub li + li { margin-top: 2px; }
.kos-shelf__sub a {
  display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 10px;
  color: #4a3b49 !important; font-size: 14px; font-weight: 500 !important; text-decoration: none !important;
}
.kos-shelf__sub a::before { content: ""; flex: 0 0 6px; width: 6px; height: 6px; border-radius: 50%; background: #d9a9d6; }
.kos-shelf__sub a span { flex: 1 1 auto; min-width: 0; }
.kos-shelf__sub a small { padding: 1px 8px; border-radius: 20px; background: #fff; color: var(--kos-purple); font-size: 11px; font-weight: 700; }
.kos-shelf__sub a:hover, .kos-shelf__sub a.is-current { background: #fff; color: var(--kos-purple) !important; }
.kos-shelf__sub a:hover::before, .kos-shelf__sub a.is-current::before { background: var(--kos-purple); }
.kos-shelf__sub a.is-current { font-weight: 700 !important; }

/* Domača stran: police levo, vsebina desno, skupaj točno v širini velike pasice */
.kos-home-grid > .box { min-width: 0; }
@media (min-width: 992px) {
  .kos-home-grid { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 28px; align-items: start; max-width: 1600px; margin: 34px auto 0; padding: 0 10px; }
  .kos-home-grid > .kos-police { position: sticky; top: 20px; margin: 0; }
  .kos-home-grid .home-cat-tiles { width: 100% !important; max-width: none !important; margin: 0 0 10px !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  .kos-home-grid .home-cat-tiles img { width: 100% !important; height: auto !important; }
  #content .kos-home-grid .kc-block > .kc-title, .kos-home-grid .akcija-block > .akcija-title { margin-left: 0 !important; padding-left: 0 !important; }
  .kos-home-grid .faq-section .container > .row, .kos-home-grid .testimonials-section .container > .row { max-width: none !important; margin-left: -15px !important; margin-right: -15px !important; }
  .kos-home-grid .testimonials-section h2 { padding-left: 15px !important; padding-right: 15px !important; }
  .kos-home-grid .bm-module { width: auto !important; margin-left: 0 !important; margin-right: 0 !important; }
  .kos-home-grid .kc-wrap, .kos-home-grid .akcija-block > .row { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
  .kos-home-grid .faq-section > .container, .kos-home-grid .testimonials-section > .container { max-width: none !important; width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }
  .kos-home-grid .testimonials-section > .container { padding-left: 30px !important; padding-right: 30px !important; }
  .kos-home-grid .bm-latest-post, .kos-home-grid .bm-module { max-width: none !important; }
}
@media (max-width: 991px) {
  .kos-police { display: none !important; }
}

/* 28) Slike na strani izdelka (računalnik): enak okvir kot na telefonu */
@media (min-width: 768px) {
  #product-product .product-detail-box img.img-fluid.rounded:not(.mb-2) { border: 1px solid #6E266E !important; border-radius: 15px !important; background: #fff; }
  #product-product .product-thumbnails img { border: 1px solid #dcc3da !important; border-radius: 10px !important; }
  #product-product .product-thumbnails img.active { border: 2px solid var(--kos-purple) !important; }
}

/* 29) Upsell: okno po dodajanju, blok na blagajni, ponudba pred plačilom */
.kos-up__item { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid #f6e8f5; }
.kos-up__item:last-child { border-bottom: 0; }
.kos-up__img img { display: block; width: 64px; height: 64px; object-fit: cover; border: 1px solid #6E266E; border-radius: 12px; background: #fff; }
.kos-up__name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: #333 !important; font-size: 14px; font-weight: 700; line-height: 1.3; text-decoration: none !important; }
.kos-up__name:hover { color: var(--kos-purple) !important; }
.kos-up__price { margin-top: 3px; font-size: 14px; }
.kos-up__price b { color: var(--kos-purple); }
.kos-up__price s { color: #999; font-size: 12px; }
.kos-up__btn { display: inline-flex; align-items: center; justify-content: center; min-width: 76px; height: 36px; padding: 0 14px; border: 1px solid var(--kos-purple); border-radius: 30px; background: var(--kos-purple); color: #fff !important; font-family: inherit; font-size: 13px; font-weight: 700; text-decoration: none !important; cursor: pointer; white-space: nowrap; }
.kos-up__btn:hover { background: var(--kos-purple-dark); border-color: var(--kos-purple-dark); }
.kos-up__btn--ghost { background: #fff; color: var(--kos-purple) !important; }
.kos-up__btn--ghost:hover { background: #FEF0FF; }
.kos-up__btn.is-busy { opacity: .6; }
.kos-up__btn.is-done { background: #2e9b5f; border-color: #2e9b5f; }
.kos-up__h { margin: 0 0 4px; color: var(--kos-purple-dark); font-size: 16px; font-weight: 800; }

.kos-up--pop {
  position: fixed; right: 20px; bottom: 110px; z-index: 2147483000; width: 360px; max-width: calc(100vw - 32px);
  padding: 18px 18px 14px; border: 1px solid #f0dcef; border-radius: 18px; background: #fff;
  box-shadow: 0 18px 50px rgba(89, 37, 87, .25);
  opacity: 0; transform: translateY(16px); transition: opacity .25s ease, transform .25s ease;
}
.kos-up--pop.is-in { opacity: 1; transform: none; }
.kos-up__x { position: absolute; top: 8px; right: 10px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: #FEF0FF; color: var(--kos-purple); font-size: 20px; line-height: 1; cursor: pointer; }
.kos-up__ok { display: flex; align-items: center; gap: 8px; margin: 0 40px 10px 0; color: #2e9b5f; font-size: 15px; font-weight: 700; }
.kos-up__ok span { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: #2e9b5f; color: #fff; font-size: 13px; }
.kos-up__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; padding-top: 12px; border-top: 1px solid #f0dcef; }
.kos-up__go { display: inline-flex; align-items: center; height: 40px; padding: 0 18px; border-radius: 30px; background: var(--kos-purple-dark); color: #fff !important; font-weight: 700; text-decoration: none !important; }
.kos-up__more { border: 0; background: none; color: var(--kos-purple); font-family: inherit; font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
@media (max-width: 767px) {
  .kos-up--pop { left: 0; right: 0; bottom: 0; width: auto; max-width: none; border-radius: 20px 20px 0 0; padding-bottom: calc(14px + env(safe-area-inset-bottom)); transform: translateY(100%); }
}

.kos-up--co { margin: 0 0 22px; padding: 18px 20px; border: 1px solid #6E266E; border-radius: 15px; background: #fff; }
.kos-up--co .kos-up__h { margin-bottom: 6px; }
.kos-up--co .kos-up__item { animation: kosUpIn .45s ease both; }
.kos-up--co .kos-up__item:nth-child(2) { animation-delay: .08s; }
.kos-up--co .kos-up__item:nth-child(3) { animation-delay: .16s; }
.kos-up--co .kos-up__item:nth-child(4) { animation-delay: .24s; }
.kos-up--co .kos-up__btn:not(.is-done) { animation: kosUpPulse 2.6s ease-in-out 1.2s 3; }
@keyframes kosUpIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes kosUpPulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.07); } }
@media (max-width: 767px) {
  .kos-up--co { padding: 14px 16px; }
}
@media (prefers-reduced-motion: reduce) { .kos-up--co .kos-up__item, .kos-up--co .kos-up__btn { animation: none !important; } }

.kos-flash { position: fixed; inset: 0; z-index: 2147483600; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(22, 13, 51, .55); opacity: 0; transition: opacity .2s; }
.kos-flash.is-in { opacity: 1; }
.kos-flash__card { position: relative; width: 420px; max-width: 100%; padding: 26px 24px 20px; border-radius: 22px; background: #fff; box-shadow: 0 24px 60px rgba(22, 13, 51, .35); text-align: center; }
.kos-flash__x { position: absolute; top: 10px; right: 12px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: #FEF0FF; color: var(--kos-purple); font-size: 22px; line-height: 1; cursor: pointer; }
.kos-flash__tag { display: inline-block; margin-bottom: 10px; padding: 5px 14px; border-radius: 30px; background: #FEF0FF; color: var(--kos-purple); font-size: 13px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; }
.kos-flash__h { margin: 0 0 16px; color: var(--kos-purple-dark); font-size: 21px; font-weight: 800; line-height: 1.25; }
.kos-flash__p { display: flex; align-items: center; gap: 14px; padding: 12px; border: 1px solid #f0dcef; border-radius: 15px; text-align: left; }
.kos-flash__p img { flex: 0 0 80px; width: 80px; height: 80px; object-fit: cover; border: 1px solid #6E266E; border-radius: 12px; }
.kos-flash__name { color: #333; font-size: 15px; font-weight: 700; line-height: 1.3; }
.kos-flash__price { margin-top: 6px; font-size: 16px; }
.kos-flash__price s { color: #999; font-size: 14px; }
.kos-flash__price b { color: var(--kos-purple); font-size: 20px; }
.kos-flash__time { margin: 14px 0 6px; color: #555; font-size: 14px; }
.kos-flash__time b { color: var(--kos-purple); }
.kos-flash__bar { height: 6px; margin: 0 0 16px; border-radius: 6px; background: #f6e3f5; overflow: hidden; }
.kos-flash__bar i { display: block; width: 100%; height: 100%; border-radius: 6px; background: var(--kos-purple); transition: width 1s linear; }
.kos-flash__yes { display: block; width: 100%; height: 52px; border: 0; border-radius: 30px; background: var(--kos-purple); color: #fff; font-family: inherit; font-size: 17px; font-weight: 700; cursor: pointer; }
.kos-flash__yes:hover { background: var(--kos-purple-dark); }
.kos-flash__yes:disabled { background: #c9b6c8; cursor: default; }
.kos-flash__no { margin-top: 10px; border: 0; background: none; color: #777; font-family: inherit; font-size: 14px; text-decoration: underline; cursor: pointer; }

/* 31) Iskanje: predlogi med tipkanjem */
.kos-sug {
  position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 1002; display: none;
  max-height: min(72vh, 620px); overflow-y: auto; padding: 10px; text-align: left;
  border: 1px solid #f0dcef; border-radius: 18px; background: #fff; box-shadow: 0 22px 60px rgba(89, 37, 87, .2);
}
.kos-hsearch.is-sug .kos-sug { display: block; }
.kos-sug__h { margin: 6px 8px 6px; color: #9a8a99; font-size: 11px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; }
.kos-sug__cats { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 6px 8px; }
.kos-sug__c { padding: 6px 12px; border-radius: 20px; background: #FEF0FF; color: var(--kos-purple) !important; font-size: 13px; font-weight: 700; text-decoration: none !important; }
.kos-sug__c:hover, .kos-sug__c.is-active { background: var(--kos-purple); color: #fff !important; }
.kos-sug__p { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 7px 8px; border-radius: 12px; color: #3a2f40 !important; text-decoration: none !important; }
.kos-sug__p img { width: 52px; height: 52px; border: 1px solid #f0dcef; border-radius: 10px; object-fit: cover; background: #fff; }
.kos-sug__n { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 14px; font-weight: 600; line-height: 1.3; }
.kos-sug__pr { font-size: 14px; white-space: nowrap; text-align: right; }
.kos-sug__pr b { color: var(--kos-purple); font-weight: 800; }
.kos-sug__pr s { display: block; color: #9a8a99; font-size: 12px; }
.kos-sug__p:hover, .kos-sug__p.is-active { background: #FEF0FF; }
.kos-sug__all { display: block; margin: 8px 4px 2px; padding: 11px; border-radius: 30px; background: var(--kos-purple); color: #fff !important; font-size: 14px; font-weight: 700; text-align: center; text-decoration: none !important; }
.kos-sug__all:hover, .kos-sug__all.is-active { background: var(--kos-purple-dark); }
.kos-sug__none { padding: 14px 10px; color: #5a4c59; font-size: 14px; line-height: 1.5; }
@media (min-width: 992px) { .kos-hbar .kos-sug { min-width: 460px; } }

/* 32) Domača stran: "Kaj pravijo naše stranke?" kot samostojna roza sekcija čez celo širino */
.kos-home-after { margin-top: 40px; }
.kos-home-after .testimonials-section {
  position: relative; margin: 0 0 40px; padding: 56px 0 60px;
  background: #FCF5FC; box-shadow: 0 0 0 100vmax #FCF5FC; clip-path: inset(0 -100vmax);
}
@media (min-width: 992px) {
  .kos-home-after { max-width: 1600px; margin-left: auto; margin-right: auto; padding: 0 10px; }
  .kos-home-after .testimonials-section > .container { max-width: none !important; width: 100% !important; padding: 0 !important; }
  .kos-home-after .testimonials-section h2 { margin-left: 0 !important; padding: 0 15px !important; }
  .kos-home-after .testimonials-section .container > .row { max-width: none !important; margin-left: -15px !important; margin-right: -15px !important; }
  .kos-home-after .bm-module { width: auto !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
}

/* 33) Filtri: "Razvrsti" ločeno skrajno desno */
.kfl .kfl__bar .kfl__chip--sort { order: 99; }
.kfl .kfl__bar .kfl__chip--sort .kfl__sortval { color: var(--kos-purple); font-weight: 800; }
@media (min-width: 768px) {
  .kfl .kfl__bar .kfl__chip--sort { margin-left: auto !important; background: #FEF0FF; border-color: #e3c9e1; }
}

/* 34) Stran iskanja: naslov, iskalnik in zadetki kot celota; 5 izdelkov v vrsti */
#product-search .kos-sh1 { margin: 6px 0 4px !important; color: var(--kos-purple-dark); font-size: 34px; font-weight: 900; line-height: 1.2; }
#product-search .kos-sh1 span { color: var(--kos-purple); }
#product-search .kos-scount { margin: 0 0 18px; color: #7a6a79; font-size: 15px; font-weight: 600; }
#product-search .kos-hide-h { display: none !important; }
#product-search .kos-sform { margin: 0 0 26px; padding: 18px 20px 14px; border: 1px solid #f0dcef; border-radius: 20px; background: #FEF0FF; }
#product-search .kos-sform__fields { max-width: none; grid-template-columns: minmax(0, 1fr) 260px 160px; }
#product-search .kos-sform__fields .form-control { background: #fff; }
#product-search .kos-sform__opts { margin-top: 10px; font-size: 14px; }
@media (min-width: 992px) {
  #product-search #content > .row { max-width: none !important; margin-left: -15px !important; margin-right: -15px !important; }
  #product-search #kosmika-filter { margin-left: 0 !important; margin-right: 0 !important; }
  #product-search #content.kfl-full .product-layout.product-grid, #product-search #content .product-layout.product-grid { flex: 0 0 25% !important; max-width: 25% !important; width: 25% !important; }
}
@media (min-width: 1200px) {
  #product-search #content.kfl-full .product-layout.product-grid, #product-search #content .product-layout.product-grid { flex: 0 0 20% !important; max-width: 20% !important; width: 20% !important; }
}
@media (max-width: 767px) {
  #product-search .kos-sh1 { font-size: 26px; }
  #product-search .kos-sform { padding: 14px; }
  #product-search .kos-sform__fields { grid-template-columns: minmax(0, 1fr); }
}

/* 35) Blagajna (računalnik): levo vse po vrsti (podatki, dostava, plačilo, izdelki, koda, pogoji + Nadaljujte),
   desno samo "Priporočamo vam še" / posebna ponudba, ki ostane vidna med pomikanjem */
@media (min-width: 992px) {
  #quickcheckoutconfirm { width: auto !important; max-width: none !important; float: none !important; }
  #quickcheckout-disable { display: grid !important; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); grid-template-rows: repeat(8, auto); column-gap: 28px; row-gap: 0; align-items: start; }
  #quickcheckout-disable::before, #quickcheckout-disable::after { display: none !important; content: none !important; }
  #quickcheckout-disable > .quickcheckoutleft, #quickcheckout-disable > .quickcheckoutright { display: contents !important; }
  #quickcheckout-disable > div:empty { display: none !important; }
  #quickcheckout-disable > .quickcheckoutleft > *, #quickcheckout-disable > .quickcheckoutright > * { grid-column: 1; order: 9; margin: 0 0 20px !important; float: none !important; width: auto !important; }
  #quickcheckoutconfirm #payment-address { order: 1; }
  #quickcheckoutconfirm #shipping-address { order: 2; }
  #quickcheckoutconfirm #shipping-method { order: 3; }
  #quickcheckoutconfirm #payment-method { order: 4; }
  #quickcheckoutconfirm #cart1 { order: 5; }
  #quickcheckoutconfirm #voucher { order: 6; }
  #quickcheckoutconfirm .quickcheckoutmid.kos-co-mid { order: 7; }
  #quickcheckoutconfirm .kpn-deal { grid-column: 2 !important; grid-row: 1 / -1; order: 0; align-self: start; position: sticky; top: 20px; max-height: calc(100vh - 40px); overflow-y: auto; margin: 0 !important; }
  #quickcheckoutconfirm #payment-method textarea { height: 90px !important; min-height: 90px !important; }
}

/* 36) Trak "Še X € do brezplačne dostave": vijolično ozadje, rdeča animirana črta napredka s tovornjakom */
body .kpn-free {
  position: relative; max-width: 760px; margin: 0 auto 22px !important; padding: 13px 22px 16px !important;
  border: 0 !important; border-radius: 18px !important; background: linear-gradient(110deg, #3f1745 0%, #592557 40%, #91298C 100%) !important;
  color: #fff !important; font-size: 15px !important; font-weight: 600; line-height: 1.45; text-align: center;
  box-shadow: 0 10px 28px rgba(89, 37, 87, .35); overflow: visible !important;
}
body .kpn-free b { color: #F6C9F2 !important; font-weight: 800; }
body .kpn-free b:first-of-type { display: inline-block; padding: 1px 10px; border-radius: 20px; background: #e5173f; color: #fff !important; box-shadow: 0 0 0 0 rgba(229, 23, 63, .6); animation: kosPulse 1.8s ease-out infinite; }
body .kpn-free__bar { position: relative; height: 12px !important; margin: 11px auto 2px !important; max-width: 580px; border-radius: 12px !important; background: rgba(255, 255, 255, .18) !important; overflow: visible !important; }
body .kpn-free__bar i {
  position: relative; display: block; height: 100%; border-radius: 12px !important; overflow: visible !important;
  background: linear-gradient(90deg, #ff4d6d, #e5173f) !important;
  box-shadow: 0 0 12px rgba(255, 77, 109, .75);
}
body .kpn-free__bar i::before {
  content: ""; position: absolute; inset: 0; border-radius: 12px;
  background-image: repeating-linear-gradient(-45deg, rgba(255, 255, 255, .28) 0 8px, transparent 8px 16px);
  background-size: 22.6px 22.6px; animation: kosStripes .9s linear infinite;
}
body .kpn-free__bar i::after {
  content: "🚚"; position: absolute; right: -14px; top: 50%; font-size: 20px; line-height: 1;
  transform: translateY(-58%) scaleX(-1); filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .35)); animation: kosTruck .7s ease-in-out infinite alternate;
}
body .kpn-free.is-free { background: linear-gradient(110deg, #1e7b3a, #2e9e44) !important; }
body .kpn-free.is-free b, body .kpn-free.is-free b:first-of-type { background: none; color: #fff !important; animation: none; padding: 0; }
body .kpn-free.is-free .kpn-free__bar i { background: linear-gradient(90deg, #b8f5c8, #fff) !important; box-shadow: 0 0 12px rgba(255, 255, 255, .6); }
@keyframes kosStripes { to { background-position: 22.6px 0; } }
@keyframes kosTruck { from { transform: translateY(-58%) scaleX(-1); } to { transform: translateY(-72%) scaleX(-1); } }
@keyframes kosPulse { 0% { box-shadow: 0 0 0 0 rgba(229, 23, 63, .6); } 70% { box-shadow: 0 0 0 9px rgba(229, 23, 63, 0); } 100% { box-shadow: 0 0 0 0 rgba(229, 23, 63, 0); } }
@media (prefers-reduced-motion: reduce) { body .kpn-free__bar i::before, body .kpn-free__bar i::after, body .kpn-free b:first-of-type { animation: none; } }
@media (max-width: 767px) { body .kpn-free { margin: 0 0 16px !important; font-size: 14px !important; padding: 11px 16px 14px !important; } }

/* 37) Police: ime odpre kategorijo, puščica ali prazen del vrstice odpre podkategorije */
.kos-shelf__row.has-sub { cursor: pointer; border-radius: 10px; }
.kos-shelf__row.has-sub:hover { background: #FEF0FF; }
.kos-shelf__row.has-sub .kos-shelf__name { flex: 0 1 auto; margin-right: auto; }
.kos-hcats__side li .kos-hcats__sl.is-plain:hover { box-shadow: none; }

/* 38) Domača stran: mreža in sekcija pod njo točno v širini pasice (tudi na 1024 px) */
@media (min-width: 992px) {
  .kos-home-grid, .kos-home-after { max-width: var(--kos-cw, 1600px) !important; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .kos-home-grid { grid-template-columns: 210px minmax(0, 1fr) !important; gap: 20px !important; }
  .kos-police { padding: 14px 12px 10px; }
  .kos-police__h { font-size: 19px; }
  .kos-shelf__name { font-size: 14px; }
}

/* 39) Blagajna: pogoji in gumb "Nadaljujte" levo, takoj pod zneskom in kodo za popust */
@media (min-width: 992px) {
  #quickcheckoutconfirm .quickcheckoutleft .quickcheckoutmid.kos-co-mid { width: auto !important; float: none !important; margin: 0 0 20px !important; }
}

/* 40) Izdelki 5 v vrsti povsod (kategorije, iskanje, akcije, proizvajalci) */
@media (min-width: 1200px) {
  #product-category #content .product-layout.product-grid, #product-category #column-left ~ #content .product-layout.product-grid,
  #product-special #content .product-layout.product-grid, #product-manufacturer #content .product-layout.product-grid,
  #product-search #content .product-layout.product-grid {
    flex: 0 0 20% !important; max-width: 20% !important; width: 20% !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  #product-category #content .product-layout.product-grid, #product-category #column-left ~ #content .product-layout.product-grid,
  #product-special #content .product-layout.product-grid, #product-manufacturer #content .product-layout.product-grid {
    flex: 0 0 25% !important; max-width: 25% !important; width: 25% !important;
  }
}

@media (min-width: 992px) {
  #product-category #content > .row, #product-special #content > .row, #product-manufacturer #content > .row { max-width: none !important; margin-left: -15px !important; margin-right: -15px !important; }
  #product-category #content .product-layout.product-grid, #product-special #content .product-layout.product-grid,
  #product-manufacturer #content .product-layout.product-grid, #product-search #content .product-layout.product-grid { padding-left: 8px !important; padding-right: 8px !important; }
}

/* 41) Kartica izdelka: ob prehodu z miško se slika rahlo in kratko približa (6 %); dvig kartice ostane */
.product-thumb .image { overflow: hidden; }
.product-thumb .image img { transform: scale(1); transform-origin: 50% 50%; transition: transform .6s ease-out !important; will-change: transform; }
.product-thumb:hover .image img, .product-thumb:focus-within .image img { transform: scale(1.06); transition: transform 1.2s ease-out !important; }
@media (prefers-reduced-motion: reduce) { .product-thumb:hover .image img { transform: none; } }

/* 42) Laptop (992–1199 px): ista glava kot na velikih zaslonih – brez menija "hamburger",
   Vedeževanje po telefonu, Kategorije, iskanje, račun in košarica v eni vrsti */
@media (min-width: 992px) {
  header.kos-hdr2 .navbar-header .navbar-toggle, header.kos-hdr2 .navbar-header #cart-toggle-mobile { display: none !important; }
  header.kos-hdr2 #navbar-collapse-header { position: static !important; width: auto !important; max-height: none !important; background: transparent !important; visibility: visible !important; }
  header.kos-hdr2 #navbar-collapse-header > ul.navbar-nav > li { float: none !important; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  header.kos-hdr2 > .container { gap: 14px !important; }
  header.kos-hdr2 .navbar-header { min-width: 0 !important; width: auto !important; }
  header.kos-hdr2 .navbar-brand img { width: 118px !important; }
  header.kos-hdr2 #navbar-collapse-header { margin-left: 4px !important; }
  header.kos-hdr2 #navbar-collapse-header > ul.navbar-nav:not(.navbar-right) > li:first-child > a { padding: 0 16px !important; font-size: 14px !important; }
  header.kos-hdr2 .kos-hcats__btn { padding: 0 14px; font-size: 14px; }
}

/* 43) Blagajna: koda za popust je vedno odprta (ni treba klikniti naslova) */
#quickcheckoutconfirm #coupon-content { display: block !important; height: auto !important; }
#quickcheckoutconfirm #coupon-heading { pointer-events: none; cursor: default; margin-bottom: 12px; }

/* 44) Blagajna na telefonu: trak z več prostora, nato podatki, dostava, plačilo, izdelki,
   (posebna ponudba je čisto na vrhu, takoj pod trakom), koda za popust, pogoji in gumb */
@media (max-width: 991px) {
  body .kpn-free { margin: 6px 0 26px !important; }
  #quickcheckout-disable { display: flex !important; flex-direction: column; }
  #quickcheckout-disable::before, #quickcheckout-disable::after { display: none !important; content: none !important; }
  #quickcheckout-disable > .quickcheckoutleft, #quickcheckout-disable > .quickcheckoutright { display: contents !important; }
  #quickcheckout-disable > div:empty { display: none !important; }
  #quickcheckout-disable > *, #quickcheckout-disable > .quickcheckoutleft > *, #quickcheckout-disable > .quickcheckoutright > * { order: 9; width: auto !important; float: none !important; margin: 0 0 16px !important; }
  #quickcheckoutconfirm #payment-address { order: 1; }
  #quickcheckoutconfirm #shipping-address { order: 2; }
  #quickcheckoutconfirm #shipping-method { order: 3; }
  #quickcheckoutconfirm #payment-method { order: 4; }
  #quickcheckoutconfirm #cart1 { order: 5; }
  #quickcheckoutconfirm .kpn-deal { order: 0; padding: 14px 12px 10px !important; }
  #quickcheckoutconfirm #voucher { order: 7; }
  #quickcheckoutconfirm .kpn-list { display: flex !important; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 2px 2px 8px; -webkit-overflow-scrolling: touch; }
  #quickcheckoutconfirm .kpn-item {
    flex: 0 0 44% !important; max-width: 170px; scroll-snap-align: start; display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 8px !important;
    margin: 0 !important; padding: 8px !important; border: 1px solid #f0dcef !important; border-radius: 14px; background: #fff;
  }
  #quickcheckoutconfirm .kpn-item > a:first-child { display: block; }
  #quickcheckoutconfirm .kpn-item img { width: 100% !important; height: auto !important; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 10px !important; }
  #quickcheckoutconfirm .kpn-item__b { flex: 1 1 auto; min-width: 0; }
  #quickcheckoutconfirm .kpn-item__n { display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em; font-size: 13px !important; line-height: 1.3 !important; }
  #quickcheckoutconfirm .kpn-item__p { margin-top: 4px; font-size: 14px !important; white-space: nowrap; }
  #quickcheckoutconfirm .kpn-item__p s { margin-right: 4px; font-size: 12px; }
  #quickcheckoutconfirm .kpn-item .kpn-btn { width: 100% !important; margin: 0 !important; padding: 9px 6px !important; font-size: 13px !important; text-align: center; white-space: nowrap; }
  #quickcheckoutconfirm .kpn-deal__top { flex-wrap: nowrap; }
  #quickcheckoutconfirm .kpn-deal__h { font-size: 16px !important; }
  #quickcheckoutconfirm .quickcheckoutmid { margin-top: 0 !important; }
}

/* 45) Iskanje: naslov "Rezultati iskanja" + iskana beseda v roza okvirčku */
#product-search .kos-sh1 .kos-sq { display: inline-block; margin-left: 10px; padding: 2px 18px 4px; border-radius: 30px; background: #FEF0FF; border: 1px solid #ecd3eb; color: var(--kos-purple); font-size: .78em; font-weight: 800; vertical-align: middle; }

/* 46) Stran izdelka: Podobni izdelki – 5 v vrsti */
section.related-products.kos-similar > .row { display: flex; flex-wrap: wrap; max-width: none !important; margin-left: -8px !important; margin-right: -8px !important; }
section.related-products.kos-similar .product-layout { padding-left: 8px !important; padding-right: 8px !important; }
@media (min-width: 1200px) {
  section.related-products.kos-similar .product-layout { flex: 0 0 20% !important; max-width: 20% !important; width: 20% !important; }
}
section.related-products.kos-similar .product-thumb .price-old { margin-left: 6px; color: #9a8a99; font-size: 13px; text-decoration: line-through; }

/* 47) Blagajna na telefonu: koda za popust – polje čez celo širino, gumb pod njim */
@media (max-width: 767px) {
  #quickcheckoutconfirm #coupon-content .input-group { display: flex !important; flex-direction: column; gap: 10px; width: 100%; }
  #quickcheckoutconfirm #coupon-content .input-group .form-control { width: 100% !important; float: none !important; border-radius: 30px !important; }
  #quickcheckoutconfirm #coupon-content .input-group-btn { display: block !important; width: 100% !important; }
  #quickcheckoutconfirm #coupon-content #button-coupon { width: 100% !important; margin: 0 !important; border-radius: 30px !important; }
}

/* 48) Domača stran na prenosniku (992–1199 px): brez levega stolpca "Kategorije" (gumb Kategorije je v glavi),
   vsebina čez celo širino pasice, "Znižano" 5 v vrsti */
@media (min-width: 992px) and (max-width: 1199px) {
  .kos-home-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .kos-home-grid > .kos-police { display: none !important; }
  .kos-home-grid .akcija-block > .row { display: flex !important; flex-wrap: wrap; }
  .kos-home-grid .akcija-block > .row::before, .kos-home-grid .akcija-block > .row::after { display: none !important; content: none !important; }
  .kos-home-grid .akcija-block .row > .product-layout, .kos-home-grid .akcija-block .row > .product-layout:nth-child(n) { flex: 0 0 20% !important; max-width: 20% !important; width: 20% !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 6px !important; padding-right: 6px !important; }
}

/* 49) Glava (računalnik in prenosnik): logotip enako visok kot Vedeževanje, Kategorije in iskanje */
@media (min-width: 992px) {
  header.kos-hdr2 .navbar-header { align-self: center; margin: 0 !important; padding: 0 !important; min-height: 0 !important; height: auto !important; }
  header.kos-hdr2 .navbar-header .navbar-brand { display: flex !important; align-items: center; height: auto !important; padding: 0 !important; margin: 0 !important; }
  header.kos-hdr2 .navbar-header .navbar-brand img { height: 44px !important; max-height: none !important; width: auto !important; max-width: none !important; }
}

/* Tema ima na body "overflow-x: hidden", zato "sticky" ni delal; clip prepreči vodoravno drsenje enako, sticky pa deluje */
@supports (overflow: clip) {
  html body { overflow-x: clip !important; overflow-y: visible !important; }
}
.kos-home-grid > .kos-police { position: static !important; }

/* 30) Novo v ponudbi: oznaka "Novo" na sliki */
.kc-new .product-thumb .image { position: relative; }
.kc-new__badge {
  position: absolute; top: 10px; left: 10px; z-index: 2; padding: 4px 11px; border-radius: 20px;
  background: var(--kos-purple, #91298C); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .6px;
  line-height: 1.2; text-transform: uppercase; pointer-events: none; box-shadow: 0 3px 10px rgba(89, 37, 87, .25);
}
.kc-new__anchor { display: block; position: relative; top: -90px; visibility: hidden; }


/* 51) Kartice izdelkov povsod: enaka višina, cena + gumb "Dodaj" v isti liniji na dnu */
.product-layout:has(.kos-has-cbtn) { display: flex; }
.product-layout:has(.kos-has-cbtn) > .product-thumb { flex: 1 1 auto; width: 100%; }
.product-thumb.kos-has-cbtn { display: flex !important; flex-direction: column; height: 100%; }
.product-thumb.kos-has-cbtn > .caption,
.product-thumb.kos-has-cbtn .caption { display: flex !important; flex-direction: column; flex: 1 1 auto; }
.swiper-slide > .product-thumb.kos-has-cbtn, .owl-item .product-thumb.kos-has-cbtn, .slick-slide .product-thumb.kos-has-cbtn { height: 100%; }
.swiper-wrapper:has(.kos-has-cbtn) > .swiper-slide { height: auto; display: flex; }
.owl-stage:has(.kos-has-cbtn) { display: flex; }
.owl-stage:has(.kos-has-cbtn) > .owl-item { display: flex; }
.owl-stage:has(.kos-has-cbtn) > .owl-item > * { width: 100%; display: flex; }
.slick-track:has(.kos-has-cbtn) { display: flex !important; }
.slick-track:has(.kos-has-cbtn) > .slick-slide { height: auto !important; display: flex !important; }
.slick-track:has(.kos-has-cbtn) > .slick-slide > div { width: 100%; display: flex; }
.product-thumb .kos-prow { order: 50; display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto !important; padding-top: 12px; padding-bottom: 16px; container-type: inline-size; }
.product-thumb .kos-prow .price { flex: 1 1 auto; min-width: 0; margin: 0 !important; text-align: left !important; }
.product-thumb .kos-prow .price { display: flex !important; flex-direction: column; justify-content: center; align-items: flex-start; line-height: 1.15 !important; white-space: nowrap; }
.product-thumb .kos-prow .price .price-tax { display: none !important; }
.product-thumb .kos-prow .price .price-old { order: -1; display: block; margin: 0 0 3px !important; padding: 0 !important; color: #9b8f9e !important; font-size: 13px !important; font-weight: 600 !important; text-decoration: line-through; }
.product-thumb .kos-prow .price .price-new { display: block; margin: 0 !important; color: #e5173f !important; }
.kos-cbtn {
  flex: 0 0 auto; width: auto; min-width: 0; height: 38px; padding: 0 16px; display: inline-flex; align-items: center; justify-content: center;
  border: 0; border-radius: 12px; background: var(--kos-purple, #91298C); color: #fff; cursor: pointer;
  font-family: inherit; font-size: 14px; font-weight: 700; line-height: 1; letter-spacing: .2px; white-space: nowrap;
  box-shadow: 0 4px 12px rgba(145, 41, 140, .22); transition: background .15s, box-shadow .15s;
}
.kos-cbtn:hover, .kos-cbtn:focus-visible { background: var(--kos-purple-dark, #592557); box-shadow: 0 6px 16px rgba(89, 37, 87, .3); outline: 0; }
.kos-cbtn.is-busy { opacity: .6; pointer-events: none; }
.kos-cbtn.is-done { background: #2e9e44; }
@container (max-width: 175px) { .product-thumb .kos-prow { gap: 6px; } .kos-cbtn { height: 34px; padding: 0 11px; font-size: 13px; } .product-thumb .kos-prow .price .price-tax { font-size: 10.5px; white-space: normal; line-height: 1.25; } }
@media (max-width: 575px) { .kos-cbtn { height: 36px; padding: 0 13px; font-size: 13.5px; } .product-thumb .kos-prow { padding-bottom: 14px; } }

/* Obvestilo "dodano v košarico" */
.kos-toast { position: fixed; left: 50%; bottom: 24px; z-index: 100000; display: flex; align-items: center; gap: 12px; padding: 12px 14px 12px 18px; border-radius: 40px; background: #592557; color: #fff; font-size: 14px; font-weight: 700; box-shadow: 0 12px 34px rgba(0, 0, 0, .25); transform: translate(-50%, 30px); opacity: 0; transition: transform .25s, opacity .25s; }
.kos-toast.is-in { transform: translate(-50%, 0); opacity: 1; }
.kos-toast > span { display: inline-flex; width: 22px; height: 22px; align-items: center; justify-content: center; border-radius: 50%; background: #2e9e44; font-size: 13px; }
.kos-toast__go { padding: 7px 14px; border-radius: 30px; background: #fff; color: #592557 !important; text-decoration: none !important; white-space: nowrap; }

/* Okno za izbiro možnosti */
html.kos-opt-open { overflow: hidden; }
.kos-opt { position: fixed; inset: 0; z-index: 100001; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(40, 14, 44, .55); opacity: 0; transition: opacity .2s; }
.kos-opt.is-in { opacity: 1; }
.kos-opt__card { position: relative; display: grid; grid-template-columns: 290px minmax(0, 1fr); align-items: start; width: 720px; max-width: 100%; max-height: calc(100vh - 32px); overflow: hidden; border-radius: 22px; background: #fff; box-shadow: 0 30px 80px rgba(0, 0, 0, .35); }
.kos-opt__x { position: absolute; top: 10px; right: 12px; z-index: 2; width: 38px; height: 38px; border: 0; border-radius: 50%; background: #FEF0FF; color: #592557; font-size: 24px; line-height: 1; cursor: pointer; }
.kos-opt__img { background: #fff; display: flex; align-items: center; justify-content: center; }
.kos-opt__img { padding: 20px 0 20px 20px; }
.kos-opt__img img { width: 100%; height: auto; max-height: 330px; object-fit: contain; display: block; border-radius: 14px; transition: opacity .2s; }
.kos-opt__body { display: flex; flex-direction: column; min-height: 0; max-height: calc(100vh - 32px); padding: 24px 22px 18px; overflow-y: auto; }
.kos-opt__n { margin-right: 40px; color: #592557 !important; font-size: 19px; font-weight: 900; line-height: 1.25; text-decoration: none !important; }
.kos-opt__pr { margin: 6px 0 14px; color: var(--kos-purple, #91298C); font-size: 21px; font-weight: 900; }
.kos-opt__g { margin-bottom: 16px; }
.kos-opt__l { margin-bottom: 8px; color: #333; font-size: 14px; font-weight: 800; }
.kos-opt__l i { color: #e5173f; font-style: normal; }
.kos-opt__vals { display: flex; flex-wrap: wrap; gap: 8px; }
.kos-opt__v { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border: 1px solid #e3c9e1; border-radius: 30px; background: #fff; color: #3a2f40; font-size: 14px; font-weight: 600; cursor: pointer; transition: border-color .15s, background .15s; }
.kos-opt__v img { width: 28px; height: 28px; margin-left: -6px; border-radius: 50%; object-fit: cover; }
.kos-opt__v small { color: #91298C; font-weight: 700; }
.kos-opt__v:hover { border-color: #91298C; }
.kos-opt__v.is-on { border-color: #91298C; background: #91298C; color: #fff; }
.kos-opt__v.is-on small { color: #FEF0FF; }
.kos-opt__t { width: 100%; padding: 10px 14px; border: 1px solid #e3c9e1; border-radius: 14px; font: inherit; }
.kos-opt__more { color: #91298C !important; font-weight: 700; }
.kos-opt__err { margin-top: 6px; color: #e5173f; font-size: 13px; font-weight: 700; }
.kos-opt__err:empty { display: none; }
.kos-opt__foot { position: sticky; bottom: -20px; display: flex; align-items: center; gap: 12px; margin-top: auto; padding: 12px 0 4px; background: #fff; }
.kos-opt__q { display: flex; align-items: center; border: 1px solid #e3c9e1; border-radius: 30px; overflow: hidden; }
.kos-opt__q button { width: 38px; height: 44px; border: 0; background: #FEF0FF; color: #592557; font-size: 18px; font-weight: 700; cursor: pointer; }
.kos-opt__q input { width: 44px; height: 44px; border: 0; text-align: center; font-weight: 700; -moz-appearance: textfield; }
.kos-opt__q input::-webkit-inner-spin-button { -webkit-appearance: none; }
.kos-opt__add { flex: 1 1 auto; display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 48px; border: 0; border-radius: 30px; background: #91298C; color: #fff; font-size: 15px; font-weight: 800; cursor: pointer; box-shadow: 0 8px 20px rgba(145, 41, 140, .3); }
.kos-opt__add:hover { background: #592557; }
.kos-opt__add:disabled { opacity: .6; }
.kos-opt__add.is-done, .kos-opt__add.is-done:disabled { background: #2e9e44; opacity: 1; }
.kos-opt__msg { margin-top: 8px; color: #e5173f; font-size: 13px; font-weight: 700; }

/* Spustni seznam možnosti v pojavnem oknu */
.kos-dd { position: relative; }
.kos-dd__btn { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 46px; padding: 6px 12px 6px 14px; border: 1px solid #e3c9e1; border-radius: 12px; background: #fff; color: #3a2f40; font: inherit; font-size: 14px; font-weight: 600; text-align: left; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.kos-dd__btn:hover, .kos-dd.is-open .kos-dd__btn { border-color: #91298C; box-shadow: 0 0 0 3px rgba(145, 41, 140, .1); }
.kos-dd__cur { display: flex; align-items: center; gap: 10px; min-width: 0; }
.kos-dd__cur span { overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height: 1.3; }
.kos-dd__cur img { flex: 0 0 30px; width: 30px; height: 30px; border-radius: 8px; object-fit: cover; }
.kos-dd__cur small { flex: 0 0 auto; color: #91298C; font-weight: 700; }
.kos-dd__ph { color: #8a7a8e; font-weight: 500; }
.kos-dd__chev { flex: 0 0 18px; color: #91298C; transition: transform .2s; }
.kos-dd.is-open .kos-dd__chev { transform: rotate(180deg); }
.kos-dd__list { display: none; position: fixed; z-index: 100002; margin: 0; max-height: 260px; overflow-y: auto; padding: 4px; border: 1px solid #e3c9e1; border-radius: 12px; background: #fff; box-shadow: 0 12px 28px rgba(89, 37, 87, .14); overscroll-behavior: contain; }
.kos-dd.is-open .kos-dd__list { display: block; }
.kos-opt__v.kos-dd__it { display: flex; width: 100%; gap: 10px; padding: 8px 10px; border: 0; border-radius: 9px; background: transparent; color: #3a2f40; font-size: 13.5px; font-weight: 600; line-height: 1.3; text-align: left; }
.kos-opt__v.kos-dd__it + .kos-dd__it { margin-top: 2px; }
.kos-opt__v.kos-dd__it img { flex: 0 0 30px; width: 30px; height: 30px; margin: 0; border-radius: 8px; }
.kos-opt__v.kos-dd__it span { flex: 1 1 auto; }
.kos-opt__v.kos-dd__it:hover { background: #FEF0FF; }
.kos-opt__v.kos-dd__it.is-on { background: #FEF0FF; color: #592557; box-shadow: inset 3px 0 0 #91298C; }
.kos-opt__v.kos-dd__it.is-on small { color: #91298C; }
@media (max-width: 767px) {
  .kos-opt { align-items: center; padding: 16px; }
  .kos-opt__card { grid-template-columns: 1fr; width: 100%; max-width: 440px; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); border-radius: 20px; overflow-y: auto; overscroll-behavior: contain; transform: scale(.96); transition: transform .2s; }
  .kos-opt.is-in .kos-opt__card { transform: none; }
  .kos-opt__x { top: 8px; right: 8px; width: 34px; height: 34px; font-size: 22px; }
  .kos-opt__img { padding: 14px 14px 0; }
  .kos-opt__img img { width: auto; max-width: 100%; max-height: 24vh; max-height: 24dvh; margin: 0 auto; border-radius: 12px; }
  .kos-opt__body { max-height: none; padding: 12px 16px 14px; overflow: visible; }
  .kos-opt__n { margin-right: 0; font-size: 17px; }
  .kos-opt__pr { margin: 4px 0 10px; font-size: 19px; }
  .kos-opt__g { margin-bottom: 12px; }
  .kos-dd__btn { min-height: 44px; }
  .kos-opt__foot { position: sticky; bottom: -14px; padding: 10px 0 2px; gap: 10px; }
  .kos-opt__q button { width: 34px; height: 44px; }
  .kos-opt__q input { width: 36px; height: 44px; }
  .kos-opt__add { height: 46px; font-size: 14.5px; gap: 8px; }
}


/* 52) Blog: "Priporočamo vam" ob članku */
article.bm.kbr-on, article.bm.kbr-on .bm-post-info, article.bm.kbr-on .bm-post-content { max-width: none !important; }
.kbr-wrap { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 36px; align-items: start; margin-top: 10px; }
.kbr-main { min-width: 0; }
.kbr-main .bm-post-content { width: auto !important; max-width: none !important; margin: 0 !important; }
.kbr-main > .image, .kbr-main > img { margin: 0 0 22px !important; }
.kbr-main > .image img { width: 100% !important; height: auto; border-radius: 15px; }
.kbr-mob:empty, .kbr-side:empty { display: none; }
.kbr { background: #F3DDF2; border-radius: 15px; overflow: hidden; box-shadow: 0 10px 30px rgba(89, 37, 87, .10); }
.kbr__top { padding: 20px 18px 2px; color: #592557; font-family: Raleway, sans-serif; font-size: 27px; font-weight: 900; line-height: 1.15; }
.kbr__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 14px 16px 16px; }
.kbr__it { display: flex; flex-direction: column; background: #fff; border-radius: 12px; overflow: hidden; text-decoration: none !important; box-shadow: 0 2px 8px rgba(89, 37, 87, .06); transition: box-shadow .2s, transform .2s; }
.kbr__it:hover { box-shadow: 0 8px 20px rgba(89, 37, 87, .14); transform: translateY(-2px); }
.kbr__it img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; margin: 0 !important; border-radius: 0 !important; }
.kbr__b { display: flex; flex-direction: column; flex: 1; padding: 10px 10px 12px; }
.kbr__n { min-height: 35px; margin-bottom: 8px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; color: #3a2f40; font-family: Raleway, sans-serif; font-size: 13.5px; font-weight: 700; line-height: 1.3; }
.kbr__row { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-top: auto; }
.kbr__p { display: flex; flex-direction: column; line-height: 1.15; white-space: nowrap; }
.kbr__p b { color: #91298C; font-family: Raleway, sans-serif; font-size: 15px; font-weight: 900; }
.kbr__p s { color: #9b8f9e; font-size: 12px; font-weight: 600; }
.kbr__p.is-sale b { color: #e5173f; }
.kbr .kbr__add { flex: 0 0 auto; height: 34px; padding: 0 12px; border: 0; border-radius: 12px; background: #91298C; color: #fff !important; font-family: Raleway, sans-serif !important; font-size: 13px !important; font-weight: 700 !important; line-height: 34px !important; cursor: pointer; box-shadow: 0 4px 12px rgba(145, 41, 140, .22); transition: background .15s; }
.kbr .kbr__add:hover { background: #592557; }
.kbr .kbr__add.is-busy { opacity: .6; pointer-events: none; }
.kbr .kbr__add.is-done { background: #2e9e44; }
.kbr__more { display: flex; align-items: center; justify-content: center; height: 46px; margin: 0 16px 18px; border: 2px solid #91298C; border-radius: 30px; background: #fff; color: #91298C !important; font-family: Raleway, sans-serif; font-size: 15px; font-weight: 800; text-decoration: none !important; transition: background .15s, color .15s; }
.kbr__more:hover { background: #91298C; color: #fff !important; }
@media (max-width: 1199px) { .kbr-wrap { grid-template-columns: minmax(0, 1fr) 340px; gap: 26px; } .kbr__top { font-size: 24px; } }
@media (max-width: 991px) {
  .kbr-wrap { display: block; }
  .kbr { margin: 4px 0 24px; }
  .kbr__top { padding: 18px 14px 0; font-size: 24px; }
  .kbr__grid { gap: 10px; padding: 12px 12px 14px; }
  .kbr__more { margin: 0 12px 14px; }
}

.kos-opt__v.kos-dd__it.kos-dd__none { color: #6f6275; font-weight: 600; border-bottom: 1px solid #f0e2ef; border-radius: 9px 9px 0 0; margin-bottom: 4px; }
.kos-opt__v.kos-dd__it.kos-dd__none.is-on { color: #592557; }

/* "Dodano": besedilo ne sme razširiti gumba */
.kos-cbtn.is-done, .kbr .kbr__add.is-done { padding: 0 !important; overflow: hidden; white-space: nowrap; text-overflow: clip; font-size: 12.5px !important; }
.kbr .kbr__add { min-width: 64px; }

/* 53) Informativne strani (piškotki, zasebnost): široke tabele in dolge povezave ne smejo iz zaslona */
#information-information #content { overflow-wrap: anywhere; word-break: normal; }
#information-information #content table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
#information-information #content img { max-width: 100%; height: auto; }
#information-information #content span[style*="width"], #information-information #content p[style*="width"] { max-width: 100% !important; }


/* 54) Telefon: popravki postavitve */
@media (max-width: 767px) {
  /* zgornji pas: odmik od robov */
  .top-bar { padding: 7px 14px !important; font-size: 12.5px !important; line-height: 1.35 !important; }
  /* pasica na naslovni: enak odmik levo in desno, nič ni odrezano */
  .slideshow-wrapper { margin-left: 0 !important; margin-right: 0 !important; }
  .slideshow-wrapper > .container { padding-left: 20px !important; padding-right: 20px !important; }
  .slideshow-wrapper .swiper-viewport { margin: 0 !important; width: 100% !important; border-radius: 15px; overflow: hidden; }
  /* puščice drsnikov: manjše, ne prekrivajo besedila */
  .slideshow-wrapper .swiper-button-prev, .slideshow-wrapper .swiper-button-next { display: none !important; }
  .kc-btn { width: 32px !important; height: 32px !important; box-shadow: 0 4px 12px rgba(89, 37, 87, .25) !important; }
  .kc-btn svg { width: 15px; height: 15px; }
  .kc-btn.kc-prev { left: 2px !important; }
  .kc-btn.kc-next { right: 2px !important; }
  /* drobtinice: ena vrstica, zadnja postavka skrajšana */
  .breadcrumb { display: flex !important; flex-wrap: nowrap !important; align-items: center; overflow: hidden; white-space: nowrap !important; padding-top: 8px !important; padding-bottom: 8px !important; margin-bottom: 8px !important; }
  .breadcrumb > li { flex: 0 0 auto; }
  .breadcrumb > li:last-child { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .breadcrumb > li:last-child a, .breadcrumb > li:last-child span { overflow: hidden; text-overflow: ellipsis; }
  /* stran izdelka: prednosti v mreži 2 x 2 */
  .kos-pinfo { display: grid; grid-template-columns: 1fr 1fr; gap: 0; padding: 4px 10px; }
  .kos-pinfo li { flex-direction: column; align-items: flex-start; gap: 6px; padding: 12px 6px; border-bottom: 0; }
  .kos-pinfo li:nth-child(-n+2) { border-bottom: 1px solid #f0dcef; }
  .kos-pinfo li:nth-child(odd) { border-right: 1px solid #f0dcef; padding-right: 10px; }
  .kos-pinfo li:nth-child(even) { padding-left: 12px; }
  .kos-pinfo__ico { flex-basis: 32px; width: 32px; height: 32px; }
  .kos-pinfo__ico svg { width: 17px; height: 17px; }
  .kos-pinfo b { font-size: 13.5px; line-height: 1.25; }
  .kos-pinfo small { font-size: 12px; line-height: 1.35; }
  /* podobni izdelki: vodoraven drsnik namesto dolgega seznama */
  .kos-similar > .row { display: flex !important; flex-wrap: nowrap !important; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 -12px !important; padding: 4px 12px 12px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .kos-similar > .row::-webkit-scrollbar { display: none; }
  #product-product .kos-similar > .row { margin-left: -15px !important; margin-right: -15px !important; padding-left: 15px !important; padding-right: 15px !important; scroll-padding-left: 15px; }
  #product-product .kos-similar > .row > .product-layout { flex: 0 0 calc((100vw - 30px - 24px) / 2.45) !important; max-width: calc((100vw - 30px - 24px) / 2.45) !important; width: auto !important; padding: 0 !important; margin: 0 !important; scroll-snap-align: start; }
  #product-product .kos-similar .kos-prow { flex-direction: column; align-items: stretch !important; gap: 6px !important; }
  #product-product .kos-similar .kos-prow .price { flex: 0 0 auto !important; }
  #product-product .kos-similar .kos-prow .kos-cbtn { width: 100% !important; height: 34px !important; padding: 0 !important; }
  .kos-similar > .row > .product-layout > .product-thumb { margin: 0 !important; width: 100% !important; }
  .kos-similar .product-thumb .caption { padding-left: 9px !important; padding-right: 9px !important; }
  .kos-similar .product-thumb h4 { font-size: 13.5px !important; line-height: 1.3 !important; }
  /* blagajna: brez sivega drsnika pod ponudbo */
  #quickcheckoutconfirm .kpn-list { scrollbar-width: none; }
  #quickcheckoutconfirm .kpn-list::-webkit-scrollbar { display: none; }
  /* noga: harmonika, večje površine za dotik */
  footer.kos-facc .kos-facc__col { border-top: 1px solid rgba(145, 41, 140, .15); padding-top: 0 !important; padding-bottom: 0 !important; }
  footer.kos-facc .kos-facc__col h5 { position: relative; margin: 0 !important; padding: 15px 30px 15px 0 !important; cursor: pointer; }
  footer.kos-facc .kos-facc__col h5::after { content: ""; position: absolute; right: 4px; top: 50%; width: 9px; height: 9px; margin-top: -7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .2s, margin-top .2s; }
  footer.kos-facc .kos-facc__col.is-open h5::after { transform: rotate(-135deg); margin-top: -2px; }
  footer.kos-facc .kos-facc__col ul { display: none; margin: 0 0 10px !important; }
  footer.kos-facc .kos-facc__col.is-open ul { display: block; }
  footer.kos-facc .kos-facc__col ul li a { display: block; padding: 9px 0 !important; }
  /* vrstica za nakup na strani izdelka */
  .kos-sbuy { position: fixed; left: 10px; right: 10px; top: 14px; z-index: 9990; display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 10px; border: 1px solid #f0dcef; border-radius: 18px; background: #fff; box-shadow: 0 10px 28px rgba(89, 37, 87, .22); transform: translateY(calc(-100% - 30px)); transition: transform .3s cubic-bezier(.2, .8, .2, 1); }
  .kos-sbuy.is-in { transform: none; }
  .kos-sbuy img { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 10px; object-fit: cover; }
  .kos-sbuy__t { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; line-height: 1.2; }
  .kos-sbuy__n { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #3a2f40; font-size: 13px; font-weight: 700; }
  .kos-sbuy__p { display: flex; align-items: baseline; gap: 6px; color: #91298C; font-size: 15.5px; font-weight: 900; }
  .kos-sbuy__p s { color: #9b8f9e; font-size: 12.5px; font-weight: 600; }
  .kos-sbuy__p .is-sale { color: #e5173f; }
  .kos-sbuy__b { position: relative; overflow: hidden; flex: 0 0 auto; height: 42px; padding: 0 18px; border: 0; border-radius: 30px; background: linear-gradient(135deg, #a3349d, #91298C 55%, #6e1f6a); color: #fff; font-family: inherit; font-size: 14.5px; font-weight: 800; box-shadow: 0 6px 14px rgba(145, 41, 140, .32), 0 0 0 1px rgba(255, 255, 255, .15) inset; animation: kosBuyGlow 2.8s ease-in-out infinite; }
  .kos-sbuy__b span { position: relative; z-index: 1; }
  .kos-sbuy__b::after { content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 45%; background: linear-gradient(100deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .45) 50%, rgba(255, 255, 255, 0) 100%); transform: skewX(-18deg); animation: kosBuyShine 2.8s ease-in-out infinite; }
}
@media (min-width: 768px) { .kos-sbuy { display: none !important; } }

/* Ozke kartice (2 v vrsti na telefonu): cena in gumb "Dodaj" se ne prekrivata */
@container (max-width: 175px) {
  .product-thumb .kos-prow .price { font-size: 14.5px !important; }
  .product-thumb .kos-prow .price .price-old { font-size: 12px !important; }
  .product-thumb .kos-prow .kos-cbtn { height: 34px !important; padding: 0 10px !important; font-size: 12.5px !important; }
}

/* 55) Znižano kot vrtiljak: rdeča oznaka popusta */
.kc-sale .kc-new__badge { background: #e5173f !important; color: #fff !important; }

@keyframes kosBuyShine { 0%, 55% { left: -60%; } 85%, 100% { left: 130%; } }
@keyframes kosBuyGlow { 0%, 100% { box-shadow: 0 6px 14px rgba(145, 41, 140, .32); } 50% { box-shadow: 0 6px 20px rgba(145, 41, 140, .5), 0 0 0 3px rgba(145, 41, 140, .12); } }
/* stran izdelka: stara cena prečrtana, akcijska rdeča */
#product-product .product-detail-box h3 .text-decoration-line-through { text-decoration: line-through !important; color: #9b8f9e !important; font-size: .62em; font-weight: 600; margin-left: 6px; }
#product-product .product-detail-box h3:has(.text-decoration-line-through) { color: #e5173f !important; }

/* 56) Telefon: gumb Kategorije v glavi namesto menija */
.kos-mbtn, .kos-mm { display: none; }
@media (max-width: 767px) {
  html.kos-has-mbtn header .navbar-toggle { display: none !important; }
  html.kos-has-mbtn header .navbar-header { display: flex !important; align-items: center; gap: 8px; }
  html.kos-has-mbtn header .navbar-header::before, html.kos-has-mbtn header .navbar-header::after { display: none !important; }
  html.kos-has-mbtn header .navbar-header > .navbar-brand { order: 0; margin-right: auto !important; float: none !important; }
  html.kos-has-mbtn header .navbar-header > .kos-mbtn { order: 1; float: none; margin: 0; }
  html.kos-has-mbtn header .navbar-header > .cart-toggle-btn { order: 2; float: none !important; position: static !important; margin: 0 !important; }
  .kos-mbtn { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 14px; border: 1px solid #e3c9e1; border-radius: 30px; background: #fff; color: #592557; font-family: inherit; font-size: 14.5px; font-weight: 800; box-shadow: 0 2px 8px rgba(89, 37, 87, .08); white-space: nowrap; }
  .kos-mbtn svg { width: 12px; height: 12px; transition: transform .2s; }
  .kos-mbtn.is-open { background: #91298C; border-color: #91298C; color: #fff; }
  .kos-mbtn.is-open .kos-hcats__ico i { background: #fff; }
  .kos-mbtn.is-open svg { transform: rotate(180deg); }
  .kos-mm { display: block; position: fixed; left: 0; right: 0; bottom: 0; top: var(--kos-mm-top, 0); z-index: 100000; pointer-events: none; }
  .kos-mm.is-open { pointer-events: auto; }
  .kos-mm__ov { position: absolute; inset: 0; background: rgba(40, 16, 39, .4); opacity: 0; transition: opacity .2s; }
  .kos-mm.is-open .kos-mm__ov { opacity: 1; }
  .kos-mm__p { position: absolute; top: 6px; left: 12px; right: 12px; max-height: calc(100% - 24px); display: flex; flex-direction: column; overflow: hidden; border: 1px solid #f0dcef; border-radius: 18px; background: #fff; box-shadow: 0 18px 40px rgba(40, 16, 39, .25); opacity: 0; transform: translateY(-8px); transition: opacity .2s, transform .2s; }
  .kos-mm.is-open .kos-mm__p { opacity: 1; transform: none; }
  .kos-mm__body { overflow-y: auto; overscroll-behavior: contain; padding: 14px 14px 10px; }
  /* gumb Vedeževanje: enak kot v glavi, samo postavitev */
  .kos-mm__vt.navbar-nav { float: none !important; display: block; margin: 0 0 10px !important; padding: 0; }
  .kos-mm__vt.navbar-nav > li { float: none !important; display: block; }
  .kos-mm__vt.navbar-nav > li > a { display: flex !important; align-items: center; justify-content: center; height: 48px; margin: 0 !important; }
  .kos-mm__cats { margin: 0; padding: 0; list-style: none; }
  .kos-mm__cats .kos-shelf { border-bottom: 1px solid #f3e6f2; }
  .kos-mm__cats .kos-shelf:last-child { border-bottom: 0; }
  .kos-mm__cats .kos-shelf__row { display: flex; align-items: center; justify-content: space-between; min-height: 50px; }
  .kos-mm__cats .kos-shelf__name { flex: 1 1 auto; padding: 13px 6px; color: #3a2f40 !important; font-size: 15.5px; font-weight: 700; text-decoration: none !important; }
  .kos-mm__cats .kos-shelf__tog { width: 44px; height: 44px; border: 0; border-radius: 50%; background: #FEF0FF; color: #91298C; }
  .kos-mm__cats .kos-shelf__tog svg { transition: transform .2s; }
  .kos-mm__cats .kos-shelf.is-open .kos-shelf__tog svg { transform: rotate(180deg); }
  .kos-mm__cats .kos-shelf__sub { display: none; margin: 0 0 10px; padding: 4px 8px; list-style: none; border-radius: 12px; background: #FEF0FF; }
  .kos-mm__cats .kos-shelf.is-open .kos-shelf__sub { display: block; }
  .kos-mm__cats .kos-shelf__sub a { display: flex; justify-content: space-between; padding: 11px 6px; color: #592557 !important; font-size: 14.5px; text-decoration: none !important; }
  .kos-mm__cats .kos-shelf__sub small { color: #9b8f9e; }
  html.kos-mm-lock, html.kos-mm-lock body { overflow: hidden !important; }
}

/* 57) Oznaka NOVO: rdeča z belim besedilom (kot popust) */
.kc-new__badge { background: #e5173f !important; color: #fff !important; }

/* 58) Stran izdelka: večja številka količine, jasno sporočilo za manjkajočo možnost */
#product-product .qty-display { min-width: 30px; font-size: 20px !important; font-weight: 800 !important; color: #3a2f40; text-align: center; }
#product-product .form-group.kos-oerr-on select, #product-product .form-group.kos-oerr-on input, #product-product .form-group.kos-oerr-on textarea, #product-product .form-group.kos-oerr-on .kos-sel { border-color: #e5173f !important; box-shadow: 0 0 0 3px rgba(229, 23, 63, .15) !important; }
#product-product .kos-oerr { display: flex; align-items: center; gap: 8px; margin-top: 8px; padding: 10px 12px; border-radius: 12px; background: #fdecef; color: #c01235; font-size: 14px; font-weight: 700; line-height: 1.35; animation: kosOerr .35s; }
#product-product .kos-oerr::before { content: "!"; flex: 0 0 22px; width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #e5173f; color: #fff; font-size: 14px; font-weight: 900; }
@keyframes kosOerr { 0% { transform: translateX(0); } 25% { transform: translateX(-6px); } 50% { transform: translateX(6px); } 75% { transform: translateX(-3px); } 100% { transform: none; } }
@media (max-width: 374px) {
  html.kos-has-mbtn header .navbar-header > .navbar-brand img { max-width: 112px !important; height: auto !important; }
  .kos-mbtn { padding: 0 10px; font-size: 13.5px; gap: 6px; }
}

/* 59) Blagajna – pregled naročila pred plačilom */
.kos-otbl-wrap { max-width: 760px; margin: 0 auto 26px !important; overflow: visible !important; border: 0 !important; }
table.kos-otbl { width: 100%; margin: 0 !important; border: 1px solid #f0dcef !important; border-collapse: separate !important; border-spacing: 0; border-radius: 16px; overflow: hidden; background: #fff; box-shadow: 0 8px 24px rgba(89, 37, 87, .07); font-variant-numeric: tabular-nums; }
table.kos-otbl > thead > tr > td, table.kos-otbl > thead > tr > th { padding: 12px 16px !important; border: 0 !important; background: #FEF0FF; color: #592557; font-size: 12.5px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; }
table.kos-otbl > tbody > tr > td { padding: 16px !important; border: 0 !important; border-bottom: 1px solid #f3e6f2 !important; color: #3a2f40; font-size: 15px; vertical-align: middle !important; background: #fff !important; }
table.kos-otbl > tbody > tr:hover > td { background: #fff !important; }
table.kos-otbl .kos-otbl__name { font-weight: 800; color: #3a2f40; }
table.kos-otbl .kos-otbl__name a { color: #3a2f40 !important; }
table.kos-otbl .kos-otbl__name small { display: block; margin-top: 3px; color: #7d6f82; font-weight: 600; }
table.kos-otbl td.kos-otbl__code, table.kos-otbl th.kos-otbl__code, table.kos-otbl thead td.kos-otbl__code { color: #9b8f9e; font-size: 13px; }
table.kos-otbl .kos-otbl__total { color: #91298C; font-weight: 800; }
table.kos-otbl > tfoot > tr > td { padding: 9px 16px !important; border: 0 !important; background: #fff !important; color: #5d5263; font-size: 14.5px; }
table.kos-otbl > tfoot > tr:first-child > td { padding-top: 16px !important; }
table.kos-otbl > tfoot > tr > td:first-child { font-weight: 600 !important; }
table.kos-otbl > tfoot > tr > td strong, table.kos-otbl > tfoot > tr > td b { font-weight: 600; }
table.kos-otbl > tfoot > tr.kos-otbl__grand > td { padding: 16px !important; border-top: 2px solid #f0dcef !important; background: #FEF0FF !important; color: #592557; font-size: 19px; font-weight: 900 !important; }
table.kos-otbl > tfoot > tr.kos-otbl__grand > td:last-child { color: #91298C; }
@media (max-width: 767px) {
  .kos-otbl-wrap { margin: 0 0 20px !important; }
  table.kos-otbl, table.kos-otbl tbody, table.kos-otbl tfoot { display: block; width: 100%; }
  table.kos-otbl > thead { display: none; }
  table.kos-otbl > tbody > tr { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; padding: 14px 16px; border-bottom: 1px solid #f3e6f2; }
  table.kos-otbl > tbody > tr > td { display: block; padding: 0 !important; border: 0 !important; text-align: left !important; font-size: 14.5px; }
  table.kos-otbl > tbody > tr > td.kos-otbl__name { grid-column: 1 / -1; font-size: 15.5px; }
  table.kos-otbl > tbody > tr > td.kos-otbl__code { display: none; }
  table.kos-otbl > tbody > tr > td.kos-otbl__qty { grid-column: 1; color: #7d6f82; }
  table.kos-otbl > tbody > tr > td.kos-otbl__qty::before { content: "Količina: "; }
  table.kos-otbl > tbody > tr > td.kos-otbl__price { display: none; }
  table.kos-otbl > tbody > tr > td.kos-otbl__total { grid-column: 2; grid-row: 2; text-align: right !important; font-size: 16px; }
  table.kos-otbl > tfoot > tr { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 0 16px; }
  table.kos-otbl > tfoot > tr > td { display: block; padding: 7px 0 !important; text-align: left !important; }
  table.kos-otbl > tfoot > tr > td:last-child { text-align: right !important; white-space: nowrap; }
  table.kos-otbl > tfoot > tr:first-child > td { padding-top: 14px !important; }
  table.kos-otbl > tfoot > tr.kos-otbl__grand { margin-top: 6px; padding: 4px 16px; border-top: 2px solid #f0dcef; background: #FEF0FF; }
  table.kos-otbl > tfoot > tr.kos-otbl__grand > td { padding: 12px 0 !important; border: 0 !important; background: transparent !important; font-size: 18px; }
}
table.kos-otbl .kos-otbl__name br { display: none; }

/* 60) Meni na telefonu: okrogli gumbi, odprta polica in podkategorije v eni podlagi */
@media (max-width: 767px) {
  .kos-mm__cats .kos-shelf__tog { flex: 0 0 36px !important; width: 36px !important; height: 36px !important; min-width: 36px !important; min-height: 36px !important; padding: 0 !important; margin: 0 4px 0 0 !important; display: inline-flex !important; align-items: center; justify-content: center; border: 0 !important; border-radius: 50% !important; background: #FEF0FF !important; color: #91298C !important; line-height: 1 !important; outline: none !important; box-shadow: none !important; -webkit-tap-highlight-color: transparent; }
  .kos-mm__cats .kos-shelf__tog:focus-visible { box-shadow: 0 0 0 2px #91298C !important; }
  .kos-mm__cats .kos-shelf__tog svg { width: 12px; height: 12px; }
  .kos-mm__cats .kos-shelf { border-radius: 0; transition: background .2s; }
  .kos-mm__cats .kos-shelf__row, .kos-mm__cats .kos-shelf.is-open .kos-shelf__row, .kos-mm__cats .kos-shelf.is-current .kos-shelf__row { background: transparent !important; border-radius: 0 !important; box-shadow: none !important; }
  .kos-mm__cats .kos-shelf.is-open { background: #FEF0FF; border-radius: 14px; border-bottom-color: transparent; margin: 2px 0; }
  .kos-mm__cats .kos-shelf.is-open .kos-shelf__name { padding-left: 12px; color: #91298C !important; }
  .kos-mm__cats .kos-shelf.is-open .kos-shelf__tog { background: #fff !important; }
  .kos-mm__cats .kos-shelf__sub, .kos-mm__cats .kos-shelf.is-open .kos-shelf__sub { margin: 0 !important; padding: 0 10px 10px 14px !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
  .kos-mm__cats .kos-shelf__sub li { border-top: 1px solid rgba(145, 41, 140, .08); }
  .kos-mm__cats .kos-shelf__sub li:first-child { border-top: 0; }
}

/* 61) Meni na telefonu: iste barve in slog kot polica "Kategorije" na računalniku */
@media (max-width: 767px) {
  /* gumb v glavi: kot gumb Kategorije na računalniku */
  .kos-mbtn { border: 1px solid #e3c9e1 !important; background: #fff !important; color: var(--kos-purple-dark) !important; font-weight: 700 !important; box-shadow: none !important; }
  .kos-mbtn.is-open { border-color: var(--kos-purple) !important; background: #fff !important; color: var(--kos-purple) !important; }
  .kos-mbtn.is-open .kos-hcats__ico i { background: currentColor !important; }
  /* panel: kot bel okvir police */
  .kos-mm__p { border: 1px solid #f0dcef !important; border-radius: 18px !important; }
  /* police */
  .kos-mm__cats .kos-shelf { border-bottom: 1px solid #f6e8f5 !important; }
  .kos-mm__cats .kos-shelf:last-child { border-bottom: 0 !important; }
  .kos-mm__cats .kos-shelf__name { color: var(--kos-purple-dark) !important; font-size: 15px !important; font-weight: 700 !important; }
  .kos-mm__cats .kos-shelf.is-open .kos-shelf__name, .kos-mm__cats .kos-shelf.is-current > .kos-shelf__row .kos-shelf__name { color: var(--kos-purple) !important; }
  .kos-mm__cats .kos-shelf__tog { background: #FEF0FF !important; color: var(--kos-purple) !important; }
  .kos-mm__cats .kos-shelf.is-open .kos-shelf__tog { background: #fff !important; }
  .kos-mm__cats .kos-shelf.is-open { background: #FEF0FF !important; border-bottom-color: transparent !important; }
  /* podkategorije: kot na računalniku (pika, število v belem okvirčku) */
  .kos-mm__cats .kos-shelf__sub li { border-top: 0 !important; }
  .kos-mm__cats .kos-shelf__sub li + li { margin-top: 2px; }
  .kos-mm__cats .kos-shelf__sub a { display: flex !important; align-items: center; gap: 10px; justify-content: flex-start !important; padding: 10px 10px !important; border-radius: 10px; color: #4a3b49 !important; font-size: 14px !important; font-weight: 500 !important; }
  .kos-mm__cats .kos-shelf__sub a::before { content: ""; flex: 0 0 6px; width: 6px; height: 6px; border-radius: 50%; background: #d9a9d6; }
  .kos-mm__cats .kos-shelf__sub a span { flex: 1 1 auto; min-width: 0; }
  .kos-mm__cats .kos-shelf__sub a small { padding: 1px 8px; border-radius: 20px; background: #fff; color: var(--kos-purple) !important; font-size: 11px; font-weight: 700; }
  .kos-mm__cats .kos-shelf__sub a.is-current { background: #fff; color: var(--kos-purple) !important; font-weight: 700 !important; }
  .kos-mm__cats .kos-shelf__sub a.is-current::before { background: var(--kos-purple); }
}

/* 62) Trak do brezplačne dostave – ikona paketa, besedilo, črta z zvezdico; temno vijolično ozadje */
body .kpn-free.kos-fsb { max-width: 840px; padding: 0 !important; border: 0 !important; border-radius: 16px !important; background: #4a1a43 !important; color: #fff !important; box-shadow: 0 10px 24px rgba(74, 26, 67, .18) !important; font-size: 0 !important; line-height: 0; text-align: left !important; overflow: hidden !important; }
body .kpn-free.kos-fsb > :not(.kos-fsb__in) { display: none !important; }
.kos-fsb__in { position: relative; display: flex; align-items: center; gap: 22px; padding: 18px 28px 18px 30px; font-size: 15px; line-height: 1.35; }
.kos-fsb__in::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: #e7b8ef; }
.kos-fsb__ico { flex: 0 0 auto; display: flex; color: #fff; }
.kos-fsb__ico svg { width: 64px; height: 64px; }
.kos-fsb__ico svg path:first-child { fill: rgba(255, 255, 255, .06); }
.kos-fsb__ico .kos-fsb__spark { stroke: #f1d48a; }
.kos-fsb__sep { flex: 0 0 1px; align-self: stretch; margin: 4px 0; background: rgba(255, 255, 255, .2); }
.kos-fsb__txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.kos-fsb__h { color: #fff; font-size: 24px; font-weight: 900; line-height: 1.15; letter-spacing: -.2px; }
body .kpn-free.kos-fsb .kos-fsb__h b, body .kpn-free.kos-fsb .kos-fsb__h b:first-of-type { display: inline; padding: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; animation: none !important; color: #e7b8ef !important; font-weight: 900; white-space: nowrap; }
.kos-fsb__s { color: rgba(255, 255, 255, .84); font-size: 15px; font-weight: 500; }
.kos-fsb__p { display: flex; align-items: center; gap: 14px; margin-top: 12px; }
.kos-fsb__t { position: relative; flex: 1 1 auto; height: 6px; border-radius: 6px; background: rgba(255, 255, 255, .2); }
.kos-fsb__t i { position: relative; display: block; height: 100%; border-radius: 6px; background: #e7b8ef; transition: width .5s ease; }
.kos-fsb__t em { position: absolute; right: -10px; top: 50%; display: flex; color: #e7b8ef; transform: translateY(-50%); filter: drop-shadow(0 0 5px rgba(231, 184, 239, .7)); }
.kos-fsb__end { flex: 0 0 auto; display: flex; color: #fff; opacity: .75; }
body .kpn-free.kos-fsb.is-free { background: #1f5c34 !important; }
body .kpn-free.kos-fsb.is-free .kos-fsb__in::before, body .kpn-free.kos-fsb.is-free .kos-fsb__t i { background: #b8f5c8; }
body .kpn-free.kos-fsb.is-free .kos-fsb__h b, body .kpn-free.kos-fsb.is-free .kos-fsb__t em { color: #b8f5c8 !important; }
@media (max-width: 767px) {
  body .kpn-free.kos-fsb { margin: 0 0 16px !important; }
  .kos-fsb__in { gap: 12px; padding: 14px 14px 14px 18px; }
  .kos-fsb__in::before { width: 5px; }
  .kos-fsb__ico svg { width: 46px; height: 46px; }
  .kos-fsb__sep { display: none; }
  .kos-fsb__h { font-size: 17.5px; }
  .kos-fsb__s { font-size: 13px; }
  .kos-fsb__p { gap: 10px; margin-top: 9px; }
  .kos-fsb__end svg { width: 17px; height: 17px; }
}

/* Blagajna: namig za ugodnejšo poštnino */
.kos-stip-row > td { padding: 0 0 6px !important; border: 0 !important; background: transparent !important; }
.kos-stip { display: flex; align-items: center; gap: 14px; margin: 8px 0 2px; padding: 14px 16px; border: 1px dashed #d9a9d6; border-radius: 14px; background: linear-gradient(100deg, #FEF0FF, #fff7fd); }
.kos-stip__ico { flex: 0 0 42px; width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--kos-purple); color: #fff; box-shadow: 0 6px 14px rgba(145, 41, 140, .28); }
.kos-stip__t { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; text-align: left; }
.kos-stip__h { color: var(--kos-purple-dark); font-size: 15.5px; font-weight: 800; }
.kos-stip__h em { font-style: normal; color: var(--kos-purple); white-space: nowrap; }
.kos-stip__s { color: #4a3b49; font-size: 13.5px; font-weight: 500; }
.kos-stip__save { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; line-height: 1.15; }
.kos-stip__save s { color: #9b8f9e; font-size: 13px; font-weight: 600; }
.kos-stip__save b { color: #e5173f; font-size: 19px; font-weight: 900; white-space: nowrap; }
.kos-stip__go { flex: 0 0 auto; height: 40px; padding: 0 16px; border: 0; border-radius: 30px; background: var(--kos-purple); color: #fff; font-family: inherit; font-size: 13.5px; font-weight: 800; white-space: nowrap; box-shadow: 0 6px 14px rgba(145, 41, 140, .24); }
.kos-stip__go:hover { background: var(--kos-purple-dark); }
@media (max-width: 767px) {
  .kos-stip { flex-wrap: wrap; gap: 10px 12px; padding: 12px; }
  .kos-stip__ico { flex-basis: 36px; width: 36px; height: 36px; }
  .kos-stip__t { flex-basis: calc(100% - 48px - 80px); }
  .kos-stip__h { font-size: 14.5px; }
  .kos-stip__s { font-size: 12.5px; }
  .kos-stip__go { flex: 1 1 100%; }
}

/* črta napredka v kartici za poštnino (kot zgoraj v traku) */
.kos-stip { flex-wrap: wrap; }
.kos-stip__p { order: 9; flex: 1 1 100%; display: flex; align-items: center; gap: 12px; margin-top: 2px; }
.kos-stip__tr { position: relative; flex: 1 1 auto; height: 6px; border-radius: 6px; background: #f0dcef; }
.kos-stip__tr i { position: relative; display: block; height: 100%; border-radius: 6px; background: var(--kos-purple); }
.kos-stip__tr em { position: absolute; right: -10px; top: 50%; display: flex; color: var(--kos-purple); transform: translateY(-50%); filter: drop-shadow(0 0 4px rgba(255, 255, 255, .95)); }
.kos-stip__end { flex: 0 0 auto; display: flex; color: var(--kos-purple-dark); opacity: .8; }
@media (max-width: 767px) { .kos-stip__p { order: 5; } .kos-stip__go { order: 6; } }
@media (min-width: 768px) {
  .kos-stip:has(.kos-stip__p) { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; grid-template-areas: "ico t save" "p p go"; gap: 12px 14px; }
  .kos-stip:has(.kos-stip__p) .kos-stip__ico { grid-area: ico; }
  .kos-stip:has(.kos-stip__p) .kos-stip__t { grid-area: t; }
  .kos-stip:has(.kos-stip__p) .kos-stip__save { grid-area: save; }
  .kos-stip:has(.kos-stip__p) .kos-stip__p { grid-area: p; margin: 0; }
  .kos-stip:has(.kos-stip__p) .kos-stip__go { grid-area: go; }
}

/* Blagajna: izbirni gumbi (dostava, plačilo) v našem slogu */
#quickcheckoutconfirm input[type="radio"] { -webkit-appearance: none; appearance: none; flex: 0 0 20px; width: 20px !important; height: 20px !important; margin: 0 8px 0 0 !important; border: 2px solid #d9a9d6; border-radius: 50%; background: #fff; vertical-align: -5px; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
#quickcheckoutconfirm input[type="radio"]:checked { border-color: var(--kos-purple); background: radial-gradient(circle, var(--kos-purple) 0 5px, #fff 5.5px); }
#quickcheckoutconfirm input[type="radio"]:focus-visible { outline: 0; box-shadow: 0 0 0 3px rgba(145, 41, 140, .18); }
#quickcheckoutconfirm input[type="checkbox"] { -webkit-appearance: none; appearance: none; flex: 0 0 20px; width: 20px !important; height: 20px !important; border: 2px solid #d9a9d6; border-radius: 6px; background: #fff; vertical-align: -5px; cursor: pointer; transition: background .15s, border-color .15s; }
#quickcheckoutconfirm input[type="checkbox"]:checked { border-color: var(--kos-purple); background: var(--kos-purple) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.4 2.3 4.6-5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center; }
#quickcheckoutconfirm input[type="checkbox"]:focus-visible { outline: 0; box-shadow: 0 0 0 3px rgba(145, 41, 140, .18); }

/* 63) Košarica: vsebina razprtih polj (kupon, izračun dostave, darilni bon) v našem slogu */
.kos-cextra .panel-title a .fa { transition: transform .2s; color: var(--kos-purple); }
.kos-cextra .panel-title a[aria-expanded="true"] .fa, .kos-cextra .panel-title a:not(.collapsed)[aria-expanded="true"] .fa { transform: rotate(180deg); }
.kos-cextra .panel-body { padding: 16px 18px 18px !important; background: #fff; color: #4a3b49; font-size: 14px; }
.kos-cextra .panel-body::before, .kos-cextra .panel-body::after { display: none !important; }
.kos-cextra .panel-body > p { margin: 0 0 12px; color: #6f6275; }
.kos-cextra .panel-body .control-label { float: none !important; width: auto !important; display: block; margin: 0 0 6px !important; padding: 0 !important; color: var(--kos-purple-dark); font-size: 13.5px; font-weight: 700; text-align: left !important; }
.kos-cextra .panel-body .form-horizontal .form-group { margin: 0 0 12px !important; }
.kos-cextra .panel-body .form-horizontal .form-group > [class*="col-"] { float: none !important; width: auto !important; padding: 0 !important; }
.kos-cextra .panel-body .form-group.required .control-label::before { color: #e5173f; }
.kos-cextra .panel-body .form-control { height: 46px !important; padding: 0 18px !important; border: 1px solid #e3c9e1 !important; border-radius: 30px !important; background: #fff !important; box-shadow: none !important; color: #3a2f40; font-family: inherit; font-size: 14.5px !important; }
.kos-cextra .panel-body .form-control:focus { border-color: var(--kos-purple) !important; box-shadow: 0 0 0 3px rgba(145, 41, 140, .12) !important; outline: 0; }
.kos-cextra .panel-body select.form-control { appearance: none; -webkit-appearance: none; padding-right: 40px !important; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%2391298C' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat right 16px center !important; }
.kos-cextra .panel-body .input-group { display: flex !important; gap: 8px; width: 100%; }
.kos-cextra .panel-body .input-group .form-control { flex: 1 1 auto; min-width: 0; width: auto !important; float: none !important; border-radius: 30px !important; }
.kos-cextra .panel-body .input-group-btn { display: block !important; width: auto !important; }
.kos-cextra .panel-body .btn, .kos-cextra .panel-body input[type="button"] { height: 46px; padding: 0 22px !important; border: 0 !important; border-radius: 30px !important; background: var(--kos-purple) !important; color: #fff !important; font-family: inherit; font-size: 14.5px; font-weight: 800; text-shadow: none !important; box-shadow: 0 6px 14px rgba(145, 41, 140, .22) !important; white-space: nowrap; }
.kos-cextra .panel-body .btn:hover, .kos-cextra .panel-body input[type="button"]:hover { background: var(--kos-purple-dark) !important; }
.kos-cextra #collapse-shipping .panel-body .btn { display: block; width: 100%; margin-top: 4px; }
.kos-cextra .panel-body .alert, .kos-cextra .alert { border-radius: 12px; }
.kos-cextra .panel-body .text-danger { margin-top: 6px; color: #c01235; font-size: 13px; font-weight: 600; }
@media (min-width: 768px) {
  .kos-cextra #collapse-shipping .form-horizontal { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0 12px; }
  .kos-cextra #collapse-shipping .form-horizontal > .form-group:last-child, .kos-cextra #collapse-shipping .btn { grid-column: auto; }
}
@media (max-width: 480px) {
  .kos-cextra .panel-body .input-group { flex-wrap: wrap; }
  .kos-cextra .panel-body .input-group .form-control { flex-basis: 100%; }
  .kos-cextra .panel-body .input-group-btn, .kos-cextra .panel-body .input-group-btn .btn, .kos-cextra .panel-body .input-group-btn input { width: 100% !important; }
}

/* 64) Meni računa v glavi: urejene postavke */
header .dropdown-menu-right { min-width: 200px; }

.kos-cextra #collapse-shipping .form-horizontal ~ .btn, .kos-cextra #collapse-shipping .panel-body > .btn, .kos-cextra #collapse-shipping .panel-body > button { display: inline-block !important; width: auto !important; }
@media (min-width: 768px) { .kos-cextra #collapse-shipping .form-horizontal > .btn, .kos-cextra #collapse-shipping .form-horizontal > button, .kos-cextra #collapse-shipping .form-horizontal > input[type="button"] { grid-column: 1 / -1; justify-self: start; width: auto !important; min-width: 220px; } }

/* 65) Animacije: gumb "Izberite izdelek" kot "V košarico", zvezdica na črtah napredka; naša pisava */
.kos-fsb__in, .kos-fsb__in *, .kos-stip, .kos-stip * { font-family: "Raleway", sans-serif !important; }
.kos-stip__go { position: relative; overflow: hidden; background: linear-gradient(135deg, #a3349d, #91298C 55%, #6e1f6a) !important; box-shadow: 0 6px 14px rgba(145, 41, 140, .32), 0 0 0 1px rgba(255, 255, 255, .15) inset; animation: kosBuyGlow 2.8s ease-in-out infinite; }
.kos-stip__go::after { content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 45%; background: linear-gradient(100deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .45) 50%, rgba(255, 255, 255, 0) 100%); transform: skewX(-18deg); animation: kosBuyShine 2.8s ease-in-out infinite; pointer-events: none; }
.kos-fsb__t em, .kos-stip__tr em { animation: kosStarTwinkle 2.4s ease-in-out infinite; }
.kos-fsb__t em svg, .kos-stip__tr em svg { animation: kosStarSpin 6s linear infinite; }
.kos-fsb__t i, .kos-stip__tr i { background-image: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, .55) 50%, transparent 100%); background-size: 40% 100%; background-repeat: no-repeat; animation: kosLineGlint 2.8s ease-in-out infinite; }
@keyframes kosStarTwinkle { 0%, 100% { transform: translateY(-50%) scale(1); opacity: 1; } 50% { transform: translateY(-50%) scale(1.35); opacity: .85; } }
@keyframes kosStarSpin { to { transform: rotate(360deg); } }
@keyframes kosLineGlint { 0% { background-position: -60% 0; } 60%, 100% { background-position: 160% 0; } }

/* 66) Šefov stari trak do brezplačne dostave je skrit – prikazan je samo naš (kos-own) */
.kpn-free:not(.kos-own) { display: none !important; }

/* 67) Močnejše animacije na črtah napredka */
.kos-fsb__t i, .kos-stip__tr i { transition: width 1.1s cubic-bezier(.2, .8, .2, 1) !important; background-image: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, .85) 50%, transparent 100%) !important; background-size: 35% 100% !important; animation: kosLineGlint 2.2s ease-in-out infinite, kosFillGlow 2.2s ease-in-out infinite !important; }
.kos-fsb__t em, .kos-stip__tr em { animation: kosStarPulse 1.6s ease-in-out infinite !important; }
.kos-fsb__t em svg, .kos-stip__tr em svg { width: 22px; height: 22px; animation: kosStarSpin 3.5s linear infinite !important; }
.kos-fsb__ico .kos-fsb__spark { animation: kosSpark 1.8s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.kos-fsb__ico .kos-fsb__spark + .kos-fsb__spark { animation-delay: .9s; }
@keyframes kosStarPulse { 0%, 100% { transform: translateY(-50%) scale(1); filter: drop-shadow(0 0 3px rgba(231, 184, 239, .6)); } 50% { transform: translateY(-50%) scale(1.55); filter: drop-shadow(0 0 10px rgba(231, 184, 239, 1)); } }
@keyframes kosFillGlow { 0%, 100% { box-shadow: 0 0 0 rgba(231, 184, 239, 0); } 50% { box-shadow: 0 0 12px rgba(231, 184, 239, .75); } }
@keyframes kosSpark { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .35; transform: scale(.6); } }

/* 68) Zgornji pas: številka vedno vidna (bela, podčrtana povezava za klic) */
.top-bar a, .top-bar a:link, .top-bar a:visited, .top-bar a[href^="tel"], .top-bar a[x-apple-data-detectors] { color: #fff !important; font-weight: 800; text-decoration: underline !important; text-decoration-color: rgba(255, 255, 255, .5) !important; text-underline-offset: 3px; white-space: nowrap; -webkit-text-fill-color: #fff; }
