/*
Theme Name: melanotan
Author: MysticNord
Description: Lekki custom motyw WP/Woo. Front-page (ACF), uniwersalny page, szablon Kontakt, 50–50 sekcja, nagłówek warunkowy (featured image).
Version: 3.1.0
Text Domain: melanotan
*/

@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');


:root {
	--container: 1200px;
	--shadow: 0 6px 24px rgba(0,0,0,.08);
	--radius: 18px;	
	--gap: 40px;
	--white: #fff;
	--black: #000;
	--grey: #e0e0e0;
	--darkgrey: #666;
	--lightgrey: #f7f7f7;
	--orange: #ef4626;
	--lightgreen: #EAE9DE;
	--menthol: #E9F5F2;
	--olive: #EAE9DE;
	--lightpink: #FFF5F2;
}
/* --------------------------------------------------------------------------------- Typography */
.hero {
	position: relative;
	color: #fff;
}
body {
	font-family: "DM Sans", sans-serif;
}
h1, h2, h3, h4 {
	font-family: "Crimson Text", serif;
	font-weight: 400;
}
h5, h6, p {
	font-family: "DM Sans", sans-serif;
	font-weight: 400;
}
h1 {
	font-size: 80px;
	line-height: 96px;
	margin: 0;
}
h2 {
	font-size: 60px;
	line-height: 1.2em;
}
h5 {
	font-size: .6875rem;
}
body, p, li {
	font-size: 15px;
	line-height: 27px;
	font-weight: 300;
}
.extra h2 {
	text-align: center;
}

/* Lists */
.page-content ol {
	counter-reset: step-counter;
	list-style: none;
	margin: 0;
	padding: 0;
}
.page-content ol li {
	counter-increment: step-counter;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin: 0;
	margin-bottom: 20px;
	padding: 0;
}
.page-content ol li::before {
	content: counter(step-counter, decimal-leading-zero);
	font-size: 42px;
	font-weight: 700;
	color: var(--grey);
	margin: 0;
	padding: 0;
	line-height: 1;
	margin-bottom: 10px;
}

.container .wp-block-heading {
	font-weight: 700;
	font-size: 110%;
}


/* --------------------------------------------------------------------------------- Links & buttons */
a {
	transition-duration: .3s;
	text-decoration: none;
	color: inherit;
}
body.home .container p a {
	margin-top: 30px;
	background-color: transparent;
	color: var(--white);
	padding: 8px 20px;
	border: 1px solid var(--white);
	text-transform: uppercase;
	font-size: 11px;
}
.container p a:hover {
	background-color: var(--white);
	color: var(--black);
}
.hero .container p a {
	display: inline-flex;
	height: 100%;
	align-items: center;
}
.hero .container p a:hover {
	background-color: var(--black);
	border: solid 1px var(--black);
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.page-template-default.woocommerce .text-content p a,
.section-5050 a,
body.home .container .section-5050 a,
body.home section .container p a {
	display: block; 
	width: 100%;
	background: var(--orange); 
	color: var(--white);
	border: 0; 
	border-radius: 0; 
	padding: 12px 14px;
	font-size: 11px;
	font-weight: 700; 
	text-transform: uppercase; 
	letter-spacing: .4px; 
	text-align: center;
    box-sizing: border-box;	
}
body.home section:not(.hero) .container p a {
	display: inline-block;
	width: auto;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.page-template-default.woocommerce .text-content p a:hover,
.section-5050 a:hover,
body.home .container .section-5050 a:hover,
body.home section .container p a:hover {
	background: var(--black); 
}


/* Zakładki opisu (jeśli zostają) – spójne z kolorystyką */
.single-product .woocommerce-tabs ul.tabs {
  border-bottom: 2px solid #eee;
  margin-bottom: 24px;
  display: flex;
  gap: 30px;
}
.single-product .woocommerce-tabs ul.tabs li { list-style: none; }
.single-product .woocommerce-tabs ul.tabs li a {
  font-weight: 700;
  text-transform: uppercase;
  font-size: 14px;
  color: #333;
  padding: 8px 0;
  border-bottom: 2px solid transparent;
}
.single-product .woocommerce-tabs ul.tabs li.active a {
  border-color: #e63946;
  color: #e63946;
}
.single-product .woocommerce-Tabs-panel h2,
.single-product .woocommerce-Tabs-panel h3 {
  font-size: 22px;
  margin: 24px 0 10px;
  font-weight: 800;
}
.single-product .woocommerce-Tabs-panel p { line-height: 1.7; margin-bottom: 15px; }

  display: flex;
  align-items: center;
  gap: 12px;
  margin: 20px 0;
}
.single-product .cart .quantity input {
  width: 70px;
  height: 46px;
  text-align: center;
  font-size: 16px;
  border: 1px solid #ddd;
  border-radius: 8px;
  margin: 0;
}

/* Przyciski "Dodaj do koszyka" – czerwone */
.single-product .cart .single_add_to_cart_button {
  flex: 1;
  background: #e63946 !important;
  color: #fff !important;
  font-size: 16px;
  font-weight: 600;
  padding: 14px 20px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: background .25s, transform .15s;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.single-product .cart .single_add_to_cart_button:hover {
  background: #d62839 !important;
  transform: translateY(-1px);
}

/* Dynamiczne "Informacje dodatkowe" pod wariantem */
.single-product .product-attributes {
  margin-top: 15px;
  padding: 15px;
  border: 1px solid #eee;
  border-radius: 8px;
  background: #fff;
}
.single-product .product-attributes h4 {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 10px;
  color: #333;
}
.single-product .product-attributes ul { list-style: none; margin: 0; padding: 0; }
.single-product .product-attributes ul li {
  font-size: 14px;
  padding: 5px 0;
  border-bottom: 1px solid #f0f0f0;
}
.single-product .product-attributes ul li:last-child { border: none; }


/* --------------------------------------------------------------------------------- Structure */
img {
	max-width: 100%;
}
.wp-block-embed iframe {
	width: 100%;
}
.wp-block-embed__wrapper {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
}
.wp-block-embed__wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.container {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	box-sizing: border-box;
}
.woocommerce .container:not(.header-inner) {
	padding-top: 120px;
}
section {
	padding: 100px 0;
}
section.page-header {
	padding: 100px 0 0 0;
}
body.has-featured-image .page-content {
	max-width: 90vw;
	width: 100%;
	margin: -160px auto 0 auto;
	background-color: var(--white);
	z-index: 0;
}

section .container:not(.section-5050) .text-content {
	padding-left: 100px;
}


/* --------------------------------------------------------------------------------- Header */
.site-header {
	position: sticky; 
	top: 0; 
	z-index: 50; 
	background: var(--white); 
	border-bottom: 1px solid var(--lightgrey);
}
.header-inner {
	display:flex; 
	align-items:center; 
	justify-content:space-between; 
	gap:20px; 
	padding:12px 0;
}

@media screen and (min-width: 992px) {
	.header-inner {
		display: grid;
		grid-template-columns: 1fr 5fr 1fr;
	}
	.primary-nav {
		display: flex;
		justify-content: flex-end;
	}
}
/* Logo */
.brand a {
	display: flex; 
	align-items: center; 
	gap: 10px; 
}
.brand img {
	height: auto;
	transition-duration: .3s;
}
.scrolled .brand img {
	max-width: 70px;
}
/* Menu */
.primary-nav ul {
	list-style: none; 
	margin: 0; 
	padding: 0; 
	display: flex; 
	gap: 22px;
}
.primary-nav a {
	font-size: 14px;
	color: var(--black);
	font-weight: 400;
}
.primary-nav a:hover {
	color: var(--orange);
}
/* Hero & Page Titles */
.page-hero {
	position: relative;
	min-height: 680px;
	background-size: cover;
	background-position: center;
	z-index: -1;
}
.page-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,.42);
}
.page-hero .inner {
	position: relative;
	z-index: 2;
	min-height: 680px;
	display: flex;
	align-items: center;
}
.page-hero h1 {
	color: var(--white);
	margin: 0 0 24px;
}
.hero-eyebrow {
	display: block;
	color: var(--orange);
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: 12px;
	margin-bottom: 12px;
}

/* --------------------------------------------------------------------------------- Minicart */
/* ===== HEADER ===== */
.site-header{background:#fff;border-bottom:1px solid #eee}
.primary-nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0}

/* ===== KOSZYK ===== */
.quick-button.mini-cart{position:relative;margin-left:20px}
.quick-button.mini-cart .cart-link{display:flex;align-items:center;gap:8px;position:relative;color:#000;text-decoration:none;cursor:pointer}
.quick-button.mini-cart .cart-link:hover{color:#c0392b}

/* Ikona SVG */
.cart-icon-svg{width:22px;height:22px;stroke:currentColor}

/* Badge */
.cart-count-icon{
	display: none;
}

/* --------------------------------------------------------------------------------- Main Navigation */
.primary-nav ul ul {
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  display: none;
  list-style: none;
  padding: 10px 0;
  min-width: 180px;
  z-index: 999;
}

.primary-nav li {
  position: relative;
}

.primary-nav li:hover > ul,
.primary-nav li:focus-within > ul {
  display: block;
}

.primary-nav ul ul li {
  margin: 0;
  padding: 0;
}

.primary-nav ul ul a {
  display: block;
  padding: 8px 15px;
  color: #333;
  text-decoration: none;
  transition: background 0.3s;
}

.primary-nav ul ul a:hover {
  background: #f5f5f5;
}



/* --------------------------------------------------------------------------------- Footer */
.site-footer {
	background: var(--white);
	border-top: 1px solid var(--grey); 
	color: var(--black);
	padding: 22px 0; 
	color: var(--darkgrey); 
	font-size: 14px; 
}
.footer-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 40px;
}
.footer-col h3 {
	font-size: 17px;
	font-weight: 600;
	margin-bottom: 15px;
}
.footer-nav {
	list-style: none;
	margin: 0;
	padding: 0;
}
.footer-nav li {
	margin-bottom: 10px;
}
.footer-nav a {
	color: var(--black);
	text-decoration: none;
	transition: color 0.3s;
}
.footer-nav a:hover {
 	color: var(--orange);
}
.footer-col.footer-contact a,
body.home .container .footer-col.footer-contact a {
	display: inline-block;
	color: var(--olive);
	border: solid 1px var(--olive);
	padding: 8px 20px;
	margin-top: 30px;
}
.footer-col.footer-contact .footer-col.footer-contact a:hover,
body.home .container .footer-col.footer-contact a:hover {
	color: var(--black)
	background-color: var(--olive);
}
.footer-logo img {
	max-width: 130px;
	margin-bottom: 15px;
}
.footer-desc {
	margin-top: 10px;
	line-height: 1.5;
}
.footer-bottom {
	text-align: center;
	font-size: 13px;
	color: #777;
	border-top: 1px solid var(--grey);
	margin-top: 40px;
	padding-top: 15px;
}
@media (max-width: 991px) {
	.footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 30px;
	}
}
@media (max-width: 575px) {
	.footer-grid {
		grid-template-columns: 1fr;
	}
}

/* --------------------------------------------------------------------------------- 50-50 */
.section-5050 {
	display: block;
}
.section-5050 .row {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: center;
	gap: var(--gap);
}
.section-5050 .row:nth-child(2) {
 	direction: rtl;
}
.section-5050 .row:nth-child(2) > * {
 	direction: ltr;
}
body.home .row .text-content {
	padding: 80px 0;
}
.row img {
	max-width: 80%;
	margin: 0 0 0 auto;
}
.row-2 img {
	margin: 0 auto 0 0;
}

/* --------------------------------------------------------------------------------- HomePage */
body.home section {
	background-size: cover;
}
body.home section:nth-of-type(odd) {
	background-color: var(--olive);
}
#skutki.section {
	background: linear-gradient(
    to bottom,
    var(--olive) 0%,
    var(--olive) 50%,
    var(--white) 50%,
    var(--white) 100%
  );
}
}

/* --------------------------------------------------------------------------------- Hero */
.hero {
	position: relative; 
	min-height: 80vh; 
	background: #111; 
	color: var(--white);
	display: flex;
	align-items: center;
}
.hero::after {
	content: ""; 
	position: absolute; 
	inset: 0; 
	background: rgba(0,0,0,.35);
}
.hero .container { 
	position: relative; 
	z-index: 2; 
	padding: 110px 0;
}
.hero .container > * {
	text-align: center;
}
.hero h5 {
	text-transform: uppercase;
}
.hero p {
	max-width: 50%;
	margin: 0 auto;
}

/* --------------------------------------------------------------------------------- HomePage - Jak działa? */
.grid-2 {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: var(--gap);
	align-items: center;
}
.grid-2 .full-content {
	grid-column: 1 / -1;
}
@media (max-width: 930px) {
	.grid-2 {
		grid-template-columns: 1fr;
	}
}
/* --------------------------------------------------------------------------------- HomePage - Bestsellers */
#bestsellers { padding: 60px 0; text-align: center; }
#bestsellers .section-title { font-size: 32px; font-weight: 700; margin: 0 0 36px; }
#bestsellers .products-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }
#bestsellers .product-image img { width: 100%; height: auto; display: block; }
#bestsellers .product-meta { text-align: left; margin-top: 12px; }
#bestsellers .product-category { display:block; font-size:12px; text-transform:uppercase; font-weight:700; letter-spacing:.02em; color:#d9534f; }
#bestsellers .product-title { font-size:15px; margin:6px 0; line-height:1.35; }
#bestsellers .product-title a { color:inherit; text-decoration:none; }
#bestsellers .product-price { font-weight:600; font-size:14px; }
#bestsellers .section-footer { margin-top: 36px; }
#bestsellers .btn-outline { display:inline-block; padding:10px 22px; border:1px solid #222; text-transform:uppercase; font-size:12px; letter-spacing:.06em; text-decoration:none; color:#222; }
#bestsellers .btn-outline:hover { background:#222; color:#fff; }

/* Prosty responsyw */
@media (max-width: 1024px){ #bestsellers .products-grid{ grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px){ #bestsellers .products-grid{ grid-template-columns: 1fr; } }


/* --------------------------------------------------------------------------------- HomePage - For Who? */
#dla-kogo {
	background-color: var(--menthol);
}
.forwho-grid {
	display: grid;
	grid-template-columns: 1fr 1.5fr 0.7fr;
	gap: var(--gap);
	align-items: center;
}
.forwho-grid .full-width {
	grid-column: 1 / -1; 
	margin-top: 2rem;
}
.forwho-grid .testimonials .testimonial {
	margin-bottom: 1.5rem;
}
.forwho-grid .testimonials .stars {
	color: #000;
	font-size: 14px;
	margin-bottom: 0.5rem;
}
@media (max-width: 930px) {
	.forwho-grid {
		grid-template-columns: 1fr;
	}
	.forwho-grid .testimonials {
  		margin-top: 1.5rem;
	}
}

/* --------------------------------------------------------------------------------- HomePage - Last Section */

/* Icons */
.icons{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap); margin-top:18px}
.icon-box{border:1px solid var(--border); border-radius:18px; padding:18px; text-align:center; background:#fff}
.icon-box h3{margin-top:10px; margin-bottom:6px}
@media (max-width:930px){ .icons{grid-template-columns:1fr} }


/* --------------------------------------------------------------------------------- Contact Hero */
.contact-hero {
	background: var(--lightpink);
	padding: 80px 0;
}
.contact-hero .container {
	text-align: center;
}
.contact-hero .breadcrumbs {
	font-size: 14px;
	margin-bottom: 12px;
	color: #777;
}
.contact-hero h1 {
	color: var(--orange);
	margin: 0 0 18px 0;
	font-size: clamp(28px,4vw,46px);
}
.contact-hero .lead {
	max-width: 80%;
	margin: 0 auto;
}

/* --------------------------------------------------------------------------------- Contact Page */
.contact .grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--gap);
	align-items: start;
}
@media (max-width: 930px) {
	.contact .grid {
		grid-template-columns:1fr;
	}
	.contact .side {
		margin-top: 20px;
	}
}


/* --------------------------------------------------------------------------------- Contact - Form */
.contact h2 {
	font-size:28px;
	margin:0 0 16px 0;
}
.contact p {
	margin: 0;
}
.contact .form form input,
.contact .form form textarea {
	width:100%;
	border:1px solid var(--grey);
	padding:12px 14px;
	margin-bottom:16px;
	font-size:15px;
	box-sizing:border-box;
}
.contact .form form textarea {
	min-height:180px;
	resize:vertical;
}
.contact .form form .wpcf7-submit {
	display: inline-block;
	background:var(--black);
	color:var(--white);
	border:none;
	padding:14px 22px;
	font-size:14px;
	text-transform:uppercase;
	letter-spacing:.05em;
	cursor:pointer;
	transition: background .3s;
}
.contact .form form .wpcf7-submit:hover {
	background: var(--orange);
}
.form-row.two-cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
.form-row .col {
	display: flex;
	flex-direction: column;
}
.form-row label {
	display: block;
	font-weight: 500;
	font-size: 14px;
	margin-bottom: 6px;
	color: #111;
}
.form-row input,
.form-row textarea {
	width: 100%;
	border: 1px solid var(--grey);
	padding: 12px 14px;
	font-size: 15px;
	background: var(--white);
	box-sizing:border-box;
}
.form-row textarea {
	min-height:180px;
	resize:vertical;
}
.wpcf7-submit {
	background: var(--black);
	color: var(--white);
	border: none;
	padding: 14px 22px;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: .05em;
	cursor: pointer;
	transition: background .3s;
}
.wpcf7-submit:hover {
	background: var(--orange);
}
@media(max-width:768px){
	.form-row.two-cols {
		grid-template-columns:1fr;
	}
}


/* Image */
.side img {
	object-fit: contain;
}



/* --------------------------------------------------------------------------------- WooCommerce */
.woo-mini-cart {
	display: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: none;
}
.related.products {
	display: none;
}

/* --------------------------------------------------------------------------------- WooCommerce - Single Product */
.pricing-table {
	width: 100%;
}
.pricing-table tr.active {
    background: var(--orange);
    font-weight: bold;
	color: var(--white);
}
.pricing-table tr:hover {
    background: var(--grey);
    cursor: pointer;
}




/* ---------------------------------------------------------------------------------------- Cart */
/* Wrapper koszyka: jedna kolumna na mobile, 2 na >=992px */
body.woocommerce-cart .container > .woocommerce{
  display:block;
}
@media (min-width:992px){
	body.woocommerce-cart .container > .woocommerce {
		display:grid;
		grid-template-columns: 5fr 2fr;
		gap: var(--gap);
		align-items:start;
	}
}
@media (min-width:992px){
	body.woocommerce-cart .container > .woocommerce > form.woocommerce-cart-form { 
		grid-column:1; 
		min-width:0; 
	}
	body.woocommerce-cart .container > .woocommerce > .cart-collaterals { grid-column:2; }
}
/* Pozostałe dzieci wrappera – pełna szerokość siatki */
body.woocommerce-cart .container > .woocommerce > :not(form.woocommerce-cart-form):not(.cart-collaterals) {
	grid-column:1 / -1;
}

/* =========================
   LEWA KOLUMNA — TABELA
========================= */
body.woocommerce-cart form.woocommerce-cart-form table.shop_table{
  width:100%;
  max-width:100%;
  table-layout:fixed;              /* nie rozpycha siatki */
  border:1px solid var(--cart-line);
  border-radius:0;
  background:#fff;
}
body.woocommerce-cart form.woocommerce-cart-form thead th{
  background:var(--cart-muted);
  color:var(--cart-sub);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.35px;
  font-size:12px;
  padding:12px 14px;
  border-bottom:1px solid var(--cart-line);
}
body.woocommerce-cart form.woocommerce-cart-form td{
  padding:14px;
  border-bottom:1px solid #f0f0f0;
  vertical-align:middle;
}
body.woocommerce-cart form.woocommerce-cart-form tr:last-child td{ border-bottom:0; }

/* spójne szerokości kolumn */
@media screen and (min-width: 800px) {
	body.woocommerce-cart table.shop_table th.product-thumbnail,
	body.woocommerce-cart table.shop_table td.product-thumbnail{ width:68px; }
	body.woocommerce-cart table.shop_table th.product-price,
	body.woocommerce-cart table.shop_table td.product-price{ width:110px; }
	body.woocommerce-cart table.shop_table th.product-quantity,
	body.woocommerce-cart table.shop_table td.product-quantity{ width:110px; }
	body.woocommerce-cart table.shop_table th.product-subtotal,
	body.woocommerce-cart table.shop_table td.product-subtotal{ width:120px; }
}

/* komórki */
body.woocommerce-cart td.product-thumbnail img{ width:52px; height:auto; border-radius:0; }
body.woocommerce-cart td.product-name{ color:var(--cart-text); word-break:break-word; overflow-wrap:anywhere; }
body.woocommerce-cart td.product-name a{ color:inherit; text-decoration:none; font-weight:600; }
body.woocommerce-cart td.product-price,
body.woocommerce-cart td.product-subtotal{ color:var(--cart-text); font-weight:700; }

/* ilość */
body.woocommerce-cart .quantity .qty{
  width:70px; height:36px; text-align:center;
  border:1px solid #d8d8d8; border-radius:0; font-size:14px; padding:0;
}

/* Pasek akcji (kupon + update) – płaski jak w „B” */
body.woocommerce-cart form.woocommerce-cart-form .actions{
  display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between;
  background:#fff; padding:10px 14px; border-top:1px solid var(--cart-line);
}
body.woocommerce-cart form.woocommerce-cart-form .actions .coupon{
  display:flex; gap:10px; align-items:center; flex:1 1 320px;
}
body.woocommerce-cart form.woocommerce-cart-form .actions .coupon .input-text{
  height:36px; padding:0 10px; border:1px solid #d8d8d8; border-radius:0; min-width:200px; font-size:14px;
}
/* płaski szary guzik */
body.woocommerce-cart form.woocommerce-cart-form .actions .button,
body.woocommerce-cart form.woocommerce-cart-form .actions button.button{
  height:36px; padding:0 14px; border-radius:0;
  background:#e4e4e4; border:1px solid #cfcfcf; color:#333; font-weight:700;
  text-transform:uppercase; letter-spacing:.25px; font-size:12px;
}
body.woocommerce-cart form.woocommerce-cart-form .actions .button:hover,
body.woocommerce-cart form.woocommerce-cart-form .actions button.button:hover{
  background:#dddddd;
}
/* disabled update (Woo ustawia [disabled]) */
body.woocommerce-cart form.woocommerce-cart-form .actions button[disabled]{
  opacity:.6; cursor:not-allowed;
}

/* =========================
   PRAWA KOLUMNA — KARTA PODSUMOWANIA
========================= */
body.woocommerce-cart .cart-collaterals .cart_totals{
	width: 100%;
	background: var(--white);
	border: 1px solid var(--grey);
	border-radius: 0;
	padding: 14px;
	box-shadow: none;
}
body.woocommerce-cart .cart-collaterals .cart_totals > h2{
  margin:0 0 10px;
  font-size:12px; line-height:1.2;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.45px;
  color:var(--cart-sub);
}

/* tabela w karcie */
body.woocommerce-cart .cart_totals table{ width:100%; border:0; }
body.woocommerce-cart .cart_totals table tr th,
body.woocommerce-cart .cart_totals table tr td{
  border:0; padding:8px 0; font-size:13px; color:var(--cart-text);
}
body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td{
  padding-top:12px; border-top:1px solid #efefef; font-weight:800; font-size:17px;
}

/* metody wysyłki */
body.woocommerce-cart .woocommerce-shipping-methods{ margin:6px 0 0; padding:0; }
body.woocommerce-cart .woocommerce-shipping-methods li{ list-style:none; margin:6px 0; font-size:12.5px; }
body.woocommerce-cart .woocommerce-shipping-destination{ font-size:12px; color:#777; }

/* CTA */
body.woocommerce-cart .wc-proceed-to-checkout{ margin-top:12px; }

/* =========================
   Dodatki / porządki
========================= */
/* cross-sells – pełna szerokość pod siatką */
body.woocommerce-cart .cross-sells{ width:100%; }
/* usuń globalne zaokrąglenia motywu na inputach/guzikach w koszyku */
body.woocommerce-cart input[type="text"],
body.woocommerce-cart input[type="number"],
body.woocommerce-cart select,
body.woocommerce-cart button,
body.woocommerce-cart .button{ border-radius:0; box-shadow:none; }
/* drobne kolory linków w koszyku */
body.woocommerce-cart a.remove{ color:#d33; }
body.woocommerce-cart a.remove:hover{ color:#b20; }






































/* ---------------------------------------------------------------------------------
   WooCommerce – sklep
--------------------------------------------------------------------------------- */
/* =============================================================================
   WooCommerce – GRID/LIST + overlay + wishlist + sortowanie
============================================================================= */
/* ==============================
   HEADER SKLEPU
================================= */
.shop-header-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

/* Przełącznik widoku */
.view-toggle {
  display: flex;
  gap: 8px;
}
.view-btn {
  width: 36px;
  height: 36px;
  border: 1px solid #ddd;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  cursor: pointer;
  transition: .18s;
}
.view-btn:hover { border-color: #000; }
.view-btn.active {
  border-color: #000;
  background: #000;
  color: #fff;
}

/* Sortowanie */
.woocommerce-ordering select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 8px 28px 8px 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  font-size: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5' stroke='%23999' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 16px;
}

/* ==============================
   OGÓLNE STYLE PRODUKTÓW
================================= */
ul.products { list-style: none; margin: 0; padding: 0; }
ul.products li.product { position: relative; overflow: hidden; }

/* Kategoria nad tytułem */
.product-category {
  display: block;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--orange);
  margin: 0 0 6px;
}
.list-view .product-category { margin: 0; }

/* ==============================
   WIDOK GRID
================================= */

/* Overlay przy hoverze */
.product-hover {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: rgba(255,255,255,.78);
  opacity: 0;
  transition: opacity .2s;
}
ul.products.grid-view li.product:hover .product-hover { opacity: 1; }

/* Przyciski w overlay */
.product-hover .button {
  background: #000;
  color: #fff;
  padding: 10px 18px;
  border: 0;
  text-transform: uppercase;
  font-size: 13px;
  cursor: pointer;
}
.product-hover .button:hover { background: #c0392b; }
.product-hover .yith-wcwl-add-to-wishlist { margin: 0; }
.product-hover .yith-wcwl-add-to-wishlist a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid #000;
  border-radius: 50%;
  color: #000;
}
.product-hover .yith-wcwl-add-to-wishlist a:hover { background: #000; color: #fff; }

/* Ukrywamy elementy niepotrzebne w gridzie */
ul.products.grid-view .woocommerce-product-details__short-description,
ul.products.grid-view .product-actions-inline { display: none; }

/* ==============================
   WIDOK LIST
================================= */
ul.products.list-view { display: flex; flex-direction: column; gap: 28px; }
.woocommerce ul.products.columns-3.list-view li.product,
.woocommerce-page ul.products.columns-3.list-view li.product {
  width: 100%;
  align-items: center;
  display: grid;
  grid-template-columns: repeat(6,1fr);
  margin-bottom: 0;
}
ul.products.list-view li.product {
  border: 1px solid #eee;
  padding: 18px;
  display: flex;
  align-items: flex-start;
  gap: 20px;
}

.woocommerce-page ul.products.columns-3 li.product .woocommerce-product-details__short-description { display: none; }

/* Miniaturka */
.woocommerce ul.products.list-view li.product a img {
  max-width: 150px;
  height: auto;
  flex-shrink: 0;
  margin-bottom: 0;
}

/* Wishlist & Button */
ul.products.list-view li.product .tinvwl_add_to_wishlist_button,
.woocommerce ul.products.list-view li.product .button { margin-top: 0; }

/* Treść obok obrazka */
ul.products.list-view li.product .woocommerce-loop-product__title {
  font-size: 18px;
  line-height: 1.25;
  margin: 0;
}
ul.products.list-view li.product .price {
  font-weight: 700;
  margin: 4px 0 8px;
  font-size: 16px;
}
ul.products.list-view li.product .woocommerce-product-details__short-description {
  font-size: 14px;
  color: #444;
  line-height: 1.55;
  margin: 0 0 12px;
}

/* Overlay chowamy w list view */
ul.products.list-view li.product .product-hover { display: none !important; }

/* Akcje inline (koszyk + serce) */
.product-actions-inline {
  display: flex;
  gap: 12px;
  align-items: center;
}
.product-actions-inline .button {
  background: #000;
  color: #fff;
  padding: 8px 16px;
  border: 0;
  text-transform: uppercase;
  font-size: 13px;
  cursor: pointer;
}
.product-actions-inline .button:hover { background: #c0392b; }
.product-actions-inline .yith-wcwl-add-to-wishlist { margin: 0; }
.product-actions-inline .yith-wcwl-add-to-wishlist a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid #000;
  border-radius: 50%;
  color: #000;
}
.product-actions-inline .yith-wcwl-add-to-wishlist a:hover { background: #000; color: #fff; }


/* =============================================================================
   SINGLE PRODUCT – WARIANTY + BUTTON + INFO (IZOLOWANE)
============================================================================= */

/* Karta formularza (ilość, przycisk, warianty, cena wariantu) */
.single-product .summary form.cart {
  position: relative;
  margin: 10px 0 20px;
  padding: 16px;
  border: 1px solid #eee;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(0,0,0,.04);
}

/* Cena wybranego wariantu – w prawym górnym rogu karty */
.single-product .single_variation .price {
  position: absolute;
  top: 10px;
  right: 14px;
  font-weight: 700;
  font-size: 18px;
  color: #222;
}

/* Sekcja wariantów */
.single-product .variations_form {
  margin-top: 36px; /* tak, by nie nachodzić na cenę */
}

/* Label wariantu */
.single-product .variations_form .label label {
  font-weight: 600;
  margin-bottom: 8px;
  display: block;
  font-size: 15px;
  color: #333;
}

/* Dropdown wariantów – custom strzałka */
.single-product .variations_form select {
  width: 100%;
  padding: 12px 42px 12px 14px;
  font-size: 15px;
  border: 1px solid #ccc;
  border-radius: 10px;
  background: #fff;
  transition: border-color .2s, box-shadow .2s;
  appearance: none;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5' stroke='%23999' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 18px;
}
.single-product .variations_form select:focus {
  border-color: #e63946;
  box-shadow: 0 0 0 2px rgba(230,57,70,.2);
  outline: none;
}

/* Ukryj link „Wyczyść” (reset variations) */
.single-product .reset_variations { display: none !important; }

/* Ilość + przycisk w jednej linii */
.single-product .cart {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
}
.single-product .cart .quantity input {
  width: 72px;
  height: 46px;
  text-align: center;
  font-size: 16px;
  border: 1px solid #ddd;
  border-radius: 10px;
  margin: 0;
}

/* Przycisk „Dodaj do koszyka” – czerwony */
.single-product .cart .single_add_to_cart_button {
  flex: 1;
  background: #e63946 !important;
  color: #fff !important;
  font-size: 16px;
  font-weight: 700;
  padding: 14px 20px;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  transition: background .25s, transform .15s;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.single-product .cart .single_add_to_cart_button:hover {
  background: #d62839 !important;
  transform: translateY(-1px);
}

/* Dynamiczne „Informacje dodatkowe” pod dropdownem */
.single-product .product-attributes {
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid #eee;
  border-radius: 10px;
  background: #fafafa;
}
.single-product .product-attributes h4 {
  font-size: 14px;
  font-weight: 700;
  margin: 0 0 8px;
  color: #444;
}
.single-product .product-attributes ul { margin: 0; padding: 0; list-style: none; }
.single-product .product-attributes li {
  font-size: 14px;
  padding: 6px 0;
  border-bottom: 1px solid #f0f0f0;
}
.single-product .product-attributes li:last-child { border: none; }

/* Schowaj SKU, kategorię pod kartą – jak na makiecie */
.single-product .product_meta { display: none !important; }

/* Zakładki opisu (jeśli zostają) – spójne z kolorystyką */
.single-product .woocommerce-tabs ul.tabs {
  border-bottom: 2px solid #eee;
  margin-bottom: 24px;
  display: flex;
  gap: 30px;
}
.single-product .woocommerce-tabs ul.tabs li { list-style: none; }
.single-product .woocommerce-tabs ul.tabs li a {
  font-weight: 700;
  text-transform: uppercase;
  font-size: 14px;
  color: #333;
  padding: 8px 0;
  border-bottom: 2px solid transparent;
}
.single-product .woocommerce-tabs ul.tabs li.active a {
  border-color: #e63946;
  color: #e63946;
}
.single-product .woocommerce-Tabs-panel h2,
.single-product .woocommerce-Tabs-panel h3 {
  font-size: 22px;
  margin: 24px 0 10px;
  font-weight: 800;
}
.single-product .woocommerce-Tabs-panel p { line-height: 1.7; margin-bottom: 15px; }

  display: flex;
  align-items: center;
  gap: 12px;
  margin: 20px 0;
}
.single-product .cart .quantity input {
  width: 70px;
  height: 46px;
  text-align: center;
  font-size: 16px;
  border: 1px solid #ddd;
  border-radius: 8px;
  margin: 0;
}

/* Przyciski "Dodaj do koszyka" – czerwone */
.single-product .cart .single_add_to_cart_button {
  flex: 1;
  background: #e63946 !important;
  color: #fff !important;
  font-size: 16px;
  font-weight: 600;
  padding: 14px 20px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: background .25s, transform .15s;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.single-product .cart .single_add_to_cart_button:hover {
  background: #d62839 !important;
  transform: translateY(-1px);
}

/* Dynamiczne "Informacje dodatkowe" pod wariantem */
.single-product .product-attributes {
  margin-top: 15px;
  padding: 15px;
  border: 1px solid #eee;
  border-radius: 8px;
  background: #fff;
}
.single-product .product-attributes h4 {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 10px;
  color: #333;
}
.single-product .product-attributes ul { list-style: none; margin: 0; padding: 0; }
.single-product .product-attributes ul li {
  font-size: 14px;
  padding: 5px 0;
  border-bottom: 1px solid #f0f0f0;
}
.single-product .product-attributes ul li:last-child { border: none; }






/* Zakładki opisu (jeśli zostają) */
.single-product .woocommerce-tabs ul.tabs {
  border-bottom: 2px solid #eee;
  margin-bottom: 25px;
  display: flex;
  gap: 30px;
}
.single-product .woocommerce-tabs ul.tabs li { list-style: none; }
.single-product .woocommerce-tabs ul.tabs li a {
  font-weight: 600;
  text-transform: uppercase;
  font-size: 14px;
  color: #333;
  padding: 8px 0;
  border-bottom: 2px solid transparent;
}
.single-product .woocommerce-tabs ul.tabs li.active a {
  border-color: #e63946;
  color: #e63946;
}
.single-product .woocommerce-Tabs-panel h2,
.single-product .woocommerce-Tabs-panel h3 {
  font-size: 22px;
  margin: 25px 0 10px;
  font-weight: 700;
}
.single-product .woocommerce-Tabs-panel p {
  line-height: 1.7;
  margin-bottom: 15px;
}










/* ------------------------------------------------------------------------------------ RWD */
@media screen and (max-width: 960px) {
	section .container,
	.single-product .container .product {
		padding-left: 4%;
		padding-right: 4%;
	}
	section.section .image img {
		width: 100%;
	}
	section .container:not(.section-5050) .text-content {
		padding-left: 0;
	}
}
@media screen and (max-width: 800px) {
	h1 {
		font-size: 56px;
		line-height: 72px;
	}
	h2 {
		font-size: 42px;
		line-height: 1.3em;
	}
	body, p, li {
		font-size: 14px;
		line-height: 24px;
	}	
	.brand img {
		max-width: 60px;
	}
	.scrolled .brand img {
		max-width: 40px;
	}
	.page-hero,
	.page-hero .inner {
		min-height: 480px;
	}
	body.has-featured-image .page-content {
		margin-top: -60px;
	}
	.woocommerce .container:not(.header-inner) {
		padding-top: 40px;
	}
	.hero p {
		max-width: 70%;
	}
	body.home .row .text-content {
		padding: 0;
	}
	.section-5050 .row {
		grid-template-columns: 1fr;
	}
	.row img {
		max-width: 100%;
	}
}
@media screen and (max-width: 640px) {
	h1 {
		font-size: 36px;
		line-height: 44px;
	}
	h2 {
		font-size: 28px;
	}
	body, p, li {
		line-height: 22px;
	}
	.page-hero,
	.page-hero .inner {
		min-height: 380px;
	}
	.hero p {
		max-width: 85%;
	}
	section {
		padding: 40px 0;
	}
	.woocommerce .container:not(.header-inner) {
		padding-top: 40px;
	}
}








