/* =========================================================
   ISLA GREY — design tokens
   ========================================================= */
:root {
	--color-bg:        #FFFFFF;
	--color-bg-alt:    #F6F6F6;
	--color-stone:     #D9D9D9;
	--color-ink:       #1E1E1C;
	--color-ink-soft:  #63605A;
	--color-accent:    #111111;
	--color-white:     #FFFFFF;

	--font-display: 'Cormorant Garamond', Georgia, serif;
	--font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

	--container-w: 1280px;
	--gap: 1.5rem;
	--radius: 2px;
	--transition: 400ms cubic-bezier(.22,.61,.36,1);
}

/* =========================================================
   RESET
   ========================================================= */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--color-bg);
	color: var(--color-ink);
	font-family: var(--font-body);
	font-weight: 400;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
ul { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 500; margin: 0; color: var(--color-ink); }

.container { max-width: var(--container-w); margin-inline: auto; padding-inline: 1.5rem; }

.screen-reader-text, .skip-link { position: absolute; left: -9999px; top: auto; }
.skip-link:focus { left: 1rem; top: 1rem; z-index: 9999; background: var(--color-ink); color: #fff; padding: .75rem 1.25rem; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity 700ms ease, transform 700ms ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

/* =========================================================
   BUTTONS
   ========================================================= */
.btn {
	display: inline-flex; align-items: center; gap: .5rem;
	padding: .9rem 2.1rem; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase;
	border: 1px solid transparent; border-radius: var(--radius);
	transition: background var(--transition), color var(--transition), border-color var(--transition);
}
.btn--primary { background: var(--color-ink); color: #fff; }
.btn--primary:hover { background: var(--color-accent); }
.btn--outline { border-color: var(--color-ink); color: var(--color-ink); }
.btn--outline:hover { background: var(--color-ink); color: #fff; }
.btn--light { border-color: #fff; color: #fff; }
.btn--light:hover { background: #fff; color: var(--color-ink); }

.link-underline { position: relative; font-size: .85rem; letter-spacing: .04em; text-transform: uppercase; padding-bottom: 2px; border-bottom: 1px solid currentColor; }

/* =========================================================
   HEADER + MEGA MENU
   ========================================================= */
.site-header {
	position: sticky; top: 0; z-index: 100;
	background: rgba(255,255,255,.94);
	backdrop-filter: blur(6px);
	border-bottom: 1px solid transparent;
	transition: border-color var(--transition), box-shadow var(--transition);
}
.site-header.is-scrolled { border-color: var(--color-stone); box-shadow: 0 6px 24px rgba(30,30,28,.05); }
.site-header__bar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding-block: 1.25rem; }

.site-logo { text-align: center; }
.site-logo__text { font-family: var(--font-display); font-size: 1.6rem; letter-spacing: .05em; }
.site-logo img { max-height: 44px; width: auto; margin-inline: auto; }

.nav-menu { display: flex; gap: 2.25rem; justify-content: flex-end; }
.nav-menu > li { position: relative; }
.nav-menu > li > a {
	font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; position: relative;
	display: inline-block; padding-block: .5rem;
}
.nav-menu > li > a::after {
	content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
	background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform var(--transition);
}
.nav-menu > li > a:hover::after { transform: scaleX(1); }

/* Dropdown / mega menu (2. poziom = wp_nav_menu sub-menu) */
.nav-menu .sub-menu {
	position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
	background: #fff; border: 1px solid var(--color-stone);
	min-width: 220px; padding: 1rem 0;
	box-shadow: 0 16px 40px rgba(30,30,28,.08);
	opacity: 0; pointer-events: none; transform-origin: top center;
	transition: opacity var(--transition), transform var(--transition);
}
.nav-menu > li:hover > .sub-menu {
	opacity: 1; pointer-events: auto;
}
.nav-menu .sub-menu li a {
	display: block; padding: .55rem 1.5rem; font-size: .85rem; white-space: nowrap;
}
.nav-menu .sub-menu li a:hover { background: var(--color-bg-alt); }
.nav-menu .sub-menu .sub-menu { top: 0; left: 100%; transform: none; }

.site-header__actions { display: flex; justify-content: flex-end; gap: 1rem; }
.header-icon-btn { background: none; border: none; color: var(--color-ink); position: relative; display: inline-flex; padding: .25rem; }
.header-icon-btn--wishlist .wishlist-count,
.header-icon-btn--cart .cart-count {
	position: absolute; top: -6px; right: -8px; background: var(--color-accent); color: #fff;
	font-size: .65rem; line-height: 1; border-radius: 50%; min-width: 16px; height: 16px;
	display: flex; align-items: center; justify-content: center;
}

/* Karta produktu + serce Ulubione */
.product-card-wrap { position: relative; }
.wishlist-btn {
	position: absolute; top: .6rem; right: .6rem; z-index: 2;
	width: 34px; height: 34px; border-radius: 50%;
	background: rgba(255,255,255,.9); border: 1px solid var(--color-stone);
	display: flex; align-items: center; justify-content: center;
	color: var(--color-ink); transition: transform var(--transition), color var(--transition);
}
.wishlist-btn:hover { transform: scale(1.08); }
.wishlist-btn.is-active { color: var(--color-accent); border-color: var(--color-accent); }

.mobile-nav-toggle { display: none; flex-direction: column; gap: 5px; background: none; border: none; padding: .5rem; }
.mobile-nav-toggle span { width: 22px; height: 1.5px; background: var(--color-ink); }

.search-overlay {
	position: fixed; inset: 0; background: rgba(30,30,28,.96);
	display: flex; align-items: center; justify-content: center;
	opacity: 0; pointer-events: none; transition: opacity var(--transition); z-index: 200;
}
.search-overlay.is-open { opacity: 1; pointer-events: auto; }
.search-overlay__form { display: flex; gap: 1rem; width: min(600px, 90vw); }
.search-overlay__form input {
	flex: 1; background: none; border: none; border-bottom: 1px solid #fff;
	color: #fff; font-family: var(--font-display); font-size: 1.5rem; padding: .5rem 0;
}
.search-overlay__form input::placeholder { color: rgba(255,255,255,.5); }
.search-overlay__form button { background: none; border: 1px solid #fff; color: #fff; padding: .6rem 1.5rem; }
.search-overlay__close { position: absolute; top: 2rem; right: 2rem; background: none; border: none; color: #fff; font-size: 2rem; line-height: 1; }

/* =========================================================
   HERO CAROUSEL
   ========================================================= */
.hero-carousel { position: relative; min-height: 88vh; overflow: hidden; }
.hero-slide {
	position: absolute; inset: 0;
	display: flex; align-items: flex-end;
	opacity: 0; visibility: hidden; transition: opacity 800ms ease;
	background: var(--color-bg-alt);
}
.hero-slide.is-active { opacity: 1; visibility: visible; position: relative; }
.hero-slide__media { position: absolute; inset: 0; background-image: var(--slide-image); background-size: cover; background-position: center; }
.hero-slide__media::after {
	content: ''; position: absolute; inset: 0;
	background: linear-gradient(0deg, rgba(30,30,28,.5) 0%, rgba(30,30,28,.05) 55%);
}
.hero-slide__content { position: relative; color: #fff; padding-bottom: 5rem; max-width: 600px; }
.hero-slide__eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: .8rem; margin-bottom: 1rem; opacity: .9; }
.hero-slide__title { font-size: clamp(2.6rem, 6vw, 4.4rem); line-height: 1.05; margin-bottom: 1.25rem; }
.hero-slide__text { max-width: 460px; margin-bottom: 2rem; opacity: .92; }

.hero-carousel__arrow {
	position: absolute; top: 50%; transform: translateY(-50%);
	background: rgba(255,255,255,.15); color: #fff; border: 1px solid rgba(255,255,255,.4);
	width: 44px; height: 44px; border-radius: 50%; font-size: 1.4rem; line-height: 1;
	display: flex; align-items: center; justify-content: center; z-index: 5;
}
.hero-carousel__arrow--prev { left: 1.5rem; }
.hero-carousel__arrow--next { right: 1.5rem; }
.hero-carousel__arrow:hover { background: rgba(255,255,255,.3); }

.hero-carousel__dots { position: absolute; bottom: 1.75rem; left: 50%; transform: translateX(-50%); display: flex; gap: .6rem; z-index: 5; }
.hero-carousel__dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.5); border: none; padding: 0; }
.hero-carousel__dot.is-active { background: #fff; }

/* =========================================================
   SECTIONS (shared)
   ========================================================= */
.section { padding-block: 5.5rem; }
.section__head { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin-bottom: 3rem; }
.section__head--center { flex-direction: column; align-items: center; text-align: center; }
.section__eyebrow { text-transform: uppercase; letter-spacing: .1em; font-size: .78rem; color: var(--color-accent); margin: 0 0 .5rem; }
.section__title { font-size: clamp(1.9rem, 3vw, 2.7rem); }

/* =========================================================
   PRODUCT GRID
   ========================================================= */
.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap); }
.product-grid--bestsellers { grid-template-columns: repeat(4, 1fr); }
.product-card { display: block; }
.product-card__media { position: relative; display: block; aspect-ratio: 4/5; overflow: hidden; background: var(--color-stone); margin-bottom: .9rem; }
.product-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms cubic-bezier(.22,.61,.36,1); }
.product-card:hover .product-card__media img { transform: scale(1.045); }
.badge { position: absolute; top: .75rem; left: .75rem; background: var(--color-ink); color: #fff; font-size: .68rem; text-transform: uppercase; letter-spacing: .06em; padding: .3rem .6rem; }
.badge--sale { background: var(--color-accent); }
.product-card__info { display: flex; flex-direction: column; gap: .25rem; }
.product-card__name { font-size: .95rem; }
.product-card__price { font-size: .88rem; color: var(--color-ink-soft); }
.product-card__price ins { text-decoration: none; color: var(--color-accent); }
.product-card__price del { opacity: .5; margin-right: .4rem; }

/* =========================================================
   FEATURE BANNER (Pure Linen)
   ========================================================= */
.feature-banner { position: relative; min-height: 60vh; display: flex; align-items: center; justify-content: center; text-align: center; overflow: hidden; background: var(--color-bg-alt); }
.feature-banner__media { position: absolute; inset: 0; background-image: var(--feature-image); background-size: cover; background-position: center; }
.feature-banner[style*="feature-image"] .feature-banner__media::after,
.feature-banner__media::after { content: ''; position: absolute; inset: 0; background: rgba(30,30,28,.35); }
.feature-banner__content { position: relative; color: #fff; max-width: 560px; }
.feature-banner:not([style]) .feature-banner__content { color: var(--color-ink); }
.feature-banner:not([style]) .feature-banner__media::after { background: none; }
.feature-banner__title { font-size: clamp(2.2rem, 4vw, 3.2rem); margin-bottom: 1rem; }
.feature-banner__text { max-width: 440px; margin-inline: auto; margin-bottom: 2rem; opacity: .92; }

/* =========================================================
   USP STRIP (stopka — 4 ikony edytowalne)
   ========================================================= */
.usp-strip { background: var(--color-bg-alt); padding-block: 3rem; }
.usp-strip__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; text-align: center; }
.usp-item { display: flex; flex-direction: column; align-items: center; gap: .6rem; }
.usp-item__icon { width: 34px; height: 34px; color: var(--color-accent); }
.usp-item__icon svg { width: 100%; height: 100%; }
.usp-item__title { font-family: var(--font-display); font-size: 1.15rem; }
.usp-item__text { font-size: .85rem; color: var(--color-ink-soft); max-width: 22ch; }

/* =========================================================
   BLOG (dla index/archive/single)
   ========================================================= */
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); }
.blog-card { display: block; }
.blog-card__media { display: block; aspect-ratio: 4/3; background: var(--color-stone); overflow: hidden; margin-bottom: 1rem; }
.blog-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition); }
.blog-card:hover .blog-card__media img { transform: scale(1.05); }
.blog-card__date { font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--color-accent); }
.blog-card__title { display: block; font-family: var(--font-display); font-size: 1.3rem; margin-block: .4rem .5rem; }
.blog-card__excerpt { color: var(--color-ink-soft); font-size: .92rem; }

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer { background: var(--color-bg); padding-block: 4.5rem 2rem; }
.site-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.4fr; gap: 2.5rem; padding-bottom: 3rem; }
.site-footer__brand p { color: var(--color-ink-soft); font-size: .92rem; margin-block: 1rem; }
.social-links { display: flex; gap: 1rem; }
.social-links a { border: 1px solid var(--color-ink); border-radius: 50%; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; font-size: .7rem; }
.footer-widget__title { font-size: 1rem; margin-bottom: 1rem; }
.footer-menu { display: flex; flex-direction: column; gap: .6rem; }
.footer-menu a { font-size: .9rem; color: var(--color-ink-soft); }
.site-footer__newsletter p { font-size: .88rem; color: var(--color-ink-soft); margin-bottom: 1rem; }
.site-footer__bottom { border-top: 1px solid var(--color-stone); padding-top: 1.5rem; font-size: .8rem; color: var(--color-ink-soft); }

.newsletter-form { display: flex; gap: .75rem; }
.newsletter-form input { flex: 1; background: none; border: 1px solid var(--color-ink); color: var(--color-ink); padding: .8rem 1rem; font-family: var(--font-body); }
.newsletter-form input::placeholder { color: var(--color-ink-soft); }
.newsletter-form button { background: var(--color-ink); color: #fff; border: none; padding: .8rem 1.5rem; text-transform: uppercase; font-size: .8rem; letter-spacing: .05em; }
.newsletter-form button:hover { background: var(--color-accent); }
.newsletter-form__message { min-height: 1.4em; font-size: .85rem; margin-top: .75rem; }
.newsletter-form__message.is-success { color: #6E8F6E; }
.newsletter-form__message.is-error { color: var(--color-accent); }

/* =========================================================
   STANDARD PAGES
   ========================================================= */
.page-content { padding-block: 4rem 5rem; }
.page-content--narrow { max-width: 760px; }
.page-title { font-size: clamp(2rem, 4vw, 3rem); margin-bottom: 1.5rem; }
.page-thumbnail { margin-bottom: 2rem; aspect-ratio: 16/9; overflow: hidden; }
.page-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.page-body { color: var(--color-ink-soft); }
.page-body p { margin-block: 0 1.25rem; }
.pagination { margin-top: 3rem; display: flex; gap: 1rem; justify-content: center; }
.error-404 { text-align: center; }
.error-404 .btn { margin-top: 1.5rem; }

/* =========================================================
   WOOCOMMERCE
   ========================================================= */
.woocommerce-wrapper { padding-block: 3rem 5rem; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap); list-style: none; }
.woocommerce ul.products li.product { margin: 0; }
.woocommerce span.onsale { background: var(--color-accent); border-radius: 0; font-size: .68rem; text-transform: uppercase; letter-spacing: .05em; padding: .3rem .6rem; min-height: auto; min-width: auto; line-height: normal; }
.woocommerce a.button, .woocommerce button.button, .woocommerce #respond input#submit {
	background: var(--color-ink); color: #fff; border-radius: var(--radius);
	text-transform: uppercase; font-size: .8rem; letter-spacing: .05em; padding: .8rem 1.5rem;
}
.woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--color-accent); color: #fff; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--color-ink); font-size: 1.1rem; }
.woocommerce nav.woocommerce-pagination ul { border: none; gap: .5rem; display: flex; }
.woocommerce nav.woocommerce-pagination ul li { border: 1px solid var(--color-stone); }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1024px) {
	.product-grid, .product-grid--bestsellers, .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
	.blog-grid { grid-template-columns: repeat(2, 1fr); }
	.site-footer__grid { grid-template-columns: 1fr 1fr; }
	.usp-strip__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
	.nav-menu .sub-menu { position: static; transform: none; opacity: 1; pointer-events: auto; display: none; box-shadow: none; border: none; padding-left: 1rem; }
	.menu-item-has-children.is-open > .sub-menu { display: block; }
}

@media (max-width: 720px) {
	.site-header__bar { grid-template-columns: auto 1fr auto; }
	.mobile-nav-toggle { display: flex; }
	.site-nav {
		position: fixed; inset: 0 25% 0 0; background: var(--color-bg);
		transform: translateX(-100%); transition: transform var(--transition);
		padding: 6rem 2rem 2rem; z-index: 150; overflow-y: auto;
	}
	.site-nav.is-open { transform: translateX(0); }
	.nav-menu { flex-direction: column; gap: 1.25rem; align-items: flex-start; }

	.hero-carousel { min-height: 78vh; }
	.hero-slide__content { padding-bottom: 3rem; }

	.product-grid, .product-grid--bestsellers, .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
	.blog-grid { grid-template-columns: 1fr; }

	.section { padding-block: 3.5rem; }
	.site-footer__grid { grid-template-columns: 1fr; gap: 2rem; }
	.usp-strip__grid { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
	.newsletter-form { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
	.reveal { transition: none; opacity: 1; transform: none; }
}

/* =========================================================
   FULLSCREEN HAMBURGER MENU
   ========================================================= */
body.nav-open { overflow: hidden; }

.site-header__bar {
	position: relative;
	z-index: 310;
	grid-template-columns: 1fr auto 1fr;
}

.mobile-nav-toggle {
	display: inline-flex;
	justify-self: start;
	position: relative;
	z-index: 320;
	width: 46px;
	height: 46px;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 0;
	cursor: pointer;
}
.mobile-nav-toggle span {
	position: absolute;
	width: 28px;
	height: 1px;
	background: var(--color-ink);
	transition: transform 420ms cubic-bezier(.76,0,.24,1), opacity 220ms ease, top 420ms cubic-bezier(.76,0,.24,1);
}
.mobile-nav-toggle span:nth-child(1) { top: 15px; }
.mobile-nav-toggle span:nth-child(2) { top: 22px; }
.mobile-nav-toggle span:nth-child(3) { top: 29px; }
.mobile-nav-toggle[aria-expanded="true"] span:nth-child(1) { top: 22px; transform: rotate(45deg); }
.mobile-nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.mobile-nav-toggle[aria-expanded="true"] span:nth-child(3) { top: 22px; transform: rotate(-45deg); }

.site-nav {
	position: fixed;
	inset: 0;
	z-index: 300;
	display: grid;
	place-items: center;
	background: rgba(248,247,244,.98);
	backdrop-filter: blur(18px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	clip-path: inset(0 0 100% 0);
	transition: clip-path 760ms cubic-bezier(.76,0,.24,1), opacity 350ms ease, visibility 0s linear 760ms;
	overflow-y: auto;
}
.site-nav.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	clip-path: inset(0 0 0 0);
	transition-delay: 0s;
}
.site-nav__inner {
	width: 100%;
	padding-top: 7rem;
	padding-bottom: 4rem;
	text-align: center;
}
.site-nav__eyebrow,
.site-nav__hint {
	color: #a3a3a0;
	text-transform: uppercase;
	letter-spacing: .18em;
	font-size: .68rem;
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 450ms ease, transform 650ms cubic-bezier(.22,1,.36,1);
}
.site-nav__eyebrow { margin-bottom: 2rem; }
.site-nav__hint { margin-top: 2.5rem; }
.site-nav.is-open .site-nav__eyebrow,
.site-nav.is-open .site-nav__hint { opacity: 1; transform: translateY(0); }
.site-nav.is-open .site-nav__eyebrow { transition-delay: 300ms; }
.site-nav.is-open .site-nav__hint { transition-delay: 650ms; }

.site-nav .nav-menu {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .3rem;
}
.site-nav .nav-menu > li {
	position: relative;
	opacity: 0;
	transform: translateY(42px);
	transition: opacity 480ms ease, transform 720ms cubic-bezier(.22,1,.36,1);
}
.site-nav.is-open .nav-menu > li { opacity: 1; transform: translateY(0); }
.site-nav.is-open .nav-menu > li:nth-child(1) { transition-delay: 340ms; }
.site-nav.is-open .nav-menu > li:nth-child(2) { transition-delay: 400ms; }
.site-nav.is-open .nav-menu > li:nth-child(3) { transition-delay: 460ms; }
.site-nav.is-open .nav-menu > li:nth-child(4) { transition-delay: 520ms; }
.site-nav.is-open .nav-menu > li:nth-child(5) { transition-delay: 580ms; }
.site-nav.is-open .nav-menu > li:nth-child(6) { transition-delay: 640ms; }
.site-nav.is-open .nav-menu > li:nth-child(n+7) { transition-delay: 700ms; }

.site-nav .nav-menu > li > a {
	display: inline-block;
	padding: .12em .2em;
	font-family: var(--font-display);
	font-size: clamp(2.5rem, 6vw, 5.8rem);
	font-weight: 400;
	line-height: .98;
	letter-spacing: -.035em;
	text-transform: none;
	color: #aaa9a5;
	transition: color 320ms ease, transform 500ms cubic-bezier(.22,1,.36,1), letter-spacing 500ms ease;
}
.site-nav .nav-menu > li > a::after { display: none; }
.site-nav .nav-menu > li > a:hover,
.site-nav .nav-menu > li > a:focus-visible {
	color: #171716;
	transform: translateX(10px);
	letter-spacing: -.02em;
}
.site-nav .nav-menu .sub-menu {
	position: static;
	min-width: 0;
	padding: .25rem 0 .75rem;
	border: 0;
	box-shadow: none;
	background: transparent;
	opacity: 1;
	pointer-events: auto;
	transform: none;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: .25rem 1rem;
}
.site-nav .nav-menu .sub-menu li a {
	padding: .2rem;
	font-size: .78rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #9a9995;
	white-space: normal;
}
.site-nav .nav-menu .sub-menu li a:hover { background: transparent; color: #171716; }

@media (max-width: 720px) {
	.site-header__bar { grid-template-columns: 46px 1fr auto; }
	.site-logo img { max-height: 36px; max-width: 150px; }
	.site-nav { inset: 0; padding: 0; transform: none; }
	.site-nav.is-open { transform: none; }
	.site-nav__inner { padding-top: 6.5rem; padding-bottom: 2.5rem; }
	.site-nav .nav-menu { gap: .65rem; }
	.site-nav .nav-menu > li > a { font-size: clamp(2.15rem, 12vw, 3.5rem); }
	.site-nav .nav-menu .sub-menu { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.site-nav,
	.site-nav *,
	.mobile-nav-toggle span { transition-duration: .01ms !important; transition-delay: 0ms !important; }
}


/* =========================================================
   ISLA 1.2 — poprawione menu, drawer koszyka i WooCommerce
   ========================================================= */
html, body { overflow-x: clip; }
body.nav-open,
body.cart-drawer-open { overflow: hidden !important; }

/* Pełnoekranowe menu — warstwa zawsze ponad treścią. */
.site-header { z-index: 10000; }
.site-nav {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100vh;
    z-index: 9998 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: #f1f0ed !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-100%) !important;
    clip-path: none !important;
    transition: transform 780ms cubic-bezier(.76,0,.24,1), opacity 300ms ease, visibility 0s linear 780ms !important;
}
.site-nav.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
    transition-delay: 0s !important;
}
.site-nav__inner {
    max-width: 1100px;
    max-height: 100dvh;
    overflow-y: auto;
    padding: clamp(7rem, 13vh, 10rem) 2rem 4rem;
}
.site-nav .nav-menu > li > a { color: #a7a6a2; }
.site-nav .nav-menu > li > a:hover,
.site-nav .nav-menu > li > a:focus-visible { color: #111; }
.mobile-nav-toggle { background: transparent !important; border: 0 !important; }
body.nav-open .site-logo,
body.nav-open .site-header__actions { opacity: 0; pointer-events: none; transition: opacity 200ms ease; }

/* Hero wyższy, treść bliżej lewej krawędzi. */
.hero-carousel { min-height: 96vh; min-height: 96svh; }
.hero-slide { min-height: 96vh; min-height: 96svh; }
.hero-slide__content {
    max-width: none;
    width: 100%;
    margin: 0;
    padding-left: clamp(2rem, 6vw, 7rem);
    padding-right: 2rem;
    padding-bottom: clamp(4rem, 10vh, 8rem);
}
.hero-slide__title { max-width: 700px; }
.hero-slide__text { max-width: 520px; }

/* Wysuwany koszyk — 25% na dużych ekranach. */
.isla-drawer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 11990;
    background: rgba(20,20,18,.34);
    backdrop-filter: blur(2px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 350ms ease, visibility 0s linear 350ms;
}
.isla-drawer-backdrop.is-open { opacity: 1; visibility: visible; pointer-events: auto; transition-delay: 0s; }
.isla-cart-drawer {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 12000;
    width: clamp(380px, 25vw, 520px);
    height: 100vh;
    height: 100dvh;
    background: #f4f3f0;
    transform: translateX(100%);
    visibility: hidden;
    transition: transform 650ms cubic-bezier(.76,0,.24,1), visibility 0s linear 650ms;
    display: flex;
    flex-direction: column;
    box-shadow: -24px 0 70px rgba(25,25,22,.12);
}
.isla-cart-drawer.is-open { transform: translateX(0); visibility: visible; transition-delay: 0s; }
.isla-cart-drawer__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 2.1rem 2rem 1.6rem;
    border-bottom: 1px solid #dcd9d3;
}
.isla-cart-drawer__header h2 { font-size: 2.1rem; line-height: 1; }
.isla-cart-drawer__eyebrow { margin: 0 0 .35rem; font-size: .65rem; letter-spacing: .16em; text-transform: uppercase; color: #85817b; }
.isla-cart-drawer__close { position: relative; width: 42px; height: 42px; border: 0; background: transparent; }
.isla-cart-drawer__close span { position: absolute; left: 8px; top: 20px; width: 27px; height: 1px; background: #1e1e1c; }
.isla-cart-drawer__close span:first-child { transform: rotate(45deg); }
.isla-cart-drawer__close span:last-child { transform: rotate(-45deg); }
.isla-cart-drawer__content { flex: 1; overflow-y: auto; padding: 1.5rem 2rem 2rem; }
.isla-cart-drawer .woocommerce-mini-cart { display: flex; flex-direction: column; gap: 1rem; }
.isla-cart-drawer .woocommerce-mini-cart-item {
    position: relative;
    display: grid;
    grid-template-columns: 82px 1fr;
    gap: 1rem;
    min-height: 100px;
    padding: 0 1.6rem 1rem 0;
    border-bottom: 1px solid #dedbd5;
}
.isla-cart-drawer .woocommerce-mini-cart-item a:not(.remove) { font-family: var(--font-display); font-size: 1.18rem; line-height: 1.15; }
.isla-cart-drawer .woocommerce-mini-cart-item img { float: none; width: 82px; height: 100px; object-fit: cover; margin: 0; grid-row: 1 / span 2; }
.isla-cart-drawer .woocommerce-mini-cart-item .quantity { font-size: .78rem; color: #6f6c67; }
.isla-cart-drawer .woocommerce-mini-cart-item .remove { position: absolute; right: 0; top: 0; color: #777 !important; font-size: 1.4rem; }
.isla-cart-drawer .woocommerce-mini-cart__total { display: flex; justify-content: space-between; margin: 1.4rem 0 1rem; padding-top: 1rem; border-top: 1px solid #cfcac2; font-size: .95rem; }
.isla-cart-drawer .woocommerce-mini-cart__buttons { display: grid; gap: .65rem; }
.isla-cart-drawer .woocommerce-mini-cart__buttons .button { display: flex; justify-content: center; margin: 0 !important; padding: 1rem; border-radius: 0; background: #1e1e1c; color: #fff; text-transform: uppercase; letter-spacing: .08em; font-size: .73rem; }
.isla-cart-drawer .woocommerce-mini-cart__buttons .checkout { background: #b08968; }
.isla-cart-drawer .woocommerce-mini-cart__empty-message { font-family: var(--font-display); font-size: 1.5rem; text-align: center; margin-top: 15vh; }

/* WooCommerce — wspólna typografia i szerokość. */
.woocommerce-wrapper { max-width: 1400px; padding-top: clamp(3rem, 6vw, 6rem); }
.woocommerce .woocommerce-breadcrumb { margin-bottom: 2.5rem; color: #817e78; font-size: .76rem; letter-spacing: .04em; }
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { margin-bottom: 2.2rem; }
.woocommerce .woocommerce-ordering select {
    border: 0;
    border-bottom: 1px solid #cbc7c0;
    background: transparent;
    padding: .7rem 2rem .7rem 0;
    font-family: inherit;
}
.woocommerce-products-header { margin-bottom: 3rem; text-align: left; }
.woocommerce-products-header__title.page-title { font-size: clamp(2.8rem, 6vw, 5.5rem); font-weight: 400; }

/* Sklep / archiwum produktów. */
.woocommerce ul.products { clear: both; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 3.5rem 1.5rem; }
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product a img { margin: 0 0 1rem; aspect-ratio: 4 / 5.3; object-fit: cover; background: #eeeae4; transition: transform 700ms cubic-bezier(.22,1,.36,1); }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: block; overflow: hidden; }
.woocommerce ul.products li.product:hover a img { transform: scale(1.025); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; font-family: var(--font-body); font-size: .88rem; font-weight: 400; }
.woocommerce ul.products li.product .price { margin-top: .25rem; color: #6b6862; font-size: .82rem; }
.woocommerce ul.products li.product .button { margin-top: .8rem; width: 100%; justify-content: center; text-align: center; opacity: 0; transform: translateY(8px); transition: opacity 250ms ease, transform 250ms ease, background 250ms ease; }
.woocommerce ul.products li.product:hover .button { opacity: 1; transform: translateY(0); }

/* Produkt. */
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); gap: clamp(3rem, 7vw, 8rem); align-items: start; }
.woocommerce div.product div.images,
.woocommerce div.product div.summary { float: none; width: auto; margin: 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { background: #f0ede8; }
.woocommerce div.product div.images img { width: 100%; }
.woocommerce div.product div.summary { position: static; top: auto; padding-top: 2rem; }
.woocommerce div.product .product_title { font-size: clamp(2.7rem, 5vw, 4.8rem); line-height: .95; font-weight: 400; margin-bottom: 1.3rem; }
.woocommerce div.product p.price { font-family: var(--font-body); font-size: 1rem; margin-bottom: 1.8rem; }
.woocommerce div.product .woocommerce-product-details__short-description { color: #65615b; font-size: .93rem; margin-bottom: 2rem; }
.woocommerce div.product form.cart { display: flex; gap: .75rem; margin: 2rem 0; }
.woocommerce .quantity .qty { min-height: 48px; border: 1px solid #cfcac2; background: transparent; }
.woocommerce div.product form.cart .button { flex: 1; min-height: 48px; border-radius: 0; }
.woocommerce div.product .product_meta { display: grid; gap: .45rem; padding-top: 1.5rem; border-top: 1px solid #ddd8d0; color: #77736d; font-size: .75rem; }
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 3rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; justify-content: center; gap: 2rem; padding: 0; border-bottom: 1px solid #ddd8d0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: 0; background: transparent; margin: 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 1rem .2rem; font-weight: 400; text-transform: uppercase; letter-spacing: .08em; font-size: .72rem; }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 880px; margin: 2.5rem auto 0; color: #5f5b55; }
.woocommerce .related.products { grid-column: 1 / -1; margin-top: 4rem; }
.woocommerce .related.products > h2 { text-align: center; font-size: clamp(2.2rem,4vw,3.5rem); margin-bottom: 2.5rem; }

/* Koszyk. */
.woocommerce-cart .woocommerce { max-width: 1400px; margin: 0 auto; padding: clamp(3rem,7vw,7rem) 1.5rem; }
.woocommerce-cart .woocommerce-cart-form { float: left; width: 66%; }
.woocommerce-cart .cart-collaterals { float: right; width: 30%; }
.woocommerce table.shop_table { border: 0; border-radius: 0; border-collapse: collapse; }
.woocommerce table.shop_table th { font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 500; border-bottom: 1px solid #d9d5ce; }
.woocommerce table.shop_table td { border-color: #e2ded7; padding: 1.2rem .8rem; }
.woocommerce-cart table.cart img { width: 90px; }
.woocommerce-cart table.cart td.product-name a { font-family: var(--font-display); font-size: 1.25rem; }
.woocommerce-cart .cart-collaterals .cart_totals { width: 100%; background: #f3f1ed; padding: 2rem; }
.woocommerce-cart .cart-collaterals .cart_totals h2 { font-size: 2rem; margin-bottom: 1.3rem; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { border-radius: 0; padding: 1.1rem; font-size: .75rem; }
.woocommerce-cart .coupon { display: flex; gap: .5rem; }
.woocommerce-cart .coupon input { min-width: 180px; border: 1px solid #cbc6be; padding: .75rem; }

/* Checkout / podsumowanie. */
.woocommerce-checkout .woocommerce { max-width: 1320px; margin: 0 auto; padding: clamp(3rem,7vw,7rem) 1.5rem; }
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(360px,.8fr); gap: clamp(3rem,7vw,7rem); align-items: start; }
.woocommerce-checkout #customer_details { width: auto; }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { float: none; width: 100%; }
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review { width: auto; float: none; }
.woocommerce-checkout #order_review { background: #f3f1ed; padding: 2rem; }
.woocommerce-checkout h3 { font-size: 2rem; margin: 0 0 1.5rem; }
.woocommerce form .form-row label { font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single { min-height: 48px; border: 0; border-bottom: 1px solid #c8c3bb; border-radius: 0; background: transparent; padding: .65rem 0; }
.woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { padding: 1rem 0; border-color: #d8d3cb; }
.woocommerce-checkout #payment div.form-row { padding: 1rem 0 0; }
.woocommerce #payment #place_order { width: 100%; min-height: 52px; border-radius: 0; }
.woocommerce-error,
.woocommerce-info,
.woocommerce-message { border-top-color: #b08968; background: #f4f2ee; }
.woocommerce-info::before,
.woocommerce-message::before { color: #b08968; }

@media (max-width: 1100px) {
    .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .woocommerce div.product { gap: 3rem; }
}
@media (max-width: 800px) {
    .isla-cart-drawer { width: min(92vw, 440px); }
    .hero-carousel, .hero-slide { min-height: 84svh; }
    .hero-slide__content { padding-left: 1.5rem; }
    .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 2.5rem 1rem; }
    .woocommerce ul.products li.product .button { opacity: 1; transform: none; }
    .woocommerce div.product { grid-template-columns: 1fr; }
    .woocommerce div.product div.summary { position: static; padding-top: 0; }
    .woocommerce-cart .woocommerce-cart-form,
    .woocommerce-cart .cart-collaterals { float: none; width: 100%; }
    .woocommerce-cart .cart-collaterals { margin-top: 2rem; }
    .woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
    .site-nav__inner { text-align: left; }
    .site-nav .nav-menu { align-items: flex-start; }
    .site-nav .nav-menu > li > a { font-size: clamp(2.4rem, 15vw, 4rem); }
    .isla-cart-drawer__header, .isla-cart-drawer__content { padding-left: 1.25rem; padding-right: 1.25rem; }
    .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .woocommerce ul.products li.product .button { display: none; }
    .woocommerce-cart table.cart .product-thumbnail { display: block; }
}

/* =========================================================
   ISLA GREY v1.3 — finalne poprawki strony głównej i Woo
   ========================================================= */
:root {
  --isla-ink: #181817;
  --isla-muted: #76726d;
  --isla-accent: #b48968;
  --isla-paper: #f5f3ef;
  --isla-line: #d8d2ca;
}

/* Menu nieco wyżej + czytelny powrót. */
.site-nav__inner {
  position: relative;
  padding-top: clamp(4.5rem, 8vh, 6.5rem) !important;
  padding-bottom: 2.5rem !important;
}
.site-nav__back {
  position: absolute;
  top: 1.75rem;
  left: 2rem;
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  padding: .6rem 0;
  border: 0;
  background: transparent;
  color: #77746f;
  font: 500 .68rem/1 var(--font-body);
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color .25s ease, transform .25s ease;
}
.site-nav__back span { font-size: 1.35rem; line-height: .5; }
.site-nav__back:hover { color: #111; transform: translateX(-4px); }
.site-nav .nav-menu > li > a { line-height: .92; }

/* Strona główna: zawsze pełny pierwszy baner, nawet bez zdjęcia. */
.front-page .hero-carousel { display: block !important; min-height: calc(100svh - 80px); background: #d8d1c7; }
.front-page .hero-slide { min-height: calc(100svh - 80px); background: #d8d1c7; }
.hero-slide__media {
  background-image: linear-gradient(90deg, rgba(18,18,17,.36) 0%, rgba(18,18,17,.08) 48%, rgba(18,18,17,0) 72%), var(--slide-image);
  background-color: #d8d1c7;
  background-size: cover;
  background-position: center;
}
.hero-slide__content { justify-content: flex-end; align-items: flex-start; text-align: left; }
.hero-slide__eyebrow, .hero-slide__title, .hero-slide__text { color: #fff; text-shadow: 0 1px 18px rgba(0,0,0,.12); }
.hero-slide__title { font-size: clamp(4rem, 8vw, 8.2rem); line-height: .86; }
.hero-carousel__dots { left: clamp(2rem,6vw,7rem); right: auto; transform: none; }

/* Kolejność wizualna: baner / bestsellery / baner / nowości / ikony. */
.bestsellers, .new-arrivals { padding: clamp(5rem, 9vw, 9rem) 0; }
.new-arrivals { background: #fff; }
.product-grid--new-arrivals { grid-template-columns: repeat(4, minmax(0,1fr)); }
.badge--new { background: #f4f0ea; color: #383530; }
.feature-banner { min-height: clamp(650px, 82vh, 980px); }
.feature-banner__content { justify-content: center; align-items: flex-start; text-align: left; padding-left: clamp(2rem,6vw,7rem); }
.feature-banner__title { max-width: 650px; }
.usp-strip { border-top: 1px solid var(--isla-line); background: var(--isla-paper); }

/* Woo: usuń pozostałości sidebara i narzuć pełną szerokość. */
.woocommerce-page #secondary,
.woocommerce-page .widget-area,
.woocommerce-page .sidebar,
.woocommerce-page aside#secondary { display: none !important; }
.woocommerce-wrapper.container { width: min(100% - 48px, 1480px); max-width: 1480px; margin-inline: auto; }
.post-type-archive-product .site-main,
.tax-product_cat .site-main,
.tax-product_tag .site-main { min-height: 70vh; }
.woocommerce-products-header { padding-top: clamp(2rem,5vw,5rem); }
.woocommerce-products-header__title.page-title { color: var(--isla-ink); letter-spacing: -.035em; }
.woocommerce .woocommerce-breadcrumb a { color: var(--isla-muted); }
.woocommerce .woocommerce-result-count { color: var(--isla-muted); font-size: .78rem; }
.woocommerce .woocommerce-ordering select { color: var(--isla-ink); min-width: 220px; }

/* Spójne kafelki kategorii/sklepu. */
.woocommerce ul.products { margin: 0 !important; }
.woocommerce ul.products li.product { margin: 0 !important; width: auto !important; }
.woocommerce ul.products li.product a img { width: 100%; aspect-ratio: 3 / 4; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--isla-ink); line-height: 1.35; }
.woocommerce ul.products li.product .price { color: var(--isla-muted) !important; }
.woocommerce ul.products li.product .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  border-radius: 0 !important;
  background: var(--isla-ink) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-weight: 500 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background: var(--isla-accent) !important; color: #fff !important; }
.woocommerce span.onsale { min-height: auto; min-width: auto; border-radius: 0; background: var(--isla-accent); padding: .55rem .75rem; line-height: 1; font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }

/* Pojedynczy produkt bez fioletu WooCommerce. */
.single-product .woocommerce-wrapper { padding-top: clamp(3rem,6vw,7rem); }
.woocommerce div.product .product_title,
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--isla-ink) !important; }
.woocommerce div.product p.price { font-size: 1.05rem; }
.woocommerce div.product .stock { color: #69705f !important; }
.woocommerce div.product form.cart .variations { margin-bottom: .5rem; }
.woocommerce div.product form.cart .variations tbody,
.woocommerce div.product form.cart .variations tr,
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td { display: block; width: 100%; }
.woocommerce div.product form.cart .variations th.label { padding: 0 0 .75rem; text-align: left; }
.woocommerce div.product form.cart .variations th.label label { color: var(--isla-ink); font-size: .7rem; letter-spacing: .11em; text-transform: uppercase; }
.woocommerce div.product form.cart .variations td.value { padding: 0 0 1.2rem; }
.isla-native-variation-select { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; opacity: 0 !important; pointer-events: none !important; }
.isla-variation-swatches { display: flex; flex-wrap: wrap; gap: .55rem; }
.isla-swatch {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #cfc9c1;
  border-radius: 0;
  background: #fff;
  color: var(--isla-ink);
  font: 500 .76rem/1 var(--font-body);
  cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.isla-swatch:hover { border-color: var(--isla-ink); }
.isla-swatch.is-selected { background: var(--isla-ink); border-color: var(--isla-ink); color: #fff; }
.isla-swatch:disabled { opacity: .28; cursor: not-allowed; text-decoration: line-through; }
.woocommerce div.product form.cart .reset_variations { color: var(--isla-muted) !important; font-size: .7rem; margin-top: .8rem; }
.woocommerce div.product form.cart { display: block; }
.woocommerce div.product form.cart .single_variation_wrap { margin-top: 1rem; }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; gap: .75rem; }
.woocommerce div.product form.cart .single_add_to_cart_button { min-height: 52px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--isla-ink) !important; border-bottom: 1px solid var(--isla-ink); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--isla-muted) !important; }

/* Formularze, komunikaty, linki i checkout bez fioletu. */
.woocommerce a:not(.button) { color: inherit; }
.woocommerce-info,
.woocommerce-message,
.woocommerce-error { border-top-color: var(--isla-accent) !important; }
.woocommerce-info::before,
.woocommerce-message::before { color: var(--isla-accent) !important; }
.woocommerce form .form-row .required { color: var(--isla-accent); }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--isla-ink) !important; }

@media (max-width: 900px) {
  .product-grid--new-arrivals { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .site-nav__back { left: 1.4rem; }
  .woocommerce-wrapper.container { width: min(100% - 30px, 1480px); }
}

/* =========================================================
   ISLA GREY v1.4 — produkt, koszyk, ulubione, wyszukiwarka
   ========================================================= */

/* Pojedynczy produkt: prawa kolumna zawsze mieści się w obszarze. */
.single-product .woocommerce-wrapper { overflow: visible; }
.single-product .woocommerce div.product {
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
    grid-template-areas:
        "gallery summary"
        "tabs tabs"
        "related related";
    width: 100%;
    max-width: 100%;
}
.single-product .woocommerce div.product > .woocommerce-product-gallery { grid-area: gallery; min-width: 0; }
.single-product .woocommerce div.product > .summary {
    grid-area: summary;
    min-width: 0;
    max-width: 100%;
    width: 100% !important;
    box-sizing: border-box;
    align-self: start;
    position: static;
    top: auto;
    overflow: visible;
}
.single-product .woocommerce div.product > .woocommerce-tabs { grid-area: tabs; position: relative; z-index: 1; clear: both; width: 100%; }
.single-product .woocommerce div.product > .related { grid-area: related; width: 100%; }
.single-product .woocommerce div.product form.cart,
.single-product .woocommerce div.product form.cart .single_variation_wrap,
.single-product .woocommerce div.product form.cart .woocommerce-variation-add-to-cart { width: 100%; max-width: 100%; box-sizing: border-box; }
.single-product .woocommerce div.product form.cart .woocommerce-variation-add-to-cart { align-items: stretch; }
.single-product .woocommerce div.product form.cart .quantity { flex: 0 0 54px; }
.single-product .woocommerce div.product form.cart .single_add_to_cart_button { min-width: 0; }
.single-product .woocommerce div.product .product_meta { overflow-wrap: anywhere; line-height: 1.6; }
.isla-single-wishlist { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; padding-top:1rem; border-top:1px solid #ddd8d0; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }
.isla-single-wishlist .wishlist-btn { position:static; width:42px; height:42px; flex:0 0 42px; }

/* Mini koszyk: zdjęcie, nazwa i usuń w równym układzie. */
.isla-cart-drawer { width: min(38vw, 560px); }
.isla-cart-drawer__content { padding-top: 1.75rem; }
.isla-cart-drawer .woocommerce-mini-cart { gap: 0; margin: 0; }
.isla-cart-drawer .woocommerce-mini-cart-item {
    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr) 28px;
    grid-template-rows: auto auto;
    column-gap: 1rem;
    row-gap: .45rem;
    align-items: start;
    padding: 1rem 0 1.35rem !important;
    margin: 0 !important;
    border-bottom: 1px solid #d7d1c8;
    position: relative;
}
.isla-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) { display: contents; }
.isla-cart-drawer .woocommerce-mini-cart-item img {
    grid-column: 1;
    grid-row: 1 / 3;
    width: 92px !important;
    height: 116px !important;
    margin: 0 !important;
    object-fit: cover;
}
.isla-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) { font-family: var(--font-display); }
.isla-cart-drawer .woocommerce-mini-cart-item > a:not(.remove)::after { content:none; }
.isla-cart-drawer .woocommerce-mini-cart-item .quantity { grid-column: 2; grid-row: 2; align-self:end; }
.isla-cart-drawer .woocommerce-mini-cart-item .remove {
    grid-column: 3; grid-row: 1;
    position: static !important;
    display:flex !important; align-items:center; justify-content:center;
    width:28px; height:28px; line-height:1;
}
.isla-cart-drawer .woocommerce-mini-cart-item a:not(.remove) { font-size: 1.2rem; line-height: 1.15; }
.isla-cart-drawer .woocommerce-mini-cart__total { margin-top: 1.75rem; }

/* Ulubione */
.page-template-template-wishlist .page-content { padding-top: clamp(7rem, 11vw, 11rem); padding-bottom: 8rem; }
.page-template-template-wishlist .page-title { font-size: clamp(3.6rem, 7vw, 6.5rem); font-weight:400; margin-bottom:3rem; }
.page-template-template-wishlist .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* Pełnoekranowa wyszukiwarka */
.search-overlay {
    position: fixed; inset: 0; z-index: 99995;
    display: block;
    background: #f4f2ee;
    color: #171716;
    opacity: 0; visibility: hidden; pointer-events: none;
    transform: translateY(-18px);
    transition: opacity .42s ease, transform .55s cubic-bezier(.22,1,.36,1), visibility 0s linear .55s;
    overflow-y: auto;
}
.search-overlay.is-open { opacity:1; visibility:visible; pointer-events:auto; transform:none; transition-delay:0s; }
body.search-overlay-open { overflow:hidden !important; }
.search-overlay__inner { min-height:100%; padding-top: clamp(2rem,4vw,3.5rem); padding-bottom:5rem; }
.search-overlay__top { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; min-height:52px; }
.search-overlay__top > p { margin:0; font-size:.65rem; letter-spacing:.22em; text-transform:uppercase; color:#88847d; }
.search-overlay__back { justify-self:start; border:0; background:transparent; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; display:flex; gap:.65rem; align-items:center; padding:0; }
.search-overlay__back span { font-size:1.35rem; transition:transform .25s ease; }
.search-overlay__back:hover span { transform:translateX(-5px); }
.search-overlay__close { justify-self:end; position:relative; top:auto; right:auto; width:44px; height:44px; border:0; background:transparent; color:#171716; padding:0; }
.search-overlay__close span { position:absolute; left:8px; top:21px; width:29px; height:1px; background:currentColor; }
.search-overlay__close span:first-child { transform:rotate(45deg); }
.search-overlay__close span:last-child { transform:rotate(-45deg); }
.search-overlay__form { display:block; width:min(980px, 100%); margin: clamp(4rem,9vh,7rem) auto 0; }
.search-overlay__form label { display:block; font-family:var(--font-display); font-size:clamp(2.5rem,6vw,5.8rem); line-height:1; margin-bottom:1.5rem; }
.search-overlay__field { display:flex; align-items:center; border-bottom:1px solid #aaa59d; }
.search-overlay__form input { flex:1; width:100%; border:0; background:transparent; color:#171716; font-family:var(--font-display); font-size:clamp(1.6rem,3vw,3rem); padding:1rem 0; outline:none; }
.search-overlay__form input::placeholder { color:#aaa69f; }
.search-overlay__form button[type="submit"] { flex:0 0 56px; height:56px; padding:0; border:0; background:transparent; color:#171716; display:flex; align-items:center; justify-content:center; }
.isla-search-live, .isla-search-popular { width:min(1200px,100%); margin:3.5rem auto 0; }
.isla-search-popular.is-hidden { display:none; }
.isla-search-popular__heading { border-top:1px solid #d5d0c8; padding-top:1.4rem; margin-bottom:1.5rem; }
.isla-search-popular__heading p { margin:0; font-size:.72rem; letter-spacing:.13em; text-transform:uppercase; }
.isla-search-results__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(1rem,2.2vw,2.2rem); }
.isla-search-product { color:inherit; text-decoration:none; min-width:0; }
.isla-search-product__image { display:block; aspect-ratio:4/5; overflow:hidden; background:#e9e5df; margin-bottom:.9rem; }
.isla-search-product__image img { width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.isla-search-product:hover .isla-search-product__image img { transform:scale(1.025); }
.isla-search-product__name { display:block; font-size:.9rem; margin-bottom:.3rem; }
.isla-search-product__price { display:block; color:#77736d; font-size:.8rem; }
.isla-search-empty { font-family:var(--font-display); font-size:1.5rem; text-align:center; padding:2rem 0; }
.isla-search-loading { text-align:center; padding:2rem; color:#77736d; }

@media (max-width: 980px) {
    .single-product .woocommerce div.product { grid-template-columns:1fr; grid-template-areas:"gallery" "summary" "tabs" "related"; }
    .single-product .woocommerce div.product > .summary { position:static; }
    .isla-cart-drawer { width:min(92vw,480px); }
    .isla-search-results__grid, .page-template-template-wishlist .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
    .search-overlay__inner { padding-left:1.25rem; padding-right:1.25rem; }
    .search-overlay__top { grid-template-columns:1fr 1fr; }
    .search-overlay__top > p { display:none; }
    .isla-search-results__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
    .isla-cart-drawer .woocommerce-mini-cart-item { grid-template-columns:76px minmax(0,1fr) 25px; }
    .isla-cart-drawer .woocommerce-mini-cart-item img { width:76px !important; height:96px !important; }
}


/* =========================================================
   ISLA GREY v1.5 — stabilny produkt + jednolite koszyk/checkout
   ========================================================= */

/* Wszystkie kluczowe podstrony mają identyczną szerokość i rytm. */
:root { --isla-page-max: 1480px; --isla-page-side: clamp(20px, 4vw, 56px); }
.woocommerce-cart .page-content,
.woocommerce-checkout .page-content,
.woocommerce-account .page-content {
    width: min(100%, var(--isla-page-max));
    max-width: var(--isla-page-max);
    padding: clamp(3rem, 6vw, 6rem) var(--isla-page-side) clamp(5rem, 8vw, 8rem);
}
.woocommerce-cart .page-content > article,
.woocommerce-checkout .page-content > article { width:100%; }
.woocommerce-cart .page-content .page-title,
.woocommerce-checkout .page-content .page-title {
    font-size: clamp(3rem, 6vw, 5.5rem);
    font-weight:400;
    line-height:.95;
    margin:0 0 clamp(2.5rem,5vw,4.5rem);
}
.woocommerce-cart .page-body,
.woocommerce-checkout .page-body { width:100%; }

/* Produkt: koniec nakładającej się kolumny. Sticky zastępuje dolny bar. */
.single-product .woocommerce-wrapper {
    width:min(100%, var(--isla-page-max));
    max-width:var(--isla-page-max);
    padding-left:var(--isla-page-side);
    padding-right:var(--isla-page-side);
}
.single-product .woocommerce div.product {
    display:grid;
    grid-template-columns:minmax(0, 1.18fr) minmax(340px, .82fr);
    grid-template-areas:
        "gallery summary"
        "tabs tabs"
        "related related";
    column-gap:clamp(3rem,6vw,7rem);
    row-gap:clamp(3rem,5vw,5rem);
    align-items:start;
}
.single-product .woocommerce div.product > .woocommerce-product-gallery { grid-area:gallery; min-width:0; }
.single-product .woocommerce div.product > .summary {
    grid-area:summary;
    position:relative !important;
    top:auto !important;
    width:100% !important;
    min-width:0;
    max-width:none;
    padding-top:clamp(1rem,3vw,3rem);
    margin:0 !important;
    align-self:start;
}
.single-product .woocommerce div.product > .woocommerce-tabs {
    grid-area:tabs;
    width:100%;
    min-width:0;
    margin-top:0;
    clear:both;
}
.single-product .woocommerce div.product > .related { grid-area:related; width:100%; min-width:0; margin-top:0; }
.single-product .woocommerce div.product form.cart,
.single-product .woocommerce div.product .single_variation_wrap,
.single-product .woocommerce div.product .woocommerce-variation-add-to-cart { max-width:100%; min-width:0; }
.single-product .woocommerce div.product .woocommerce-variation-add-to-cart {
    display:grid !important;
    grid-template-columns:56px minmax(0,1fr);
    gap:.75rem;
}
.single-product .woocommerce div.product .quantity { width:56px; min-width:56px; margin:0 !important; }
.single-product .woocommerce div.product .quantity .qty { width:56px; max-width:56px; padding:0; text-align:center; }
.single-product .woocommerce div.product .single_add_to_cart_button { width:100%; min-width:0; white-space:normal; }
.single-product .woocommerce div.product .product_meta { overflow-wrap:anywhere; }

/* Dolny pasek zakupu pojawia się dopiero po zescrollowaniu formularza. */
.isla-sticky-atc {
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:1200;
    background:rgba(255,255,255,.97);
    border-top:1px solid #ded9d1;
    box-shadow:0 -12px 32px rgba(25,24,22,.08);
    transform:translateY(110%);
    opacity:0;
    visibility:hidden;
    transition:transform .38s cubic-bezier(.22,1,.36,1), opacity .25s ease, visibility .25s ease;
    backdrop-filter:blur(10px);
}
.isla-sticky-atc.is-visible { transform:translateY(0); opacity:1; visibility:visible; }
.isla-sticky-atc__inner {
    width:min(100%, var(--isla-page-max));
    margin:auto;
    padding:14px var(--isla-page-side);
    display:grid;
    grid-template-columns:minmax(220px,1fr) minmax(180px,auto) auto minmax(260px,390px);
    align-items:center;
    gap:clamp(1.25rem,3vw,3rem);
}
.isla-sticky-atc__product { display:grid; grid-template-columns:54px minmax(0,1fr); gap:14px; align-items:center; min-width:0; }
.isla-sticky-atc__image { width:54px; height:66px; object-fit:cover; background:#f0ede8; }
.isla-sticky-atc__name { font-family:var(--font-display); font-size:1.25rem; line-height:1.1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.isla-sticky-atc__meta { color:#77726c; font-size:.72rem; margin-top:3px; }

.isla-sticky-atc__options { min-width:0; }
.isla-sticky-atc__options[hidden] { display:none !important; }
.isla-sticky-atc__option-group { display:flex; align-items:center; gap:10px; min-width:0; }
.isla-sticky-atc__option-label { display:none; font-size:.62rem; text-transform:uppercase; letter-spacing:.12em; color:#77726c; }
.isla-sticky-atc__option-values { display:flex; flex-wrap:wrap; gap:6px; }
.isla-sticky-atc__option {
    min-width:40px;
    height:40px;
    padding:0 11px;
    border:1px solid #d8d2ca;
    background:#fff;
    color:var(--isla-ink, #1e1e1c);
    font:500 .68rem/1 var(--font-body);
    text-transform:uppercase;
    letter-spacing:.06em;
    cursor:pointer;
    transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.isla-sticky-atc__option:hover,
.isla-sticky-atc__option.is-active { background:var(--isla-ink, #1e1e1c); color:#fff; border-color:var(--isla-ink, #1e1e1c); }
.isla-sticky-atc__option:disabled { opacity:.35; cursor:not-allowed; text-decoration:line-through; }

.isla-sticky-atc__price { white-space:nowrap; font-size:.9rem; }
.isla-sticky-atc__button {
    min-height:50px;
    border:0;
    background:var(--isla-ink, #1e1e1c);
    color:#fff;
    text-transform:uppercase;
    letter-spacing:.1em;
    font-size:.72rem;
    padding:0 2rem;
}
.isla-sticky-atc__button:disabled { background:#aaa; cursor:not-allowed; }
body.admin-bar .isla-sticky-atc { /* pasek jest przy dole viewportu, adminbar nie wpływa */ }

/* Klasyczny koszyk — bez floatów, bez wielkich pustych przestrzeni. */
.woocommerce-cart .woocommerce { max-width:none; margin:0; padding:0; }
.woocommerce-cart .woocommerce::after { content:""; display:block; clear:both; }
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals { float:none !important; width:auto !important; margin:0 !important; }
.woocommerce-cart .woocommerce:not(.widget_shopping_cart_content) {
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(320px,.65fr);
    gap:clamp(2.5rem,5vw,5rem);
    align-items:start;
}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce > .woocommerce-message,
.woocommerce-cart .woocommerce > .woocommerce-info { grid-column:1/-1; }
.woocommerce-cart .woocommerce-cart-form { grid-column:1; }
.woocommerce-cart .cart-collaterals { grid-column:2; }
.woocommerce-cart table.shop_table { width:100%; margin:0; }
.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td { vertical-align:middle; }
.woocommerce-cart table.cart .product-thumbnail { width:120px; }
.woocommerce-cart table.cart img { width:94px; height:118px; object-fit:cover; }
.woocommerce-cart table.cart td.product-name a { font-size:1.35rem; line-height:1.15; }
.woocommerce-cart table.cart td.actions { padding-top:1.5rem; }
.woocommerce-cart .cart-collaterals .cart_totals {
    width:100% !important;
    padding:clamp(1.6rem,3vw,2.5rem);
    background:#f4f2ee;
    position:sticky;
    top:110px;
}
.woocommerce-cart .cart_totals table { margin-bottom:1rem; }
.woocommerce-cart .wc-proceed-to-checkout { padding:1rem 0 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { margin:0; width:100%; }

/* Checkout klasyczny — jedna spójna siatka. */
.woocommerce-checkout .woocommerce { max-width:none; margin:0; padding:0; }
.woocommerce-checkout form.checkout {
    display:grid !important;
    grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);
    grid-template-areas:
      "customer heading"
      "customer review";
    gap:0 clamp(3rem,6vw,6rem);
    align-items:start;
}
.woocommerce-checkout #customer_details { grid-area:customer; width:100% !important; min-width:0; }
.woocommerce-checkout #order_review_heading { grid-area:heading; width:100% !important; margin:0 0 1rem; }
.woocommerce-checkout #order_review {
    grid-area:review;
    width:100% !important;
    background:#f4f2ee;
    padding:clamp(1.5rem,3vw,2.5rem);
    position:sticky;
    top:110px;
}
.woocommerce-checkout .col2-set,
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { width:100% !important; float:none !important; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1.25rem; }
.woocommerce-checkout .form-row-wide { grid-column:1/-1; }
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last { width:100% !important; float:none !important; }
.woocommerce-checkout .form-row { margin:0 0 1rem; padding:0; }
.woocommerce-checkout .select2-container { width:100% !important; }

/* WooCommerce Blocks — koszyk i checkout. */
.woocommerce-cart .wc-block-cart,
.woocommerce-checkout .wc-block-checkout { margin:0 !important; }
.wc-block-components-sidebar-layout { gap:clamp(2rem,5vw,5rem) !important; }
.wc-block-components-sidebar-layout .wc-block-components-main { padding-right:0 !important; }
.wc-block-components-sidebar { background:#f4f2ee; padding:clamp(1.5rem,3vw,2.5rem) !important; }
.wc-block-cart-items { border-collapse:collapse; }
.wc-block-cart-item__image img { aspect-ratio:3/4; object-fit:cover; }
.wc-block-components-button { border-radius:0 !important; min-height:52px; background:#1e1e1c !important; color:#fff !important; text-transform:uppercase; letter-spacing:.08em; font-size:.72rem; }
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input { border-radius:0 !important; }

@media (max-width: 980px) {
    .single-product .woocommerce div.product { grid-template-columns:1fr; grid-template-areas:"gallery" "summary" "tabs" "related"; }
    .single-product .woocommerce div.product > .summary { padding-top:0; }
    .woocommerce-cart .woocommerce:not(.widget_shopping_cart_content) { grid-template-columns:1fr; }
    .woocommerce-cart .woocommerce-cart-form,
    .woocommerce-cart .cart-collaterals { grid-column:1; }
    .woocommerce-cart .cart-collaterals .cart_totals { position:static; }
    .woocommerce-checkout form.checkout { grid-template-columns:1fr; grid-template-areas:"customer" "heading" "review"; gap:2.5rem; }
    .woocommerce-checkout #order_review { position:static; }
    .isla-sticky-atc__inner { grid-template-columns:minmax(0,1fr) minmax(160px,auto) minmax(220px,330px); }
    .isla-sticky-atc__price { display:none; }
    .isla-sticky-atc__option-label { display:none; }
}
@media (max-width: 640px) {
    .woocommerce-cart .page-content,
    .woocommerce-checkout .page-content { padding-left:18px; padding-right:18px; }
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns:1fr; }
    .woocommerce-cart table.cart .product-thumbnail { display:none !important; }
    .woocommerce-cart table.cart td { padding:.9rem .35rem; }
    .woocommerce-cart table.cart td.product-name a { font-size:1.05rem; }
    .isla-sticky-atc__inner { grid-template-columns:minmax(0,1fr) auto; gap:10px; padding:10px 14px; }
    .isla-sticky-atc__options { grid-column:1/-1; grid-row:1; order:-1; }
    .isla-sticky-atc__option-group { justify-content:center; }
    .isla-sticky-atc__option { min-width:36px; height:36px; padding:0 9px; }
    .isla-sticky-atc__image { display:none; }
    .isla-sticky-atc__product { grid-template-columns:1fr; }
    .isla-sticky-atc__name { font-size:1rem; }
    .isla-sticky-atc__button { min-height:46px; padding:0 1rem; }
}

/* =========================================================
   ISLA GREY v1.6 — pełny search + sticky ograniczony galerią
   ========================================================= */

/* Overlay jest przenoszony przez JS bezpośrednio do body,
   dzięki czemu nie może zostać przycięty przez sticky header. */
body > .search-overlay {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    z-index: 2147483000 !important;
    display: block !important;
    background: #f4f2ee !important;
    color: #171716 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-24px);
}
body > .search-overlay.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}
body.admin-bar > .search-overlay { padding-top: 32px; }
body > .search-overlay .search-overlay__inner {
    width: min(100% - 48px, 1480px);
    min-height: 100%;
    margin-inline: auto;
    box-sizing: border-box;
}
body > .search-overlay .search-overlay__back {
    color: #171716 !important;
    cursor: pointer;
    min-height: 44px;
}
body > .search-overlay .search-overlay__close { cursor: pointer; }

/* Galeria i panel informacji tworzą osobny rząd. Sticky jest dzięki temu
   ograniczony wyłącznie wysokością galerii, a nie zakładkami i podobnymi produktami. */
.single-product .woocommerce div.product {
    display: block !important;
}
.single-product .woocommerce div.product > .isla-product-top {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(340px, .82fr);
    column-gap: clamp(3rem, 6vw, 7rem);
    align-items: stretch;
    width: 100%;
}
.single-product .woocommerce div.product > .isla-product-top > .woocommerce-product-gallery {
    min-width: 0;
    width: 100% !important;
    margin: 0 !important;
    align-self: start;
}
.single-product .woocommerce div.product > .isla-product-top > .summary {
    min-width: 0;
    width: 100% !important;
    margin: 0 !important;
    padding-top: clamp(1rem, 3vw, 3rem);
    align-self: start;
    position: static !important;
    top: auto !important;
    display: flow-root;
    box-sizing: border-box;
}
.admin-bar.single-product .woocommerce div.product > .isla-product-top > .summary {
    top: 137px !important;
}
.single-product .woocommerce div.product > .woocommerce-tabs,
.single-product .woocommerce div.product > .related {
    width: 100% !important;
    clear: both !important;
}
.single-product .woocommerce div.product > .woocommerce-tabs {
    margin-top: clamp(3rem, 6vw, 6rem) !important;
}
.single-product .woocommerce div.product form.cart,
.single-product .woocommerce div.product form.variations_form,
.single-product .woocommerce div.product .variations_button,
.single-product .woocommerce div.product .single_variation_wrap,
.single-product .woocommerce div.product .woocommerce-variation-add-to-cart {
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;
}
.single-product .woocommerce div.product .summary::after {
    content: "";
    display: table;
    clear: both;
}

@media (max-width: 980px) {
    body.admin-bar > .search-overlay { padding-top: 46px; }
    .single-product .woocommerce div.product > .isla-product-top {
        grid-template-columns: 1fr;
        row-gap: 2.5rem;
    }
    .single-product .woocommerce div.product > .isla-product-top > .summary {
        position: static !important;
        top: auto !important;
        padding-top: 0;
    }
}
@media (max-width: 782px) {
    body.admin-bar > .search-overlay { padding-top: 46px; }
}
@media (max-width: 560px) {
    body > .search-overlay .search-overlay__inner { width: min(100% - 28px, 1480px); }
}

/* =========================================================
   ISLA GREY v1.7 — panel produktu nigdy nie opuszcza górnego rzędu
   ========================================================= */
/* Prawa kolumna jest statyczna. Jedynym elementem przyklejonym podczas
   przewijania pozostaje osobny dolny pasek zakupu. */
.single-product .woocommerce div.product > .isla-product-top {
    align-items: start !important;
    isolation: isolate;
}
.single-product .woocommerce div.product > .isla-product-top > .summary,
.admin-bar.single-product .woocommerce div.product > .isla-product-top > .summary,
.single-product .woocommerce div.product div.summary {
    position: static !important;
    inset: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    align-self: start !important;
    z-index: 1 !important;
}
.single-product .woocommerce div.product > .woocommerce-tabs,
.single-product .woocommerce div.product > .related,
.single-product .woocommerce div.product > section.related {
    position: relative !important;
    z-index: 2 !important;
    clear: both !important;
}

/* =========================================================
   ISLA GREY v1.8 — prawa kolumna produktu całkowicie bez sticky
   ========================================================= */
body.single-product .woocommerce div.product .isla-product-top,
body.single-product .woocommerce div.product > .isla-product-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1.18fr) minmax(340px, .82fr) !important;
    align-items: start !important;
    overflow: visible !important;
}

body.single-product .woocommerce div.product .isla-product-top > .summary,
body.single-product .woocommerce div.product > .isla-product-top > .summary,
body.single-product .woocommerce div.product div.summary,
body.admin-bar.single-product .woocommerce div.product .isla-product-top > .summary {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    inset: auto !important;
    transform: none !important;
    translate: none !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    align-self: start !important;
    overflow: visible !important;
    float: none !important;
    clear: none !important;
    z-index: auto !important;
}

body.single-product .woocommerce div.product > .woocommerce-tabs,
body.single-product .woocommerce div.product > .related,
body.single-product .woocommerce div.product > section.related {
    position: relative !important;
    clear: both !important;
    width: 100% !important;
    z-index: 1 !important;
}

@media (max-width: 980px) {
    body.single-product .woocommerce div.product .isla-product-top,
    body.single-product .woocommerce div.product > .isla-product-top {
        grid-template-columns: 1fr !important;
    }
}


/* =========================================================
   ISLA GREY v1.9 — bezwzględne wyłączenie sticky panelu produktu
   ========================================================= */
html body.single-product .site-main .woocommerce div.product .summary,
html body.single-product .site-main .woocommerce div.product .isla-product-top > .summary,
html body.single-product .woocommerce div.product div.summary {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    inset: auto !important;
    transform: none !important;
    translate: none !important;
    align-self: start !important;
}

/* =========================================================
   ISLA GREY v2.0 — wspólny rytm podstron + ilość +/- w koszyku
   ========================================================= */

/* Koszyk, zamówienie i ulubione: identyczna szerokość oraz pozycja tytułu. */
body.woocommerce-cart .page-content,
body.woocommerce-checkout .page-content,
body.page-template-template-wishlist .page-content {
    width: min(100%, var(--isla-page-max, 1480px));
    max-width: var(--isla-page-max, 1480px);
    margin-inline: auto;
    padding: clamp(2.25rem, 3.5vw, 3.75rem) var(--isla-page-side, clamp(20px, 4vw, 56px)) clamp(5rem, 8vw, 8rem) !important;
}

body.woocommerce-cart .page-content .page-title,
body.woocommerce-checkout .page-content .page-title,
body.page-template-template-wishlist .page-content .page-title {
    font-size: clamp(3.4rem, 6vw, 5.5rem) !important;
    font-weight: 400;
    line-height: .92;
    margin: 0 0 clamp(2.75rem, 4.5vw, 4.25rem) !important;
}

body.page-template-template-wishlist .product-grid {
    margin-top: 0;
}

/* Wiersz kuponu i aktualizacji — jedna wysokość i równe proporcje. */
.woocommerce-cart table.cart td.actions {
    padding-top: 1.25rem !important;
}

.woocommerce-cart table.cart td.actions .coupon {
    display: inline-flex !important;
    align-items: stretch;
    gap: .65rem;
    float: left;
}

.woocommerce-cart table.cart td.actions .coupon .input-text {
    width: 190px !important;
    min-width: 190px !important;
    height: 46px;
    min-height: 46px;
    padding: 0 14px !important;
    box-sizing: border-box;
}

.woocommerce-cart table.cart td.actions .coupon .button,
.woocommerce-cart table.cart td.actions > .button[name="update_cart"] {
    height: 46px !important;
    min-height: 46px !important;
    min-width: 190px;
    padding: 0 24px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    white-space: nowrap;
    line-height: 1 !important;
}

.woocommerce-cart table.cart td.actions > .button[name="update_cart"] {
    float: right;
}

/* Kontrolka ilości z minus/plus. */
.woocommerce-cart .isla-qty-control {
    display: inline-grid;
    grid-template-columns: 38px 46px 38px;
    align-items: stretch;
    height: 46px;
    border: 1px solid #d8d2c9;
    background: #fff;
}

.woocommerce-cart .isla-qty-control .quantity {
    width: 46px !important;
    min-width: 46px !important;
    height: 44px;
    margin: 0 !important;
}

.woocommerce-cart .isla-qty-control .qty {
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    border: 0 !important;
    border-left: 1px solid #e2ddd5 !important;
    border-right: 1px solid #e2ddd5 !important;
    text-align: center;
    appearance: textfield;
    -moz-appearance: textfield;
}

.woocommerce-cart .isla-qty-control .qty::-webkit-inner-spin-button,
.woocommerce-cart .isla-qty-control .qty::-webkit-outer-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.woocommerce-cart .isla-qty-btn {
    width: 38px;
    height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #1e1e1c;
    font-size: 1.15rem;
    font-weight: 300;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color .2s ease;
}

.woocommerce-cart .isla-qty-btn:hover {
    background: #f3f1ed;
}

.woocommerce-cart .isla-qty-btn:disabled {
    opacity: .35;
    cursor: not-allowed;
}

@media (max-width: 760px) {
    body.woocommerce-cart .page-content,
    body.woocommerce-checkout .page-content,
    body.page-template-template-wishlist .page-content {
        padding-top: 2rem !important;
    }

    .woocommerce-cart table.cart td.actions .coupon {
        width: 100%;
        float: none;
        display: grid !important;
        grid-template-columns: minmax(0,1fr) auto;
    }

    .woocommerce-cart table.cart td.actions .coupon .input-text {
        width: 100% !important;
        min-width: 0 !important;
    }

    .woocommerce-cart table.cart td.actions .coupon .button,
    .woocommerce-cart table.cart td.actions > .button[name="update_cart"] {
        min-width: 0;
    }

    .woocommerce-cart table.cart td.actions > .button[name="update_cart"] {
        float: none;
        width: 100%;
        margin-top: .75rem;
    }
}

/* =========================================================
   ISLA GREY 3.0 — czysty system wizualny sklepu
   ========================================================= */
:root {
    --isla-ink: #171715;
    --isla-muted: #716d67;
    --isla-line: #ded9d1;
    --isla-soft: #f5f3ef;
    --isla-accent: #b98d68;
    --isla-header-h: 74px;
    --isla-page-max: 1480px;
    --isla-page-side: clamp(22px, 5vw, 72px);
}

/* Lżejszy, bardziej butikowy nagłówek. */
.site-header__bar { min-height: var(--isla-header-h) !important; height: var(--isla-header-h) !important; }
.site-header__actions .header-icon-btn { opacity: .58; transition: opacity .22s ease, transform .22s ease; }
.site-header__actions .header-icon-btn:hover { opacity: 1; transform: translateY(-1px); }

/* Pure Linen zawsze czytelne na zdjęciu. */
.feature-banner__content,
.feature-banner__title,
.feature-banner__text { color: #fff !important; }
.feature-banner__title { text-shadow: 0 1px 18px rgba(0,0,0,.22); }
.feature-banner .section__eyebrow { color: #d3ad89 !important; }
.feature-banner__media::after { background: rgba(20,18,16,.34) !important; }

/* Jeden rytm pionowy na podstronach sklepu. */
body.woocommerce-cart .page-content,
body.woocommerce-checkout .page-content,
body.page-template-template-wishlist .page-content,
body.woocommerce-account .page-content {
    padding-top: clamp(2rem, 3vw, 3rem) !important;
}
body.woocommerce-cart .page-content .page-title,
body.woocommerce-checkout .page-content .page-title,
body.page-template-template-wishlist .page-content .page-title,
body.woocommerce-account .page-content .page-title {
    margin-bottom: clamp(2.4rem, 4vw, 4rem) !important;
}

/* Produkty: subtelne powiększenie bez efektu marketplace. */
.woocommerce ul.products li.product a img,
.product-card img { transition: transform .48s cubic-bezier(.22,.61,.36,1); }
.woocommerce ul.products li.product:hover a img,
.product-card:hover img { transform: scale(1.025); }
.woocommerce ul.products li.product { overflow: hidden; }

/* Przyciski spójne w całym WooCommerce. */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button,
.isla-cart-drawer .woocommerce-mini-cart__buttons .button {
    border-radius: 0 !important;
    background: var(--isla-ink) !important;
    color: #fff !important;
    border: 1px solid var(--isla-ink) !important;
    transition: background .22s ease, border-color .22s ease, color .22s ease !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .button:hover,
.isla-cart-drawer .woocommerce-mini-cart__buttons .button:hover {
    background: var(--isla-accent) !important;
    border-color: var(--isla-accent) !important;
    color: #fff !important;
}
.woocommerce button.button:disabled,
.woocommerce button.button.disabled { background:#aaa !important; border-color:#aaa !important; }

/* Mini cart — własna typografia i stabilny układ niezależnie od strony. */
.isla-cart-drawer,
.isla-cart-drawer * { box-sizing: border-box; }
.isla-cart-drawer { font-family: var(--font-body, Inter, sans-serif) !important; color: var(--isla-ink); }
.isla-cart-drawer__header h2,
.isla-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) {
    font-family: var(--font-display, "Cormorant Garamond", serif) !important;
    font-weight: 400 !important;
}
.isla-cart-drawer .woocommerce-mini-cart-item {
    grid-template-columns: 92px minmax(0,1fr) 28px !important;
    column-gap: 16px !important;
    width: 100% !important;
}
.isla-cart-drawer .woocommerce-mini-cart-item img {
    width: 92px !important;
    height: 116px !important;
}
.isla-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) {
    min-width: 0;
    overflow-wrap: anywhere;
    font-size: 1.25rem !important;
    line-height: 1.12 !important;
}
.isla-cart-drawer .woocommerce-mini-cart-item .quantity {
    font-family: var(--font-body, Inter, sans-serif) !important;
    font-size: .8rem !important;
}
/* Usunięcie drugiej kreski nad podsumowaniem — zostaje linia ostatniego produktu. */
.isla-cart-drawer .woocommerce-mini-cart__total {
    border-top: 0 !important;
    padding-top: 0 !important;
    margin-top: 1.15rem !important;
}

/* Koszyk: kupon i aktualizacja dokładnie tej samej wysokości. */
.woocommerce-cart table.cart td.actions .coupon .button,
.woocommerce-cart table.cart td.actions > .button[name="update_cart"] {
    height: 48px !important;
    min-height: 48px !important;
    min-width: 190px !important;
    padding-inline: 22px !important;
}
.woocommerce-cart table.cart td.actions .coupon .input-text { height: 48px !important; }

/* Serce z krótką mikroanimacją. */
[data-wishlist-toggle] { transition: transform .2s ease, color .2s ease, background .2s ease; }
[data-wishlist-toggle]:active { transform: scale(1.16); }
[data-wishlist-toggle].is-active { color: var(--isla-accent) !important; }

@media (max-width: 760px) {
    :root { --isla-header-h: 68px; }
    .isla-cart-drawer .woocommerce-mini-cart-item { grid-template-columns: 76px minmax(0,1fr) 24px !important; }
    .isla-cart-drawer .woocommerce-mini-cart-item img { width:76px !important; height:96px !important; }
}

/* =========================================================
   ISLA GREY 4.0 — premium spacing + notification system
   ========================================================= */

/* Product wishlist row: equal breathing space above and below. */
.single-product .isla-single-wishlist {
  min-height: 78px;
  margin-top: 32px;
  padding: 16px 0;
  border-top: 1px solid #ded9d1;
  border-bottom: 1px solid #ded9d1;
  box-sizing: border-box;
}
.single-product .isla-single-wishlist .wishlist-btn {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  margin: 0;
  border-color: #ded9d1;
  transition: transform .25s ease, color .25s ease, border-color .25s ease, background-color .25s ease;
}
.single-product .isla-single-wishlist .wishlist-btn:hover,
.single-product .isla-single-wishlist .wishlist-btn.is-active {
  transform: scale(1.08);
  color: #b78d68;
  border-color: #b78d68;
  background: #faf7f3;
}
.single-product .product_meta {
  margin-top: 24px;
  display: grid;
  gap: 10px;
  color: #77736d;
}

/* Premium notices / toasts. */
.isla-toast-stack {
  position: fixed;
  top: calc(var(--header-height, 74px) + 18px);
  right: 22px;
  z-index: 99999;
  width: min(440px, calc(100vw - 32px));
  display: grid;
  gap: 12px;
  pointer-events: none;
}
.isla-toast-stack .woocommerce-message,
.isla-toast-stack .woocommerce-info,
.isla-toast-stack .woocommerce-error,
.isla-toast {
  position: relative;
  margin: 0 !important;
  padding: 22px 58px 22px 60px !important;
  min-height: 78px;
  border: 1px solid #e3ded6 !important;
  border-top: 1px solid #e3ded6 !important;
  border-radius: 0;
  background: rgba(250, 248, 245, .98) !important;
  color: #1d1d1b !important;
  box-shadow: 0 20px 60px rgba(30, 27, 23, .12);
  font-family: var(--font-body, Inter, sans-serif);
  font-size: .9rem;
  line-height: 1.55;
  pointer-events: auto;
  animation: islaToastIn .42s cubic-bezier(.22,.8,.25,1) both;
  backdrop-filter: blur(16px);
}
.isla-toast-stack .woocommerce-error { list-style: none; }
.isla-toast-stack .woocommerce-message::before,
.isla-toast-stack .woocommerce-info::before,
.isla-toast-stack .woocommerce-error::before,
.isla-toast::before {
  content: '✓' !important;
  position: absolute !important;
  left: 22px !important;
  top: 25px !important;
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border: 1px solid #b78d68;
  border-radius: 50%;
  color: #b78d68 !important;
  font-size: .72rem;
  font-weight: 600;
  line-height: 1;
}
.isla-toast-stack .woocommerce-error::before,
.isla-toast--error::before { content: '!' !important; }
.isla-toast-stack .button {
  float: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 38px !important;
  margin: 14px 0 0 !important;
  padding: 0 18px !important;
  background: #1b1b19 !important;
  color: #fff !important;
  font-size: .66rem !important;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.isla-toast__close {
  position: absolute;
  right: 15px;
  top: 15px;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #5d5954;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
}
.isla-toast.is-leaving,
.isla-toast-stack .is-leaving {
  animation: islaToastOut .28s ease both;
}
@keyframes islaToastIn {
  from { opacity: 0; transform: translate3d(0,-18px,0); filter: blur(5px); }
  to { opacity: 1; transform: translate3d(0,0,0); filter: blur(0); }
}
@keyframes islaToastOut {
  to { opacity: 0; transform: translate3d(20px,0,0); }
}

/* Checkout errors remain visible in context instead of floating away. */
.woocommerce-checkout .woocommerce-notices-wrapper,
.woocommerce-account .woocommerce-notices-wrapper {
  position: static;
}
.woocommerce-checkout .woocommerce-notices-wrapper > *,
.woocommerce-account .woocommerce-notices-wrapper > * {
  box-shadow: none;
}

/* Header transitions into a compact premium state after scroll. */
.site-header {
  transition: min-height .3s ease, box-shadow .3s ease, background-color .3s ease;
}
.site-header.is-scrolled {
  box-shadow: 0 8px 30px rgba(28,25,22,.06);
  background: rgba(255,255,255,.97);
}
.site-header.is-scrolled .custom-logo { transform: scale(.92); }
.custom-logo { transition: transform .3s ease; }

@media (max-width: 680px) {
  .isla-toast-stack { top: 76px; right: 12px; width: calc(100vw - 24px); }
  .isla-toast-stack .woocommerce-message,
  .isla-toast-stack .woocommerce-info,
  .isla-toast-stack .woocommerce-error,
  .isla-toast { padding: 19px 50px 19px 52px !important; }
  .single-product .isla-single-wishlist { min-height: 72px; padding: 12px 0; }
}


/* =========================================================
   ISLA GREY 4.1 — product quantity polish + flicker-free notices
   ========================================================= */

/* Hide WooCommerce's inline notice before JS transfers it into the toast stack. */
body:not(.woocommerce-checkout):not(.woocommerce-account)
.woocommerce-notices-wrapper > .woocommerce-message,
body:not(.woocommerce-checkout):not(.woocommerce-account)
.woocommerce-notices-wrapper > .woocommerce-info,
body:not(.woocommerce-checkout):not(.woocommerce-account)
.woocommerce-notices-wrapper > .woocommerce-error {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
.isla-toast-stack > .woocommerce-message,
.isla-toast-stack > .woocommerce-info,
.isla-toast-stack > .woocommerce-error {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* Product quantity and CTA stay in one compact row. */
.single-product .woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
.single-product .woocommerce div.product form.cart:not(.variations_form) {
    display: flex !important;
    align-items: stretch !important;
    gap: 14px !important;
    width: 100% !important;
}
.single-product .isla-product-qty-control {
    display: inline-grid;
    grid-template-columns: 40px 46px 40px;
    height: 54px;
    flex: 0 0 126px;
    border: 1px solid #d8d2c9;
    background: #fff;
    box-sizing: border-box;
}
.single-product .isla-product-qty-control .quantity {
    width: 46px !important;
    min-width: 46px !important;
    height: 52px !important;
    margin: 0 !important;
}
.single-product .isla-product-qty-control .qty {
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 !important;
    border: 0 !important;
    border-left: 1px solid #e2ddd5 !important;
    border-right: 1px solid #e2ddd5 !important;
    text-align: center;
    appearance: textfield;
    -moz-appearance: textfield;
}
.single-product .isla-product-qty-control .qty::-webkit-inner-spin-button,
.single-product .isla-product-qty-control .qty::-webkit-outer-spin-button {
    margin: 0;
    -webkit-appearance: none;
}
.single-product .isla-product-qty-btn {
    width: 40px;
    height: 52px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--isla-ink, #171715);
    font-size: 1.15rem;
    font-weight: 300;
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: background-color .2s ease, opacity .2s ease;
}
.single-product .isla-product-qty-btn:hover { background: #f3f1ed; }
.single-product .isla-product-qty-btn:disabled { opacity: .3; cursor: not-allowed; }
.single-product .woocommerce div.product form.cart .single_add_to_cart_button {
    flex: 1 1 auto !important;
    width: auto !important;
    min-height: 54px !important;
    height: 54px !important;
    margin: 0 !important;
}

/* Keep one divider only between wishlist and product metadata. */
.single-product .isla-single-wishlist {
    margin-top: 32px;
    padding: 18px 0;
    min-height: 84px;
    border-top: 1px solid var(--isla-line, #ded9d1);
    border-bottom: 1px solid var(--isla-line, #ded9d1);
}
.single-product .isla-single-wishlist .wishlist-btn {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
}
.single-product .woocommerce div.product .product_meta,
.single-product .product_meta {
    border-top: 0 !important;
    padding-top: 0 !important;
    margin-top: 24px !important;
}

@media (max-width: 560px) {
    .single-product .isla-product-qty-control {
        grid-template-columns: 36px 42px 36px;
        flex-basis: 114px;
    }
    .single-product .isla-product-qty-control .quantity,
    .single-product .isla-product-qty-control .qty { width: 42px !important; min-width: 42px !important; max-width: 42px !important; }
    .single-product .isla-product-qty-btn { width: 36px; }
    .single-product .woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
    .single-product .woocommerce div.product form.cart:not(.variations_form) { gap: 10px !important; }
}


/* =========================================================
   ISLA GREY 4.2 — CONTACT / ABOUT / PREMIUM FOOTER
   ========================================================= */
.isla-kicker{display:block;margin-bottom:18px;font:500 .69rem/1.2 Inter,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--isla-gold,#b98c68)}
.isla-contact-page,.isla-about-page{padding:clamp(72px,8vw,128px) 0 clamp(96px,10vw,160px)}
.isla-contact-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(72px,9vw,150px);align-items:start}
.isla-contact-info{position:sticky;top:110px;padding-top:8px}
.isla-contact-info h1,.isla-about-hero h1{font-family:"Cormorant Garamond",serif;font-size:clamp(4.4rem,7vw,7.5rem);font-weight:400;line-height:.88;letter-spacing:-.035em;margin:0 0 36px}
.isla-contact-lead{max-width:520px;font-size:1.02rem;line-height:1.85;color:#66615b;margin:0 0 58px}
.isla-contact-details{border-top:1px solid var(--isla-line,#ded9d1)}
.isla-contact-details>div{display:grid;grid-template-columns:145px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--isla-line,#ded9d1)}
.isla-contact-details span{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#8a837b}
.isla-contact-details a,.isla-contact-details p{margin:0;color:var(--isla-ink,#171715);font-size:.95rem;text-decoration:none}
.isla-page-socials{display:flex;gap:28px;margin-top:34px}.isla-page-socials a{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:3px}
.isla-contact-form-panel{background:#f4f1ed;padding:clamp(36px,5vw,72px)}
.isla-contact-form-heading h2{font:400 clamp(2.8rem,4vw,4.4rem)/1 "Cormorant Garamond",serif;margin:0 0 18px}.isla-contact-form-heading p{color:#706a63;line-height:1.7;margin:0 0 42px}
.isla-contact-form{display:grid;gap:28px}.isla-field-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.isla-contact-form label:not(.isla-consent){display:grid;gap:10px}.isla-contact-form label>span{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}
.isla-contact-form input:not([type=checkbox]),.isla-contact-form textarea{width:100%;border:0;border-bottom:1px solid #cfc8bf;background:transparent;border-radius:0;padding:13px 0;font:400 .95rem/1.5 Inter,sans-serif;outline:0;transition:border-color .2s}.isla-contact-form input:focus,.isla-contact-form textarea:focus{border-color:#171715}.isla-contact-form textarea{resize:vertical}
.isla-consent{display:grid;grid-template-columns:18px 1fr;gap:12px;align-items:start;color:#756e67;line-height:1.55}.isla-consent input{margin-top:3px}.isla-consent span{font-size:.72rem!important;letter-spacing:0!important;text-transform:none!important}
.isla-contact-submit{width:100%;min-height:58px}.isla-inline-notice{padding:16px 18px;margin-bottom:26px;border:1px solid #d5cec5;background:#fff;font-size:.9rem}.isla-inline-notice--error{border-color:#b88c78}
.isla-about-hero{text-align:center;max-width:980px;margin-bottom:clamp(72px,9vw,140px)}.isla-about-hero p{max-width:820px;margin:0 auto;font:400 clamp(1.25rem,2vw,1.8rem)/1.55 "Cormorant Garamond",serif;color:#5e5954}
.isla-about-checkerboard{display:grid;gap:0}.isla-about-row{display:grid;grid-template-columns:1.08fr .92fr;min-height:650px}.isla-about-row.is-reverse .isla-about-media{order:2}.isla-about-row.is-reverse .isla-about-copy{order:1}.isla-about-media{background-position:center;background-size:cover;background-color:#e9e4de;min-height:650px}.isla-about-media.is-placeholder{background:linear-gradient(135deg,#e7e1da,#cfc4b7)}
.isla-about-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(50px,8vw,125px);background:#f6f4f1}.isla-about-number{font-size:.68rem;letter-spacing:.18em;color:#a69c91;margin-bottom:34px}.isla-about-copy h2{font:400 clamp(3rem,5vw,5rem)/.96 "Cormorant Garamond",serif;margin:0 0 34px}.isla-about-copy p{max-width:520px;color:#68625c;line-height:1.9;margin:0}
.site-footer--premium{background:#171715;color:#f6f3ef;padding:clamp(72px,8vw,112px) 0 28px}.site-footer__main{display:grid;grid-template-columns:1.45fr .75fr .75fr .75fr 1.25fr;gap:clamp(32px,4vw,72px)}.site-footer--premium .custom-logo{filter:brightness(0) invert(1);max-width:150px;height:auto}.site-footer--premium .site-logo__text{color:#fff;font-size:2rem}.site-footer--premium h4{font:500 .68rem/1.2 Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#bfa086;margin:0 0 28px}.site-footer--premium p{color:#aaa49c;line-height:1.75}.site-footer__brand>p{max-width:330px;margin:24px 0 30px}.site-footer--premium a{color:#f6f3ef;text-decoration:none}.site-footer__column ul{list-style:none;margin:0;padding:0}.site-footer__column li{margin:0 0 13px}.site-footer__column a,.site-footer__contact a{font-size:.88rem;color:#bbb5ae;transition:color .2s}.site-footer__column a:hover,.site-footer__contact a:hover{color:#fff}.site-footer__contact{display:flex;flex-direction:column;align-items:flex-start}.site-footer__contact a{margin-bottom:13px}.social-links--text{display:flex;flex-wrap:wrap;gap:18px}.social-links--text a{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#bbb5ae}
.site-footer--premium .newsletter-form{display:grid;grid-template-columns:1fr 52px;border-bottom:1px solid #5c5853;margin-top:28px}.site-footer--premium .newsletter-form input{border:0!important;background:transparent!important;color:#fff!important;padding:14px 0!important;border-radius:0!important}.site-footer--premium .newsletter-form button{border:0;background:transparent;color:#fff;font-size:1.4rem;cursor:pointer}.site-footer--premium .newsletter-form input::placeholder{color:#77716b}.site-footer--premium .site-footer__bottom{display:flex;justify-content:space-between;gap:24px;margin-top:72px;padding-top:24px;border-top:1px solid #34312e}.site-footer--premium .site-footer__bottom p{font-size:.68rem;margin:0}.site-footer--premium .site-footer__bottom a{color:#8f8982;margin-left:24px}
@media(max-width:1100px){.site-footer__main{grid-template-columns:1.4fr 1fr 1fr}.site-footer__newsletter{grid-column:2/4}.isla-contact-grid{gap:60px}}
@media(max-width:800px){.isla-contact-page,.isla-about-page{padding-top:56px}.isla-contact-grid{grid-template-columns:1fr}.isla-contact-info{position:static}.isla-field-row{grid-template-columns:1fr}.isla-about-row,.isla-about-row.is-reverse{grid-template-columns:1fr;min-height:0}.isla-about-row .isla-about-media,.isla-about-row.is-reverse .isla-about-media{order:1;min-height:75vw}.isla-about-row .isla-about-copy,.isla-about-row.is-reverse .isla-about-copy{order:2;padding:52px 30px}.site-footer__main{grid-template-columns:1fr 1fr}.site-footer__brand,.site-footer__newsletter{grid-column:1/-1}.site-footer--premium .site-footer__bottom{display:block}.site-footer--premium .site-footer__bottom p+p{margin-top:14px}.site-footer--premium .site-footer__bottom a{margin:0 20px 0 0}}
@media(max-width:520px){.isla-contact-info h1,.isla-about-hero h1{font-size:4rem}.isla-contact-form-panel{padding:34px 22px}.isla-contact-details>div{grid-template-columns:1fr;gap:8px}.site-footer__main{grid-template-columns:1fr}.site-footer__brand,.site-footer__newsletter{grid-column:auto}.site-footer--premium .site-footer__bottom a{display:inline-block;margin-top:8px}}


/* =========================================================
   ISLA GREY 4.3 — FOOTER MENUS VERTICAL
   ========================================================= */
.site-footer--premium .site-footer__main{
  grid-template-columns:minmax(230px,1.25fr) minmax(130px,.7fr) minmax(150px,.8fr) minmax(180px,.85fr) minmax(250px,1.15fr);
  align-items:start;
}
.site-footer--premium .site-footer__main > *{min-width:0;}
.site-footer--premium .site-footer__column nav,
.site-footer--premium .site-footer__column .menu-footer-container,
.site-footer--premium .site-footer__column .menu{
  width:100%;
}
.site-footer--premium .site-footer__column ul,
.site-footer--premium .site-footer__column .footer-menu,
.site-footer--premium .site-footer__column .menu{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  flex-wrap:nowrap!important;
  gap:0!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.site-footer--premium .site-footer__column li,
.site-footer--premium .site-footer__column .menu-item,
.site-footer--premium .site-footer__column .page_item{
  display:block!important;
  width:100%!important;
  margin:0 0 13px!important;
  padding:0!important;
  float:none!important;
}
.site-footer--premium .site-footer__column li a,
.site-footer--premium .site-footer__column .menu-item > a,
.site-footer--premium .site-footer__column .page_item > a{
  display:inline-block!important;
  width:auto!important;
  padding:0!important;
  white-space:normal!important;
  line-height:1.5!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
}
.site-footer--premium .site-footer__column .sub-menu,
.site-footer--premium .site-footer__column .children{display:none!important;}

@media(max-width:1200px){
  .site-footer--premium .site-footer__main{
    grid-template-columns:1.2fr .8fr .8fr;
  }
  .site-footer--premium .site-footer__contact{grid-column:2;}
  .site-footer--premium .site-footer__newsletter{grid-column:3;}
}
@media(max-width:800px){
  .site-footer--premium .site-footer__main{grid-template-columns:1fr 1fr;}
  .site-footer--premium .site-footer__brand,
  .site-footer--premium .site-footer__newsletter{grid-column:1/-1;}
  .site-footer--premium .site-footer__contact{grid-column:auto;}
}
@media(max-width:520px){
  .site-footer--premium .site-footer__main{grid-template-columns:1fr;}
  .site-footer--premium .site-footer__brand,
  .site-footer--premium .site-footer__newsletter{grid-column:auto;}
}

/* =========================================================
   Isla Grey 4.4 — Contact, About tiles and footer menus
   ========================================================= */

/* Contact: keep the editorial headline inside the left column. */
.isla-contact-grid{
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(48px,6vw,104px);
}
.isla-contact-info{
  min-width:0;
}
.isla-contact-info h1{
  max-width:100%;
  font-size:clamp(3.6rem,5vw,5.9rem);
  line-height:.94;
  letter-spacing:-.04em;
  overflow-wrap:normal;
  word-break:normal;
}
.isla-contact-form-panel{
  min-width:0;
}

/* About: true checkerboard — every media and copy tile has exactly the same size. */
.isla-about-checkerboard{
  width:100%;
}
.isla-about-row,
.isla-about-row.is-reverse{
  grid-template-columns:repeat(2,minmax(0,1fr));
  min-height:0;
  aspect-ratio:2 / 1;
}
.isla-about-media,
.isla-about-copy{
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
}
.isla-about-media{
  background-size:cover;
  background-position:center;
}
.isla-about-copy{
  overflow:hidden;
}

/* Footer menus accept any WordPress pages selected in Appearance > Menus. */
.site-footer--premium .footer-menu,
.site-footer--premium .footer-menu > li{
  width:100%;
}
.site-footer--premium .footer-menu > li > a{
  display:inline-block;
}

@media (max-width:1100px){
  .isla-contact-info h1{font-size:clamp(3.4rem,6.5vw,5.2rem)}
}

@media (max-width:800px){
  .isla-contact-grid{gap:48px}
  .isla-contact-info h1{font-size:clamp(3.6rem,14vw,5rem)}
  .isla-about-row,
  .isla-about-row.is-reverse{
    aspect-ratio:auto;
    grid-template-columns:1fr;
  }
  .isla-about-row .isla-about-media,
  .isla-about-row.is-reverse .isla-about-media{
    aspect-ratio:1 / 1;
    min-height:0;
  }
  .isla-about-row .isla-about-copy,
  .isla-about-row.is-reverse .isla-about-copy{
    min-height:auto;
  }
}

/* =========================================================
   Isla Grey 4.5 — social media w stopce + stabilna aktualizacja
   ========================================================= */
.site-footer--premium .social-links,
.site-footer--premium .social-links--text{
  display:none !important;
}
.isla-footer-socials{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
}
.isla-footer-social{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(246,243,239,.22);
  border-radius:50%;
  color:#f6f3ef !important;
  background:transparent;
  transition:background-color .25s ease,border-color .25s ease,transform .25s ease,color .25s ease;
}
.isla-footer-social:hover,
.isla-footer-social:focus-visible{
  background:#f6f3ef;
  border-color:#f6f3ef;
  color:#171715 !important;
  transform:translateY(-2px);
}
.isla-footer-social__icon,
.isla-footer-social__icon svg{
  display:block;
  width:18px;
  height:18px;
}
.isla-footer-social__icon svg{
  overflow:visible;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.isla-footer-social__icon .isla-social-fill{
  fill:currentColor;
  stroke:none;
}
@media (max-width:767px){
  .isla-footer-socials{margin-top:24px;gap:10px}
  .isla-footer-social{width:40px;height:40px;flex-basis:40px}
}

/* =========================================================
   ISLA GREY 4.6 — cart sticky, stable mini-cart, premium account
   ========================================================= */

/* KOSZYK: prawa kolumna ma pełną wysokość wiersza, dzięki czemu sticky
   podąża za użytkownikiem aż do końca listy produktów. */
body.woocommerce-cart .woocommerce:not(.widget_shopping_cart_content) {
  align-items: stretch !important;
}
body.woocommerce-cart .cart-collaterals {
  align-self: stretch !important;
  height: 100% !important;
  overflow: visible !important;
  position: relative !important;
}
body.woocommerce-cart .cart-collaterals .cart_totals {
  position: sticky !important;
  top: calc(var(--isla-header-h, 74px) + 28px) !important;
  z-index: 3;
}
body.admin-bar.woocommerce-cart .cart-collaterals .cart_totals {
  top: calc(var(--isla-header-h, 74px) + 60px) !important;
}

/* MINI-KOSZYK: stabilny układ również na stronie produktu.
   Nazwa nie może wpaść w wąską kolumnę przycisku usuwania. */
.isla-cart-drawer .woocommerce-mini-cart-item {
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) 28px !important;
  grid-template-rows: auto auto !important;
  gap: 8px 16px !important;
  align-items: start !important;
  min-width: 0 !important;
}
.isla-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) {
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) !important;
  gap: 16px !important;
  grid-column: 1 / 3 !important;
  grid-row: 1 !important;
  align-items: start !important;
  min-width: 0 !important;
  width: 100% !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}
.isla-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) img {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  width: 92px !important;
  height: 116px !important;
  margin: 0 !important;
  object-fit: cover !important;
}
.isla-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) {
  font-size: 1.22rem !important;
  line-height: 1.18 !important;
}
.isla-cart-drawer .woocommerce-mini-cart-item .quantity {
  grid-column: 2 !important;
  grid-row: 2 !important;
  margin: 0 !important;
  align-self: start !important;
}
.isla-cart-drawer .woocommerce-mini-cart-item .remove {
  grid-column: 3 !important;
  grid-row: 1 !important;
  position: static !important;
  justify-self: end !important;
  align-self: start !important;
}

/* MOJE KONTO — spójny, butikowy panel. */
body.woocommerce-account .page-content {
  max-width: var(--isla-page-max, 1480px) !important;
  padding-left: var(--isla-page-side, clamp(22px,5vw,72px)) !important;
  padding-right: var(--isla-page-side, clamp(22px,5vw,72px)) !important;
}
body.woocommerce-account .page-title {
  margin-top: 0 !important;
  margin-bottom: clamp(2.5rem, 5vw, 5rem) !important;
}
body.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: minmax(220px, .34fr) minmax(0, 1fr);
  gap: clamp(2.5rem, 6vw, 7rem);
  align-items: start;
}
body.woocommerce-account .woocommerce::before,
body.woocommerce-account .woocommerce::after { display: none !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation {
  float: none !important;
  width: 100% !important;
  position: sticky;
  top: calc(var(--isla-header-h, 74px) + 30px);
}
body.admin-bar.woocommerce-account .woocommerce-MyAccount-navigation {
  top: calc(var(--isla-header-h, 74px) + 62px);
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--isla-line, #ded9d1);
}
body.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0;
  border-bottom: 1px solid var(--isla-line, #ded9d1);
}
body.woocommerce-account .woocommerce-MyAccount-navigation a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 58px;
  padding: 0 8px 0 0;
  color: var(--isla-muted, #716d67);
  text-transform: uppercase;
  letter-spacing: .11em;
  font-size: .68rem;
  text-decoration: none;
  transition: color .2s ease, padding-left .2s ease;
}
body.woocommerce-account .woocommerce-MyAccount-navigation a::after {
  content: '→';
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity .2s ease, transform .2s ease;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  color: var(--isla-ink, #171715);
  padding-left: 8px;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a::after,
body.woocommerce-account .woocommerce-MyAccount-navigation a:hover::after {
  opacity: 1;
  transform: translateX(0);
}
body.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  width: 100% !important;
  min-width: 0;
}
body.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
  margin-top: 0;
  font-family: var(--font-display, "Cormorant Garamond", serif);
  font-size: clamp(1.55rem, 2.5vw, 2.35rem);
  line-height: 1.22;
}
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3 {
  font-family: var(--font-display, "Cormorant Garamond", serif);
  font-weight: 400;
}
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
  border: 0 !important;
  border-collapse: collapse;
  margin: 0;
}
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table th {
  padding: 14px 12px;
  border-bottom: 1px solid var(--isla-line, #ded9d1);
  color: var(--isla-muted, #716d67);
  font-size: .64rem;
  text-transform: uppercase;
  letter-spacing: .11em;
}
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table td {
  padding: 18px 12px;
  border-bottom: 1px solid var(--isla-line, #ded9d1);
}
body.woocommerce-account .woocommerce-Addresses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 24px;
}
body.woocommerce-account .woocommerce-Address {
  float: none !important;
  width: 100% !important;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  background: var(--isla-soft, #f5f3ef);
}
body.woocommerce-account .woocommerce-Address-title h3 { margin: 0 0 1rem; }
body.woocommerce-account .woocommerce-Address-title .edit {
  float: none;
  display: inline-block;
  margin-top: .5rem;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .09em;
}

/* Login / rejestracja przed zalogowaniem. */
body.woocommerce-account:not(.logged-in) .woocommerce {
  display: block;
  max-width: 1120px;
  margin-inline: auto;
}
body.woocommerce-account #customer_login {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: clamp(2rem, 5vw, 5rem);
}
body.woocommerce-account #customer_login .col-1,
body.woocommerce-account #customer_login .col-2 {
  float: none !important;
  width: 100% !important;
  padding: clamp(1.6rem, 3vw, 2.5rem);
  border: 1px solid var(--isla-line, #ded9d1);
}
body.woocommerce-account form.login,
body.woocommerce-account form.register,
body.woocommerce-account form.edit-account {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.woocommerce-account .form-row input.input-text,
body.woocommerce-account .form-row textarea,
body.woocommerce-account .select2-selection {
  min-height: 50px;
  border: 0 !important;
  border-bottom: 1px solid var(--isla-line, #ded9d1) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

/* CHECKOUT — sekcja płatności nie może być wizualnie ukryta przez stare style. */
body.woocommerce-checkout #payment,
body.woocommerce-checkout #payment ul.payment_methods,
body.woocommerce-checkout #payment .payment_box,
body.woocommerce-checkout .wc-block-checkout__payment-method,
body.woocommerce-checkout .wc-block-components-radio-control {
  visibility: visible !important;
  opacity: 1 !important;
}
body.woocommerce-checkout #payment {
  display: block !important;
  margin-top: 1.5rem;
}
body.woocommerce-checkout #payment ul.payment_methods {
  display: block !important;
  margin: 0 !important;
  border-top: 1px solid var(--isla-line, #ded9d1);
}
body.woocommerce-checkout #payment ul.payment_methods li {
  padding: 16px 0;
  border-bottom: 1px solid var(--isla-line, #ded9d1);
}
body.woocommerce-checkout #payment ul.payment_methods label {
  font-weight: 500;
}

@media (max-width: 980px) {
  body.woocommerce-account .woocommerce { grid-template-columns: 1fr; gap: 2.5rem; }
  body.woocommerce-account .woocommerce-MyAccount-navigation { position: static; }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation li:nth-child(odd) {
    border-right: 1px solid var(--isla-line, #ded9d1);
  }
  body.woocommerce-cart .cart-collaterals .cart_totals { position: static !important; }
}
@media (max-width: 640px) {
  .isla-cart-drawer .woocommerce-mini-cart-item {
    grid-template-columns: 76px minmax(0,1fr) 24px !important;
  }
  .isla-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) {
    grid-template-columns: 76px minmax(0,1fr) !important;
    gap: 12px !important;
  }
  .isla-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) img {
    width: 76px !important;
    height: 96px !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul { grid-template-columns: 1fr; }
  body.woocommerce-account .woocommerce-MyAccount-navigation li:nth-child(odd) { border-right: 0; }
  body.woocommerce-account .woocommerce-Addresses,
  body.woocommerce-account #customer_login { grid-template-columns: 1fr; }
}

/* =========================================================
   Isla Grey 4.7 — premium checkout login & coupon UX
   ========================================================= */
.woocommerce-checkout .isla-checkout-tools {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 0 0 48px;
}

.woocommerce-checkout .isla-checkout-tool {
    position: relative;
    border: 1px solid #e5e0d9;
    background: #f7f5f2;
    min-width: 0;
    transition: border-color .25s ease, background-color .25s ease;
}

.woocommerce-checkout .isla-checkout-tool:has(form[style*="display: block"]),
.woocommerce-checkout .isla-checkout-tool.is-open {
    border-color: #bd926e;
    background: #fff;
}

.woocommerce-checkout .isla-checkout-tool .woocommerce-form-login-toggle,
.woocommerce-checkout .isla-checkout-tool .woocommerce-form-coupon-toggle {
    margin: 0 !important;
}

.woocommerce-checkout .isla-checkout-tool .woocommerce-info {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    min-height: 112px;
    margin: 0 !important;
    padding: 24px 26px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #171716 !important;
    box-shadow: none !important;
}

.woocommerce-checkout .isla-checkout-tool .woocommerce-info::before {
    position: static !important;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin: 0 !important;
    border: 1px solid #c39a76;
    color: #b98e69;
    font-family: inherit !important;
    font-size: 18px;
    line-height: 1;
    border-radius: 50%;
    content: "" !important;
}

.woocommerce-checkout .isla-checkout-tool--login .woocommerce-info::before {
    content: "↗" !important;
}

.woocommerce-checkout .isla-checkout-tool--coupon .woocommerce-info::before {
    content: "%" !important;
    font-size: 13px;
    font-weight: 600;
}

.woocommerce-checkout .isla-checkout-tool__copy {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.woocommerce-checkout .isla-checkout-tool__copy strong {
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(25px, 2vw, 31px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.02em;
}

.woocommerce-checkout .isla-checkout-tool__copy span {
    color: #77716a;
    font-size: 13px;
    line-height: 1.5;
}

.woocommerce-checkout .isla-checkout-tool .woocommerce-info > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 122px;
    height: 44px;
    padding: 0 19px;
    border: 1px solid #171716;
    background: transparent;
    color: #171716 !important;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .12em;
    line-height: 1;
    text-decoration: none !important;
    text-transform: uppercase;
    transition: color .25s ease, background-color .25s ease;
}

.woocommerce-checkout .isla-checkout-tool .woocommerce-info > a:hover {
    background: #171716;
    color: #fff !important;
}

.woocommerce-checkout .isla-checkout-tool form.woocommerce-form-login,
.woocommerce-checkout .isla-checkout-tool form.checkout_coupon {
    margin: 0 !important;
    padding: 0 26px 28px !important;
    border: 0 !important;
    border-top: 1px solid #e5e0d9 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
}

.woocommerce-checkout .isla-checkout-tool form.woocommerce-form-login > p:first-child {
    margin: 0 -26px 26px !important;
    padding: 22px 26px 0;
    color: #6e6962;
    font-size: 14px;
    line-height: 1.65;
}

.woocommerce-checkout .isla-checkout-tool form.woocommerce-form-login .form-row {
    margin: 0 0 18px !important;
}

.woocommerce-checkout .isla-checkout-tool form.woocommerce-form-login .form-row-first,
.woocommerce-checkout .isla-checkout-tool form.woocommerce-form-login .form-row-last {
    float: none !important;
    width: 100% !important;
}

.woocommerce-checkout .isla-checkout-tool form label {
    display: block;
    margin: 0 0 8px;
    color: #393633;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.woocommerce-checkout .isla-checkout-tool form input.input-text {
    width: 100%;
    height: 48px;
    padding: 0 2px !important;
    border: 0 !important;
    border-bottom: 1px solid #cfc8bf !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.woocommerce-checkout .isla-checkout-tool form input.input-text:focus {
    border-color: #171716 !important;
    outline: 0;
}

.woocommerce-checkout .isla-checkout-tool form.woocommerce-form-login .button,
.woocommerce-checkout .isla-checkout-tool form.checkout_coupon .button {
    min-height: 48px;
    padding: 0 25px !important;
    border: 1px solid #171716 !important;
    border-radius: 0 !important;
    background: #171716 !important;
    color: #fff !important;
    font-size: 11px !important;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.woocommerce-checkout .isla-checkout-tool form.checkout_coupon {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    padding-top: 26px !important;
}

.woocommerce-checkout .isla-checkout-tool form.checkout_coupon .form-row {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

.woocommerce-checkout .isla-checkout-tool form.checkout_coupon .input-text {
    height: 48px !important;
    padding: 0 15px !important;
    border: 1px solid #cfc8bf !important;
}

.woocommerce-checkout .isla-checkout-tool .woocommerce-form-login__rememberme {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 4px 16px 4px 0;
    font-size: 11px;
}

.woocommerce-checkout .isla-checkout-tool .lost_password {
    margin: 14px 0 0 !important;
    font-size: 13px;
}

@media (max-width: 900px) {
    .woocommerce-checkout .isla-checkout-tools {
        grid-template-columns: 1fr;
        margin-bottom: 34px;
    }
}

@media (max-width: 600px) {
    .woocommerce-checkout .isla-checkout-tool .woocommerce-info {
        grid-template-columns: 36px minmax(0, 1fr);
        gap: 14px;
        padding: 20px !important;
    }

    .woocommerce-checkout .isla-checkout-tool .woocommerce-info::before {
        width: 36px;
        height: 36px;
    }

    .woocommerce-checkout .isla-checkout-tool .woocommerce-info > a {
        grid-column: 1 / -1;
        width: 100%;
    }

    .woocommerce-checkout .isla-checkout-tool form.woocommerce-form-login,
    .woocommerce-checkout .isla-checkout-tool form.checkout_coupon {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .woocommerce-checkout .isla-checkout-tool form.checkout_coupon {
        grid-template-columns: 1fr;
    }

    .woocommerce-checkout .isla-checkout-tool form.checkout_coupon .button {
        width: 100%;
    }
}

/* =========================================================
   Isla Grey 4.8 — poprawiony układ logowania / rejestracji
   ========================================================= */
body.woocommerce-account:not(.logged-in) .page-content {
  padding-top: clamp(42px, 6vw, 78px) !important;
  padding-bottom: clamp(72px, 8vw, 120px) !important;
}

body.woocommerce-account:not(.logged-in) .page-title {
  margin: 0 0 clamp(42px, 6vw, 72px) !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce {
  display: block !important;
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
}

body.woocommerce-account:not(.logged-in) #customer_login,
body.woocommerce-account:not(.logged-in) .u-columns.col2-set {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: clamp(28px, 4vw, 56px) !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login::before,
body.woocommerce-account:not(.logged-in) #customer_login::after,
body.woocommerce-account:not(.logged-in) .u-columns.col2-set::before,
body.woocommerce-account:not(.logged-in) .u-columns.col2-set::after {
  display: none !important;
  content: none !important;
}

body.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login > .u-column2,
body.woocommerce-account:not(.logged-in) #customer_login > .col-1,
body.woocommerce-account:not(.logged-in) #customer_login > .col-2 {
  position: static !important;
  float: none !important;
  clear: none !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: clamp(28px, 3vw, 42px) !important;
  border: 1px solid var(--isla-line, #ded9d1) !important;
  background: #fff !important;
  transform: none !important;
}

body.woocommerce-account:not(.logged-in) #customer_login h2 {
  margin: 0 0 28px !important;
  font-family: "Cormorant Garamond", serif !important;
  font-size: clamp(30px, 2.5vw, 38px) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login form.login,
body.woocommerce-account:not(.logged-in) #customer_login form.register {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.woocommerce-account:not(.logged-in) #customer_login .form-row {
  float: none !important;
  width: 100% !important;
  margin: 0 0 22px !important;
}

body.woocommerce-account:not(.logged-in) #customer_login .form-row:last-child {
  margin-bottom: 0 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__submit,
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-register__submit {
  min-height: 48px !important;
  padding: 0 24px !important;
}

body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__rememberme {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 0 14px !important;
  vertical-align: middle !important;
}

body.woocommerce-account:not(.logged-in) #customer_login .lost_password {
  margin: 16px 0 0 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-privacy-policy-text {
  margin: 8px 0 22px !important;
  color: #746f68 !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}

@media (max-width: 820px) {
  body.woocommerce-account:not(.logged-in) #customer_login,
  body.woocommerce-account:not(.logged-in) .u-columns.col2-set {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}


/* =========================================================
   Isla Grey 4.9 — perfectly aligned checkout utility cards
   ========================================================= */
.woocommerce-checkout .isla-checkout-tools {
    align-items: stretch;
}

.woocommerce-checkout .isla-checkout-tool {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.woocommerce-checkout .isla-checkout-tool .woocommerce-form-login-toggle,
.woocommerce-checkout .isla-checkout-tool .woocommerce-form-coupon-toggle {
    height: 100%;
}

.woocommerce-checkout .isla-checkout-tool .woocommerce-info {
    grid-template-columns: 44px minmax(0, 1fr) 148px !important;
    min-height: 132px;
    height: 100%;
    padding: 26px 30px !important;
}

.woocommerce-checkout .isla-checkout-tool__copy {
    justify-content: center;
    align-self: stretch;
}

.woocommerce-checkout .isla-checkout-tool__copy strong {
    margin: 0;
    font-size: clamp(27px, 2vw, 34px);
    line-height: 1.05;
}

.woocommerce-checkout .isla-checkout-tool__copy span {
    max-width: 410px;
    margin-top: 4px;
}

.woocommerce-checkout .isla-checkout-tool .woocommerce-info > a {
    width: 148px;
    min-width: 148px;
    height: 48px;
    padding: 0 18px;
    white-space: nowrap;
}

@media (max-width: 1100px) {
    .woocommerce-checkout .isla-checkout-tool .woocommerce-info {
        grid-template-columns: 42px minmax(0, 1fr) 126px !important;
        padding: 24px !important;
    }
    .woocommerce-checkout .isla-checkout-tool .woocommerce-info > a {
        width: 126px;
        min-width: 126px;
    }
}

@media (max-width: 700px) {
    .woocommerce-checkout .isla-checkout-tool .woocommerce-info {
        grid-template-columns: 38px minmax(0, 1fr) !important;
        min-height: 0;
        height: auto;
    }
    .woocommerce-checkout .isla-checkout-tool .woocommerce-info > a {
        grid-column: 1 / -1;
        width: 100%;
        min-width: 0;
        margin-top: 4px;
    }
}

/* =========================================================
   ISLA GREY 5.0 — responsive polish + bottom purchase bar
   ========================================================= */

/* Dolny pasek produktu zawsze przylega do dolnej krawędzi viewportu. */
.isla-sticky-atc {
  position: fixed !important;
  inset: auto 0 0 0 !important;
  width: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
  z-index: 99999 !important;
}
.isla-sticky-atc__inner {
  max-width: none !important;
  width: 100% !important;
  box-sizing: border-box;
  padding-bottom: max(12px, env(safe-area-inset-bottom)) !important;
}
body:has(.isla-sticky-atc.is-visible) {
  padding-bottom: 88px;
}

/* Tablet — jeden zwarty, czytelny pasek bez przypadkowych pustych pól. */
@media (min-width: 721px) and (max-width: 1100px) {
  .isla-sticky-atc__inner {
    grid-template-columns: minmax(170px, .8fr) minmax(220px, 1fr) minmax(230px, .9fr) !important;
    gap: 14px !important;
    padding: 11px 28px max(11px, env(safe-area-inset-bottom)) !important;
  }
  .isla-sticky-atc__product {
    grid-template-columns: 44px minmax(0,1fr) !important;
    gap: 10px !important;
  }
  .isla-sticky-atc__image { width:44px !important; height:54px !important; }
  .isla-sticky-atc__name { font-size:1rem !important; }
  .isla-sticky-atc__meta { display:none; }
  .isla-sticky-atc__options { min-width:0; }
  .isla-sticky-atc__option-values { flex-wrap:nowrap !important; gap:5px !important; }
  .isla-sticky-atc__option { min-width:36px !important; height:36px !important; padding:0 8px !important; }
  .isla-sticky-atc__price { display:none !important; }
  .isla-sticky-atc__button { min-height:46px !important; padding:0 18px !important; }
}

/* Telefon — warianty i CTA w zwartej, dwurzędowej belce. */
@media (max-width: 720px) {
  body:has(.isla-sticky-atc.is-visible) { padding-bottom: 128px; }
  .isla-sticky-atc__inner {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(145px, 42vw) !important;
    grid-template-rows:auto auto !important;
    gap:8px 10px !important;
    padding:9px 14px max(9px, env(safe-area-inset-bottom)) !important;
  }
  .isla-sticky-atc__product {
    grid-column:1 !important;
    grid-row:2 !important;
    display:block !important;
    min-width:0 !important;
  }
  .isla-sticky-atc__image,
  .isla-sticky-atc__meta,
  .isla-sticky-atc__price { display:none !important; }
  .isla-sticky-atc__name {
    font-size:.95rem !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
  }
  .isla-sticky-atc__options {
    grid-column:1 / -1 !important;
    grid-row:1 !important;
    min-width:0 !important;
  }
  .isla-sticky-atc__option-group { justify-content:flex-start !important; }
  .isla-sticky-atc__option-values {
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    scrollbar-width:none;
    padding-bottom:1px;
  }
  .isla-sticky-atc__option-values::-webkit-scrollbar { display:none; }
  .isla-sticky-atc__option { min-width:38px !important; height:36px !important; flex:0 0 auto; }
  .isla-sticky-atc__button {
    grid-column:2 !important;
    grid-row:2 !important;
    width:100% !important;
    min-height:44px !important;
    padding:0 12px !important;
    font-size:.64rem !important;
  }
}

/* Pełnoekranowe menu: mniej pustego miejsca i mniejsze linki na tabletach/telefonach. */
@media (max-width: 1100px) {
  .site-nav {
    align-items:start !important;
  }
  .site-nav__inner {
    min-height:100%;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    padding-top:clamp(68px, 9vh, 92px) !important;
    padding-bottom:28px !important;
  }
  .site-nav__eyebrow { margin-bottom:18px !important; }
  .site-nav__hint { margin-top:20px !important; }
  .site-nav .nav-menu { gap:4px !important; }
  .site-nav .nav-menu > li > a {
    font-size:clamp(2rem, 6vw, 3.15rem) !important;
    line-height:1.02 !important;
    padding:.06em .14em !important;
  }
}

@media (max-width: 720px) {
  .site-nav__inner {
    padding-top:62px !important;
    padding-left:20px !important;
    padding-right:20px !important;
  }
  .site-nav__back {
    margin-bottom:8px !important;
    font-size:.68rem !important;
  }
  .site-nav__eyebrow {
    margin:0 0 12px !important;
    font-size:.6rem !important;
  }
  .site-nav .nav-menu { gap:0 !important; }
  .site-nav .nav-menu > li > a {
    font-size:clamp(1.7rem, 8.5vw, 2.35rem) !important;
    line-height:1.04 !important;
    letter-spacing:-.025em !important;
  }
  .site-nav__hint {
    margin-top:16px !important;
    font-size:.56rem !important;
  }
}

/* Spójniejsze pionowe odstępy na tabletach i telefonach. */
@media (max-width: 980px) {
  .page-main,
  .shop-main,
  .woocommerce-page main {
    padding-top:clamp(28px, 5vw, 48px);
  }
  .page-title,
  .woocommerce-products-header__title,
  body.woocommerce-cart .page-title,
  body.woocommerce-checkout .page-title,
  body.woocommerce-account .page-title {
    margin-bottom:clamp(28px, 5vw, 48px) !important;
  }
  .section { padding-block:clamp(42px, 7vw, 72px) !important; }
}

/* =========================================================
   ISLA GREY 5.1 — MOBILE SYSTEM REBUILD
   ========================================================= */
@media (max-width: 767px) {
  html, body { overflow-x:hidden !important; }
  body { font-size:16px; }
  .container { width:100% !important; max-width:none !important; padding-left:24px !important; padding-right:24px !important; }

  /* Header */
  .site-header__bar { min-height:78px !important; padding-left:22px !important; padding-right:18px !important; }
  .site-logo__text { font-size:1.35rem !important; white-space:nowrap; }
  .site-header__actions { gap:7px !important; }
  .header-icon-btn { width:32px !important; height:40px !important; padding:0 !important; }
  .header-icon-btn svg { width:20px !important; height:20px !important; }
  .mobile-nav-toggle { width:42px !important; height:42px !important; }

  /* Universal page rhythm */
  .page-content, .shop-main, .page-main,
  body.woocommerce-page .page-content { padding-top:42px !important; }
  .page-title, .woocommerce-products-header__title.page-title,
  body.woocommerce-cart .page-title,
  body.woocommerce-account .page-title,
  body.woocommerce-checkout .page-title {
    font-size:clamp(3.2rem,15vw,4.6rem) !important;
    line-height:.95 !important;
    margin:0 0 42px !important;
  }

  /* Product archives */
  .woocommerce-products-header { padding-top:22px !important; margin-bottom:38px !important; }
  .woocommerce-breadcrumb { font-size:.78rem !important; margin-bottom:52px !important; }
  .woocommerce .woocommerce-result-count,
  .woocommerce .woocommerce-ordering { float:none !important; width:100% !important; margin:0 0 20px !important; }
  .woocommerce .woocommerce-ordering select { width:100% !important; min-width:0 !important; height:52px !important; padding:0 18px !important; }
  .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:34px 16px !important; }
  .woocommerce ul.products li.product { min-width:0 !important; margin:0 !important; }
  .woocommerce ul.products li.product img { aspect-ratio:3/4 !important; object-fit:cover !important; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:1rem !important; line-height:1.25 !important; padding-top:12px !important; }
  .woocommerce ul.products li.product .price { font-size:.82rem !important; }

  /* Product tabs/reviews */
  .single-product .woocommerce div.product > .woocommerce-tabs { margin-top:46px !important; padding:0 22px !important; }
  .woocommerce div.product .woocommerce-tabs ul.tabs {
    justify-content:space-between !important; gap:8px !important; overflow-x:auto !important;
    scrollbar-width:none; padding:0 !important;
  }
  .woocommerce div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar { display:none; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li { flex:0 0 auto !important; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li a { font-size:.68rem !important; padding:14px 6px !important; white-space:normal !important; text-align:center; }
  .woocommerce div.product .woocommerce-tabs .panel { margin:34px 0 0 !important; max-width:none !important; }
  #reviews, #review_form_wrapper, #review_form { width:100% !important; max-width:none !important; }
  #reviews h2, #review_form_wrapper .comment-reply-title { font-size:2.35rem !important; line-height:1 !important; }
  #review_form_wrapper .comment-form { display:block !important; }
  #review_form_wrapper .comment-form p { margin:0 0 22px !important; }
  #review_form_wrapper label { display:block !important; font-size:1rem !important; margin-bottom:8px !important; }
  #review_form_wrapper textarea,
  #review_form_wrapper input[type="text"],
  #review_form_wrapper input[type="email"] { width:100% !important; box-sizing:border-box !important; font-size:16px !important; }
  #review_form_wrapper textarea { min-height:150px !important; }
  #review_form_wrapper .comment-form-author,
  #review_form_wrapper .comment-form-email { float:none !important; width:100% !important; }
  #review_form_wrapper .comment-form-cookies-consent { display:grid !important; grid-template-columns:24px minmax(0,1fr); gap:12px; align-items:start; }
  #review_form_wrapper .comment-form-cookies-consent input { margin:4px 0 0 !important; }
  #review_form_wrapper .comment-form-cookies-consent label { line-height:1.45 !important; }
  .comment-form-rating .stars a { font-size:0 !important; width:38px !important; height:38px !important; }
  .comment-form-rating .stars a::before { font-size:32px !important; }

  /* Sticky ATC: compact, truly bottom-aligned and never blocks forms */
  body:has(.isla-sticky-atc.is-visible) { padding-bottom:100px !important; }
  .isla-sticky-atc__inner {
    display:grid !important; grid-template-columns:auto minmax(0,1fr) !important;
    grid-template-rows:auto auto !important; gap:8px 12px !important;
    padding:8px 16px max(8px,env(safe-area-inset-bottom)) !important;
  }
  .isla-sticky-atc__options { grid-column:1 !important; grid-row:1 !important; }
  .isla-sticky-atc__option-values { gap:5px !important; max-width:190px; }
  .isla-sticky-atc__option { min-width:34px !important; width:34px !important; height:34px !important; padding:0 !important; font-size:.72rem !important; }
  .isla-sticky-atc__product { grid-column:1 !important; grid-row:2 !important; min-width:0 !important; }
  .isla-sticky-atc__name { font-size:.88rem !important; max-width:170px; overflow:hidden; text-overflow:ellipsis; }
  .isla-sticky-atc__button { grid-column:2 !important; grid-row:1 / span 2 !important; min-height:52px !important; align-self:center; font-size:.64rem !important; padding:0 12px !important; }
  body.isla-form-focus .isla-sticky-atc,
  body.isla-reviews-active .isla-sticky-atc { transform:translateY(110%) !important; opacity:0 !important; pointer-events:none !important; }

  /* Cart: product cards instead of broken table rows */
  body.woocommerce-cart .page-content { padding-left:22px !important; padding-right:22px !important; }
  body.woocommerce-cart .woocommerce:not(.widget_shopping_cart_content) { display:block !important; }
  body.woocommerce-cart .woocommerce-cart-form { width:100% !important; }
  body.woocommerce-cart table.cart { display:block !important; }
  body.woocommerce-cart table.cart thead { display:none !important; }
  body.woocommerce-cart table.cart tbody { display:block !important; }
  body.woocommerce-cart table.cart tr.cart_item {
    display:grid !important;
    grid-template-columns:82px minmax(0,1fr) !important;
    gap:0 18px !important; padding:22px 0 !important;
    border-bottom:1px solid #ded9d1 !important;
  }
  body.woocommerce-cart table.cart td { display:block !important; border:0 !important; padding:0 !important; background:transparent !important; text-align:left !important; }
  body.woocommerce-cart table.cart td::before { display:none !important; }
  body.woocommerce-cart table.cart td.product-remove { grid-column:2; grid-row:1; justify-self:end; z-index:2; }
  body.woocommerce-cart table.cart td.product-thumbnail { display:block !important; grid-column:1; grid-row:1 / span 4; }
  body.woocommerce-cart table.cart td.product-thumbnail img { width:82px !important; height:108px !important; object-fit:cover; }
  body.woocommerce-cart table.cart td.product-name { grid-column:2; grid-row:1; padding-right:32px !important; }
  body.woocommerce-cart table.cart td.product-name a { font-size:1.15rem !important; }
  body.woocommerce-cart table.cart td.product-price { grid-column:2; grid-row:2; color:#6f6a64; margin-top:8px; }
  body.woocommerce-cart table.cart td.product-quantity { grid-column:2; grid-row:3; margin-top:16px; }
  body.woocommerce-cart table.cart td.product-subtotal { grid-column:2; grid-row:4; margin-top:14px; font-weight:600; }
  body.woocommerce-cart .isla-qty-control { justify-content:flex-start !important; }
  body.woocommerce-cart table.cart td.actions { display:grid !important; gap:12px !important; padding:24px 0 0 !important; }
  body.woocommerce-cart table.cart td.actions .coupon { display:grid !important; grid-template-columns:1fr !important; gap:10px !important; width:100% !important; }
  body.woocommerce-cart table.cart td.actions .coupon .input-text,
  body.woocommerce-cart table.cart td.actions .coupon .button,
  body.woocommerce-cart table.cart td.actions > .button[name="update_cart"] { width:100% !important; margin:0 !important; min-height:52px !important; }
  body.woocommerce-cart .cart-collaterals { margin-top:34px !important; }
  body.woocommerce-cart .cart-collaterals .cart_totals { position:static !important; width:100% !important; padding:26px 22px !important; }

  /* My account */
  body.woocommerce-account .page-content { padding-left:22px !important; padding-right:22px !important; }
  body.woocommerce-account .woocommerce { display:block !important; }
  body.woocommerce-account .u-columns { display:grid !important; grid-template-columns:1fr !important; gap:24px !important; }
  body.woocommerce-account .u-column1,
  body.woocommerce-account .u-column2 { float:none !important; width:100% !important; margin:0 !important; }
  body.woocommerce-account form.login,
  body.woocommerce-account form.register { padding:28px 24px !important; min-height:0 !important; }
  body.woocommerce-account form.login h2,
  body.woocommerce-account form.register h2 { font-size:2.5rem !important; margin-bottom:28px !important; }
  body.woocommerce-account form .form-row { width:100% !important; float:none !important; }
  body.woocommerce-account form .button { width:100% !important; min-height:52px; }
  body.woocommerce-account .woocommerce-MyAccount-navigation { position:static !important; width:100% !important; margin-bottom:28px !important; }
  body.woocommerce-account .woocommerce-MyAccount-content { width:100% !important; }

  /* Contact: strictly one column */
  .isla-contact-page { padding:50px 0 80px !important; }
  .isla-contact-grid { display:block !important; }
  .isla-contact-info { position:static !important; width:100% !important; }
  .isla-contact-info h1 { font-size:clamp(3.25rem,15vw,4.5rem) !important; max-width:100% !important; overflow:hidden; }
  .isla-contact-lead { font-size:1rem !important; line-height:1.65 !important; margin-bottom:38px !important; }
  .isla-contact-details>div { grid-template-columns:1fr !important; gap:7px !important; padding:17px 0 !important; }
  .isla-contact-form-panel { width:100% !important; margin-top:46px !important; padding:34px 24px !important; }
  .isla-contact-form-heading h2 { font-size:3.1rem !important; }
  .isla-field-row { grid-template-columns:1fr !important; gap:24px !important; }
  .isla-contact-submit { background:#171715 !important; color:#fff !important; border-radius:0 !important; }

  /* Footer: eliminate tall empty columns */
  .site-footer--premium { padding:58px 0 24px !important; }
  .site-footer--premium .site-footer__main { display:grid !important; grid-template-columns:1fr !important; gap:38px !important; }
  .site-footer--premium .site-footer__main > * { grid-column:auto !important; }
  .site-footer__brand>p { margin:20px 0 22px !important; }
  .site-footer--premium h4 { margin-bottom:18px !important; }
  .site-footer--premium .site-footer__column li { margin-bottom:10px !important; }
  .site-footer--premium .site-footer__bottom { margin-top:44px !important; padding-top:22px !important; }
  .site-footer--premium .site-footer__bottom p { line-height:1.8 !important; }
}

@media (min-width:768px) and (max-width:1100px) {
  .container { padding-left:36px !important; padding-right:36px !important; }
  .woocommerce ul.products { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .isla-contact-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; gap:42px !important; }
  .isla-contact-info h1 { font-size:clamp(3.2rem,7vw,4.8rem) !important; }
  body.woocommerce-account .u-columns { gap:28px !important; }
}

/* =========================================================
   ISLA GREY 5.2 — spójny mobile header, overlay spacing,
   archive rhythm, checkout notes and persistent ATC
   ========================================================= */

/* Dolny pasek produktu zawsze nad treścią i stopką. */
.isla-sticky-atc {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 999999 !important;
  margin: 0 !important;
}
.isla-sticky-atc.is-visible { visibility: visible !important; }
body.isla-reviews-active .isla-sticky-atc,
body.isla-form-focus .isla-sticky-atc {
  transform: translateY(0) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Pole uwag do zamówienia — wygodniejsze na desktopie. */
.woocommerce-checkout textarea#order_comments,
.woocommerce-checkout .woocommerce-additional-fields textarea,
.woocommerce-checkout textarea[name="order_comments"] {
  min-height: 150px !important;
  resize: vertical !important;
  padding: 16px 18px !important;
  line-height: 1.5 !important;
  border: 1px solid #cfc8bf !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

/* Aktualny/kliknięty link menu ma być czarny także na urządzeniu dotykowym. */
.site-nav .nav-menu > li.current-menu-item > a,
.site-nav .nav-menu > li.current-menu-ancestor > a,
.site-nav .nav-menu > li > a:active,
.site-nav .nav-menu > li > a:focus,
.site-nav .nav-menu > li > a:focus-visible {
  color: #111 !important;
}

@media (max-width: 980px) {
  /* Jeden system szerokości i odsunięć dla menu oraz wyszukiwarki. */
  .site-nav__inner,
  body > .search-overlay .search-overlay__inner {
    width: 100% !important;
    max-width: none !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
    box-sizing: border-box !important;
  }
  .site-nav__inner {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
    align-content: start !important;
  }
  .search-overlay__inner {
    padding-top: 28px !important;
    padding-bottom: 36px !important;
  }
  .site-nav__back,
  .search-overlay__back {
    position: static !important;
    margin: 0 !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
  }
  .site-nav__eyebrow { margin: 8px 0 14px !important; }
  .site-nav__hint { margin: 18px 0 0 !important; }
  .site-nav .nav-menu { margin: 0 !important; }
  .search-overlay__top { min-height: 44px !important; }
  .search-overlay__form {
    margin: 54px 0 0 !important;
    width: 100% !important;
  }
  .isla-search-popular { margin-top: 44px !important; }

  /* Mniej pustej przestrzeni na archiwach kategorii. */
  body.post-type-archive-product .shop-main,
  body.tax-product_cat .shop-main,
  body.tax-product_tag .shop-main,
  body.woocommerce-shop .shop-main {
    padding-top: 28px !important;
  }
  body.post-type-archive-product .woocommerce-breadcrumb,
  body.tax-product_cat .woocommerce-breadcrumb,
  body.tax-product_tag .woocommerce-breadcrumb,
  body.woocommerce-shop .woocommerce-breadcrumb {
    margin-bottom: 30px !important;
  }
  body.post-type-archive-product .woocommerce-products-header,
  body.tax-product_cat .woocommerce-products-header,
  body.tax-product_tag .woocommerce-products-header,
  body.woocommerce-shop .woocommerce-products-header {
    padding-top: 0 !important;
    margin-bottom: 26px !important;
  }
  body.post-type-archive-product .woocommerce-products-header__title,
  body.tax-product_cat .woocommerce-products-header__title,
  body.tax-product_tag .woocommerce-products-header__title,
  body.woocommerce-shop .woocommerce-products-header__title {
    margin-bottom: 28px !important;
  }
}

@media (max-width: 767px) {
  /* Header: wszystkie ikony na tej samej osi i w równych polach. */
  .site-header__bar {
    grid-template-columns: 44px minmax(0,1fr) auto !important;
    align-items: center !important;
    min-height: 76px !important;
    height: 76px !important;
    padding: 0 14px 0 18px !important;
    column-gap: 8px !important;
  }
  .site-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
  }
  .site-logo a,
  .site-logo__text,
  .site-logo .custom-logo-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
  }
  .site-logo .custom-logo { max-height: 32px !important; width: auto !important; }
  .mobile-nav-toggle {
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    align-self: center !important;
  }
  .site-header__actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 2px !important;
    height: 44px !important;
  }
  .header-icon-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 44px !important;
    min-width: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    vertical-align: middle !important;
  }
  .header-icon-btn svg { display: block !important; width: 20px !important; height: 20px !important; }
  .header-icon-btn--wishlist .wishlist-count,
  .header-icon-btn--cart .cart-count {
    top: 1px !important;
    right: -2px !important;
    transform: none !important;
  }

  /* Menu mobilne: mniej pustej góry i mniejsze, zwarte linki. */
  .site-nav__inner,
  body > .search-overlay .search-overlay__inner {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .site-nav__inner { padding-top: 20px !important; }
  .site-nav .nav-menu { gap: 2px !important; }
  .site-nav .nav-menu > li > a {
    font-size: clamp(2.45rem, 12vw, 3.35rem) !important;
    line-height: .98 !important;
    padding: 2px 0 !important;
  }
  .site-nav__eyebrow { margin-top: 4px !important; margin-bottom: 10px !important; }
  .site-nav__hint { margin-top: 14px !important; font-size: .62rem !important; }

  /* Wyszukiwarka startuje dokładnie z tego samego miejsca co menu. */
  .search-overlay__inner { padding-top: 20px !important; }
  .search-overlay__form { margin-top: 44px !important; }
  .search-overlay__form label {
    font-size: clamp(2.9rem, 13vw, 4rem) !important;
    margin-bottom: 20px !important;
  }
  .search-overlay__form input { font-size: clamp(1.7rem, 8vw, 2.35rem) !important; }
  .isla-search-popular { margin-top: 34px !important; }

  /* Archiwum produktu — ciaśniejszy rytm bez wielkiego pustego pola. */
  body.post-type-archive-product .shop-main,
  body.tax-product_cat .shop-main,
  body.tax-product_tag .shop-main,
  body.woocommerce-shop .shop-main { padding-top: 22px !important; }
  body.post-type-archive-product .woocommerce-breadcrumb,
  body.tax-product_cat .woocommerce-breadcrumb,
  body.tax-product_tag .woocommerce-breadcrumb,
  body.woocommerce-shop .woocommerce-breadcrumb { margin-bottom: 26px !important; }
  body.post-type-archive-product .woocommerce-products-header__title,
  body.tax-product_cat .woocommerce-products-header__title,
  body.tax-product_tag .woocommerce-products-header__title,
  body.woocommerce-shop .woocommerce-products-header__title {
    font-size: clamp(3.45rem, 14vw, 4.3rem) !important;
    margin-bottom: 24px !important;
  }
  .woocommerce .woocommerce-result-count { margin-bottom: 14px !important; }
  .woocommerce .woocommerce-ordering { margin-bottom: 28px !important; }

  /* Checkout: pole uwag większe, czytelne i dotykowe. */
  .woocommerce-checkout textarea#order_comments,
  .woocommerce-checkout .woocommerce-additional-fields textarea,
  .woocommerce-checkout textarea[name="order_comments"] {
    min-height: 190px !important;
    width: 100% !important;
    padding: 16px !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    border-radius: 0 !important;
  }
  .woocommerce-checkout .woocommerce-additional-fields h3 {
    font-size: 2.45rem !important;
    line-height: 1 !important;
    margin: 34px 0 22px !important;
  }

  /* Pasek zakupowy pozostaje na samym dole także nad stopką. */
  .isla-sticky-atc {
    bottom: 0 !important;
    padding-bottom: env(safe-area-inset-bottom) !important;
  }
  body:has(.isla-sticky-atc.is-visible) {
    padding-bottom: calc(104px + env(safe-area-inset-bottom)) !important;
  }
}

/* Account login checkbox alignment */
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__rememberme,
.woocommerce-checkout .isla-checkout-tool .woocommerce-form-login__rememberme {
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:0 0 18px !important;
  color:#6f6a64 !important;
  font-size:12px !important;
  line-height:1.35 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
}

body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__rememberme input[type="checkbox"],
.woocommerce-checkout .isla-checkout-tool .woocommerce-form-login__rememberme input[type="checkbox"] {
  -webkit-appearance:none !important;
  appearance:none !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  margin:0 !important;
  border:1px solid #bdb7af !important;
  border-radius:2px !important;
  background:#fff !important;
  box-shadow:none !important;
  outline:none !important;
  cursor:pointer !important;
  position:relative !important;
}

body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__rememberme input[type="checkbox"]:checked,
.woocommerce-checkout .isla-checkout-tool .woocommerce-form-login__rememberme input[type="checkbox"]:checked {
  border-color:#171716 !important;
  background:#171716 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__rememberme input[type="checkbox"]:checked::after,
.woocommerce-checkout .isla-checkout-tool .woocommerce-form-login__rememberme input[type="checkbox"]:checked::after {
  content:"";
  position:absolute;
  left:5px;
  top:2px;
  width:5px;
  height:9px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}

body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__submit {
  margin:0 0 0 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login .lost_password {
  margin-top:20px !important;
}


/* Isla Grey 5.3.2 — menu hover state and resilient premium notices. */
.site-nav .nav-menu > li.current-menu-item > a,
.site-nav .nav-menu > li.current-menu-ancestor > a,
.site-nav .nav-menu > li > a:active,
.site-nav .nav-menu > li > a:focus,
.site-nav .nav-menu > li > a:focus-visible {
  color: #aaa9a5 !important;
  transform: none !important;
  letter-spacing: -.035em !important;
  outline: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}
@media (hover: hover) and (pointer: fine) {
  .site-nav .nav-menu > li > a:hover {
    color: #171716 !important;
    transform: translateX(10px) !important;
    letter-spacing: -.02em !important;
  }
}

/* Notices are hidden only after the toast controller is active. */
body:not(.isla-toast-enabled):not(.woocommerce-checkout):not(.woocommerce-account)
.woocommerce-notices-wrapper > .woocommerce-message,
body:not(.isla-toast-enabled):not(.woocommerce-checkout):not(.woocommerce-account)
.woocommerce-notices-wrapper > .woocommerce-info,
body:not(.isla-toast-enabled):not(.woocommerce-checkout):not(.woocommerce-account)
.woocommerce-notices-wrapper > .woocommerce-error {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
body.isla-toast-enabled:not(.woocommerce-checkout):not(.woocommerce-account)
.woocommerce-notices-wrapper > .woocommerce-message,
body.isla-toast-enabled:not(.woocommerce-checkout):not(.woocommerce-account)
.woocommerce-notices-wrapper > .woocommerce-info,
body.isla-toast-enabled:not(.woocommerce-checkout):not(.woocommerce-account)
.woocommerce-notices-wrapper > .woocommerce-error {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
body.isla-toast-enabled .isla-toast-stack > .woocommerce-message,
body.isla-toast-enabled .isla-toast-stack > .woocommerce-info,
body.isla-toast-enabled .isla-toast-stack > .woocommerce-error,
body.isla-toast-enabled .isla-toast-stack > .isla-toast {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Isla Grey 5.3.3 — stable archive rhythm and premium notices. */
@media (min-width: 768px) {
  body.post-type-archive-product .shop-main,
  body.tax-product_cat .shop-main,
  body.tax-product_tag .shop-main,
  body.woocommerce-shop .shop-main {
    padding-top: 40px !important;
  }
  body.post-type-archive-product .woocommerce-breadcrumb,
  body.tax-product_cat .woocommerce-breadcrumb,
  body.tax-product_tag .woocommerce-breadcrumb,
  body.woocommerce-shop .woocommerce-breadcrumb {
    margin-bottom: 46px !important;
  }
  body.post-type-archive-product .woocommerce-products-header,
  body.tax-product_cat .woocommerce-products-header,
  body.tax-product_tag .woocommerce-products-header,
  body.woocommerce-shop .woocommerce-products-header {
    padding-top: 0 !important;
    margin-bottom: 42px !important;
  }
  body.post-type-archive-product .woocommerce-products-header__title,
  body.tax-product_cat .woocommerce-products-header__title,
  body.tax-product_tag .woocommerce-products-header__title,
  body.woocommerce-shop .woocommerce-products-header__title {
    margin-bottom: 38px !important;
  }
}
.isla-toast-stack > .woocommerce-message,
.isla-toast-stack > .woocommerce-info,
.isla-toast-stack > .woocommerce-error,
.isla-toast-stack > .isla-toast {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  display: block !important;
}


/* Isla Grey 5.3.4 — powiadomienia bez migania pierwszej klatki. */
body.isla-toast-enabled:not(.woocommerce-checkout):not(.woocommerce-account)
.woocommerce-notices-wrapper > .woocommerce-message,
body.isla-toast-enabled:not(.woocommerce-checkout):not(.woocommerce-account)
.woocommerce-notices-wrapper > .woocommerce-info,
body.isla-toast-enabled:not(.woocommerce-checkout):not(.woocommerce-account)
.woocommerce-notices-wrapper > .woocommerce-error {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
body.isla-toast-enabled .isla-toast-stack > .woocommerce-message,
body.isla-toast-enabled .isla-toast-stack > .woocommerce-info,
body.isla-toast-enabled .isla-toast-stack > .woocommerce-error,
body.isla-toast-enabled .isla-toast-stack > .isla-toast {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Isla Grey 5.3.5 — premium product reviews. */
.single-product #reviews {
  max-width: 1120px;
  margin: 0 auto;
  color: #5f5b56;
}
.single-product #reviews #comments,
.single-product #reviews #review_form_wrapper {
  width: 100%;
}
.single-product #reviews #comments h2,
.single-product #reviews .comment-reply-title {
  display: block;
  margin: 0 0 24px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1;
  font-weight: 500;
  color: #171716;
}
.single-product #reviews .woocommerce-noreviews {
  margin: 0 0 32px;
  font-size: .98rem;
  line-height: 1.7;
  color: #77726c;
}
.single-product #review_form_wrapper {
  margin-top: 28px;
  padding: clamp(28px, 4vw, 54px);
  background: #fff;
  border: 1px solid #e2e2e2;
}
.single-product #review_form_wrapper .comment-form {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 24px;
  row-gap: 22px;
  margin: 0;
}
.single-product #review_form_wrapper .comment-form > p {
  margin: 0 !important;
}
.single-product #review_form_wrapper .comment-notes,
.single-product #review_form_wrapper .comment-form-rating,
.single-product #review_form_wrapper .comment-form-comment,
.single-product #review_form_wrapper .comment-form-cookies-consent,
.single-product #review_form_wrapper .form-submit,
.single-product #review_form_wrapper .logged-in-as {
  grid-column: 1 / -1;
}
.single-product #review_form_wrapper label {
  display: block;
  margin: 0 0 10px !important;
  font-family: Inter, sans-serif;
  font-size: .72rem !important;
  font-weight: 500;
  letter-spacing: .15em;
  line-height: 1.45;
  text-transform: uppercase;
  color: #34312e;
}
.single-product #review_form_wrapper textarea,
.single-product #review_form_wrapper input[type="text"],
.single-product #review_form_wrapper input[type="email"] {
  width: 100% !important;
  border: 0 !important;
  border-bottom: 1px solid #cfc7bd !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #171716 !important;
  font-family: Inter, sans-serif;
  font-size: 16px !important;
  outline: none !important;
  transition: border-color .22s ease, background-color .22s ease;
}
.single-product #review_form_wrapper input[type="text"],
.single-product #review_form_wrapper input[type="email"] {
  min-height: 52px;
  padding: 10px 0 !important;
}
.single-product #review_form_wrapper textarea {
  min-height: 190px !important;
  padding: 16px !important;
  border: 1px solid #cfc7bd !important;
  background: rgba(255,255,255,.72) !important;
  resize: vertical;
}
.single-product #review_form_wrapper textarea:focus,
.single-product #review_form_wrapper input[type="text"]:focus,
.single-product #review_form_wrapper input[type="email"]:focus {
  border-color: #171716 !important;
}
.single-product #review_form_wrapper .comment-form-rating {
  padding: 4px 0 2px;
}
.single-product #review_form_wrapper p.stars {
  display: flex;
  gap: 8px;
  margin: 0 !important;
  line-height: 1;
}
.single-product #review_form_wrapper p.stars a {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  color: #a49e96 !important;
  font-size: 0 !important;
  text-decoration: none !important;
  transition: color .2s ease, transform .2s ease;
}
.single-product #review_form_wrapper p.stars a::before {
  position: static !important;
  width: auto !important;
  height: auto !important;
  font-size: 34px !important;
  line-height: 1 !important;
}
.single-product #review_form_wrapper p.stars:hover a,
.single-product #review_form_wrapper p.stars.selected a,
.single-product #review_form_wrapper p.stars a:hover,
.single-product #review_form_wrapper p.stars a.active {
  color: #b88b67 !important;
}
.single-product #review_form_wrapper p.stars a:hover {
  transform: translateY(-2px) scale(1.05);
}
.single-product #review_form_wrapper .comment-form-cookies-consent {
  display: grid !important;
  grid-template-columns: 22px minmax(0,1fr);
  gap: 12px;
  align-items: start;
  padding-top: 2px;
}
.single-product #review_form_wrapper .comment-form-cookies-consent input {
  width: 20px !important;
  height: 20px !important;
  margin: 2px 0 0 !important;
  accent-color: #171716;
}
.single-product #review_form_wrapper .comment-form-cookies-consent label {
  margin: 0 !important;
  font-size: .87rem !important;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.55;
  text-transform: none;
  color: #706b65;
}
.single-product #review_form_wrapper .form-submit {
  padding-top: 4px;
}
.single-product #review_form_wrapper input[type="submit"] {
  min-width: 190px;
  min-height: 54px;
  padding: 15px 30px !important;
  border: 1px solid #171716 !important;
  border-radius: 0 !important;
  background: #171716 !important;
  color: #fff !important;
  font-family: Inter, sans-serif;
  font-size: .73rem !important;
  font-weight: 500;
  letter-spacing: .15em;
  text-transform: uppercase;
  transition: background-color .22s ease, border-color .22s ease;
}
.single-product #review_form_wrapper input[type="submit"]:hover {
  border-color: #b88b67 !important;
  background: #b88b67 !important;
}
.single-product #reviews .commentlist {
  margin: 36px 0 0 !important;
  padding: 0 !important;
}
.single-product #reviews .commentlist li {
  padding: 28px 0 !important;
  border-bottom: 1px solid #e3ddd5;
}

@media (max-width: 767px) {
  .single-product #reviews {
    padding: 0 22px;
  }
  .single-product #reviews #comments h2,
  .single-product #reviews .comment-reply-title {
    font-size: 2rem !important;
    margin-bottom: 18px;
  }
  .single-product #review_form_wrapper {
    margin-top: 22px;
    padding: 24px 20px;
  }
  .single-product #review_form_wrapper .comment-form {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .single-product #review_form_wrapper .comment-form > p {
    grid-column: 1 !important;
  }
  .single-product #review_form_wrapper textarea {
    min-height: 160px !important;
  }
  .single-product #review_form_wrapper p.stars {
    gap: 2px;
  }
  .single-product #review_form_wrapper p.stars a {
    width: 38px !important;
    height: 38px !important;
  }
  .single-product #review_form_wrapper p.stars a::before {
    font-size: 30px !important;
  }
  .single-product #review_form_wrapper input[type="submit"] {
    width: 100%;
  }
}

/* Product gallery thumbnails — clear images and consistent spacing */
.single-product .woocommerce-product-gallery .flex-control-thumbs {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px !important;
  margin: 10px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs li {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  background: #f4f1ed;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  opacity: 1 !important;
  filter: none !important;
  border: 1px solid transparent !important;
  border-radius: 0 !important;
  cursor: pointer;
  transition: transform .25s ease, border-color .25s ease, opacity .25s ease;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover {
  transform: scale(1.025);
  border-color: #b88b67 !important;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
  opacity: 1 !important;
  border-color: #b88b67 !important;
}
@media (max-width: 767px) {
  .single-product .woocommerce-product-gallery .flex-control-thumbs {
    gap: 8px !important;
    margin-top: 8px !important;
  }
}


/* Isla Grey 5.4 — unified page rhythm, archive spacing and footer consistency. */
:root{
  --isla-page-x: clamp(24px, 5vw, 82px);
  --isla-page-top: clamp(42px, 5vw, 72px);
  --isla-section-gap: clamp(48px, 6vw, 88px);
}

/* Jeden rytm dla zwykłych stron i głównych widoków WooCommerce. */
.page-content,
.woocommerce-wrapper,
.isla-contact-page,
.isla-about-page{
  padding-left: var(--isla-page-x);
  padding-right: var(--isla-page-x);
}
body.woocommerce-cart .page-content,
body.woocommerce-checkout .page-content,
body.woocommerce-account .page-content,
body.page-template-template-wishlist .page-content{
  padding-top: var(--isla-page-top) !important;
}
body.woocommerce-cart .page-title,
body.woocommerce-checkout .page-title,
body.woocommerce-account .page-title,
body.page-template-template-wishlist .page-title,
.page-content > article > .page-title{
  margin: 0 0 clamp(38px,4vw,64px) !important;
}

/* Archiwa produktów: zwarty, identyczny układ na wszystkich kategoriach. */
body.post-type-archive-product .woocommerce-wrapper,
body.tax-product_cat .woocommerce-wrapper,
body.tax-product_tag .woocommerce-wrapper,
body.woocommerce-shop .woocommerce-wrapper{
  padding-top: var(--isla-page-top) !important;
}
body.post-type-archive-product .woocommerce-breadcrumb,
body.tax-product_cat .woocommerce-breadcrumb,
body.tax-product_tag .woocommerce-breadcrumb,
body.woocommerce-shop .woocommerce-breadcrumb{
  margin: 0 0 clamp(28px,3vw,42px) !important;
}
body.post-type-archive-product .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_tag .woocommerce-products-header,
body.woocommerce-shop .woocommerce-products-header{
  padding: 0 !important;
  margin: 0 0 clamp(34px,4vw,56px) !important;
}
body.post-type-archive-product .woocommerce-products-header__title,
body.tax-product_cat .woocommerce-products-header__title,
body.tax-product_tag .woocommerce-products-header__title,
body.woocommerce-shop .woocommerce-products-header__title{
  margin: 0 0 clamp(30px,3vw,44px) !important;
}
body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_tag .woocommerce-result-count,
body.woocommerce-shop .woocommerce-result-count{
  margin: 0 0 22px !important;
}
body.post-type-archive-product .woocommerce-ordering,
body.tax-product_cat .woocommerce-ordering,
body.tax-product_tag .woocommerce-ordering,
body.woocommerce-shop .woocommerce-ordering{
  margin-bottom: 30px !important;
}
body.post-type-archive-product ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products,
body.woocommerce-shop ul.products{
  clear: both;
  margin-top: 0 !important;
}

/* Nie dopuszczamy do powrotu domyślnego sidebaru/widgetów na archiwach sklepu. */
body.post-type-archive-product #secondary,
body.tax-product_cat #secondary,
body.tax-product_tag #secondary,
body.woocommerce-shop #secondary,
body.post-type-archive-product .widget-area,
body.tax-product_cat .widget-area,
body.tax-product_tag .widget-area,
body.woocommerce-shop .widget-area{
  display:none !important;
}

/* Stopka zawsze z pionowymi listami i bez rozpychania kolumn. */
.site-footer--premium .site-footer__main{align-items:start;}
.site-footer--premium .footer-menu{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:0 !important;
  width:100%;
}
.site-footer--premium .footer-menu > li{
  display:block !important;
  width:100%;
  margin:0 0 14px !important;
}
.site-footer--premium .footer-menu > li > a{
  display:inline-block;
  white-space:normal;
}

@media(max-width: 767px){
  :root{
    --isla-page-x:22px;
    --isla-page-top:34px;
    --isla-section-gap:52px;
  }
  .page-content,
  .woocommerce-wrapper,
  .isla-contact-page,
  .isla-about-page{
    padding-left:var(--isla-page-x) !important;
    padding-right:var(--isla-page-x) !important;
  }
  body.post-type-archive-product .woocommerce-wrapper,
  body.tax-product_cat .woocommerce-wrapper,
  body.tax-product_tag .woocommerce-wrapper,
  body.woocommerce-shop .woocommerce-wrapper{
    padding-top:30px !important;
  }
  body.post-type-archive-product .woocommerce-breadcrumb,
  body.tax-product_cat .woocommerce-breadcrumb,
  body.tax-product_tag .woocommerce-breadcrumb,
  body.woocommerce-shop .woocommerce-breadcrumb{
    margin-bottom:24px !important;
  }
  body.post-type-archive-product .woocommerce-products-header,
  body.tax-product_cat .woocommerce-products-header,
  body.tax-product_tag .woocommerce-products-header,
  body.woocommerce-shop .woocommerce-products-header{
    margin-bottom:28px !important;
  }
  body.post-type-archive-product .woocommerce-products-header__title,
  body.tax-product_cat .woocommerce-products-header__title,
  body.tax-product_tag .woocommerce-products-header__title,
  body.woocommerce-shop .woocommerce-products-header__title{
    margin-bottom:26px !important;
  }
  body.post-type-archive-product .woocommerce-result-count,
  body.tax-product_cat .woocommerce-result-count,
  body.tax-product_tag .woocommerce-result-count,
  body.woocommerce-shop .woocommerce-result-count{
    margin-bottom:16px !important;
  }
  body.post-type-archive-product .woocommerce-ordering,
  body.tax-product_cat .woocommerce-ordering,
  body.tax-product_tag .woocommerce-ordering,
  body.woocommerce-shop .woocommerce-ordering{
    margin-bottom:24px !important;
  }
  .site-footer--premium{padding-top:58px;}
  .site-footer--premium .site-footer__main{gap:34px !important;}
}

/* =========================================================
   ISLA 5.5 — neutralna paleta, pełnoekranowe menu bez scrolla
   ========================================================= */
:root{
  --isla-accent:#111111 !important;
  --isla-gold:#111111 !important;
}

/* Neutralizujemy brązowe akcenty w całym interfejsie. */
.isla-kicker,
.site-footer--premium h4,
.isla-cart-drawer__eyebrow,
.isla-contact-page .isla-kicker,
.isla-about-page .isla-kicker{color:#fff !important;}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
button:not(.mobile-nav-toggle):not(.header-icon-btn):not(.js-search-toggle):not(.js-cart-toggle):not(.site-nav__back):not(.search-overlay__back):not(.search-overlay__close),
.button,
.wp-element-button{
  background:#f6f6f6 !important;
  color:#111 !important;
  border-color:#f6f6f6 !important;
  transition:background-color .25s ease,color .25s ease,border-color .25s ease !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
button:not(.mobile-nav-toggle):not(.header-icon-btn):not(.js-search-toggle):not(.js-cart-toggle):not(.site-nav__back):not(.search-overlay__back):not(.search-overlay__close):hover,
.button:hover,
.wp-element-button:hover{
  background:#111 !important;
  color:#fff !important;
  border-color:#111 !important;
}

/* Ikony: białe tło, czarny rysunek; hover czarny. */
.header-icon-btn,
.product-wishlist-button,
.isla-wishlist-button,
.isla-footer-social{
  background:#fff !important;
  color:#111 !important;
  border-color:#d9d9d9 !important;
}
.header-icon-btn:hover,
.header-icon-btn:focus-visible,
.product-wishlist-button:hover,
.isla-wishlist-button:hover,
.isla-footer-social:hover,
.isla-footer-social:focus-visible{
  background:#111 !important;
  color:#fff !important;
  border-color:#111 !important;
}
.header-icon-btn svg,
.product-wishlist-button svg,
.isla-wishlist-button svg,
.isla-footer-social svg{stroke:currentColor !important;}

/* Hamburger: trzy identyczne, cienkie kreski 1px. */
.mobile-nav-toggle{
  gap:0 !important;
  width:46px !important;
  height:46px !important;
}
.mobile-nav-toggle span{
  width:28px !important;
  height:1px !important;
  min-height:1px !important;
  max-height:1px !important;
  border:0 !important;
  border-radius:0 !important;
  background:#111 !important;
  transform-origin:center !important;
}
.mobile-nav-toggle span:nth-child(1){top:15px !important;}
.mobile-nav-toggle span:nth-child(2){top:22px !important;}
.mobile-nav-toggle span:nth-child(3){top:29px !important;}
.mobile-nav-toggle[aria-expanded="true"] span:nth-child(1){top:22px !important;}
.mobile-nav-toggle[aria-expanded="true"] span:nth-child(3){top:22px !important;}

/* Menu zawsze mieści się w ekranie, bez wewnętrznego i zewnętrznego scrolla. */
html:has(body.nav-open){overflow:hidden !important;}
body.nav-open{overflow:hidden !important;overscroll-behavior:none !important;touch-action:none !important;}
.site-nav{
  width:100vw !important;
  height:100vh !important;
  height:100dvh !important;
  max-height:100dvh !important;
  overflow:hidden !important;
  overscroll-behavior:none !important;
  background:#f6f6f6 !important;
}
.site-nav__inner{
  box-sizing:border-box !important;
  width:min(100%,1100px) !important;
  height:100dvh !important;
  max-height:100dvh !important;
  min-height:0 !important;
  overflow:hidden !important;
  padding:clamp(26px,4vh,52px) 32px clamp(20px,3vh,34px) !important;
  display:grid !important;
  grid-template-rows:auto auto minmax(0,1fr) auto auto !important;
  align-content:stretch !important;
  justify-items:center !important;
  gap:clamp(8px,1.25vh,16px) !important;
}
.site-nav__back{
  position:static !important;
  justify-self:start !important;
  margin:0 !important;
  color:#777 !important;
}
.site-nav__eyebrow,
.site-nav__hint{margin:0 !important;color:#999 !important;}
.site-nav .nav-menu{
  min-height:0 !important;
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:clamp(0px,.35vh,4px) !important;
  margin:0 !important;
}
.site-nav .nav-menu > li > a{
  font-size:clamp(2rem,min(6.2vw,9vh),5.6rem) !important;
  line-height:.88 !important;
  padding:.02em .16em !important;
  color:#aaa !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}
.site-nav .nav-menu > li.current-menu-item > a,
.site-nav .nav-menu > li.current-menu-ancestor > a,
.site-nav .nav-menu > li > a:active,
.site-nav .nav-menu > li > a:focus{color:#aaa !important;border:0 !important;box-shadow:none !important;}
@media (hover:hover){
  .site-nav .nav-menu > li > a:hover,
  .site-nav .nav-menu > li > a:focus-visible{color:#111 !important;border:0 !important;transform:none !important;}
}
.site-nav__hint{font-size:clamp(.52rem,.9vh,.68rem) !important;}
.site-nav__socials{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:0;
}
.site-nav__socials a{
  width:38px;
  height:38px;
  border:1px solid #d6d6d6;
  border-radius:50%;
  background:#fff;
  color:#111;
  display:grid;
  place-items:center;
  transition:background .2s,color .2s,border-color .2s;
}
.site-nav__socials a:hover{background:#111;color:#fff;border-color:#111;}
.site-nav__socials svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;}
.site-nav__socials .fill{fill:currentColor;stroke:none;}

@media (max-height:760px) and (min-width:721px){
  .site-nav__inner{padding-top:18px !important;padding-bottom:16px !important;gap:6px !important;}
  .site-nav .nav-menu > li > a{font-size:clamp(2rem,7.5vh,4rem) !important;line-height:.86 !important;}
  .site-nav__socials a{width:32px;height:32px;}
  .site-nav__hint{font-size:.54rem !important;}
}
@media (max-width:720px){
  .site-nav__inner{padding:18px 22px 18px !important;gap:6px !important;}
  .site-nav .nav-menu > li > a{font-size:clamp(1.75rem,min(9vw,7.4vh),2.8rem) !important;line-height:.92 !important;}
  .site-nav__socials a{width:34px;height:34px;}
}

/* Stopka zgodna z nowym, szarym projektem. */
.site-footer--premium{
  background:#747474 !important;
  color:#fff !important;
}
.site-footer--premium .custom-logo{filter:brightness(0) invert(1) !important;}
.site-footer--premium .site-logo__text,
.site-footer--premium h4,
.site-footer--premium p,
.site-footer--premium a,
.site-footer--premium .footer-menu a,
.site-footer--premium .site-footer__contact a,
.site-footer--premium .site-footer__bottom,
.site-footer--premium .site-footer__bottom a{
  color:#fff !important;
}
.site-footer--premium p,
.site-footer--premium .footer-menu a,
.site-footer--premium .site-footer__contact a,
.site-footer--premium .site-footer__bottom{opacity:.92;}
.site-footer--premium .footer-menu a:hover,
.site-footer--premium .site-footer__contact a:hover,
.site-footer--premium .site-footer__bottom a:hover{opacity:1;text-decoration:underline;}
.site-footer--premium .newsletter-form{border-bottom-color:rgba(255,255,255,.8) !important;}
.site-footer--premium .newsletter-form input,
.site-footer--premium .newsletter-form button{color:#fff !important;background:transparent !important;}
.site-footer--premium .newsletter-form input::placeholder{color:rgba(255,255,255,.72) !important;}
.site-footer--premium .site-footer__bottom{border-top-color:rgba(255,255,255,.55) !important;}
.site-footer--premium .isla-footer-social{
  background:#fff !important;
  color:#111 !important;
  border-color:#fff !important;
}
.site-footer--premium .isla-footer-social:hover{background:#111 !important;color:#fff !important;border-color:#111 !important;}

/* Pozostałe brązowe stany aktywne zastąpione czernią. */
.isla-swatch.is-selected,
.isla-sticky-atc__variant.is-selected,
.woocommerce div.product form.cart .variations .isla-swatch.is-selected{
  background:#111 !important;
  border-color:#111 !important;
  color:#fff !important;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{color:#111 !important;}
.woocommerce-message,
.woocommerce-info{border-top-color:#111 !important;}


/* =========================================================
   ISLA GREY 5.6 — branding i typografia
   ========================================================= */
.site-header .site-logo img,
.site-header .custom-logo{
  max-height:58px !important;
  max-width:230px !important;
  width:auto !important;
}
.site-header .site-logo__text{
  font-family:var(--font-display) !important;
  font-size:2rem !important;
  letter-spacing:.055em !important;
}

/* Logo wewnątrz pełnoekranowego menu. */
.site-nav__logo{
  position:absolute;
  top:clamp(22px,3.2vh,42px);
  left:50%;
  transform:translateX(-50%);
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  width:min(290px,42vw);
  pointer-events:auto;
}
.site-nav__logo .custom-logo-link{display:flex;align-items:center;justify-content:center;}
.site-nav__logo .custom-logo{
  display:block;
  width:auto !important;
  max-width:100% !important;
  max-height:clamp(48px,7vh,78px) !important;
}
.site-nav__logo .site-logo__text{
  font-family:var(--font-display) !important;
  font-size:clamp(2.15rem,4vw,3.8rem) !important;
  letter-spacing:.06em;
  white-space:nowrap;
}

/* Nagłówki sekcji używają tej samej rodziny kroju co logotyp tekstowy. */
.section__title,
.bestsellers .section__title,
.new-arrivals .section__title{
  font-family:var(--font-display) !important;
  font-weight:500 !important;
  letter-spacing:.005em !important;
}

@media (max-width: 767px){
  .site-header .site-logo img,
  .site-header .custom-logo{max-height:42px !important;max-width:170px !important;}
  .site-header .site-logo__text{font-size:1.55rem !important;}
  .site-nav__logo{top:18px;width:min(220px,52vw);}
  .site-nav__logo .custom-logo{max-height:48px !important;}
  .site-nav__logo .site-logo__text{font-size:2.1rem !important;}
}


/* =========================================================
   ISLA GREY 5.7 — neutralna paleta i korekty stopki
   ========================================================= */
/* Wszystkie jasne, brzoskwiniowe powierzchnie zastępujemy neutralnym #f6f6f6. */
.usp-strip,
.checkout-login-card,
.checkout-coupon-card,
.woocommerce-checkout-review-order,
.cart_totals,
.woocommerce .woocommerce-form-login,
.woocommerce .checkout_coupon,
.isla-review-panel,
.isla-account-card,
.contact-form-panel,
.about-grid__media-placeholder{background:#f6f6f6 !important;}

/* Pasek benefitów: białe tło, czarne ikony i neutralne obramowanie. */
.usp-strip{background:#fff !important;border-top:1px solid #d9d9d9 !important;border-bottom:1px solid #d9d9d9 !important;}
.usp-item__icon{color:#111 !important;}
.usp-item__icon svg{stroke:currentColor !important;}
.usp-item__title{color:#111 !important;}
.usp-item__text{color:#666 !important;}

/* Liczniki w nagłówku: szare koła, po hoverze czarne. Bez czarnego tła całej ikony. */
.header-icon-btn,
.header-icon-btn:hover,
.header-icon-btn:focus-visible{background:transparent !important;color:#777 !important;border-color:transparent !important;}
.header-icon-btn:hover,
.header-icon-btn:focus-visible{color:#111 !important;}
.header-icon-btn .wishlist-count,
.header-icon-btn .cart-count{background:#aaa !important;color:#fff !important;border:0 !important;transition:background .2s ease,color .2s ease;}
.header-icon-btn:hover .wishlist-count,
.header-icon-btn:hover .cart-count,
.header-icon-btn:focus-visible .wishlist-count,
.header-icon-btn:focus-visible .cart-count{background:#111 !important;color:#fff !important;}

/* Social media znajdują się pod kontaktem, nie pod opisem marki. */
.site-footer__brand .isla-footer-socials{display:none !important;}
.site-footer__contact .isla-footer-socials{display:flex !important;gap:10px;margin-top:22px;align-items:center;}
.site-footer__contact .isla-footer-social{width:38px;height:38px;background:#fff !important;color:#111 !important;border:1px solid rgba(255,255,255,.7) !important;}
.site-footer__contact .isla-footer-social:hover{background:#111 !important;color:#fff !important;border-color:#111 !important;}

/* Neutralne aktywne elementy i obramowania. */
.checkout-toggle-card,
.woocommerce-form-coupon-toggle,
.woocommerce-form-login-toggle{background:#f6f6f6 !important;border-color:#d9d9d9 !important;}
.isla-toast,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{border-color:#d9d9d9 !important;}

@media (max-width: 900px){
  .site-footer__contact .isla-footer-socials{margin-top:18px;}
}

/* =========================================================
   ISLA GREY 5.8 — final neutral palette & menu/footer polish
   ========================================================= */

/* Logo nagłówka nie przebija przez pełnoekranowe menu. */
body.nav-open .site-header__bar .site-logo,
body.nav-open .site-header__bar .site-header__actions{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.site-nav__logo{display:none !important;}

/* Hamburger: dokładnie trzy identyczne linie 1px. */
.mobile-nav-toggle{
  position:relative !important;
  display:inline-flex !important;
  width:46px !important;
  height:46px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.mobile-nav-toggle span{
  position:absolute !important;
  left:9px !important;
  width:28px !important;
  height:1px !important;
  min-height:1px !important;
  max-height:1px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:#111 !important;
  box-shadow:none !important;
  transform-origin:50% 50% !important;
}
.mobile-nav-toggle span:nth-child(1){top:15px !important;}
.mobile-nav-toggle span:nth-child(2){top:22px !important;}
.mobile-nav-toggle span:nth-child(3){top:29px !important;}
.mobile-nav-toggle[aria-expanded="true"] span:nth-child(1){top:22px !important;transform:rotate(45deg) !important;}
.mobile-nav-toggle[aria-expanded="true"] span:nth-child(2){top:22px !important;opacity:0 !important;transform:scaleX(0) !important;}
.mobile-nav-toggle[aria-expanded="true"] span:nth-child(3){top:22px !important;transform:rotate(-45deg) !important;}

/* Kolekcja Len na banerze: bez brązu. */
.feature-banner .section__eyebrow{
  color:#fff !important;
}

/* Social media wracają pod opis marki. */
.site-footer__brand .isla-footer-socials{
  display:flex !important;
  gap:12px !important;
  margin-top:28px !important;
  align-items:center !important;
}
.site-footer__contact .isla-footer-socials{display:none !important;}
.site-footer--premium .isla-footer-social{
  width:44px !important;
  height:44px !important;
  flex:0 0 44px !important;
  display:grid !important;
  place-items:center !important;
  background:transparent !important;
  color:#111 !important;
  border:1px solid #d6d6d6 !important;
  border-radius:50% !important;
  opacity:1 !important;
}
.site-footer--premium .isla-footer-social svg{
  width:18px !important;
  height:18px !important;
  display:block !important;
  stroke:currentColor !important;
  fill:none !important;
}
.site-footer--premium .isla-footer-social .isla-social-fill{
  fill:currentColor !important;
  stroke:none !important;
}
.site-footer--premium .isla-footer-social:hover,
.site-footer--premium .isla-footer-social:focus-visible{
  background:#111 !important;
  color:#fff !important;
  border-color:#111 !important;
}

/* Wszystkie dawne brzoskwiniowe / brązowe ramki i akcenty neutralne. */
:root{
  --isla-accent:#111 !important;
  --isla-gold:#111 !important;
}
.isla-kicker,
.isla-contact-page .isla-kicker,
.isla-about-page .isla-kicker{
  color:#111 !important;
}
.checkout-login-card,
.checkout-coupon-card,
.checkout-toggle-card,
.woocommerce-form-coupon-toggle,
.woocommerce-form-login-toggle,
.woocommerce .checkout_coupon,
.woocommerce .woocommerce-form-login,
.woocommerce-checkout-review-order,
.cart_totals,
.isla-review-panel,
.isla-account-card,
.contact-form-panel,
.isla-toast,
.isla-toast-stack .woocommerce-message,
.isla-toast-stack .woocommerce-info,
.isla-toast-stack .woocommerce-error{
  background:#f6f6f6 !important;
  border-color:#d6d6d6 !important;
}
.checkout-login-card::before,
.checkout-coupon-card::before,
.checkout-toggle-card::before,
.woocommerce-form-coupon-toggle::before,
.woocommerce-form-login-toggle::before,
.isla-toast::before,
.isla-toast-stack .woocommerce-message::before,
.isla-toast-stack .woocommerce-info::before,
.isla-toast-stack .woocommerce-error::before{
  color:#666 !important;
  border-color:#111 !important;
}
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  border-top-color:#d6d6d6 !important;
}

/* Przyciski neutralne; hover czarny. */
button:not(.mobile-nav-toggle):not(.header-icon-btn):not(.js-search-toggle):not(.js-cart-toggle):not(.site-nav__back):not(.search-overlay__back):not(.search-overlay__close),
.button,
.btn,
input[type="submit"]{
  background:#f6f6f6 !important;
  color:#111 !important;
  border-color:#111 !important;
}
button:not(.mobile-nav-toggle):not(.header-icon-btn):not(.js-search-toggle):not(.js-cart-toggle):not(.site-nav__back):not(.search-overlay__back):not(.search-overlay__close):hover,
.button:hover,
.btn:hover,
input[type="submit"]:hover{
  background:#111 !important;
  color:#fff !important;
  border-color:#111 !important;
}

@media (max-width:900px){
  .site-footer__brand .isla-footer-socials{margin-top:22px !important;}
}

/* =========================================================
   ISLA GREY 5.8.1 — footer social icons visibility fix
   ========================================================= */
.site-footer--premium .isla-footer-social{
  background:transparent !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.72) !important;
}
.site-footer--premium .isla-footer-social svg{
  color:#fff !important;
  stroke:#fff !important;
}
.site-footer--premium .isla-footer-social .isla-social-fill{
  fill:#fff !important;
  stroke:none !important;
}
.site-footer--premium .isla-footer-social:hover,
.site-footer--premium .isla-footer-social:focus-visible{
  background:#fff !important;
  color:#111 !important;
  border-color:#fff !important;
}
.site-footer--premium .isla-footer-social:hover svg,
.site-footer--premium .isla-footer-social:focus-visible svg{
  color:#111 !important;
  stroke:#111 !important;
}
.site-footer--premium .isla-footer-social:hover .isla-social-fill,
.site-footer--premium .isla-footer-social:focus-visible .isla-social-fill{
  fill:#111 !important;
  stroke:none !important;
}

/* =========================================================
   ISLA GREY 5.8.2 — neutral polish corrections
   ========================================================= */

/* Pełnoekranowe menu: zwykły nagłówek znika całkowicie. */
body.nav-open .site-header__bar,
body.nav-open .site-header__bar .site-logo,
body.nav-open .site-header__bar .site-header__actions{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Hamburger: trzy identyczne, cienkie kreski 1 px. */
.mobile-nav-toggle span{
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  background:transparent !important;
  border:0 !important;
  border-top:1px solid #111 !important;
  box-shadow:none !important;
}
.mobile-nav-toggle[aria-expanded="true"] span:nth-child(1),
.mobile-nav-toggle[aria-expanded="true"] span:nth-child(3){
  border-top-width:1px !important;
}

/* Stopka: sociale ponownie pod opisem marki, białe na szarym tle. */
.site-footer__brand .isla-footer-socials{
  display:flex !important;
  gap:12px !important;
  margin-top:28px !important;
}
.site-footer__contact .isla-footer-socials{display:none !important;}
.site-footer--premium .isla-footer-social{
  background:transparent !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.72) !important;
}
.site-footer--premium .isla-footer-social svg{
  color:#fff !important;
  stroke:#fff !important;
  fill:none !important;
}
.site-footer--premium .isla-footer-social .isla-social-fill{
  fill:#fff !important;
  stroke:none !important;
}
.site-footer--premium .isla-footer-social:hover,
.site-footer--premium .isla-footer-social:focus-visible{
  background:#fff !important;
  color:#111 !important;
  border-color:#fff !important;
}
.site-footer--premium .isla-footer-social:hover svg,
.site-footer--premium .isla-footer-social:focus-visible svg{
  color:#111 !important;
  stroke:#111 !important;
}
.site-footer--premium .isla-footer-social:hover .isla-social-fill,
.site-footer--premium .isla-footer-social:focus-visible .isla-social-fill{
  fill:#111 !important;
}

/* Baner Pure Linen: tekst pomocniczy biały, bez brązu. */
.feature-banner .section__eyebrow,
.feature-banner__content .section__eyebrow,
.feature-banner__eyebrow{
  color:#fff !important;
}

/* Neutralizacja dawnych brązowych/brzoskwiniowych akcentów. */
:root{
  --isla-accent:#111 !important;
  --isla-gold:#111 !important;
  --isla-line:#d9d9d9 !important;
}

.checkout-login-card,
.checkout-coupon-card,
.checkout-toggle-card,
.woocommerce-form-coupon-toggle,
.woocommerce-form-login-toggle,
.woocommerce .checkout_coupon,
.woocommerce .woocommerce-form-login,
.woocommerce-checkout-review-order,
.cart_totals,
.isla-review-panel,
.isla-account-card,
.contact-form-panel,
.isla-toast,
.isla-toast-stack .woocommerce-message,
.isla-toast-stack .woocommerce-info,
.isla-toast-stack .woocommerce-error,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  background:#f6f6f6 !important;
  border-color:#d9d9d9 !important;
}

.checkout-login-card::before,
.checkout-coupon-card::before,
.checkout-toggle-card::before,
.woocommerce-form-coupon-toggle::before,
.woocommerce-form-login-toggle::before,
.isla-toast::before,
.isla-toast-stack .woocommerce-message::before,
.isla-toast-stack .woocommerce-info::before,
.isla-toast-stack .woocommerce-error::before,
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{
  color:#666 !important;
  border-color:#111 !important;
}

/* Okrągłe ikonki i obramowania w checkout / kuponach. */
.checkout-toggle-card__icon,
.checkout-login-card__icon,
.checkout-coupon-card__icon,
.woocommerce-form-coupon-toggle::before,
.woocommerce-form-login-toggle::before{
  color:#111 !important;
  border-color:#111 !important;
  background:transparent !important;
}

/* Pola, swatche, miniatury i delikatne linie – neutralny szary/czarny. */
.isla-swatch,
.woocommerce div.product form.cart .variations .isla-swatch,
.woocommerce-product-gallery .flex-control-thumbs img,
.checkout-login-card,
.checkout-coupon-card,
.checkout-toggle-card{
  border-color:#d9d9d9 !important;
}
.isla-swatch:hover,
.woocommerce div.product form.cart .variations .isla-swatch:hover,
.woocommerce-product-gallery .flex-control-thumbs img:hover,
.woocommerce-product-gallery .flex-control-thumbs img.flex-active{
  border-color:#111 !important;
}

/* Przyciski: #f6f6f6, po hoverze czarne. */
.button,
.btn,
input[type="submit"],
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button{
  background:#f6f6f6 !important;
  color:#111 !important;
  border-color:#111 !important;
}
.button:hover,
.btn:hover,
input[type="submit"]:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover{
  background:#111 !important;
  color:#fff !important;
  border-color:#111 !important;
}

/* =========================================================
   ISLA GREY 6.0 — PRODUCT PAGE
   Editorial two-column gallery + sticky information panel.
   ========================================================= */
.single-product .woocommerce-wrapper.container{max-width:1920px;padding-left:20px;padding-right:20px}
.single-product .woocommerce-breadcrumb{max-width:1600px;margin:28px auto 26px;padding:0 10px;color:#777;font-size:12px}
.isla-v6-product{margin:0!important}
.isla-v6-product>.woocommerce-product-gallery,
.isla-v6-product>.summary{display:none!important}
.isla-v6-product__layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(340px,.72fr);gap:clamp(32px,4vw,72px);align-items:start;max-width:1880px;margin:0 auto}
.isla-v6-gallery__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.isla-v6-gallery__item{display:block;overflow:hidden;background:#f6f6f6;position:relative;min-width:0}
.isla-v6-gallery__image{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.isla-v6-gallery__item:hover .isla-v6-gallery__image{transform:scale(1.015)}
.isla-v6-gallery__counter{display:none}
.isla-v6-product__summary{padding:14px 8px 24px 0;min-width:0}
.isla-v6-product__heading .product_title{font-family:"Cormorant Garamond",serif;font-size:clamp(34px,3vw,54px);font-weight:500;line-height:1.02;letter-spacing:-.02em;margin:0 0 15px;color:#111}
.isla-v6-product__heading .price{display:block;margin:0 0 22px;font-size:18px;color:#111;font-weight:400}
.isla-v6-product__heading .woocommerce-product-rating{margin:0 0 15px}
.isla-v6-product__lead{font-size:14px;line-height:1.75;color:#444;margin:0 0 28px;max-width:56ch}
.isla-v6-product__buy{border-top:1px solid #dedede;padding-top:25px}
.isla-v6-product__buy form.cart{margin:0!important}
.isla-v6-product__buy table.variations{margin:0 0 24px!important;width:100%}
.isla-v6-product__buy table.variations th,.isla-v6-product__buy table.variations td{display:block;padding:0!important;text-align:left}
.isla-v6-product__buy table.variations label{display:block;margin:0 0 12px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:500}
.isla-v6-product__buy .isla-variation-swatches{gap:8px;margin:0 0 10px}
.isla-v6-product__buy .isla-swatch{width:46px!important;height:46px!important;min-width:46px!important;padding:0!important;border:1px solid #bbb!important;background:#fff!important}
.isla-v6-product__buy .isla-swatch:hover,.isla-v6-product__buy .isla-swatch.is-selected{background:#111!important;color:#fff!important;border-color:#111!important}
.isla-v6-product__buy .single_variation_wrap .woocommerce-variation-price{margin:0 0 14px}
.isla-v6-product__buy .woocommerce-variation-add-to-cart,
.isla-v6-product__buy .cart:not(.variations_form){display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:stretch}
.isla-v6-product__buy .quantity{display:flex!important;height:52px;border:1px solid #cfcfcf;background:#fff}
.isla-v6-product__buy .quantity input.qty{height:50px!important;width:48px!important;border:0!important;background:#fff!important;text-align:center}
.isla-v6-product__buy .quantity .isla-qty-btn{width:40px!important;height:50px!important;background:#fff!important;color:#111!important;border:0!important}
.isla-v6-product__buy .single_add_to_cart_button{height:52px!important;width:100%!important;margin:0!important;background:#111!important;color:#fff!important;border:1px solid #111!important;text-transform:uppercase;letter-spacing:.11em;font-size:11px}
.isla-v6-product__buy .single_add_to_cart_button:hover{background:#f6f6f6!important;color:#111!important}
.isla-v6-product__summary .isla-single-wishlist{margin:22px 0 0!important;padding:20px 0!important;border-top:1px solid #dedede!important;border-bottom:0!important;min-height:0!important}
.isla-v6-benefits{border-top:1px solid #dedede;margin-top:0;padding:16px 0}
.isla-v6-benefit{display:flex;align-items:center;gap:12px;padding:8px 0;color:#222}
.isla-v6-benefit>span{display:grid;place-items:center;width:22px;height:22px;border:1px solid #bbb;border-radius:50%;font-size:11px;flex:0 0 auto}
.isla-v6-benefit p{margin:0;font-size:12px;line-height:1.45}
.isla-v6-accordion{border-top:1px solid #cfcfcf}
.isla-v6-accordion__item{border-bottom:1px solid #cfcfcf}
.isla-v6-accordion__toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;background:transparent!important;color:#111!important;border:0!important;text-align:left;text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:500;cursor:pointer}
.isla-v6-accordion__icon{position:relative;width:16px;height:16px;flex:0 0 16px}
.isla-v6-accordion__icon:before,.isla-v6-accordion__icon:after{content:"";position:absolute;left:2px;top:7px;width:12px;height:1px;background:#111;transition:transform .25s ease}
.isla-v6-accordion__icon:after{transform:rotate(90deg)}
.isla-v6-accordion__item.is-open .isla-v6-accordion__icon:after{transform:rotate(0)}
.isla-v6-accordion__panel{overflow:hidden}
.isla-v6-accordion__content{padding:0 0 24px;font-size:13px;line-height:1.75;color:#444}
.isla-v6-accordion__content h2,.isla-v6-accordion__content h3{font-family:"Cormorant Garamond",serif;color:#111;font-weight:500}
.isla-v6-accordion__content p:first-child{margin-top:0}
.isla-v6-accordion__content table{font-size:12px;border:0}
.isla-v6-accordion__content table th,.isla-v6-accordion__content table td{padding:9px 0;border-bottom:1px solid #e2e2e2;background:transparent}
.isla-v6-meta{margin:20px 0 0}
.isla-v6-meta>div{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:9px 0;border-bottom:1px solid #e8e8e8}
.isla-v6-meta dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#777}
.isla-v6-meta dd{margin:0;color:#222}
.isla-v6-reviews #reviews{padding:0!important;margin:0!important;background:transparent!important}
.isla-v6-reviews #review_form_wrapper{padding:0!important}
.isla-v6-product>.woocommerce-tabs{display:none!important}
.isla-v6-product>.related,.isla-v6-product>.upsells{max-width:1600px;margin:110px auto 0!important;padding:0 10px}
.isla-v6-lightbox{position:fixed;inset:0;z-index:100000;background:rgba(255,255,255,.98);display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}
.isla-v6-lightbox.is-open{opacity:1;visibility:visible}
.isla-v6-lightbox__image{max-width:min(88vw,1100px);max-height:90vh;width:auto;height:auto;object-fit:contain}
.isla-v6-lightbox__close,.isla-v6-lightbox__nav{position:absolute;background:transparent!important;color:#111!important;border:0!important;font-weight:300;cursor:pointer}
.isla-v6-lightbox__close{top:22px;right:28px;font-size:40px;line-height:1}
.isla-v6-lightbox__nav{top:50%;transform:translateY(-50%);font-size:30px;padding:20px}
.isla-v6-lightbox__prev{left:18px}.isla-v6-lightbox__next{right:18px}
body.isla-lightbox-open{overflow:hidden!important}

@media(max-width:1200px){
 .isla-v6-product__layout{grid-template-columns:minmax(0,1.5fr) minmax(330px,.8fr);gap:30px}
 .isla-v6-product__summary{padding-right:0}
}
@media(max-width:991px){
 .single-product .woocommerce-wrapper.container{padding-left:16px;padding-right:16px}
 .isla-v6-product__layout{display:block}
 .isla-v6-gallery{margin:0 -16px 32px}
 .isla-v6-gallery__grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;scrollbar-width:none}
 .isla-v6-gallery__grid::-webkit-scrollbar{display:none}
 .isla-v6-gallery__item{flex:0 0 100%;scroll-snap-align:start}
 .isla-v6-gallery__image{aspect-ratio:4/5}
 .isla-v6-gallery__counter{display:block;text-align:center;font-size:11px;margin-top:10px;color:#666}
 .isla-v6-product__summary{padding:0}
 .isla-v6-product__heading .product_title{font-size:40px}
 .isla-v6-product>.related,.isla-v6-product>.upsells{margin-top:75px!important;padding:0}
}
@media(max-width:600px){
 .single-product .woocommerce-breadcrumb{margin:18px auto 18px;padding:0}
 .isla-v6-product__heading .product_title{font-size:34px}
 .isla-v6-product__buy .woocommerce-variation-add-to-cart,.isla-v6-product__buy .cart:not(.variations_form){grid-template-columns:122px minmax(0,1fr)}
 .isla-v6-product__buy .quantity{width:122px}
 .isla-v6-product__buy .quantity input.qty{width:42px!important}
 .isla-v6-lightbox__nav{display:none}
 .isla-v6-lightbox__image{max-width:100vw;max-height:88vh}
}

/* =========================================================
   ISLA GREY 6.1 — PRODUCT LAYOUT & REVIEW POLISH
   ========================================================= */
body.single-product .site-main,
body.single-product .woocommerce-wrapper,
body.single-product .woocommerce-wrapper.container,
body.single-product .site-main > .woocommerce {
  width: 100% !important;
  max-width: none !important;
}
body.single-product .woocommerce-wrapper.container {
  padding-inline: clamp(20px, 3.1vw, 64px) !important;
}
body.single-product .woocommerce-breadcrumb {
  width: min(100%, 1800px);
  max-width: 1800px !important;
  margin: 32px auto 28px !important;
  padding: 0 !important;
}
.isla-v6-product__layout {
  width: min(100%, 1800px);
  max-width: 1800px !important;
  grid-template-columns: minmax(0, 1.52fr) minmax(390px, .88fr) !important;
  gap: clamp(44px, 4.6vw, 88px) !important;
  margin-inline: auto !important;
}
.isla-v6-gallery__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
.isla-v6-gallery__item {
  width: 100%;
  min-height: 0;
}
.isla-v6-gallery__image {
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: cover !important;
}
.isla-v6-product__summary {
  width: 100%;
  max-width: 560px;
  padding: 8px 0 44px !important;
  justify-self: start;
}
.isla-v6-product__heading .product_title {
  font-size: clamp(46px, 4.2vw, 76px) !important;
  line-height: .98 !important;
  margin-bottom: 22px !important;
}
.isla-v6-product__heading .price {
  margin-bottom: 26px !important;
}
.isla-v6-product__lead {
  font-size: 15px !important;
  line-height: 1.75 !important;
  margin-bottom: 32px !important;
}

/* Accordion 6.1 */
.isla-v6-accordion {
  border-top: 0 !important;
  margin-top: 14px;
  display: grid;
  gap: 10px;
}
.isla-v6-accordion__item {
  border: 1px solid #e3e3e3 !important;
  background: #fff;
}
.isla-v6-accordion__toggle {
  min-height: 68px;
  padding: 20px 28px !important;
  background: #f6f6f6 !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.25;
  letter-spacing: .16em !important;
}
.isla-v6-accordion__toggle:hover {
  background: #efefef !important;
}
.isla-v6-accordion__content {
  padding: 26px 28px 30px !important;
  font-family: inherit;
  font-size: 15px !important;
  line-height: 1.75 !important;
  color: #555 !important;
}
.isla-v6-accordion__content p {
  margin: 0 0 16px;
}
.isla-v6-accordion__content p:last-child { margin-bottom: 0; }
.isla-v6-accordion__content table {
  width: 100%;
  font-size: 14px !important;
  border-collapse: collapse;
}
.isla-v6-accordion__content table th,
.isla-v6-accordion__content table td {
  padding: 15px 0 !important;
  vertical-align: top;
}
.isla-v6-accordion__content table th {
  width: 34%;
  font-weight: 600;
  color: #555;
}
.isla-v6-meta {
  margin-top: 16px !important;
}
.isla-v6-meta > div {
  grid-template-columns: minmax(110px, 34%) 1fr !important;
  gap: 20px !important;
  padding: 15px 0 !important;
}
.isla-v6-meta dt {
  font-size: 12px !important;
  letter-spacing: .12em !important;
}
.isla-v6-meta dd {
  font-size: 14px;
  line-height: 1.65;
}

/* Reviews 6.1 */
.isla-v6-reviews #reviews,
.isla-v6-reviews #comments,
.isla-v6-reviews #review_form_wrapper,
.isla-v6-reviews #review_form,
.isla-v6-reviews #respond {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.isla-v6-reviews #comments > h2,
.isla-v6-reviews .woocommerce-Reviews-title {
  font-family: "Cormorant Garamond", serif !important;
  font-size: clamp(34px, 3vw, 48px) !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
  margin: 0 0 22px !important;
}
.isla-v6-reviews .woocommerce-noreviews {
  font-size: 15px !important;
  margin-bottom: 28px !important;
}
.isla-v6-reviews #reply-title,
.isla-v6-reviews .comment-reply-title {
  display: block;
  font-family: "Cormorant Garamond", serif !important;
  font-size: clamp(30px, 2.4vw, 40px) !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  margin: 0 0 26px !important;
  max-width: 18ch;
}
.isla-v6-reviews .comment-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 18px;
}
.isla-v6-reviews .comment-form > p {
  margin: 0 !important;
}
.isla-v6-reviews .comment-form-rating,
.isla-v6-reviews .comment-form-comment,
.isla-v6-reviews .comment-form-cookies-consent,
.isla-v6-reviews .form-submit,
.isla-v6-reviews .comment-notes {
  grid-column: 1 / -1;
}
.isla-v6-reviews label {
  display: block;
  margin-bottom: 9px;
  font-size: 12px !important;
  font-weight: 500;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: #222;
}
.isla-v6-reviews textarea,
.isla-v6-reviews input[type="text"],
.isla-v6-reviews input[type="email"] {
  width: 100% !important;
  border: 1px solid #d8d8d8 !important;
  background: #fff !important;
  padding: 15px 16px !important;
  border-radius: 0 !important;
  font: inherit;
  color: #111;
  outline: none;
}
.isla-v6-reviews textarea {
  min-height: 180px !important;
  resize: vertical;
}
.isla-v6-reviews textarea:focus,
.isla-v6-reviews input[type="text"]:focus,
.isla-v6-reviews input[type="email"]:focus {
  border-color: #111 !important;
  box-shadow: none !important;
}
.isla-v6-reviews .stars {
  margin: 0 !important;
  line-height: 1;
}
.isla-v6-reviews .stars a {
  width: 34px !important;
  height: 34px !important;
  font-size: 30px !important;
  color: #a9a9a9 !important;
  transition: color .2s ease, transform .2s ease;
}
.isla-v6-reviews .stars a:hover,
.isla-v6-reviews .stars a.active,
.isla-v6-reviews .stars.selected a {
  color: #111 !important;
  transform: translateY(-1px);
}
.isla-v6-reviews .comment-form-cookies-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.isla-v6-reviews .comment-form-cookies-consent label {
  margin: 0;
  text-transform: none;
  letter-spacing: 0;
  font-size: 13px !important;
  line-height: 1.5;
  color: #555;
}
.isla-v6-reviews .form-submit input[type="submit"] {
  width: 100% !important;
  min-height: 56px;
  background: #f6f6f6 !important;
  border: 1px solid #d8d8d8 !important;
  color: #111 !important;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 12px;
  transition: .25s ease;
}
.isla-v6-reviews .form-submit input[type="submit"]:hover {
  background: #111 !important;
  border-color: #111 !important;
  color: #fff !important;
}

@media (min-width: 1600px) {
  .isla-v6-product__layout {
    grid-template-columns: minmax(0, 1.62fr) minmax(430px, .78fr) !important;
  }
}
@media (min-width: 992px) and (max-width: 1280px) {
  body.single-product .woocommerce-wrapper.container {
    padding-inline: 24px !important;
  }
  .isla-v6-product__layout {
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr) !important;
    gap: 34px !important;
  }
  .isla-v6-product__summary {
    max-width: 500px;
  }
  .isla-v6-product__heading .product_title {
    font-size: clamp(44px, 5vw, 62px) !important;
  }
}
@media (max-width: 991px) {
  body.single-product .woocommerce-wrapper.container {
    padding-inline: 20px !important;
  }
  .isla-v6-product__layout {
    width: 100%;
    display: block !important;
  }
  .isla-v6-gallery {
    margin-inline: -20px !important;
  }
  .isla-v6-product__summary {
    max-width: none;
    padding-top: 8px !important;
  }
  .isla-v6-accordion__toggle {
    min-height: 62px;
    padding: 18px 20px !important;
  }
  .isla-v6-accordion__content {
    padding: 22px 20px 26px !important;
  }
}
@media (max-width: 600px) {
  .isla-v6-product__heading .product_title {
    font-size: 42px !important;
  }
  .isla-v6-reviews .comment-form {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .isla-v6-reviews .comment-form > p {
    grid-column: 1 !important;
  }
  .isla-v6-reviews #reply-title,
  .isla-v6-reviews .comment-reply-title {
    font-size: 32px !important;
    max-width: none;
  }
  .isla-v6-accordion__toggle {
    font-size: 11px !important;
    letter-spacing: .13em !important;
  }
  .isla-v6-accordion__content {
    font-size: 14px !important;
  }
}

/* =========================================================
   ISLA GREY 6.2 — FULL WIDTH PRODUCT PAGE
   ========================================================= */
body.single-product .site-main,
body.single-product .site-main > article,
body.single-product .site-main > .woocommerce,
body.single-product .woocommerce-wrapper,
body.single-product .woocommerce-wrapper.container,
body.single-product .woocommerce div.product,
body.single-product .isla-v6-product {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.single-product .woocommerce-wrapper.container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.single-product .woocommerce-breadcrumb {
  width: auto !important;
  max-width: none !important;
  margin: 30px 0 26px !important;
  padding: 0 clamp(18px, 1.6vw, 32px) !important;
}

body.single-product .isla-v6-product__layout {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 clamp(18px, 1.25vw, 26px) clamp(70px, 7vw, 120px) !important;
  grid-template-columns: minmax(0, 2fr) minmax(410px, .88fr) !important;
  gap: clamp(34px, 3vw, 58px) !important;
  align-items: start !important;
}

body.single-product .isla-v6-gallery,
body.single-product .isla-v6-gallery__grid {
  width: 100% !important;
  max-width: none !important;
}

body.single-product .isla-v6-gallery__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

body.single-product .isla-v6-gallery__item {
  width: 100% !important;
  min-width: 0 !important;
}

body.single-product .isla-v6-gallery__image {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: cover !important;
}

body.single-product .isla-v6-product__summary {
  width: 100% !important;
  max-width: 560px !important;
  justify-self: stretch !important;
  padding: 8px clamp(6px, .7vw, 14px) 40px 0 !important;
}

@media (min-width: 1600px) {
  body.single-product .isla-v6-product__layout {
    grid-template-columns: minmax(0, 2.15fr) minmax(440px, .82fr) !important;
  }
}

@media (min-width: 992px) and (max-width: 1365px) {
  body.single-product .isla-v6-product__layout {
    padding-inline: 18px !important;
    grid-template-columns: minmax(0, 1.5fr) minmax(360px, .9fr) !important;
    gap: 28px !important;
  }
  body.single-product .isla-v6-product__summary {
    max-width: 500px !important;
  }
}

@media (max-width: 991px) {
  body.single-product .woocommerce-breadcrumb {
    padding-inline: 20px !important;
  }
  body.single-product .isla-v6-product__layout {
    display: block !important;
    padding: 0 20px 80px !important;
  }
  body.single-product .isla-v6-gallery {
    width: calc(100% + 40px) !important;
    margin-left: -20px !important;
    margin-right: -20px !important;
  }
  body.single-product .isla-v6-product__summary {
    max-width: none !important;
    padding: 12px 0 36px !important;
  }
}

/* =========================================================
   ISLA GREY 6.3 — rzeczywisty full-bleed produktu
   ========================================================= */
body.single-product main.woocommerce-wrapper.container {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow: visible !important;
}
body.single-product main.woocommerce-wrapper.container > .woocommerce-breadcrumb {
  width: 100% !important;
  box-sizing: border-box !important;
  padding-left: clamp(20px, 2vw, 38px) !important;
  padding-right: clamp(20px, 2vw, 38px) !important;
}
body.single-product main.woocommerce-wrapper.container .isla-v6-product,
body.single-product main.woocommerce-wrapper.container .isla-v6-product__layout {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}
body.single-product main.woocommerce-wrapper.container .isla-v6-product__layout {
  display: grid !important;
  grid-template-columns: minmax(0, 68%) minmax(360px, 32%) !important;
  gap: 0 !important;
  padding: 0 0 clamp(80px, 7vw, 130px) !important;
  align-items: start !important;
}
body.single-product .isla-v6-gallery {
  width: 100% !important;
  padding-left: clamp(14px, 1.2vw, 24px) !important;
  padding-right: 12px !important;
  box-sizing: border-box !important;
}
body.single-product .isla-v6-gallery__grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 12px !important;
}
body.single-product .isla-v6-gallery__item,
body.single-product .isla-v6-gallery__image {
  width: 100% !important;
  max-width: none !important;
}
body.single-product .isla-v6-gallery__image {
  aspect-ratio: 4 / 5 !important;
  object-fit: cover !important;
}
body.single-product .isla-v6-product__summary {
  width: 100% !important;
  max-width: none !important;
  padding: clamp(24px, 3vw, 58px) clamp(30px, 4vw, 76px) 48px clamp(28px, 3vw, 56px) !important;
  box-sizing: border-box !important;
  position: sticky !important;
  top: 92px !important;
  align-self: start !important;
}
body.admin-bar.single-product .isla-v6-product__summary { top: 124px !important; }
body.single-product .isla-v6-product > .related,
body.single-product .isla-v6-product > .upsells {
  width: min(100% - 48px, 1600px) !important;
  max-width: 1600px !important;
  margin: 100px auto 0 !important;
}
@media (max-width: 1279px) and (min-width: 992px) {
  body.single-product main.woocommerce-wrapper.container .isla-v6-product__layout {
    grid-template-columns: minmax(0, 60%) minmax(360px, 40%) !important;
  }
  body.single-product .isla-v6-product__summary {
    padding: 28px 30px 42px !important;
  }
}
@media (max-width: 991px) {
  body.single-product main.woocommerce-wrapper.container {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  body.single-product main.woocommerce-wrapper.container .isla-v6-product__layout {
    display: block !important;
    padding-bottom: 80px !important;
  }
  body.single-product .isla-v6-gallery {
    padding: 0 !important;
  }
  body.single-product .isla-v6-product__summary,
  body.admin-bar.single-product .isla-v6-product__summary {
    position: static !important;
    top: auto !important;
    padding: 30px 22px 40px !important;
  }
}

/* =========================================================
   ISLA GREY 6.4 — FINAL PRODUCT WIDTH 60/40
   ========================================================= */
@media (min-width: 992px) {
  body.single-product main.woocommerce-wrapper.container,
  body.single-product main.woocommerce-wrapper.container > .isla-v6-product,
  body.single-product main.woocommerce-wrapper.container .isla-v6-product__layout {
    width: 100vw !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
  }

  body.single-product main.woocommerce-wrapper.container {
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 0 !important;
  }

  body.single-product main.woocommerce-wrapper.container .isla-v6-product__layout {
    display: grid !important;
    grid-template-columns: minmax(0, 3fr) minmax(360px, 2fr) !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 0 clamp(80px, 7vw, 130px) !important;
    align-items: start !important;
  }

  body.single-product .isla-v6-gallery {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 6px 0 clamp(12px, 1vw, 20px) !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  body.single-product .isla-v6-gallery__grid {
    width: 100% !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body.single-product .isla-v6-gallery__item,
  body.single-product .isla-v6-gallery__image {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  body.single-product .isla-v6-product__summary {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    justify-self: stretch !important;
    padding: clamp(28px, 3.2vw, 62px) clamp(28px, 4vw, 72px) 52px clamp(28px, 3vw, 56px) !important;
    box-sizing: border-box !important;
    position: sticky !important;
    top: 92px !important;
  }

  body.admin-bar.single-product .isla-v6-product__summary {
    top: 124px !important;
  }

  body.single-product main.woocommerce-wrapper.container > .woocommerce-breadcrumb {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 30px clamp(16px, 1.4vw, 28px) 26px !important;
  }
}

@media (min-width: 992px) and (max-width: 1180px) {
  body.single-product main.woocommerce-wrapper.container .isla-v6-product__layout {
    grid-template-columns: minmax(0, 58fr) minmax(350px, 42fr) !important;
  }
  body.single-product .isla-v6-product__summary {
    padding: 26px 28px 44px !important;
  }
}

/* =========================================================
   ISLA GREY 6.4.1 — RELATED PRODUCTS SPACING FIX
   ========================================================= */
body.single-product main.woocommerce-wrapper.container .isla-v6-product__layout {
  padding-bottom: 32px !important;
}

body.single-product .isla-v6-product > .related,
body.single-product .isla-v6-product > section.related,
body.single-product .isla-v6-product > .upsells {
  margin-top: 38px !important;
  padding-top: 0 !important;
}

body.single-product .related.products > h2,
body.single-product .upsells.products > h2 {
  margin-top: 0 !important;
  margin-bottom: 34px !important;
}

body.single-product .related ul.products,
body.single-product .upsells ul.products {
  align-items: start !important;
  row-gap: 44px !important;
}

body.single-product .related ul.products li.product,
body.single-product .upsells ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  overflow: visible !important;
  padding-bottom: 18px !important;
}

body.single-product .related ul.products li.product .button,
body.single-product .upsells ul.products li.product .button {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  width: 100% !important;
  min-height: 52px !important;
  margin: 20px 0 0 !important;
  box-sizing: border-box !important;
  z-index: 1 !important;
}

body.single-product .related ul.products li.product .price,
body.single-product .upsells ul.products li.product .price {
  margin-bottom: 0 !important;
}

@media (max-width: 991px) {
  body.single-product main.woocommerce-wrapper.container .isla-v6-product__layout {
    padding-bottom: 20px !important;
  }
  body.single-product .isla-v6-product > .related,
  body.single-product .isla-v6-product > section.related,
  body.single-product .isla-v6-product > .upsells {
    margin-top: 28px !important;
  }
}


/* 6.4.2 — neutralne tło formularza opinii */
.single-product .isla-v6-reviews #review_form_wrapper,
.single-product .isla-v6-reviews #review_form,
.single-product .isla-v6-reviews #respond,
.single-product .isla-v6-reviews .comment-form {
  background: #fff !important;
}
.single-product .isla-v6-reviews #review_form_wrapper {
  border-color: #e2e2e2 !important;
}

/* =========================================================
   ISLA GREY 6.5 — rozmiary, komplety i dopracowana ilość
   ========================================================= */
.single-product .isla-selected-size {
  display: flex;
  align-items: baseline;
  gap: 6px;
  min-height: 22px;
  margin: 12px 0 0;
  color: #777;
  font-size: 12px;
  line-height: 1.5;
}
.single-product .isla-selected-size span {
  text-transform: uppercase;
  letter-spacing: .09em;
  font-size: 10px;
}
.single-product .isla-selected-size strong {
  color: #777;
  font-weight: 500;
}
.single-product .isla-selected-size.has-selection strong {
  color: #111;
}
.single-product .isla-v6-product__buy .isla-swatch,
.single-product .isla-bundle-swatch {
  background: #f6f6f6 !important;
  border-color: #111 !important;
  color: #111 !important;
}
.single-product .isla-v6-product__buy .isla-swatch:hover,
.single-product .isla-v6-product__buy .isla-swatch.is-selected,
.single-product .isla-bundle-swatch:hover,
.single-product .isla-bundle-swatch.is-selected {
  background: #111 !important;
  border-color: #111 !important;
  color: #fff !important;
}

/* Komplet: dwie niezależne grupy rozmiarów. */
.isla-bundle-selector {
  margin: 0 0 26px;
  padding: 0 0 24px;
  border-bottom: 1px solid #dedede;
}
.isla-bundle-selector__intro {
  margin: 0 0 22px;
}
.isla-bundle-selector__intro strong {
  display: block;
  margin: 0 0 5px;
  color: #111;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.isla-bundle-selector__intro p {
  margin: 0;
  color: #666;
  font-size: 13px;
  line-height: 1.55;
}
.isla-bundle-part {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.isla-bundle-part + .isla-bundle-part {
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid #e5e5e5;
}
.isla-bundle-part legend {
  width: 100%;
  margin: 0 0 12px;
  padding: 0;
  color: #111;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.isla-bundle-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.isla-bundle-swatch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 1px solid #111;
  border-radius: 0;
  font: 500 13px/1 Inter, sans-serif;
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
}
.isla-bundle-selector.has-error {
  outline: 1px solid #111;
  outline-offset: 10px;
}

/* Jednolita kontrolka ilości: jedna ramka i wyraźne separatory. */
.single-product .isla-v6-product__buy .quantity {
  position: relative;
  display: grid !important;
  grid-template-columns: 46px 54px 46px;
  width: 146px;
  min-width: 146px;
  height: 54px;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid #cfcfcf !important;
  background: #fff !important;
}
.single-product .isla-v6-product__buy .quantity::before,
.single-product .isla-v6-product__buy .quantity::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: #dedede;
  pointer-events: none;
}
.single-product .isla-v6-product__buy .quantity::before { left: 46px; }
.single-product .isla-v6-product__buy .quantity::after { right: 46px; }
.single-product .isla-v6-product__buy .quantity .isla-qty-btn,
.single-product .isla-v6-product__buy .quantity input.qty {
  width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: #fff !important;
  color: #111 !important;
  box-shadow: none !important;
}
.single-product .isla-v6-product__buy .quantity input.qty {
  border-top: 0 !important;
  border-bottom: 0 !important;
  -moz-appearance: textfield;
}
.single-product .isla-v6-product__buy .quantity input.qty::-webkit-outer-spin-button,
.single-product .isla-v6-product__buy .quantity input.qty::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}
.single-product .isla-v6-product__buy .single_variation_wrap {
  margin-top: 22px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}
.single-product .isla-v6-product__buy .woocommerce-variation-add-to-cart,
.single-product .isla-v6-product__buy .cart:not(.variations_form) {
  align-items: stretch !important;
}
.single-product .isla-v6-product__buy .single_add_to_cart_button {
  min-height: 54px !important;
}

@media (max-width: 560px) {
  .isla-bundle-swatch {
    width: 48px;
    height: 48px;
  }
  .single-product .isla-v6-product__buy .woocommerce-variation-add-to-cart,
  .single-product .isla-v6-product__buy .cart:not(.variations_form) {
    grid-template-columns: 136px minmax(0, 1fr) !important;
  }
  .single-product .isla-v6-product__buy .quantity {
    grid-template-columns: 42px 50px 42px;
    width: 136px;
    min-width: 136px;
  }
  .single-product .isla-v6-product__buy .quantity::before { left: 42px; }
  .single-product .isla-v6-product__buy .quantity::after { right: 42px; }
}

/* =========================================================
   ISLA GREY 6.6 — komplet jak zwykły wariant + dwie sekcje produktów
   ========================================================= */

/* Komplet ma ten sam rytm i wyrównanie co zwykły produkt wariantowy. */
.single-product .isla-v6-product__buy .isla-bundle-selector {
  width: 100%;
  max-width: none;
  margin: 0 0 28px;
  padding: 0 0 26px;
  text-align: left !important;
  border-bottom: 1px solid #dedede;
}
.single-product .isla-bundle-selector__intro {
  width: 100%;
  margin: 0 0 24px;
  text-align: left !important;
}
.single-product .isla-bundle-selector__intro strong,
.single-product .isla-bundle-selector__intro p,
.single-product .isla-bundle-part,
.single-product .isla-bundle-part legend,
.single-product .isla-bundle-swatches,
.single-product .isla-bundle-part .isla-selected-size {
  text-align: left !important;
  justify-content: flex-start !important;
}
.single-product .isla-bundle-selector__intro strong {
  font-size: 12px;
  letter-spacing: .14em;
}
.single-product .isla-bundle-selector__intro p {
  max-width: 440px;
}
.single-product .isla-bundle-part + .isla-bundle-part {
  margin-top: 26px;
  padding-top: 0;
  border-top: 0;
}
.single-product .isla-bundle-part legend {
  margin-bottom: 14px;
  font-size: 11px;
  letter-spacing: .14em;
}
.single-product .isla-bundle-swatches {
  gap: 10px;
}
.single-product .isla-bundle-swatch {
  width: 54px;
  height: 54px;
}
.single-product .isla-bundle-part .isla-selected-size {
  margin-top: 10px;
}

/* Sekcje produktów: najpierw ręcznie wybrane upselle, potem automatyczne podobne. */
body.single-product .isla-v6-product > .upsells,
body.single-product .isla-v6-product > .related {
  width: min(100% - 48px, 1600px) !important;
  max-width: 1600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.single-product .isla-v6-product > .upsells {
  margin-top: 44px !important;
}
body.single-product .isla-v6-product > .related {
  margin-top: 76px !important;
}
body.single-product .upsells.products > h2,
body.single-product .related.products > h2 {
  margin: 0 0 38px !important;
  text-align: center;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(42px, 4vw, 68px);
  line-height: 1;
  font-weight: 400;
}
body.single-product .upsells.products + .related.products {
  padding-top: 70px !important;
  border-top: 1px solid #e5e5e5;
}

@media (max-width: 991px) {
  .single-product .isla-v6-product__buy .isla-bundle-selector {
    margin-bottom: 22px;
    padding-bottom: 22px;
  }
  .single-product .isla-bundle-selector__intro {
    margin-bottom: 20px;
  }
  .single-product .isla-bundle-swatch {
    width: 50px;
    height: 50px;
  }
  body.single-product .isla-v6-product > .upsells,
  body.single-product .isla-v6-product > .related {
    width: calc(100% - 36px) !important;
  }
  body.single-product .isla-v6-product > .upsells {
    margin-top: 30px !important;
  }
  body.single-product .isla-v6-product > .related {
    margin-top: 52px !important;
  }
  body.single-product .upsells.products + .related.products {
    padding-top: 48px !important;
  }
  body.single-product .upsells.products > h2,
  body.single-product .related.products > h2 {
    margin-bottom: 28px !important;
    font-size: clamp(38px, 11vw, 52px);
  }
}


/* =========================================================
   ISLA GREY 6.7 — aktywny rozmiar + indywidualna tabela rozmiarów
   ========================================================= */
.single-product .isla-v6-product__buy .isla-swatch.is-selected,
.single-product .isla-bundle-swatch.is-selected {
  background: #111 !important;
  color: #fff !important;
  border-color: #111 !important;
  box-shadow: 0 0 0 5px #fff, 0 0 0 7px #111 !important;
  position: relative;
  z-index: 1;
}
.single-product .isla-v6-product__buy .isla-variation-swatches,
.single-product .isla-bundle-swatches {
  padding: 7px;
  margin-left: -7px;
}

.isla-size-chart-trigger {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 2px 0 22px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #111;
  background: transparent !important;
  color: #111 !important;
  font: 500 11px/1.4 Inter, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
}
.isla-size-chart-trigger svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.isla-size-chart-trigger:hover { opacity: .55; }

.isla-size-chart-modal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: grid;
  place-items: center;
  padding: 28px;
  visibility: hidden;
  opacity: 0;
  transition: opacity .25s ease, visibility .25s ease;
}
.isla-size-chart-modal.is-open { visibility: visible; opacity: 1; }
.isla-size-chart-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17,17,17,.48);
  backdrop-filter: blur(2px);
}
.isla-size-chart-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(920px, 100%);
  max-height: calc(100vh - 56px);
  overflow: auto;
  padding: clamp(34px, 5vw, 72px);
  background: #fff;
  color: #111;
  transform: translateY(18px);
  transition: transform .3s ease;
  box-shadow: 0 28px 90px rgba(0,0,0,.18);
}
.isla-size-chart-modal.is-open .isla-size-chart-modal__dialog { transform: translateY(0); }
.isla-size-chart-modal__close {
  position: absolute;
  top: 24px;
  right: 28px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 0;
  border: 0;
  background: transparent !important;
  color: #111 !important;
  font: 500 12px/1 Inter, sans-serif;
  cursor: pointer;
}
.isla-size-chart-modal__close i,
.isla-size-chart-modal__close i::after {
  display: block;
  width: 26px;
  height: 1px;
  background: #111;
  content: "";
}
.isla-size-chart-modal__close i { transform: rotate(45deg); }
.isla-size-chart-modal__close i::after { transform: rotate(90deg); }
.isla-size-chart-modal__eyebrow {
  margin: 0 0 10px;
  font: 500 11px/1.4 Inter, sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #777;
}
.isla-size-chart-modal h2 {
  margin: 0 0 40px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(42px, 5vw, 68px);
  line-height: .98;
  font-weight: 400;
}
.isla-size-chart-modal__table-wrap { overflow-x: auto; }
.isla-size-chart-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-family: Inter, sans-serif;
}
.isla-size-chart-table th,
.isla-size-chart-table td {
  padding: 18px 14px;
  text-align: left;
  border-bottom: 1px solid #e4e4e4;
  font-size: 14px;
  line-height: 1.45;
}
.isla-size-chart-table th {
  padding-top: 12px;
  color: #111;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.isla-size-chart-table tbody tr:hover { background: #f6f6f6; }
body.isla-size-chart-open { overflow: hidden !important; }

@media (max-width: 640px) {
  .isla-size-chart-modal { padding: 0; align-items: end; }
  .isla-size-chart-modal__dialog {
    width: 100%;
    max-height: 88vh;
    padding: 64px 24px 34px;
  }
  .isla-size-chart-modal__close { top: 24px; right: 22px; }
  .isla-size-chart-modal__close span { display: none; }
  .isla-size-chart-modal h2 { margin-bottom: 28px; font-size: 44px; }
  .isla-size-chart-table { min-width: 560px; }
  .isla-size-chart-table th,
  .isla-size-chart-table td { padding: 15px 12px; }
}

/* =========================================================
   ISLA GREY 6.7.1 — komplet wyrównany do lewej + prosty active
   ========================================================= */
.single-product .isla-v6-product__buy form.cart:not(.variations_form) > .isla-bundle-selector {
  grid-column: 1 / -1 !important;
  justify-self: stretch !important;
  align-self: start !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.single-product .isla-v6-product__buy .isla-bundle-selector__intro,
.single-product .isla-v6-product__buy .isla-bundle-part,
.single-product .isla-v6-product__buy .isla-bundle-swatches,
.single-product .isla-v6-product__buy .isla-bundle-part .isla-selected-size {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: left !important;
  justify-content: flex-start !important;
}
.single-product .isla-v6-product__buy .isla-bundle-swatch.is-selected,
.single-product .isla-v6-product__buy .isla-swatch.is-selected {
  background: #111 !important;
  color: #fff !important;
  border-color: #111 !important;
  box-shadow: none !important;
  outline: 0 !important;
}
.single-product .isla-v6-product__buy .isla-bundle-swatches,
.single-product .isla-v6-product__buy .isla-variation-swatches {
  padding: 0 !important;
  margin-left: 0 !important;
}


/* =========================================================
   ISLA GREY 6.7.2 — aktywny rozmiar + tabela rozmiarów
   ========================================================= */
.single-product button.isla-bundle-swatch.is-selected,
.single-product button.isla-bundle-swatch[aria-pressed="true"],
.single-product button.isla-swatch.is-selected,
.single-product button.isla-swatch[aria-pressed="true"],
.single-product .isla-variation-swatches button.selected,
.single-product .isla-variation-swatches button.active {
  background-color: #111 !important;
  color: #fff !important;
  border: 1px solid #111 !important;
  outline: none !important;
  box-shadow: none !important;
}
.single-product button.isla-bundle-swatch.is-selected::before,
.single-product button.isla-bundle-swatch.is-selected::after,
.single-product button.isla-swatch.is-selected::before,
.single-product button.isla-swatch.is-selected::after {
  display: none !important;
  content: none !important;
}
.single-product .isla-size-chart-trigger {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}


/* =========================================================
   ISLA GREY 6.7.3 — tabela nad wyborem rozmiaru + sprawne interakcje
   ========================================================= */
.single-product .summary > .isla-size-chart-trigger,
.single-product .isla-v6-product__summary > .isla-size-chart-trigger {
  width: auto !important;
  margin: 24px 0 18px !important;
  padding: 0 0 8px !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #111 !important;
  color: #111 !important;
  justify-content: flex-start !important;
}
.single-product .summary > .isla-size-chart-trigger:hover,
.single-product .isla-v6-product__summary > .isla-size-chart-trigger:hover {
  opacity: .55 !important;
}
.single-product .isla-size-chart-trigger + form.cart {
  margin-top: 0 !important;
}
.single-product .isla-bundle-swatch.is-selected,
.single-product .isla-bundle-swatch[aria-pressed="true"],
.single-product .isla-swatch.is-selected,
.single-product .isla-swatch[aria-pressed="true"],
.single-product .isla-variation-swatches button.selected,
.single-product .isla-variation-swatches button.active {
  background: #111 !important;
  color: #fff !important;
  border-color: #111 !important;
  outline: 0 !important;
  box-shadow: none !important;
}


/* =========================================================
   ISLA GREY 6.7.4 — pewny aktywny rozmiar i tabela nad rozmiarami
   ========================================================= */
.single-product form.cart > .isla-size-chart-trigger {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: auto !important;
  margin: 0 0 24px !important;
  padding: 0 0 8px !important;
  background: transparent !important;
  color: #111 !important;
  border: 0 !important;
  border-bottom: 1px solid #111 !important;
  cursor: pointer !important;
}
.single-product form.cart > .isla-size-chart-trigger svg {
  width: 18px !important;
  height: 18px !important;
  stroke: currentColor !important;
  fill: none !important;
  stroke-width: 1.6 !important;
}
.single-product .isla-bundle-swatch.is-selected,
.single-product .isla-bundle-swatch[aria-pressed="true"] {
  background-color: #111 !important;
  background-image: none !important;
  color: #fff !important;
  border-color: #111 !important;
  outline: none !important;
  box-shadow: none !important;
}
.single-product .isla-bundle-swatch:not(.is-selected):not([aria-pressed="true"]) {
  background-color: #f6f6f6 !important;
  color: #111 !important;
}

/* =========================================================
   ISLA GREY 6.7.5 — tabela rozmiarów nad wariantami + stabilny quantity
   ========================================================= */
.single-product .isla-v6-product__buy > .isla-size-chart-trigger,
.single-product .summary > .isla-size-chart-trigger,
.single-product .isla-v6-product__summary > .isla-size-chart-trigger {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: auto !important;
  margin: 0 0 24px !important;
  padding: 0 0 8px !important;
  border: 0 !important;
  border-bottom: 1px solid #111 !important;
  background: transparent !important;
  color: #111 !important;
}

/* Przycisk tabeli jest poza form.cart, więc nie może wejść do siatki quantity/CTA. */
.single-product .isla-v6-product__buy form.cart,
.single-product .isla-v6-product__buy form.cart:not(.variations_form),
.single-product .isla-v6-product__buy .woocommerce-variation-add-to-cart {
  width: 100% !important;
}

.single-product .isla-v6-product__buy .cart:not(.variations_form),
.single-product .isla-v6-product__buy .woocommerce-variation-add-to-cart {
  display: grid !important;
  grid-template-columns: 146px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: stretch !important;
}

.single-product .isla-v6-product__buy .quantity {
  grid-column: 1 !important;
  width: 146px !important;
  min-width: 146px !important;
  max-width: 146px !important;
}

.single-product .isla-v6-product__buy .single_add_to_cart_button {
  grid-column: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
}

@media (max-width: 560px) {
  .single-product .isla-v6-product__buy .cart:not(.variations_form),
  .single-product .isla-v6-product__buy .woocommerce-variation-add-to-cart {
    grid-template-columns: 136px minmax(0, 1fr) !important;
  }
  .single-product .isla-v6-product__buy .quantity {
    width: 136px !important;
    min-width: 136px !important;
    max-width: 136px !important;
  }
}


/* =========================================================
   ISLA GREY 6.8 — rekomendacje wyłącznie pod kartą produktu
   ========================================================= */
body.single-product .isla-v6-product__recommendations {
  display: block !important;
  width: 100% !important;
  clear: both !important;
  position: relative !important;
  z-index: 1 !important;
  margin: 36px 0 0 !important;
  padding: 0 !important;
}
body.single-product .isla-v6-product__recommendations > section.products {
  display: block !important;
  float: none !important;
  position: relative !important;
  inset: auto !important;
  width: min(calc(100% - 48px), 1600px) !important;
  max-width: 1600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
  clear: both !important;
}
body.single-product .isla-v6-product__recommendations > .upsells.products {
  margin-top: 0 !important;
}
body.single-product .isla-v6-product__recommendations > .related.products {
  margin-top: 70px !important;
  padding-top: 64px !important;
  border-top: 1px solid #e5e5e5 !important;
}
body.single-product .isla-v6-product__recommendations > section.products > h2 {
  position: static !important;
  float: none !important;
  width: 100% !important;
  margin: 0 0 36px !important;
  text-align: center !important;
  font-family: "Cormorant Garamond", serif !important;
  font-size: clamp(42px, 4vw, 68px) !important;
  line-height: 1 !important;
  font-weight: 400 !important;
}
body.single-product .isla-v6-product__recommendations ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(18px, 2vw, 34px) !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}
body.single-product .isla-v6-product__recommendations ul.products::before,
body.single-product .isla-v6-product__recommendations ul.products::after {
  display: none !important;
}
body.single-product .isla-v6-product__recommendations ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  position: relative !important;
}
@media (max-width: 991px) {
  body.single-product .isla-v6-product__recommendations {
    margin-top: 24px !important;
  }
  body.single-product .isla-v6-product__recommendations > section.products {
    width: calc(100% - 36px) !important;
  }
  body.single-product .isla-v6-product__recommendations > .related.products {
    margin-top: 48px !important;
    padding-top: 44px !important;
  }
  body.single-product .isla-v6-product__recommendations ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px 14px !important;
  }
  body.single-product .isla-v6-product__recommendations > section.products > h2 {
    margin-bottom: 26px !important;
    font-size: clamp(38px, 11vw, 52px) !important;
  }
}

/* =========================================================
   ISLA GREY 6.8.1 — stabilny układ rekomendacji i quantity
   ========================================================= */
body.single-product .isla-v6-product {
  display: block !important;
  grid-template-columns: none !important;
  grid-template-areas: none !important;
  overflow: visible !important;
}
body.single-product .isla-v6-product__layout {
  display: grid !important;
  position: relative !important;
  z-index: 2 !important;
}
body.single-product .isla-v6-product__recommendations {
  display: block !important;
  grid-column: auto !important;
  grid-area: auto !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 72px 0 0 !important;
  clear: both !important;
  overflow: visible !important;
}
body.single-product .isla-v6-product__recommendations > section.products {
  position: static !important;
  transform: none !important;
  grid-area: auto !important;
  clear: both !important;
}
body.single-product .isla-v6-product__recommendations > .upsells.products {
  margin-top: 0 !important;
}
body.single-product .isla-v6-product__recommendations > .related.products {
  display: block !important;
  margin-top: 68px !important;
}

/* Ilość ma zawsze trzy zwarte pola i nie może się zawijać. */
body.single-product .isla-v6-product__buy .quantity {
  display: grid !important;
  grid-template-columns: 44px 52px 44px !important;
  grid-template-rows: 52px !important;
  width: 140px !important;
  min-width: 140px !important;
  max-width: 140px !important;
  height: 52px !important;
  overflow: hidden !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  border: 1px solid #d6d2cc !important;
  background: #fff !important;
}
body.single-product .isla-v6-product__buy .quantity .isla-qty-btn,
body.single-product .isla-v6-product__buy .quantity button {
  position: static !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 50px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: #fff !important;
  color: #111 !important;
  display: grid !important;
  place-items: center !important;
}
body.single-product .isla-v6-product__buy .quantity input.qty {
  position: static !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  height: 50px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-left: 1px solid #e2dfda !important;
  border-right: 1px solid #e2dfda !important;
  background: #fff !important;
  text-align: center !important;
}
body.single-product .isla-v6-product__buy .quantity .isla-qty-minus { grid-column: 1 !important; grid-row: 1 !important; }
body.single-product .isla-v6-product__buy .quantity .isla-qty-plus  { grid-column: 3 !important; grid-row: 1 !important; }
body.single-product .isla-v6-product__buy .woocommerce-variation-add-to-cart,
body.single-product .isla-v6-product__buy .cart:not(.variations_form) {
  display: grid !important;
  grid-template-columns: 140px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: stretch !important;
  width: 100% !important;
}
body.single-product .isla-v6-product__buy .single_add_to_cart_button {
  grid-column: 2 !important;
  min-width: 0 !important;
  height: 52px !important;
}
@media (max-width: 991px) {
  body.single-product .isla-v6-product__layout { display: block !important; }
  body.single-product .isla-v6-product__recommendations { margin-top: 48px !important; }
}


/* =========================================================
   ISLA GREY 6.9 — 5 USP, komplety bez sticky i stabilny zakup
   ========================================================= */
.usp-strip__grid { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
.usp-item__icon { color:#111 !important; }

/* Komplet wymaga dwóch wyborów — dolny pasek nie może go obsługiwać. */
body.isla-product-is-bundle .isla-sticky-atc { display:none !important; }
body.isla-product-is-bundle:has(.isla-sticky-atc.is-visible) { padding-bottom:0 !important; }

/* Jeden, zwarty rząd quantity + CTA. */
body.single-product .isla-v6-product__buy form.cart:not(.variations_form),
body.single-product .isla-v6-product__buy .woocommerce-variation-add-to-cart {
  display:grid !important;
  grid-template-columns:132px minmax(0,1fr) !important;
  gap:14px !important;
  align-items:stretch !important;
  width:100% !important;
}
body.single-product .isla-v6-product__buy .quantity {
  display:grid !important;
  grid-template-columns:44px 44px 44px !important;
  width:132px !important;
  min-width:132px !important;
  max-width:132px !important;
  height:54px !important;
  overflow:hidden !important;
  border:1px solid #d4d1cc !important;
  background:#fff !important;
}
body.single-product .isla-v6-product__buy .quantity::before,
body.single-product .isla-v6-product__buy .quantity::after { display:none !important; }
body.single-product .isla-v6-product__buy .quantity .isla-qty-btn,
body.single-product .isla-v6-product__buy .quantity input.qty {
  width:44px !important; min-width:44px !important; max-width:44px !important;
  height:52px !important; min-height:52px !important;
  margin:0 !important; padding:0 !important;
  border:0 !important; border-radius:0 !important;
  background:#fff !important; color:#111 !important;
  box-shadow:none !important;
}
body.single-product .isla-v6-product__buy .quantity input.qty { border-left:1px solid #e2dfda !important; border-right:1px solid #e2dfda !important; }
body.single-product .isla-v6-product__buy .single_add_to_cart_button {
  width:100% !important; min-width:0 !important; height:54px !important;
  margin:0 !important; align-self:stretch !important;
}

/* Rekomendacje zawsze pod całą kartą, z równymi kartami i CTA. */
body.single-product .isla-v6-product__recommendations { margin-top:72px !important; }
body.single-product .isla-v6-product__recommendations > section.products { width:min(calc(100% - 48px),1600px) !important; }
body.single-product .isla-v6-product__recommendations ul.products li.product {
  display:flex !important; flex-direction:column !important; min-width:0 !important;
}
body.single-product .isla-v6-product__recommendations ul.products li.product .button {
  margin-top:auto !important; width:100% !important; min-height:52px !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
}
body.single-product .isla-v6-product__recommendations .isla-bundle-loop-link { background:#111 !important; color:#fff !important; }

@media (max-width:900px){
  .usp-strip__grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .usp-item:last-child{grid-column:1/-1;}
}
@media (max-width:560px){
  body.single-product .isla-v6-product__buy form.cart:not(.variations_form),
  body.single-product .isla-v6-product__buy .woocommerce-variation-add-to-cart {
    grid-template-columns:126px minmax(0,1fr) !important; gap:10px !important;
  }
  body.single-product .isla-v6-product__buy .quantity {
    grid-template-columns:42px 42px 42px !important; width:126px !important; min-width:126px !important; max-width:126px !important;
  }
  body.single-product .isla-v6-product__buy .quantity .isla-qty-btn,
  body.single-product .isla-v6-product__buy .quantity input.qty { width:42px !important; min-width:42px !important; max-width:42px !important; }
}

/* =========================================================
   ISLA GREY 6.9.1 — stabilny quantity, aktywny wariant i spacing
   ========================================================= */
body.single-product .isla-v6-product__buy {
  padding-top: 28px !important;
}
body.single-product .isla-v6-product__buy table.variations {
  margin-bottom: 18px !important;
}
body.single-product .isla-v6-product__buy .isla-selected-size {
  margin-top: 10px !important;
  margin-bottom: 18px !important;
}
body.single-product .isla-v6-product__buy .reset_variations {
  display: inline-block !important;
  margin: 4px 0 20px !important;
  color: #777 !important;
  font-size: 13px !important;
  text-decoration: none !important;
}

/* Aktywny rozmiar w zwykłym produkcie wariantowym — identycznie jak w komplecie. */
body.single-product .isla-v6-product__buy button.isla-swatch.is-selected,
body.single-product .isla-v6-product__buy button.isla-swatch[aria-pressed="true"],
body.single-product .isla-v6-product__buy .isla-variation-swatches .isla-swatch.is-selected,
body.single-product .isla-v6-product__buy .isla-variation-swatches .isla-swatch[aria-pressed="true"] {
  background: #111 !important;
  color: #fff !important;
  border-color: #111 !important;
  box-shadow: none !important;
  outline: 0 !important;
}
body.single-product .isla-v6-product__buy button.isla-swatch:not(.is-selected):not([aria-pressed="true"]) {
  background: #f6f6f6 !important;
  color: #111 !important;
  border-color: #111 !important;
}

/* Faktyczna struktura quantity tworzona przez JS to:
   .isla-product-qty-control > button + .quantity + button. */
body.single-product .isla-v6-product__buy .woocommerce-variation-add-to-cart,
body.single-product .isla-v6-product__buy form.cart:not(.variations_form) {
  display: grid !important;
  grid-template-columns: 132px minmax(0, 1fr) !important;
  column-gap: 14px !important;
  row-gap: 0 !important;
  align-items: stretch !important;
  width: 100% !important;
}
body.single-product .isla-v6-product__buy .isla-product-qty-control {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: grid !important;
  grid-template-columns: 44px 44px 44px !important;
  grid-template-rows: 54px !important;
  width: 132px !important;
  min-width: 132px !important;
  max-width: 132px !important;
  height: 54px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid #d4d1cc !important;
  background: #fff !important;
  box-sizing: border-box !important;
}
body.single-product .isla-v6-product__buy .isla-product-qty-control > .isla-product-qty-btn,
body.single-product .isla-v6-product__buy .isla-product-qty-control > .quantity,
body.single-product .isla-v6-product__buy .isla-product-qty-control > .quantity input.qty {
  position: static !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
}
body.single-product .isla-v6-product__buy .isla-product-qty-control > .isla-product-qty-btn {
  display: grid !important;
  place-items: center !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 52px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  box-shadow: none !important;
}
body.single-product .isla-v6-product__buy .isla-product-qty-control > .isla-product-qty-btn--minus {
  grid-column: 1 !important;
  border-right: 1px solid #e2dfda !important;
}
body.single-product .isla-v6-product__buy .isla-product-qty-control > .quantity {
  grid-column: 2 !important;
  display: block !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 52px !important;
  border: 0 !important;
  background: #fff !important;
  overflow: visible !important;
}
body.single-product .isla-v6-product__buy .isla-product-qty-control > .quantity::before,
body.single-product .isla-v6-product__buy .isla-product-qty-control > .quantity::after {
  display: none !important;
  content: none !important;
}
body.single-product .isla-v6-product__buy .isla-product-qty-control > .quantity input.qty {
  display: block !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 52px !important;
  border: 0 !important;
  background: #fff !important;
  color: #111 !important;
  text-align: center !important;
  appearance: textfield !important;
  -moz-appearance: textfield !important;
}
body.single-product .isla-v6-product__buy .isla-product-qty-control > .isla-product-qty-btn--plus {
  grid-column: 3 !important;
  border-left: 1px solid #e2dfda !important;
}
body.single-product .isla-v6-product__buy .single_add_to_cart_button {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-height: 54px !important;
  height: 54px !important;
  margin: 0 !important;
  align-self: stretch !important;
}

@media (max-width: 560px) {
  body.single-product .isla-v6-product__buy .woocommerce-variation-add-to-cart,
  body.single-product .isla-v6-product__buy form.cart:not(.variations_form) {
    grid-template-columns: 126px minmax(0, 1fr) !important;
    column-gap: 10px !important;
  }
  body.single-product .isla-v6-product__buy .isla-product-qty-control {
    grid-template-columns: 42px 42px 42px !important;
    width: 126px !important;
    min-width: 126px !important;
    max-width: 126px !important;
  }
  body.single-product .isla-v6-product__buy .isla-product-qty-control > .isla-product-qty-btn,
  body.single-product .isla-v6-product__buy .isla-product-qty-control > .quantity,
  body.single-product .isla-v6-product__buy .isla-product-qty-control > .quantity input.qty {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
  }
}

/* =========================================================
   ISLA GREY 6.9.2 — odstępy wariantów i poprawny układ kompletu
   ========================================================= */
/* Produkt wariantowy: usuń sztuczną pustą przestrzeń przed quantity. */
body.single-product:not(.isla-product-is-bundle) .isla-v6-product__buy .single_variation_wrap {
  margin-top: 22px !important;
  padding-top: 0 !important;
  min-height: 0 !important;
  height: auto !important;
}
body.single-product:not(.isla-product-is-bundle) .isla-v6-product__buy .single_variation {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.single-product:not(.isla-product-is-bundle) .isla-v6-product__buy .single_variation:empty {
  display: none !important;
}
body.single-product:not(.isla-product-is-bundle) .isla-v6-product__buy .woocommerce-variation-add-to-cart {
  margin-top: 0 !important;
}
body.single-product:not(.isla-product-is-bundle) .isla-v6-product__buy .reset_variations {
  margin-bottom: 8px !important;
}

/* Komplet: najpierw dobór dwóch rozmiarów, dopiero potem quantity + CTA. */
body.single-product.isla-product-is-bundle .isla-v6-product__buy form.cart:not(.variations_form) {
  display: grid !important;
  grid-template-columns: 132px minmax(0, 1fr) !important;
  grid-template-rows: auto 54px !important;
  column-gap: 14px !important;
  row-gap: 28px !important;
  align-items: stretch !important;
  width: 100% !important;
}
body.single-product.isla-product-is-bundle .isla-v6-product__buy .isla-bundle-selector {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 0 26px !important;
  border-bottom: 1px solid #dedede !important;
}
body.single-product.isla-product-is-bundle .isla-v6-product__buy .isla-product-qty-control {
  grid-column: 1 !important;
  grid-row: 2 !important;
}
body.single-product.isla-product-is-bundle .isla-v6-product__buy .single_add_to_cart_button {
  grid-column: 2 !important;
  grid-row: 2 !important;
}
body.single-product.isla-product-is-bundle .isla-v6-product__buy .isla-bundle-selector__intro {
  margin: 0 0 28px !important;
}
body.single-product.isla-product-is-bundle .isla-v6-product__buy .isla-bundle-part + .isla-bundle-part {
  margin-top: 28px !important;
}
body.single-product.isla-product-is-bundle .isla-v6-product__buy .isla-selected-size {
  margin: 10px 0 0 !important;
}

@media (max-width: 560px) {
  body.single-product.isla-product-is-bundle .isla-v6-product__buy form.cart:not(.variations_form) {
    grid-template-columns: 126px minmax(0, 1fr) !important;
    column-gap: 10px !important;
    row-gap: 22px !important;
  }
}

/* =========================================================
   ISLA GREY 6.9.3 — kompaktowy odstęp wariantów detalicznych
   ========================================================= */
body.single-product:not(.isla-product-is-bundle) .isla-v6-product__buy form.variations_form {
  margin-bottom: 0 !important;
}
body.single-product:not(.isla-product-is-bundle) .isla-v6-product__buy table.variations {
  margin-bottom: 0 !important;
}
body.single-product:not(.isla-product-is-bundle) .isla-v6-product__buy .isla-selected-size {
  margin: 8px 0 0 !important;
}
body.single-product:not(.isla-product-is-bundle) .isla-v6-product__buy .reset_variations {
  display: block !important;
  width: max-content !important;
  margin: 8px 0 12px !important;
  padding: 0 !important;
  line-height: 1.35 !important;
}
body.single-product:not(.isla-product-is-bundle) .isla-v6-product__buy .single_variation_wrap {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}
body.single-product:not(.isla-product-is-bundle) .isla-v6-product__buy .single_variation {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}
body.single-product:not(.isla-product-is-bundle) .isla-v6-product__buy .woocommerce-variation-add-to-cart {
  margin: 0 !important;
  padding: 0 !important;
}

/* =========================================================
   ISLA GREY 6.9.4 — kompaktowe warianty + margines galerii mobile
   ========================================================= */
/* Produkty detaliczne z wariantami: usuń wszystkie odziedziczone wysokości
   pomiędzy wyborem rozmiaru a rzędem quantity / CTA. */
body.single-product:not(.isla-product-is-bundle) .isla-v6-product__buy form.variations_form,
body.single-product:not(.isla-product-is-bundle) .isla-v6-product__buy form.variations_form > table.variations,
body.single-product:not(.isla-product-is-bundle) .isla-v6-product__buy form.variations_form > table.variations > tbody,
body.single-product:not(.isla-product-is-bundle) .isla-v6-product__buy form.variations_form > table.variations > tbody > tr,
body.single-product:not(.isla-product-is-bundle) .isla-v6-product__buy form.variations_form td.value {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding-bottom: 0 !important;
}
body.single-product:not(.isla-product-is-bundle) .isla-v6-product__buy table.variations {
  margin: 0 !important;
}
body.single-product:not(.isla-product-is-bundle) .isla-v6-product__buy .isla-variation-swatches {
  margin-bottom: 8px !important;
}
body.single-product:not(.isla-product-is-bundle) .isla-v6-product__buy .isla-selected-size {
  margin: 8px 0 0 !important;
}
body.single-product:not(.isla-product-is-bundle) .isla-v6-product__buy .reset_variations {
  margin: 7px 0 0 !important;
  line-height: 1.2 !important;
}
body.single-product:not(.isla-product-is-bundle) .isla-v6-product__buy .single_variation_wrap {
  display: block !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}
body.single-product:not(.isla-product-is-bundle) .isla-v6-product__buy .single_variation {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
body.single-product:not(.isla-product-is-bundle) .isla-v6-product__buy .woocommerce-variation-add-to-cart {
  margin: 0 !important;
  padding: 0 !important;
}

/* Galeria produktu na telefonie: nadal dwie kolumny, ale z eleganckim
   marginesem od krawędzi i równą przerwą między zdjęciami. */
@media (max-width: 991px) {
  body.single-product .woocommerce-wrapper.container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.single-product .isla-v6-product__layout {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.single-product .isla-v6-gallery {
    width: 100% !important;
    margin: 0 0 28px !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
  }
  body.single-product .isla-v6-gallery__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }
  body.single-product .isla-v6-gallery__item {
    flex: none !important;
    width: 100% !important;
  }
  body.single-product .isla-v6-gallery__counter {
    margin: 12px 0 0 !important;
  }
  body.single-product .isla-v6-product__summary {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

@media (max-width: 560px) {
  body.single-product:not(.isla-product-is-bundle) .isla-v6-product__buy .single_variation_wrap {
    margin-top: 12px !important;
  }
  body.single-product .isla-v6-gallery {
    padding-left: 10px !important;
    padding-right: 10px !important;
    margin-bottom: 24px !important;
  }
  body.single-product .isla-v6-gallery__grid {
    gap: 8px !important;
  }
}

/* =========================================================
   ISLA GREY 6.9.5 — mobile header/product end spacing fix
   ========================================================= */
@media (max-width: 991px) {
  /* Usuń odziedziczony duży odstęp pod headerem na stronie produktu. */
  body.single-product .woocommerce-wrapper,
  body.single-product .woocommerce-wrapper.container {
    padding-top: 0 !important;
  }

  body.single-product main.woocommerce-wrapper.container > .woocommerce-breadcrumb,
  body.single-product .woocommerce-breadcrumb {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
    padding-top: 18px !important;
    padding-bottom: 0 !important;
  }

  /* Po ostatnim akordeonie nie zostawiaj pustej przestrzeni przed USP. */
  body.single-product main.woocommerce-wrapper.container .isla-v6-product__layout {
    padding-bottom: 20px !important;
  }

  body.single-product .isla-v6-product__summary,
  body.admin-bar.single-product .isla-v6-product__summary {
    padding-bottom: 12px !important;
  }

  body.single-product .isla-v6-accordion {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  body.single-product .isla-v6-product__recommendations {
    margin-top: 24px !important;
  }

  body.single-product .isla-v6-product__recommendations:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

@media (max-width: 560px) {
  body.single-product main.woocommerce-wrapper.container > .woocommerce-breadcrumb,
  body.single-product .woocommerce-breadcrumb {
    padding-top: 14px !important;
    margin-bottom: 16px !important;
  }

  body.single-product main.woocommerce-wrapper.container .isla-v6-product__layout {
    padding-bottom: 12px !important;
  }
}


/* ============================================================
   ISLA GREY 6.9.6 — mini-koszyk: warianty i komplety w jednym UX
   ============================================================ */
.isla-cart-drawer .woocommerce-mini-cart-item {
  grid-template-columns: 92px minmax(0, 1fr) 28px !important;
  grid-template-rows: auto auto auto !important;
  column-gap: 16px !important;
  row-gap: 0 !important;
  padding: 18px 0 !important;
}
.isla-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) {
  grid-column: 1 / 3 !important;
  grid-row: 1 !important;
  margin: 0 !important;
}
.isla-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) img {
  grid-row: 1 / span 3 !important;
}
.isla-cart-drawer .woocommerce-mini-cart-item dl.variation {
  grid-column: 2 !important;
  grid-row: 2 !important;
  display: grid !important;
  grid-template-columns: max-content minmax(0,1fr) !important;
  gap: 3px 7px !important;
  align-items: baseline !important;
  margin: 5px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  font-family: var(--font-body, Inter, sans-serif) !important;
  font-size: .76rem !important;
  line-height: 1.35 !important;
  color: #666 !important;
}
.isla-cart-drawer .woocommerce-mini-cart-item dl.variation dt,
.isla-cart-drawer .woocommerce-mini-cart-item dl.variation dd {
  float: none !important;
  clear: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  font: inherit !important;
  line-height: inherit !important;
}
.isla-cart-drawer .woocommerce-mini-cart-item dl.variation dt {
  font-weight: 500 !important;
}
.isla-cart-drawer .woocommerce-mini-cart-item dl.variation dt::after {
  content: ':';
}
.isla-cart-drawer .woocommerce-mini-cart-item dl.variation dd p {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
}
.isla-cart-drawer .woocommerce-mini-cart-item .quantity {
  grid-column: 2 !important;
  grid-row: 3 !important;
  margin-top: 7px !important;
  align-self: start !important;
}
.isla-cart-drawer .woocommerce-mini-cart-item .remove {
  grid-column: 3 !important;
  grid-row: 1 / span 3 !important;
}

/* Dane kompletu na koszyku, checkout i stronie zamówienia — czytelnie pod nazwą. */
.woocommerce-cart-form dl.variation,
.woocommerce-checkout-review-order dl.variation,
.woocommerce-order-details dl.variation,
.woocommerce-MyAccount-content dl.variation {
  margin-top: 5px !important;
}
.woocommerce-cart-form dl.variation dt,
.woocommerce-cart-form dl.variation dd,
.woocommerce-checkout-review-order dl.variation dt,
.woocommerce-checkout-review-order dl.variation dd,
.woocommerce-order-details dl.variation dt,
.woocommerce-order-details dl.variation dd,
.woocommerce-MyAccount-content dl.variation dt,
.woocommerce-MyAccount-content dl.variation dd {
  margin-bottom: 2px !important;
}

@media (max-width: 767px) {
  .isla-cart-drawer .woocommerce-mini-cart-item {
    grid-template-columns: 78px minmax(0, 1fr) 24px !important;
    column-gap: 12px !important;
    padding: 16px 0 !important;
  }
  .isla-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) {
    grid-template-columns: 78px minmax(0, 1fr) !important;
    gap: 12px !important;
  }
  .isla-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) img {
    width: 78px !important;
    height: 104px !important;
  }
  .isla-cart-drawer .woocommerce-mini-cart-item dl.variation {
    font-size: .72rem !important;
    gap: 2px 6px !important;
  }
}

/* ============================================================
   ISLA GREY 6.9.7 — mini-koszyk: zwarte dane kompletu
   ============================================================ */
body .isla-cart-drawer .woocommerce-mini-cart-item {
  grid-template-columns: 92px minmax(0, 1fr) 28px !important;
  grid-template-rows: auto auto auto !important;
  column-gap: 16px !important;
  row-gap: 0 !important;
  align-items: start !important;
}
body .isla-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) {
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) !important;
  column-gap: 16px !important;
  align-items: start !important;
  grid-column: 1 / 3 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
}
body .isla-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) img {
  position: static !important;
  display: block !important;
  grid-column: 1 !important;
  grid-row: 1 / span 3 !important;
  width: 92px !important;
  height: 116px !important;
  margin: 0 !important;
  object-fit: cover !important;
}
body .isla-cart-drawer .woocommerce-mini-cart-item dl.variation {
  display: block !important;
  grid-column: 2 !important;
  grid-row: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 5px 0 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  font-size: .76rem !important;
  line-height: 1.45 !important;
}
body .isla-cart-drawer .woocommerce-mini-cart-item dl.variation::after {
  content: "";
  display: block;
  clear: both;
}
body .isla-cart-drawer .woocommerce-mini-cart-item dl.variation dt,
body .isla-cart-drawer .woocommerce-mini-cart-item dl.variation dd {
  display: block !important;
  float: left !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 0 2px !important;
  padding: 0 !important;
  white-space: normal !important;
}
body .isla-cart-drawer .woocommerce-mini-cart-item dl.variation dt {
  clear: left !important;
  font-weight: 500 !important;
}
body .isla-cart-drawer .woocommerce-mini-cart-item dl.variation dt::after {
  content: none !important;
}
body .isla-cart-drawer .woocommerce-mini-cart-item dl.variation dd {
  clear: none !important;
  margin-left: 6px !important;
}
body .isla-cart-drawer .woocommerce-mini-cart-item dl.variation dd p {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
}
body .isla-cart-drawer .woocommerce-mini-cart-item .quantity {
  grid-column: 2 !important;
  grid-row: 3 !important;
  margin: 7px 0 0 !important;
}
body .isla-cart-drawer .woocommerce-mini-cart-item .remove {
  grid-column: 3 !important;
  grid-row: 1 / span 3 !important;
}

@media (max-width: 767px) {
  body .isla-cart-drawer .woocommerce-mini-cart-item {
    grid-template-columns: 78px minmax(0, 1fr) 24px !important;
    column-gap: 12px !important;
  }
  body .isla-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) {
    grid-template-columns: 78px minmax(0, 1fr) !important;
    column-gap: 12px !important;
  }
  body .isla-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) img {
    width: 78px !important;
    height: 104px !important;
  }
  body .isla-cart-drawer .woocommerce-mini-cart-item dl.variation {
    font-size: .72rem !important;
  }
}


/* v6.9.8 mobile related products */
@media (max-width:768px){
.woocommerce .related.products{display:block!important;margin-top:2rem}
.woocommerce .related.products ul.products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.woocommerce .related.products li.product{width:100%!important;margin:0!important;float:none!important}
.woocommerce .related.products .button{width:100%}
}

/* ============================================================
   ISLA GREY 1.2 — karty rekomendacji jak w sklepie
   ============================================================ */
body.single-product .isla-v6-product__recommendations ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  padding-bottom: 18px !important;
}
body.single-product .isla-v6-product__recommendations ul.products li.product .button {
  margin: 20px 0 0 !important;
  width: 100% !important;
  min-height: 52px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* =========================================================
   ISLA GREY 1.3 — identyczne CTA kart produktów
   Sklep / kategorie / może Cię zainteresować / podobne produkty
   ========================================================= */
.woocommerce ul.products li.product .button,
body.single-product .related.products ul.products li.product .button,
body.single-product .upsells.products ul.products li.product .button,
body.single-product .isla-v6-product__recommendations ul.products li.product .button {
  position: static !important;
  inset: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: .2rem 0 0 !important;
  padding: 0 18px !important;
  box-sizing: border-box !important;
  border: 1px solid #171715 !important;
  border-radius: 0 !important;
  background: #171715 !important;
  color: #fff !important;
  box-shadow: none !important;
  font-family: var(--font-body, Inter, sans-serif) !important;
  font-size: .8rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  text-align: center !important;
  text-transform: uppercase !important;
  opacity: 0;
  transform: translateY(8px) !important;
  transition: opacity 250ms ease, transform 250ms ease, background-color 250ms ease, border-color 250ms ease !important;
}

.woocommerce ul.products li.product:hover .button,
.woocommerce ul.products li.product:focus-within .button,
body.single-product .related.products ul.products li.product:hover .button,
body.single-product .upsells.products ul.products li.product:hover .button,
body.single-product .isla-v6-product__recommendations ul.products li.product:hover .button {
  opacity: 1;
  transform: translateY(0) !important;
}

.woocommerce ul.products li.product .button:hover,
body.single-product .related.products ul.products li.product .button:hover,
body.single-product .upsells.products ul.products li.product .button:hover,
body.single-product .isla-v6-product__recommendations ul.products li.product .button:hover {
  background: var(--isla-accent, #111) !important;
  border-color: var(--isla-accent, #111) !important;
  color: #fff !important;
}

@media (max-width: 800px) {
  .woocommerce ul.products li.product .button,
  body.single-product .related.products ul.products li.product .button,
  body.single-product .upsells.products ul.products li.product .button,
  body.single-product .isla-v6-product__recommendations ul.products li.product .button {
    opacity: 1;
    transform: none !important;
  }
}

@media (max-width: 520px) {
  .woocommerce ul.products li.product .button,
  body.single-product .related.products ul.products li.product .button,
  body.single-product .upsells.products ul.products li.product .button,
  body.single-product .isla-v6-product__recommendations ul.products li.product .button {
    display: none !important;
  }
}


/* v1.9 aPaczka tweaks */
.button.alt.apaczka_pl_geowidget_classic,
#apaczka_pl_geowidget_classic{
    font-size:13px !important;
}
#selected-parcel-machine:empty,
#selected-parcel-machine:not(.has-point){
    display:none;
}

/* =========================================================
   ISLA GREY 1.10 — aPaczka: mniejszy CTA i widoczny wybrany punkt
   ========================================================= */
html body.woocommerce-checkout input#apaczka_pl_geowidget_classic.button.alt.apaczka_pl_geowidget_classic,
html body.woocommerce-checkout button#apaczka_pl_geowidget_classic.button.alt.apaczka_pl_geowidget_classic,
html body.woocommerce-checkout .button.alt.apaczka_pl_geowidget_classic {
    font-size: 13px !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
}

/* Kontener wtyczki jest ukryty wyłącznie do czasu zapisania punktu. */
html body.woocommerce-checkout .selected-parcel-machine.isla-apaczka-point-empty {
    display: none !important;
}

html body.woocommerce-checkout .selected-parcel-machine.isla-apaczka-point-selected {
    display: block !important;
}


/* =========================================================
   ISLA GREY 2.0 — hero responsive controls + aPaczka CTA
   ========================================================= */

/* Wysokość hero ustawiana w Dostosuj → Strona główna → Baner. */
.front-page .hero-carousel,
.front-page .hero-slide {
  min-height: var(--hero-height-desktop, 96svh) !important;
  height: var(--hero-height-desktop, 96svh) !important;
}
.front-page .hero-slide__media {
  background-position: var(--slide-pos-desktop, 50% 50%) !important;
}

/* Niższe ekrany laptopów 13–14 cali. */
@media (min-width: 1024px) and (max-height: 850px) {
  .front-page .hero-carousel,
  .front-page .hero-slide {
    min-height: var(--hero-height-laptop, 88svh) !important;
    height: var(--hero-height-laptop, 88svh) !important;
  }
  .front-page .hero-slide__media {
    background-position: var(--slide-pos-laptop, 50% 22%) !important;
  }
  .front-page .hero-slide__content { padding-bottom: clamp(2rem, 6vh, 4rem) !important; }
  .front-page .hero-slide__title { font-size: clamp(3.6rem, 7vw, 6.5rem) !important; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .front-page .hero-carousel,
  .front-page .hero-slide {
    min-height: var(--hero-height-tablet, 82svh) !important;
    height: var(--hero-height-tablet, 82svh) !important;
  }
  .front-page .hero-slide__media {
    background-position: var(--slide-pos-tablet, 50% 50%) !important;
  }
}

@media (max-width: 767px) {
  .front-page .hero-carousel,
  .front-page .hero-slide {
    min-height: var(--hero-height-mobile, 78svh) !important;
    height: var(--hero-height-mobile, 78svh) !important;
  }
  .front-page .hero-slide__media {
    background-position: var(--slide-pos-mobile, 50% 18%) !important;
  }
  /* Na telefonie zostają kropki i obsługa przesunięcia palcem. */
  .front-page .hero-carousel__arrow {
    display: none !important;
  }
}

/* =========================================================
   ISLA GREY 2.1 — aPaczka: neutralny CTA i widoczny wybrany punkt
   ========================================================= */
html body.woocommerce-checkout .button.alt.apaczka_pl_geowidget_classic,
html body.woocommerce-checkout input#apaczka_pl_geowidget_classic,
html body.woocommerce-checkout button#apaczka_pl_geowidget_classic,
html body.woocommerce-checkout #apaczka_pl_geowidget_classic {
  display: block !important;
  width: auto !important;
  max-width: 200px !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 auto 20px !important;
  padding: 17px 30px !important;
  border: 1px solid #d7d4cf !important;
  border-radius: 0 !important;
  background: #efefed !important;
  color: #171715 !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  text-align: center !important;
  text-transform: uppercase !important;
  transition: background-color .22s ease, color .22s ease, border-color .22s ease !important;
}
html body.woocommerce-checkout .button.alt.apaczka_pl_geowidget_classic:hover,
html body.woocommerce-checkout .button.alt.apaczka_pl_geowidget_classic:focus,
html body.woocommerce-checkout #apaczka_pl_geowidget_classic:hover,
html body.woocommerce-checkout #apaczka_pl_geowidget_classic:focus {
  background: #171715 !important;
  border-color: #171715 !important;
  color: #fff !important;
}

/* Wtyczka używa ID, a nie zawsze klasy. Pusty panel jest ukryty,
   natomiast po zapisaniu punktu zostaje pokazany. */
html body.woocommerce-checkout #selected-parcel-machine.isla-apaczka-point-empty,
html body.woocommerce-checkout .selected-parcel-machine.isla-apaczka-point-empty {
  display: none !important;
}
html body.woocommerce-checkout #selected-parcel-machine.isla-apaczka-point-selected,
html body.woocommerce-checkout .selected-parcel-machine.isla-apaczka-point-selected {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* =========================================================
   ISLA GREY 2.2 — checkout mobile: cena pod produktem
   ========================================================= */
@media (max-width: 767px) {
  body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 22px 0 !important;
    border-bottom: 1px solid var(--isla-line, #ded9d1) !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item > td.product-name,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item > td.product-total {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: left !important;
    vertical-align: top !important;
    white-space: normal !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item > td.product-name {
    padding-right: 0 !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
    overflow-wrap: anywhere !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item > td.product-total {
    margin-top: 2px !important;
    color: var(--isla-ink, #171715) !important;
    font-size: .95rem !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item > td.product-total::before {
    content: "Cena: ";
    margin-right: 4px;
    color: var(--isla-muted, #716d67);
    font-size: .68rem;
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
  }
}

/* =========================================================
   ISLA GREY 2.3 — wybrany punkt aPaczka + mobilne podsumowanie
   ========================================================= */

/* Wybrany punkt: dokładnie czarna ramka, bez zielonych akcentów. */
html body.woocommerce-checkout #selected-parcel-machine,
html body.woocommerce-checkout .selected-parcel-machine {
  border: 2px solid #000000 !important;
  border-radius: 5px !important;
  padding: 10px !important;
  background: #ffffff !important;
  min-width: fit-content !important;
  color: #171715 !important;
}

html body.woocommerce-checkout #selected-parcel-machine *,
html body.woocommerce-checkout .selected-parcel-machine * {
  border-color: #000000 !important;
  color: #171715 !important;
}

/* Telefon: jedna kolumna produktów, bez nagłówka „Kwota” i bez etykiety „Cena”. */
@media (max-width: 767px) {
  body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th.product-total {
    display: none !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th.product-name {
    width: 100% !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item > td.product-total::before {
    content: none !important;
    display: none !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item > td.product-total {
    margin-top: 12px !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
  }
}

/* =========================================================
   ISLA GREY 2.4 — checkout mobile: pełna szerokość produktów
   ========================================================= */
@media (max-width: 767px) {
  body.woocommerce-checkout .woocommerce-checkout-review-order-table,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table thead,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody {
    display: block !important;
    width: 100% !important;
    table-layout: auto !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table thead tr {
    display: block !important;
    width: 100% !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th.product-name {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item > td.product-name,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item > td.product-total {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item > td.product-name {
    padding-right: 0 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item > td.product-total {
    margin-top: 16px !important;
  }
}

/* =========================================================
   ISLA GREY 2.5.1 — fullscreen menu on desktop after scroll
   ========================================================= */
html.nav-open,
html.nav-open body,
body.nav-open {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

html body > #primary-menu.site-nav {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  max-width: none !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 100vh !important;
  max-height: none !important;
  margin: 0 !important;
  z-index: 2147482000 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  contain: none !important;
}

html body > #primary-menu.site-nav.is-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translate3d(0,0,0) !important;
  clip-path: none !important;
  transition-delay: 0s !important;
}

/* Pełnoekranowa galeria produktu działa także na telefonie. */
@media (max-width: 991px) {
  .isla-v6-lightbox {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    z-index: 2147483000 !important;
    background: #fff !important;
    touch-action: pan-y;
  }
  .isla-v6-lightbox__image {
    max-width: 100vw !important;
    max-height: calc(100dvh - 92px) !important;
    object-fit: contain !important;
  }
  .isla-v6-lightbox__nav {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    padding: 0 !important;
    border: 1px solid #cfcfcf !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.92) !important;
    color: #111 !important;
    font-size: 22px !important;
    line-height: 1 !important;
  }
  .isla-v6-lightbox__prev { left: 12px !important; }
  .isla-v6-lightbox__next { right: 12px !important; }
  .isla-v6-lightbox__close {
    top: max(14px, env(safe-area-inset-top)) !important;
    right: 18px !important;
    z-index: 2;
  }
}

/* =========================================================
   ISLA GREY 2.6.0 — dane do faktury na checkout
   ========================================================= */
.woocommerce-checkout .isla-invoice-fields {
  grid-column: 1 / -1;
  margin: 26px 0 10px;
  padding: 24px 26px;
  border: 1px solid var(--isla-line, #ded9d1);
  background: #f7f5f2;
}

.woocommerce-checkout .isla-invoice-toggle-row {
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout .isla-invoice-toggle-row label {
  display: inline-flex !important;
  align-items: center;
  gap: 12px;
  margin: 0 !important;
  color: var(--isla-ink, #171715);
  font-size: 13px !important;
  font-weight: 500;
  letter-spacing: .04em !important;
  line-height: 1.4;
  text-transform: none !important;
  cursor: pointer;
}

.woocommerce-checkout .isla-invoice-toggle-row input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px;
  margin: 0 !important;
  border: 1px solid #aaa39b !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  cursor: pointer;
}

.woocommerce-checkout .isla-invoice-toggle-row input[type="checkbox"]:checked {
  border-color: #171715 !important;
  background: #171715 !important;
}

.woocommerce-checkout .isla-invoice-toggle-row input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 6px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.woocommerce-checkout .isla-invoice-fields__details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 20px;
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--isla-line, #ded9d1);
}

.woocommerce-checkout .isla-invoice-fields__details[hidden] {
  display: none !important;
}

.woocommerce-checkout .isla-invoice-fields__details .form-row {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout .isla-invoice-fields__details label {
  display: block;
  margin: 0 0 8px;
  color: #393633;
  font-size: 10px !important;
  font-weight: 500;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.woocommerce-checkout .isla-invoice-fields__details input.input-text {
  width: 100%;
  min-height: 50px;
  padding: 10px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #cfc8bf !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 16px !important;
}

.woocommerce-checkout .isla-invoice-fields__details input.input-text:focus {
  border-bottom-color: #171715 !important;
  outline: 0;
}

@media (max-width: 767px) {
  .woocommerce-checkout .isla-invoice-fields {
    margin-top: 22px;
    padding: 21px 18px;
  }

  .woocommerce-checkout .isla-invoice-fields__details {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}


/* Isla Grey 2.6.1 — pola faktury są wymagane po zaznaczeniu checkboxa. */
.woocommerce-checkout .isla-invoice-fields__details label .optional {
  display: none !important;
}
.woocommerce-checkout .isla-invoice-fields__details label .required {
  color: #171715;
  text-decoration: none;
}

/* Isla Grey 3.0 — wspólny magazyn kompletów. */
.single-product .isla-bundle-swatch:disabled {
  opacity: .3;
  cursor: not-allowed;
  text-decoration: line-through;
  background: #f6f6f6 !important;
  color: #777 !important;
  border-color: #ddd !important;
}

/* Isla Grey 3.0.6 — niedostępny zwykły wariant dokładnie jak w komplecie. */
body.single-product .isla-v6-product__buy button.isla-swatch:disabled,
body.single-product .isla-v6-product__buy button.isla-swatch.is-unavailable,
body.single-product .isla-v6-product__buy button.isla-swatch:disabled:hover,
body.single-product .isla-v6-product__buy button.isla-swatch.is-unavailable:hover,
body.single-product .isla-v6-product__buy button.isla-swatch:disabled.is-selected,
body.single-product .isla-v6-product__buy button.isla-swatch.is-unavailable.is-selected,
body.single-product .isla-v6-product__buy button.isla-swatch:disabled[aria-pressed="true"],
body.single-product .isla-v6-product__buy button.isla-swatch.is-unavailable[aria-pressed="true"] {
  opacity: .3 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
  text-decoration: line-through !important;
  background: #f6f6f6 !important;
  color: #777 !important;
  border-color: #ddd !important;
  box-shadow: none !important;
  outline: 0 !important;
}
