/* =========================================================================
   FOTOWOLTAIKA SERWIS — WooCommerce
   ========================================================================= */

/* Page title / breadcrumb band */
.woocommerce .storefront-breadcrumb,
.woocommerce-breadcrumb{ color: var(--fv-muted); font-size: 13.5px; }
.woocommerce-breadcrumb a{ color: var(--fv-muted); }
.woocommerce-breadcrumb a:hover{ color: var(--fv-primary); }

.fv-shop-hero{
  background: var(--fv-bg-soft); border-bottom:1px solid var(--fv-border);
  padding: 40px 0 34px; margin-bottom: 34px;
}
.fv-shop-hero h1{ font-size: clamp(26px, 3.4vw, 40px); margin: 8px 0 6px; }
.fv-shop-hero p{ color: var(--fv-muted); margin:0; }

.woocommerce .page-title,
.woocommerce-products-header__title{ font-family: var(--fv-font-display); font-weight:800; letter-spacing:-.02em; }

/* Result count + ordering */
.woocommerce .woocommerce-result-count{ color: var(--fv-muted); font-size:14px; }
.woocommerce .woocommerce-ordering select,
.woocommerce select,
.select2-container .select2-selection--single{
  border:1px solid var(--fv-border-2) !important; border-radius: 10px !important;
  padding: 8px 12px; height:auto; min-height: 44px; background:#fff; font-size:14px; color:var(--fv-text);
}

/* ---------- Product cards (loop) ---------- */
.woocommerce ul.products{ display:grid !important; gap: 20px; margin:0 0 40px; }
/* FIX: WooCommerce adds ::before/::after clearfix pseudo-elements that become
   grid items — they took the first grid cell and shifted every product right
   ("brak pierwszego produktu"). Neutralise them. */
.woocommerce ul.products::before,
.woocommerce ul.products::after{ content:none !important; display:none !important; }
.woocommerce ul.products li.product{ width:auto !important; margin:0 !important; float:none !important; }
.woocommerce ul.products.columns-3{ grid-template-columns: repeat(3,1fr); }
.woocommerce ul.products.columns-4{ grid-template-columns: repeat(4,1fr); }
.woocommerce ul.products.columns-5{ grid-template-columns: repeat(4,1fr); }
@media(max-width:1024px){ .woocommerce ul.products.columns-3,.woocommerce ul.products.columns-4,.woocommerce ul.products.columns-5{ grid-template-columns: repeat(3,1fr);} }
@media(max-width:768px){ .woocommerce ul.products.columns-3,.woocommerce ul.products.columns-4,.woocommerce ul.products.columns-5{ grid-template-columns: repeat(2,1fr);} }
@media(max-width:440px){ .woocommerce ul.products.columns-3,.woocommerce ul.products.columns-4,.woocommerce ul.products.columns-5{ grid-template-columns: 1fr;} }

.woocommerce ul.products li.product,
.fv-card{
  background:#fff; border:1px solid var(--fv-border); border-radius: var(--fv-r);
  overflow:hidden; display:flex; flex-direction:column; position:relative;
  transition: transform .2s ease, box-shadow .25s ease, border-color .2s ease;
}
.woocommerce ul.products li.product:hover,
.fv-card:hover{ transform: translateY(-5px); box-shadow: var(--fv-shadow-lg); border-color: transparent; }

.woocommerce ul.products li.product a img,
.fv-card__img img{
  margin:0 !important; border-radius:0; aspect-ratio: 1/1; object-fit:contain;
  background:#fff; padding: 12px; width:100%; height:auto; display:block;
}
.woocommerce ul.products li.product .fv-card__pad,
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link{ display:block; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family: var(--fv-font); font-size: 15px; font-weight: 600; color: var(--fv-text);
  padding: 4px 18px 0; line-height:1.4;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
  min-height: calc(1.4em * 3 + 4px);
}
.woocommerce ul.products li.product .price{
  padding: 6px 18px 0; color: var(--fv-ink) !important; font-weight: 800; font-size: 19px;
  font-family: var(--fv-font-display);
}
.woocommerce ul.products li.product .price del{ color: var(--fv-muted) !important; font-weight:500; font-size:14px; opacity:.8; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; }
.woocommerce ul.products li.product .price .woocommerce-Price-amount{ font-weight:800; }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{
  margin: 14px 18px 18px; margin-top: auto; width: calc(100% - 36px); font-size:14px; padding: 12px 18px;
}
/* „Zobacz więcej" — przyklejony do dołu karty (równe przyciski w rzędzie) */
.woocommerce ul.products li.product .price{ margin-bottom: 4px; }
.woocommerce ul.products li.product .star-rating{ margin: 6px 18px 0; color: var(--fv-solar); font-size:14px; }
/* onsale badge */
.woocommerce span.onsale{
  position:absolute; top:12px; left:12px; min-width:auto; min-height:auto; margin:0;
  background: var(--fv-solar); color:#1a1200; font-weight:800; font-size:12px;
  padding: 5px 11px; border-radius: 999px; line-height:1;
}
.woocommerce ul.products li.product .fv-cat-tag{
  display:inline-block; padding: 12px 18px 0; font-size:12px; font-weight:700;
  text-transform:uppercase; letter-spacing:.06em; color: var(--fv-primary);
}

/* ---------- Single product ---------- */
.single-product div.product{ margin-top: 6px; }
.single-product div.product .product_title{ font-size: clamp(19px,2.1vw,27px); line-height:1.2; margin-bottom: 10px; }
.single-product div.product p.price,
.single-product div.product span.price{ color: var(--fv-ink); font-weight:800; font-size: 30px; font-family: var(--fv-font-display); }
.single-product .woocommerce-product-gallery{ border:1px solid var(--fv-border); border-radius: var(--fv-r-lg); padding: 14px; background:#fff; }
.single-product form.cart .button{ padding: 15px 34px; font-size:16px; }
.single-product .quantity input.qty{
  border:1px solid var(--fv-border-2); border-radius: 10px; padding: 12px; min-height: 52px; width: 78px; text-align:center; font-weight:700;
}
.single-product .woocommerce-tabs ul.tabs{ padding:0; }
.single-product .woocommerce-tabs ul.tabs li{
  border:1px solid var(--fv-border); border-radius: 999px; background:#fff; margin: 0 8px 0 0; padding:0;
}
.single-product .woocommerce-tabs ul.tabs li.active{ background: var(--fv-ink); border-color: var(--fv-ink); }
.single-product .woocommerce-tabs ul.tabs li a{ color: var(--fv-text-2); font-weight:700; padding: 10px 20px; }
.single-product .woocommerce-tabs ul.tabs li.active a{ color:#fff; }
.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after{ display:none !important; border:0 !important; }
/* Opis: pełna szerokość, bez zakładki „Opis" i bez nagłówka */
.single-product .woocommerce-tabs{ width:100% !important; float:none !important; clear:both; margin: 40px 0 0 !important; }
.single-product .woocommerce-tabs ul.tabs{ display:none !important; }
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel{ max-width:none !important; width:100% !important; margin:0 !important; padding:0 !important; }
.single-product .woocommerce-tabs .panel > h2:first-child{ display:none; }

/* Ukryj front-endowy link „Edytuj" */
.post-edit-link,
.edit-link,
.single-product .edit-link{ display:none !important; }
.stock.in-stock{ color: var(--fv-accent); font-weight:700; }
.stock.out-of-stock{ color: var(--fv-danger); font-weight:700; }
.product_meta{ font-size:13.5px; color: var(--fv-muted); border-top:1px solid var(--fv-border); padding-top:16px; margin-top:8px; }

/* ---------- Cart & Checkout ---------- */
.woocommerce table.shop_table{ border:1px solid var(--fv-border); border-radius: var(--fv-r); border-collapse:separate; overflow:hidden; }
.woocommerce table.shop_table th{ font-family: var(--fv-font-display); color: var(--fv-ink); }
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce form.checkout_coupon,
.woocommerce .woocommerce-info,
.woocommerce-cart .cart-collaterals .cart_totals{ border-radius: var(--fv-r); }
.woocommerce-cart table.cart img{ border-radius: 10px; width: 72px; }
.woocommerce .cart-collaterals .cart_totals{ background: var(--fv-bg-soft); border:1px solid var(--fv-border); padding: 22px; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce .input-text{
  border:1px solid var(--fv-border-2); border-radius: 10px; padding: 13px 14px; min-height: 50px; font-size:15px;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce .input-text:focus{ border-color: var(--fv-primary); box-shadow: 0 0 0 3px var(--fv-primary-050); outline:none; }
.woocommerce #payment,
.woocommerce-checkout #payment{ background: var(--fv-bg-soft); border-radius: var(--fv-r); }
/* Notices — clean brand style, NO full green bar */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
.woocommerce .woocommerce-message,
.woocommerce-page .woocommerce-message{
  background: #fff !important;
  color: var(--fv-text) !important;
  border: 1px solid var(--fv-border);
  border-top: 0;
  border-radius: var(--fv-r);
  box-shadow: var(--fv-shadow-sm);
  padding: 16px 20px;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{ top: 18px; }
.woocommerce-message{ border-left: 4px solid var(--fv-primary); }
.woocommerce-message::before{ color: var(--fv-primary); }
.woocommerce-info{ border-left: 4px solid var(--fv-primary); }
.woocommerce-info::before{ color: var(--fv-primary); }
.woocommerce-error{ border-left: 4px solid var(--fv-danger); }

/* ---------- Full width: remove Storefront sidebar column on Woo pages + strony ---------- */
.woocommerce #secondary,
.woocommerce-page #secondary,
.woocommerce-cart #secondary,
.woocommerce-checkout #secondary,
.page #secondary{ display:none !important; }
.woocommerce .content-area,
.woocommerce-page .content-area,
.woocommerce-cart .content-area,
.woocommerce-checkout .content-area,
.page:not(.home) .content-area{
  width: 100% !important; float: none !important; margin: 0 !important;
}

/* Ukryj DOLNY pasek sortowania (Storefront pokazuje go też pod produktami) */
.woocommerce ul.products ~ .storefront-sorting{ display:none !important; }

/* Strona KONTAKT: ukryj infobox z telefonem (blok Kadence uniqueID 8_17a8f8-5f) */
.kt-info-box8_17a8f8-5f{ display:none !important; }

/* Sidebar widgets on shop */
.widget-area .widget{ background:#fff; border:1px solid var(--fv-border); border-radius: var(--fv-r); padding: 20px; margin-bottom: 20px; }
.widget-area .widget-title{ font-family: var(--fv-font-display); font-size:16px; margin-bottom:14px; color: var(--fv-ink); }

/* Related / up-sells */
.single-product .related.products,
.single-product .up-sells.upsells{ margin-top: 56px; border-top:1px solid var(--fv-border); padding-top: 40px; }
.single-product .related.products > h2,
.single-product .up-sells > h2{ font-family: var(--fv-font-display); font-size: clamp(22px,2.4vw,30px); letter-spacing:-.02em; margin-bottom: 24px; }
.single-product .related.products ul.products{ grid-template-columns: repeat(4,1fr) !important; }
@media(max-width:1024px){ .single-product .related.products ul.products{ grid-template-columns: repeat(3,1fr) !important; } }
@media(max-width:768px){ .single-product .related.products ul.products{ grid-template-columns: repeat(2,1fr) !important; } }
@media(max-width:440px){ .single-product .related.products ul.products{ grid-template-columns: 1fr !important; } }

/* Trust row under add-to-cart (rendered via hook) */
.fv-pdp-trust{ display:flex; gap: 18px; flex-wrap:wrap; margin: 20px 0; padding: 16px 0; border-top:1px solid var(--fv-border); border-bottom:1px solid var(--fv-border); }
.fv-pdp-trust .it{ display:flex; align-items:center; gap:10px; font-size:13.5px; color: var(--fv-text-2); font-weight:600; }
.fv-pdp-trust .it svg{ width:22px; height:22px; color: var(--fv-primary); flex:0 0 auto; }
