/* ============================================
   WooCommerce most — naš dizajn nad WC markup-om
   ============================================ */

/* Shop arhiva + početna „Istaknuta vina" (.featured nije .woocommerce) + related: isti grid */
.woocommerce ul.products,
.woocommerce-page ul.products,
.featured ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.woocommerce ul.products li.product,
.featured ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.featured ul.products::before,
.featured ul.products::after { content: none !important; }

/* Rezultat/sortiranje traka */
.woocommerce .woocommerce-result-count {
  color: var(--clr-text-light);
  font-size: var(--fs-sm);
}
.woocommerce .woocommerce-ordering select,
.woocommerce select, .woocommerce input[type="text"],
.woocommerce input[type="email"], .woocommerce input[type="tel"],
.woocommerce input[type="password"], .woocommerce textarea {
  background: var(--clr-card);
  color: var(--clr-cream);
  border: 1px solid rgba(201,169,110,.3);
  border-radius: var(--radius-sm);
  padding: 10px 14px;
}

/* WooCommerce dugmad → naš zlatni stil (ako nije .btn) */
.woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce .button.alt {
  background: var(--clr-gold);
  color: var(--clr-dark);
  border-radius: var(--radius-sm);
  font-weight: var(--fw-bold);
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 12px 24px;
}
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce .button.alt:hover { background: var(--clr-gold-bright); color: var(--clr-dark); }

/* "U korpu" u kartici koristi naš .btn (već stilizovan u app.css) */
.wine-card .btn { width: auto; padding: 9px 18px; font-size: var(--fs-xs); }

/* ---- Notices ---- */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  background: var(--clr-card);
  color: var(--clr-cream);
  border-top: 3px solid var(--clr-gold);
}
.woocommerce-message a, .woocommerce-info a { color: var(--clr-gold); }

/* Naslov stranice (umesto Blocksy belog banera) */
.woocommerce-products-header { text-align: center; margin-bottom: 24px; }
.woocommerce-products-header__title.page-title {
  font-family: var(--ff-heading);
  color: var(--clr-cream);
  font-size: var(--fs-3xl);
}

/* Sadržaj ne sme da bude ispod fiksnog header-a */
.site-content { min-height: 60vh; }

/* ============================================
   JAKI OVERRIDE — naš izgled iznad plugin/WC CSS-a
   (učitava se posle svega, pa !important osigurava prevlast)
   ============================================ */
html, body {
  background-color: var(--clr-bg) !important;
  color: var(--clr-cream) !important;
}
.site-content, #content { background-color: var(--clr-bg) !important; }
.hero {
  background: radial-gradient(ellipse at 50% 0%, var(--clr-burgundy-glow) 0%, var(--clr-bg) 70%) !important;
}
.site-header.scrolled, .site-header {
  background-color: rgba(20,15,17,.96) !important;
}
.wine-card { background-color: var(--clr-card) !important; }
.quote-section {
  background: linear-gradient(135deg, var(--clr-dark) 0%, var(--clr-burgundy-dark) 100%) !important;
}
.site-footer { background-color: var(--clr-dark) !important; }

/* ============================================
   Katalog filteri — dropdown popoveri + scroll liste
   (pilule/chipovi/drawer/search su već u app.css)
   ============================================ */
.filter-dropdowns {
  display: flex; flex-wrap: wrap; gap: 8px;
  justify-content: center;      /* isti raspored kao pill redovi (Vrsta/Cena) */
  margin-bottom: 16px;
}

details.filter-dropdown { position: relative; }
/* Trigger se nosi kao pilula — isti jezik kao .filter-btn (Vrsta) */
.filter-dropdown-trigger {
  list-style: none; cursor: pointer; user-select: none;
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--ff-body); font-size: var(--fs-sm); font-weight: var(--fw-medium);
  color: var(--clr-text-light);
  padding: 10px 24px;
  border-radius: 100px;
  border: 1.5px solid rgba(201,169,110,.3);
  background-color: transparent;
  transition: all var(--transition);
  white-space: nowrap;
}
.filter-dropdown-trigger::-webkit-details-marker { display: none; }
.filter-dropdown-trigger:hover { border-color: var(--clr-gold); color: var(--clr-gold); }
.filter-dropdown[open] > .filter-dropdown-trigger { border-color: var(--clr-gold); color: var(--clr-gold); }
/* Ima izabranih → puna zlatna pilula (kao .filter-btn.active) */
.filter-dropdown.has-selection > .filter-dropdown-trigger {
  background-color: var(--clr-gold); border-color: var(--clr-gold); color: var(--clr-dark); font-weight: var(--fw-bold);
}
.filter-caret { font-size: 10px; transition: transform .15s; }
.filter-dropdown[open] .filter-caret { transform: rotate(180deg); }

.filter-dropdown-panel {
  position: absolute; z-index: 40; top: calc(100% + 6px); left: 0;
  width: 260px; max-width: 80vw;
  background: var(--clr-panel); border: 1px solid rgba(201,169,110,.3);
  border-radius: var(--radius-sm); padding: 10px;
  box-shadow: 0 12px 32px rgba(0,0,0,.5);
}
.filter-list-search {
  width: 100%; box-sizing: border-box; margin-bottom: 8px;
  background: var(--clr-card); color: var(--clr-cream);
  border: 1px solid rgba(201,169,110,.3); border-radius: var(--radius-sm); padding: 8px 10px;
}
.filter-term-list { max-height: 240px; overflow-y: auto; display: flex; flex-direction: column; }
.filter-term {
  display: flex; align-items: center; gap: 9px;
  padding: 7px 6px; color: var(--clr-cream); text-decoration: none;
  border-radius: 4px; font-size: var(--fs-sm);
}
.filter-term:hover { background: var(--clr-card); }
.filter-term.hidden { display: none; }
.filter-term-box {
  width: 16px; height: 16px; flex: 0 0 16px;
  border: 1px solid rgba(201,169,110,.5); border-radius: 3px; position: relative;
}
.filter-term.active .filter-term-box { background: var(--clr-gold); border-color: var(--clr-gold); }
.filter-term.active .filter-term-box::after {
  content: ''; position: absolute; left: 5px; top: 1px;
  width: 4px; height: 9px; border: solid #171114; border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.filter-term.active .filter-term-name { color: var(--clr-gold); }

/* AJAX učitavanje — blago zatamni grid dok stižu rezultati (bez reload-a) */
.wines-section.v15-loading { opacity: .5; pointer-events: none; transition: opacity .12s ease; }

/* Na mobilnom (drawer) dropdownovi su uvek otvoreni i puni širine */
@media (max-width: 767px) {
  details.filter-dropdown[open] .filter-dropdown-panel,
  details.filter-dropdown .filter-dropdown-panel {
    position: static; width: 100%; box-shadow: none; border: none; padding: 0 0 8px;
  }
  .filter-dropdowns { flex-direction: column; align-items: stretch; }
  .filter-dropdown-trigger { width: 100%; justify-content: space-between; }
}

/* ============================================
   Stranica proizvoda (single)
   ============================================ */
.single-product .wines-section { padding-top: 24px; }
.single-product .woocommerce-breadcrumb {
  color: var(--clr-text-light); font-size: var(--fs-sm); margin-bottom: 18px;
}
.single-product .woocommerce-breadcrumb a { color: var(--clr-gold); }
.single-product div.product { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; color: var(--clr-cream); }
.single-product div.product .woocommerce-product-gallery {
  background: linear-gradient(180deg, #332930, #2b1d21);
  border-radius: var(--radius-lg); padding: 32px; margin: 0;
}
.single-product .product_title {
  font-family: var(--ff-heading); color: var(--clr-cream); font-size: var(--fs-3xl); margin: 0 0 6px;
}
.single-product .summary .price,
.single-product .summary .price .amount {
  color: var(--clr-gold) !important; font-family: var(--ff-heading); font-size: var(--fs-2xl);
}
.single-product .summary .quantity input.qty {
  background: var(--clr-card); color: var(--clr-cream);
  border: 1px solid rgba(201,169,110,.3); border-radius: var(--radius-sm); padding: 12px; width: 70px;
}
.single-product .summary .single_add_to_cart_button {
  background: var(--clr-gold); color: var(--clr-dark); border-radius: var(--radius-sm);
  text-transform: uppercase; letter-spacing: .05em; font-weight: var(--fw-bold); padding: 13px 28px;
}
.single-product .summary .single_add_to_cart_button:hover { background: var(--clr-gold-bright); }
.v15-inquiry { display: flex; align-items: center; gap: 16px; margin: 8px 0 18px; }
.v15-inquiry-label { font-family: var(--ff-heading); color: var(--clr-gold); font-size: var(--fs-xl); }
.v15-details { margin-top: 26px; border-top: 1px solid rgba(201,169,110,.18); padding-top: 18px; }
.v15-details-title { font-family: var(--ff-heading); color: var(--clr-cream); font-size: var(--fs-lg); margin: 0 0 10px; }
.v15-details-list { display: grid; grid-template-columns: auto 1fr; gap: 6px 18px; margin: 0; }
.v15-details-list dt { color: var(--clr-gold); font-weight: var(--fw-bold); }
.v15-details-list dd { color: var(--clr-cream); margin: 0; }
.single-product .related.products { margin-top: 56px; clear: both; }
.single-product .related.products > h2 {
  font-family: var(--ff-heading); color: var(--clr-cream); font-size: var(--fs-2xl); text-align: center; margin-bottom: 24px;
}
@media (max-width: 767px) {
  .single-product div.product { grid-template-columns: 1fr; gap: 24px; }
}

/* ============================================
   Klasik korpa / checkout
   ============================================ */
.woocommerce-cart .wines-section,
.woocommerce-checkout .wines-section { padding-top: 28px; }
.woocommerce table.shop_table {
  background: var(--clr-card); border: 1px solid rgba(201,169,110,.15);
  color: var(--clr-cream); border-radius: var(--radius-lg); border-collapse: separate; overflow: hidden;
}
.woocommerce table.shop_table th { color: var(--clr-gold); }
.woocommerce table.shop_table td,
.woocommerce table.shop_table th { border-top: 1px solid rgba(255,255,255,.06); padding: 14px 16px; }
.woocommerce table.shop_table .product-remove a.remove {
  color: var(--clr-gold) !important; border: 1px solid rgba(201,169,110,.4);
}
.woocommerce .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout #payment {
  background: var(--clr-card); border: 1px solid rgba(201,169,110,.15);
  border-radius: var(--radius-lg); padding: 22px;
}
.woocommerce .cart_totals h2,
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
  font-family: var(--ff-heading); color: var(--clr-cream);
}
.woocommerce .cart-collaterals .cart_totals td,
.woocommerce .cart-collaterals .cart_totals th { color: var(--clr-cream); }
.woocommerce form .form-row label { color: var(--clr-text-light); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout .select2-selection {
  background: var(--clr-panel) !important; color: var(--clr-cream) !important;
  border: 1px solid rgba(201,169,110,.3) !important; border-radius: var(--radius-sm); padding: 11px 13px;
}
.woocommerce #payment .payment_methods li { color: var(--clr-cream); }
.woocommerce #payment div.payment_box { background: var(--clr-panel); color: var(--clr-text-light); }
.woocommerce-checkout #payment .place-order .button,
.woocommerce .actions .checkout-button,
.woocommerce .cart .button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  background: var(--clr-gold); color: var(--clr-dark); border-radius: var(--radius-sm);
  text-transform: uppercase; letter-spacing: .04em; font-weight: var(--fw-bold);
}

/* ============================================
   Mini-korpa (slide-out)
   ============================================ */
.v15-minicart-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,.55);
  opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s; z-index: 1200;
}
.v15-minicart-overlay.open { opacity: 1; visibility: visible; }
.v15-minicart {
  position: fixed; top: 0; right: 0; height: 100%; width: 380px; max-width: 88vw;
  background: var(--clr-panel); border-left: 1px solid rgba(201,169,110,.25);
  transform: translateX(100%); transition: transform .28s ease; z-index: 1300;
  display: flex; flex-direction: column; box-shadow: -16px 0 40px rgba(0,0,0,.5);
}
.v15-minicart.open { transform: translateX(0); }
.v15-minicart-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 20px 22px; border-bottom: 1px solid rgba(201,169,110,.18);
}
.v15-minicart-title { font-family: var(--ff-heading); color: var(--clr-cream); font-size: var(--fs-lg); }
.v15-minicart-close { background: none; border: none; color: var(--clr-cream); font-size: 26px; line-height: 1; cursor: pointer; }
.v15-minicart .widget_shopping_cart_content { flex: 1; overflow-y: auto; padding: 16px 22px; }
.v15-minicart-list { list-style: none; margin: 0; padding: 0; }
.v15-minicart-item {
  display: grid; grid-template-columns: 52px 1fr auto; gap: 12px; align-items: center;
  position: relative; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.06);
}
.v15-minicart-item .remove {
  position: absolute; top: 10px; right: 0; color: var(--clr-text-light) !important;
  font-size: 18px; text-decoration: none; line-height: 1;
}
.v15-minicart-link { display: contents; color: var(--clr-cream); text-decoration: none; }
.v15-minicart-thumb img { width: 52px; height: 52px; object-fit: contain; background: var(--clr-card); border-radius: 6px; }
.v15-minicart-name { color: var(--clr-cream); font-size: var(--fs-sm); padding-right: 18px; }
.v15-minicart-qtyprice { color: var(--clr-text-light); font-size: var(--fs-sm); white-space: nowrap; }
.v15-minicart-total {
  display: flex; justify-content: space-between; align-items: center;
  padding: 16px 22px; border-top: 1px solid rgba(201,169,110,.18); color: var(--clr-cream);
}
.v15-minicart-total strong { color: var(--clr-gold); font-family: var(--ff-heading); font-size: var(--fs-lg); }
.v15-minicart-actions { display: flex; gap: 10px; padding: 0 22px 22px; margin: 0; }
.v15-minicart-actions .btn { flex: 1; text-align: center; }
.v15-minicart-empty { padding: 30px 22px; color: var(--clr-text-light); text-align: center; }
