/* Phase 3A. Every rule is scoped to product archives; Phase 2 header/home remain untouched. */
.spa-archive .content-page { max-width: 1380px; width: 100%; padding: 22px 20px 48px; margin: 0 auto; background: #fff; }
.spa-archive .content-page > .sidebar-position-left > .row { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 24px; margin: 0; }
.spa-archive .spa-archive-main { grid-column: 2; grid-row: 1; min-width: 0; width: 100%; padding: 0; left: auto; }
.spa-archive .spa-archive-sidebar { grid-column: 1; grid-row: 1; width: 100%; min-width: 0; padding: 0; margin: 0 !important; right: auto; float: none; position: static; }
.spa-archive .spa-archive-main, .spa-archive .spa-archive-sidebar { font-family: Arial, Helvetica, sans-serif; color: var(--spa-navy); }
.spa-archive-heading { margin-bottom: 10px; }
.spa-archive .woocommerce-breadcrumb { margin: 0 0 8px; padding: 0; font: 11px/1.6 Arial, Helvetica, sans-serif; color: #334c5b; text-transform: none !important; }
.spa-archive .woocommerce-breadcrumb a { color: var(--spa-navy); }
.spa-archive .woocommerce-breadcrumb span { padding: 0 5px; }
.spa-archive .spa-archive-heading h1 { margin: 0; color: var(--spa-navy); font: 400 28px/1.22 Georgia, 'Times New Roman', serif; text-transform: none; letter-spacing: 0; }
.spa-archive .filter-wrap { margin: 0 0 14px; padding: 0; border: 0; }
.spa-archive .filter-content { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; min-height: 40px; }
.spa-archive .woocommerce-notices-wrapper { width: 100%; }
.spa-archive .woocommerce-notices-wrapper:empty { display: none; }
.spa-archive .spa-result-count { float: none; margin: 0 auto 0 0; color: var(--spa-navy); font: 11px/1.5 Arial, Helvetica, sans-serif; }
.spa-archive .spa-ordering-label { margin: 0; font-size: 11px; font-weight: 400; }
.spa-archive .woocommerce-ordering { float: none; margin: 0; padding: 0; }
.spa-archive .woocommerce-ordering select { width: 174px; max-width: 100%; height: 36px; padding: 0 30px 0 10px; border: 1px solid #dce4ea; border-radius: 4px; color: var(--spa-navy); background-color: #fff; font: 11px Arial, Helvetica, sans-serif; }
.spa-archive .view-switcher { float: none; margin: 0; padding: 0; display: flex; gap: 6px; }
.spa-archive .view-switcher > div { margin: 0; width: 34px; height: 34px; border: 1px solid #dce4ea; border-radius: 4px; color: var(--spa-navy); }
.spa-archive .view-switcher label { display: none; }
.spa-archive .view-switcher a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: var(--spa-navy); }
.spa-archive .products-per-page { display: none; }
.spa-archive .open-filters-btn { display: none; }
.spa-archive .spa-archive-filters { border: 1px solid var(--spa-line); border-radius: 6px; padding: 14px 12px; background: #fff; }
.spa-archive .spa-archive-filters > summary { display: none; }
.spa-archive .spa-archive-sidebar .sidebar-widget { padding: 0; margin: 0 0 22px; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.spa-archive .spa-archive-sidebar .sidebar-widget:last-child { margin-bottom: 0; }
.spa-archive .spa-archive-sidebar .widget-title { font: 600 11px/1.5 Arial, Helvetica, sans-serif; color: var(--spa-navy); text-transform: uppercase; border-bottom: 1px solid var(--spa-line); padding: 0 0 10px; margin: 0 0 10px; }
.spa-archive .spa-archive-sidebar .widget-title::after { display: none; }
.spa-archive .spa-archive-sidebar .product-categories { padding: 0; margin: 0; }
.spa-archive .spa-archive-sidebar .product-categories li { padding: 4px 0; font: 11px/1.6 Arial, Helvetica, sans-serif; }
.spa-archive .spa-archive-sidebar .product-categories li a { display: inline !important; font: 400 11px/1.6 Arial, Helvetica, sans-serif !important; padding: 0 !important; }
.spa-archive .spa-archive-sidebar .product-categories > li > a { text-transform: uppercase; color: #09607c; font-weight: 500 !important; }
.spa-archive .spa-archive-sidebar .product-categories .children { margin: 3px 0 6px 10px; background: transparent; padding: 0; }
.spa-archive .spa-archive-sidebar .product-categories .children a { color: #334c5b; }
.spa-archive .spa-archive-sidebar .product-categories .count { display: inline !important; color: #647783; font-size: 10px; }
.spa-archive .spa-archive-sidebar .product-categories .current-cat > a { color: var(--spa-navy); font-weight: 700 !important; }
.spa-archive .spa-archive-sidebar .sidebar-widget select, .spa-archive .spa-archive-sidebar .sidebar-widget input { max-width: 100%; font-family: Arial, Helvetica, sans-serif; }
.spa-archive .spa-archive-sidebar .sidebar-widget .product_list_widget li, .spa-archive .price_slider_amount { font-family: Arial, Helvetica, sans-serif; font-size: 11px; }
.spa-archive .main-products-loop > .products { margin: 0; gap: 18px; width: 100%; }
.spa-archive .main-products-loop > .products-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.spa-archive .main-products-loop .product-category h2,
.spa-archive .main-products-loop .product-category h2 a,
.spa-archive .main-products-loop .woocommerce-loop-category__title {
  color:var(--spa-navy)!important; font:600 16px/1.4 Arial,Helvetica,sans-serif!important;
}
.spa-archive .term-description h2,
.spa-archive .term-description h3,
.spa-archive .term-description h4,
.spa-archive .woocommerce-products-header__description h4 {
  color:var(--spa-navy); font:400 16px/1.6 Arial,Helvetica,sans-serif;
}
.spa-archive .wp-block-heading {
  color:var(--spa-navy)!important; font:600 13px/1.5 Arial,Helvetica,sans-serif!important;
}
.spa-archive .content-page .elementor-image-box-title,
.spa-archive .content-page .elementor-image-box-title a {
  color:var(--spa-navy)!important; font:600 16px/1.4 Arial,Helvetica,sans-serif!important;
}
.spa-archive .content-page .elementor-heading-title {
  color:var(--spa-navy)!important; font:400 28px/1.3 Georgia,'Times New Roman',serif!important;
}
.spa-archive .main-products-loop > .products::before, .spa-archive .main-products-loop > .products::after { display: none; }
.spa-archive .main-products-loop > .products > .product { width: 100%; padding: 0; margin: 0; min-width: 0; float: none; }
.spa-archive .main-products-loop .content-product { display: flex; flex-direction: column; height: 100%; margin: 0; padding: 0; border: 1px solid var(--spa-line) !important; border-radius: 6px; overflow: hidden; box-shadow: 0 2px 7px #00445705; background: #fff; }
.spa-archive .main-products-loop .product-image-wrapper { flex: 0 0 auto; margin: 0; padding: 0; width: 100%; }
.spa-archive .main-products-loop .product-content-image { display: block; position: relative; width: 100%; aspect-ratio: 1.7; background: #f8fafb; }
.spa-archive .main-products-loop .product-content-image img { display: block; position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: 100%; max-height: none !important; object-fit: contain; margin: 0; }
.spa-archive .main-products-loop .product_cat-pokrovi-za-hidromasazne-bazene .product-content-image img { object-fit: cover; }
.spa-archive .main-products-loop .product-details { display: flex; flex-direction: column; flex: 1; text-align: left; padding: 12px 10px 10px; width: 100%; }
.spa-archive .main-products-loop .product-title { min-height: 42px; margin: 0 0 12px; padding: 0 !important; font: 600 15px/1.4 Georgia, 'Times New Roman', serif !important; text-transform: none; }
.spa-archive .main-products-loop .product-title a { color: var(--spa-navy) !important; font: inherit !important; }
.spa-card-options { display: grid; gap: 6px; margin: 0 0 12px; }
.spa-card-dimension { font: 11px/1.5 Arial, Helvetica, sans-serif; color: #334c5b; }
.spa-card-options label { margin: 0; padding: 0; font: 600 11px/1.4 Arial, Helvetica, sans-serif; color: var(--spa-navy); }
.spa-card-options label span { font-weight: 400; }
.spa-card-options select { width: 100%; min-width: 0; height: 34px; padding: 0 28px 0 9px; border: 1px solid #dce4ea; border-radius: 4px; background-color: #fafcfd; color: #526875; opacity: 1; -webkit-text-fill-color: #526875; font: 11px Arial, Helvetica, sans-serif; cursor: default; }
.spa-archive .main-products-loop .price { display: block; float: none; width: auto; padding: 0 !important; margin: 2px 0 7px !important; border: 0 !important; text-align: left !important; color: var(--spa-navy) !important; font: 700 20px/1.4 Arial, Helvetica, sans-serif !important; background: transparent; }
.spa-archive .main-products-loop .price ins { background: none; color: var(--spa-navy) !important; text-decoration: none; font-weight: 700; }
.spa-archive .main-products-loop .price del { display: inline-block; color: #657985; font-size: 13px; font-weight: 400; margin-right: 5px; }
.spa-archive .main-products-loop .price .lowest_price { display: block; font: 400 11px/1.5 Arial, Helvetica, sans-serif; color: #526875; margin-bottom: 5px; }
.spa-archive .main-products-loop .price .actual_price { display: block; font: 400 11px/1.5 Arial, Helvetica, sans-serif; }
.spa-archive .main-products-loop .price .actual_amount { display: block; font: 700 20px/1.4 Arial, Helvetica, sans-serif; }
.spa-price-from { font-size: 12px; font-weight: 400; }
.spa-card-stock { margin: 0 0 12px !important; font: 11px/1.5 Arial, Helvetica, sans-serif; color: #405d68; }
.spa-stock-outofstock { color: #814246; }
.spa-archive .main-products-loop .spa-card-button { display: flex !important; align-items: center; justify-content: center; gap: 7px; width: 100% !important; min-height: 40px; height: auto !important; padding: 9px 8px !important; margin: auto 0 0 !important; border: 1px solid var(--spa-navy) !important; border-radius: 4px; background: var(--spa-navy) !important; color: #fff !important; font: 400 12px/1.5 Arial, Helvetica, sans-serif !important; text-transform: uppercase; box-shadow: none; }
.spa-archive .main-products-loop .spa-card-button::before { color: inherit; width: 16px !important; height: 16px !important; background-size: contain !important; font-size: 16px; margin: 0; filter: brightness(0) invert(1); }
.spa-archive .main-products-loop .spa-card-button:hover { background: var(--spa-teal) !important; border-color: var(--spa-teal) !important; }
.spa-archive .main-products-loop .sale-label, .spa-archive .main-products-loop .onsale { padding: 4px 7px; min-width: 0; min-height: 0; height: auto; border-radius: 3px; font: 600 11px/1.4 Arial, Helvetica, sans-serif; background: var(--spa-navy); color: #fff; }
.spa-archive .main-products-loop .added_to_cart { font: 12px/1.5 Arial, Helvetica, sans-serif; color: var(--spa-navy); text-align: center; padding-top: 8px; }
.spa-archive .after-shop-loop { margin: 24px 0; font-family: Arial, Helvetica, sans-serif; }
.spa-archive .woocommerce-pagination .page-numbers { border-radius: 4px; font: 12px/1.5 Arial, Helvetica, sans-serif; }
.spa-archive .main-products-loop > .products-list { display: grid; grid-template-columns: 1fr; }
.spa-archive .main-products-loop > .products-list .content-product { display: grid; grid-template-columns: 230px minmax(0,1fr); }
.spa-archive .main-products-loop > .products-list .product-details { width: 100%; }
.spa-archive .spa-archive-main a:focus-visible, .spa-archive .spa-archive-sidebar a:focus-visible, .spa-archive .spa-archive-main select:focus-visible, .spa-archive summary:focus-visible { outline: 2px solid var(--spa-teal); outline-offset: 3px; }
@media (max-width: 1279px) and (min-width: 1024px) {
  .spa-archive .content-page > .sidebar-position-left > .row { grid-template-columns: 205px minmax(0,1fr); gap: 18px; }
  .spa-archive .main-products-loop > .products-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 1023px) {
  .spa-archive .content-page { padding: 18px 20px 36px; }
  .spa-archive .content-page > .sidebar-position-left > .row { display: flex; flex-direction: column; gap: 16px; }
  .spa-archive .spa-archive-sidebar { order: -1; }
  .spa-archive .spa-archive-filters { padding: 0; }
  .spa-archive .spa-archive-filters > summary { display: list-item; cursor: pointer; padding: 12px 14px; font-size: 12px; line-height: 20px; font-weight: 600; }
  .spa-archive .spa-archive-filter-content { padding: 4px 14px 16px; }
  .spa-archive .main-products-loop > .products-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .spa-archive .spa-archive-heading h1 { font-size: 26px; }
  .spa-archive .woocommerce-ordering select, .spa-archive .view-switcher > div { min-height: 44px; }
}
@media (max-width: 639px) {
  .spa-archive .content-page { padding: 14px 16px 30px; }
  .spa-archive .content-page > .sidebar-position-left > .row { gap: 14px; }
  .spa-archive .spa-archive-heading h1 { font-size: 25px; }
  .spa-archive .woocommerce-breadcrumb { font-size: 10px; line-height: 1.5; }
  .spa-archive .filter-content { gap: 8px; }
  .spa-archive .spa-result-count { flex-basis: 100%; font-size: 11px; }
  .spa-archive .spa-ordering-label { font-size: 11px; }
  .spa-archive .woocommerce-ordering select { width: 160px; }
  .spa-archive .view-switcher { display: flex !important; margin-left: auto; gap: 5px; }
  .spa-archive .view-switcher > div { width: 44px; }
  .spa-archive .main-products-loop > .products-grid { grid-template-columns: 1fr; gap: 20px; }
  .spa-archive .main-products-loop .product-content-image { aspect-ratio: 2.65; }
  .spa-archive .main-products-loop .product-title { min-height: 0; font-size: 17px !important; }
  .spa-archive .main-products-loop .product-details { padding: 14px 12px 12px; }
  .spa-archive .main-products-loop .spa-card-button { min-height: 44px; }
  .spa-card-options select { min-height: 40px; }
  .spa-archive .main-products-loop > .products-list .content-product { display: flex; }
}
