/* ==========================================================================
   Académie look & feel – Apoteka Milica (maasai3)
   Referenca: academiebeaute.com (Shopify Dawn)
   Fontovi: Montserrat (tekst) + Castoro (naslovi)
   Učitava se POSLE style.css i CSS-a plugina (priority 100).
   ========================================================================== */

:root {
  --ab-text: #000;
  --ab-text-soft: #1d1d1d;
  --ab-muted: #6b6b6b;
  --ab-line: #e6e1dc;
  --ab-line-dark: #cfcfcf;
  --ab-bg: #fff;
  --ab-beige: #fbf0e5;          /* background-2 */
  --ab-beige-light: #fefcf9;    /* background-3 */
  --ab-accent: #f5d9bf;         /* accent-1 */
  --ab-accent-2: #f2d1ba;       /* accent-2 */
  --ab-underline: #dfc2ac;      /* "academie" boja – podvlaka naslova */
  --ab-highlight: #c59e7e;      /* "Last chance" stavka menija */
  --ab-sale: #000;
  --ab-font: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  --ab-font-heading: "Castoro", Georgia, "Times New Roman", serif;
  --ab-page: 1600px;
  --ab-gutter: 64px;
  --ab-header-h: 150px;
  --ab-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

@media (max-width: 1199.98px) {
  :root { --ab-gutter: 32px; }
}

@media (max-width: 767.98px) {
  :root { --ab-gutter: 16px; }
}

/* ---------- Osnova ---------- */
html,
body.ab-theme {
  font-family: var(--ab-font) !important;
  font-size: 16px;
  line-height: 1.6 !important;
  letter-spacing: 0.02em;
  color: var(--ab-text);
  background: var(--ab-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.ab-theme.ab-locked {
  overflow: hidden;
}

.ab-theme main,
.ab-theme .sadrzaj {
  background: var(--ab-bg);
}

.ab-theme h1,
.ab-theme h2,
.ab-theme h3,
.ab-theme h4,
.ab-theme h5,
.ab-theme h6 {
  font-family: var(--ab-font-heading);
  font-weight: 400;
  letter-spacing: 0.01em;
  text-transform: none;
  color: var(--ab-text);
  line-height: 1.2;
}

.ab-theme a {
  color: var(--ab-text) !important;
  text-decoration: none;
  transition: color 0.2s, opacity 0.2s;
}

.ab-theme a:hover {
  color: var(--ab-text) !important;
}

.ab-theme img {
  max-width: 100%;
  height: auto;
}

.ab-theme svg {
  display: inline-block;
  vertical-align: middle;
}

.ab-theme ::selection {
  background: var(--ab-accent);
}

.ab-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 2000;
  padding: 10px 16px;
  background: #000;
  color: #fff !important;
}

.ab-skip-link:focus {
  left: 16px;
}

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

.ab-container {
  width: 100%;
  max-width: var(--ab-page);
  margin: 0 auto;
  padding-left: var(--ab-gutter);
  padding-right: var(--ab-gutter);
}

.ab-theme .container {
  max-width: var(--ab-page);
  padding-left: var(--ab-gutter);
  padding-right: var(--ab-gutter);
}

.ab-histats {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.ab-link-underline {
  text-decoration: underline !important;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px !important;
}

/* ---------- Dugmad ---------- */
.ab-btn,
.ab-theme .brand-dugme,
.ab-theme .veliko-dugme {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 12px 32px;
  border: 1px solid #000;
  border-radius: 0 !important;
  background: transparent;
  color: #000 !important;
  font-family: var(--ab-font);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  text-decoration: none !important;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: none !important;
  transition: background-color 0.25s, color 0.25s, border-color 0.25s;
}

.ab-btn--solid,
.ab-theme .brand-dugme,
.ab-theme .veliko-dugme {
  background: #000 !important;
  color: #fff !important;
}

.ab-btn--solid:hover,
.ab-theme .brand-dugme:hover,
.ab-theme .veliko-dugme:hover {
  background: #fff !important;
  color: #000 !important;
}

.ab-btn--outline {
  background: #fff;
  color: #000 !important;
}

.ab-btn--outline:hover {
  background: #000;
  color: #fff !important;
}

.ab-btn--small {
  min-height: 38px;
  padding: 8px 20px;
  font-size: 12px;
}

.ab-btn--lg {
  min-height: 54px;
  font-size: 14px;
}

.ab-btn--block {
  display: flex;
  width: 100%;
}

.ab-btn.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}

.ab-btn__sep {
  opacity: 0.6;
}

.ab-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #000 !important;
  cursor: pointer;
  transition: transform 0.2s;
}

.ab-icon-btn:hover {
  transform: scale(1.07);
}

.ab-icon-btn:focus-visible,
.ab-btn:focus-visible,
.ab-nav__link:focus-visible {
  outline: 1px solid #000;
  outline-offset: 3px;
}

/* ---------- Forme (opšte) ---------- */
.ab-theme input[type="text"],
.ab-theme input[type="email"],
.ab-theme input[type="tel"],
.ab-theme input[type="password"],
.ab-theme input[type="number"],
.ab-theme input[type="search"],
.ab-theme input[type="date"],
.ab-theme select,
.ab-theme textarea,
.ab-theme .form-control,
.ab-theme .form-select,
.ab-select {
  border-radius: 0 !important;
  font-family: var(--ab-font);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.03em;
  color: #000;
}

.ab-select,
.ab-theme .form-select {
  width: 100%;
  min-height: 46px;
  padding: 10px 40px 10px 14px;
  border: 1px solid var(--ab-line-dark);
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3'%3e%3cpath d='m6 9 6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  -webkit-appearance: none;
  appearance: none;
  font-weight: 400 !important;
}

.ab-field {
  display: block;
  margin-bottom: 12px;
}

.ab-field input {
  width: 100%;
  min-height: 46px;
  padding: 10px 14px;
  border: 1px solid var(--ab-line-dark);
  background: #fff;
}

.ab-field input:focus,
.ab-select:focus {
  outline: none;
  border-color: #000;
}

.ab-check {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 13px;
  cursor: pointer;
  user-select: none;
}

.ab-check input {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #000;
  border-radius: 0;
}

/* ==========================================================================
   Announcement bar
   ========================================================================== */
.ab-announcement {
  position: relative;
  z-index: 1;
  background: var(--ab-accent);
  color: #000;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-align: center;
}

.ab-announcement__track {
  position: relative;
  height: 36px;
  overflow: hidden;
}

.ab-announcement__item {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0 16px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.2s, transform 0.2s;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ab-announcement__item.is-active {
  opacity: 1;
  transform: none;
  transition: opacity 0.5s 0.2s, transform 0.5s 0.2s;
}

/* ==========================================================================
   Header
   ========================================================================== */
.ab-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #fff;
  border-bottom: 1px solid var(--ab-line);
  transition: box-shadow 0.3s;
}

.ab-header.is-scrolled {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

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

.ab-header__top {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: 96px;
}

.ab-header__left {
  display: flex;
  align-items: center;
  gap: 16px;
}

.ab-header__pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 38px;
  padding: 0 18px;
  border: 1px solid var(--ab-line-dark);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: border-color 0.2s;
}

.ab-header__pill:hover {
  border-color: #000;
}

.ab-header__pill--small {
  padding: 0 14px;
  letter-spacing: 0.06em;
}

.ab-header__logo {
  display: block;
  justify-self: center;
  line-height: 0;
}

.ab-header__logo img {
  width: auto;
  height: 64px;
  max-width: 230px;
  object-fit: contain;
}

.ab-header__icons {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
}

.ab-header__burger,
.ab-header__search-mob {
  display: none !important;
}

.ab-cart-count {
  position: absolute;
  top: 0;
  right: 2px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 50%;
  background: var(--ab-accent-2);
  color: #000;
  font-size: 10px;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: 0;
  text-align: center;
}

/* Nalog dropdown */
.ab-account {
  position: relative;
}

.ab-account__panel {
  position: absolute;
  top: calc(100% + 18px);
  right: -10px;
  z-index: 1100;
  display: block !important;
  width: 320px;
  padding: 28px 24px;
  background: #fff;
  border: 1px solid var(--ab-line);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
}

.ab-account__panel.active {
  opacity: 1;
  visibility: visible;
  transform: none;
}

.ab-account__title,
.ab-account__hello {
  margin: 0 0 18px;
  font-family: var(--ab-font-heading);
  font-size: 22px;
}

.ab-account__panel .ab-btn + .ab-btn {
  margin-top: 10px;
}

.ab-account__links {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 16px;
  font-size: 12px;
}

.ab-account__links a {
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* ---------- Glavna navigacija ---------- */
.ab-nav {
  position: static;
}

.ab-nav__list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 40px;
  margin: 0;
  padding: 0 var(--ab-gutter);
  list-style: none;
}

.ab-nav__item {
  position: relative;
}

.ab-nav__item--mega {
  position: static;
}

.ab-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 52px;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.02em;
  color: #000 !important;
  background-image: linear-gradient(#000, #000);
  background-repeat: no-repeat;
  background-size: 0 1px;
  background-position: 0 calc(100% - 14px);
  transition: background-size 0.3s var(--ab-ease);
}

.ab-nav__link:hover,
.ab-nav__item.is-active > .ab-nav__link {
  background-size: 100% 1px;
}

.ab-nav__item--highlight .ab-nav__link {
  color: var(--ab-highlight) !important;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background-image: linear-gradient(var(--ab-highlight), var(--ab-highlight));
}

/* Simptomi dropdown */
.ab-theme #simptomiDropdown {
  position: absolute;
  top: 100% !important;
  left: 50% !important;
  z-index: 1100;
  display: block !important;
  min-width: 260px;
  max-height: 60vh;
  overflow-y: auto;
  margin: 0;
  padding: 16px 0;
  border: 1px solid var(--ab-line);
  border-radius: 0;
  background: #fff;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -6px);
  transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
}

.ab-theme #simptomiDropdown.is-open {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

.ab-theme #simptomiDropdown .dropdown-item {
  padding: 7px 24px;
  font-size: 14px;
  white-space: normal;
  background: none;
}

.ab-theme #simptomiDropdown .dropdown-item:hover {
  background: var(--ab-beige);
}

/* ---------- Mega meni ---------- */
.ab-theme .mega-menu {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  width: 100%;
  z-index: 999;
  max-height: calc(100vh - var(--ab-header-h) - 40px);
  overflow-y: auto;
  padding: 40px 0 48px;
  background: #fff;
  border-top: 1px solid var(--ab-line);
  box-shadow: 0 30px 40px rgba(0, 0, 0, 0.06);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity 0.25s, transform 0.25s, visibility 0.25s;
}

.ab-theme .mega-menu.show-mega-menu {
  opacity: 1;
  visibility: visible;
  transform: none;
}

.ab-theme .mega-menu > .container {
  max-width: var(--ab-page);
  padding: 0 var(--ab-gutter);
}

.ab-theme .categories-menu {
  min-height: 0;
  background: none;
  border-right: 1px solid var(--ab-line);
}

.ab-theme .categories-menu .nav-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 24px 12px 0;
  border: 0;
  border-radius: 0;
  background: none !important;
  color: #000 !important;
  font-family: var(--ab-font);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.ab-theme .categories-menu .nav-link.active,
.ab-theme .categories-menu .nav-link:hover {
  background: none !important;
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-color: var(--ab-underline);
  text-decoration-thickness: 2px;
}

.ab-theme .subcategories {
  display: none;
  padding: 0 0 0 24px;
}

.ab-theme .subcategories.active {
  display: block;
}

.ab-theme .subcategories > .row {
  padding: 0 !important;
}

.ab-theme .subcategories h6 {
  margin: 0 0 12px;
  font-family: var(--ab-font);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #000;
}

.ab-theme .subcategories ul {
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}

.ab-theme .subcategories ul ul {
  margin: 0;
}

.ab-theme .subcategories ul li a {
  display: inline-block;
  padding: 4px 0;
  font-size: 14px;
  color: #000 !important;
  background-image: linear-gradient(#000, #000);
  background-repeat: no-repeat;
  background-size: 0 1px;
  background-position: 0 100%;
  transition: background-size 0.3s var(--ab-ease);
}

.ab-theme .subcategories ul li a:hover {
  color: #000 !important;
  background-size: 100% 1px;
}

/* ---------- Pretraga panel ---------- */
.ab-search {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  z-index: 998;
  background: #fff;
  border-top: 1px solid var(--ab-line);
  box-shadow: 0 30px 40px rgba(0, 0, 0, 0.06);
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 0.25s, transform 0.25s;
}

.ab-search.is-open {
  opacity: 1;
  transform: none;
}

.ab-search__inner {
  display: flex;
  align-items: center;
  gap: 24px;
  padding-top: 28px;
  padding-bottom: 32px;
}

.ab-search__field {
  flex: 1 1 auto;
  max-width: 760px;
  margin: 0 auto;
  position: relative;
}

.ab-theme .ab-search__field .maasai-search-form,
.ab-theme .header-logo-search form.maasai-search-form {
  max-width: none;
  border: 0;
  border-bottom: 1px solid #000;
  border-radius: 0;
  overflow: visible;
}

/* ---------- Overlay ---------- */
.ab-overlay {
  position: fixed;
  inset: 0;
  z-index: 990;
  background: rgba(0, 0, 0, 0.35);
  opacity: 0;
  transition: opacity 0.3s;
}

.ab-overlay.is-visible {
  opacity: 1;
}

body.ab-cart-open .ab-overlay {
  z-index: 1250;
}

/* ---------- Mobilni drawer ---------- */
.ab-drawer {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 1200;
  width: min(420px, 100%);
  display: flex;
  flex-direction: column;
  background: #fff;
  transform: translateX(-100%);
  visibility: hidden;
  transition: transform 0.35s var(--ab-ease), visibility 0.35s;
  overflow: hidden;
}

.ab-drawer.is-open {
  transform: none;
  visibility: visible;
}

.ab-drawer__head {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 64px;
  padding: 0 16px;
  border-bottom: 1px solid var(--ab-line);
}

.ab-drawer__logo img {
  height: 36px;
  width: auto;
}

.ab-drawer__list {
  flex: 1 1 auto;
  overflow-y: auto;
  margin: 0;
  padding: 12px 0;
  list-style: none;
}

.ab-drawer__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 14px 24px;
  border: 0;
  background: none;
  color: #000 !important;
  font-family: var(--ab-font);
  font-size: 17px;
  font-weight: 400;
  letter-spacing: 0.02em;
  text-align: left;
  cursor: pointer;
}

.ab-drawer__link:hover {
  background: var(--ab-beige);
}

.ab-drawer__link--highlight {
  color: var(--ab-highlight) !important;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ab-drawer__list--small .ab-drawer__link {
  font-size: 15px;
  padding: 10px 24px;
}

.ab-drawer__foot {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 24px;
  background: var(--ab-beige);
  font-size: 14px;
}

.ab-drawer__foot a {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.ab-drawer__sub {
  position: absolute;
  inset: 64px 0 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  background: #fff;
  transform: translateX(100%);
  transition: transform 0.3s var(--ab-ease);
}

.ab-drawer__sub.is-open {
  transform: none;
}

.ab-drawer__back {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 24px;
  border: 0;
  border-bottom: 1px solid var(--ab-line);
  background: none;
  font-family: var(--ab-font);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  text-align: left;
  color: #000;
  cursor: pointer;
}

/* ---------- Breadcrumb ---------- */
.ab-theme .maasai-full-breadcrumb {
  padding-top: 18px;
  padding-bottom: 6px;
}

.ab-theme .ab-breadcrumb,
.ab-theme .woocommerce-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 0;
  margin: 0;
  font-size: 13px;
  letter-spacing: 0.02em;
  color: #000;
}

.ab-theme .ab-breadcrumb a {
  color: #000 !important;
}

.ab-theme .ab-breadcrumb a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ab-breadcrumb__sep {
  display: inline-block;
  margin: 0 8px;
  font-size: 10px;
}

.ab-theme .maasai-mobile-product-back {
  display: none;
}

/* ==========================================================================
   Naslovi sekcija ("Pure Range" stil)
   ========================================================================== */
.ab-section-title {
  margin: 0 0 40px;
  font-family: var(--ab-font-heading) !important;
  font-size: 40px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  color: #000;
}

.ab-section-title span {
  display: inline;
  padding-bottom: 2px;
  background-image: linear-gradient(var(--ab-underline), var(--ab-underline));
  background-repeat: no-repeat;
  background-size: 100% 2px;
  background-position: 0 100%;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.ab-section-title em {
  font-style: italic;
}

.ab-section-title--center {
  text-align: center;
}

.ab-section {
  padding: 64px 0;
}

.ab-section + .ab-section {
  padding-top: 24px;
}

.ab-section__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.ab-section__cta {
  display: flex;
  justify-content: center;
  padding: 40px var(--ab-gutter) 0;
}

.ab-section__cta .ab-btn {
  min-height: 44px;
  padding: 10px 30px;
  font-size: 14px;
}

/* ==========================================================================
   Hero slajder (Nivo)
   ========================================================================== */
.ab-hero {
  position: relative;
  background: var(--ab-beige-light);
}

.ab-theme .ab-hero .slider-wrapper,
.ab-theme .ab-hero .theme-default {
  margin: 0;
}

.ab-theme .theme-default .nivoSlider {
  margin: 0 !important;
  background: var(--ab-beige-light) !important;
  box-shadow: none !important;
}

.ab-theme .theme-default .nivoSlider img {
  object-fit: cover;
}

.ab-theme .theme-default .nivo-directionNav a {
  top: 50%;
  width: 34px;
  height: 64px;
  margin-top: -32px;
  opacity: 1 !important;
  text-indent: 0;
  font-size: 0;
  background: none !important;
  color: #000 !important;
}

.ab-theme .theme-default .nivo-directionNav a::before {
  content: "";
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 28px 56px;
}

.ab-theme .theme-default a.nivo-prevNav {
  left: 18px;
}

.ab-theme .theme-default a.nivo-nextNav {
  right: 18px;
}

.ab-theme .theme-default a.nivo-prevNav::before {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 58' fill='none' stroke='%23000' stroke-width='1.2'%3e%3cpath d='M28 1 2 29l26 28'/%3e%3c/svg%3e");
}

.ab-theme .theme-default a.nivo-nextNav::before {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 58' fill='none' stroke='%23000' stroke-width='1.2'%3e%3cpath d='m2 1 26 28L2 57'/%3e%3c/svg%3e");
}

.ab-theme .theme-default .nivo-controlNav {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 22px;
  z-index: 10;
  display: flex;
  justify-content: center;
  gap: 18px;
  padding: 0;
  text-align: center;
}

.ab-theme .theme-default .nivo-controlNav a {
  display: block;
  width: 46px;
  height: 2px;
  margin: 0;
  padding: 8px 0;
  text-indent: -9999px;
  background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)) center / 100% 2px no-repeat !important;
  border: 0;
}

.ab-theme .theme-default .nivo-controlNav a.active {
  background: linear-gradient(#000, #000) center / 100% 3px no-repeat !important;
}

.ab-theme .theme-default .nivo-caption {
  display: none !important;
}

/* ==========================================================================
   Slajderi proizvoda (Keen)
   ========================================================================== */
.ab-theme .container-slider.ab-slider {
  position: relative;
  max-width: var(--ab-page);
  margin: 0 auto;
  padding: 0 var(--ab-gutter);
  overflow: hidden;
}

.ab-theme .ab-slider .keen-slider {
  overflow: hidden;
  padding: 0 !important;
  margin: 0 !important;
}

.ab-theme .ab-slider .keen-slider__slide {
  min-height: 0;
  overflow: visible;
  display: flex;
  padding: 0 !important;
  background: none !important;
  opacity: 1 !important;
}

.ab-theme .ab-slider .keen-slider__slide > .ab-card {
  width: 100%;
}

.ab-slider__arrow {
  position: absolute;
  top: 34%;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 70px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #000 !important;
  box-shadow: none !important;
  transform: translateY(-50%);
  cursor: pointer;
  transition: opacity 0.2s;
}

.ab-slider__arrow:hover {
  opacity: 0.6;
}

.ab-slider__arrow--prev {
  left: 12px;
}

.ab-slider__arrow--next {
  right: 12px;
}

/* stari mobilni grid iz plugina više se ne koristi */
.ab-theme .ab-slider .mobile-grid-layout {
  display: flex !important;
}

/* ==========================================================================
   Kartica proizvoda
   ========================================================================== */
.ab-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
}

.ab-card__media {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  margin-bottom: 20px;
  overflow: hidden;
  background: #fff;
}

.ab-card__img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
  padding: 6%;
  transition: transform 0.6s var(--ab-ease);
}

.ab-card:hover .ab-card__img {
  transform: scale(1.04);
}

.ab-card__badges {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  pointer-events: none;
}

.ab-badge {
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 12px;
  border: 1px solid #d6d1cb;
  border-radius: 4px;
  background: #fefcf9;
  color: #000;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.ab-card__discount {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: var(--ab-beige);
  color: #000;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.ab-card__discount--lg {
  width: 70px;
  height: 70px;
  font-size: 20px;
}

.ab-card__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.ab-card__brand {
  min-height: 19px;
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
  text-transform: uppercase;
}

.ab-card__brand a {
  color: #000 !important;
}

.ab-theme .ab-card__title {
  margin: 0 0 12px;
  font-family: var(--ab-font) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  letter-spacing: 0.03em;
  text-transform: none !important;
  text-align: left;
}

.ab-card__title a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #000 !important;
}

.ab-card__title a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ab-card__price {
  margin-top: auto;
  margin-bottom: 14px;
  padding-top: 8px;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.04em;
}

.ab-card__price del {
  margin-right: 12px;
  color: var(--ab-muted);
  font-size: 14px;
}

.ab-card__price ins {
  text-decoration: none;
}

.ab-card__price .woocommerce-Price-currencySymbol {
  font-size: inherit;
}

.ab-theme .ab-card__btn {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  font-size: 14px;
  letter-spacing: 0.15em;
}

/* ==========================================================================
   Pronađite brend (brand_filter_form)
   ========================================================================== */
.ab-brand-search {
  background: var(--ab-beige-light);
}

.ab-theme .brand-filter-form {
  display: flex !important;
  flex-wrap: nowrap;
  gap: 0;
  width: 100%;
  max-width: 640px;
  margin: 0 auto !important;
  padding: 0 !important;
}

.ab-theme .brand-filter-form .form-select {
  flex: 1 1 auto;
  min-height: 52px;
  border-color: #000;
  border-right: 0;
}

.ab-theme .brand-filter-form .btn {
  flex: 0 0 auto;
  min-height: 52px;
  margin: 0 !important;
  width: auto !important;
}

/* ==========================================================================
   Reklamni baner (slika + tekst kao "Marine Collagen Body Lotion")
   ========================================================================== */
.ab-section--banner {
  padding: 32px 0;
}

.ab-theme .reklamni-baner {
  max-width: var(--ab-page);
  margin: 0 auto;
  padding: 0 var(--ab-gutter) !important;
  background: none !important;
}

.ab-theme .reklamni-baner > .row {
  margin: 0;
  align-items: center;
  --bs-gutter-x: 0;
}

.ab-theme .reklamni-baner img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 620px;
  object-fit: cover;
}

.ab-theme .reklamni-baner .col-md-6.p-5,
.ab-theme .reklamni-baner .col-md-12.p-5 {
  padding: 40px 64px !important;
  text-align: left !important;
}

.ab-theme .reklamni-baner .col-md-12.p-5 {
  text-align: center !important;
}

.ab-theme .naslov-banera {
  margin: 0 0 16px;
  font-family: var(--ab-font-heading) !important;
  font-size: 34px !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
  color: #000 !important;
}

.ab-theme .tekst-banera {
  margin: 0 0 28px;
  font-size: 15px !important;
  line-height: 1.6;
  color: #000;
}

.ab-theme .tekst-banera p:last-child {
  margin-bottom: 0;
}

.ab-theme .reklamni-baner .brand-dugme {
  min-height: 42px;
  padding: 10px 26px;
  font-size: 13px;
}

/* ==========================================================================
   Naše vrednosti (Our commitments)
   ========================================================================== */
.ab-commitments {
  position: relative;
  padding: 56px 0 64px;
  background: var(--ab-beige);
  overflow: hidden;
}

.ab-commitments::before {
  content: "";
  position: absolute;
  left: -60px;
  top: -70px;
  width: 190px;
  height: 160px;
  border-radius: 46% 54% 60% 40% / 50% 45% 55% 50%;
  background: var(--ab-accent-2);
  opacity: 0.7;
}

.ab-commitments .ab-section-title {
  position: relative;
  margin-bottom: 48px;
}

.ab-commitments__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  text-align: center;
}

.ab-commitments__item svg {
  margin-bottom: 22px;
}

.ab-commitments__item p {
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

/* ==========================================================================
   Kolekcije / kategorije na naslovnoj
   ========================================================================== */
.ab-collections__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.ab-collcard {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.ab-collcard__media {
  display: block;
  width: 100%;
  aspect-ratio: 6 / 5;
  margin-bottom: 20px;
  overflow: hidden;
  background: var(--ab-beige-light);
}

.ab-collcard__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s var(--ab-ease);
}

.ab-collcard:hover .ab-collcard__media img {
  transform: scale(1.04);
}

.ab-collcard__eyebrow {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.ab-collcard__text {
  margin: 6px 0 20px;
  font-size: 17px;
  letter-spacing: 0.03em;
}

.ab-collcard .ab-btn {
  min-height: 46px;
  padding: 10px 28px;
  font-size: 14px;
  border-color: var(--ab-line-dark);
}

.ab-collcard:hover .ab-btn {
  border-color: #000;
}

/* ==========================================================================
   Shop / kategorija / brend
   ========================================================================== */
.ab-collection-hero {
  display: grid;
  grid-template-columns: 1fr;
  background: var(--ab-beige);
}

.ab-collection-hero.has-image {
  grid-template-columns: 1fr 1fr;
}

.ab-collection-hero__text {
  padding: 28px var(--ab-gutter) 48px;
  max-width: calc(var(--ab-page) / 2 + 200px);
}

.ab-collection-hero:not(.has-image) .ab-collection-hero__text {
  width: 100%;
  max-width: var(--ab-page);
  margin: 0 auto;
}

.ab-collection-hero__title {
  margin: 36px 0 24px;
  font-family: var(--ab-font-heading) !important;
  font-size: 40px !important;
  font-style: italic;
  font-weight: 400 !important;
  text-transform: none !important;
}

.ab-collection-hero__desc {
  max-width: 620px;
  font-size: 16px;
  line-height: 1.6;
}

.ab-collection-hero__desc p:last-child {
  margin-bottom: 0;
}

.ab-collection-hero__media {
  position: relative;
  min-height: 380px;
  max-height: 460px;
  overflow: hidden;
}

.ab-collection-hero__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}

.ab-collection {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 48px;
  padding-top: 32px;
  padding-bottom: 64px;
}

.ab-filters {
  align-self: start;
  position: sticky;
  top: calc(var(--ab-header-h) + 16px);
  max-height: calc(100vh - var(--ab-header-h) - 32px);
  overflow-y: auto;
  scrollbar-width: thin;
}

.ab-filters__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 0 14px;
  border-bottom: 1px solid var(--ab-line-dark);
}

.ab-filters__label {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.ab-filters__close {
  display: none !important;
}

.ab-filter {
  border-bottom: 1px solid var(--ab-line);
}

.ab-filter__title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 16px 0;
  border: 0;
  background: none;
  color: #000;
  font-family: var(--ab-font-heading);
  font-size: 17px;
  text-align: left;
  cursor: pointer;
}

.ab-filter__title svg {
  transition: transform 0.25s;
}

.ab-filter.is-open > .ab-filter__title svg {
  transform: rotate(180deg);
}

.ab-filter__body {
  display: none;
  padding: 0 0 20px;
}

.ab-filter.is-open > .ab-filter__body {
  display: block;
}

.ab-filter__list,
.ab-filter__sublist {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ab-filter__cat-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.ab-filter__cat-row a,
.ab-filter__sublist a {
  display: block;
  padding: 5px 0;
  font-size: 13px;
  letter-spacing: 0.03em;
}

.ab-filter__cat.is-current > .ab-filter__cat-row a,
.ab-filter__sublist .is-current a {
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-color: var(--ab-underline);
  text-decoration-thickness: 2px;
}

.ab-filter__cat-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  border: 0;
  background: none;
  color: #000;
  cursor: pointer;
}

.ab-filter__cat-toggle svg {
  transition: transform 0.25s;
}

.ab-filter__cat.is-open .ab-filter__cat-toggle svg {
  transform: rotate(45deg);
}

.ab-filter__sublist {
  display: none;
  padding: 2px 0 8px 14px;
}

.ab-filter__cat.is-open > .ab-filter__sublist {
  display: block;
}

/* Filter cene */
.ab-theme .maasai-price-filter__ranges {
  position: relative;
  height: 28px;
  margin: 4px 0 14px;
}

.ab-theme .maasai-price-filter__ranges::before,
.ab-theme .maasai-price-filter__ranges::after {
  content: "";
  position: absolute;
  top: 50%;
  height: 2px;
  transform: translateY(-50%);
}

.ab-theme .maasai-price-filter__ranges::before {
  left: 0;
  right: 0;
  background: var(--ab-line);
}

.ab-theme .maasai-price-filter__ranges::after {
  left: var(--min-percent);
  right: calc(100% - var(--max-percent));
  background: #000;
}

.ab-theme .maasai-price-filter__ranges input[type="range"] {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  margin: 0;
  background: none;
  pointer-events: none;
  -webkit-appearance: none;
  appearance: none;
}

.ab-theme .maasai-price-filter__ranges input[type="range"]::-webkit-slider-thumb {
  width: 16px;
  height: 16px;
  border: 1px solid #000;
  border-radius: 50%;
  background: #fff;
  pointer-events: auto;
  cursor: pointer;
  -webkit-appearance: none;
}

.ab-theme .maasai-price-filter__ranges input[type="range"]::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border: 1px solid #000;
  border-radius: 50%;
  background: #fff;
  pointer-events: auto;
  cursor: pointer;
}

.ab-theme .maasai-price-filter__inputs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.ab-theme .maasai-price-filter__inputs label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.ab-theme .maasai-price-filter__inputs input {
  width: 100%;
  min-height: 40px;
  padding: 6px 10px;
  border: 1px solid var(--ab-line-dark);
}

.ab-theme .maasai-price-filter__actions {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 14px;
}

.ab-theme .maasai-price-filter__reset {
  font-size: 12px;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* Toolbar */
.ab-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 28px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--ab-line);
}

.ab-toolbar__filter-btn {
  display: none;
  align-items: center;
  gap: 8px;
  height: 40px;
  padding: 0 16px;
  border: 1px solid #000;
  background: #fff;
  font-family: var(--ab-font);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  cursor: pointer;
}

.ab-toolbar__count {
  margin: 0;
  font-size: 13px;
  color: var(--ab-muted);
}

.ab-toolbar__right {
  display: flex;
  align-items: center;
  gap: 24px;
}

.ab-toolbar__sale {
  margin: 0;
}

.ab-toolbar__sort .woocommerce-ordering {
  margin: 0;
}

.ab-toolbar__sort select.orderby {
  min-width: 220px;
  min-height: 40px;
  padding: 6px 36px 6px 12px;
  border: 1px solid var(--ab-line-dark);
  background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3'%3e%3cpath d='m6 9 6 6 6-6'/%3e%3c/svg%3e") no-repeat right 10px center / 16px;
  font-size: 13px;
  -webkit-appearance: none;
  appearance: none;
}

/* Grid */
.ab-grid {
  display: grid;
  gap: 48px 24px;
}

.ab-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ab-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ab-grid > .product-item {
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
}

.ab-empty {
  grid-column: 1 / -1;
  padding: 40px 0;
  font-size: 15px;
}

/* Load more */
.ab-load-more {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  margin-top: 56px;
}

.ab-load-more__count {
  margin: 0;
  font-size: 13px;
  color: var(--ab-muted);
}

.ab-load-more__bar {
  display: block;
  width: 220px;
  height: 2px;
  background: var(--ab-line);
}

.ab-load-more__bar span {
  display: block;
  height: 100%;
  background: #000;
  transition: width 0.4s;
}

.ab-load-more .ab-btn {
  margin-top: 8px;
  min-width: 240px;
}

/* ==========================================================================
   Single product
   ========================================================================== */
.ab-product {
  padding-top: 8px;
  padding-bottom: 48px;
}

.ab-product__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  gap: 64px;
  align-items: start;
}

.ab-product__gallery {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

.ab-product__gallery.has-thumbs {
  grid-template-columns: 82px minmax(0, 1fr);
}

.ab-product__thumbs {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ab-product__thumb {
  display: block;
  width: 82px;
  height: 92px;
  padding: 4px;
  border: 1px solid transparent;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.2s;
}

.ab-product__thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ab-product__thumb.is-active,
.ab-product__thumb:hover {
  border-color: #000;
}

.ab-product__main-image {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  max-height: 640px;
  background: #fff;
}

.ab-product__main-image img {
  width: 100% !important;
  height: 100% !important;
  max-height: 640px;
  object-fit: contain;
}

.ab-product__info {
  position: sticky;
  top: calc(var(--ab-header-h) + 16px);
  padding-top: 8px;
}

.ab-product__brand {
  display: inline-block;
  margin-bottom: 10px;
  color: var(--ab-highlight) !important;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.ab-theme .ab-product__title {
  margin: 0 0 6px;
  font-family: var(--ab-font) !important;
  font-size: 24px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.03em;
  text-transform: none !important;
}

.ab-product__category {
  font-size: 13px;
  margin-bottom: 14px;
}

.ab-product__category a {
  color: var(--ab-muted) !important;
}

.ab-product__rating {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  font-size: 13px;
}

.ab-product__price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 14px;
  margin: 8px 0 22px;
  font-size: 18px;
}

.ab-product__price strong {
  font-weight: 600;
  letter-spacing: 0.04em;
}

.ab-product__price del {
  color: var(--ab-muted);
  font-size: 15px;
}

.ab-product__sku {
  padding-left: 14px;
  border-left: 1px solid var(--ab-line-dark);
  font-size: 13px;
  color: var(--ab-muted);
}

.ab-product__short {
  font-size: 14px;
  line-height: 1.7;
}

.ab-product__short p:last-child {
  margin-bottom: 8px;
}

.ab-product__more {
  display: inline-block;
  margin-bottom: 8px;
  font-size: 13px;
}

.ab-product__buy {
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid var(--ab-line);
}

.ab-product__qty-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  margin-bottom: 16px;
}

.ab-product__qty-label {
  font-size: 14px;
}

.ab-qty {
  display: inline-flex;
  align-items: center;
  height: 46px;
  border: 1px solid var(--ab-line-dark);
}

.ab-qty button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 100%;
  padding: 0;
  border: 0;
  background: none;
  color: #000;
  cursor: pointer;
}

.ab-theme .ab-qty input {
  width: 46px;
  height: 100%;
  padding: 0;
  border: 0;
  background: none;
  text-align: center;
  font-size: 15px;
  -moz-appearance: textfield;
}

.ab-qty input::-webkit-outer-spin-button,
.ab-qty input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.ab-product__buy-now {
  margin: 12px 0 0;
}

.ab-product__stock {
  margin: 0 0 14px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.ab-product__stock.is-out {
  padding: 14px;
  background: var(--ab-beige);
  text-align: center;
}

.ab-product__perks {
  display: grid;
  gap: 12px;
  margin: 24px 0 8px;
  padding: 0;
  list-style: none;
  font-size: 13px;
}

.ab-product__perks li {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Harmonika */
.ab-accordion {
  margin-top: 24px;
  border-top: 1px solid var(--ab-line);
}

.ab-accordion__item {
  border-bottom: 1px solid var(--ab-line);
}

.ab-accordion__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 20px 0;
  border: 0;
  background: none;
  color: #000;
  font-family: var(--ab-font-heading);
  font-size: 20px;
  text-align: left;
  cursor: pointer;
}

.ab-accordion__head svg {
  transition: transform 0.25s;
}

.ab-accordion__item.is-open .ab-accordion__head svg {
  transform: rotate(45deg);
}

.ab-accordion__body {
  display: none;
  padding: 0 0 24px;
}

.ab-accordion__item.is-open .ab-accordion__body {
  display: block;
}

.ab-rte {
  font-size: 14px;
  line-height: 1.75;
}

.ab-rte h2,
.ab-rte h3,
.ab-rte h4 {
  margin: 20px 0 10px;
  font-size: 18px;
}

.ab-rte ul {
  padding-left: 18px;
}

.ab-rte a {
  text-decoration: underline !important;
}

.ab-related {
  padding-top: 24px;
}

/* Recenzije */
.ab-reviews__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: 48px;
}

.ab-reviews .commentlist {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ab-reviews .commentlist li {
  padding: 24px 0;
  border-bottom: 1px solid var(--ab-line);
}

.ab-reviews .comment-form input[type="submit"],
.ab-reviews #submit {
  min-height: 46px;
  padding: 10px 32px;
  border: 1px solid #000;
  border-radius: 0;
  background: #000;
  color: #fff;
  font-size: 13px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.ab-reviews .comment-form textarea,
.ab-reviews .comment-form input[type="text"],
.ab-reviews .comment-form input[type="email"] {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid var(--ab-line-dark);
}

.ab-theme .star-rating,
.ab-theme .stars a {
  color: #eaaba0;
}

/* ==========================================================================
   Prednosti (reassurance) + Footer
   ========================================================================== */
.ab-reassurance {
  padding: 48px 0;
  background: #fff;
  border-top: 1px solid var(--ab-line);
}

.ab-reassurance__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  text-align: center;
}

.ab-reassurance__item svg {
  margin-bottom: 14px;
}

.ab-reassurance__title {
  margin: 0 0 2px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.ab-reassurance__text {
  margin: 0;
  font-size: 12px;
  letter-spacing: 0.03em;
}

.ab-reassurance__text a {
  text-decoration: underline !important;
}

.ab-theme footer.ab-footer {
  margin: 0;
  padding: 64px 0 0;
  background: var(--ab-beige);
  font-size: 13px;
  line-height: 1.7;
  color: #000;
}

.ab-footer__grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap: 40px;
}

.ab-footer__logo img {
  height: 52px;
  width: auto;
  margin-bottom: 22px;
}

.ab-footer__brand p {
  margin: 0 0 14px;
}

.ab-footer__phone {
  font-weight: 700;
  letter-spacing: 0.04em;
}

.ab-footer__title,
.ab-footer__heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin: 0 0 18px;
  padding: 0;
  border: 0;
  background: none;
  color: #000;
  font-family: var(--ab-font-heading);
  font-size: 22px;
  font-weight: 400;
  text-align: left;
  cursor: default;
}

.ab-footer__title svg {
  display: none;
}

.ab-footer__col ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ab-footer__col li {
  margin-bottom: 6px;
}

.ab-footer__col a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ab-footer__row {
  display: grid;
  grid-template-columns: 1.2fr 3fr;
  gap: 40px;
  margin-top: 48px;
  padding-bottom: 48px;
}

.ab-footer__social-links {
  display: flex;
  gap: 16px;
}

.ab-footer__social-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid #000;
  border-radius: 50%;
  transition: background-color 0.2s, color 0.2s;
}

.ab-footer__social-links a:hover {
  background: #000;
  color: #fff !important;
}

.ab-footer__cards {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.ab-footer__cards img {
  height: 28px;
  width: auto;
  border-radius: 3px;
  background: #fff;
}

.ab-footer__bottom {
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  background: var(--ab-beige);
}

.ab-footer__bottom-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  min-height: 56px;
  font-size: 12px;
}

.ab-footer__bottom-inner p {
  margin: 0;
}

.ab-footer__bottom nav {
  display: flex;
  gap: 32px;
}

.ab-to-top {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 900;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border: 0;
  border-radius: 50%;
  background: #000;
  color: #fff;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.3s, transform 0.3s, visibility 0.3s;
}

.ab-to-top svg {
  transform: rotate(180deg);
}

.ab-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: none;
}

/* ==========================================================================
   Tekstualne strane, blog, nalog, korpa, checkout – Académie tipografija
   ========================================================================== */
.ab-theme .naslov-strane,
.ab-theme h1.naslov-strane,
.ab-theme .single-page-tite,
.ab-theme .sadrzaj > .container > h1,
.ab-theme .maasai-search-header h1 {
  margin: 36px 0 32px !important;
  padding: 0 !important;
  font-family: var(--ab-font-heading) !important;
  font-size: 40px !important;
  font-style: italic;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  text-align: left;
}

.ab-theme .single-page-tite span,
.ab-theme .naslov-slajdera-proizvoda span {
  color: inherit !important;
  font-weight: 400 !important;
}

.ab-theme .naslov-slajdera-proizvoda,
.ab-theme .lep-h2 {
  font-family: var(--ab-font-heading) !important;
  font-size: 34px !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
}

.ab-theme .tekst-strana {
  font-size: 15px;
  line-height: 1.75;
}

.ab-theme .tekst-strana h2,
.ab-theme .tekst-strana h3 {
  margin: 32px 0 14px;
  font-size: 26px;
}

.ab-theme .tekst-strana a {
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* Linkovi-dugmad: jače od globalnog `a { color: … !important }` iz style.css */
.ab-theme a.ab-btn--solid,
.ab-theme a.brand-dugme,
.ab-theme a.veliko-dugme,
.ab-theme a.slide-cart-btn--solid,
.ab-theme a.ab-btn--outline:hover,
.ab-theme a.slide-cart-btn--outline:hover,
.ab-theme .ab-footer__social-links a:hover,
.ab-theme a.ab-skip-link {
  color: #fff !important;
}

.ab-theme a.ab-btn--solid:hover,
.ab-theme a.brand-dugme:hover,
.ab-theme a.slide-cart-btn--solid:hover {
  color: #000 !important;
}

.ab-theme a.ab-product__brand {
  color: var(--ab-highlight) !important;
}

.ab-theme .ab-product__short,
.ab-theme .ab-product__short p,
.ab-theme .ab-product__short li {
  text-align: left !important;
}

.ab-theme .ab-toolbar__sort .woocommerce-ordering {
  display: block;
  border: 0;
  background: none;
}

.ab-theme .ab-toolbar__sort select.orderby {
  background-color: #fff;
  border: 1px solid var(--ab-line-dark) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #000;
}

/* Opis kategorije: skraćen uz "Prikaži više" */
.ab-collection-hero__desc.is-clamped {
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ab-readmore {
  margin-top: 10px;
  padding: 0;
  border: 0;
  background: none;
  color: #000;
  font-family: var(--ab-font);
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

/* Neutralizacija starih pravila iz style.css za klase koje su zadržane radi kompatibilnosti */
.ab-theme #product-list {
  padding: 0;
  background: none;
}

.ab-theme .ab-product.product-page {
  padding: 8px var(--ab-gutter) 48px;
}

.ab-theme .ab-product__price.product-price {
  font-size: 18px;
  font-weight: 400;
}

.ab-theme .custom-add-button-single.ab-btn {
  width: 100%;
  background-color: #000 !important;
  color: #fff !important;
  font-size: 14px;
  font-weight: 500;
  border: 1px solid #000;
}

.ab-theme .custom-add-button-single.ab-btn:hover {
  background-color: #fff !important;
  color: #000 !important;
}

.ab-theme .woocommerce-breadcrumb {
  font-size: 13px !important;
  line-height: 1.5;
}

.ab-theme .custom-slider-button.ab-slider__arrow {
  top: 34% !important;
}

.ab-theme .ab-slider__arrow--next.custom-slider-button {
  right: 12px;
}

.ab-theme .logo-banaka img {
  margin: 0;
  border: 0;
}

.ab-theme #close-slide-cart {
  width: 40px;
  height: 40px;
  background: none;
  font-size: inherit;
}

.ab-theme .reklamni-baner {
  background-color: transparent;
}

@media (max-width: 767.98px) {
  body.ab-theme #products-container.ab-grid,
  body.ab-theme .maasai-search-products.ab-grid {
    gap: 36px 12px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Pretraga – strana rezultata */
.ab-theme .maasai-search-header {
  margin-bottom: 40px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--ab-line);
}

.ab-theme .maasai-search-eyebrow {
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.ab-theme .maasai-search-header h1 {
  margin: 12px 0 8px !important;
}

.ab-theme .maasai-search-pagination ul,
.ab-theme .woocommerce-pagination ul {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 48px 0 0;
  padding: 0;
  list-style: none;
}

.ab-theme .maasai-search-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 10px;
  border: 1px solid transparent;
  font-size: 14px;
}

.ab-theme .maasai-search-pagination .page-numbers.current {
  border-color: #000;
}

.ab-theme .maasai-search-empty-state {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
}

/* ==========================================================================
   Checkout – raspored kao na referentnom (Shopify) checkout-u
   levo: forma (bela), desno: pregled porudžbine (bež), minimalni header
   Selektori imaju body.ab-theme.woocommerce-checkout da bi nadjačali stari style.css.
   ========================================================================== */
body.ab-theme.woocommerce-checkout {
  --co-border: #d9d9d9;
  --co-radius: 5px;
  --co-muted: #707070;
  --co-split: calc(50% + 48px);
  background: #fff;
}

body.ab-theme.woocommerce-checkout .sadrzaj {
  background: #fff;
}

/* Minimalni header */
.ab-co-header {
  border-bottom: 1px solid #e1e1e1;
  background: #fff;
}

.ab-co-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1012px;
  min-height: 100px;
  margin: 0 auto;
  padding: 0 16px;
}

.ab-co-header__logo img {
  height: 60px;
  width: auto;
}

/* Grid: notices + forma levo, pregled desno */
body.ab-theme.woocommerce-checkout .ab-checkout-page {
  background: linear-gradient(90deg, #fff var(--co-split), var(--ab-beige) var(--co-split));
}

.ab-co {
  display: grid;
  grid-template-columns: 1fr minmax(0, 538px) minmax(0, 458px) 1fr;
  grid-template-areas:
    ". notices summary ."
    ". errors  summary ."
    ". main    summary .";
  grid-template-rows: auto auto 1fr;
  min-height: calc(100vh - 101px);
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout {
  display: contents !important;
}

.ab-co__notices {
  grid-area: notices;
  padding: 32px 38px 0 16px;
}

.ab-co__notices:empty {
  padding: 0;
}

.ab-co__main {
  grid-area: main;
  min-width: 0;
  padding: 20px 38px 48px 16px;
}

.ab-co__summary {
  grid-area: summary;
  min-width: 0;
  padding: 38px 16px 48px 38px;
  background: var(--ab-beige);
  border-left: 1px solid #e8ddd2;
}

.ab-co__summary-inner {
  position: sticky;
  top: 38px;
}

.ab-co__summary-toggle {
  display: none;
}

/* Sekcije */
.ab-co__section {
  margin-bottom: 32px;
}

.ab-co__section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}

body.ab-theme.woocommerce-checkout .ab-co__title {
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  font-family: var(--ab-font) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  font-style: normal;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.ab-co__subtitle {
  margin: -10px 0 14px;
  font-size: 14px;
  color: var(--co-muted);
}

body.ab-theme.woocommerce-checkout a.ab-co__signin {
  font-size: 14px;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* Login toggle iz WooCommerce-a zamenjen je linkom "Prijavite se" pored naslova Kontakt */
body.ab-theme.woocommerce-checkout .woocommerce-form-login-toggle {
  display: none;
}

body.ab-theme.woocommerce-checkout form.woocommerce-form-login {
  margin: 0 0 16px;
  padding: 20px;
  border: 1px solid var(--co-border);
  border-radius: var(--co-radius);
  background: #fff;
}

/* Kartica forme više nije "kartica" */
body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout .col2-set {
  padding: 0;
  border: 0 !important;
  border-radius: 0;
  background: none;
  box-shadow: none !important;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
  gap: 12px;
}

/* <div> autocomplete liste unutar <p> browser "zatvara" i ostavlja prazan <p> koji zauzima ćeliju grid-a */
body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > p:empty {
  display: none;
}

/* Napomena uz porudžbinu */
body.ab-theme.woocommerce-checkout .woocommerce-additional-fields {
  margin: 20px 0 32px !important;
}

body.ab-theme.woocommerce-checkout .woocommerce-additional-fields > h3 {
  display: none;
}

/* Polja */
body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout label {
  margin: 0 0 6px;
  color: var(--co-muted);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout .required {
  color: #c0392b;
  text-decoration: none;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout input.input-text,
body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout textarea,
body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout select {
  width: 100%;
  min-height: 48px;
  padding: 12px 13px;
  border: 1px solid var(--co-border) !important;
  border-radius: var(--co-radius) !important;
  background: #fff;
  box-shadow: none !important;
  color: #000;
  font-family: var(--ab-font);
  font-size: 14px;
  letter-spacing: 0.01em;
  transition: border-color 0.15s, box-shadow 0.15s;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout input.input-text::placeholder,
body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout textarea::placeholder {
  color: #9a9a9a;
  text-transform: none;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout input.input-text:focus,
body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout textarea:focus {
  border-color: #000 !important;
  box-shadow: 0 0 0 1px #000 !important;
  outline: none;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout input.input-text[readonly] {
  background: #f6f6f6 !important;
  color: var(--co-muted) !important;
}

/* stanja validacije iz postojećeg JS-a ostaju vidljiva */
body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout input.field-error {
  border-color: #e74c3c !important;
  box-shadow: 0 0 0 1px #e74c3c !important;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout .woocommerce-invalid input.input-text {
  border-color: #e74c3c !important;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout .apartment-details-row {
  padding: 14px;
  border: 1px solid var(--co-border);
  border-radius: var(--co-radius);
  background: #fafafa;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout .apartment-details-label {
  font-size: 13px;
  font-weight: 500;
  color: #000;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout .small-input {
  min-height: 42px;
}

/* Napomene uz porudžbinu */
body.ab-theme.woocommerce-checkout .woocommerce-additional-fields {
  margin-top: 24px;
}

body.ab-theme.woocommerce-checkout .woocommerce-additional-fields h3 {
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  font-family: var(--ab-font) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
}

/* Način isporuke */
.ab-co-shipping__table {
  width: 100%;
  border: 0;
  border-collapse: collapse;
}

.ab-co-shipping__table th {
  display: none;
}

.ab-co-shipping__table td {
  padding: 0;
  border: 0;
}

body.ab-theme.woocommerce-checkout .ab-co-shipping ul#shipping_method {
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1px solid var(--co-border);
  border-radius: var(--co-radius);
  overflow: hidden;
}

body.ab-theme.woocommerce-checkout .ab-co-shipping ul#shipping_method li {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 16px;
  border-bottom: 1px solid var(--co-border);
  font-size: 14px;
  text-align: left;
}

body.ab-theme.woocommerce-checkout .ab-co-shipping ul#shipping_method li:last-child {
  border-bottom: 0;
}

body.ab-theme.woocommerce-checkout .ab-co-shipping ul#shipping_method li:has(input:checked) {
  background: #f6f6f6;
  box-shadow: inset 0 0 0 1px #000;
}

body.ab-theme.woocommerce-checkout .ab-co-shipping ul#shipping_method input[type="radio"] {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #000;
}

body.ab-theme.woocommerce-checkout .ab-co-shipping ul#shipping_method label {
  flex: 1;
  margin: 0 !important;
  color: #000 !important;
  font-size: 14px !important;
  cursor: pointer;
}

body.ab-theme.woocommerce-checkout .ab-co-shipping ul#shipping_method label .amount {
  float: right;
  font-weight: 600;
}

body.ab-theme.woocommerce-checkout .ab-co-shipping td > p,
body.ab-theme.woocommerce-checkout .ab-co-shipping td:not(:has(ul)) {
  display: block;
  padding: 16px;
  border-radius: var(--co-radius);
  background: #f5f5f5;
  color: var(--co-muted);
  font-size: 14px;
  text-align: center;
}

/* Plaćanje */
body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout #payment {
  margin: 0;
  padding: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout #payment ul.payment_methods {
  margin: 0 0 24px;
  padding: 0;
  border: 1px solid var(--co-border);
  border-radius: var(--co-radius);
  background: #fff;
  overflow: hidden;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout #payment ul.payment_methods li {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid var(--co-border);
  list-style: none;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout #payment ul.payment_methods li:last-child {
  border-bottom: 0;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout #payment ul.payment_methods li > input[type="radio"] {
  position: relative;
  top: 2px;
  width: 18px;
  height: 18px;
  margin: 17px 0 17px 16px;
  accent-color: #000;
  vertical-align: top;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout #payment ul.payment_methods li > label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: calc(100% - 46px);
  margin: 0 !important;
  padding: 17px 16px 17px 10px;
  color: #000 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  cursor: pointer;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout #payment ul.payment_methods li > label img {
  max-height: 22px;
  width: auto;
  margin-left: auto;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout #payment ul.payment_methods li:has(> input:checked) {
  box-shadow: inset 0 0 0 1px #000;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout #payment ul.payment_methods li:has(> input:checked) > label,
body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout #payment ul.payment_methods li:has(> input:checked) > input {
  background: #f6f6f6;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout #payment ul.payment_methods li:has(> input:checked) {
  background: #f6f6f6;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout #payment .payment_box {
  margin: 0;
  padding: 14px 16px 16px 44px;
  border: 0 !important;
  border-top: 1px solid var(--co-border) !important;
  border-radius: 0 !important;
  background: #f4f4f4 !important;
  color: #333;
  font-size: 13px;
  line-height: 1.6;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout #payment .payment_box::before {
  display: none;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout #payment .payment_box p {
  margin: 0;
}

/* Uslovi + dugme */
body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout .place-order {
  margin: 0;
  padding: 0;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  margin: 0 0 20px;
  padding: 0;
  border: 0;
  background: none;
  font-size: 13px;
  color: var(--co-muted);
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout .woocommerce-privacy-policy-text p {
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1.6;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  color: #000;
  font-size: 13px;
  line-height: 1.5;
  cursor: pointer;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
  accent-color: #000;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout #place_order,
body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout button#place_order {
  display: block;
  width: 100%;
  min-height: 56px;
  margin: 0;
  padding: 14px 20px;
  border: 0 !important;
  border-radius: var(--co-radius) !important;
  background: #000 !important;
  color: #fff !important;
  font-family: var(--ab-font) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  cursor: pointer;
  transition: opacity 0.2s;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout #place_order:hover {
  background: #000 !important;
  color: #fff !important;
  opacity: 0.85;
}

/* Linkovi pravila ispod forme */
.ab-co__policies {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  margin-top: 48px;
  padding-top: 16px;
  border-top: 1px solid #e1e1e1;
  font-size: 13px;
}

body.ab-theme.woocommerce-checkout .ab-co__policies a {
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* Pregled porudžbine (desno) */
body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout #order_review {
  margin: 0;
  padding: 0;
  border: 0 !important;
  border-radius: 0;
  background: none;
  box-shadow: none !important;
  position: static;
}

body.ab-theme.woocommerce-checkout table.ab-review {
  width: 100%;
  margin: 0;
  border: 0 !important;
  border-collapse: collapse;
  background: none;
  font-size: 14px;
}

body.ab-theme.woocommerce-checkout table.ab-review th,
body.ab-theme.woocommerce-checkout table.ab-review td {
  padding: 5px 0;
  border: 0 !important;
  background: none !important;
  color: #000;
  font-size: 14px;
  font-weight: 400;
  vertical-align: middle;
}

body.ab-theme.woocommerce-checkout table.ab-review td {
  text-align: right;
}

body.ab-theme.woocommerce-checkout table.ab-review tbody td {
  padding: 8px 0;
}

body.ab-theme.woocommerce-checkout table.ab-review tbody td.product-name {
  text-align: left;
}

body.ab-theme.woocommerce-checkout table.ab-review tbody tr:last-child td {
  padding-bottom: 24px;
}

.ab-review__item {
  display: flex;
  align-items: center;
  gap: 16px;
}

.ab-review__thumb {
  position: relative;
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  background: #fff;
}

.ab-review__thumb img {
  width: 100% !important;
  height: 100% !important;
  padding: 4px;
  border-radius: 8px;
  object-fit: contain;
}

.ab-review__qty {
  position: absolute;
  top: -9px;
  right: -9px;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 11px;
  background: #000;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 22px;
  text-align: center;
}

.ab-review__name {
  font-size: 14px;
  line-height: 1.4;
}

.ab-review__name dl.variation {
  margin: 4px 0 0;
  font-size: 12px;
  color: var(--co-muted);
}

body.ab-theme.woocommerce-checkout table.ab-review tfoot tr:first-child th,
body.ab-theme.woocommerce-checkout table.ab-review tfoot tr:first-child td {
  padding-top: 18px;
  border-top: 1px solid #e8ddd2 !important;
}

body.ab-theme.woocommerce-checkout table.ab-review tfoot th {
  text-align: left;
}

body.ab-theme.woocommerce-checkout table.ab-review tr.order-total th,
body.ab-theme.woocommerce-checkout table.ab-review tr.order-total td {
  padding-top: 16px;
  font-size: 19px;
  font-weight: 600;
  vertical-align: top;
}

body.ab-theme.woocommerce-checkout table.ab-review tr.order-total td strong {
  font-weight: 600;
}

.ab-review__vat {
  display: block;
  margin-top: 2px;
  font-size: 13px;
  font-weight: 400;
  color: var(--co-muted);
}

.ab-review__free {
  font-weight: 600;
}

/* Notice-i */
body.ab-theme.woocommerce-checkout .woocommerce-NoticeGroup,
body.ab-theme.woocommerce-checkout .ab-co__notices .woocommerce-info,
body.ab-theme.woocommerce-checkout .ab-co__notices .woocommerce-error,
body.ab-theme.woocommerce-checkout .ab-co__notices .woocommerce-message {
  border-radius: var(--co-radius) !important;
}

body.ab-theme.woocommerce-checkout .woocommerce-NoticeGroup,
body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout > .woocommerce-NoticeGroup {
  grid-column: auto;
  grid-area: errors;
  min-width: 0;
  padding: 24px 38px 0 16px;
}

body.ab-theme.woocommerce-checkout .woocommerce-NoticeGroup .woocommerce-error {
  margin: 0 !important;
  padding: 14px 16px 14px 34px !important;
  border: 1px solid #e32c2b !important;
  border-radius: var(--co-radius) !important;
  background: #fff5f5 !important;
  box-shadow: none !important;
  color: #000 !important;
  font-size: 13px;
  line-height: 1.6;
}

body.ab-theme.woocommerce-checkout .woocommerce-NoticeGroup .woocommerce-error::before {
  display: none;
}

body.ab-theme.woocommerce-checkout .woocommerce-NoticeGroup:focus,
body.ab-theme.woocommerce-checkout .woocommerce-NoticeGroup .woocommerce-error:focus {
  outline: none;
}

/* Poruka greške ispod polja */
body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout .checkout-inline-error-message {
  margin: 6px 0 0;
  color: #e32c2b;
  font-size: 12px;
}

body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout .woocommerce-invalid input.input-text {
  border-color: #e32c2b !important;
}

/* Autocomplete modal (mesto/ulica) u istom stilu */
body.ab-theme.woocommerce-checkout .autocomplete-modal {
  border: 1px solid #000 !important;
  border-radius: var(--co-radius) !important;
}

body.ab-theme.woocommerce-checkout .autocomplete-modal .modal-header {
  background: #000 !important;
  color: #fff !important;
  font-family: var(--ab-font);
  font-weight: 600;
}

body.ab-theme.woocommerce-checkout .autocomplete-item:hover {
  background: var(--ab-beige) !important;
}

/* Stranica zahvalnice (order received) */
body.ab-theme.woocommerce-order-received .ab-checkout-page {
  background: #fff;
}

body.ab-theme.woocommerce-order-received .ab-checkout-page .woocommerce {
  max-width: 980px;
  margin: 0 auto;
  padding: 48px 16px 64px;
}

/* ---------- Mobilni / tablet ---------- */
@media (max-width: 999.98px) {
  body.ab-theme.woocommerce-checkout .ab-checkout-page {
    background: #fff;
  }

  .ab-co-header__inner {
    min-height: 72px;
  }

  .ab-co-header__logo img {
    height: 44px;
  }

  .ab-co {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .ab-co__summary {
    order: -1;
  }

  body.ab-theme.woocommerce-checkout .woocommerce-NoticeGroup {
    padding: 16px 16px 0;
  }

  .ab-co__summary {
    padding: 0;
    border-left: 0;
    border-bottom: 1px solid #e8ddd2;
  }

  .ab-co__summary-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 18px 16px;
    border: 0;
    background: var(--ab-beige);
    color: #000;
    font-family: var(--ab-font);
    font-size: 14px;
    cursor: pointer;
  }

  .ab-co__summary-toggle span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  .ab-co__summary-toggle svg {
    transition: transform 0.2s;
  }

  .ab-co__summary.is-open .ab-co__summary-toggle svg {
    transform: rotate(180deg);
  }

  .ab-co__summary-toggle strong {
    font-size: 17px;
    font-weight: 600;
  }

  .ab-co__summary-inner {
    position: static;
    display: none;
    padding: 4px 16px 20px;
  }

  .ab-co__summary.is-open .ab-co__summary-inner {
    display: block;
  }

  .ab-co__notices {
    padding: 20px 16px 0;
  }

  .ab-co__main {
    padding: 20px 16px 40px;
  }

  body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
    grid-template-columns: 1fr;
  }

  body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout .form-row-first,
  body.ab-theme.woocommerce-checkout form.checkout.woocommerce-checkout .form-row-last {
    grid-column: 1 / -1;
  }
}

/* ==========================================================================
   Strana korpe ("Your cart" na referenci)
   ========================================================================== */
.ab-theme .woocommerce-cart-page {
  padding-top: 48px;
  padding-bottom: 32px;
}

.ab-cart__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 36px;
}

.ab-theme .ab-cart__title {
  margin: 0 !important;
  font-family: var(--ab-font-heading) !important;
  font-size: 40px !important;
  font-style: normal;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}

.ab-cart__continue {
  font-size: 16px;
}

.ab-theme table.ab-cart__table {
  width: 100%;
  margin: 0;
  border: 0 !important;
  border-collapse: collapse;
  background: none;
}

.ab-theme table.ab-cart__table thead th {
  padding: 0 0 18px;
  border: 0 !important;
  border-bottom: 1px solid var(--ab-line) !important;
  background: none;
  color: #000;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-align: left;
  text-transform: uppercase;
}

.ab-theme table.ab-cart__table th.product-quantity,
.ab-theme table.ab-cart__table td.product-quantity {
  width: 300px;
}

.ab-theme table.ab-cart__table th.product-subtotal,
.ab-theme table.ab-cart__table td.product-subtotal {
  width: 160px;
  text-align: right;
}

.ab-theme table.ab-cart__table tbody td {
  padding: 40px 0;
  border: 0 !important;
  background: none;
  vertical-align: top;
}

.ab-theme table.ab-cart__table tbody tr.cart_item + tr.cart_item td {
  border-top: 1px solid var(--ab-line) !important;
}

.ab-theme table.ab-cart__table td.product-subtotal {
  padding-top: 52px;
  font-size: 18px;
  letter-spacing: 0.04em;
}

.ab-cart__product {
  display: flex;
  gap: 40px;
}

.ab-cart__thumb {
  flex: 0 0 130px;
  width: 130px;
  height: 150px;
  background: #fff;
}

.ab-cart__thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}

.ab-cart__info {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-top: 4px;
}

.ab-cart__brand {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.ab-cart__name {
  font-family: var(--ab-font-heading);
  font-size: 17px;
  line-height: 1.35;
}

.ab-cart__name a {
  color: #000 !important;
}

.ab-cart__name a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ab-theme .ab-cart__price,
.ab-theme .ab-cart__price .amount {
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em;
}

.ab-cart__price del {
  margin-right: 8px;
  color: var(--ab-muted);
  font-size: 14px;
}

.ab-cart__price ins {
  text-decoration: none;
}

.ab-cart__qty-row {
  display: flex;
  align-items: center;
  gap: 20px;
  padding-top: 0;
}

.ab-theme .ab-cart__qty {
  height: 46px;
  border-color: #cfcfcf;
}

.ab-theme .ab-cart__qty .quantity {
  height: 100%;
}

.ab-theme .ab-cart__qty .quantity label {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
}

.ab-theme .ab-cart__qty input.qty {
  width: 46px;
  height: 100%;
  padding: 0;
  border: 0 !important;
  background: none;
  box-shadow: none !important;
  font-size: 15px;
  text-align: center;
  -moz-appearance: textfield;
}

.ab-theme .ab-cart__qty input.qty::-webkit-outer-spin-button,
.ab-theme .ab-cart__qty input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.ab-theme .ab-cart__remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: #000 !important;
  font-size: 0;
  transition: opacity 0.2s;
}

.ab-theme .ab-cart__remove:hover {
  opacity: 0.55;
}

/* Akcije (kupon / ažuriraj) – ažuriranje je automatsko, dugme je skriveno */
.ab-theme table.ab-cart__table tr.ab-cart__actions-row td {
  padding: 0 0 24px;
  border-top: 0 !important;
}

.ab-theme .ab-cart__update {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
}

.ab-cart__coupon {
  display: flex;
  gap: 0;
  max-width: 380px;
}

.ab-theme .ab-cart__coupon input.input-text {
  flex: 1;
  min-height: 46px;
  padding: 10px 14px;
  border: 1px solid #cfcfcf !important;
  border-right: 0 !important;
}

.ab-theme .ab-cart__coupon .ab-btn {
  min-height: 46px;
}

/* Donji deo: međuzbir + dugme */
.ab-cart__bottom {
  display: flex;
  justify-content: flex-end;
  padding-top: 36px;
  border-top: 1px solid var(--ab-line);
}

.ab-theme .ab-cart-totals {
  width: 100%;
  max-width: 400px;
  float: none;
  text-align: right;
}

.ab-theme .ab-cart-totals > h2 {
  display: none;
}

.ab-theme table.ab-cart-totals__table {
  width: 100%;
  margin: 0;
  border: 0 !important;
  background: none;
}

.ab-theme table.ab-cart-totals__table th,
.ab-theme table.ab-cart-totals__table td {
  padding: 4px 0;
  border: 0 !important;
  background: none;
  vertical-align: baseline;
}

.ab-theme table.ab-cart-totals__table th {
  padding-right: 24px;
  font-family: var(--ab-font-heading);
  font-size: 17px;
  font-weight: 400;
  text-align: right;
}

.ab-theme table.ab-cart-totals__table td {
  width: 1%;
  font-size: 20px;
  letter-spacing: 0.04em;
  text-align: right;
  white-space: nowrap;
}

.ab-cart-totals__note {
  margin: 10px 0 24px;
  font-size: 13px;
  color: var(--ab-muted);
}

.ab-cart-totals__note a {
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

.ab-theme .wc-proceed-to-checkout {
  padding: 0;
}

.ab-theme .wc-proceed-to-checkout a.checkout-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  margin: 0 !important;
  padding: 12px 20px !important;
  border: 1px solid #000 !important;
  border-radius: 0 !important;
  background: #000 !important;
  color: #fff !important;
  font-family: var(--ab-font) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  transition: background-color 0.2s, color 0.2s;
}

.ab-theme .wc-proceed-to-checkout a.checkout-button:hover {
  background: #fff !important;
  color: #000 !important;
}

.ab-cart__suggest {
  padding-bottom: 24px;
}

.ab-theme .container-slider.ab-slider--flush {
  max-width: none;
  margin: 0;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow: visible;
}

.ab-theme .ab-slider--flush .keen-slider {
  overflow: hidden;
}

.ab-theme .ab-slider--flush .ab-slider__arrow--prev {
  left: -52px;
}

.ab-theme .ab-slider--flush .ab-slider__arrow--next {
  right: -52px;
}

/* Poruke na strani korpe ("Korpa je ažurirana", "… uklonjen. Poništi?") */
.ab-theme.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message,
.ab-theme.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info,
.ab-theme.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-error {
  margin: 0 0 28px;
  padding: 14px 18px !important;
  font-size: 14px;
  text-align: left;
  list-style: none;
}

.ab-theme.woocommerce-cart .woocommerce-notices-wrapper :focus {
  outline: none;
}

.ab-theme.woocommerce-cart .woocommerce-message a.restore-item {
  margin-left: 6px;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* Prazna korpa */
.ab-cart--empty {
  padding: 24px 0 48px;
  text-align: center;
}

.ab-cart--empty .ab-cart__title {
  margin-bottom: 24px !important;
}

.ab-theme .ab-cart--empty .cart-empty,
.ab-theme .ab-cart--empty .woocommerce-info {
  margin: 0 0 28px;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  font-size: 16px;
}

.ab-theme .ab-cart--empty .woocommerce-info::before {
  display: none;
}

@media (max-width: 1399.98px) {
  .ab-theme .ab-slider--flush .ab-slider__arrow--prev {
    left: -40px;
  }

  .ab-theme .ab-slider--flush .ab-slider__arrow--next {
    right: -40px;
  }
}

@media (max-width: 767.98px) {
  .ab-theme .woocommerce-cart-page {
    padding-top: 24px;
  }

  .ab-cart__head {
    margin-bottom: 20px;
  }

  .ab-theme .ab-cart__title {
    font-size: 30px !important;
  }

  .ab-cart__continue {
    font-size: 14px;
  }

  .ab-theme table.ab-cart__table thead th.product-quantity,
  .ab-theme table.ab-cart__table thead th.product-subtotal {
    display: none;
  }

  /* Red proizvoda kao grid: slika + info gore, količina i ukupno ispod */
  .ab-theme table.ab-cart__table tbody tr.cart_item {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 14px 12px;
    padding: 24px 0;
  }

  .ab-theme table.ab-cart__table tbody tr.cart_item + tr.cart_item {
    border-top: 1px solid var(--ab-line);
  }

  .ab-theme table.ab-cart__table tbody tr.cart_item td {
    width: auto;
    padding: 0;
    border-top: 0 !important;
  }

  .ab-theme table.ab-cart__table tbody tr.cart_item td.product-name {
    grid-column: 1 / -1;
  }

  .ab-theme table.ab-cart__table tbody tr.cart_item td.product-quantity {
    padding-left: 0;
  }

  .ab-theme table.ab-cart__table tbody tr.cart_item td.product-subtotal {
    align-self: center;
    padding: 0;
    font-size: 16px;
  }

  .ab-cart__product {
    gap: 16px;
  }

  .ab-cart__thumb {
    flex-basis: 96px;
    width: 96px;
    height: 110px;
  }

  .ab-cart__name {
    font-size: 15px;
  }

  .ab-cart__qty-row {
    gap: 8px;
  }

  .ab-theme .ab-cart__qty {
    height: 40px;
  }

  .ab-theme table.ab-cart__table tr.ab-cart__actions-row {
    display: block;
  }

  .ab-theme table.ab-cart__table tr.ab-cart__actions-row td {
    display: block;
    padding: 0 0 16px;
  }

  .ab-cart__bottom {
    padding-top: 24px;
  }

  .ab-theme .ab-cart-totals {
    max-width: none;
  }

}

/* Kontakt */
.ab-theme .split-section {
  min-height: 0 !important;
}

.ab-theme .split-section .left-sekcija,
.ab-theme .split-section .right-sekcija {
  min-height: 0 !important;
  height: auto !important;
  padding: 64px var(--ab-gutter) !important;
  align-items: flex-start !important;
}

.ab-theme .split-section .left-sekcija {
  background: var(--ab-beige) !important;
}

.ab-theme .split-section .right-sekcija {
  background: #fff !important;
}

.ab-theme .contact-container-servis {
  max-width: 560px;
  text-align: left !important;
}

.ab-theme .contact-container-servis h1 {
  margin-bottom: 16px;
  font-size: 40px;
  font-style: italic;
}

.ab-theme .contact-container-servis .contact-title {
  font-size: 22px !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

.ab-theme .info-box {
  border: 0 !important;
  border-bottom: 1px solid var(--ab-line) !important;
  border-radius: 0 !important;
  background: none !important;
  margin-bottom: 0 !important;
}

.ab-theme .infobox-title,
.ab-theme .infobox-text {
  padding: 18px 0 !important;
  border: 0 !important;
  background: none !important;
}

.ab-theme .infobox-title h5 {
  margin: 0;
  font-size: 22px;
}

.ab-theme .infobox-text p {
  margin: 0 0 6px;
  font-size: 14px;
}

.ab-theme .wpcf7 input:not([type="submit"]):not([type="checkbox"]),
.ab-theme .wpcf7 textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--ab-line-dark);
  border-radius: 0;
  background: #fff;
}

.ab-theme .wpcf7 input[type="submit"] {
  min-height: 46px;
  padding: 10px 32px;
  border: 1px solid #000;
  border-radius: 0;
  background: #000;
  color: #fff;
  font-size: 13px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

/* Brendovi */
.ab-brands .card {
  border: 1px solid var(--ab-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: border-color 0.2s;
}

.ab-brands .card:hover {
  border-color: #000 !important;
}

.ab-brands .card-title {
  font-family: var(--ab-font) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

/* 404 */
.error404 .sadrzaj h1 {
  font-family: var(--ab-font-heading) !important;
  font-weight: 400 !important;
}

/* Bootstrap dugmad u ostatku sajta (nalog, korpa, checkout, blog) */
.ab-theme .btn,
.ab-theme .button,
.ab-theme button.button,
.ab-theme a.button,
.ab-theme input.button,
.ab-theme #place_order,
.ab-theme .woocommerce-Button,
.ab-theme .checkout-button {
  border-radius: 0 !important;
  font-family: var(--ab-font) !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 13px;
  font-weight: 500;
  box-shadow: none !important;
}

.ab-theme .btn-primary,
.ab-theme .btn-warning,
.ab-theme .btn-danger,
.ab-theme .button.alt,
.ab-theme #place_order,
.ab-theme .checkout-button,
.ab-theme .woocommerce-Button,
.ab-theme button[name="login"],
.ab-theme button[name="register"],
.ab-theme button[name="save_account_details"],
.ab-theme button[name="save_address"] {
  border: 1px solid #000 !important;
  background: #000 !important;
  color: #fff !important;
}

.ab-theme .btn-primary:hover,
.ab-theme .btn-warning:hover,
.ab-theme .btn-danger:hover,
.ab-theme .button.alt:hover,
.ab-theme #place_order:hover,
.ab-theme .checkout-button:hover,
.ab-theme .woocommerce-Button:hover {
  background: #fff !important;
  color: #000 !important;
}

.ab-theme .btn-light,
.ab-theme .btn-secondary,
.ab-theme .btn-outline-secondary {
  border: 1px solid #000 !important;
  background: #fff !important;
  color: #000 !important;
}

.ab-theme .woocommerce form .form-row input.input-text,
.ab-theme .woocommerce form .form-row textarea,
.ab-theme .woocommerce form .form-row select,
.ab-theme form.checkout input.input-text,
.ab-theme .woocommerce-account input.input-text {
  min-height: 46px;
  border: 1px solid var(--ab-line-dark) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.ab-theme .woocommerce form .form-row input.input-text:focus,
.ab-theme form.checkout input.input-text:focus {
  border-color: #000 !important;
}

.ab-theme .woocommerce-message,
.ab-theme .woocommerce-info,
.ab-theme .woocommerce-error {
  border: 0 !important;
  border-left: 3px solid #000 !important;
  border-radius: 0 !important;
  background: var(--ab-beige) !important;
  color: #000 !important;
  font-size: 14px;
}

.ab-theme form.checkout h3,
.ab-theme #order_review_heading,
.ab-theme.woocommerce-account h2,
.ab-theme.woocommerce-account h3,
.ab-theme.woocommerce-cart h2,
.ab-theme.woocommerce-checkout h3 {
  font-family: var(--ab-font-heading) !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
}

.ab-theme .woocommerce table.shop_table {
  border-radius: 0 !important;
}

/* Akordeon iz Bootstrap-a (stare strane) */
.ab-theme .accordion-button {
  font-family: var(--ab-font-heading);
  font-size: 18px;
  background: none !important;
  box-shadow: none !important;
  color: #000;
}

.ab-theme .accordion-item {
  border-left: 0;
  border-right: 0;
  border-radius: 0 !important;
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1399.98px) {
  .ab-nav__list {
    gap: 0 28px;
  }

  .ab-header__pill--small {
    display: none;
  }
}

@media (max-width: 1199.98px) {
  .ab-product__grid {
    gap: 40px;
  }

  .ab-collection {
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 32px;
  }

  .ab-grid--4 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ab-theme .reklamni-baner .col-md-6.p-5 {
    padding: 32px 40px !important;
  }
}

@media (max-width: 991.98px) {
  :root {
    --ab-header-h: 64px;
  }

  .ab-header__top {
    min-height: 64px;
  }

  .ab-header__burger,
  .ab-header__search-mob {
    display: inline-flex !important;
  }

  .ab-header__pill,
  .ab-header__search-desk,
  .ab-header__stores {
    display: none !important;
  }

  .ab-header__left {
    gap: 4px;
    margin-left: -8px;
  }

  .ab-header__icons {
    gap: 4px;
    margin-right: -4px;
  }

  .ab-header__logo img {
    height: 40px;
    max-width: 150px;
  }

  .ab-nav {
    display: none;
  }

  .ab-account__panel {
    position: fixed;
    top: 64px;
    left: 16px;
    right: 16px;
    width: auto;
  }

  /* Mega meni na mobilnom: full-screen panel iznad drawer-a */
  .ab-theme .mega-menu {
    position: fixed;
    inset: 0;
    z-index: 1210;
    max-height: none;
    padding: 0;
    border: 0;
    box-shadow: none;
    opacity: 1;
    visibility: hidden;
    transform: translateX(-100%);
    transition: transform 0.35s var(--ab-ease), visibility 0.35s;
  }

  .ab-theme .mega-menu.show-mega-menu {
    visibility: visible;
    transform: none;
  }

  .ab-theme .mega-menu > .container {
    padding: 0;
  }

  .ab-theme .mega-menu .row {
    margin: 0;
  }

  .ab-theme .mega-menu .col-lg-3,
  .ab-theme .mega-menu .col-lg-9 {
    padding: 0;
  }

  .ab-theme .mobile-menu-header,
  .ab-theme .mobile-subcategory-header {
    position: sticky;
    top: 0;
    z-index: 3;
    min-height: 64px;
    display: flex;
    align-items: center;
    padding: 0 16px 0 24px !important;
    background: #fff !important;
    border-bottom: 1px solid var(--ab-line) !important;
  }

  .ab-theme .mobile-menu-header > div {
    width: 100%;
  }

  .ab-theme .mobile-menu-header h5,
  .ab-theme .mobile-subcategory-header h5 {
    margin: 0;
    font-family: var(--ab-font);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.15em;
    text-transform: uppercase;
  }

  .ab-theme .mobile-menu-header .btn-close {
    opacity: 1;
    box-shadow: none;
  }

  .ab-theme .categories-menu {
    border: 0;
  }

  .ab-theme .categories-menu .nav-link {
    padding: 16px 24px;
    border-bottom: 1px solid var(--ab-line);
    font-size: 14px;
  }

  .ab-theme .categories-menu .nav-link.active,
  .ab-theme .categories-menu .nav-link:hover {
    text-decoration: none;
  }

  .ab-theme .subcategories {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 4;
    padding: 0;
    overflow-y: auto;
    background: #fff;
    transform: translateX(100%);
    transition: transform 0.3s var(--ab-ease);
  }

  .ab-theme .subcategories.active {
    transform: none;
  }

  .ab-theme .subcategories > .row {
    padding: 20px 24px !important;
  }

  .ab-theme .subcategories ul li a {
    padding: 7px 0;
    font-size: 15px;
  }

  .ab-theme .back-btn {
    color: #000 !important;
    font-size: 20px;
  }

  /* Pretraga */
  .ab-search__inner {
    gap: 8px;
    padding-top: 12px;
    padding-bottom: 14px;
  }

  /* Hero */
  .ab-theme .theme-default .nivo-directionNav {
    display: none;
  }

  .ab-theme .theme-default .nivo-controlNav {
    position: static;
    padding: 16px 0 0;
  }

  /* Shop */
  .ab-collection-hero.has-image {
    grid-template-columns: 1fr;
  }

  .ab-collection-hero__media {
    order: -1;
    min-height: 220px;
  }

  .ab-collection {
    grid-template-columns: minmax(0, 1fr);
    padding-top: 20px;
  }

  .ab-filters {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 1200;
    width: min(380px, 100%);
    max-height: none;
    padding: 0 24px 32px;
    background: #fff;
    transform: translateX(-100%);
    visibility: hidden;
    transition: transform 0.35s var(--ab-ease), visibility 0.35s;
  }

  .ab-filters.is-open {
    transform: none;
    visibility: visible;
  }

  .ab-filters__head {
    position: sticky;
    top: 0;
    z-index: 2;
    min-height: 64px;
    padding: 0;
    background: #fff;
  }

  .ab-filters__close {
    display: inline-flex !important;
  }

  .ab-toolbar {
    flex-wrap: wrap;
  }

  .ab-toolbar__filter-btn {
    display: inline-flex;
  }

  .ab-toolbar__count {
    order: 3;
    width: 100%;
  }

  /* Proizvod */
  .ab-product__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .ab-product__gallery.has-thumbs {
    grid-template-columns: minmax(0, 1fr);
  }

  .ab-product__thumbs {
    order: 2;
    flex-direction: row;
    overflow-x: auto;
  }

  .ab-product__thumb {
    flex: 0 0 64px;
    width: 64px;
    height: 72px;
  }

  .ab-product__info {
    position: static;
  }

  .ab-reviews__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  /* Footer */
  .ab-footer__grid {
    grid-template-columns: 1fr 1fr;
  }

  .ab-footer__brand {
    grid-column: 1 / -1;
  }

  .ab-footer__row {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .ab-reassurance__grid,
  .ab-commitments__grid {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 40px;
  }
}

@media (max-width: 767.98px) {
  body.ab-theme {
    font-size: 15px;
  }

  .ab-announcement {
    font-size: 12px;
  }

  .ab-announcement__track {
    height: 32px;
  }

  .ab-section {
    padding: 44px 0;
  }

  .ab-section-title,
  .ab-theme .naslov-strane,
  .ab-theme h1.naslov-strane,
  .ab-theme .single-page-tite,
  .ab-theme .sadrzaj > .container > h1,
  .ab-collection-hero__title {
    font-size: 30px !important;
  }

  .ab-section-title {
    margin-bottom: 28px;
  }

  .ab-slider__arrow {
    display: none;
  }

  .ab-theme .ab-slider .keen-slider {
    overflow: visible;
  }

  .ab-card__media {
    margin-bottom: 14px;
  }

  .ab-card__brand {
    font-size: 11px;
  }

  .ab-theme .ab-card__title {
    font-size: 14px !important;
  }

  .ab-card__price {
    font-size: 14px;
  }

  .ab-card__price del {
    font-size: 12px;
    margin-right: 8px;
  }

  .ab-theme .ab-card__btn {
    min-height: 40px;
    font-size: 12px;
    letter-spacing: 0.12em;
  }

  .ab-badge {
    height: 22px;
    padding: 0 7px;
    font-size: 10px;
  }

  .ab-card__discount {
    width: 46px;
    height: 46px;
    font-size: 14px;
  }

  .ab-grid,
  .ab-grid--3,
  .ab-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px 12px;
  }

  .ab-toolbar__right {
    width: 100%;
    justify-content: space-between;
    gap: 12px;
  }

  .ab-toolbar__sort select.orderby {
    min-width: 0;
    width: 100%;
  }

  .ab-theme .reklamni-baner {
    padding: 0 !important;
  }

  .ab-theme .reklamni-baner .col-md-6.p-5,
  .ab-theme .reklamni-baner .col-md-12.p-5 {
    padding: 24px var(--ab-gutter) 8px !important;
  }

  .ab-theme .naslov-banera {
    font-size: 28px !important;
  }

  .ab-theme .brand-filter-form {
    flex-direction: column;
  }

  .ab-theme .brand-filter-form .form-select {
    border-right: 1px solid #000;
    border-bottom: 0;
  }

  .ab-collections__grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .ab-collection-hero__text {
    padding-bottom: 32px;
  }

  .ab-collection-hero__title {
    margin: 20px 0 16px;
  }

  .ab-collection-hero__desc {
    font-size: 14px;
  }

  .ab-theme .ab-product__title {
    font-size: 20px !important;
  }

  .ab-product__qty-row {
    justify-content: space-between;
  }

  .ab-btn--lg {
    min-height: 50px;
    font-size: 13px;
    letter-spacing: 0.12em;
  }

  .ab-footer__grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .ab-footer__brand {
    padding-bottom: 24px;
  }

  .ab-footer__col {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
  }

  .ab-footer__col .ab-footer__title {
    margin: 0;
    padding: 18px 0;
    font-size: 20px;
    cursor: pointer;
  }

  .ab-footer__title svg {
    display: inline-block;
    transition: transform 0.25s;
  }

  .ab-footer__col.is-open .ab-footer__title svg {
    transform: rotate(45deg);
  }

  .ab-footer__col ul {
    display: none;
    padding-bottom: 18px;
  }

  .ab-footer__col.is-open ul {
    display: block;
  }

  .ab-footer__row {
    margin-top: 0;
    padding-top: 28px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
  }

  .ab-footer__bottom-inner {
    flex-direction: column-reverse;
    justify-content: center;
    padding: 16px 0;
    text-align: center;
  }

  .ab-reassurance {
    padding: 36px 0;
  }

  .ab-reassurance__grid {
    gap: 28px 12px;
  }

  .ab-commitments__item p {
    font-size: 11px;
    letter-spacing: 0.15em;
  }

  .ab-to-top {
    right: 16px;
    bottom: 16px;
    width: 44px;
    height: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ab-theme *,
  .ab-theme *::before,
  .ab-theme *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}
