/* ==== GZS fix35 — 2026-10-21: Open Sans system, search, drawer, home, ATC, reg, PDP ==== */

/* ---------- 1) Typography: Open Sans everywhere (not icon fonts) ---------- */
html body,
html body .page-wrapper,
html body .page-main,
html body .column.main,
html body p,
html body li,
html body td,
html body th,
html body label,
html body input,
html body textarea,
html body select,
html body button,
html body .action,
html body .btn,
html body a,
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body .product-item-name,
html body .product-item-name a,
html body .product-item-link,
html body .product.name a,
html body .price-box,
html body .price,
html body .price-wrapper,
html body .special-price .price,
html body .old-price .price,
html body .navigation a,
html body .nav-sections,
html body .block-search,
html body .field,
html body .fieldset,
html body .form,
html body .message,
html body .breadcrumbs,
html body .toolbar,
html body .pages,
html body .footer,
html body .page-footer,
html body .gzs-section__title,
html body .gzs-section__lead,
html body .gzs-cat-card,
html body .gzs-hero,
html body .product-info-main,
html body .product-reviews-summary,
html body .review-control-vote {
  font-family: "Open Sans", "Segoe UI", "Helvetica Neue", Arial, sans-serif !important;
}

/* Keep icon fonts on icon pseudo-elements / icon classes.
   Open Sans on buttons/links otherwise turns PUA glyphs into black tofu squares. */
html body [class*="porto-icon"]:before,
html body [class*="porto-icon"]:after,
html body [class^="porto-icon-"]:before,
html body [class*="porto-icon-"]:before,
html body [class*=" fa-"]:before,
html body .fa:before,
html body .fas:before,
html body .far:before,
html body .fab:before,
html body .glyphicon:before,
html body .minicart-icon:before,
html body .minicart-wrapper .action.showcart:before,
html body .minicart-wrapper .action.showcart:after,
html body .action.tocart:before,
html body .action.tocart:after,
html body button.action.tocart:before,
html body button.action.tocart.primary:before,
html body .actions-primary .action.tocart:before,
html body .action.nav-toggle:before,
html body .block-search .action.search:before,
html body .ui-menu .ui-menu-icon:before,
html body .open-children-toggle:before,
html body .pages .action:before,
html body .modes-mode:before,
html body .sorter-action:before,
html body .action.wishlist:before,
html body .action.compare:before {
  font-family: "porto-icons", "luma-icons", "FontAwesome" !important;
  -webkit-font-smoothing: antialiased;
}

html body {
  font-size: 16px !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
  color: #333333 !important;
}

html body h1,
html body .page-title span,
html body .page-title-wrapper h1 {
  font-size: 28px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  color: #043E89 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

html body h2,
html body .gzs-section__title {
  font-size: 22px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  color: #043E89 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

html body h3 {
  font-size: 18px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
}

@media (min-width: 768px) {
  html body h1,
  html body .page-title span,
  html body .page-title-wrapper h1 {
    font-size: 30px !important;
  }
  html body h2,
  html body .gzs-section__title {
    font-size: 24px !important;
  }
}

html body .product-item-name,
html body .product-item-name a,
html body .product-item-link,
html body .product.name a,
html body .product-info-main .page-title span,
html body .product-info-main .page-title h1 {
  font-family: "Open Sans", "Segoe UI", Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
  color: #333333 !important;
  text-transform: none !important;
}

html body .product-info-main .page-title span,
html body .product-info-main .page-title h1 {
  font-size: 22px !important;
  line-height: 1.25 !important;
}

@media (min-width: 768px) {
  html body .product-info-main .page-title span,
  html body .product-info-main .page-title h1 {
    font-size: 26px !important;
  }
}

html body .price-box .price,
html body .price-wrapper .price,
html body .product-info-main .price,
html body .price-box .price-wrapper span.price {
  font-family: "Open Sans", "Segoe UI", Arial, sans-serif !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

html body .action.primary,
html body .action.tocart,
html body button.action.tocart.primary,
html body .actions-primary .action.tocart,
html body .btn-primary,
html body .gzs-hero__cta .action,
html body .gzs-hero .action.primary,
html body .customer-account-create .action.submit,
html body .form-create-account .action.submit,
html body .form.contact .action.submit,
html body .actions-toolbar .primary .action {
  font-family: "Open Sans", "Segoe UI", Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
}

html body input.input-text,
html body textarea,
html body select,
html body .field .control input,
html body .field .control select,
html body .field .control textarea {
  font-family: "Open Sans", "Segoe UI", Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
}

html body .field > .label,
html body .label,
html body .legend {
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
  color: #333333 !important;
  text-align: left !important;
}

/* ---------- 2) Mobile / tablet search: visible 44×44 icon control ---------- */
@media (max-width: 991px) {
  html body .page-header.type23 .block-search,
  html body .page-header.type23 #search_mini_form,
  html body .page-header.type23 .block-search .control,
  html body .page-header.type23 .block-search .field.search {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  html body .page-header.type23 .block-search .actions,
  html body .page-header.type23 #search_mini_form .actions,
  html body .block-search .actions {
    position: absolute !important;
    right: 2px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow: visible !important;
    z-index: 3 !important;
  }

  html body .page-header.type23 .block-search .action.search,
  html body .page-header.type23 #search_mini_form .action.search,
  html body .block-search .action.search,
  html body .minisearch .action.search {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    transform: none !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #ED1C24 !important;
    color: #fff !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: 0 !important;
    overflow: hidden !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 4 !important;
    box-shadow: none !important;
  }

  html body .block-search .action.search > span,
  html body .page-header.type23 .block-search .action.search > span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    font-size: 0 !important;
  }

  /* Centered search glyph — keep theme content, restore icon font only */
  html body .block-search .action.search:before,
  html body .page-header.type23 .block-search .action.search:before {
    font-family: "porto-icons", "luma-icons" !important;
    font-size: 20px !important;
    line-height: 1 !important;
    color: #fff !important;
    position: static !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    speak: none;
  }

  html body .block-search .action.search:disabled,
  html body .block-search .action.search[disabled] {
    opacity: 0.55 !important;
    cursor: not-allowed !important;
  }

  html body .page-header.type23 #search,
  html body .page-header.type23 .block-search input.input-text {
    padding-right: 52px !important;
  }

  /*
   * Mobile header:
   *   row 1: [logo ………] [račun] [košarica]
   *   row 2: [iskalnik ……………] [☰]
   */
  html body .page-header.type23 .header.content {
    position: relative !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    padding: 6px 12px 8px 12px !important;
    box-sizing: border-box !important;
    column-gap: 8px !important;
    row-gap: 6px !important;
  }

  html body .page-header.type23 .logo,
  html body .page-header.type23 .header.content .logo {
    order: 1 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 108px) !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html body .page-header.type23 .logo img,
  html body .page-header.type23 .header.content .logo img {
    display: block !important;
    max-height: 54px !important; /* was 36; +50% */
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
  }

  /* Account + cart: same row as logo */
  html body .page-header.type23 .gzs-account-link {
    position: absolute !important;
    top: 6px !important;
    right: 56px !important;
    left: auto !important;
    transform: none !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    z-index: 5 !important;
  }

  html body .page-header.type23 .minicart-wrapper,
  html body .page-header.type23 .minicart-wrapper.cart-design-1 {
    position: absolute !important;
    top: 6px !important;
    right: 12px !important;
    left: auto !important;
    transform: none !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    z-index: 5 !important;
  }

  /* Search + hamburger on second row */
  html body .page-header.type23 .header-main-right {
    order: 2 !important;
    flex: 1 1 calc(100% - 56px) !important;
    width: auto !important;
    max-width: calc(100% - 56px) !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  html body .page-header.type23 .action.nav-toggle {
    order: 3 !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    align-self: center !important;
  }

  html body .page-header.type23 .panel.wrapper,
  html body .page-header.type23 .header.panel {
    min-height: 0 !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
}

/* ---------- 3) Drawer: readable labels, NO dimming, icons never as tall strips ---------- */
@media (max-width: 991px) {
  /* No dimming — content stays visible beside the drawer */
  html.nav-open::before,
  html.nav-before-open::before,
  html.nav-open body::before,
  html.nav-before-open body::before,
  body.nav-open::before {
    content: none !important;
    display: none !important;
    background: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  /*
   * page-wrapper { z-index:3 } traps drawer. Release while open.
   * Drawer above header content; no backdrop layer.
   */
  html.nav-open .page-wrapper,
  html.nav-before-open .page-wrapper {
    z-index: auto !important;
    isolation: auto !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
  }

  html.nav-open .page-header.type23,
  html.nav-before-open .page-header.type23 {
    z-index: 10050 !important;
    isolation: auto !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
  }

  html body .nav-sections,
  html body .sections.nav-sections,
  html.nav-open body .nav-sections,
  html.nav-open body .sections.nav-sections {
    background: #ffffff !important;
    opacity: 1 !important;
    filter: none !important;
    isolation: isolate !important;
    z-index: 10051 !important;
    width: 86% !important;
    max-width: 360px !important;
    box-shadow: 8px 0 28px rgba(4, 62, 137, 0.18) !important;
  }

  html body .nav-sections .gzs-nav-close,
  html.nav-open body .nav-sections .gzs-nav-close {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    left: auto !important;
    z-index: 6 !important;
    background: #ffffff !important;
    opacity: 1 !important;
    filter: none !important;
  }

  /*
   * Category banner thumbs (LITERATURA_7.png etc.) must NEVER show in the drawer.
   * settings_sl_SI.css sets display:inline-block + width:32px + height:auto →
   * a 32×200px vertical slice of the banner = “broken letter” look.
   */
  html body .nav-sections .navigation .level0 > .level-top img,
  html body .nav-sections .navigation .level0 > a img,
  html body .nav-sections .navigation img.menu-thumb-icon,
  html body .navigation.sw-megamenu .level-top img,
  html body .navigation.sw-megamenu img.menu-thumb-icon,
  html body .navigation .level0 > .level-top .menu-thumb-icon {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  html body .nav-sections .navigation a,
  html body .nav-sections .nav-sections-item-title,
  html body .nav-sections .nav-sections-item-title a {
    font-size: 15px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    color: #043E89 !important;
  }

  html body .nav-sections .navigation .level0 {
    position: relative !important;
    width: 100% !important;
  }

  html body .nav-sections .navigation .level0 > .level-top,
  html body .nav-sections .navigation .level0 > a {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 48px !important;
    height: auto !important;
    max-height: none !important;
    box-sizing: border-box !important;
    padding: 12px 56px 12px 16px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    writing-mode: horizontal-tb !important;
  }

  html body .nav-sections .navigation .level0 > .level-top > span,
  html body .nav-sections .navigation .level0 > a > span {
    display: inline !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    writing-mode: horizontal-tb !important;
  }

  html body .nav-sections .navigation .level0 > .open-children-toggle,
  html body .nav-sections .navigation .open-children-toggle {
    position: absolute !important;
    top: 50% !important;
    right: 8px !important;
    left: auto !important;
    transform: translateY(-50%) !important;
    width: 44px !important;
    height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 3 !important;
  }
}

/* ---------- 4) Homepage sections: gutters + category tile centering ---------- */
html body .gzs-section,
html body .gzs-categories,
html body #gzs-categories,
html body .gzs-featured,
html body .gzs-why {
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}

html body .gzs-section__head,
html body .gzs-section .gzs-section__head,
html body #gzs-categories .gzs-section__head,
html body .gzs-categories .gzs-section__head {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  text-align: left !important;
}

html body .gzs-section__title,
html body .gzs-section__lead,
html body #gzs-categories .gzs-section__title,
html body #gzs-categories .gzs-section__lead {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}

html body .gzs-cat-grid,
html body .gzs-categories .gzs-cat-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (min-width: 768px) {
  html body .gzs-cat-grid,
  html body .gzs-categories .gzs-cat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}
@media (min-width: 1024px) {
  html body .gzs-cat-grid,
  html body .gzs-categories .gzs-cat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 1440px) {
  html body .gzs-cat-grid,
  html body .gzs-categories .gzs-cat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

html body .gzs-cat-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 8px !important;
  padding: 16px 12px !important;
  min-height: 150px !important;
  box-sizing: border-box !important;
}

html body .gzs-cat-card img,
html body .gzs-cat-card svg,
html body .gzs-cat-card .gzs-cat-card__icon {
  display: block !important;
  margin: 0 auto !important;
}

html body .gzs-cat-card h3,
html body .gzs-cat-card .gzs-cat-card__title {
  text-align: center !important;
  margin: 0 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #333333 !important;
  width: 100% !important;
}

html body .gzs-cat-card .gzs-cat-card__cta,
html body .gzs-cat-card span:last-child {
  text-align: center !important;
  display: block !important;
  width: 100% !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #043E89 !important;
}

/* Compact hero — keep categories closer to first screen */
@media (max-width: 991px) {
  html body .gzs-hero,
  html body .cms-index-index .gzs-hero {
    padding-top: 16px !important;
    padding-bottom: 12px !important;
    margin-bottom: 8px !important;
  }
  html body .gzs-hero__media,
  html body .gzs-hero img,
  html body .gzs-hero .gzs-hero__image {
    max-height: 180px !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    margin: 8px auto 0 !important;
  }
  html body .gzs-hero__actions,
  html body .gzs-hero .actions {
    gap: 8px !important;
    margin-top: 12px !important;
  }
  html body .gzs-hero .action,
  html body .gzs-hero a.action {
    min-height: 44px !important;
    padding: 10px 16px !important;
    font-size: 15px !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  html body .gzs-hero__media,
  html body .gzs-hero img {
    max-height: 220px !important;
  }
  html body .page-header.type23 .header.content {
    padding-top: 6px !important;
    padding-right: 108px !important;
    padding-bottom: 6px !important;
  }
}

/* Hide empty featured block (heading-only) */
html body .gzs-featured:not(:has(.product-item)),
html body .gzs-featured:not(:has(.products)) {
  display: none !important;
}

/* Section spacing */
html body .gzs-section,
html body #gzs-categories,
html body .gzs-featured,
html body .gzs-why {
  margin-top: 24px !important;
  margin-bottom: 24px !important;
}

@media (min-width: 768px) {
  html body .gzs-section,
  html body #gzs-categories {
    margin-top: 32px !important;
    margin-bottom: 32px !important;
  }
}

/* ---------- 5) Catalog ATC readability + desktop centering ---------- */
html body .products-grid .product-item-actions,
html body .products-grid .actions-primary,
html body .products-grid .product-item .product-item-inner,
html body .products-grid .product-item-details .product-item-actions {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  text-align: center !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

html body .products-grid .action.tocart,
html body .products-grid .actions-primary .action.tocart,
html body .products-grid button.action.tocart.primary {
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  min-height: 44px !important;
  height: auto !important;
  width: auto !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 10px 16px !important;
  white-space: normal !important;
  text-align: center !important;
  background: #043E89 !important;
  border-color: #043E89 !important;
  color: #fff !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

html body .products-grid .action.tocart:hover,
html body .products-grid .action.tocart:focus {
  background: #032E66 !important;
  border-color: #032E66 !important;
}

html body .products-grid .product-item-name,
html body .products-grid .product-item-name a,
html body .products-grid .product-item-link {
  font-size: 15px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
  color: #333333 !important;
  min-height: 4.2em !important;
  max-height: 4.2em !important;
  -webkit-line-clamp: 3 !important;
  line-clamp: 3 !important;
}

html body .products-grid .price-box .price {
  font-size: 18px !important;
  font-weight: 700 !important;
}

html body .toolbar .modes,
html body .toolbar .sorter,
html body .toolbar .limiter,
html body .toolbar-amount {
  font-size: 13px !important;
  line-height: 1.3 !important;
}

html body .toolbar .action,
html body .toolbar .modes-mode,
html body .sorter-action {
  min-width: 44px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ---------- 6) Registration compact ---------- */
html body.customer-account-create .page-title-wrapper,
html body.customer-account-create .page-main > .page-title-wrapper,
html body .form-create-account .legend,
html body.cms-company-register-form .page-title-wrapper {
  margin-bottom: 12px !important;
}

html body.customer-account-create h1,
html body.customer-account-create .page-title span,
html body.cms-company-register-form h1,
html body.cms-company-register-form .page-title span {
  font-size: 26px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  text-transform: none !important;
}

html body .gzs-reg-chooser,
html body.customer-account-create .gzs-reg-chooser,
html body .form-create-account .gzs-reg-chooser {
  margin: 0 0 16px 0 !important;
  gap: 12px !important;
}

html body .gzs-reg-chooser__card {
  padding: 14px 14px !important;
  min-height: 0 !important;
}

html body .gzs-reg-chooser__card h2,
html body .gzs-reg-chooser__card .gzs-reg-chooser__title {
  font-size: 16px !important;
  line-height: 1.3 !important;
  margin: 0 0 6px !important;
}

html body .gzs-reg-chooser__card p {
  font-size: 13px !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}

html body.customer-account-create .field .control input,
html body.customer-account-create .field .control select,
html body.cms-company-register-form .field .control input,
html body.cms-company-register-form .field .control select,
html body .form-create-account input.input-text,
html body .form-create-account select {
  min-height: 44px !important;
  height: 44px !important;
  padding: 10px 12px !important;
  box-sizing: border-box !important;
}

html body.customer-account-create .field,
html body.cms-company-register-form .field,
html body .form-create-account .field {
  margin-bottom: 16px !important;
}

html body.customer-account-create .action.submit,
html body .form-create-account .action.submit,
html body.cms-company-register-form .action.submit,
html body.customer-account-create button.action.primary {
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  min-height: 48px !important;
  padding: 12px 18px !important;
  width: 100% !important;
  max-width: 100% !important;
}

html body.customer-account-create .fieldset > .legend,
html body .form-create-account .fieldset > .legend,
html body .privacy,
html body .field.choice .label,
html body .field.choice span {
  text-align: left !important;
}

/* ---------- 7) PDP title / gallery a11y / sticky OOS ---------- */
html body.catalog-product-view .product-info-main {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

html body.catalog-product-view .product-info-main .page-title,
html body.catalog-product-view .product-info-main .page-title-wrapper {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-right: 0 !important;
  margin: 0 0 8px !important;
  position: relative !important;
  float: none !important;
}

html body.catalog-product-view .product-info-main .page-title span,
html body.catalog-product-view .product-info-main .page-title h1 {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: auto !important;
  padding-right: 0 !important;
}

/* Prev/next out of title flow — own row above title */
html body.catalog-product-view .product-info-main .product-next-prev,
html body.catalog-product-view .product.next-prev,
html body.catalog-product-view .next-prev,
html body.catalog-product-view .product-prev-next,
html body.catalog-product-view .product-shop .product-next-prev {
  position: static !important;
  float: none !important;
  top: auto !important;
  right: auto !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 10px !important;
  order: -1 !important;
  clear: both !important;
}

html body.catalog-product-view .product-info-main .price-box .price,
html body.catalog-product-view .product-info-price .price {
  font-family: "Open Sans", "Segoe UI", Arial, sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  font-variant-numeric: tabular-nums !important;
}

html body.catalog-product-view .product-reviews-summary .reviews-actions a,
html body.catalog-product-view .product-reviews-summary .action.view,
html body.catalog-product-view .product-reviews-summary .reviews-actions {
  font-size: 14px !important;
  line-height: 1.4 !important;
  color: #043E89 !important;
  opacity: 1 !important;
  font-weight: 600 !important;
}

html body.catalog-product-view .product.attribute.overview,
html body.catalog-product-view .product.attribute.description,
html body.catalog-product-view .product.info.detailed {
  font-size: 16px !important;
  line-height: 1.55 !important;
  color: #333333 !important;
  text-align: left !important;
}

@media (max-width: 767px) {
  html body.catalog-product-view .fotorama__arr,
  html body.catalog-product-view .fotorama__fullscreen-icon {
    width: 44px !important;
    height: 44px !important;
  }
  /* Separate next arrow (mid-right) from fullscreen (top-right) */
  html body.catalog-product-view .fotorama__arr--next {
    right: 8px !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    z-index: 3 !important;
  }
  html body.catalog-product-view .fotorama__arr--prev {
    left: 8px !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    z-index: 3 !important;
  }
  html body.catalog-product-view .fotorama__fullscreen-icon {
    top: 8px !important;
    right: 8px !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    z-index: 4 !important;
  }
  html body.catalog-product-view .gallery-placeholder,
  html body.catalog-product-view .fotorama__stage {
    max-height: 48vh !important;
  }
  html body.catalog-product-view .fotorama__img {
    object-fit: contain !important;
  }
  /* Qty: three separate cells */
  html body.catalog-product-view .field.qty,
  html body.catalog-product-view .box-tocart .field.qty {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    margin-bottom: 12px !important;
  }
  html body.catalog-product-view .qty .control,
  html body.catalog-product-view .field.qty .control {
    display: inline-flex !important;
    align-items: stretch !important;
    border: 1px solid #c9d2de !important;
    border-radius: 8px !important;
    overflow: hidden !important;
  }
  html body.catalog-product-view .qty .qty-button,
  html body.catalog-product-view .field.qty .qty-button,
  html body.catalog-product-view .box-tocart .qty .qtyminus,
  html body.catalog-product-view .box-tocart .qty .qtyplus,
  html body.catalog-product-view .qty button {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    position: static !important;
    float: none !important;
    left: auto !important;
    right: auto !important;
  }
  html body.catalog-product-view .qty input.input-text.qty,
  html body.catalog-product-view .field.qty input.qty {
    width: 56px !important;
    min-width: 56px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 4px !important;
    border: 0 !important;
    border-left: 1px solid #c9d2de !important;
    border-right: 1px solid #c9d2de !important;
    text-align: center !important;
    float: none !important;
  }
}

/* Hide sticky purchase band when out of stock / no ATC */
html body.catalog-product-view.product-outofstock .gzs-sticky-cart,
html body.catalog-product-view .product-info-stock-sku .stock.unavailable ~ .gzs-sticky-cart,
html body.catalog-product-view:has(.stock.unavailable) .gzs-sticky-cart,
html body.catalog-product-view:has(.stock.unavailable) .sticky-product,
html body.catalog-product-view:has(.stock.unavailable) .product-add-form.sticky,
html body.catalog-product-view:has(.stock.unavailable) .sticky-addto,
html body.catalog-product-view:has(.box-tocart .action.tocart[disabled]) .sticky-product,
html body.catalog-product-view:has(.stock.unavailable) .porto-sticky-product,
html body.catalog-product-view:has(.stock.unavailable) .product-sticky-nav,
html body.catalog-product-view:has(.product-info-stock-sku .stock.unavailable) .sticky-product,
html body.catalog-product-view:has(.product-info-stock-sku .stock.unavailable) .product-sticky-nav {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
}

/* Share email: icon-only circle — no duplicated “E-poštaE-pošta” text */
html body a.share-email,
html body .share-links a.share-email {
  font-size: 0 !important;
  line-height: 0 !important;
  letter-spacing: 0 !important;
  color: transparent !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  text-indent: 0 !important;
}
html body a.share-email::before,
html body .share-links a.share-email::before {
  content: "\f003" !important; /* envelope-ish / theme may map; fallback below */
  font-family: "porto-icons", "FontAwesome", "luma-icons" !important;
  font-size: 16px !important;
  line-height: 1 !important;
  color: #043E89 !important;
  speak: none;
}
html body a.share-email::after,
html body .share-links a.share-email::after {
  content: none !important;
  display: none !important;
}

/* Focus visibility */
html body a:focus-visible,
html body button:focus-visible,
html body .action:focus-visible,
html body input:focus-visible,
html body select:focus-visible,
html body textarea:focus-visible {
  outline: 2px solid #043E89 !important;
  outline-offset: 2px !important;
}

/* Cart: kill Porto type23 CSS-drawn black bag square; keep font icon only */
html body .page-header.type23 .minicart-wrapper,
html body .page-header.type23 .minicart-wrapper.cart-design-1,
html body .minicart-wrapper,
html body .minicart-wrapper.cart-design-1 {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  outline: none !important;
  width: 44px !important;
  height: 44px !important;
}

html body .page-header.type23 .minicart-wrapper .action.showcart,
html body .page-header.type23 .minicart-wrapper.cart-design-1 .action.showcart,
html body .minicart-wrapper .action.showcart,
html body .minicart-wrapper.cart-design-1 .action.showcart {
  border: 0 none transparent !important;
  border-width: 0 !important;
  border-style: none !important;
  border-color: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  outline: none !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* type23 draws bag body/handle with borders on :before/:after — remove completely */
html body .page-header.type23 .minicart-wrapper .action.showcart:before,
html body .page-header.type23 .minicart-wrapper .action.showcart:after,
html body .page-header.type23 .minicart-wrapper .showcart:before,
html body .page-header.type23 .minicart-wrapper .showcart:after,
html body .minicart-wrapper .action.showcart:before,
html body .minicart-wrapper .action.showcart:after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

html body .page-header.type23 .minicart-wrapper .minicart-icon,
html body .minicart-wrapper .minicart-icon,
html body .page-header.type23 .minicart-wrapper .minicart-icon:before,
html body .minicart-wrapper .minicart-icon:before {
  border: 0 !important;
  box-shadow: none !important;
  background: none !important;
  outline: none !important;
  font-family: "porto-icons", "luma-icons" !important;
  color: #043E89 !important;
  font-size: 22px !important;
  line-height: 1 !important;
  display: inline-block !important;
}

/* ATC: icon must use icon font (not Open Sans) — prevents black tofu square */
html body .action.tocart:before,
html body button.action.tocart:before,
html body .products-grid .action.tocart:before {
  font-family: "porto-icons", "luma-icons" !important;
  border: 0 !important;
  box-shadow: none !important;
  background: none !important;
  outline: none !important;
  color: inherit !important;
}

/* ---------- Audit P2: gutters, login, legal H1 clutter ---------- */
@media (max-width: 767px) {
  html body .gzs-container,
  html body .gzs-section .gzs-container,
  html body .column.main,
  html body .page-main {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }
  html body .gzs-section,
  html body #gzs-categories,
  html body .gzs-categories {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  html body .toolbar.toolbar-products {
    min-height: 0 !important;
    padding: 8px 0 !important;
  }
  html body .toolbar-products .modes,
  html body .toolbar-products .toolbar-sorter {
    margin-bottom: 8px !important;
  }
}

/* Login: hide duplicate password-reset link (keep one) */
html body.customer-account-login .login-container .actions-toolbar .secondary a.action.remind + a.action.remind,
html body.customer-account-login .block-customer-login .actions-toolbar .secondary a:nth-of-type(2) {
  /* keep Magento primary remind; hide “Spremeni geslo” duplicate if both present */
}
html body.customer-account-login a.action.remind[href*="forgotpassword"]:nth-of-type(n+2) {
  display: none !important;
}

/* Legal: only one visible page title band */
html body.cms-page-view .page-title-wrapper + .page-title-wrapper,
html body.cms-page-view .column.main > h1.page-title + h1 {
  display: none !important;
}

/* GZS-CAT-4x2 */
html body .gzs-cat-grid,
html body .gzs-categories .gzs-cat-grid,
html body #gzs-categories .gzs-cat-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
@media (min-width: 768px) {
  html body .gzs-cat-grid,
  html body .gzs-categories .gzs-cat-grid,
  html body #gzs-categories .gzs-cat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}
@media (min-width: 1024px) {
  html body .gzs-cat-grid,
  html body .gzs-categories .gzs-cat-grid,
  html body #gzs-categories .gzs-cat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
/* /GZS-CAT-4x2 */


/* === gzs-fix46-home-section-gap === */
/* Gap after bestsellers grid before "Iz promo materiala" — beat fix35 margin:0 !important */
html body .gzs-featured .topseller-section.gzs-home-best,
html body .gzs-featured .gzs-home-best {
  margin-bottom: 56px !important;
  padding-bottom: 24px !important;
}
html body .gzs-featured .gzs-home-best + .gzs-section__head,
html body .gzs-featured .topseller-section.gzs-home-best + .gzs-section__head,
html body .gzs-featured .gzs-section__head[style*="margin-top"],
html body .gzs-container.gzs-featured > .gzs-section__head[style*="margin-top"] {
  margin: 72px 0 16px 0 !important;
  padding-top: 16px !important;
}
@media (max-width: 767px) {
  html body .gzs-featured .topseller-section.gzs-home-best,
  html body .gzs-featured .gzs-home-best {
    margin-bottom: 40px !important;
    padding-bottom: 16px !important;
  }
  html body .gzs-featured .gzs-home-best + .gzs-section__head,
  html body .gzs-featured .topseller-section.gzs-home-best + .gzs-section__head,
  html body .gzs-featured .gzs-section__head[style*="margin-top"],
  html body .gzs-container.gzs-featured > .gzs-section__head[style*="margin-top"] {
    margin: 48px 0 16px 0 !important;
    padding-top: 12px !important;
  }
}

